[Home] [Help]
PACKAGE BODY: APPS.XNP_T_DEF_JEOPARDY_TMR_U
Source
1 PACKAGE BODY XNP_T_DEF_JEOPARDY_TMR_U AS
2 /*$Header: XNPJPTMB.pls 120.2 2006/02/13 07:50:41 dputhiye ship $*/
3
4 PROCEDURE CREATE_MSG ( x_msg_header OUT NOCOPY XNP_MESSAGE.MSG_HEADER_REC_TYPE,
5 x_msg_text OUT NOCOPY VARCHAR2,
6 x_error_code OUT NOCOPY NUMBER,
7 x_error_message OUT NOCOPY VARCHAR2,
8 p_sender_name IN VARCHAR2 DEFAULT NULL,
9 p_recipient_list IN VARCHAR2 DEFAULT NULL,
10 p_version IN NUMBER DEFAULT 1,
11 p_reference_id IN VARCHAR2 DEFAULT NULL,
12 p_opp_reference_id IN VARCHAR2 DEFAULT NULL,
13 p_order_id IN NUMBER DEFAULT NULL,
14 p_wi_instance_id IN NUMBER DEFAULT NULL,
15 p_fa_instance_id IN NUMBER DEFAULT NULL,
16 p_delay IN NUMBER DEFAULT NULL,
17 p_interval IN NUMBER DEFAULT NULL ) IS
18 e_MISSING_MANDATORY_DATA EXCEPTION ;
19 e_NO_DESTINATION EXCEPTION ;
20 l_xml_body VARCHAR2(32767) ;
21 l_xml_doc VARCHAR2(32767) ;
22 l_xml_header VARCHAR2(32767) ;
23 l_msg_header XNP_MESSAGE.MSG_HEADER_REC_TYPE ;
24 l_loop_index_2 NUMBER ;
25 XNP$INTERVAL NUMBER ;
26 BEGIN
27 x_error_code := 0 ;
28 x_error_message := NULL ;
29 XNP_XML_UTILS.initialize_doc ( ) ;
30 /* construct the message body */
31 XNP_XML_UTILS.begin_segment ( 'T_DEF_JEOPARDY_TMR' ) ;
32 IF (p_DELAY IS NULL) THEN
33 NULL;
34 l_loop_index_2 := 0 ;
35 FOR XNP$DELAY IN (select 0 delay from dual) LOOP
36 l_loop_index_2 := l_loop_index_2 + 1 ;
37 IF ( xnp$delay.delay IS NULL) THEN
38 x_error_message :='Missing Mandatory Attribute - DELAY' ;
39 RAISE e_MISSING_MANDATORY_DATA ;
40 END IF ;
41 XNP_XML_UTILS.write_element ( 'DELAY', xnp$delay.delay ) ;
42 EXIT ;
43 END LOOP ;
44 IF ( l_loop_index_2 = 0 ) THEN
45 x_error_message := 'Missing Mandatory Data-, DELAY';
46 RAISE e_MISSING_MANDATORY_DATA ;
47 END IF ;
48 ELSE
49 xnp_xml_utils.write_element('DELAY', p_DELAY);
50 END IF;
51 IF (p_INTERVAL IS NULL) THEN
52 NULL;
53 XNP$INTERVAL := xnp_def_jeopardy_int.get_interval(p_order_id) ;
54 IF ( XNP$INTERVAL IS NULL) THEN
55 x_error_message :='Missing Mandatory Attribute - INTERVAL' ;
56 RAISE e_MISSING_MANDATORY_DATA ;
57 END IF ;
58 XNP_XML_UTILS.write_element ( 'INTERVAL', XNP$INTERVAL ) ;
59 ELSE
60 xnp_xml_utils.write_element('INTERVAL', p_INTERVAL);
61 END IF;
62 XNP_XML_UTILS.end_segment ( 'T_DEF_JEOPARDY_TMR' ) ;
63 /* get the message body */
64 XNP_XML_UTILS.get_document ( l_xml_body ) ;
65 IF (l_xml_body IS NULL) THEN
66 XNP_XML_UTILS.write_element('T_DEF_JEOPARDY_TMR',l_xml_body );
67 XNP_XML_UTILS.get_document( l_xml_body ) ;
68 END IF;
69 /* initialize the XML header variable */
70 XNP_XML_UTILS.initialize_doc ( ) ;
71 /*construct the XML header */
72 /* retreive the next message ID */
73 XNP_MESSAGE.get_sequence ( l_msg_header.message_id ) ;
74 IF (p_reference_id IS NULL) THEN
75 l_msg_header.reference_id := l_msg_header.message_id ;
76 ELSE
77 l_msg_header.reference_id := p_reference_id ;
78 END IF ;
79 /* append header parameters to make header */
80 XNP_XML_UTILS.write_element ( 'MESSAGE_ID',l_msg_header.message_id ) ;
81 XNP_XML_UTILS.write_element ( 'REFERENCE_ID',l_msg_header.reference_id ) ;
82 l_msg_header.opp_reference_id := p_opp_reference_id ;
83 XNP_XML_UTILS.write_element ( 'OPP_REFERENCE_ID',l_msg_header.opp_reference_id ) ;
84 l_msg_header.message_code := 'T_DEF_JEOPARDY_TMR' ;
85 XNP_XML_UTILS.write_element ( 'MESSAGE_CODE',l_msg_header.message_code ) ;
86 l_msg_header.version := p_version ;
87 XNP_XML_UTILS.write_element ( 'VERSION',l_msg_header.version ) ;
88 l_msg_header.creation_date := SYSDATE ;
89 l_msg_header.recipient_name := p_recipient_list ;
90 XNP_XML_UTILS.write_element ( 'CREATION_DATE',l_msg_header.creation_date ) ;
91 l_msg_header.sender_name := p_sender_name ;
92 XNP_XML_UTILS.write_element ( 'SENDER_NAME',l_msg_header.sender_name ) ;
93 XNP_XML_UTILS.write_element ( 'RECIPIENT_NAME',l_msg_header.recipient_name ) ;
94 l_msg_header.direction_indr := 'E' ;
95 l_msg_header.order_id := p_order_id ;
96 l_msg_header.wi_instance_id := p_wi_instance_id ;
97 l_msg_header.fa_instance_id := p_fa_instance_id ;
98 /* retreieve the XML header */
99 XNP_XML_UTILS.get_document ( l_xml_header ) ;
100 /* append the XML headerto message */
101 XNP_XML_UTILS.initialize_doc ( ) ;
102 XNP_XML_UTILS.xml_decl ;
103 XNP_XML_UTILS.begin_segment ( 'MESSAGE') ;
104 XNP_XML_UTILS.write_element( 'HEADER', l_xml_header );
105 XNP_XML_UTILS.append ( l_xml_body ) ;
106 XNP_XML_UTILS.end_segment ( 'MESSAGE') ;
107 XNP_XML_UTILS.get_document( l_xml_doc ) ;
108 /* assign the header and msg text to output parameters */
109 x_msg_header := l_msg_header ;
110 x_msg_text := l_xml_doc ;
111 /* handle exceptions */
112 EXCEPTION
113 WHEN e_MISSING_MANDATORY_DATA THEN
114 x_error_code := XNP_ERRORS.G_MISSING_MANDATORY_DATA ;
115 WHEN OTHERS THEN
116 x_error_code := SQLCODE ;
117 x_error_message := 'T_DEF_JEOPARDY_TMR.create_msg()::' || SQLERRM ;
118 END ;
119 PROCEDURE PROCESS ( p_msg_header IN XNP_MESSAGE.MSG_HEADER_REC_TYPE,
120 p_msg_text IN VARCHAR2,
121 x_error_code OUT NOCOPY NUMBER,
122 x_error_message OUT NOCOPY VARCHAR2,
123 p_process_reference IN VARCHAR2 DEFAULT NULL ) IS
124 BEGIN
125 NULL ;
126 NULL;
127 END ;
128 PROCEDURE VALIDATE ( p_msg_header IN OUT NOCOPY XNP_MESSAGE.MSG_HEADER_REC_TYPE,
129 p_msg_text IN VARCHAR2,
130 x_error_code OUT NOCOPY NUMBER,
131 x_error_message OUT NOCOPY VARCHAR2 ) IS
132 BEGIN
133 NULL ;
134 NULL;
135 END ;
136 PROCEDURE DEFAULT_PROCESS ( p_msg_header IN XNP_MESSAGE.MSG_HEADER_REC_TYPE,
137 p_msg_text IN VARCHAR2,
138 x_error_code OUT NOCOPY NUMBER,
139 x_error_message OUT NOCOPY VARCHAR2 ) IS
140 BEGIN
141 NULL ;
142 XNP_DEF_JEOPARDY_LOGIC.NOTIFY_FMC(p_msg_header);
143 END ;
144 PROCEDURE FIRE ( x_timer_id OUT NOCOPY NUMBER,
145 x_timer_contents OUT NOCOPY VARCHAR2,
146 x_error_code OUT NOCOPY NUMBER,
147 x_error_message OUT NOCOPY VARCHAR2,
148 p_sender_name IN VARCHAR2 DEFAULT NULL,
149 p_recipient_list IN VARCHAR2 DEFAULT NULL,
150 p_version IN NUMBER DEFAULT 1,
151 p_reference_id IN VARCHAR2 DEFAULT NULL,
152 p_opp_reference_id IN VARCHAR2 DEFAULT NULL,
153 p_order_id IN NUMBER DEFAULT NULL,
154 p_wi_instance_id IN NUMBER DEFAULT NULL,
155 p_fa_instance_id IN NUMBER DEFAULT NULL )
156 IS
157 l_msg_header xnp_message.msg_header_rec_type ;
158 l_msg_text VARCHAR2(32767);
159
160 BEGIN
161 x_error_code := 0;
162 x_error_message := NULL;
163 CREATE_MSG (x_msg_header=>l_msg_header,
164 x_msg_text=>l_msg_text,
165 x_error_code=>x_error_code,
166 x_error_message=>x_error_message,
167 p_sender_name=>p_sender_name,
168 p_recipient_list=>p_recipient_list,
169 p_version=>p_version,
170 p_reference_id=>p_reference_id,
171 p_opp_reference_id=>p_reference_id,
172 p_order_id=>p_order_id,
173 p_wi_instance_id=>p_wi_instance_id,
174 p_fa_instance_id=>p_fa_instance_id );
175 IF (x_error_code = 0) THEN
176 xnp_timer.start_timer(l_msg_header,
177 l_msg_text,
178 x_error_code,
179 x_error_message );
180 x_timer_id := l_msg_header.message_id ;
181 x_timer_contents := l_msg_text;
182 END IF;
183 END ;
184
185 END XNP_T_DEF_JEOPARDY_TMR_U;