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相关推荐

  1. 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 ...

  2. 批量发运确认API wsh_deliveries_pub.delivery_action

    摘自:https://blog.csdn.net/zhangwen156xf/article/details/43482215 API wsh_deliveries_pub.delivery_acti ...

  3. Oracle EBS OM Back To Back Orders(背靠背业务)测试

    背景 在某项目上,客户主要研发.生产和销售某细行业的大型设备,这些设备的运输和安装绝大部分承包外部供应商,为了方便与运输和安装公司对帐和结算,测试启用销售订单的直发业务或者背靠背业务. 功能业务流程 ...

  4. 批量发运确认开发 wsh_deliveries_pub.delivery_action

    API wsh_deliveries_pub.delivery_action问题点: 1.发运确认会调用接口请求,同一个SO对应几个交货号会报出现锁, 2.请求会存在延时,报表不能输出正确的结果 解决 ...

  5. codis3数据迁移探索

    背景 在测试codis的过程中,由于现网使用的codis的每个集群的量相对较大,为了确保在codis的升级过程中能够紧急处理突发的一些问题故熟悉一下codis有关的基本原理. codis的逻辑 cod ...

  6. 用visio画用例图小人_教你如何用 Python 打飞机 ?

    前言:python 除了生孩子 ,啥都会 .包括打飞机 !今天就来教你如何用 python 打飞机 ! 简述 相信你是一个单纯的孩子说的打飞机是指啥意思 ,对吧 ?嗯 ,没毛病 .就是 pygame ...

  7. python打飞机源代码-如何用 Python 打飞机 ?

    前言:python 除了生孩子 ,啥都会 .包括打飞机 !今天小詹的一位读者就来教你如何用 python 打飞机 ! 简述 相信小詹是一个单纯的孩子 ,也相信大家明白小詹说的打飞机是指啥意思 ,对吧 ...

  8. oracle多次发运,Oracle EBS 关于发运收集整理

    Oracle EBS 关于发运收集整理 WSH_DELIVERY_DETAILS.Release_Status can have any of the below valid values SELEC ...

  9. oracle cogs 科目,请问R12中,Mtl_material_transaction中的 COGS Recognition记录是干啥的?

    我今天抓取库存移动记录,发现Mtl_material_Transaction表中,在作完了sales Order 的ship confirm动作后产生了两笔库存移动记录,第一笔是Sales Issue ...

最新文章

  1. 《极速切水果游戏》有Python版了,曾风靡一时的手游能否富过“二代”?
  2. Jdbc模版式写法与Spring-JdbcTemplate的比较
  3. Java文件能编译成lib吗_Makefile用于将一些.cpp和.h编译成lib
  4. 151. 翻转字符串里的单词(思路+详解)
  5. 项目-团队-技术-个人(专业篇)
  6. 37.django基础概念
  7. PL/SQL基础入门,史上最全的教程
  8. html调用矢量小图标的方法,Web 前端矢量小图标的使用方法
  9. 纯windows下制作变色龙引导安装U盘教程
  10. java ftpclient prompt,一个JAVA FTP客户端制作的收获
  11. rust怎么传送坐标_这几天很多人问我传奇到底该怎么玩,有没有攻略什么的
  12. 模拟手机定位软件有哪些,推荐几款
  13. powerbuilder操作excel命令大全
  14. Axue8.0基础使用篇
  15. Linux 中断 —— GIC 初始化
  16. php 465端口发送邮件,云服务器使用SSL加密465端口发信样例及Demo
  17. 交换机端口加入VLAN的三种模式(access,trunk,hybrid)
  18. Bootstrap栅格布局分析grid源码
  19. MATLAB强化学习实战(十二) 创建自定义强化学习算法的智能体
  20. 关于Jboot读取不到配置文件

热门文章

  1. 读书-每天为自己打个勾-郭腾尹
  2. adonis命令new
  3. vacuum 的描述(vacuum age )
  4. JavaFx - 按下Button 一直触发按钮事件
  5. sqlite及sqlite odbc driver使用简介
  6. 芋道 Spring Boot 消息队列 RocketMQ 入门
  7. 一刀斩 :“SVN” failed to start 服务启动失败
  8. 图书-励志-羊皮卷:《羊皮卷》
  9. 广东开放大学形考任务财会法规与职业道德(专,2022秋)第三次考核答案
  10. 【读书笔记】万物原理——打开客观世界与主观情感的大门