1 PACKAGE JTF_IH_BULK AS
2 /* $Header: JTFIHBKS.pls 120.2 2005/12/13 04:23:02 nchouras noship $*/
3
4 -- data type to relate a media_identifier with a media_id
5 TYPE media_id_trkr_type IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
6
7 ---------------------------------------------------------------------
8 -- PROCEDURE
9 -- BULK_PROCESSOR_CONC
10 --
11 -- PURPOSE
12 -- Process bulk IH requests from the JTF_IH_BULK_Q.
13 -- This procedure is meant for use as a concurrent job.
14 --
15 -- PARAMETERS
16 -- errbuf OUT VARCHAR2 - standard parameters for a concurrent
17 -- retcode OUT VARCHAR2 - process procedure
18 -- NOTES
19 --
20 ---------------------------------------------------------------------
21 PROCEDURE BULK_PROCESSOR_CONC
22 (
23 errbuf OUT NOCOPY VARCHAR2,
24 retcode OUT NOCOPY VARCHAR2
25 );
26
27 ---------------------------------------------------------------------
28 -- FUNCTION
29 -- PROCESS_BULK_RECORD
30 --
31 -- PURPOSE
32 -- To process a single bulk request record from the AQ.
33 --
34 -- Description - Processes the input bulk interaction record. The optional
35 -- parameter allows processing to start at some offset besides the
36 -- beginning in the list of interactions.
37 --
38 -- PARAMETERS
39 -- p_bulk_writer_code IN VARCHAR2 bulk writer code
40 -- p_bulk_batch_type IN VARCHAR2 batch type
41 -- p_bulk_batch_id IN NUMBER batch id
42 -- p_bulk_interaction_request IN CLOB interaction request itself, xml doc
43 -- p_int_offset IN NUMBER optional offset value to not process all
44 --
45 -- Returns
46 -- FND_API.G_RET_STS_SUCCESS if the record processed without any errors.
47 -- FND_API.G_RET_STS_ERROR if any errors occur
48 --
49 -- NOTES
50 --
51 ---------------------------------------------------------------------
52 FUNCTION PROCESS_BULK_RECORD
53 (
54 p_bulk_writer_code IN VARCHAR2,
55 p_bulk_batch_type IN VARCHAR2,
56 p_bulk_batch_id IN NUMBER,
57 p_bulk_interaction_request IN CLOB,
58 p_int_offset IN NUMBER DEFAULT 0
59 ) RETURN VARCHAR2;
60
61 --
62 -- Utility function to handle media nodes for an interaction.
63 --
64 -- Parameters
65 --
66 -- med_nl - IN - dbms_xmldom.DomNodeList of media nodes
67 -- p_bulk_interaction_id - IN - self explanatory
68 -- p_bulk_writer_code - IN - self explanatory
69 -- p_bulk_batch_type - IN - self explanatory
70 -- p_bulk_batch_id - IN - self explanatory
71 -- p_user_id - IN - user id of the user submitting the request
72 -- x_med_id_tbl - OUT - this carries the media_identifier to media_id relation
73 -- x_ret_status - OUT - self explanatory
74 -- x_ret_msg - OUT - self explanatory
75 --
76 PROCEDURE PROCESS_MEDIA_ITEMS
77 (
78 med_nl IN dbms_xmldom.DomNodeList,
79 p_bulk_interaction_id IN NUMBER,
80 p_bulk_writer_code IN VARCHAR2,
81 p_bulk_batch_type IN VARCHAR2,
82 p_bulk_batch_id IN NUMBER,
83 p_user_id IN NUMBER,
84 x_med_id_tbl IN OUT NOCOPY media_id_trkr_type,
85 x_ret_status IN OUT NOCOPY VARCHAR2,
86 x_ret_msg IN OUT NOCOPY VARCHAR2
87 );
88
89 --
90 -- Utility function to handle media nodes for an interaction.
91 --
92 -- Parameters
93 --
94 -- act_nl - IN - dbms_xmldom.DomNodeList of act nodes
95 -- p_bulk_interaction_id - IN - self explanatory
96 -- p_bulk_writer_code - IN - self explanatory
97 -- p_bulk_batch_type - IN - self explanatory
98 -- p_bulk_batch_id - IN - self explanatory
99 -- med_id_tbl - IN - this carries the media_identifier to media_id relation
100 -- x_act_tbl - OUT - parsed activity records collection
101 -- x_ret_status - OUT - self explanatory
102 -- x_ret_msg - OUT - self explanatory
103 --
104 PROCEDURE GATHER_ACT_TBL
105 (
106 act_nl IN dbms_xmldom.DomNodeList,
107 p_bulk_interaction_id IN NUMBER,
108 p_bulk_writer_code IN VARCHAR2,
109 p_bulk_batch_type IN VARCHAR2,
110 p_bulk_batch_id IN NUMBER,
111 med_id_tbl IN media_id_trkr_type,
112 x_act_tbl IN OUT NOCOPY JTF_IH_PUB.ACTIVITY_TBL_TYPE,
113 x_ret_status IN OUT NOCOPY VARCHAR2,
114 x_ret_msg IN OUT NOCOPY VARCHAR2
115 );
116
117
118 --
119 -- Utility function to gather all interaction attributes from xml.
120 --
121 -- Parameters
122 --
123 -- int_elem - IN - dbms_xmldom.DomElement, with xml data
124 -- p_bulk_interaction_id - IN - self explanatory
125 -- p_bulk_writer_code - IN - self explanatory
126 -- p_bulk_batch_type - IN - self explanatory
127 -- p_bulk_batch_id - IN - self explanatory
128 -- int_rec - OUT - this is the return interaction record
129 -- x_ret_status - OUT - self explanatory
130 -- x_ret_msg - OUT - self explanatory
131 --
132 PROCEDURE GATHER_INT_ATTR
133 (
134 int_elem IN dbms_xmldom.DomElement,
135 p_bulk_interaction_id IN NUMBER,
136 p_bulk_writer_code IN VARCHAR2,
137 p_bulk_batch_type IN VARCHAR2,
138 p_bulk_batch_id IN NUMBER,
139 x_int_rec IN OUT NOCOPY JTF_IH_PUB.INTERACTION_REC_TYPE,
140 x_ret_status IN OUT NOCOPY VARCHAR2,
141 x_ret_msg IN OUT NOCOPY VARCHAR2
142 );
143
144 --
145 -- Utility function to gather all interaction attributes from xml.
146 --
147 -- Parameters
148 --
149 -- int_node - IN - dbms_xmldom.DomNode, with interaction xml data
150 -- p_bulk_writer_code - IN - self explanatory
151 -- p_bulk_batch_type - IN - self explanatory
152 -- p_bulk_batch_id - IN - self explanatory
153 -- p_bulk_interaction_id - IN - self explanatory
154 -- p_error_msg - IN - message describing what failed
155 -- p_ret_msg - IN - message describing underlying cause
156 --
157 FUNCTION LOG_BULK_ERROR
158 (
159 p_int_node IN dbms_xmldom.DOMNode,
160 p_bulk_writer_code IN VARCHAR2,
161 p_bulk_batch_type IN VARCHAR2,
162 p_bulk_batch_id IN NUMBER,
163 p_bulk_interaction_id IN NUMBER,
164 p_error_msg IN VARCHAR2,
165 p_ret_msg IN VARCHAR2
166 ) RETURN VARCHAR2;
167
168 --
169 -- Version 2 - takes IH_BULK_OBJ
170 -- Utility function to gather all interaction attributes from xml.
171 --
172 -- Parameters
173 --
174 -- p_bulk_writer_code - IN - self explanatory
175 -- p_bulk_batch_type - IN - self explanatory
176 -- p_bulk_batch_id - IN - self explanatory
177 -- p_bulk_interaction_id - IN - self explanatory
178 -- p_bulk_interaction_request - IN - self explanatory
179 -- p_error_msg - IN - message describing what failed
180 -- p_ret_msg - IN - message describing underlying cause
181 --
182 FUNCTION LOG_BULK_ERROR
183 (
184 p_bulk_writer_code IN VARCHAR2,
185 p_bulk_batch_type IN VARCHAR2,
186 p_bulk_batch_id IN NUMBER,
187 p_bulk_interaction_id IN NUMBER,
188 p_bulk_interaction_request IN CLOB,
189 p_error_msg IN VARCHAR2,
190 p_ret_msg IN VARCHAR2
191 ) RETURN VARCHAR2;
192
193 --
194 -- This procedure attempts to perform crash recovery
195 --
196 -- Parameters - none
197 --
198 PROCEDURE PERFORM_CRASH_RECOVERY;
199
200 --
201 -- Utility procedure to do logging work in case of an unknown exception.
202 --
203 -- Purpose - to replace common code in various routines
204 --
205 -- Parameters -
206 -- p_proc_name IN VARCHAR2 Procedure name where the exception happenned
207 --
208 PROCEDURE LOG_EXC_OTHERS (p_proc_name IN VARCHAR2);
209
210 END JTF_IH_BULK;