EBS 取消PO订单、订单行、订单发运行
经过测试该API可以取消订单发运行和订单行,取消订单未测试
只测试了取消标准采购订单,BPA未测试
例子说明:
标准PO采购订单有多行采购订单,有一行数量为3000,它有三行发运行都是1000的数量。
第一次取消一行发运行:前台检查发现,发运行变成两行,数量各1000,订单行变成2000
第二次取消一行发运行:前台检查发现,发运行变成一行,数量为1000,订单行变成1000
第三次去爱下一行发运:前台检查发现,发运行消失需要用户填写发运行,订单行数量变成0,需要用户填写需求时间等必要信息。
经过该测试,说明API会取消发运行,并同时扣减对应订单号数量等相关信息,因此如果所有发运行都取消,则建议使用api将订单行也进行取消,具体代码如下:
注意:需要初始化ou、职责等环境信息。
代码建立了临时表存储需要取消的发运行信息及执行状态
-- Create table
create table PO_LINE_LOC_CANCEL_T
(
line_id NUMBER,
line_loc_id NUMBER,
status VARCHAR2(10),
message VARCHAR2(2000)
);
DECLARE
x_Return_Status VARCHAR2(10);
v_Header_Id NUMBER;
v_Line_Id NUMBER;
v_Line_Loc_Id NUMBER;
Ln_Line_Loc_Id NUMBER := 13689870;
Lv_No_Flag VARCHAR2(1) := 'N';
Lv_Message VARCHAR2(2000);
Lv_Status VARCHAR2(20);
CURSOR Cur_Loop IS
SELECT *
FROM It_Erp_r.Po_Line_Loc_Cancel_t t
ORDER BY t.Line_Id;
BEGIN
--Mo_Global.Init('PO');
Mo_Global.Init('SQLAP');
Mo_Global.Set_Policy_Context('S', 8762);
Fnd_Global.Apps_Initialize(User_Id => 16786, Resp_Id => 58560, Resp_Appl_Id => 20003);
v_Line_Loc_Id := NULL;
FOR i IN Cur_Loop LOOP
Lv_No_Flag := 'N';
Lv_Status := Fnd_Api.g_Ret_Sts_Success;
Lv_Message := NULL;
BEGIN
SELECT Plla.Po_Header_Id
,Plla.Po_Line_Id
,Decode(Sign(Plla.Quantity - Pla.Quantity), 0, NULL, Plla.Line_Location_Id)
INTO v_Header_Id
,v_Line_Id
,v_Line_Loc_Id
FROM Po_Line_Locations_All Plla
,Po_Lines_All Pla
WHERE 1 = 1
AND Plla.Po_Line_Id = Pla.Po_Line_Id
AND Plla.Line_Location_Id = i.Line_Loc_Id;
Dbms_Output.Put_Line(v_Line_Loc_Id);
EXCEPTION
WHEN OTHERS THEN
Lv_No_Flag := 'Y';
Lv_Status := Fnd_Api.g_Ret_Sts_Error;
Lv_Message := '查询数据异常:' || SQLERRM;
Dbms_Output.Put_Line(Lv_Message);
END;
IF Lv_No_Flag = 'N' THEN
Po_Document_Control_Pub.Control_Document(p_Api_Version => 1.0
, --版本信息,目前为1.0
p_Init_Msg_List => 'T'
,p_Commit => 'T'
,x_Return_Status => x_Return_Status
, -- 返回接口运行结果,S为成功,E为错误,U为未知错误
p_Doc_Type => 'PO'
,p_Doc_Subtype => 'STANDARD'
, -- 取消标准PO
p_Doc_Id => v_Header_Id
,p_Doc_Num => NULL
, -- Po_header_id和单据编码任选一个参数即可
p_Release_Id => NULL
,p_Release_Num => NULL
,p_Doc_Line_Id => v_Line_Id
,p_Doc_Line_Num => NULL
,p_Doc_Line_Loc_Id => v_Line_Loc_Id
,p_Doc_Shipment_Num => NULL
,p_Action => 'CANCEL'
, --固定值
p_Action_Date => SYSDATE
,p_Cancel_Reason => NULL
, --Cancel原因
p_Cancel_Reqs_Flag => NULL
,p_Print_Flag => NULL
,p_Note_To_Vendor => NULL
,p_Use_Gldate => 'N');
COMMIT;
IF x_Return_Status != 'S' THEN
Lv_Status := Fnd_Api.g_Ret_Sts_Error;
FOR i IN 1 .. Fnd_Msg_Pub.Count_Msg LOOP
Lv_Message := Substr(Lv_Message || Fnd_Msg_Pub.Get(p_Msg_Index => i, p_Encoded => 'F')
,1
,2000);
Dbms_Output.Put_Line(Fnd_Msg_Pub.Get(p_Msg_Index => i, p_Encoded => 'F'));
END LOOP;
END IF;
END IF;
UPDATE It_Erp_r.Po_Line_Loc_Cancel_t t
SET t.Status = Lv_Status
,t.Message = Lv_Message
WHERE t.Line_Id = i.Line_Id;
END LOOP;
END;
/
EBS 取消PO订单、订单行、订单发运行相关推荐
- Oracle EBS 取消订单行时提示 Error:WSH_NO_DATA_FOUND
Oracle EBS 取消订单行时提示 Error:WSH_NO_DATA_FOUND 取消订单行时提示 Error:WSH_NO_DATA_FOUND 解决办法 将shipping_interfa ...
- Oracle EBS Interface/API(19)-PO修改行或发运行的单价、数量、需求日期和承诺日期等等
调用API修改标准订单或一揽子发放行或发运行的单价.数量.需求日期和承诺日期等等,实例参考如下: 一.修改发运行API实例: DECLARELt_Errors Po_Api_Errors_Rec_Ty ...
- 关于采购订单、销售订单、工作单行上的库存详细信息说明
关于采购订单.销售订单.工作单行上的库存详细信息说明 关于采购订单.销售订单.工作单行上的库存详细信息说明 库存详细信息 录入时配置 处理后查看 处理后配置 关于采购订单.销售订单.工作单行上的库存详 ...
- SAP中带用内部订单控制的成本中心发料的成本对象确定
在处理成本中心发料操作中有多个事务类型,其中常用的移动类型201和移动类型261.而两者的区别是201是针对成本中心发料,261是带有内部订单控制的成本中心发料:那么在处理261发料时,内部订单中定义 ...
- Oracle EBS PO调用API修改一揽子发放行需求日期或数量引发单价变更
背景: 最近,客户的用户反映批量修改或拆分一揽子发放行的需求日期或承诺日期或数量时,自动修改该发放行的单价为对应PBA行的单价. 解决方法: 通过实际数据分析.参考官方 ...
- Vue项目中常见问题(55)提交订单、获取订单号、展示支付信息
目录 gitee仓库地址:https://gitee.com/CMD-UROOT/sph-project/commits/master 业务需求:完成提交订单的业务 1.支付静态组件先完成 Pay静态 ...
- SAP母子订单(汇总订单)详解测试_SAP刘梦_新浪博客
汇总订单:一个在几个生产层次上链接计划订单或生产订单的多层结构.仅为结构中的最上面一个订单执行库存移动.每个订单有一个单独的订单号. 汇总订单(母子订单)优点 1.生产工艺的集成视图 汇总订单允许你在 ...
- 北京络捷斯特第三方物流信息系统技术解析(四) 订单录入-运输订单
北京络捷斯特第三方物流信息系统技术解析(四) 订单录入-运输订单 2.1.3运输订单 运输订单有两个标签要编写,包括有订单信息和订单货品 订单信息界面截图: 2.1(图1) 订单货品信息截图: 2.1 ...
- Oracle EBS中PO的类型详细介绍【转】
Oracle EBS中PO的类型详细介绍[转] Oracle EBS中PO的类型详细介绍 Oracle EBS中的采购订单主要有以下四种类型: 以下分类进行介绍. 1.Blanket Purchase ...
最新文章
- Python零基础学习代码实践 —— 提取字符串里面的单词数
- Spring Boot(04)——创建自己的自动配置
- boost::mp11::mp_iota相关用法的测试程序
- 20162318 2018-2019-2《网络对抗技术》Exp1 PC平台逆向破解
- github 上微信判断是否被删除的源码 以及使用解惑
- c# 整数除法取整_Java 如何取整整数除法的结果?
- SQL Server IN语句使用举例
- JMeter中使用“用户自定义变量”实现参数化
- 模块化解耦框架RxFluxArchitecture3-订阅管理绑定生命周期
- python将字符串写入txt文件_python将字符串以utf-8格式保存在txt文件中的方法
- 数字电子技术基础-2-逻辑函数的最小项与最大项
- 木马病毒 与后门技术
- 笔记本计算机涂硅脂,笔记本cpu怎么更换散热硅脂?笔记本电脑cpu涂硅脂教程
- 郑码输入法 字根记忆表 一般根变通处理
- blastn 输出结果每列啥意思_如何看懂NCBI BLAST输出结果
- 【规范】万字集大成的HDLFPGA学习和规范
- 使用Telerik的登陆模板实现DoubanFm的登陆(WP7)
- 安迪·格鲁夫: 一个PC时代的大写符号
- 国庆头像html代码
- 人工智能与智能的异同