WIP-API:Oracle EBS Interface/API(7)--创建WIP任务单

摘自:Oracle EBS Interface/API(7)--创建WIP任务单 - 编程之家 (jb51.cc)

系统版本 :
RDBMS : 9.2.0.6.0

Oracle应用产品 : 11.5.10.2
接口表参考:WIP.WIP_JOB_DTLS_INTERFACE

1.根据装配件自动创建任务

 
  1. Declare
  2. l_iface_rec wip.wip_job_schedule_interface%rOWTYPE;
  3. --任务单--组件
  4. l_GroupId Number := 123456;
  5. l_OrganizationId Number :=122;
  6. l_UserId Number:=0;
  7. Begin
  8. --*****Start任务单装配件*****----
  9. l_iface_rec.last_update_date := SYSDATE;
  10. l_iface_rec.last_updated_by := l_UserId;
  11. l_iface_rec.creation_date := SYSDATE;
  12. l_iface_rec.created_by := l_UserId;
  13. l_iface_rec.last_update_login := fnd_profile.value('LOGIN_ID');
  14. l_iface_rec.group_id := l_GroupId;
  15. l_iface_rec.load_type := 1;
  16. l_iface_rec.process_phase := 2;
  17. l_iface_rec.process_status := 1;
  18. --1为未发放(UnReleased),3为创建任务单以后状态自动已发放(Released)
  19. l_iface_rec.status_type := 3; --1 UnReleased/3 Released 需要开会计期
  20. --认为Y,若为Y时,则无须把组件、工序和资源等等数据插入接口表WIP.WIP_JOB_SCHEDULE_INTERFACE。
  21. --若为N时,则需要往接口表表WIP.WIP_JOB_SCHEDULE_INTERFACE插入组件、工序和资源等等数据
  22. l_iface_rec.allow_explosion := 'Y';
  23. --任务单名称
  24. l_iface_rec.job_name := 'TEST131112_001';
  25. --组织标识
  26. l_iface_rec.organization_id := l_OrganizationId;
  27. --装配件标识
  28. l_iface_rec.primary_item_id := 463235;
  29. --开始数量
  30. l_iface_rec.start_quantity := 435;
  31. --开始日期
  32. l_iface_rec.first_unit_start_date := SYSDATE;
  33. --任务单来源 自定义
  34. l_iface_rec.source_code := 'WIPPLAN';
  35. --来源标识 自定义
  36. l_iface_rec.source_line_id := 0;
  37. --题头标识 自定义
  38. l_iface_rec.Header_Id := 3452;
  39. l_iface_rec.first_unit_start_date := Sysdate;
  40. l_iface_rec.First_Unit_Completion_Date := Null;
  41. l_iface_rec.last_unit_start_date := Null;
  42. l_iface_rec.last_unit_completion_date := Sysdate;
  43. INSERT INTO WIP.WIP_JOB_SCHEDULE_INTERFACE VALUES l_iface_rec;
  44. --*****End 任务单装配件*****----
  45. End;

