496: END Update_Message_Sent_Info_Multi;
497:
498: PROCEDURE Update_Corrective_Info
499: (
500: p_bundle_id_tbl IN EGO_VARCHAR_TBL_TYPE
501: , p_source_system_id_tbl IN EGO_VARCHAR_TBL_TYPE
502: , p_source_system_ref_tbl IN EGO_VARCHAR_TBL_TYPE
503: , p_message_type_code IN VARCHAR2
504: , p_status_code IN VARCHAR2
497:
498: PROCEDURE Update_Corrective_Info
499: (
500: p_bundle_id_tbl IN EGO_VARCHAR_TBL_TYPE
501: , p_source_system_id_tbl IN EGO_VARCHAR_TBL_TYPE
502: , p_source_system_ref_tbl IN EGO_VARCHAR_TBL_TYPE
503: , p_message_type_code IN VARCHAR2
504: , p_status_code IN VARCHAR2
505: , p_corrective_action_code IN VARCHAR2
498: PROCEDURE Update_Corrective_Info
499: (
500: p_bundle_id_tbl IN EGO_VARCHAR_TBL_TYPE
501: , p_source_system_id_tbl IN EGO_VARCHAR_TBL_TYPE
502: , p_source_system_ref_tbl IN EGO_VARCHAR_TBL_TYPE
503: , p_message_type_code IN VARCHAR2
504: , p_status_code IN VARCHAR2
505: , p_corrective_action_code IN VARCHAR2
506: , p_additional_info IN VARCHAR2
664: , x_msg_data OUT NOCOPY VARCHAR2
665: )
666: IS
667:
668: l_bundle_id_tbl EGO_VARCHAR_TBL_TYPE;
669: l_source_system_id_tbl EGO_VARCHAR_TBL_TYPE;
670: l_source_system_ref_tbl EGO_VARCHAR_TBL_TYPE;
671: l_item_bundle_tags XMLTYPE;
672: l_item_bundles_tag XMLTYPE;
665: )
666: IS
667:
668: l_bundle_id_tbl EGO_VARCHAR_TBL_TYPE;
669: l_source_system_id_tbl EGO_VARCHAR_TBL_TYPE;
670: l_source_system_ref_tbl EGO_VARCHAR_TBL_TYPE;
671: l_item_bundle_tags XMLTYPE;
672: l_item_bundles_tag XMLTYPE;
673: l_return_status VARCHAR2(100);
666: IS
667:
668: l_bundle_id_tbl EGO_VARCHAR_TBL_TYPE;
669: l_source_system_id_tbl EGO_VARCHAR_TBL_TYPE;
670: l_source_system_ref_tbl EGO_VARCHAR_TBL_TYPE;
671: l_item_bundle_tags XMLTYPE;
672: l_item_bundles_tag XMLTYPE;
673: l_return_status VARCHAR2(100);
674: l_msg_data VARCHAR2(4000);
760: l_msg_data := NULL;
761: l_last_update_date := NULL;
762: l_item_bundles_tag := NULL;
763: l_item_bundle_tags := NULL;
764: l_bundle_id_tbl := EGO_VARCHAR_TBL_TYPE();
765: l_source_system_id_tbl := EGO_VARCHAR_TBL_TYPE();
766: l_source_system_ref_tbl := EGO_VARCHAR_TBL_TYPE();
767: l_total_bundles := 0;
768: l_send_message_flag := FALSE;
761: l_last_update_date := NULL;
762: l_item_bundles_tag := NULL;
763: l_item_bundle_tags := NULL;
764: l_bundle_id_tbl := EGO_VARCHAR_TBL_TYPE();
765: l_source_system_id_tbl := EGO_VARCHAR_TBL_TYPE();
766: l_source_system_ref_tbl := EGO_VARCHAR_TBL_TYPE();
767: l_total_bundles := 0;
768: l_send_message_flag := FALSE;
769:
762: l_item_bundles_tag := NULL;
763: l_item_bundle_tags := NULL;
764: l_bundle_id_tbl := EGO_VARCHAR_TBL_TYPE();
765: l_source_system_id_tbl := EGO_VARCHAR_TBL_TYPE();
766: l_source_system_ref_tbl := EGO_VARCHAR_TBL_TYPE();
767: l_total_bundles := 0;
768: l_send_message_flag := FALSE;
769:
770: -- check for data pool GDSN enabled
780:
781: -- send sync message only if batch is GDSN enabled
782: IF ( l_send_message_flag = TRUE )
783: THEN
784: -- loop to fetch 500 items at a time due to limit on EGO_VARCHAR_TBL_TYPE
785: LOOP
786:
787: -- clear the tables
788: l_bundle_id_tbl.DELETE;
802: BULK COLLECT INTO
803: l_bundle_id_tbl
804: , l_source_system_id_tbl
805: , l_source_system_ref_tbl
806: LIMIT 500; -- 500 is limit because EGO_VARCHAR_TBL_TYPE has max 500 elements.
807:
808: EXIT WHEN l_bundle_id_tbl.COUNT = 0;
809:
810: l_total_bundles := l_total_bundles + l_bundle_id_tbl.COUNT;