SHIP CONFIRM API
picked ->shipped 中间的ship confirm 如何通过API实现 研究过程
[@more@]
FORM :
/* Formatted on 2007/05/11 18:21 (Formatter Plus v4.8.7) */
PROCEDURE do_action_ship_confirm (p_input_state IN NUMBER)
IS
BEGIN
-- Ship Confirm Rule Changes
-- If ship confirm rule id is null,then find these values
-- else use defaulted values
-- IF g_dlvy_defaults.sc_rule_id IS NULL THEN
-- END IF;
-- In the code below all the Global values are being used,
-- these should have been set correctly on the basis of SC rule(if not null)
-- in get_delivery_defaults API.
-- Will test for all the fields in UT - BOL flag,defer_interface_flag,close flag
-- set intransit flag,ship method, document set
:parameter.ship_method_name := actions.g_dlvy_defaults.ship_method_name;
-- Navigate to Ship Confirm Block and populate parameters
GO_BLOCK ('ship_confirm');
CLEAR_BLOCK;
IF actions.g_dlvy_defaults.sc_rule_id IS NOT NULL
THEN
:ship_confirm.ship_confirm_rule_id :=
actions.g_dlvy_defaults.sc_rule_id;
:ship_confirm.ship_confirm_rule := actions.g_dlvy_defaults.sc_rule_name;
END IF;
-- Fix for bug 4147636
-- Call this procedure set_ship_confirm_options.
-- This will enable/disable the trip and BOL related checkboxes
-- This will also set parameter.create_trip_option based on intransit flag and close trip flags being 'D' or Not 'D'
actions.set_ship_confirm_options;
IF :parameter.create_trip_option = 'Y'
THEN
:ship_confirm.defer_interface_flag :=
actions.g_dlvy_defaults.defer_interface_flag;
IF actions.g_dlvy_defaults.enforce_ship_method = 'Y'
THEN
app_item_property.set_property ('ship_confirm.ship_method_name',
required,
property_on
);
ELSE
app_item_property.set_property ('ship_confirm.ship_method_name',
required,
property_off
);
END IF;
:ship_confirm.actual_departure_date := fnd_standard.system_date;
END IF;
COPY ('N', 'ship_confirm.bill_of_lading_flag');
:ship_confirm.document_set := actions.g_dlvy_defaults.report_set_name;
:ship_confirm.document_set_id := actions.g_dlvy_defaults.report_set_id;
-- bug 4275493: ship_confirm_rule procedure
-- depends on actions.set_ship_confirm_options
-- setting the parameter create_trip_option value.
IF actions.g_dlvy_defaults.sc_rule_id IS NOT NULL
THEN
-- bug 4258951
actions.ship_confirm_rule ('INIT');
ELSIF (actions.g_dlvy_defaults.sc_rule_id IS NULL)
AND (:parameter.create_trip_option = 'Y')
THEN
:ship_confirm.ship_method_name :=
actions.g_dlvy_defaults.ship_method_name;
:ship_confirm.ship_method_code :=
common.get_ship_method_code (:ship_confirm.ship_method_name);
app_item_property.set_property ('ship_confirm.ship_method_name',
item_is_valid,
property_true
);
END IF;
app_item_property.set_property ('ship_confirm.ship_confirm_rule',
item_is_valid,
property_true
);
-- Open Ship Confirm Window after populating the parameters
app_custom.open_window ('SHIP_CONFIRM');
END do_action_ship_confirm;
*************************************************************
common.get_sc_default(p_ship_confirm_rule_id => :ship_confirm.ship_confirm_rule_id,
x_name => :ship_confirm.ship_confirm_rule,
x_ac_intransit_flag => :ship_confirm.autointransit_flag,
x_ac_close_trip_flag => :ship_confirm.autoclose_flag,
x_ac_bol_flag => :ship_confirm.bill_of_lading_flag,
x_ac_defer_interface_flag => :ship_confirm.defer_interface_flag,
x_action_flag => :ship_confirm.action,
x_stage_del_flag => :ship_confirm.stage_del_flag,
x_ship_method_default_flag => l_ship_method_default_flag,
x_ship_method_code => l_ship_method_code,
x_report_set_id => :ship_confirm.document_set_id
);
******************************************************
PROCEDURE get_sc_default(p_ship_confirm_rule_id IN NUMBER,
x_name OUT VARCHAR2,
x_ac_intransit_flag OUT VARCHAR2,
x_ac_close_trip_flag OUT VARCHAR2,
x_ac_bol_flag OUT VARCHAR2,
x_ac_defer_interface_flag OUT VARCHAR2,
x_action_flag OUT VARCHAR2,
x_stage_del_flag OUT VARCHAR2,
x_ship_method_default_flag OUT VARCHAR2,
x_ship_method_code OUT VARCHAR2,
x_report_set_id OUT NUMBER
) IS
CURSOR c_get_sc_default IS
select name,
ac_intransit_flag,
ac_close_trip_flag,
ac_bol_flag,
ac_defer_interface_flag,
action_flag,
stage_del_flag,
ship_method_default_flag,
ship_method_code,
report_set_id
from wsh_ship_confirm_rules
where ship_confirm_rule_id = p_ship_confirm_rule_id;
BEGIN
FOR rec in c_get_sc_default
LOOP
x_name := rec.name;
x_ac_intransit_flag := rec.ac_intransit_flag;
x_ac_close_trip_flag := rec.ac_close_trip_flag;
x_ac_bol_flag := rec.ac_bol_flag;
x_ac_defer_interface_flag := rec.ac_defer_interface_flag;
x_action_flag := rec.action_flag;
x_stage_del_flag := rec.stage_del_flag;
x_ship_method_default_flag := NVL(rec.ship_method_default_flag, 'R');
x_ship_method_code := rec.ship_method_code;
x_report_set_id := rec.report_set_id;
END LOOP;
END get_sc_default;
********************************************************************
actions.do_action_multi(entity => 'TRIP',
action => 'TRIP-CONFIRM',
p_state => 2,
block_name => :PARAMETER.P_TRIP_MODE);
****************************************************
ELSIF action = 'TRIP-CONFIRM' THEN
go_block('trip_confirm');
clear_block;
:parameter.p_trip_multiple_pickup := g_trip_defaults.trip_multiple_pickup;
:trip_confirm.stop_location_code := g_trip_defaults.stop_location_code;
:trip_confirm.defer_interface_flag := g_trip_defaults.defer_interface_flag ;
:trip_confirm.document_set_id := g_trip_defaults.report_set_id;
:trip_confirm.document_set := g_trip_defaults.report_set_name;
if :parameter.p_trip_multiple_pickup = 'N' then
app_item_property.set_property('trip_confirm.defer_interface_flag', ENABLED, PROPERTY_ON);
app_item_property.set_property('trip_confirm.actual_departure_date', ENABLED, PROPERTY_ON);
app_item_property.set_property('trip_confirm.autointransit_flag', ENABLED, PROPERTY_ON);
app_item_property.set_property('trip_confirm.autoclose_flag', ENABLED, PROPERTY_ON);
:trip_confirm.autointransit_flag := 'Y';
:trip_confirm.autoclose_flag := 'Y';
:trip_confirm.actual_departure_date := fnd_standard.system_date;
else
app_item_property.set_property('trip_confirm.actual_departure_date', ENABLED, PROPERTY_OFF);
app_item_property.set_property('trip_confirm.defer_interface_flag', ENABLED, PROPERTY_OFF);
app_item_property.set_property('trip_confirm.autointransit_flag', ENABLED, PROPERTY_OFF);
app_item_property.set_property('trip_confirm.autoclose_flag', ENABLED, PROPERTY_OFF);
copy('N','trip_confirm.autoclose_flag');
copy('N','trip_confirm.autointransit_flag');
copy('N','trip_confirm.defer_interface_flag');
:trip_confirm.actual_departure_date := NULL;
end if;
app_item_property.set_property('trip_confirm.bill_of_lading_flag', ENABLED, PROPERTY_ON);
--Added for MBOL.
app_item_property.set_property('trip_confirm.mbol_flag', ENABLED, PROPERTY_ON);
:trip_confirm.bill_of_lading_flag := 'Y';
--Added for MBOL.
:trip_confirm.mbol_flag := 'Y';
:parameter.p_defer_interface_flag := :trip_confirm.defer_interface_flag;
app_custom.open_window('TRIP_CONFIRM');
return;
***********************************
SELECT oh.header_id,oh.order_number,ol.line_id, ol.inventory_item_id,
ol.pricing_quantity
FROM oe_order_headers_all oh,
oe_order_lines_all ol,
fnd_lookup_values lv,
wsh_delivery_line_status_v wdl
WHERE oh.header_id = ol.header_id
-- and oh.ORDER_NUMBER='234'
AND oh.attribute1 = 'Y'
--AND ol.flow_status_code = 'AWAITING_SHIPPING'
AND lv.lookup_type = 'SHIP_METHOD'
AND oh.shipping_method_code = lv.lookup_code
AND lv.LANGUAGE = 'ZHS'
AND wdl.source_code = 'OE'
AND NVL (oh.attribute15, 'N') != 'Y'
AND wdl.source_line_id = ol.line_id
AND wdl.pick_status = 'Y'
AND lv.meaning = v_ship_method
AND oh.org_id = 101
/* Formatted on 2007/05/11 10:19 (Formatter Plus v4.8.7) */
--部分PICKED
SELECT wdl.*
FROM wsh_delivery_line_status_v wdl
WHERE wdl.source_header_id = 2444
Ship_Confirm_Rule_Id Number
Ship_Confirm_Rule_Name Varchar2(30)
resp_id 21623
resp_appl_id 660
ship_confirm_rule_id
Should be a valid element of wsh_picking_batches.Ship_Confirm_Rule_Id.
ship_confirm_rule_name
Should be a valid element of wsh_Ship_Confirm_rules.name.
/* Formatted on 2007/05/11 13:21 (Formatter Plus v4.8.7) */
-- ship_confirm_rule_id
SELECT DISTINCT (wpb.ship_confirm_rule_id)
FROM wsh_picking_batches wpb
/* Formatted on 2007/05/11 13:21 (Formatter Plus v4.8.7) */
SELECT NAME
FROM wsh_ship_confirm_rules
发货确认
WSH_PICKING_BATCHES_PUB.create_batch
WSH_PICKING_BATCHES_GRP.Create_Batch
FND_API.G_MISS_CHAR
wsh_util_core
actions_custom.do_action_ship_confirm(p_input_state => 1);
*******************************************************
DECLARE
lr_batch_rec WSH_PICKING_BATCHES_PUB.Batch_Info_Rec;
ln_msg_count NUMBER;
ln_batch_id NUMBER;
lc_msg_data VARCHAR2(32767);
lc_return_status VARCHAR2(1000) := NULL;
ln_request_id NUMBER;
ln_i NUMBER;
BEGIN
FND_GLOBAL.apps_initialize ( user_id => 1133,
resp_id => 50238,
resp_appl_id => 101 );
-- Give the data
lr_batch_rec.ORDER_HEADER_ID := 2947;
lr_batch_rec.CUSTOMER_ID := 12268;
lr_batch_rec.INVENTORY_ITEM_ID := 3165;
lr_batch_rec.ORDER_TYPE_ID := 1001;
lr_batch_rec.ORGANIZATION_ID := 101;
lr_batch_rec.Default_Stage_Locator_Id:=21;
lr_batch_rec.Pick_From_locator_Id:=1;
lr_batch_rec.pick_from_subinventory :='Goods';
lr_batch_rec.Default_Stage_Subinventory:='Stage';
lr_batch_rec. ship_confirm_rule_id:=1;
--lr_batch_rec.ship_confirm_rule_name:='TVSN发货确认';
WSH_PICKING_BATCHES_PUB.create_batch (p_api_version => 1.0, p_init_msg_list =>fnd_api.g_false,
p_commit => fnd_api.g_false, x_return_status =>lc_return_status,
x_msg_count => ln_msg_count,
x_msg_data => lc_msg_data,
p_batch_rec => lr_batch_rec,
x_batch_id => ln_batch_id
);
dbms_output.put_line('ln_batch_id: '||ln_batch_id);
dbms_output.put_line('ln_msg_count: '||ln_msg_count);
dbms_output.put_line('lc_msg_data: '||lc_msg_data);
-- dbms_output.put_line('lc_return_status: '||lc_return_status1);
IF ln_batch_id > 0 AND ln_msg_count = 0 THEN
WSH_PICKING_BATCHES_PUB.release_batch (p_api_version => 1.0,
p_init_msg_list => fnd_api.g_false,
p_commit => fnd_api.g_false,
x_return_status => lc_return_status,
x_msg_count => ln_msg_count,
x_msg_data => lc_msg_data,
p_batch_id => ln_batch_id,
p_release_mode => 'CONCURRENT',
x_request_id => ln_request_id) ;
dbms_output.put_line('lc_return_status: '||lc_return_status);
dbms_output.put_line('ln_request_id: '||ln_request_id);
dbms_output.put_line('ln_msg_count: '||ln_msg_count);
dbms_output.put_line('lc_msg_data: '||lc_msg_data);
IF ln_msg_count = 0 AND lc_return_status = 'S' THEN
COMMIT;
ELSE
ROLLBACK;
END IF;
ELSE
ROLLBACK;
END IF;
END;
******************************************
WSH_DELIVERIES_PUB.DELIVERY_ACTION 好像就是这个
Shipment Processing Using APIs 4-5
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/226700/viewspace-914553/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/226700/viewspace-914553/
SHIP CONFIRM API相关推荐
- Oracle EBS OM Drop Ship Orders(直发业务)技术-API和核心表关联关系介绍
Create Sales Order API 创建Drop Ship Orders API 实例如下: DECLARELn_Org_Id NUMBER := 81;Lt_Header_Rec Oe_O ...
- 批量发运确认API wsh_deliveries_pub.delivery_action
摘自:https://blog.csdn.net/zhangwen156xf/article/details/43482215 API wsh_deliveries_pub.delivery_acti ...
- Oracle EBS OM Back To Back Orders(背靠背业务)测试
背景 在某项目上,客户主要研发.生产和销售某细行业的大型设备,这些设备的运输和安装绝大部分承包外部供应商,为了方便与运输和安装公司对帐和结算,测试启用销售订单的直发业务或者背靠背业务. 功能业务流程 ...
- 批量发运确认开发 wsh_deliveries_pub.delivery_action
API wsh_deliveries_pub.delivery_action问题点: 1.发运确认会调用接口请求,同一个SO对应几个交货号会报出现锁, 2.请求会存在延时,报表不能输出正确的结果 解决 ...
- codis3数据迁移探索
背景 在测试codis的过程中,由于现网使用的codis的每个集群的量相对较大,为了确保在codis的升级过程中能够紧急处理突发的一些问题故熟悉一下codis有关的基本原理. codis的逻辑 cod ...
- 用visio画用例图小人_教你如何用 Python 打飞机 ?
前言:python 除了生孩子 ,啥都会 .包括打飞机 !今天就来教你如何用 python 打飞机 ! 简述 相信你是一个单纯的孩子说的打飞机是指啥意思 ,对吧 ?嗯 ,没毛病 .就是 pygame ...
- python打飞机源代码-如何用 Python 打飞机 ?
前言:python 除了生孩子 ,啥都会 .包括打飞机 !今天小詹的一位读者就来教你如何用 python 打飞机 ! 简述 相信小詹是一个单纯的孩子 ,也相信大家明白小詹说的打飞机是指啥意思 ,对吧 ...
- oracle多次发运,Oracle EBS 关于发运收集整理
Oracle EBS 关于发运收集整理 WSH_DELIVERY_DETAILS.Release_Status can have any of the below valid values SELEC ...
- oracle cogs 科目,请问R12中,Mtl_material_transaction中的 COGS Recognition记录是干啥的?
我今天抓取库存移动记录,发现Mtl_material_Transaction表中,在作完了sales Order 的ship confirm动作后产生了两笔库存移动记录,第一笔是Sales Issue ...
最新文章
- 《极速切水果游戏》有Python版了,曾风靡一时的手游能否富过“二代”?
- Jdbc模版式写法与Spring-JdbcTemplate的比较
- Java文件能编译成lib吗_Makefile用于将一些.cpp和.h编译成lib
- 151. 翻转字符串里的单词(思路+详解)
- 项目-团队-技术-个人(专业篇)
- 37.django基础概念
- PL/SQL基础入门,史上最全的教程
- html调用矢量小图标的方法,Web 前端矢量小图标的使用方法
- 纯windows下制作变色龙引导安装U盘教程
- java ftpclient prompt,一个JAVA FTP客户端制作的收获
- rust怎么传送坐标_这几天很多人问我传奇到底该怎么玩,有没有攻略什么的
- 模拟手机定位软件有哪些,推荐几款
- powerbuilder操作excel命令大全
- Axue8.0基础使用篇
- Linux 中断 —— GIC 初始化
- php 465端口发送邮件,云服务器使用SSL加密465端口发信样例及Demo
- 交换机端口加入VLAN的三种模式(access,trunk,hybrid)
- Bootstrap栅格布局分析grid源码
- MATLAB强化学习实战(十二) 创建自定义强化学习算法的智能体
- 关于Jboot读取不到配置文件