2.手工创建任务单(组件、工序和资源)如下:

 
  1. Declare
  2. --任务单
  3. l_iface_rec wip.wip_job_schedule_interface%rOWTYPE;
  4. --任务单-组件
  5. l_CompRec wip.wip_job_dtls_interface%rOWTYPE;
  6. --任务单-工序
  7. l_OpRec wip.wip_job_dtls_interface%rOWTYPE;
  8. --任务单-资源
  9. l_ResRec WIP.WIP_JOB_DTLS_INTERFACE%rOWTYPE;
  10. l_GroupId Number := 123456;
  11. l_OrganizationId Number := 122;
  12. l_UserId Number := 0;
  13. Begin
  14. --*****Start任务单装配件*****----
  15. l_iface_rec.last_update_date := SYSDATE;
  16. l_iface_rec.last_updated_by := l_UserId;
  17. l_iface_rec.creation_date := SYSDATE;
  18. l_iface_rec.created_by := l_UserId;
  19. l_iface_rec.last_update_login := fnd_profile.value('LOGIN_ID');
  20. l_iface_rec.group_id := l_GroupId;
  21. l_iface_rec.load_type := 1;
  22. l_iface_rec.process_phase := 2;
  23. l_iface_rec.process_status := 1;
  24. --1为未发放(UnReleased),3为创建任务单以后状态自动已发放(Released)
  25. l_iface_rec.status_type := 3; --1 UnReleased/3 Released 需要开会计期
  26. --认为Y,若为Y时,则无须把组件、工序和资源等等数据插入接口表WIP.WIP_JOB_SCHEDULE_INTERFACE。
  27. --若为N时,则需要往接口表表WIP.WIP_JOB_SCHEDULE_INTERFACE插入组件、工序和资源等等数据
  28. l_iface_rec.allow_explosion := 'N';
  29. --任务单名称
  30. l_iface_rec.job_name := 'TEST131112_001';
  31. --组织标识
  32. l_iface_rec.organization_id := l_OrganizationId;
  33. --装配件标识
  34. l_iface_rec.primary_item_id := 463235;
  35. --开始数量
  36. l_iface_rec.start_quantity := 435;
  37. --开始日期
  38. l_iface_rec.first_unit_start_date := SYSDATE;
  39. --任务单来源 自定义
  40. l_iface_rec.source_code := 'WIPPLAN';
  41. --来源标识 自定义
  42. l_iface_rec.source_line_id := 0;
  43. --题头标识 自定义
  44. l_iface_rec.Header_Id := 3452;
  45. l_iface_rec.first_unit_start_date := Sysdate;
  46. l_iface_rec.First_Unit_Completion_Date := Null;
  47. l_iface_rec.last_unit_start_date := Null;
  48. l_iface_rec.last_unit_completion_date := Sysdate;
  49. INSERT INTO WIP.WIP_JOB_SCHEDULE_INTERFACE VALUES l_iface_rec;
  50. --*****End 任务单装配件*****----
  51. --*****Start 任务单组件*****---
  52. --可以添加删除修改多个组件
  53. --工序 WIP_REQUIREMENT_OPERATIONS.OPERATION_SEQ_NUM
  54. l_CompRec.OPERATION_SEQ_NUM := 10;
  55. --旧组件
  56. l_CompRec.INVENTORY_ITEM_ID_OLD := Rs.Inventory_Item_Id_Old;
  57. --新组件 新增时必输项
  58. l_CompRec.INVENTORY_ITEM_ID_NEW := Rs.Inventory_Item_Id_New;
  59. --主要 每个装配件 WIP_REQUIREMENT_OPERATIONS.QUANTITY_PER_ASSEMBLY
  60. l_CompRec.QUANTITY_PER_ASSEMBLY := Rs.Quantity_Per_Assembly;
  61. --主要 部门 WIP_REQUIREMENT_OPERATIONS.DEPARTMENT_ID
  62. l_CompRec.DEPARTMENT_ID := Rs.Department_Id;
  63. --供应 类型 WIP_REQUIREMENT_OPERATIONS.WIP_SUPPLY_TYPE
  64. l_CompRec.WIP_SUPPLY_TYPE := Rs.Wip_Supply_Type;
  65. --主要 需求日期 WIP_REQUIREMENT_OPERATIONS.DATE_required
  66. l_CompRec.DATE_required := Sysdate;
  67. --供应 子库存 WIP_REQUIREMENT_OPERATIONS.SUPPLY_SUBINVENTORY
  68. l_CompRec.SUPPLY_SUBINVENTORY := Rs.Supply_Subinventory;
  69. --供应 货位标识 WIP_REQUIREMENT_OPERATIONS.SUPPLY_LOCATOR_ID
  70. l_CompRec.SUPPLY_LOCATOR_ID := Rs.Supply_Locator_Id;
  71. --是否MRP净需求,认值为1 WIP_REQUIREMENT_OPERATIONS.MRP_NET_FLAG
  72. l_CompRec.MRP_NET_FLAG := Rs.Mrp_Net_Flag;
  73. --主需求计划数量 WIP_REQUIREMENT_OPERATIONS.Mps_required_Quantity
  74. l_CompRec.MPS_required_QUANTITY := Rs.Mps_required_Quantity;
  75. --主需求计划日期 WIP_REQUIREMENT_OPERATIONS.MPS_DATE_required
  76. l_CompRec.MPS_DATE_required := Rs.Mps_Date_required;
  77. --当是组件接口数据时,其值必须为2
  78. l_CompRec.LOAD_TYPE := 2;
  79. --与创建任务单题头的相同:WIP.WIP_JOB_SCHEDULE_INTERFACE.HEADER_ID
  80. l_CompRec.PARENT_HEADER_ID := 3452;
  81. --组件-备注 WIP_REQUIREMENT_OPERATIONS.COMMENTS
  82. l_CompRec.DESCRIPTION := '测试组件';
  83. l_CompRec.LAST_UPDATE_DATE := Sysdate;
  84. l_CompRec.LAST_UPDATED_BY := l_UserId;
  85. l_CompRec.CREATION_DATE := Sysdate;
  86. l_CompRec.CREATED_BY := l_UserId;
  87. l_CompRec.LAST_UPDATE_LOGIN := fnd_profile.value('LOGIN_ID');
  88. l_CompRec.Process_Phase := 2; --认值
  89. l_CompRec.Process_Status := 1; --认值
  90. l_CompRec.Group_Id := l_GroupId;
  91. /*
  92. 删除:wip_job_details.WIP_DELETE认为1
  93. 新增:wip_job_details.wip_add认值为2
  94. 修改:wip_job_details.WIP_CHANGEl认值为3*/
  95. l_CompRec.Substitution_Type := wip_job_details.wip_add;
  96. Insert Into WIP.WIP_JOB_DTLS_INTERFACE Values l_CompRec;
  97. --*****End 任务单组件*****---
  98. --*****Start 任务单工序****--
  99. --工序 WIP_OPERATIONS.Operation_Seq_Num
  100. l_OpRec.Operation_Seq_Num := l_CompRec.OPERATION_SEQ_NUM;
  101. --部门 WIP_OPERATIONS.Department_Id
  102. l_OpRec.Department_Id := l_CompRec.Department_Id;
  103. l_OpRec.Load_Type := 3;
  104. --供应商类型
  105. l_OpRec.Wip_Supply_Type := l_CompRec.Wip_Supply_Type;
  106. l_OpRec.Parent_Header_Id := l_iface_rec.Header_Id;
  107. l_OpRec.Description := '测试工序';
  108. --准标工序标识 WIP_OPERATIONS.Standard_Operation_Id
  109. l_OpRec.Standard_Operation_Id := 6;
  110. --日期 第一个装配件起始日期 WIP_OPERATIONS.FIRST_UNIT_START_DATE
  111. l_OpRec.First_Unit_Start_Date := Sysdate;
  112. --日期 第一个装配件完成日期 WIP_OPERATIONS.First_Unit_Completion_Date
  113. l_OpRec.First_Unit_Completion_Date := Sysdate;
  114. --日期 最后一个装配件起始日期 WIP_OPERATIONS.Last_Unit_Start_Date
  115. l_OpRec.Last_Unit_Start_Date := Sysdate;
  116. --日期 最后一个装配件起始日期 WIP_OPERATIONS.Last_Unit_Completion_Date
  117. l_OpRec.Last_Unit_Completion_Date := Sysdate;
  118. --主要 最小传送量 WIP_OPERATIONS.MINIMUM_TRANSFER_QUANTITY
  119. l_OpRec.Minimum_Transfer_Quantity := 0;
  120. --主要 倒冲 WIP_OPERATIONS.Backflush_Flag
  121. l_OpRec.Backflush_Flag := 1;
  122. --主要 计数点 WIP_OPERATIONS.Count_Point_Type
  123. l_OpRec.Count_Point_Type := 1;
  124. l_OpRec.Last_Update_Date := Sysdate;
  125. l_OpRec.Last_Updated_By := l_UserId;
  126. l_OpRec.Creation_Date := Sysdate;
  127. l_OpRec.Created_By := l_UserId;
  128. l_OpRec.Last_Update_Login := fnd_profile.value('LOGIN_ID');
  129. l_OpRec.Process_Phase := 2; --认值
  130. l_OpRec.Process_Status := 1; --认值
  131. l_OpRec.Group_Id := l_GroupId;
  132. /*
  133. 删除:wip_job_details.WIP_DELETE认为1
  134. 新增:wip_job_details.wip_add认值为2
  135. 修改:wip_job_details.WIP_CHANGEl认值为3*/
  136. l_OpRec.Substitution_Type := wip_job_details.wip_add;
  137. Insert Into WIP.WIP_JOB_DTLS_INTERFACE Values l_OpRec;
  138. --*****End 任务单工序****--
  139. --*****Start 任务单资源***---
  140. --可以添加删除修改多个资源
  141. --工序 WIP_OPERATION_RESOURCES.Operation_Seq_Num
  142. l_ResRec.OPERATION_SEQ_NUM := l_CompRec.OPERATION_SEQ_NUM;
  143. --资源序号 WIP_OPERATION_RESOURCES.RESOURCE_SEQ_NUM
  144. l_ResRec.RESOURCE_SEQ_NUM := 10;
  145. --新资源标识 新增时必输项
  146. l_ResRec.RESOURCE_ID_NEW := 501899;
  147. --主要 单位用量或数量值 WIP_OPERATION_RESOURCES.Usage_Rate_Or_Amount
  148. l_ResRec.USAGE_RATE_OR_AMOUNT := .86;
  149. --计划 已计划 认值为2(否) WIP_OPERATION_RESOURCES.Scheduled_Flag
  150. l_ResRec.SCHEDULED_FLAG := 2;
  151. --计划 分配数量 认值为1 WIP_OPERATION_RESOURCES.Assigned_Units
  152. l_ResRec.ASSIGNED_UNITS := 1;
  153. l_ResRec.APPLIED_RESOURCE_UNITS := Null;
  154. l_ResRec.APPLIED_RESOURCE_VALUE := Null;
  155. --主要 单位 WIP_OPERATION_RESOURCES.UOM_CODE
  156. l_ResRec.UOM_CODE := 'CNY';
  157. --主要 基准 认值1(物料) WIP_OPERATION_RESOURCES.BASIS_TYPE
  158. l_ResRec.BASIS_TYPE := 1;
  159. --成本计算 活动标识 WIP_OPERATION_RESOURCES.ACTIVITY_ID
  160. l_ResRec.ACTIVITY_ID := Null;
  161. --成本计算 计费类型 WIP_OPERATION_RESOURCES.AUtochARGE_TYPE
  162. l_ResRec.AUtochARGE_TYPE := 1;
  163. --成本计算 标准费率 认值为2
  164. l_ResRec.STANDARD_RATE_FLAG := 2;
  165. --计划 起始日期 WIP_OPERATION_RESOURCES.START_DATE
  166. l_ResRec.START_DATE := Sysdate;
  167. --计划 完成日期 WIP_OPERATION_RESOURCES.COMPLETION_DATE
  168. l_ResRec.COMPLETION_DATE := Sysdate;
  169. --计划 替代组 WIP_OPERATION_RESOURCES.SUBSTITUTE_GROUP_NUM
  170. l_ResRec.SUBSTITUTE_GROUP_NUM := Null;
  171. --计划 替换组 WIP_JOB_DTLS_INTERFACE.REPLACEMENT_GROUP_NUM
  172. l_ResRec.REPLACEMENT_GROUP_NUM := Null;
  173. --计划 批WIP_JOB_DTLS_INTERFACE.BATCH_ID
  174. --计划 计划序号 WIP_JOB_DTLS_INTERFACE.SCHEDULE_SEQ_NUM
  175. l_ResRec.SCHEDULE_SEQ_NUM := Null;
  176. l_ResRec.BATCH_ID := Null;
  177. l_ResRec.LOAD_TYPE := 1; --认值
  178. l_ResRec.PARENT_HEADER_ID := l_iface_rec.Header_Id;
  179. l_ResRec.DESCRIPTION := Null;
  180. l_ResRec.LAST_UPDATE_DATE := Sysdate;
  181. l_ResRec.LAST_UPDATED_BY := l_UserId;
  182. l_ResRec.CREATION_DATE := Sysdate;
  183. l_ResRec.CREATED_BY := l_UserId;
  184. l_ResRec.LAST_UPDATE_LOGIN := fnd_profile.value('LOGIN_ID');
  185. l_ResRec.Process_Phase := 2; --认值
  186. l_ResRec.Process_Status := 1; --认值
  187. l_ResRec.Group_Id := l_GroupId;
  188. /*
  189. 删除:wip_job_details.WIP_DELETE认为1
  190. 新增:wip_job_details.wip_add认值为2
  191. 修改:wip_job_details.WIP_CHANGEl认值为3*/
  192. l_ResRec.Substitution_Type := wip_job_details.wip_add;
  193. Insert Into WIP.WIP_JOB_DTLS_INTERFACE. Values l_ResRec;
  194. --*****End 任务单工序***---
  195. End;


