`
shangjava
  • 浏览: 1228790 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

OM Shipping集成开发

阅读更多

标准界面

通常情况下,一般在处理物料搬运单界面要做2个操作:1分配物料搬运单行[Allocate2处理物料搬运单行[Tansact]

17

本节以下内容介绍如何使用API处理物料搬运单。

Step 1 : 分配物料搬运单行;

Step 2 : 处理物料搬运单行;

更新物料搬运单行[ Process Move Order Line ]

假如物料搬运单行的Request数量为20,但是订单只保留了19个,可以修改物料搬运单行的Request数量为19吗?答案是肯定的。

18

API Example

plsql Developer 中执行脚本Process_Move_Order_Line.sql:

DECLARE

p_api_version NUMBER;

p_init_msg_list VARCHAR2(15);

x_return_status VARCHAR2(1);

p_commit VARCHAR2(2000);

x_msg_count NUMBER;

x_msg_data VARCHAR2(2000);

v_Trolin_Tbl_Type INV_Move_Order_PUB.Trolin_Tbl_Type;

v_Trolin_Tbl_Type1 INV_Move_Order_PUB.Trolin_Tbl_Type;

v_Trolin_Tbl_Type2 INV_Move_Order_PUB.Trolin_Tbl_Type;

BEGIN

fnd_global.APPS_Initialize(3334, 50671, 20003);

v_Trolin_Tbl_Type := INV_TROLIN_UTIL.Query_Rows(p_line_id => 4252170); --Move Order Line ID

v_trolin_tbl_type(1).db_flag := FND_API.G_TRUE;

-- 下面可以把要UPDATE的项列出来

v_trolin_tbl_type(1).operation := 'UPDATE';

v_trolin_tbl_type(1).quantity := 19;

v_trolin_tbl_type(1).primary_quantity := 19;

INV_Move_Order_PUB.Process_Move_Order_Line(p_api_version_number => 1.0,

p_init_msg_list => FND_API.G_TRUE,

p_return_values => FND_API.G_TRUE,

p_commit => FND_API.G_TRUE,

x_return_status => x_return_status,

x_msg_count => x_msg_count,

x_msg_data => x_msg_data,

p_trolin_tbl => v_Trolin_Tbl_Type,

p_trolin_old_tbl => v_Trolin_Tbl_Type1,

x_trolin_tbl => v_Trolin_Tbl_Type2);

IF x_return_status NOT IN (fnd_api.g_ret_sts_success, 'W') THEN

if (nvl(x_msg_count, 0) = 0) then

dbms_output.put_line('no message return');

else

FOR i IN 1 .. x_msg_count LOOP

dbms_output.put_line(FND_MSG_PUB.get(p_msg_index => i,

p_encoded => 'F'));

END LOOP;

end if;

END IF;

END;

效果验证

19

分配物料搬运单行[ Pick Release ]

此处API效果等同于点击图17’Allocate’按钮,进入物料分配界面操作。

API Example

plsql Developer 中执行脚本Pick_Release.sql:

DECLARE

p_api_version NUMBER;

p_init_msg_list VARCHAR2(15);

x_return_status VARCHAR2(1);

p_commit VARCHAR2(2000);

x_msg_count NUMBER;

x_msg_data VARCHAR2(2000);

v_mo_line_tbl INV_Move_Order_PUB.TROLIN_TBL_TYPE;

v_pick_release_status INV_Pick_Release_PUB.INV_Release_Status_Tbl_Type;

BEGIN

fnd_global.APPS_Initialize(3334, 50671, 20003);

v_mo_line_tbl := INV_TROLIN_UTIL.query_rows(p_line_id => 4252170); --Move Order Line ID

INV_Pick_Release_PUB.Pick_Release(p_api_version => 1.0,

p_init_msg_list => fnd_api.g_true,

p_commit => fnd_api.g_true,

x_return_status => x_return_status,

x_msg_count => x_msg_count,

x_msg_data => x_msg_data,

p_mo_line_tbl => v_mo_line_tbl,

p_auto_pick_confirm => 2, --1 (yes) or 2 (no) ,

p_grouping_rule_id => NULL,

p_allow_partial_pick => fnd_api.g_true,

x_pick_release_status => v_pick_release_status,

p_plan_tasks => FALSE);

dbms_output.put_line(x_return_status);

IF x_return_status NOT IN (fnd_api.g_ret_sts_success, 'W') THEN

IF (nvl(x_msg_count, 0) = 0) THEN

dbms_output.put_line('no message return');

ELSE

FOR i IN 1 .. x_msg_count LOOP

dbms_output.put_line(oe_msg_pub.get(p_msg_index => i,

p_encoded => 'F'));

END LOOP;

END IF;

END IF;

END;

效果验证

20

可以看到物料搬运单行已作Allocate,下一步可以做Tansact处理,在此界面可查看分配的详细情况,如图23所是,分配的物料正是前面保留的物料:

21

处理物料搬运单行[ Pick Confirm ]

此处API效果等同于点击图20’Transact’按钮。

API Example

plsql Developer 中执行脚本Update_Reservation.sql:

DECLARE

v_mmtt_tbl INV_MO_LINE_DETAIL_UTIL.g_mmtt_tbl_type;

v_mold_tbl INV_MO_LINE_DETAIL_UTIL.g_mmtt_tbl_type ;

out_trolin_tbl INV_Move_Order_PUB.Trolin_Tbl_Type;

v_trolin_tbl INV_Move_Order_PUB.TROLIN_TBL_TYPE ;

v_return_status VARCHAR2(10);

v_msg_count NUMBER;

v_msg_data VARCHAR2(2000);

BEGIN

fnd_global.APPS_Initialize(3334, 50671, 20003);

v_trolin_tbl := INV_TROLIN_UTIL.query_rows(p_line_id => 4252170); --Move Order Line ID

/* TRANSACTION_MODE 1 Online processing 2 Concurrent processing 3 Background processing */

INV_Pick_Wave_Pick_Confirm_PUB.Pick_Confirm(

p_api_version_number => 1.0,

p_init_msg_list => FND_API.G_TRUE,

p_commit => FND_API.G_FALSE,

x_return_status => v_return_status,

x_msg_count => v_msg_count,

x_msg_data => v_msg_data,

p_move_order_type => 3,

p_transaction_mode => 1,

p_trolin_tbl => v_trolin_tbl,

p_mold_tbl => v_mold_tbl,

x_mmtt_tbl => v_mmtt_tbl,

x_trolin_tbl => out_trolin_tbl);

dbms_output.put_line('Return status=' || SUBSTR(v_return_status, 1, 255));

dbms_output.put_line('count =' || TO_CHAR(v_msg_count));

dbms_output.put_line('Msg Data =' || SUBSTR(v_msg_data, 1, 255));

IF v_msg_count > 1 THEN

FOR I IN 1 .. v_msg_count LOOP

dbms_output.put_line(

'I.' || SUBSTR(FND_MSG_PUB.Get(p_encoded => FND_API.G_FALSE),

1, 255));

END LOOP;

END IF;

IF v_return_status != APPS.FND_API.G_RET_STS_SUCCESS then

dbms_output.put_line('failed. printing error msg...');

dbms_output.put_line(APPS.FND_MSG_PUB.Get(p_msg_index => APPS.FND_MSG_PUB.G_LAST,

p_encoded => APPS.FND_API.G_FALSE));

ELSE

COMMIT;

END IF;

END;

效果验证

在处理物料搬运单界面查找Move Order 1873937,发现已经找不到了,因为该Move Order所有的行(本例只有1行)已被全部处理了。

22

查看此时的订单行状态已经变成部分挑库(挑库数量为19):

23

本章小结

本章主要介绍了利用API模拟各种在处理物料搬运单界面的操作。

注意:各个APIP_COMMIT参数,请根据业务的需要在恰当的时机提交。

分享到:
评论

相关推荐

    OMAPI技术开发文档20180208_OMAPI_

    这部分内容将帮助开发者理解如何集成OMAPI到自己的应用程序中,以及如何设置和配置OMAPI服务器。 3. **命令与对象模型**:OMAPI支持一系列管理命令,用于执行如查询状态、配置设备参数等操作。文档会列出这些命令,...

    讯时OM API技术开发文档2

    本文主要介绍OM API的作用及使用方法,帮助程序开发人员学习并掌握OM API,最终利用OM API开发出更多更好的应用程序。

    10.25 看资料,SmartUMP主机侧OM开发指南

    《SmartUMP主机侧OM开发指南》是一份针对SmartUMP系统中主机侧操作维护(OM)模块的开发指导文档。这份指南旨在帮助开发者理解和实施SmartUMP系统在主机侧的OM功能,确保系统的稳定运行和高效管理。 一、SmartUMP...

    元器件应用中的OM系列OM1168集成电路实用检测数据

    OM1168集成电路是微处理器的一种,设计用于在电子设备中执行复杂的计算和控制任务。这个特定的芯片采用99脚双列直插式塑料封装(DIP),这种封装方式便于安装在印刷电路板上,并且具有良好的机械稳定性和电气隔离。...

    OM9663芯片手册

    1、OM9663芯片手册,英文版; 2、OM9663与CLRC663是Pin对Pin完全兼容的,即:硬件上没什么差异,软件上完全适配; 3、RC663的程序完全适用于OM9663,都是NXP的非接芯片 4、此文档适合做非接的朋友

    eRRU01-1622Cm OM 子系统集成方案.doc

    【eRRU01-1622Cm OM 子系统集成方案】 本文档主要阐述了eRRU01-1622Cm OM(Operation and Maintenance,操作与维护)子系统的集成方案,该方案由普天信息技术研究院于2013年5月23日评审通过,并被标记为普院保密二...

    OM9663技术手册

    这些信息对设计和开发与OM9663兼容的硬件和软件至关重要,以确保芯片集可以正确地与外部设备通信,处理无接触卡或标签,以及执行其他相关的数据交换功能。 在读取手册时,设计者和工程师可以了解如何利用OM9663的...

    元器件应用中的OM系列OM5234集成电路实用检测数据

    OM5234集成电路是电子工程领域中一种重要的系统控制微处理器,特别是在音频和视频设备中,特别是VCD影碟机。它采用40脚四列扁平式塑料封装(DIP-40),这种封装方式既紧凑又方便在电路板上安装。OM5234在众多国产...

    庖丁解牛之OracleOMShipping集成开发.pdf

    庖丁解牛之OracleOMShipping集成开发.pdf

    eRRU01-1622Cm OM子系统集成测试报告.doc

    【eRRU01-1622Cm OM子系统集成测试报告】 这篇文档是针对eRRU01-1622Cm设备的OM(Operations and Maintenance,操作与维护)子系统的集成测试报告,由普天信息技术研究院有限公司在2013年8月30日编撰完成,并标记为...

    元器件应用中的OM系列OM8361集成电路实用检测数据

    OM8361是彩电中频、视频、色度以及行/场扫描信号处理电路,为52脚双列式塑料封装,在长虹D2963A型大屏幕彩电电路N24O上的正常工作电压典型检测数据如表所列,用MF14型三用表测得(DC挡)。 表 OM8361在长虹D2963A...

    linde_by.1175.сom_by5113.сom_www.by5113.сom_LogScanLindeIQAN_by.

    IQAN(Instrumentation for QUality and Accuracy in Navigation)系统是由林德开发的一种高级控制和显示解决方案,常用于叉车和其他重型机械设备上,以提供精确的操作和诊断功能。 【标签】"by.1175.сom by5113....

    元器件应用中的OM系列OM5284集成电路实用检测数据

    OM5284是系统控制微处理器集成电路,为44脚四列扁平式塑料封装,主要用于飞利浦CD7型数码机芯(CD7型是在CDM12型数码机芯的基础上经改正后推出的新型数码机芯)。国产的厦新(例如VCD/768型)、爱多(例如IV-308BK...

    元器件应用中的OM系列OM5324集成电路实用检测数据

    OM5324是系统控制微处理器集成电路,为40脚四列扁平式塑料封装,在万燕CDK-380型VCD影碟机电路U7上的正常工作电压典型检测数据如表所列,用MF14型三用表测得(DC挡)。 表 OM5324在万燕CDK-380型影碟机上的检测数据

    光纤等级(OM1_OM2_OM3)选型参考方案

    光纤等级(OM1_OM2_OM3)选型参考方案

    YOLOV5转换模型为om模型文件脚本

    转换模型为OM(Optimized Model)格式是将预训练的深度学习模型适配到特定硬件平台的过程,例如华为的Atlas系列芯片。这种格式优化了模型在硬件上的运行效率,提高推理速度和能效。 首先,我们需要了解YOLOV5的基本...

    9om极品网站

    【标题】:“9om极品网站”通常指的是一个网络平台,可能是提供特定服务或资源的站点。这个名称可能意味着它在某个领域内具有高质量的内容或独特的功能,吸引了用户的关注。 【描述】:“9om极品网站自助链接”暗示...

    元器件应用中的OM系列OM8839集成电路实用检测数据

    OM8839是数字化PC总线控制的新型单片PAL/NTSC制电视信号处理大规模集成电路,为56脚双列式塑料封装,在国产彩电(例如创维3P10、5P10机芯系列、康佳F2109C型机芯等)中得到广泛采用。该电路在创维5P10机芯29英寸、...

    光纤等级(OM1_OM2_OM3)指标参考

    ### 光纤等级(OM1_OM2_OM3)指标详解 #### 一、光纤等级与传输性能 在光纤通信领域,光纤的等级是衡量其性能的重要指标之一,它直接影响到数据传输的距离、速度以及信号质量。根据给定的资料,我们可以深入探讨不同...

    后台管理系统(OM)

    【后台管理系统(OM)】是一种专门用于管理聊天工具中用户和操作的Web应用程序。它旨在提供一个高效且直观的界面,使管理员能够轻松地监控、控制和管理聊天平台的各个方面。这种系统通常包括用户管理、权限设置、消息...

Global site tag (gtag.js) - Google Analytics