1 PACKAGE AMS_Import_XML_PVT AS
2 /*$Header: amsvmixs.pls 120.1 2005/08/12 18:39:18 appldev noship $*/
3
4 --
5 -- Start of comments.
6 --
7 -- NAME
8 -- AMS_Import_XML_PVT
9 --
10 -- PURPOSE
11 -- The package provides APIs for importing and manipulating xml data.
12 --
13 -- Procedures:
14 -- Is_Leaf_Node
15 -- Get_File_Type
16 -- Get_Root_Node
17 -- Get_First_Child_Node
18 -- Get_Next_Sibling_Node
19 -- Get_Parent_Node
20 -- Get_Children_Nodes
21 -- Filter_XML
22 -- Store_XML
23 --
24 -- NOTES
25 --
26 --
27 -- HISTORY
28 -- 04/02/2002 huili Created
29 -- 08/09/2002 huili Added overloaded "Get_Children_Nodes" which returns
30 -- table of all children records.
31 --
32 -- End of comments.
33 --
34 --
35 -- Start type definition
36 --
37 -- Type def for the xml element key
38 TYPE xml_element_key_set_type IS
39 TABLE OF NUMBER INDEX BY BINARY_INTEGER;
40
41 --Type def for the source mapping fields
42 TYPE xml_source_column_set_type IS
43 TABLE OF AMS_LIST_SRC_FIELDS.SOURCE_COLUMN_NAME%TYPE INDEX BY BINARY_INTEGER;
44
45 --Type def for the target mapping fields
46 TYPE xml_target_column_set_type IS
47 TABLE OF AMS_LIST_SRC_FIELDS.FIELD_COLUMN_NAME%TYPE INDEX BY BINARY_INTEGER;
48
49 TYPE xml_element_set_type IS
50 TABLE OF AMS_IMP_XML_ELEMENTS%ROWTYPE INDEX BY BINARY_INTEGER;
51
52 TYPE rc_type IS REF CURSOR RETURN AMS_IMP_XML_ELEMENTS%ROWTYPE;
53
54 -- Start of comments
55 -- API Name Store_XML_Util
56 -- Type Public
57 -- Pre-reqs None.
58 -- Function Takes the list import header id, filter and populate xml into the xml element
59 -- xml attribute tables.
60 -- Parameters
61 -- IN
62 -- p_import_list_header_id IN NUMBER,
63 -- p_ownerId IN NUMBER,
64 -- p_generateList_flag IN VARCHAR2,
65 -- p_list_name IN VARCHAR2,
66 -- p_import_flag IN VARCHAR2,
67 -- p_status_code IN VARCHAR2
68 -- OUT Retcode VARCHAR2
69 -- Errbuf VARCHAR2
70 --
71 -- Version Current version: 1.0
72 -- Previous version: 1.0
73 -- Initial version: 1.0
74 -- End of comments
75 PROCEDURE Store_XML_Util (
76 Errbuf OUT NOCOPY VARCHAR2,
77 Retcode OUT NOCOPY VARCHAR2,
78 p_import_list_header_id IN NUMBER,
79 p_ownerId IN NUMBER,
80 p_generateList_flag IN VARCHAR2,
81 p_list_name IN VARCHAR2,
82 p_import_flag IN VARCHAR2,
83 p_status_code IN VARCHAR2
84 );
85
86 -- Start of comments
87 -- API Name Is_Leaf_Node
88 -- Type Public
89 -- Pre-reqs None.
90 -- Function Determine whether the given element is leaf or not
91 -- Parameters
92 -- IN
93 -- p_imp_xml_element_id NUMBER Required
94 -- OUT
95 -- x_return_status VARCHAR2
96 -- x_msg_data VARCHAR2
97 --
98 -- Version Current version: 1.0
99 -- Previous version: 1.0
100 -- Initial version: 1.0
101 -- End of comments
102 FUNCTION Is_Leaf_Node (
103 p_imp_xml_element_id IN NUMBER,
104 x_return_status OUT NOCOPY VARCHAR2,
105 x_msg_data OUT NOCOPY VARCHAR2
106 ) RETURN BOOLEAN;
107
108
109 -- Start of comments
110 -- API Name Get_File_Type
111 -- Type Public
112 -- Pre-reqs None.
113 -- Function Retrieve the file type information (either CSV or XML), given the
114 -- "import_list_header_id".
115 -- Parameters
116 -- IN
117 -- p_import_list_header_id NUMBER Required
118 -- OUT x_file_type AMS_IMP_DOCUMENTS.FILE_TYPE%TYPE
119 -- x_return_status VARCHAR2
120 -- x_msg_data VARCHAR2
121 --
122 -- Version Current version: 1.0
123 -- Previous version: 1.0
124 -- Initial version: 1.0
125 -- End of comments
126 PROCEDURE Get_File_Type (
127 p_import_list_header_id IN NUMBER,
128 x_file_type OUT NOCOPY AMS_IMP_DOCUMENTS.FILE_TYPE%TYPE,
129 x_return_status OUT NOCOPY VARCHAR2,
130 x_msg_data OUT NOCOPY VARCHAR2
131 );
132
133 -- Start of comments
134 -- API Name Get_Root_Node
135 -- Type Public
136 -- Pre-reqs None.
137 -- Function Retrieve the information for the root node in the
138 -- "AMS_IMP_XML_ELEMENTS" table, given the
139 -- "import_list_header_id".
140 -- Parameters
141 -- IN
142 -- p_import_list_header_id NUMBER Required
143 -- OUT x_node_rec AMS_IMP_XML_ELEMENTS%ROWTYPE
144 -- x_return_status VARCHAR2
145 -- x_msg_data VARCHAR2
146 --
147 -- Version Current version: 1.0
148 -- Previous version: 1.0
149 -- Initial version: 1.0
150 -- End of comments
151 PROCEDURE Get_Root_Node (
152 p_import_list_header_id IN NUMBER,
153 x_node_rec OUT NOCOPY AMS_IMP_XML_ELEMENTS%ROWTYPE,
154 x_return_status OUT NOCOPY VARCHAR2,
155 x_msg_data OUT NOCOPY VARCHAR2
156 );
157
158 -- Start of comments
159 -- API Name Get_Parent_Node
160 -- Type Public
161 -- Pre-reqs None.
162 -- Function Retrieve the information for the parent node in the
163 -- "AMS_IMP_XML_ELEMENTS" table, given the node id
164 -- Parameters
165 -- IN
166 -- p_imp_xml_element_id NUMBER Required
167 -- OUT x_node_rec AMS_IMP_XML_ELEMENTS%ROWTYPE
168 -- x_return_status VARCHAR2
169 -- x_msg_data VARCHAR2
170 --
171 -- Version Current version: 1.0
172 -- Previous version: 1.0
173 -- Initial version: 1.0
174 -- End of comments
175 PROCEDURE Get_Parent_Node (
176 p_imp_xml_element_id IN NUMBER,
177 x_node_rec OUT NOCOPY AMS_IMP_XML_ELEMENTS%ROWTYPE,
178 x_return_status OUT NOCOPY VARCHAR2,
179 x_msg_data OUT NOCOPY VARCHAR2
180 );
181
182 -- Start of comments
183 -- API Name Get_First_Child_Node
184 -- Type Public
185 -- Pre-reqs None.
186 -- Function Retrieve the information for the first child node in the
187 -- "AMS_IMP_XML_ELEMENTS" table, given the node id
188 -- Parameters
189 -- IN
190 -- p_imp_xml_element_id NUMBER Required
191 -- OUT x_node_rec AMS_IMP_XML_ELEMENTS%ROWTYPE
192 -- x_return_status VARCHAR2
193 -- x_msg_data VARCHAR2
194 --
195 -- Version Current version: 1.0
196 -- Previous version: 1.0
197 -- Initial version: 1.0
198 -- End of comments
199 PROCEDURE Get_First_Child_Node (
200 p_imp_xml_element_id IN NUMBER,
201 x_node_rec OUT NOCOPY AMS_IMP_XML_ELEMENTS%ROWTYPE,
202 x_return_status OUT NOCOPY VARCHAR2,
203 x_msg_data OUT NOCOPY VARCHAR2
204 );
205
206 -- Start of comments
207 -- API Name Get_Next_Sibling_Node
208 -- Type Public
209 -- Pre-reqs None.
210 -- Function Retrieve the information for the next sibling node in the
211 -- "AMS_IMP_XML_ELEMENTS" table, given the node id
212 -- Parameters
213 -- IN
214 -- p_imp_xml_element_id NUMBER Required
215 -- OUT x_node_rec AMS_IMP_XML_ELEMENTS%ROWTYPE
216 -- x_return_status VARCHAR2
217 --
218 -- Version Current version: 1.0
219 -- Previous version: 1.0
220 -- Initial version: 1.0
221 -- End of comments
222 PROCEDURE Get_Next_Sibling_Node (
223 p_imp_xml_element_id IN NUMBER,
224 x_node_rec OUT NOCOPY AMS_IMP_XML_ELEMENTS%ROWTYPE,
225 x_return_status OUT NOCOPY VARCHAR2,
226 x_msg_data OUT NOCOPY VARCHAR2
227 );
228
229 -- Start of comments
230 -- API Name Get_Error_Info
231 -- Type Public
232 -- Pre-reqs None.
233 -- Function Retrieve the tag name and text data for an error node.
234 -- Version Current version: 1.0
235 -- Previous version: 1.0
236 -- Initial version: 1.0
237 -- End of comments
238 PROCEDURE Get_Error_Info (
239 p_imp_xml_element_id IN NUMBER,
240 x_column_name OUT NOCOPY VARCHAR2,
241 x_column_value OUT NOCOPY VARCHAR2,
242 x_return_status OUT NOCOPY VARCHAR2,
243 x_msg_data OUT NOCOPY VARCHAR2
244 );
245
246 -- Start of comments
247 -- API Name Get_Children_Nodes
248 -- Type Public
249 -- Pre-reqs None.
250 -- Function Retrieve the information for all child nodes in the
251 -- "AMS_IMP_XML_ELEMENTS" table, given the node id
252 -- Parameters
253 -- IN
254 -- p_imp_xml_element_id NUMBER Required
255 -- OUT x_child_ids xml_element_key_set_type
256 -- x_return_status VARCHAR2
257 -- x_msg_data VARCHAR2
258 --
259 -- Version Current version: 1.0
260 -- Previous version: 1.0
261 -- Initial version: 1.0
262 -- End of comments
263 PROCEDURE Get_Children_Nodes (
264 p_imp_xml_element_id IN NUMBER,
265 x_child_ids OUT NOCOPY xml_element_key_set_type,
266 x_return_status OUT NOCOPY VARCHAR2,
267 x_msg_data OUT NOCOPY VARCHAR2
268 );
269
270 -- Start of comments
271 -- API Name Get_Children_Nodes
272 -- Type Public
273 -- Pre-reqs None.
274 -- Function Retrieve the information for all child nodes in the
275 -- "AMS_IMP_XML_ELEMENTS" table, given the node id
276 -- Parameters
277 -- IN
278 -- p_imp_xml_element_id NUMBER Required
279 -- OUT x_child_set xml_element_key_set_type
280 -- x_return_status VARCHAR2
281 -- x_msg_data VARCHAR2
282 --
283 -- Version Current version: 1.0
284 -- Previous version: 1.0
285 -- Initial version: 1.0
286 -- End of comments
287 PROCEDURE Get_Children_Nodes (
288 p_imp_xml_element_id IN NUMBER,
289 x_child_set OUT NOCOPY xml_element_set_type,
290 x_return_status OUT NOCOPY VARCHAR2,
291 x_msg_data OUT NOCOPY VARCHAR2
292 );
293
294 -- Start of comments
295 -- API Name Get_Children_Nodes
296 -- Type Public
297 -- Pre-reqs None.
298 -- Function Retrieve the information for all child nodes in the
299 -- "AMS_IMP_XML_ELEMENTS" table, given the node id
300 -- Parameters
301 -- IN
302 -- p_imp_xml_element_id NUMBER Required
303 -- OUT x_rc_child_set rc_type
304 -- x_return_status VARCHAR2
305 -- x_msg_data VARCHAR2
306 --
307 -- Version Current version: 1.0
308 -- Previous version: 1.0
309 -- Initial version: 1.0
310 -- End of comments
311 PROCEDURE Get_Children_Nodes (
312 p_imp_xml_element_id IN NUMBER,
313 x_rc_child_set OUT NOCOPY rc_type,
314 x_return_status OUT NOCOPY VARCHAR2,
315 x_msg_data OUT NOCOPY VARCHAR2
316 );
317
318 -- Start of comments
319 -- API Name Filter_XML
320 -- Type Public
321 -- Pre-reqs None.
322 -- Function Filter out the leaf nodes of an xml doc if they are not in mapping
323 -- Parameters
324 -- IN
325 -- p_import_list_header_id NUMBER Required
326 -- OUT x_return_status VARCHAR2
327 -- x_msg_data VARCHAR2
328 --
329 -- Version Current version: 1.0
330 -- Previous version: 1.0
331 -- Initial version: 1.0
332 -- End of comments
333 PROCEDURE Filter_XML (
334 p_import_list_header_id IN NUMBER,
335 x_return_status OUT NOCOPY VARCHAR2,
336 x_msg_data OUT NOCOPY VARCHAR2,
337 x_result_xml IN OUT NOCOPY CLOB,
338 x_doc_id OUT NOCOPY NUMBER
339 );
340
341 -- Start of comments
342 -- API Name Store_XML
343 -- Type Public
344 -- Pre-reqs None.
345 -- Function Takes the list import header id, filter and populate xml into the xml element
346 -- xml attribute tables.
347 -- Parameters
348 -- IN
349 -- p_import_list_header_id IN NUMBER,
350 -- p_commit IN VARCHAR2 := FND_API.G_TRUE,
351 -- p_ownerId IN NUMBER,
352 -- p_generateList_flag IN VARCHAR2,
353 -- p_list_name IN VARCHAR2,
354 -- p_import_flag IN VARCHAR2,
355 -- p_status_code IN VARCHAR2
356 -- OUT x_return_status VARCHAR2
357 -- x_msg_data VARCHAR2
358 --
359 -- Version Current version: 1.0
360 -- Previous version: 1.0
361 -- Initial version: 1.0
362 -- End of comments
363 PROCEDURE Store_XML (
364 p_import_list_header_id IN NUMBER,
365 p_commit IN VARCHAR2 := FND_API.G_FALSE,
366 p_ownerId IN NUMBER,
367 p_generateList_flag IN VARCHAR2,
368 p_list_name IN VARCHAR2,
369 p_import_flag IN VARCHAR2,
370 p_status_code IN VARCHAR2,
371 x_return_status OUT NOCOPY VARCHAR2,
372 x_msg_data OUT NOCOPY VARCHAR2
373 );
374
375 END AMS_Import_XML_PVT;