DBA Data[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;