24: l_msg_header XNP_MESSAGE.MSG_HEADER_REC_TYPE ;
25: BEGIN
26: x_error_code := 0 ;
27: x_error_message := NULL ;
28: XNP_XML_UTILS.initialize_doc ( ) ;
29: /*construct the XML header */
30: /* retreive the next message ID */
31: XNP_MESSAGE.get_sequence ( l_msg_header.message_id ) ;
32: IF (p_reference_id IS NULL) THEN
34: ELSE
35: l_msg_header.reference_id := p_reference_id ;
36: END IF ;
37: /* append header parameters to make header */
38: XNP_XML_UTILS.write_element ( 'MESSAGE_ID',l_msg_header.message_id ) ;
39: XNP_XML_UTILS.write_leaf_element ( 'REFERENCE_ID',l_msg_header.reference_id ) ;
40: l_msg_header.opp_reference_id := p_opp_reference_id ;
41: XNP_XML_UTILS.write_leaf_element ( 'OPP_REFERENCE_ID',l_msg_header.opp_reference_id ) ;
42: l_msg_header.message_code := 'CSIMSIHZ' ;
35: l_msg_header.reference_id := p_reference_id ;
36: END IF ;
37: /* append header parameters to make header */
38: XNP_XML_UTILS.write_element ( 'MESSAGE_ID',l_msg_header.message_id ) ;
39: XNP_XML_UTILS.write_leaf_element ( 'REFERENCE_ID',l_msg_header.reference_id ) ;
40: l_msg_header.opp_reference_id := p_opp_reference_id ;
41: XNP_XML_UTILS.write_leaf_element ( 'OPP_REFERENCE_ID',l_msg_header.opp_reference_id ) ;
42: l_msg_header.message_code := 'CSIMSIHZ' ;
43: XNP_XML_UTILS.write_leaf_element ( 'MESSAGE_CODE',l_msg_header.message_code ) ;
37: /* append header parameters to make header */
38: XNP_XML_UTILS.write_element ( 'MESSAGE_ID',l_msg_header.message_id ) ;
39: XNP_XML_UTILS.write_leaf_element ( 'REFERENCE_ID',l_msg_header.reference_id ) ;
40: l_msg_header.opp_reference_id := p_opp_reference_id ;
41: XNP_XML_UTILS.write_leaf_element ( 'OPP_REFERENCE_ID',l_msg_header.opp_reference_id ) ;
42: l_msg_header.message_code := 'CSIMSIHZ' ;
43: XNP_XML_UTILS.write_leaf_element ( 'MESSAGE_CODE',l_msg_header.message_code ) ;
44: l_msg_header.version := p_version ;
45: XNP_XML_UTILS.write_leaf_element ( 'VERSION',l_msg_header.version ) ;
39: XNP_XML_UTILS.write_leaf_element ( 'REFERENCE_ID',l_msg_header.reference_id ) ;
40: l_msg_header.opp_reference_id := p_opp_reference_id ;
41: XNP_XML_UTILS.write_leaf_element ( 'OPP_REFERENCE_ID',l_msg_header.opp_reference_id ) ;
42: l_msg_header.message_code := 'CSIMSIHZ' ;
43: XNP_XML_UTILS.write_leaf_element ( 'MESSAGE_CODE',l_msg_header.message_code ) ;
44: l_msg_header.version := p_version ;
45: XNP_XML_UTILS.write_leaf_element ( 'VERSION',l_msg_header.version ) ;
46: l_msg_header.creation_date := SYSDATE ;
47: l_msg_header.recipient_name := p_recipient_list ;
41: XNP_XML_UTILS.write_leaf_element ( 'OPP_REFERENCE_ID',l_msg_header.opp_reference_id ) ;
42: l_msg_header.message_code := 'CSIMSIHZ' ;
43: XNP_XML_UTILS.write_leaf_element ( 'MESSAGE_CODE',l_msg_header.message_code ) ;
44: l_msg_header.version := p_version ;
45: XNP_XML_UTILS.write_leaf_element ( 'VERSION',l_msg_header.version ) ;
46: l_msg_header.creation_date := SYSDATE ;
47: l_msg_header.recipient_name := p_recipient_list ;
48: XNP_XML_UTILS.write_element ( 'CREATION_DATE',l_msg_header.creation_date ) ;
49: l_msg_header.sender_name := p_sender_name ;
44: l_msg_header.version := p_version ;
45: XNP_XML_UTILS.write_leaf_element ( 'VERSION',l_msg_header.version ) ;
46: l_msg_header.creation_date := SYSDATE ;
47: l_msg_header.recipient_name := p_recipient_list ;
48: XNP_XML_UTILS.write_element ( 'CREATION_DATE',l_msg_header.creation_date ) ;
49: l_msg_header.sender_name := p_sender_name ;
50: XNP_XML_UTILS.write_leaf_element ( 'SENDER_NAME',l_msg_header.sender_name ) ;
51: XNP_XML_UTILS.write_leaf_element ( 'RECIPIENT_NAME',l_msg_header.recipient_name ) ;
52: l_msg_header.direction_indr := 'E' ;
46: l_msg_header.creation_date := SYSDATE ;
47: l_msg_header.recipient_name := p_recipient_list ;
48: XNP_XML_UTILS.write_element ( 'CREATION_DATE',l_msg_header.creation_date ) ;
49: l_msg_header.sender_name := p_sender_name ;
50: XNP_XML_UTILS.write_leaf_element ( 'SENDER_NAME',l_msg_header.sender_name ) ;
51: XNP_XML_UTILS.write_leaf_element ( 'RECIPIENT_NAME',l_msg_header.recipient_name ) ;
52: l_msg_header.direction_indr := 'E' ;
53: l_msg_header.order_id := p_order_id ;
54: l_msg_header.wi_instance_id := p_wi_instance_id ;
47: l_msg_header.recipient_name := p_recipient_list ;
48: XNP_XML_UTILS.write_element ( 'CREATION_DATE',l_msg_header.creation_date ) ;
49: l_msg_header.sender_name := p_sender_name ;
50: XNP_XML_UTILS.write_leaf_element ( 'SENDER_NAME',l_msg_header.sender_name ) ;
51: XNP_XML_UTILS.write_leaf_element ( 'RECIPIENT_NAME',l_msg_header.recipient_name ) ;
52: l_msg_header.direction_indr := 'E' ;
53: l_msg_header.order_id := p_order_id ;
54: l_msg_header.wi_instance_id := p_wi_instance_id ;
55: l_msg_header.fa_instance_id := p_fa_instance_id ;
52: l_msg_header.direction_indr := 'E' ;
53: l_msg_header.order_id := p_order_id ;
54: l_msg_header.wi_instance_id := p_wi_instance_id ;
55: l_msg_header.fa_instance_id := p_fa_instance_id ;
56: XNP_XML_UTILS.write_leaf_element ( 'MTL_TRANSACTION_ID', XNP$MTL_TRANSACTION_ID );
57: XNP_XML_UTILS.write_leaf_element ( 'ORGANIZATION_ID', XNP$ORGANIZATION_ID );
58: XNP_XML_UTILS.write_leaf_element ( 'INVENTORY_ITEM_ID', XNP$INVENTORY_ITEM_ID );
59: /* retreieve the XML header */
60: XNP_XML_UTILS.get_document ( l_xml_header ) ;
53: l_msg_header.order_id := p_order_id ;
54: l_msg_header.wi_instance_id := p_wi_instance_id ;
55: l_msg_header.fa_instance_id := p_fa_instance_id ;
56: XNP_XML_UTILS.write_leaf_element ( 'MTL_TRANSACTION_ID', XNP$MTL_TRANSACTION_ID );
57: XNP_XML_UTILS.write_leaf_element ( 'ORGANIZATION_ID', XNP$ORGANIZATION_ID );
58: XNP_XML_UTILS.write_leaf_element ( 'INVENTORY_ITEM_ID', XNP$INVENTORY_ITEM_ID );
59: /* retreieve the XML header */
60: XNP_XML_UTILS.get_document ( l_xml_header ) ;
61: /* append the XML headerto message */
54: l_msg_header.wi_instance_id := p_wi_instance_id ;
55: l_msg_header.fa_instance_id := p_fa_instance_id ;
56: XNP_XML_UTILS.write_leaf_element ( 'MTL_TRANSACTION_ID', XNP$MTL_TRANSACTION_ID );
57: XNP_XML_UTILS.write_leaf_element ( 'ORGANIZATION_ID', XNP$ORGANIZATION_ID );
58: XNP_XML_UTILS.write_leaf_element ( 'INVENTORY_ITEM_ID', XNP$INVENTORY_ITEM_ID );
59: /* retreieve the XML header */
60: XNP_XML_UTILS.get_document ( l_xml_header ) ;
61: /* append the XML headerto message */
62: XNP_XML_UTILS.initialize_doc ( ) ;
56: XNP_XML_UTILS.write_leaf_element ( 'MTL_TRANSACTION_ID', XNP$MTL_TRANSACTION_ID );
57: XNP_XML_UTILS.write_leaf_element ( 'ORGANIZATION_ID', XNP$ORGANIZATION_ID );
58: XNP_XML_UTILS.write_leaf_element ( 'INVENTORY_ITEM_ID', XNP$INVENTORY_ITEM_ID );
59: /* retreieve the XML header */
60: XNP_XML_UTILS.get_document ( l_xml_header ) ;
61: /* append the XML headerto message */
62: XNP_XML_UTILS.initialize_doc ( ) ;
63: XNP_XML_UTILS.xml_decl ;
64: XNP_XML_UTILS.begin_segment ( 'MESSAGE') ;
58: XNP_XML_UTILS.write_leaf_element ( 'INVENTORY_ITEM_ID', XNP$INVENTORY_ITEM_ID );
59: /* retreieve the XML header */
60: XNP_XML_UTILS.get_document ( l_xml_header ) ;
61: /* append the XML headerto message */
62: XNP_XML_UTILS.initialize_doc ( ) ;
63: XNP_XML_UTILS.xml_decl ;
64: XNP_XML_UTILS.begin_segment ( 'MESSAGE') ;
65: XNP_XML_UTILS.write_element( 'HEADER', l_xml_header );
66: /* construct the message body */
59: /* retreieve the XML header */
60: XNP_XML_UTILS.get_document ( l_xml_header ) ;
61: /* append the XML headerto message */
62: XNP_XML_UTILS.initialize_doc ( ) ;
63: XNP_XML_UTILS.xml_decl ;
64: XNP_XML_UTILS.begin_segment ( 'MESSAGE') ;
65: XNP_XML_UTILS.write_element( 'HEADER', l_xml_header );
66: /* construct the message body */
67: XNP_XML_UTILS.begin_segment ( 'CSIMSIHZ' ) ;
60: XNP_XML_UTILS.get_document ( l_xml_header ) ;
61: /* append the XML headerto message */
62: XNP_XML_UTILS.initialize_doc ( ) ;
63: XNP_XML_UTILS.xml_decl ;
64: XNP_XML_UTILS.begin_segment ( 'MESSAGE') ;
65: XNP_XML_UTILS.write_element( 'HEADER', l_xml_header );
66: /* construct the message body */
67: XNP_XML_UTILS.begin_segment ( 'CSIMSIHZ' ) ;
68: IF ( XNP$MTL_TRANSACTION_ID IS NULL) THEN
61: /* append the XML headerto message */
62: XNP_XML_UTILS.initialize_doc ( ) ;
63: XNP_XML_UTILS.xml_decl ;
64: XNP_XML_UTILS.begin_segment ( 'MESSAGE') ;
65: XNP_XML_UTILS.write_element( 'HEADER', l_xml_header );
66: /* construct the message body */
67: XNP_XML_UTILS.begin_segment ( 'CSIMSIHZ' ) ;
68: IF ( XNP$MTL_TRANSACTION_ID IS NULL) THEN
69: x_error_message :='Missing Mandatory Attribute - MTL_TRANSACTION_ID' ;
63: XNP_XML_UTILS.xml_decl ;
64: XNP_XML_UTILS.begin_segment ( 'MESSAGE') ;
65: XNP_XML_UTILS.write_element( 'HEADER', l_xml_header );
66: /* construct the message body */
67: XNP_XML_UTILS.begin_segment ( 'CSIMSIHZ' ) ;
68: IF ( XNP$MTL_TRANSACTION_ID IS NULL) THEN
69: x_error_message :='Missing Mandatory Attribute - MTL_TRANSACTION_ID' ;
70: fnd_message.set_name('XNP','XNP_MISSING_MANDATORY_ATTR');
71: fnd_message.set_token('ATTRIBUTE','MTL_TRANSACTION_ID' ) ;
71: fnd_message.set_token('ATTRIBUTE','MTL_TRANSACTION_ID' ) ;
72: x_error_message := fnd_message.get ;
73: RAISE e_MISSING_MANDATORY_DATA ;
74: END IF ;
75: XNP_XML_UTILS.write_leaf_element ( 'MTL_TRANSACTION_ID', XNP$MTL_TRANSACTION_ID ) ;
76: IF ( XNP$INVENTORY_ITEM_ID IS NULL) THEN
77: x_error_message :='Missing Mandatory Attribute - INVENTORY_ITEM_ID' ;
78: fnd_message.set_name('XNP','XNP_MISSING_MANDATORY_ATTR');
79: fnd_message.set_token('ATTRIBUTE','INVENTORY_ITEM_ID' ) ;
79: fnd_message.set_token('ATTRIBUTE','INVENTORY_ITEM_ID' ) ;
80: x_error_message := fnd_message.get ;
81: RAISE e_MISSING_MANDATORY_DATA ;
82: END IF ;
83: XNP_XML_UTILS.write_leaf_element ( 'INVENTORY_ITEM_ID', XNP$INVENTORY_ITEM_ID ) ;
84: IF ( XNP$ORGANIZATION_ID IS NULL) THEN
85: x_error_message :='Missing Mandatory Attribute - ORGANIZATION_ID' ;
86: fnd_message.set_name('XNP','XNP_MISSING_MANDATORY_ATTR');
87: fnd_message.set_token('ATTRIBUTE','ORGANIZATION_ID' ) ;
87: fnd_message.set_token('ATTRIBUTE','ORGANIZATION_ID' ) ;
88: x_error_message := fnd_message.get ;
89: RAISE e_MISSING_MANDATORY_DATA ;
90: END IF ;
91: XNP_XML_UTILS.write_leaf_element ( 'ORGANIZATION_ID', XNP$ORGANIZATION_ID ) ;
92: XNP_XML_UTILS.end_segment ( 'CSIMSIHZ' ) ;
93: XNP_XML_UTILS.end_segment ( 'MESSAGE') ;
94: XNP_XML_UTILS.get_document( l_xml_doc ) ;
95: /* assign the header and msg text to output parameters */
88: x_error_message := fnd_message.get ;
89: RAISE e_MISSING_MANDATORY_DATA ;
90: END IF ;
91: XNP_XML_UTILS.write_leaf_element ( 'ORGANIZATION_ID', XNP$ORGANIZATION_ID ) ;
92: XNP_XML_UTILS.end_segment ( 'CSIMSIHZ' ) ;
93: XNP_XML_UTILS.end_segment ( 'MESSAGE') ;
94: XNP_XML_UTILS.get_document( l_xml_doc ) ;
95: /* assign the header and msg text to output parameters */
96: x_msg_header := l_msg_header ;
89: RAISE e_MISSING_MANDATORY_DATA ;
90: END IF ;
91: XNP_XML_UTILS.write_leaf_element ( 'ORGANIZATION_ID', XNP$ORGANIZATION_ID ) ;
92: XNP_XML_UTILS.end_segment ( 'CSIMSIHZ' ) ;
93: XNP_XML_UTILS.end_segment ( 'MESSAGE') ;
94: XNP_XML_UTILS.get_document( l_xml_doc ) ;
95: /* assign the header and msg text to output parameters */
96: x_msg_header := l_msg_header ;
97: x_msg_text := l_xml_doc ;
90: END IF ;
91: XNP_XML_UTILS.write_leaf_element ( 'ORGANIZATION_ID', XNP$ORGANIZATION_ID ) ;
92: XNP_XML_UTILS.end_segment ( 'CSIMSIHZ' ) ;
93: XNP_XML_UTILS.end_segment ( 'MESSAGE') ;
94: XNP_XML_UTILS.get_document( l_xml_doc ) ;
95: /* assign the header and msg text to output parameters */
96: x_msg_header := l_msg_header ;
97: x_msg_text := l_xml_doc ;
98: /* handle exceptions */
263: csi_t_gen_utility_pvt.add(' ');
264: csi_t_gen_utility_pvt.add('CSIMSIHZ'||'-'||to_char(sysdate,'DD-MON-YYYY HH24:MI:SS'));
265: csi_t_gen_utility_pvt.add(' XML String: '||p_msg_text);
266: savepoint one;
267: xnp_xml_utils.decode(p_msg_text => p_msg_text,p_tag => 'MTL_TRANSACTION_ID',x_value => l_mtl_trx_rec.mtl_transaction_id);
268: IF l_mtl_trx_rec.mtl_transaction_id is null THEN
269: fnd_message.set_name('CSI','CSI_DECODE_MGS_ERROR');
270: fnd_message.set_token('MESSAGE_ID',p_msg_header.message_id);
271: fnd_message.set_token('MESSAGE_CODE',p_msg_header.message_code);