DBA Data[Home] [Help]

PACKAGE: APPS.AMS_IMPORT_XML_PVT

Source


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;