3.自动提交“WIP 成批装入”请求

 
  1. Declare
  2. l_GroupId Number := 123456;
  3. v_ReqID Number;
  4. l_phase Varchar(200);
  5. l_status Varchar(200);
  6. l_dev_phase Varchar(200);
  7. l_dev_status Varchar(200);
  8. l_message Varchar(2000);
  9. l_request_status boolean;
  10. l_UserId Number := 0;
  11. Begin
  12. fnd_global.apps_initialize(user_id => l_UserId,resp_id => 50276,resp_appl_id => 706,security_group_id => 0);
  13. v_ReqID := fnd_request.submit_request(application => 'WIP',program => 'WICMLP',description => '',start_time => '',sub_request => FALSE,argument1 => to_char(l_GroupId),--组标识
  14. argument2 => '0',--验证类型
  15. argument3 => '1',--报表是否打印,1:YES,2.NO
  16. argument4 => CHR(0));
  17. If (v_ReqID > 0) Then
  18. l_request_status := Fnd_Concurrent.Wait_For_Request(v_ReqID,5,l_phase,l_status,l_dev_phase,l_dev_status,l_message);
  19. IF l_request_status THEN
  20. IF l_dev_status = 'NORMAL' Or l_dev_status = 'WARNING' THEN
  21. dbms_output.put_line('[WIP 成批装入]运行成功');
  22. ELSE
  23. dbms_output.put_line('[WIP 成批装入]运行失败:' || l_dev_status);
  24. END IF;
  25. ELSE
  26. dbms_output.put_line('请求未完成,无法查看报表内容!');
  27. END IF;
  28. End If;
  29. End;

总结

以上是编程之家为你收集整理的Oracle EBS Interface/API(7)--创建WIP任务单全部内容,希望文章能够帮你解决Oracle EBS Interface/API(7)--创建WIP任务单所遇到的程序开发问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值