38: , x_eam_res_inst_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_res_inst_tbl_type
39: , x_eam_sub_res_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_sub_res_tbl_type
40: , x_eam_res_usage_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_res_usage_tbl_type
41: , x_eam_mat_req_tbl OUT NOCOPY EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type
42: , x_mesg_token_tbl OUT NOCOPY EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type
43: , x_return_status OUT NOCOPY VARCHAR2
44: )
45: IS
46: --Bug#3342391 : Added a local variable
69: l_out_eam_mat_req_tbl EAM_PROCESS_WO_PUB.eam_mat_req_tbl_type := p_eam_mat_req_tbl;
70: l_out_eam_di_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
71:
72: /* Error Handling Variables */
73: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
74: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
75: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
76: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
77: l_other_message VARCHAR2(2000);
70: l_out_eam_di_tbl EAM_PROCESS_WO_PUB.eam_direct_items_tbl_type;
71:
72: /* Error Handling Variables */
73: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
74: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
75: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
76: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
77: l_other_message VARCHAR2(2000);
78: l_err_text VARCHAR2(2000);
71:
72: /* Error Handling Variables */
73: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
74: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
75: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
76: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
77: l_other_message VARCHAR2(2000);
78: l_err_text VARCHAR2(2000);
79: l_error_code NUMBER;
72: /* Error Handling Variables */
73: l_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
74: l_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
75: l_out_mesg_token_tbl EAM_ERROR_MESSAGE_PVT.Mesg_Token_Tbl_Type;
76: l_other_token_tbl EAM_ERROR_MESSAGE_PVT.Token_Tbl_Type ;
77: l_other_message VARCHAR2(2000);
78: l_err_text VARCHAR2(2000);
79: l_error_code NUMBER;
80:
480:
481: BEGIN
482:
483:
484: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Starting Activity Explosion'); end if;
485:
486:
487: -- **************************** OPERATIONS ******************
488: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Exploding Operations'); end if;
484: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Starting Activity Explosion'); end if;
485:
486:
487: -- **************************** OPERATIONS ******************
488: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Exploding Operations'); end if;
489: FOR oprec IN ActivityOP LOOP
490:
491: j:=j+1; --counter for operations
492: l_eam_op_tbl(j).BATCH_ID :=oprec.BATCH_ID;
530:
531:
532:
533: -- **************************** RESOURCES ******************
534: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Exploding Resource Requirements'); end if;
535: FOR resrec IN ActivityRES LOOP
536:
537:
538: k:=k+1; --counter for resources
582: END LOOP;
583:
584:
585: -- **************************** OPERATION NETWORKS ******************
586: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Exploding Operation Networks'); end if;
587: FOR opnetworkrec IN ActivityOPN LOOP
588:
589: m:=m+1; --counter for operation networks
590:
614: l_eam_op_network_tbl(m).TRANSACTION_TYPE := opnetworkrec.TRANSACTION_TYPE;
615: END LOOP;
616:
617:
618: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Exploding Material Requirements'); end if;
619:
620: BEGIN
621:
622: --delete any previous explosions as effectivity/disable dates could be changed
629: from dual;
630:
631:
632:
633: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Explosion Group Id = ' || l_group_id); end if;
634:
635:
636: bompexpl.exploder_userexit
637: ( item_id => l_eam_wo_rec.asset_activity_id
663: end if;
664:
665: n := n + 1;
666:
667: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Fetching ' || matreqrec.INVENTORY_ITEM_ID); end if;
668:
669: l_eam_mat_req_tbl(n).BATCH_ID := matreqrec.BATCH_ID;
670: l_eam_mat_req_tbl(n).HEADER_ID := matreqrec.HEADER_ID;
671: l_eam_mat_req_tbl(n).WIP_ENTITY_ID := matreqrec.WIP_ENTITY_ID;
801:
802: end;
803:
804:
805: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Activity Explosion completed'); end if;
806:
807: begin
808:
809: select bill_sequence_id
818: -- Fix for Bug 2787347 Activities having routing and no BOM are failing
819: exception
820:
821: when others then
822: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('BOM not present hence no attachments need to be copied from Activity BOM'); end if;
823:
824: x_return_status := fnd_api.g_ret_sts_success;
825:
826: -- Fix for Bug 2787347 Activities having routing and no BOM are failing
827:
828: end;
829:
830:
831: IF EAM_PROCESS_WO_PVT.get_debug = 'Y' THEN EAM_ERROR_MESSAGE_PVT.write_debug('Coping attachment'); end if;
832:
833: COPY_ATTACHMENT
834: ( p_organization_id => l_eam_wo_rec.organization_id
835: , p_asset_activity_id => l_eam_wo_rec.asset_activity_id