51: v_all_psft_solutions_id_tbl t_ref;
52: v_all_psft_solutions_name_tbl t_name;
53: v_all_psft_solutions_desc_tbl t_name;
54: v_all_psft_solutions_prod_tbl t_name;
55: doc xmldom.DOMDocument;
56:
57: -------------------------------------------------------------------------------
58:
59: procedure load_all_solutions
73: and pub.deleted_flag = '0' and pub.object_id = prj.devl_project_id and object_type = 'PRJ'
74: and export_status = 'OK' and source_target_flag = 'T';
75: END load_all_solutions;
76:
77: procedure createExpressionsInfo(solutionId IN NUMBER, parent_node IN OUT NOCOPY xmldom.DOMNode)
78: AS
79: l_expressions_info_tbl t_name;
80: l_expr_type_tbl t_ref;
81: l_expr_sub_type_tbl t_ref;
78: AS
79: l_expressions_info_tbl t_name;
80: l_expr_type_tbl t_ref;
81: l_expr_sub_type_tbl t_ref;
82: item_node xmldom.DOMNode;
83: numeric_node xmldom.DOMNode;
84: item_elmt xmldom.DOMElement;
85: TP VARCHAR2(2000);
86: BEGIN
79: l_expressions_info_tbl t_name;
80: l_expr_type_tbl t_ref;
81: l_expr_sub_type_tbl t_ref;
82: item_node xmldom.DOMNode;
83: numeric_node xmldom.DOMNode;
84: item_elmt xmldom.DOMElement;
85: TP VARCHAR2(2000);
86: BEGIN
87: select name,
80: l_expr_type_tbl t_ref;
81: l_expr_sub_type_tbl t_ref;
82: item_node xmldom.DOMNode;
83: numeric_node xmldom.DOMNode;
84: item_elmt xmldom.DOMElement;
85: TP VARCHAR2(2000);
86: BEGIN
87: select name,
88: ps_node_type,
96: and devl_project_id = component_id
97: and devl_project_id = solutionId;
98:
99: IF (l_expressions_info_tbl.COUNT > 0) THEN
100: item_elmt := xmldom.createElement(doc, 'NUMERIC_VALUES');
101: numeric_node := xmldom.appendChild(parent_node, xmldom.makeNode(item_elmt));
102: FOR comp_ref IN l_expressions_info_tbl.FIRST ..l_expressions_info_tbl.LAST
103: LOOP
104: item_elmt := xmldom.createElement(doc, 'NUM');
97: and devl_project_id = solutionId;
98:
99: IF (l_expressions_info_tbl.COUNT > 0) THEN
100: item_elmt := xmldom.createElement(doc, 'NUMERIC_VALUES');
101: numeric_node := xmldom.appendChild(parent_node, xmldom.makeNode(item_elmt));
102: FOR comp_ref IN l_expressions_info_tbl.FIRST ..l_expressions_info_tbl.LAST
103: LOOP
104: item_elmt := xmldom.createElement(doc, 'NUM');
105: -- setAttributes
100: item_elmt := xmldom.createElement(doc, 'NUMERIC_VALUES');
101: numeric_node := xmldom.appendChild(parent_node, xmldom.makeNode(item_elmt));
102: FOR comp_ref IN l_expressions_info_tbl.FIRST ..l_expressions_info_tbl.LAST
103: LOOP
104: item_elmt := xmldom.createElement(doc, 'NUM');
105: -- setAttributes
106: xmldom.setAttribute(item_elmt, 'NM', l_expressions_info_tbl(comp_ref) );
107: if ( l_expr_sub_type_tbl(comp_ref) = 1 ) then
108: TP := 'INTEGER';
102: FOR comp_ref IN l_expressions_info_tbl.FIRST ..l_expressions_info_tbl.LAST
103: LOOP
104: item_elmt := xmldom.createElement(doc, 'NUM');
105: -- setAttributes
106: xmldom.setAttribute(item_elmt, 'NM', l_expressions_info_tbl(comp_ref) );
107: if ( l_expr_sub_type_tbl(comp_ref) = 1 ) then
108: TP := 'INTEGER';
109: elsif ( l_expr_sub_type_tbl(comp_ref) = 2 ) then
110: TP := 'DOUBLE';
110: TP := 'DOUBLE';
111: elsif (l_expr_sub_type_tbl(comp_ref) = 3 or l_expr_type_tbl(comp_ref) = 272 or l_expr_type_tbl(comp_ref) = 273) then
112: TP := 'STRING';
113: end if;
114: xmldom.setAttribute(item_elmt, 'TP', TP );
115: item_node := xmldom.appendChild(numeric_node, xmldom.makeNode(item_elmt));
116: END LOOP;
117: END IF;
118: END createExpressionsInfo;
111: elsif (l_expr_sub_type_tbl(comp_ref) = 3 or l_expr_type_tbl(comp_ref) = 272 or l_expr_type_tbl(comp_ref) = 273) then
112: TP := 'STRING';
113: end if;
114: xmldom.setAttribute(item_elmt, 'TP', TP );
115: item_node := xmldom.appendChild(numeric_node, xmldom.makeNode(item_elmt));
116: END LOOP;
117: END IF;
118: END createExpressionsInfo;
119:
119:
120: procedure get_solutions_details(solutionsXML OUT NOCOPY CLOB, x_run_id IN OUT NOCOPY NUMBER, x_pb_status IN OUT NOCOPY VARCHAR2)
121: AS
122: -- Nodes
123: main_node xmldom.DOMNode;
124: root_node xmldom.DOMNode;
125: item_node xmldom.DOMNode;
126: text_node xmldom.DOMNode;
127: solutionInfo_node xmldom.DOMNode;
120: procedure get_solutions_details(solutionsXML OUT NOCOPY CLOB, x_run_id IN OUT NOCOPY NUMBER, x_pb_status IN OUT NOCOPY VARCHAR2)
121: AS
122: -- Nodes
123: main_node xmldom.DOMNode;
124: root_node xmldom.DOMNode;
125: item_node xmldom.DOMNode;
126: text_node xmldom.DOMNode;
127: solutionInfo_node xmldom.DOMNode;
128:
121: AS
122: -- Nodes
123: main_node xmldom.DOMNode;
124: root_node xmldom.DOMNode;
125: item_node xmldom.DOMNode;
126: text_node xmldom.DOMNode;
127: solutionInfo_node xmldom.DOMNode;
128:
129: --elements
122: -- Nodes
123: main_node xmldom.DOMNode;
124: root_node xmldom.DOMNode;
125: item_node xmldom.DOMNode;
126: text_node xmldom.DOMNode;
127: solutionInfo_node xmldom.DOMNode;
128:
129: --elements
130: root_elmt xmldom.DOMElement;
123: main_node xmldom.DOMNode;
124: root_node xmldom.DOMNode;
125: item_node xmldom.DOMNode;
126: text_node xmldom.DOMNode;
127: solutionInfo_node xmldom.DOMNode;
128:
129: --elements
130: root_elmt xmldom.DOMElement;
131: item_elmt xmldom.DOMElement;
126: text_node xmldom.DOMNode;
127: solutionInfo_node xmldom.DOMNode;
128:
129: --elements
130: root_elmt xmldom.DOMElement;
131: item_elmt xmldom.DOMElement;
132:
133: item_text xmldom.DOMText;
134: l_lob CLOB;
127: solutionInfo_node xmldom.DOMNode;
128:
129: --elements
130: root_elmt xmldom.DOMElement;
131: item_elmt xmldom.DOMElement;
132:
133: item_text xmldom.DOMText;
134: l_lob CLOB;
135:
129: --elements
130: root_elmt xmldom.DOMElement;
131: item_elmt xmldom.DOMElement;
132:
133: item_text xmldom.DOMText;
134: l_lob CLOB;
135:
136: solutionCount NUMBER;
137: BEGIN
143: solutionCount := v_all_psft_solutions_id_tbl.count;
144: x_run_id := 1;
145: x_pb_status := 'SUCCESS';
146:
147: doc := xmldom.newDOMDocument();
148: main_node := xmldom.makeNode(doc);
149: -- create root element (SolutionList)
150: root_elmt := xmldom.createElement(doc, 'SolutionList');
151: -- set element attributes (solutions=solutionCount)
144: x_run_id := 1;
145: x_pb_status := 'SUCCESS';
146:
147: doc := xmldom.newDOMDocument();
148: main_node := xmldom.makeNode(doc);
149: -- create root element (SolutionList)
150: root_elmt := xmldom.createElement(doc, 'SolutionList');
151: -- set element attributes (solutions=solutionCount)
152: xmldom.setAttribute(root_elmt, 'solutions', solutionCount );
146:
147: doc := xmldom.newDOMDocument();
148: main_node := xmldom.makeNode(doc);
149: -- create root element (SolutionList)
150: root_elmt := xmldom.createElement(doc, 'SolutionList');
151: -- set element attributes (solutions=solutionCount)
152: xmldom.setAttribute(root_elmt, 'solutions', solutionCount );
153: -- set top element on the document
154: root_node := xmldom.appendChild(main_node, xmldom.makeNode(root_elmt));
148: main_node := xmldom.makeNode(doc);
149: -- create root element (SolutionList)
150: root_elmt := xmldom.createElement(doc, 'SolutionList');
151: -- set element attributes (solutions=solutionCount)
152: xmldom.setAttribute(root_elmt, 'solutions', solutionCount );
153: -- set top element on the document
154: root_node := xmldom.appendChild(main_node, xmldom.makeNode(root_elmt));
155:
156: IF solutionCount > 0 THEN
150: root_elmt := xmldom.createElement(doc, 'SolutionList');
151: -- set element attributes (solutions=solutionCount)
152: xmldom.setAttribute(root_elmt, 'solutions', solutionCount );
153: -- set top element on the document
154: root_node := xmldom.appendChild(main_node, xmldom.makeNode(root_elmt));
155:
156: IF solutionCount > 0 THEN
157:
158: FOR s IN v_all_psft_solutions_id_tbl.FIRST .. v_all_psft_solutions_id_tbl.LAST
157:
158: FOR s IN v_all_psft_solutions_id_tbl.FIRST .. v_all_psft_solutions_id_tbl.LAST
159: LOOP
160: -- create solutionIfo element
161: item_elmt := xmldom.createElement(doc, 'SolutionInfo');
162: -- setAttributes
163: xmldom.setAttribute(item_elmt, 'name', v_all_psft_solutions_prod_tbl(s) );
164: xmldom.setAttribute(item_elmt, 'version', '' );
165: xmldom.setAttribute(item_elmt, 'compound', '' );
159: LOOP
160: -- create solutionIfo element
161: item_elmt := xmldom.createElement(doc, 'SolutionInfo');
162: -- setAttributes
163: xmldom.setAttribute(item_elmt, 'name', v_all_psft_solutions_prod_tbl(s) );
164: xmldom.setAttribute(item_elmt, 'version', '' );
165: xmldom.setAttribute(item_elmt, 'compound', '' );
166: xmldom.setAttribute(item_elmt, 'internal', 'false' );
167: xmldom.setAttribute(item_elmt, 'allNew', 'true' );
160: -- create solutionIfo element
161: item_elmt := xmldom.createElement(doc, 'SolutionInfo');
162: -- setAttributes
163: xmldom.setAttribute(item_elmt, 'name', v_all_psft_solutions_prod_tbl(s) );
164: xmldom.setAttribute(item_elmt, 'version', '' );
165: xmldom.setAttribute(item_elmt, 'compound', '' );
166: xmldom.setAttribute(item_elmt, 'internal', 'false' );
167: xmldom.setAttribute(item_elmt, 'allNew', 'true' );
168: solutionInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
161: item_elmt := xmldom.createElement(doc, 'SolutionInfo');
162: -- setAttributes
163: xmldom.setAttribute(item_elmt, 'name', v_all_psft_solutions_prod_tbl(s) );
164: xmldom.setAttribute(item_elmt, 'version', '' );
165: xmldom.setAttribute(item_elmt, 'compound', '' );
166: xmldom.setAttribute(item_elmt, 'internal', 'false' );
167: xmldom.setAttribute(item_elmt, 'allNew', 'true' );
168: solutionInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
169:
162: -- setAttributes
163: xmldom.setAttribute(item_elmt, 'name', v_all_psft_solutions_prod_tbl(s) );
164: xmldom.setAttribute(item_elmt, 'version', '' );
165: xmldom.setAttribute(item_elmt, 'compound', '' );
166: xmldom.setAttribute(item_elmt, 'internal', 'false' );
167: xmldom.setAttribute(item_elmt, 'allNew', 'true' );
168: solutionInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
169:
170: -- create description element
163: xmldom.setAttribute(item_elmt, 'name', v_all_psft_solutions_prod_tbl(s) );
164: xmldom.setAttribute(item_elmt, 'version', '' );
165: xmldom.setAttribute(item_elmt, 'compound', '' );
166: xmldom.setAttribute(item_elmt, 'internal', 'false' );
167: xmldom.setAttribute(item_elmt, 'allNew', 'true' );
168: solutionInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
169:
170: -- create description element
171: item_elmt := xmldom.createElement(doc, 'Description');
164: xmldom.setAttribute(item_elmt, 'version', '' );
165: xmldom.setAttribute(item_elmt, 'compound', '' );
166: xmldom.setAttribute(item_elmt, 'internal', 'false' );
167: xmldom.setAttribute(item_elmt, 'allNew', 'true' );
168: solutionInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
169:
170: -- create description element
171: item_elmt := xmldom.createElement(doc, 'Description');
172: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
167: xmldom.setAttribute(item_elmt, 'allNew', 'true' );
168: solutionInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
169:
170: -- create description element
171: item_elmt := xmldom.createElement(doc, 'Description');
172: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
173: item_text := xmldom.createTextNode(doc, v_all_psft_solutions_desc_tbl(s));
174: text_node := xmldom.appendChild(item_node, xmldom.makeNode(item_text));
175:
168: solutionInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
169:
170: -- create description element
171: item_elmt := xmldom.createElement(doc, 'Description');
172: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
173: item_text := xmldom.createTextNode(doc, v_all_psft_solutions_desc_tbl(s));
174: text_node := xmldom.appendChild(item_node, xmldom.makeNode(item_text));
175:
176: -- create solutionUI element
169:
170: -- create description element
171: item_elmt := xmldom.createElement(doc, 'Description');
172: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
173: item_text := xmldom.createTextNode(doc, v_all_psft_solutions_desc_tbl(s));
174: text_node := xmldom.appendChild(item_node, xmldom.makeNode(item_text));
175:
176: -- create solutionUI element
177: item_elmt := xmldom.createElement(doc, 'solutionUI');
170: -- create description element
171: item_elmt := xmldom.createElement(doc, 'Description');
172: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
173: item_text := xmldom.createTextNode(doc, v_all_psft_solutions_desc_tbl(s));
174: text_node := xmldom.appendChild(item_node, xmldom.makeNode(item_text));
175:
176: -- create solutionUI element
177: item_elmt := xmldom.createElement(doc, 'solutionUI');
178: xmldom.setAttribute(item_elmt, 'root', '');
173: item_text := xmldom.createTextNode(doc, v_all_psft_solutions_desc_tbl(s));
174: text_node := xmldom.appendChild(item_node, xmldom.makeNode(item_text));
175:
176: -- create solutionUI element
177: item_elmt := xmldom.createElement(doc, 'solutionUI');
178: xmldom.setAttribute(item_elmt, 'root', '');
179: xmldom.setAttribute(item_elmt, 'localeLanguage', '' );
180: xmldom.setAttribute(item_elmt, 'localeCountry', '' );
181: xmldom.setAttribute(item_elmt, 'pageStart', '/OA_HTML/CfgOCI.jsp' );
174: text_node := xmldom.appendChild(item_node, xmldom.makeNode(item_text));
175:
176: -- create solutionUI element
177: item_elmt := xmldom.createElement(doc, 'solutionUI');
178: xmldom.setAttribute(item_elmt, 'root', '');
179: xmldom.setAttribute(item_elmt, 'localeLanguage', '' );
180: xmldom.setAttribute(item_elmt, 'localeCountry', '' );
181: xmldom.setAttribute(item_elmt, 'pageStart', '/OA_HTML/CfgOCI.jsp' );
182: xmldom.setAttribute(item_elmt, 'path', '' );
175:
176: -- create solutionUI element
177: item_elmt := xmldom.createElement(doc, 'solutionUI');
178: xmldom.setAttribute(item_elmt, 'root', '');
179: xmldom.setAttribute(item_elmt, 'localeLanguage', '' );
180: xmldom.setAttribute(item_elmt, 'localeCountry', '' );
181: xmldom.setAttribute(item_elmt, 'pageStart', '/OA_HTML/CfgOCI.jsp' );
182: xmldom.setAttribute(item_elmt, 'path', '' );
183: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
176: -- create solutionUI element
177: item_elmt := xmldom.createElement(doc, 'solutionUI');
178: xmldom.setAttribute(item_elmt, 'root', '');
179: xmldom.setAttribute(item_elmt, 'localeLanguage', '' );
180: xmldom.setAttribute(item_elmt, 'localeCountry', '' );
181: xmldom.setAttribute(item_elmt, 'pageStart', '/OA_HTML/CfgOCI.jsp' );
182: xmldom.setAttribute(item_elmt, 'path', '' );
183: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
184:
177: item_elmt := xmldom.createElement(doc, 'solutionUI');
178: xmldom.setAttribute(item_elmt, 'root', '');
179: xmldom.setAttribute(item_elmt, 'localeLanguage', '' );
180: xmldom.setAttribute(item_elmt, 'localeCountry', '' );
181: xmldom.setAttribute(item_elmt, 'pageStart', '/OA_HTML/CfgOCI.jsp' );
182: xmldom.setAttribute(item_elmt, 'path', '' );
183: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
184:
185: -- create ComponentInfo element
178: xmldom.setAttribute(item_elmt, 'root', '');
179: xmldom.setAttribute(item_elmt, 'localeLanguage', '' );
180: xmldom.setAttribute(item_elmt, 'localeCountry', '' );
181: xmldom.setAttribute(item_elmt, 'pageStart', '/OA_HTML/CfgOCI.jsp' );
182: xmldom.setAttribute(item_elmt, 'path', '' );
183: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
184:
185: -- create ComponentInfo element
186: item_elmt := xmldom.createElement(doc, 'ComponentInfo');
179: xmldom.setAttribute(item_elmt, 'localeLanguage', '' );
180: xmldom.setAttribute(item_elmt, 'localeCountry', '' );
181: xmldom.setAttribute(item_elmt, 'pageStart', '/OA_HTML/CfgOCI.jsp' );
182: xmldom.setAttribute(item_elmt, 'path', '' );
183: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
184:
185: -- create ComponentInfo element
186: item_elmt := xmldom.createElement(doc, 'ComponentInfo');
187: -- setAttributes
182: xmldom.setAttribute(item_elmt, 'path', '' );
183: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
184:
185: -- create ComponentInfo element
186: item_elmt := xmldom.createElement(doc, 'ComponentInfo');
187: -- setAttributes
188: xmldom.setAttribute(item_elmt, 'modelName', v_all_psft_solutions_name_tbl(s) );
189: xmldom.setAttribute(item_elmt, 'modelVersion', '' );
190: xmldom.setAttribute(item_elmt, 'restorePolicy', '' );
184:
185: -- create ComponentInfo element
186: item_elmt := xmldom.createElement(doc, 'ComponentInfo');
187: -- setAttributes
188: xmldom.setAttribute(item_elmt, 'modelName', v_all_psft_solutions_name_tbl(s) );
189: xmldom.setAttribute(item_elmt, 'modelVersion', '' );
190: xmldom.setAttribute(item_elmt, 'restorePolicy', '' );
191: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
192:
185: -- create ComponentInfo element
186: item_elmt := xmldom.createElement(doc, 'ComponentInfo');
187: -- setAttributes
188: xmldom.setAttribute(item_elmt, 'modelName', v_all_psft_solutions_name_tbl(s) );
189: xmldom.setAttribute(item_elmt, 'modelVersion', '' );
190: xmldom.setAttribute(item_elmt, 'restorePolicy', '' );
191: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
192:
193: -- createReferenceTreeStructure
186: item_elmt := xmldom.createElement(doc, 'ComponentInfo');
187: -- setAttributes
188: xmldom.setAttribute(item_elmt, 'modelName', v_all_psft_solutions_name_tbl(s) );
189: xmldom.setAttribute(item_elmt, 'modelVersion', '' );
190: xmldom.setAttribute(item_elmt, 'restorePolicy', '' );
191: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
192:
193: -- createReferenceTreeStructure
194: --createReferenceTreeStructure(v_all_psft_solutions_id_tbl(s), solutionInfo_node);
187: -- setAttributes
188: xmldom.setAttribute(item_elmt, 'modelName', v_all_psft_solutions_name_tbl(s) );
189: xmldom.setAttribute(item_elmt, 'modelVersion', '' );
190: xmldom.setAttribute(item_elmt, 'restorePolicy', '' );
191: item_node := xmldom.appendChild(solutionInfo_node, xmldom.makeNode(item_elmt));
192:
193: -- createReferenceTreeStructure
194: --createReferenceTreeStructure(v_all_psft_solutions_id_tbl(s), solutionInfo_node);
195: END LOOP;
197:
198: -- create output parameter
199: SYS.DBMS_LOB.createtemporary(l_lob, TRUE, DBMS_LOB.SESSION);
200: SYS.DBMS_LOB.OPEN(l_lob, DBMS_LOB.lob_readwrite);
201: xmldom.writetoclob(doc, l_lob);
202: solutionsXML := l_lob;
203: SYS.DBMS_LOB.CLOSE(l_lob);
204: SYS.DBMS_LOB.freetemporary(l_lob);
205: xmldom.freeDocument(doc);
201: xmldom.writetoclob(doc, l_lob);
202: solutionsXML := l_lob;
203: SYS.DBMS_LOB.CLOSE(l_lob);
204: SYS.DBMS_LOB.freetemporary(l_lob);
205: xmldom.freeDocument(doc);
206: EXCEPTION
207: WHEN OTHERS THEN
208: x_run_id := 0;
209: x_pb_status := 'FAILED';
212:
213: procedure get_models_details(modelsXML OUT NOCOPY CLOB, x_run_id IN OUT NOCOPY NUMBER, x_pb_status IN OUT NOCOPY VARCHAR2)
214: AS
215: -- define arrays here to collect
216: main_node xmldom.DOMNode;
217: root_node xmldom.DOMNode;
218: item_node xmldom.DOMNode;
219: text_node xmldom.DOMNode;
220: modelInfo_node xmldom.DOMNode;
213: procedure get_models_details(modelsXML OUT NOCOPY CLOB, x_run_id IN OUT NOCOPY NUMBER, x_pb_status IN OUT NOCOPY VARCHAR2)
214: AS
215: -- define arrays here to collect
216: main_node xmldom.DOMNode;
217: root_node xmldom.DOMNode;
218: item_node xmldom.DOMNode;
219: text_node xmldom.DOMNode;
220: modelInfo_node xmldom.DOMNode;
221:
214: AS
215: -- define arrays here to collect
216: main_node xmldom.DOMNode;
217: root_node xmldom.DOMNode;
218: item_node xmldom.DOMNode;
219: text_node xmldom.DOMNode;
220: modelInfo_node xmldom.DOMNode;
221:
222: --elements
215: -- define arrays here to collect
216: main_node xmldom.DOMNode;
217: root_node xmldom.DOMNode;
218: item_node xmldom.DOMNode;
219: text_node xmldom.DOMNode;
220: modelInfo_node xmldom.DOMNode;
221:
222: --elements
223: root_elmt xmldom.DOMElement;
216: main_node xmldom.DOMNode;
217: root_node xmldom.DOMNode;
218: item_node xmldom.DOMNode;
219: text_node xmldom.DOMNode;
220: modelInfo_node xmldom.DOMNode;
221:
222: --elements
223: root_elmt xmldom.DOMElement;
224: item_elmt xmldom.DOMElement;
219: text_node xmldom.DOMNode;
220: modelInfo_node xmldom.DOMNode;
221:
222: --elements
223: root_elmt xmldom.DOMElement;
224: item_elmt xmldom.DOMElement;
225:
226: item_text xmldom.DOMText;
227: l_lob CLOB;
220: modelInfo_node xmldom.DOMNode;
221:
222: --elements
223: root_elmt xmldom.DOMElement;
224: item_elmt xmldom.DOMElement;
225:
226: item_text xmldom.DOMText;
227: l_lob CLOB;
228:
222: --elements
223: root_elmt xmldom.DOMElement;
224: item_elmt xmldom.DOMElement;
225:
226: item_text xmldom.DOMText;
227: l_lob CLOB;
228:
229: solutionCount NUMBER;
230: BEGIN
235: load_all_solutions;
236: solutionCount := v_all_psft_solutions_id_tbl.count;
237: x_run_id := 1;
238: x_pb_status := 'SUCCESS';
239: doc := xmldom.newDOMDocument();
240: main_node := xmldom.makeNode(doc);
241: -- create root element (ModelList)
242: root_elmt := xmldom.createElement(doc, 'ModelList');
243: -- set element attributes (solutions=solutionCount)
236: solutionCount := v_all_psft_solutions_id_tbl.count;
237: x_run_id := 1;
238: x_pb_status := 'SUCCESS';
239: doc := xmldom.newDOMDocument();
240: main_node := xmldom.makeNode(doc);
241: -- create root element (ModelList)
242: root_elmt := xmldom.createElement(doc, 'ModelList');
243: -- set element attributes (solutions=solutionCount)
244: xmldom.setAttribute(root_elmt, 'models', solutionCount );
238: x_pb_status := 'SUCCESS';
239: doc := xmldom.newDOMDocument();
240: main_node := xmldom.makeNode(doc);
241: -- create root element (ModelList)
242: root_elmt := xmldom.createElement(doc, 'ModelList');
243: -- set element attributes (solutions=solutionCount)
244: xmldom.setAttribute(root_elmt, 'models', solutionCount );
245: -- set top element on the document
246: root_node := xmldom.appendChild(main_node, xmldom.makeNode(root_elmt));
240: main_node := xmldom.makeNode(doc);
241: -- create root element (ModelList)
242: root_elmt := xmldom.createElement(doc, 'ModelList');
243: -- set element attributes (solutions=solutionCount)
244: xmldom.setAttribute(root_elmt, 'models', solutionCount );
245: -- set top element on the document
246: root_node := xmldom.appendChild(main_node, xmldom.makeNode(root_elmt));
247:
248: IF solutionCount > 0 THEN
242: root_elmt := xmldom.createElement(doc, 'ModelList');
243: -- set element attributes (solutions=solutionCount)
244: xmldom.setAttribute(root_elmt, 'models', solutionCount );
245: -- set top element on the document
246: root_node := xmldom.appendChild(main_node, xmldom.makeNode(root_elmt));
247:
248: IF solutionCount > 0 THEN
249:
250: FOR s IN v_all_psft_solutions_id_tbl.FIRST .. v_all_psft_solutions_id_tbl.LAST
249:
250: FOR s IN v_all_psft_solutions_id_tbl.FIRST .. v_all_psft_solutions_id_tbl.LAST
251: LOOP
252: -- create solutionIfo element
253: item_elmt := xmldom.createElement(doc, 'ModelInfo');
254: -- setAttributes
255: xmldom.setAttribute(item_elmt, 'name', v_all_psft_solutions_name_tbl(s) );
256: xmldom.setAttribute(item_elmt, 'version', '' );
257: modelInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
251: LOOP
252: -- create solutionIfo element
253: item_elmt := xmldom.createElement(doc, 'ModelInfo');
254: -- setAttributes
255: xmldom.setAttribute(item_elmt, 'name', v_all_psft_solutions_name_tbl(s) );
256: xmldom.setAttribute(item_elmt, 'version', '' );
257: modelInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
258:
259: -- create DECISION_POINTS element
252: -- create solutionIfo element
253: item_elmt := xmldom.createElement(doc, 'ModelInfo');
254: -- setAttributes
255: xmldom.setAttribute(item_elmt, 'name', v_all_psft_solutions_name_tbl(s) );
256: xmldom.setAttribute(item_elmt, 'version', '' );
257: modelInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
258:
259: -- create DECISION_POINTS element
260: item_elmt := xmldom.createElement(doc, 'DECISION_POINTS');
253: item_elmt := xmldom.createElement(doc, 'ModelInfo');
254: -- setAttributes
255: xmldom.setAttribute(item_elmt, 'name', v_all_psft_solutions_name_tbl(s) );
256: xmldom.setAttribute(item_elmt, 'version', '' );
257: modelInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
258:
259: -- create DECISION_POINTS element
260: item_elmt := xmldom.createElement(doc, 'DECISION_POINTS');
261: item_node := xmldom.appendChild(modelInfo_node, xmldom.makeNode(item_elmt));
256: xmldom.setAttribute(item_elmt, 'version', '' );
257: modelInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
258:
259: -- create DECISION_POINTS element
260: item_elmt := xmldom.createElement(doc, 'DECISION_POINTS');
261: item_node := xmldom.appendChild(modelInfo_node, xmldom.makeNode(item_elmt));
262:
263: createExpressionsInfo(v_all_psft_solutions_id_tbl(s),modelInfo_node);
264:
257: modelInfo_node := xmldom.appendChild(root_node, xmldom.makeNode(item_elmt));
258:
259: -- create DECISION_POINTS element
260: item_elmt := xmldom.createElement(doc, 'DECISION_POINTS');
261: item_node := xmldom.appendChild(modelInfo_node, xmldom.makeNode(item_elmt));
262:
263: createExpressionsInfo(v_all_psft_solutions_id_tbl(s),modelInfo_node);
264:
265: -- create EXTERN_VARS element
262:
263: createExpressionsInfo(v_all_psft_solutions_id_tbl(s),modelInfo_node);
264:
265: -- create EXTERN_VARS element
266: item_elmt := xmldom.createElement(doc, 'EXTERN_VARS');
267: item_node := xmldom.appendChild(modelInfo_node, xmldom.makeNode(item_elmt));
268: END LOOP;
269: END IF;
270:
263: createExpressionsInfo(v_all_psft_solutions_id_tbl(s),modelInfo_node);
264:
265: -- create EXTERN_VARS element
266: item_elmt := xmldom.createElement(doc, 'EXTERN_VARS');
267: item_node := xmldom.appendChild(modelInfo_node, xmldom.makeNode(item_elmt));
268: END LOOP;
269: END IF;
270:
271: -- create output parameter
270:
271: -- create output parameter
272: SYS.DBMS_LOB.createtemporary(l_lob, TRUE, DBMS_LOB.SESSION);
273: SYS.DBMS_LOB.OPEN(l_lob, DBMS_LOB.lob_readwrite);
274: xmldom.writetoclob(doc, l_lob);
275: modelsXML := l_lob;
276: SYS.DBMS_LOB.CLOSE(l_lob);
277: SYS.DBMS_LOB.freetemporary(l_lob);
278: xmldom.freeDocument(doc);
274: xmldom.writetoclob(doc, l_lob);
275: modelsXML := l_lob;
276: SYS.DBMS_LOB.CLOSE(l_lob);
277: SYS.DBMS_LOB.freetemporary(l_lob);
278: xmldom.freeDocument(doc);
279: EXCEPTION
280: WHEN OTHERS THEN
281: x_run_id := 0;
282: x_pb_status := 'FAILED';
352:
353: TYPE chg_rec_type IS RECORD (old_val cz_config_items.item_val%TYPE, new_val cz_config_items.item_val%TYPE);
354: TYPE chg_tbl_type IS TABLE OF chg_rec_type INDEX BY BINARY_INTEGER;
355:
356: TYPE domnode_tbl_type IS TABLE OF XMLDOM.DOMNode INDEX BY VARCHAR2(15);-- Bug 6892148;
357:
358: l_delta_choice_Node XMLDOM.DOMNode;
359:
360: l_ndebug INTEGER;
354: TYPE chg_tbl_type IS TABLE OF chg_rec_type INDEX BY BINARY_INTEGER;
355:
356: TYPE domnode_tbl_type IS TABLE OF XMLDOM.DOMNode INDEX BY VARCHAR2(15);-- Bug 6892148;
357:
358: l_delta_choice_Node XMLDOM.DOMNode;
359:
360: l_ndebug INTEGER;
361: l_log_stmt BOOLEAN;
362: l_msg VARCHAR2(2000);
405: l_domnode_map domnode_tbl_type;
406:
407: l_init_xml_str VARCHAR2(2000);
408: l_typeAttrVal VARCHAR2(10);
409: l_doc XMLDOM.DOMDocument;
410: l_docelm XMLDOM.DOMElement;
411: l_sections XMLDOM.DOMNodeList;
412: l_templateNode XMLDOM.DOMNode;
413: l_tmplNodes XMLDOM.DOMNodeList;
406:
407: l_init_xml_str VARCHAR2(2000);
408: l_typeAttrVal VARCHAR2(10);
409: l_doc XMLDOM.DOMDocument;
410: l_docelm XMLDOM.DOMElement;
411: l_sections XMLDOM.DOMNodeList;
412: l_templateNode XMLDOM.DOMNode;
413: l_tmplNodes XMLDOM.DOMNodeList;
414: l_sectionMainNode XMLDOM.DOMNode;
407: l_init_xml_str VARCHAR2(2000);
408: l_typeAttrVal VARCHAR2(10);
409: l_doc XMLDOM.DOMDocument;
410: l_docelm XMLDOM.DOMElement;
411: l_sections XMLDOM.DOMNodeList;
412: l_templateNode XMLDOM.DOMNode;
413: l_tmplNodes XMLDOM.DOMNodeList;
414: l_sectionMainNode XMLDOM.DOMNode;
415: l_componentsNode XMLDOM.DOMNode;
408: l_typeAttrVal VARCHAR2(10);
409: l_doc XMLDOM.DOMDocument;
410: l_docelm XMLDOM.DOMElement;
411: l_sections XMLDOM.DOMNodeList;
412: l_templateNode XMLDOM.DOMNode;
413: l_tmplNodes XMLDOM.DOMNodeList;
414: l_sectionMainNode XMLDOM.DOMNode;
415: l_componentsNode XMLDOM.DOMNode;
416: l_cfgCompNode XMLDOM.DOMNode;
409: l_doc XMLDOM.DOMDocument;
410: l_docelm XMLDOM.DOMElement;
411: l_sections XMLDOM.DOMNodeList;
412: l_templateNode XMLDOM.DOMNode;
413: l_tmplNodes XMLDOM.DOMNodeList;
414: l_sectionMainNode XMLDOM.DOMNode;
415: l_componentsNode XMLDOM.DOMNode;
416: l_cfgCompNode XMLDOM.DOMNode;
417: l_configurationNode XMLDOM.DOMNode;
410: l_docelm XMLDOM.DOMElement;
411: l_sections XMLDOM.DOMNodeList;
412: l_templateNode XMLDOM.DOMNode;
413: l_tmplNodes XMLDOM.DOMNodeList;
414: l_sectionMainNode XMLDOM.DOMNode;
415: l_componentsNode XMLDOM.DOMNode;
416: l_cfgCompNode XMLDOM.DOMNode;
417: l_configurationNode XMLDOM.DOMNode;
418: l_structNode XMLDOM.DOMNode;
411: l_sections XMLDOM.DOMNodeList;
412: l_templateNode XMLDOM.DOMNode;
413: l_tmplNodes XMLDOM.DOMNodeList;
414: l_sectionMainNode XMLDOM.DOMNode;
415: l_componentsNode XMLDOM.DOMNode;
416: l_cfgCompNode XMLDOM.DOMNode;
417: l_configurationNode XMLDOM.DOMNode;
418: l_structNode XMLDOM.DOMNode;
419: l_structCfgCompNode XMLDOM.DOMNode;
412: l_templateNode XMLDOM.DOMNode;
413: l_tmplNodes XMLDOM.DOMNodeList;
414: l_sectionMainNode XMLDOM.DOMNode;
415: l_componentsNode XMLDOM.DOMNode;
416: l_cfgCompNode XMLDOM.DOMNode;
417: l_configurationNode XMLDOM.DOMNode;
418: l_structNode XMLDOM.DOMNode;
419: l_structCfgCompNode XMLDOM.DOMNode;
420: l_connNode XMLDOM.DOMNode;
413: l_tmplNodes XMLDOM.DOMNodeList;
414: l_sectionMainNode XMLDOM.DOMNode;
415: l_componentsNode XMLDOM.DOMNode;
416: l_cfgCompNode XMLDOM.DOMNode;
417: l_configurationNode XMLDOM.DOMNode;
418: l_structNode XMLDOM.DOMNode;
419: l_structCfgCompNode XMLDOM.DOMNode;
420: l_connNode XMLDOM.DOMNode;
421: l_violationNode XMLDOM.DOMNode;
414: l_sectionMainNode XMLDOM.DOMNode;
415: l_componentsNode XMLDOM.DOMNode;
416: l_cfgCompNode XMLDOM.DOMNode;
417: l_configurationNode XMLDOM.DOMNode;
418: l_structNode XMLDOM.DOMNode;
419: l_structCfgCompNode XMLDOM.DOMNode;
420: l_connNode XMLDOM.DOMNode;
421: l_violationNode XMLDOM.DOMNode;
422: l_choicesNode XMLDOM.DOMNode;
415: l_componentsNode XMLDOM.DOMNode;
416: l_cfgCompNode XMLDOM.DOMNode;
417: l_configurationNode XMLDOM.DOMNode;
418: l_structNode XMLDOM.DOMNode;
419: l_structCfgCompNode XMLDOM.DOMNode;
420: l_connNode XMLDOM.DOMNode;
421: l_violationNode XMLDOM.DOMNode;
422: l_choicesNode XMLDOM.DOMNode;
423: l_chNode XMLDOM.DOMNode;
416: l_cfgCompNode XMLDOM.DOMNode;
417: l_configurationNode XMLDOM.DOMNode;
418: l_structNode XMLDOM.DOMNode;
419: l_structCfgCompNode XMLDOM.DOMNode;
420: l_connNode XMLDOM.DOMNode;
421: l_violationNode XMLDOM.DOMNode;
422: l_choicesNode XMLDOM.DOMNode;
423: l_chNode XMLDOM.DOMNode;
424: l_numericValuesNode XMLDOM.DOMNode;
417: l_configurationNode XMLDOM.DOMNode;
418: l_structNode XMLDOM.DOMNode;
419: l_structCfgCompNode XMLDOM.DOMNode;
420: l_connNode XMLDOM.DOMNode;
421: l_violationNode XMLDOM.DOMNode;
422: l_choicesNode XMLDOM.DOMNode;
423: l_chNode XMLDOM.DOMNode;
424: l_numericValuesNode XMLDOM.DOMNode;
425: l_numNode XMLDOM.DOMNode;
418: l_structNode XMLDOM.DOMNode;
419: l_structCfgCompNode XMLDOM.DOMNode;
420: l_connNode XMLDOM.DOMNode;
421: l_violationNode XMLDOM.DOMNode;
422: l_choicesNode XMLDOM.DOMNode;
423: l_chNode XMLDOM.DOMNode;
424: l_numericValuesNode XMLDOM.DOMNode;
425: l_numNode XMLDOM.DOMNode;
426: l_attrNode XMLDOM.DOMNode;
419: l_structCfgCompNode XMLDOM.DOMNode;
420: l_connNode XMLDOM.DOMNode;
421: l_violationNode XMLDOM.DOMNode;
422: l_choicesNode XMLDOM.DOMNode;
423: l_chNode XMLDOM.DOMNode;
424: l_numericValuesNode XMLDOM.DOMNode;
425: l_numNode XMLDOM.DOMNode;
426: l_attrNode XMLDOM.DOMNode;
427:
420: l_connNode XMLDOM.DOMNode;
421: l_violationNode XMLDOM.DOMNode;
422: l_choicesNode XMLDOM.DOMNode;
423: l_chNode XMLDOM.DOMNode;
424: l_numericValuesNode XMLDOM.DOMNode;
425: l_numNode XMLDOM.DOMNode;
426: l_attrNode XMLDOM.DOMNode;
427:
428: l_pkgComponentsNode XMLDOM.DOMNode;
421: l_violationNode XMLDOM.DOMNode;
422: l_choicesNode XMLDOM.DOMNode;
423: l_chNode XMLDOM.DOMNode;
424: l_numericValuesNode XMLDOM.DOMNode;
425: l_numNode XMLDOM.DOMNode;
426: l_attrNode XMLDOM.DOMNode;
427:
428: l_pkgComponentsNode XMLDOM.DOMNode;
429: l_pkgCfgCompNode XMLDOM.DOMNode;
422: l_choicesNode XMLDOM.DOMNode;
423: l_chNode XMLDOM.DOMNode;
424: l_numericValuesNode XMLDOM.DOMNode;
425: l_numNode XMLDOM.DOMNode;
426: l_attrNode XMLDOM.DOMNode;
427:
428: l_pkgComponentsNode XMLDOM.DOMNode;
429: l_pkgCfgCompNode XMLDOM.DOMNode;
430: l_pkgConfigurationNode XMLDOM.DOMNode;
424: l_numericValuesNode XMLDOM.DOMNode;
425: l_numNode XMLDOM.DOMNode;
426: l_attrNode XMLDOM.DOMNode;
427:
428: l_pkgComponentsNode XMLDOM.DOMNode;
429: l_pkgCfgCompNode XMLDOM.DOMNode;
430: l_pkgConfigurationNode XMLDOM.DOMNode;
431: l_pkgChoicesNode XMLDOM.DOMNode;
432: l_pkgNumericValuesNode XMLDOM.DOMNode; -- check DTD if needed
425: l_numNode XMLDOM.DOMNode;
426: l_attrNode XMLDOM.DOMNode;
427:
428: l_pkgComponentsNode XMLDOM.DOMNode;
429: l_pkgCfgCompNode XMLDOM.DOMNode;
430: l_pkgConfigurationNode XMLDOM.DOMNode;
431: l_pkgChoicesNode XMLDOM.DOMNode;
432: l_pkgNumericValuesNode XMLDOM.DOMNode; -- check DTD if needed
433: l_pkgChNode XMLDOM.DOMNode;
426: l_attrNode XMLDOM.DOMNode;
427:
428: l_pkgComponentsNode XMLDOM.DOMNode;
429: l_pkgCfgCompNode XMLDOM.DOMNode;
430: l_pkgConfigurationNode XMLDOM.DOMNode;
431: l_pkgChoicesNode XMLDOM.DOMNode;
432: l_pkgNumericValuesNode XMLDOM.DOMNode; -- check DTD if needed
433: l_pkgChNode XMLDOM.DOMNode;
434: l_pkgAttrNode XMLDOM.DOMNode;
427:
428: l_pkgComponentsNode XMLDOM.DOMNode;
429: l_pkgCfgCompNode XMLDOM.DOMNode;
430: l_pkgConfigurationNode XMLDOM.DOMNode;
431: l_pkgChoicesNode XMLDOM.DOMNode;
432: l_pkgNumericValuesNode XMLDOM.DOMNode; -- check DTD if needed
433: l_pkgChNode XMLDOM.DOMNode;
434: l_pkgAttrNode XMLDOM.DOMNode;
435: l_leadAttrNodeCreated BOOLEAN;
428: l_pkgComponentsNode XMLDOM.DOMNode;
429: l_pkgCfgCompNode XMLDOM.DOMNode;
430: l_pkgConfigurationNode XMLDOM.DOMNode;
431: l_pkgChoicesNode XMLDOM.DOMNode;
432: l_pkgNumericValuesNode XMLDOM.DOMNode; -- check DTD if needed
433: l_pkgChNode XMLDOM.DOMNode;
434: l_pkgAttrNode XMLDOM.DOMNode;
435: l_leadAttrNodeCreated BOOLEAN;
436:
429: l_pkgCfgCompNode XMLDOM.DOMNode;
430: l_pkgConfigurationNode XMLDOM.DOMNode;
431: l_pkgChoicesNode XMLDOM.DOMNode;
432: l_pkgNumericValuesNode XMLDOM.DOMNode; -- check DTD if needed
433: l_pkgChNode XMLDOM.DOMNode;
434: l_pkgAttrNode XMLDOM.DOMNode;
435: l_leadAttrNodeCreated BOOLEAN;
436:
437: l_prcNumericValuesNode XMLDOM.DOMNode;
430: l_pkgConfigurationNode XMLDOM.DOMNode;
431: l_pkgChoicesNode XMLDOM.DOMNode;
432: l_pkgNumericValuesNode XMLDOM.DOMNode; -- check DTD if needed
433: l_pkgChNode XMLDOM.DOMNode;
434: l_pkgAttrNode XMLDOM.DOMNode;
435: l_leadAttrNodeCreated BOOLEAN;
436:
437: l_prcNumericValuesNode XMLDOM.DOMNode;
438: l_sectionDeltaNode XMLDOM.DOMNode;
433: l_pkgChNode XMLDOM.DOMNode;
434: l_pkgAttrNode XMLDOM.DOMNode;
435: l_leadAttrNodeCreated BOOLEAN;
436:
437: l_prcNumericValuesNode XMLDOM.DOMNode;
438: l_sectionDeltaNode XMLDOM.DOMNode;
439: l_tempNode XMLDOM.DOMNode;
440:
441: l_tmplCcNode XMLDOM.DOMNode; -- configurable component
434: l_pkgAttrNode XMLDOM.DOMNode;
435: l_leadAttrNodeCreated BOOLEAN;
436:
437: l_prcNumericValuesNode XMLDOM.DOMNode;
438: l_sectionDeltaNode XMLDOM.DOMNode;
439: l_tempNode XMLDOM.DOMNode;
440:
441: l_tmplCcNode XMLDOM.DOMNode; -- configurable component
442: l_tmplChNode XMLDOM.DOMNode; --
435: l_leadAttrNodeCreated BOOLEAN;
436:
437: l_prcNumericValuesNode XMLDOM.DOMNode;
438: l_sectionDeltaNode XMLDOM.DOMNode;
439: l_tempNode XMLDOM.DOMNode;
440:
441: l_tmplCcNode XMLDOM.DOMNode; -- configurable component
442: l_tmplChNode XMLDOM.DOMNode; --
443: l_tmplAtNode XMLDOM.DOMNode; --
437: l_prcNumericValuesNode XMLDOM.DOMNode;
438: l_sectionDeltaNode XMLDOM.DOMNode;
439: l_tempNode XMLDOM.DOMNode;
440:
441: l_tmplCcNode XMLDOM.DOMNode; -- configurable component
442: l_tmplChNode XMLDOM.DOMNode; --
443: l_tmplAtNode XMLDOM.DOMNode; --
444: l_tmplNumNode XMLDOM.DOMNode; --
445: l_tmplXplNode XMLDOM.DOMNode; --
438: l_sectionDeltaNode XMLDOM.DOMNode;
439: l_tempNode XMLDOM.DOMNode;
440:
441: l_tmplCcNode XMLDOM.DOMNode; -- configurable component
442: l_tmplChNode XMLDOM.DOMNode; --
443: l_tmplAtNode XMLDOM.DOMNode; --
444: l_tmplNumNode XMLDOM.DOMNode; --
445: l_tmplXplNode XMLDOM.DOMNode; --
446: l_tmplComNode XMLDOM.DOMNode; --
439: l_tempNode XMLDOM.DOMNode;
440:
441: l_tmplCcNode XMLDOM.DOMNode; -- configurable component
442: l_tmplChNode XMLDOM.DOMNode; --
443: l_tmplAtNode XMLDOM.DOMNode; --
444: l_tmplNumNode XMLDOM.DOMNode; --
445: l_tmplXplNode XMLDOM.DOMNode; --
446: l_tmplComNode XMLDOM.DOMNode; --
447: l_tmplDeNode XMLDOM.DOMNode; --
440:
441: l_tmplCcNode XMLDOM.DOMNode; -- configurable component
442: l_tmplChNode XMLDOM.DOMNode; --
443: l_tmplAtNode XMLDOM.DOMNode; --
444: l_tmplNumNode XMLDOM.DOMNode; --
445: l_tmplXplNode XMLDOM.DOMNode; --
446: l_tmplComNode XMLDOM.DOMNode; --
447: l_tmplDeNode XMLDOM.DOMNode; --
448: l_tmplConNode XMLDOM.DOMNode; --
441: l_tmplCcNode XMLDOM.DOMNode; -- configurable component
442: l_tmplChNode XMLDOM.DOMNode; --
443: l_tmplAtNode XMLDOM.DOMNode; --
444: l_tmplNumNode XMLDOM.DOMNode; --
445: l_tmplXplNode XMLDOM.DOMNode; --
446: l_tmplComNode XMLDOM.DOMNode; --
447: l_tmplDeNode XMLDOM.DOMNode; --
448: l_tmplConNode XMLDOM.DOMNode; --
449:
442: l_tmplChNode XMLDOM.DOMNode; --
443: l_tmplAtNode XMLDOM.DOMNode; --
444: l_tmplNumNode XMLDOM.DOMNode; --
445: l_tmplXplNode XMLDOM.DOMNode; --
446: l_tmplComNode XMLDOM.DOMNode; --
447: l_tmplDeNode XMLDOM.DOMNode; --
448: l_tmplConNode XMLDOM.DOMNode; --
449:
450: /* *** delta_info part *** */
443: l_tmplAtNode XMLDOM.DOMNode; --
444: l_tmplNumNode XMLDOM.DOMNode; --
445: l_tmplXplNode XMLDOM.DOMNode; --
446: l_tmplComNode XMLDOM.DOMNode; --
447: l_tmplDeNode XMLDOM.DOMNode; --
448: l_tmplConNode XMLDOM.DOMNode; --
449:
450: /* *** delta_info part *** */
451:
444: l_tmplNumNode XMLDOM.DOMNode; --
445: l_tmplXplNode XMLDOM.DOMNode; --
446: l_tmplComNode XMLDOM.DOMNode; --
447: l_tmplDeNode XMLDOM.DOMNode; --
448: l_tmplConNode XMLDOM.DOMNode; --
449:
450: /* *** delta_info part *** */
451:
452: TYPE cfg_item_rec_type IS RECORD
467:
468: l_baseline_cfg_tbl cfg_item_tbl_type;
469: l_baseline_cfg_item cfg_item_rec_type;
470:
471: l_delta_info_Node xmldom.DOMNode;
472: l_cfg_delta_Node xmldom.DOMNode;
473:
474: l_components_Node xmldom.DOMNode;
475: l_choice_adds_Node xmldom.DOMNode;
468: l_baseline_cfg_tbl cfg_item_tbl_type;
469: l_baseline_cfg_item cfg_item_rec_type;
470:
471: l_delta_info_Node xmldom.DOMNode;
472: l_cfg_delta_Node xmldom.DOMNode;
473:
474: l_components_Node xmldom.DOMNode;
475: l_choice_adds_Node xmldom.DOMNode;
476: l_choice_deletes_Node xmldom.DOMNode;
470:
471: l_delta_info_Node xmldom.DOMNode;
472: l_cfg_delta_Node xmldom.DOMNode;
473:
474: l_components_Node xmldom.DOMNode;
475: l_choice_adds_Node xmldom.DOMNode;
476: l_choice_deletes_Node xmldom.DOMNode;
477: l_choice_changes_Node xmldom.DOMNode;
478: l_expr_changes_Node xmldom.DOMNode;
471: l_delta_info_Node xmldom.DOMNode;
472: l_cfg_delta_Node xmldom.DOMNode;
473:
474: l_components_Node xmldom.DOMNode;
475: l_choice_adds_Node xmldom.DOMNode;
476: l_choice_deletes_Node xmldom.DOMNode;
477: l_choice_changes_Node xmldom.DOMNode;
478: l_expr_changes_Node xmldom.DOMNode;
479: l_choice_prev_changes_Node xmldom.DOMNode;
472: l_cfg_delta_Node xmldom.DOMNode;
473:
474: l_components_Node xmldom.DOMNode;
475: l_choice_adds_Node xmldom.DOMNode;
476: l_choice_deletes_Node xmldom.DOMNode;
477: l_choice_changes_Node xmldom.DOMNode;
478: l_expr_changes_Node xmldom.DOMNode;
479: l_choice_prev_changes_Node xmldom.DOMNode;
480: l_choice_curr_changes_Node xmldom.DOMNode;
473:
474: l_components_Node xmldom.DOMNode;
475: l_choice_adds_Node xmldom.DOMNode;
476: l_choice_deletes_Node xmldom.DOMNode;
477: l_choice_changes_Node xmldom.DOMNode;
478: l_expr_changes_Node xmldom.DOMNode;
479: l_choice_prev_changes_Node xmldom.DOMNode;
480: l_choice_curr_changes_Node xmldom.DOMNode;
481: l_delta_expr_Node xmldom.DOMNode;
474: l_components_Node xmldom.DOMNode;
475: l_choice_adds_Node xmldom.DOMNode;
476: l_choice_deletes_Node xmldom.DOMNode;
477: l_choice_changes_Node xmldom.DOMNode;
478: l_expr_changes_Node xmldom.DOMNode;
479: l_choice_prev_changes_Node xmldom.DOMNode;
480: l_choice_curr_changes_Node xmldom.DOMNode;
481: l_delta_expr_Node xmldom.DOMNode;
482: l_delta_cfgcompnode xmldom.DOMNode;
475: l_choice_adds_Node xmldom.DOMNode;
476: l_choice_deletes_Node xmldom.DOMNode;
477: l_choice_changes_Node xmldom.DOMNode;
478: l_expr_changes_Node xmldom.DOMNode;
479: l_choice_prev_changes_Node xmldom.DOMNode;
480: l_choice_curr_changes_Node xmldom.DOMNode;
481: l_delta_expr_Node xmldom.DOMNode;
482: l_delta_cfgcompnode xmldom.DOMNode;
483:
476: l_choice_deletes_Node xmldom.DOMNode;
477: l_choice_changes_Node xmldom.DOMNode;
478: l_expr_changes_Node xmldom.DOMNode;
479: l_choice_prev_changes_Node xmldom.DOMNode;
480: l_choice_curr_changes_Node xmldom.DOMNode;
481: l_delta_expr_Node xmldom.DOMNode;
482: l_delta_cfgcompnode xmldom.DOMNode;
483:
484: l_component_adds_Node XMLDOM.DOMNode;
477: l_choice_changes_Node xmldom.DOMNode;
478: l_expr_changes_Node xmldom.DOMNode;
479: l_choice_prev_changes_Node xmldom.DOMNode;
480: l_choice_curr_changes_Node xmldom.DOMNode;
481: l_delta_expr_Node xmldom.DOMNode;
482: l_delta_cfgcompnode xmldom.DOMNode;
483:
484: l_component_adds_Node XMLDOM.DOMNode;
485: l_component_deletes_Node XMLDOM.DOMNode;
478: l_expr_changes_Node xmldom.DOMNode;
479: l_choice_prev_changes_Node xmldom.DOMNode;
480: l_choice_curr_changes_Node xmldom.DOMNode;
481: l_delta_expr_Node xmldom.DOMNode;
482: l_delta_cfgcompnode xmldom.DOMNode;
483:
484: l_component_adds_Node XMLDOM.DOMNode;
485: l_component_deletes_Node XMLDOM.DOMNode;
486: l_tmp_Node XMLDOM.DOMNode;
480: l_choice_curr_changes_Node xmldom.DOMNode;
481: l_delta_expr_Node xmldom.DOMNode;
482: l_delta_cfgcompnode xmldom.DOMNode;
483:
484: l_component_adds_Node XMLDOM.DOMNode;
485: l_component_deletes_Node XMLDOM.DOMNode;
486: l_tmp_Node XMLDOM.DOMNode;
487: l_baseline_item_id XMLDOM.DOMNode;
488: l_parent_psn_type NUMBER;
481: l_delta_expr_Node xmldom.DOMNode;
482: l_delta_cfgcompnode xmldom.DOMNode;
483:
484: l_component_adds_Node XMLDOM.DOMNode;
485: l_component_deletes_Node XMLDOM.DOMNode;
486: l_tmp_Node XMLDOM.DOMNode;
487: l_baseline_item_id XMLDOM.DOMNode;
488: l_parent_psn_type NUMBER;
489: l_changes_prev_chNode XMLDOM.DOMNode;
482: l_delta_cfgcompnode xmldom.DOMNode;
483:
484: l_component_adds_Node XMLDOM.DOMNode;
485: l_component_deletes_Node XMLDOM.DOMNode;
486: l_tmp_Node XMLDOM.DOMNode;
487: l_baseline_item_id XMLDOM.DOMNode;
488: l_parent_psn_type NUMBER;
489: l_changes_prev_chNode XMLDOM.DOMNode;
490: l_changes_curr_chNode XMLDOM.DOMNode;
483:
484: l_component_adds_Node XMLDOM.DOMNode;
485: l_component_deletes_Node XMLDOM.DOMNode;
486: l_tmp_Node XMLDOM.DOMNode;
487: l_baseline_item_id XMLDOM.DOMNode;
488: l_parent_psn_type NUMBER;
489: l_changes_prev_chNode XMLDOM.DOMNode;
490: l_changes_curr_chNode XMLDOM.DOMNode;
491: l_delta_chNode XMLDOM.DOMNode;
485: l_component_deletes_Node XMLDOM.DOMNode;
486: l_tmp_Node XMLDOM.DOMNode;
487: l_baseline_item_id XMLDOM.DOMNode;
488: l_parent_psn_type NUMBER;
489: l_changes_prev_chNode XMLDOM.DOMNode;
490: l_changes_curr_chNode XMLDOM.DOMNode;
491: l_delta_chNode XMLDOM.DOMNode;
492: l_name_xml_attr xmldom.DOMAttr;
493: l_delta_curr_numNode XMLDOM.DOMNode;
486: l_tmp_Node XMLDOM.DOMNode;
487: l_baseline_item_id XMLDOM.DOMNode;
488: l_parent_psn_type NUMBER;
489: l_changes_prev_chNode XMLDOM.DOMNode;
490: l_changes_curr_chNode XMLDOM.DOMNode;
491: l_delta_chNode XMLDOM.DOMNode;
492: l_name_xml_attr xmldom.DOMAttr;
493: l_delta_curr_numNode XMLDOM.DOMNode;
494: /* *** end of delta_info part *** */
487: l_baseline_item_id XMLDOM.DOMNode;
488: l_parent_psn_type NUMBER;
489: l_changes_prev_chNode XMLDOM.DOMNode;
490: l_changes_curr_chNode XMLDOM.DOMNode;
491: l_delta_chNode XMLDOM.DOMNode;
492: l_name_xml_attr xmldom.DOMAttr;
493: l_delta_curr_numNode XMLDOM.DOMNode;
494: /* *** end of delta_info part *** */
495:
488: l_parent_psn_type NUMBER;
489: l_changes_prev_chNode XMLDOM.DOMNode;
490: l_changes_curr_chNode XMLDOM.DOMNode;
491: l_delta_chNode XMLDOM.DOMNode;
492: l_name_xml_attr xmldom.DOMAttr;
493: l_delta_curr_numNode XMLDOM.DOMNode;
494: /* *** end of delta_info part *** */
495:
496: --------------------------------------------------------------------------------
489: l_changes_prev_chNode XMLDOM.DOMNode;
490: l_changes_curr_chNode XMLDOM.DOMNode;
491: l_delta_chNode XMLDOM.DOMNode;
492: l_name_xml_attr xmldom.DOMAttr;
493: l_delta_curr_numNode XMLDOM.DOMNode;
494: /* *** end of delta_info part *** */
495:
496: --------------------------------------------------------------------------------
497: /* *** delta_info part *** */
536:
537: --------------------------------------------------------------------------------
538: --
539: FUNCTION newCfgComponentNode(p_name IN VARCHAR2, p_component IN VARCHAR2)
540: RETURN XMLDOM.DOMNode
541: IS
542: node XMLDOM.DOMNode;
543: attrs XMLDOM.DOMNamedNodeMap;
544: BEGIN
538: --
539: FUNCTION newCfgComponentNode(p_name IN VARCHAR2, p_component IN VARCHAR2)
540: RETURN XMLDOM.DOMNode
541: IS
542: node XMLDOM.DOMNode;
543: attrs XMLDOM.DOMNamedNodeMap;
544: BEGIN
545: node := XMLDOM.cloneNode(l_tmplCcNode, FALSE);
546: attrs := XMLDOM.getAttributes(node);
539: FUNCTION newCfgComponentNode(p_name IN VARCHAR2, p_component IN VARCHAR2)
540: RETURN XMLDOM.DOMNode
541: IS
542: node XMLDOM.DOMNode;
543: attrs XMLDOM.DOMNamedNodeMap;
544: BEGIN
545: node := XMLDOM.cloneNode(l_tmplCcNode, FALSE);
546: attrs := XMLDOM.getAttributes(node);
547: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
541: IS
542: node XMLDOM.DOMNode;
543: attrs XMLDOM.DOMNamedNodeMap;
544: BEGIN
545: node := XMLDOM.cloneNode(l_tmplCcNode, FALSE);
546: attrs := XMLDOM.getAttributes(node);
547: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
548: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_component);
549: RETURN node;
542: node XMLDOM.DOMNode;
543: attrs XMLDOM.DOMNamedNodeMap;
544: BEGIN
545: node := XMLDOM.cloneNode(l_tmplCcNode, FALSE);
546: attrs := XMLDOM.getAttributes(node);
547: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
548: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_component);
549: RETURN node;
550: END newCfgComponentNode;
543: attrs XMLDOM.DOMNamedNodeMap;
544: BEGIN
545: node := XMLDOM.cloneNode(l_tmplCcNode, FALSE);
546: attrs := XMLDOM.getAttributes(node);
547: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
548: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_component);
549: RETURN node;
550: END newCfgComponentNode;
551:
544: BEGIN
545: node := XMLDOM.cloneNode(l_tmplCcNode, FALSE);
546: attrs := XMLDOM.getAttributes(node);
547: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
548: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_component);
549: RETURN node;
550: END newCfgComponentNode;
551:
552: --------------------------------------------------------------------------------
563: --
564: --
565: PROCEDURE addDeltaComponentNode(p_id IN VARCHAR2, p_name IN VARCHAR2) IS
566:
567: l_name_xml_attr xmldom.DOMAttr;
568: l_tmp_xml_node xmldom.DOMNode;
569:
570: BEGIN
571:
564: --
565: PROCEDURE addDeltaComponentNode(p_id IN VARCHAR2, p_name IN VARCHAR2) IS
566:
567: l_name_xml_attr xmldom.DOMAttr;
568: l_tmp_xml_node xmldom.DOMNode;
569:
570: BEGIN
571:
572: --
571:
572: --
573: -- create tag
574: --
575: l_components_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_COMPONENT));
576:
577: l_name_xml_attr := xmldom.createAttribute(l_doc, 'id');
578: xmldom.setValue(l_name_xml_attr, p_id);
579: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
573: -- create tag
574: --
575: l_components_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_COMPONENT));
576:
577: l_name_xml_attr := xmldom.createAttribute(l_doc, 'id');
578: xmldom.setValue(l_name_xml_attr, p_id);
579: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
580:
581: l_name_xml_attr := xmldom.createAttribute(l_doc, 'name');
574: --
575: l_components_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_COMPONENT));
576:
577: l_name_xml_attr := xmldom.createAttribute(l_doc, 'id');
578: xmldom.setValue(l_name_xml_attr, p_id);
579: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
580:
581: l_name_xml_attr := xmldom.createAttribute(l_doc, 'name');
582: xmldom.setValue(l_name_xml_attr, p_name);
575: l_components_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_COMPONENT));
576:
577: l_name_xml_attr := xmldom.createAttribute(l_doc, 'id');
578: xmldom.setValue(l_name_xml_attr, p_id);
579: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
580:
581: l_name_xml_attr := xmldom.createAttribute(l_doc, 'name');
582: xmldom.setValue(l_name_xml_attr, p_name);
583: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
577: l_name_xml_attr := xmldom.createAttribute(l_doc, 'id');
578: xmldom.setValue(l_name_xml_attr, p_id);
579: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
580:
581: l_name_xml_attr := xmldom.createAttribute(l_doc, 'name');
582: xmldom.setValue(l_name_xml_attr, p_name);
583: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
584:
585: l_name_xml_attr := xmldom.createAttribute(l_doc, 'type');
578: xmldom.setValue(l_name_xml_attr, p_id);
579: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
580:
581: l_name_xml_attr := xmldom.createAttribute(l_doc, 'name');
582: xmldom.setValue(l_name_xml_attr, p_name);
583: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
584:
585: l_name_xml_attr := xmldom.createAttribute(l_doc, 'type');
586: xmldom.setValue(l_name_xml_attr, '');
579: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
580:
581: l_name_xml_attr := xmldom.createAttribute(l_doc, 'name');
582: xmldom.setValue(l_name_xml_attr, p_name);
583: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
584:
585: l_name_xml_attr := xmldom.createAttribute(l_doc, 'type');
586: xmldom.setValue(l_name_xml_attr, '');
587: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
581: l_name_xml_attr := xmldom.createAttribute(l_doc, 'name');
582: xmldom.setValue(l_name_xml_attr, p_name);
583: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
584:
585: l_name_xml_attr := xmldom.createAttribute(l_doc, 'type');
586: xmldom.setValue(l_name_xml_attr, '');
587: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
588:
589: --
582: xmldom.setValue(l_name_xml_attr, p_name);
583: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
584:
585: l_name_xml_attr := xmldom.createAttribute(l_doc, 'type');
586: xmldom.setValue(l_name_xml_attr, '');
587: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
588:
589: --
590: -- create tag
583: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
584:
585: l_name_xml_attr := xmldom.createAttribute(l_doc, 'type');
586: xmldom.setValue(l_name_xml_attr, '');
587: l_name_xml_attr := xmldom.SetAttributeNode(xmldom.makeElement(l_components_Node), l_name_xml_attr );
588:
589: --
590: -- create tag
591: --
588:
589: --
590: -- create tag
591: --
592: l_cfg_delta_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIG_DELTA));
593:
594: --
595: -- attach tag
596: --
595: -- attach tag
596: --
597: -- |---
598: --
599: l_tmp_xml_node := XMLDOM.appendChild(l_components_Node, l_cfg_delta_Node);
600:
601: --
602: -- attach tag
603: --
603: --
604: -- |---
605: -- |--
606: --
607: l_choice_adds_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CHOICE_ADDS));
608: l_tmp_xml_node := XMLDOM.appendChild(l_cfg_delta_Node, l_choice_adds_Node);
609:
610: --
611: -- attach tag
604: -- |---
605: -- |--
606: --
607: l_choice_adds_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CHOICE_ADDS));
608: l_tmp_xml_node := XMLDOM.appendChild(l_cfg_delta_Node, l_choice_adds_Node);
609:
610: --
611: -- attach tag
612: --
613: -- |---
614: -- |--
615: -- |--
616: --
617: l_choice_deletes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CHOICE_DELETES));
618: l_tmp_xml_node := XMLDOM.appendChild(l_cfg_delta_Node, l_choice_deletes_Node);
619:
620: --
621: -- attach tag
614: -- |--
615: -- |--
616: --
617: l_choice_deletes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CHOICE_DELETES));
618: l_tmp_xml_node := XMLDOM.appendChild(l_cfg_delta_Node, l_choice_deletes_Node);
619:
620: --
621: -- attach tag
622: --
624: -- |--
625: -- |--
626: -- |--
627: --
628: l_choice_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CHOICE_CHANGES));
629: l_tmp_xml_node := XMLDOM.appendChild(l_cfg_delta_Node, l_choice_changes_Node);
630:
631: --
632: -- attach tag
625: -- |--
626: -- |--
627: --
628: l_choice_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CHOICE_CHANGES));
629: l_tmp_xml_node := XMLDOM.appendChild(l_cfg_delta_Node, l_choice_changes_Node);
630:
631: --
632: -- attach tag
633: --
637: -- |--
638: -- |--
639: -- |--
640: -- |--
641: l_expr_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_EXPR_CHANGES));
642: l_tmp_xml_node := XMLDOM.appendChild(l_cfg_delta_Node, l_expr_changes_Node);
643:
644: --
645: -- attach tag
638: -- |--
639: -- |--
640: -- |--
641: l_expr_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_EXPR_CHANGES));
642: l_tmp_xml_node := XMLDOM.appendChild(l_cfg_delta_Node, l_expr_changes_Node);
643:
644: --
645: -- attach tag
646: --
643:
644: --
645: -- attach tag
646: --
647: l_tmp_xml_node := XMLDOM.appendChild(l_delta_info_Node, l_components_Node);
648:
649: END addDeltaComponentNode;
650: /* *** end of delta_info part *** */
651:
653: --
654: FUNCTION newChoiceNode(p_optionFeature IN VARCHAR2
655: ,p_option IN VARCHAR2
656: ,p_quantity IN VARCHAR2)
657: RETURN XMLDOM.DOMNode
658: IS
659: node XMLDOM.DOMNode;
660: attrs XMLDOM.DOMNamedNodeMap;
661: BEGIN
655: ,p_option IN VARCHAR2
656: ,p_quantity IN VARCHAR2)
657: RETURN XMLDOM.DOMNode
658: IS
659: node XMLDOM.DOMNode;
660: attrs XMLDOM.DOMNamedNodeMap;
661: BEGIN
662: node := XMLDOM.cloneNode(l_tmplChNode, FALSE);
663: attrs := XMLDOM.getAttributes(node);
656: ,p_quantity IN VARCHAR2)
657: RETURN XMLDOM.DOMNode
658: IS
659: node XMLDOM.DOMNode;
660: attrs XMLDOM.DOMNamedNodeMap;
661: BEGIN
662: node := XMLDOM.cloneNode(l_tmplChNode, FALSE);
663: attrs := XMLDOM.getAttributes(node);
664: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_optionFeature);
658: IS
659: node XMLDOM.DOMNode;
660: attrs XMLDOM.DOMNamedNodeMap;
661: BEGIN
662: node := XMLDOM.cloneNode(l_tmplChNode, FALSE);
663: attrs := XMLDOM.getAttributes(node);
664: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_optionFeature);
665: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_option);
666: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_quantity);
659: node XMLDOM.DOMNode;
660: attrs XMLDOM.DOMNamedNodeMap;
661: BEGIN
662: node := XMLDOM.cloneNode(l_tmplChNode, FALSE);
663: attrs := XMLDOM.getAttributes(node);
664: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_optionFeature);
665: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_option);
666: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_quantity);
667: RETURN node;
660: attrs XMLDOM.DOMNamedNodeMap;
661: BEGIN
662: node := XMLDOM.cloneNode(l_tmplChNode, FALSE);
663: attrs := XMLDOM.getAttributes(node);
664: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_optionFeature);
665: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_option);
666: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_quantity);
667: RETURN node;
668: END newChoiceNode;
661: BEGIN
662: node := XMLDOM.cloneNode(l_tmplChNode, FALSE);
663: attrs := XMLDOM.getAttributes(node);
664: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_optionFeature);
665: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_option);
666: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_quantity);
667: RETURN node;
668: END newChoiceNode;
669:
662: node := XMLDOM.cloneNode(l_tmplChNode, FALSE);
663: attrs := XMLDOM.getAttributes(node);
664: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_optionFeature);
665: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_option);
666: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_quantity);
667: RETURN node;
668: END newChoiceNode;
669:
670: --------------------------------------------------------------------------------
668: END newChoiceNode;
669:
670: --------------------------------------------------------------------------------
671: /* *** delta_info part *** */
672: PROCEDURE attachPrevChoices(p_parent_config_item_id IN NUMBER, p_parent_name IN VARCHAR2, p_choice_Node xmldom.DOMNode) IS
673: l_tmp_changes_chNode xmldom.DOMNode;
674: l_tmp_xml_Node xmldom.DOMNode;
675: BEGIN
676: FOR fitm IN (SELECT ps_node_name,item_num_val FROM CZ_CONFIG_ITEMS
669:
670: --------------------------------------------------------------------------------
671: /* *** delta_info part *** */
672: PROCEDURE attachPrevChoices(p_parent_config_item_id IN NUMBER, p_parent_name IN VARCHAR2, p_choice_Node xmldom.DOMNode) IS
673: l_tmp_changes_chNode xmldom.DOMNode;
674: l_tmp_xml_Node xmldom.DOMNode;
675: BEGIN
676: FOR fitm IN (SELECT ps_node_name,item_num_val FROM CZ_CONFIG_ITEMS
677: WHERE config_hdr_id=p_baseline_config_hdr_id AND
670: --------------------------------------------------------------------------------
671: /* *** delta_info part *** */
672: PROCEDURE attachPrevChoices(p_parent_config_item_id IN NUMBER, p_parent_name IN VARCHAR2, p_choice_Node xmldom.DOMNode) IS
673: l_tmp_changes_chNode xmldom.DOMNode;
674: l_tmp_xml_Node xmldom.DOMNode;
675: BEGIN
676: FOR fitm IN (SELECT ps_node_name,item_num_val FROM CZ_CONFIG_ITEMS
677: WHERE config_hdr_id=p_baseline_config_hdr_id AND
678: config_rev_nbr=p_baseline_config_rev_nbr AND
683: b.config_rev_nbr=p_config_rev_nbr AND
684: b.deleted_flag='0' AND b.parent_config_item_id=p_parent_config_item_id))
685: LOOP
686: l_tmp_changes_chNode := newChoiceNode(p_parent_name, fitm.ps_node_name, fitm.item_num_val);
687: l_tmp_xml_Node := XMLDOM.appendChild(p_choice_Node, l_tmp_changes_chNode);
688: END LOOP;
689: END attachPrevChoices;
690: /* *** end of delta_info part *** */
691:
691:
692: --------------------------------------------------------------------------------
693: --
694: FUNCTION newAttributeNode(p_name IN VARCHAR2, p_value IN VARCHAR2)
695: RETURN XMLDOM.DOMNode
696: IS
697: node XMLDOM.DOMNode;
698: BEGIN
699: node := XMLDOM.cloneNode(l_tmplAtNode, TRUE);
693: --
694: FUNCTION newAttributeNode(p_name IN VARCHAR2, p_value IN VARCHAR2)
695: RETURN XMLDOM.DOMNode
696: IS
697: node XMLDOM.DOMNode;
698: BEGIN
699: node := XMLDOM.cloneNode(l_tmplAtNode, TRUE);
700: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(XMLDOM.getAttributes(node), 0)), p_name);
701: XMLDOM.setNodeValue(XMLDOM.getFirstChild(node), p_value);
695: RETURN XMLDOM.DOMNode
696: IS
697: node XMLDOM.DOMNode;
698: BEGIN
699: node := XMLDOM.cloneNode(l_tmplAtNode, TRUE);
700: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(XMLDOM.getAttributes(node), 0)), p_name);
701: XMLDOM.setNodeValue(XMLDOM.getFirstChild(node), p_value);
702: RETURN node;
703: END newAttributeNode;
696: IS
697: node XMLDOM.DOMNode;
698: BEGIN
699: node := XMLDOM.cloneNode(l_tmplAtNode, TRUE);
700: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(XMLDOM.getAttributes(node), 0)), p_name);
701: XMLDOM.setNodeValue(XMLDOM.getFirstChild(node), p_value);
702: RETURN node;
703: END newAttributeNode;
704:
697: node XMLDOM.DOMNode;
698: BEGIN
699: node := XMLDOM.cloneNode(l_tmplAtNode, TRUE);
700: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(XMLDOM.getAttributes(node), 0)), p_name);
701: XMLDOM.setNodeValue(XMLDOM.getFirstChild(node), p_value);
702: RETURN node;
703: END newAttributeNode;
704:
705: --------------------------------------------------------------------------------
706: --
707: FUNCTION newNumNode(p_name IN VARCHAR2
708: ,p_value IN VARCHAR2
709: ,p_type IN VARCHAR2)
710: RETURN XMLDOM.DOMNode
711: IS
712: node XMLDOM.DOMNode;
713: attrs XMLDOM.DOMNamedNodeMap;
714: BEGIN
708: ,p_value IN VARCHAR2
709: ,p_type IN VARCHAR2)
710: RETURN XMLDOM.DOMNode
711: IS
712: node XMLDOM.DOMNode;
713: attrs XMLDOM.DOMNamedNodeMap;
714: BEGIN
715: node := XMLDOM.cloneNode(l_tmplNumNode, FALSE);
716: attrs := XMLDOM.getAttributes(node);
709: ,p_type IN VARCHAR2)
710: RETURN XMLDOM.DOMNode
711: IS
712: node XMLDOM.DOMNode;
713: attrs XMLDOM.DOMNamedNodeMap;
714: BEGIN
715: node := XMLDOM.cloneNode(l_tmplNumNode, FALSE);
716: attrs := XMLDOM.getAttributes(node);
717: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
711: IS
712: node XMLDOM.DOMNode;
713: attrs XMLDOM.DOMNamedNodeMap;
714: BEGIN
715: node := XMLDOM.cloneNode(l_tmplNumNode, FALSE);
716: attrs := XMLDOM.getAttributes(node);
717: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
718: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_value);
719: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_type);
712: node XMLDOM.DOMNode;
713: attrs XMLDOM.DOMNamedNodeMap;
714: BEGIN
715: node := XMLDOM.cloneNode(l_tmplNumNode, FALSE);
716: attrs := XMLDOM.getAttributes(node);
717: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
718: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_value);
719: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_type);
720: RETURN node;
713: attrs XMLDOM.DOMNamedNodeMap;
714: BEGIN
715: node := XMLDOM.cloneNode(l_tmplNumNode, FALSE);
716: attrs := XMLDOM.getAttributes(node);
717: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
718: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_value);
719: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_type);
720: RETURN node;
721: END newNumNode;
714: BEGIN
715: node := XMLDOM.cloneNode(l_tmplNumNode, FALSE);
716: attrs := XMLDOM.getAttributes(node);
717: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
718: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_value);
719: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_type);
720: RETURN node;
721: END newNumNode;
722:
715: node := XMLDOM.cloneNode(l_tmplNumNode, FALSE);
716: attrs := XMLDOM.getAttributes(node);
717: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_name);
718: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_value);
719: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_type);
720: RETURN node;
721: END newNumNode;
722:
723: --------------------------------------------------------------------------------
729: p_old_value IN VARCHAR2,
730: p_new_value IN VARCHAR2,
731: p_type IN VARCHAR2) IS
732:
733: l_delta_curr_numNode xmldom.DOMNode;
734: l_tempNode xmldom.DOMNode;
735: l_delta_expr_Node xmldom.DOMNode;
736: l_name_xml_attr xmldom.DOMAttr;
737:
730: p_new_value IN VARCHAR2,
731: p_type IN VARCHAR2) IS
732:
733: l_delta_curr_numNode xmldom.DOMNode;
734: l_tempNode xmldom.DOMNode;
735: l_delta_expr_Node xmldom.DOMNode;
736: l_name_xml_attr xmldom.DOMAttr;
737:
738: BEGIN
731: p_type IN VARCHAR2) IS
732:
733: l_delta_curr_numNode xmldom.DOMNode;
734: l_tempNode xmldom.DOMNode;
735: l_delta_expr_Node xmldom.DOMNode;
736: l_name_xml_attr xmldom.DOMAttr;
737:
738: BEGIN
739: l_delta_curr_numNode := newNumNode(p_name, p_new_value, p_type);
732:
733: l_delta_curr_numNode xmldom.DOMNode;
734: l_tempNode xmldom.DOMNode;
735: l_delta_expr_Node xmldom.DOMNode;
736: l_name_xml_attr xmldom.DOMAttr;
737:
738: BEGIN
739: l_delta_curr_numNode := newNumNode(p_name, p_new_value, p_type);
740: l_tempNode := XMLDOM.appendChild(l_choice_curr_changes_Node, l_delta_curr_numNode);
736: l_name_xml_attr xmldom.DOMAttr;
737:
738: BEGIN
739: l_delta_curr_numNode := newNumNode(p_name, p_new_value, p_type);
740: l_tempNode := XMLDOM.appendChild(l_choice_curr_changes_Node, l_delta_curr_numNode);
741:
742: l_delta_expr_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_DELTA_EXPR));
743:
744: l_name_xml_attr := xmldom.createAttribute(l_doc, 'NM');
738: BEGIN
739: l_delta_curr_numNode := newNumNode(p_name, p_new_value, p_type);
740: l_tempNode := XMLDOM.appendChild(l_choice_curr_changes_Node, l_delta_curr_numNode);
741:
742: l_delta_expr_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_DELTA_EXPR));
743:
744: l_name_xml_attr := xmldom.createAttribute(l_doc, 'NM');
745: xmldom.setValue(l_name_xml_attr, p_name);
746: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
740: l_tempNode := XMLDOM.appendChild(l_choice_curr_changes_Node, l_delta_curr_numNode);
741:
742: l_delta_expr_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_DELTA_EXPR));
743:
744: l_name_xml_attr := xmldom.createAttribute(l_doc, 'NM');
745: xmldom.setValue(l_name_xml_attr, p_name);
746: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
747:
748: l_name_xml_attr := xmldom.createAttribute(l_doc, 'PREVIOUS');
741:
742: l_delta_expr_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_DELTA_EXPR));
743:
744: l_name_xml_attr := xmldom.createAttribute(l_doc, 'NM');
745: xmldom.setValue(l_name_xml_attr, p_name);
746: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
747:
748: l_name_xml_attr := xmldom.createAttribute(l_doc, 'PREVIOUS');
749: xmldom.setValue(l_name_xml_attr, p_old_value);
742: l_delta_expr_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_DELTA_EXPR));
743:
744: l_name_xml_attr := xmldom.createAttribute(l_doc, 'NM');
745: xmldom.setValue(l_name_xml_attr, p_name);
746: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
747:
748: l_name_xml_attr := xmldom.createAttribute(l_doc, 'PREVIOUS');
749: xmldom.setValue(l_name_xml_attr, p_old_value);
750: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
744: l_name_xml_attr := xmldom.createAttribute(l_doc, 'NM');
745: xmldom.setValue(l_name_xml_attr, p_name);
746: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
747:
748: l_name_xml_attr := xmldom.createAttribute(l_doc, 'PREVIOUS');
749: xmldom.setValue(l_name_xml_attr, p_old_value);
750: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
751:
752: l_name_xml_attr := xmldom.createAttribute(l_doc, 'CURRENT');
745: xmldom.setValue(l_name_xml_attr, p_name);
746: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
747:
748: l_name_xml_attr := xmldom.createAttribute(l_doc, 'PREVIOUS');
749: xmldom.setValue(l_name_xml_attr, p_old_value);
750: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
751:
752: l_name_xml_attr := xmldom.createAttribute(l_doc, 'CURRENT');
753: xmldom.setValue(l_name_xml_attr, p_new_value);
746: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
747:
748: l_name_xml_attr := xmldom.createAttribute(l_doc, 'PREVIOUS');
749: xmldom.setValue(l_name_xml_attr, p_old_value);
750: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
751:
752: l_name_xml_attr := xmldom.createAttribute(l_doc, 'CURRENT');
753: xmldom.setValue(l_name_xml_attr, p_new_value);
754: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
748: l_name_xml_attr := xmldom.createAttribute(l_doc, 'PREVIOUS');
749: xmldom.setValue(l_name_xml_attr, p_old_value);
750: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
751:
752: l_name_xml_attr := xmldom.createAttribute(l_doc, 'CURRENT');
753: xmldom.setValue(l_name_xml_attr, p_new_value);
754: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
755:
756: l_tempNode := XMLDOM.appendChild(l_expr_changes_Node, l_delta_expr_Node);
749: xmldom.setValue(l_name_xml_attr, p_old_value);
750: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
751:
752: l_name_xml_attr := xmldom.createAttribute(l_doc, 'CURRENT');
753: xmldom.setValue(l_name_xml_attr, p_new_value);
754: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
755:
756: l_tempNode := XMLDOM.appendChild(l_expr_changes_Node, l_delta_expr_Node);
757: END add_Expr_Node;
750: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
751:
752: l_name_xml_attr := xmldom.createAttribute(l_doc, 'CURRENT');
753: xmldom.setValue(l_name_xml_attr, p_new_value);
754: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
755:
756: l_tempNode := XMLDOM.appendChild(l_expr_changes_Node, l_delta_expr_Node);
757: END add_Expr_Node;
758:
752: l_name_xml_attr := xmldom.createAttribute(l_doc, 'CURRENT');
753: xmldom.setValue(l_name_xml_attr, p_new_value);
754: l_name_xml_attr := xmldom.SetAttributeNode( xmldom.makeElement(l_delta_expr_Node), l_name_xml_attr );
755:
756: l_tempNode := XMLDOM.appendChild(l_expr_changes_Node, l_delta_expr_Node);
757: END add_Expr_Node;
758:
759: /* *** end of delta_info part *** */
760:
760:
761: --------------------------------------------------------------------------------
762: --
763: FUNCTION newExplanationNode(p_explanation IN VARCHAR2)
764: RETURN XMLDOM.DOMNode
765: IS
766: node XMLDOM.DOMNode;
767: BEGIN
768: node := XMLDOM.cloneNode(l_tmplXplNode, TRUE);
762: --
763: FUNCTION newExplanationNode(p_explanation IN VARCHAR2)
764: RETURN XMLDOM.DOMNode
765: IS
766: node XMLDOM.DOMNode;
767: BEGIN
768: node := XMLDOM.cloneNode(l_tmplXplNode, TRUE);
769: XMLDOM.setNodeValue(XMLDOM.getFirstChild(node), p_explanation);
770: RETURN node;
764: RETURN XMLDOM.DOMNode
765: IS
766: node XMLDOM.DOMNode;
767: BEGIN
768: node := XMLDOM.cloneNode(l_tmplXplNode, TRUE);
769: XMLDOM.setNodeValue(XMLDOM.getFirstChild(node), p_explanation);
770: RETURN node;
771: END newExplanationNode;
772:
765: IS
766: node XMLDOM.DOMNode;
767: BEGIN
768: node := XMLDOM.cloneNode(l_tmplXplNode, TRUE);
769: XMLDOM.setNodeValue(XMLDOM.getFirstChild(node), p_explanation);
770: RETURN node;
771: END newExplanationNode;
772:
773: --------------------------------------------------------------------------------
771: END newExplanationNode;
772:
773: --------------------------------------------------------------------------------
774: FUNCTION newViolationNode(p_msg_tbl v2k_tbl_type)
775: RETURN XMLDOM.DOMNode
776: IS
777: node XMLDOM.DOMNode;
778: tempNode XMLDOM.DOMNode;
779: BEGIN
773: --------------------------------------------------------------------------------
774: FUNCTION newViolationNode(p_msg_tbl v2k_tbl_type)
775: RETURN XMLDOM.DOMNode
776: IS
777: node XMLDOM.DOMNode;
778: tempNode XMLDOM.DOMNode;
779: BEGIN
780: node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_VIOLATIONS));
781: FOR i IN p_msg_tbl.FIRST .. p_msg_tbl.LAST LOOP
774: FUNCTION newViolationNode(p_msg_tbl v2k_tbl_type)
775: RETURN XMLDOM.DOMNode
776: IS
777: node XMLDOM.DOMNode;
778: tempNode XMLDOM.DOMNode;
779: BEGIN
780: node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_VIOLATIONS));
781: FOR i IN p_msg_tbl.FIRST .. p_msg_tbl.LAST LOOP
782: tempNode := XMLDOM.appendChild(node, newExplanationNode(p_msg_tbl(i)));
776: IS
777: node XMLDOM.DOMNode;
778: tempNode XMLDOM.DOMNode;
779: BEGIN
780: node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_VIOLATIONS));
781: FOR i IN p_msg_tbl.FIRST .. p_msg_tbl.LAST LOOP
782: tempNode := XMLDOM.appendChild(node, newExplanationNode(p_msg_tbl(i)));
783: END LOOP;
784: RETURN node;
778: tempNode XMLDOM.DOMNode;
779: BEGIN
780: node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_VIOLATIONS));
781: FOR i IN p_msg_tbl.FIRST .. p_msg_tbl.LAST LOOP
782: tempNode := XMLDOM.appendChild(node, newExplanationNode(p_msg_tbl(i)));
783: END LOOP;
784: RETURN node;
785: END newViolationNode;
786:
788: --
790: -- toCompId="1676995128" toCompName="Floor-1" toCompType="Floor"/>
791: FUNCTION newConnectorNode(p_conn_rec conn_rec_type)
792: RETURN XMLDOM.DOMNode
793: IS
794: node XMLDOM.DOMNode;
795: attrs XMLDOM.DOMNamedNodeMap;
796: BEGIN
790: -- toCompId="1676995128" toCompName="Floor-1" toCompType="Floor"/>
791: FUNCTION newConnectorNode(p_conn_rec conn_rec_type)
792: RETURN XMLDOM.DOMNode
793: IS
794: node XMLDOM.DOMNode;
795: attrs XMLDOM.DOMNamedNodeMap;
796: BEGIN
797: node := XMLDOM.cloneNode(l_tmplConNode, FALSE);
798: attrs := XMLDOM.getAttributes(node);
791: FUNCTION newConnectorNode(p_conn_rec conn_rec_type)
792: RETURN XMLDOM.DOMNode
793: IS
794: node XMLDOM.DOMNode;
795: attrs XMLDOM.DOMNamedNodeMap;
796: BEGIN
797: node := XMLDOM.cloneNode(l_tmplConNode, FALSE);
798: attrs := XMLDOM.getAttributes(node);
799: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_conn_rec.id);
793: IS
794: node XMLDOM.DOMNode;
795: attrs XMLDOM.DOMNamedNodeMap;
796: BEGIN
797: node := XMLDOM.cloneNode(l_tmplConNode, FALSE);
798: attrs := XMLDOM.getAttributes(node);
799: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_conn_rec.id);
800: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_conn_rec.name);
801: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_conn_rec.ref);
794: node XMLDOM.DOMNode;
795: attrs XMLDOM.DOMNamedNodeMap;
796: BEGIN
797: node := XMLDOM.cloneNode(l_tmplConNode, FALSE);
798: attrs := XMLDOM.getAttributes(node);
799: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_conn_rec.id);
800: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_conn_rec.name);
801: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_conn_rec.ref);
802: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_conn_rec.fromCompID);
795: attrs XMLDOM.DOMNamedNodeMap;
796: BEGIN
797: node := XMLDOM.cloneNode(l_tmplConNode, FALSE);
798: attrs := XMLDOM.getAttributes(node);
799: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_conn_rec.id);
800: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_conn_rec.name);
801: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_conn_rec.ref);
802: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_conn_rec.fromCompID);
803: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 4)), p_conn_rec.fromCompName);
796: BEGIN
797: node := XMLDOM.cloneNode(l_tmplConNode, FALSE);
798: attrs := XMLDOM.getAttributes(node);
799: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_conn_rec.id);
800: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_conn_rec.name);
801: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_conn_rec.ref);
802: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_conn_rec.fromCompID);
803: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 4)), p_conn_rec.fromCompName);
804: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 5)), p_conn_rec.fromCompType);
797: node := XMLDOM.cloneNode(l_tmplConNode, FALSE);
798: attrs := XMLDOM.getAttributes(node);
799: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_conn_rec.id);
800: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_conn_rec.name);
801: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_conn_rec.ref);
802: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_conn_rec.fromCompID);
803: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 4)), p_conn_rec.fromCompName);
804: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 5)), p_conn_rec.fromCompType);
805: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 6)), p_conn_rec.toCompID);
798: attrs := XMLDOM.getAttributes(node);
799: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_conn_rec.id);
800: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_conn_rec.name);
801: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_conn_rec.ref);
802: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_conn_rec.fromCompID);
803: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 4)), p_conn_rec.fromCompName);
804: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 5)), p_conn_rec.fromCompType);
805: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 6)), p_conn_rec.toCompID);
806: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 7)), p_conn_rec.toCompName);
799: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 0)), p_conn_rec.id);
800: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_conn_rec.name);
801: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_conn_rec.ref);
802: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_conn_rec.fromCompID);
803: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 4)), p_conn_rec.fromCompName);
804: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 5)), p_conn_rec.fromCompType);
805: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 6)), p_conn_rec.toCompID);
806: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 7)), p_conn_rec.toCompName);
807: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 8)), p_conn_rec.toCompType);
800: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 1)), p_conn_rec.name);
801: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_conn_rec.ref);
802: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_conn_rec.fromCompID);
803: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 4)), p_conn_rec.fromCompName);
804: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 5)), p_conn_rec.fromCompType);
805: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 6)), p_conn_rec.toCompID);
806: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 7)), p_conn_rec.toCompName);
807: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 8)), p_conn_rec.toCompType);
808: RETURN node;
801: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 2)), p_conn_rec.ref);
802: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_conn_rec.fromCompID);
803: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 4)), p_conn_rec.fromCompName);
804: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 5)), p_conn_rec.fromCompType);
805: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 6)), p_conn_rec.toCompID);
806: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 7)), p_conn_rec.toCompName);
807: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 8)), p_conn_rec.toCompType);
808: RETURN node;
809: END newConnectorNode;
802: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 3)), p_conn_rec.fromCompID);
803: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 4)), p_conn_rec.fromCompName);
804: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 5)), p_conn_rec.fromCompType);
805: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 6)), p_conn_rec.toCompID);
806: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 7)), p_conn_rec.toCompName);
807: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 8)), p_conn_rec.toCompType);
808: RETURN node;
809: END newConnectorNode;
810:
803: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 4)), p_conn_rec.fromCompName);
804: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 5)), p_conn_rec.fromCompType);
805: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 6)), p_conn_rec.toCompID);
806: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 7)), p_conn_rec.toCompName);
807: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(attrs, 8)), p_conn_rec.toCompType);
808: RETURN node;
809: END newConnectorNode;
810:
811: --------------------------------------------------------------------------------
1195: ,l_check_delta
1196: );
1197:
1198: l_ndebug:=90;
1199: l_doc := XMLDOM.newDomDocument(XMLType(l_init_xml_str));
1200: l_docelm := XMLDOM.getDocumentElement(l_doc);
1201: l_sections := XMLDOM.getChildNodes(XMLDOM.makeNode(l_docelm));
1202:
1203: l_templateNode := XMLDOM.item(l_sections, 0);
1196: );
1197:
1198: l_ndebug:=90;
1199: l_doc := XMLDOM.newDomDocument(XMLType(l_init_xml_str));
1200: l_docelm := XMLDOM.getDocumentElement(l_doc);
1201: l_sections := XMLDOM.getChildNodes(XMLDOM.makeNode(l_docelm));
1202:
1203: l_templateNode := XMLDOM.item(l_sections, 0);
1204: l_tmplNodes := XMLDOM.getChildNodes(l_templateNode);
1197:
1198: l_ndebug:=90;
1199: l_doc := XMLDOM.newDomDocument(XMLType(l_init_xml_str));
1200: l_docelm := XMLDOM.getDocumentElement(l_doc);
1201: l_sections := XMLDOM.getChildNodes(XMLDOM.makeNode(l_docelm));
1202:
1203: l_templateNode := XMLDOM.item(l_sections, 0);
1204: l_tmplNodes := XMLDOM.getChildNodes(l_templateNode);
1205: l_tmplCcNode := xmldom.item(l_tmplNodes, 0);
1199: l_doc := XMLDOM.newDomDocument(XMLType(l_init_xml_str));
1200: l_docelm := XMLDOM.getDocumentElement(l_doc);
1201: l_sections := XMLDOM.getChildNodes(XMLDOM.makeNode(l_docelm));
1202:
1203: l_templateNode := XMLDOM.item(l_sections, 0);
1204: l_tmplNodes := XMLDOM.getChildNodes(l_templateNode);
1205: l_tmplCcNode := xmldom.item(l_tmplNodes, 0);
1206: l_tmplChNode := xmldom.item(l_tmplNodes, 1);
1207: l_tmplAtNode := xmldom.item(l_tmplNodes, 2);
1200: l_docelm := XMLDOM.getDocumentElement(l_doc);
1201: l_sections := XMLDOM.getChildNodes(XMLDOM.makeNode(l_docelm));
1202:
1203: l_templateNode := XMLDOM.item(l_sections, 0);
1204: l_tmplNodes := XMLDOM.getChildNodes(l_templateNode);
1205: l_tmplCcNode := xmldom.item(l_tmplNodes, 0);
1206: l_tmplChNode := xmldom.item(l_tmplNodes, 1);
1207: l_tmplAtNode := xmldom.item(l_tmplNodes, 2);
1208: l_tmplNumNode := xmldom.item(l_tmplNodes, 3);
1201: l_sections := XMLDOM.getChildNodes(XMLDOM.makeNode(l_docelm));
1202:
1203: l_templateNode := XMLDOM.item(l_sections, 0);
1204: l_tmplNodes := XMLDOM.getChildNodes(l_templateNode);
1205: l_tmplCcNode := xmldom.item(l_tmplNodes, 0);
1206: l_tmplChNode := xmldom.item(l_tmplNodes, 1);
1207: l_tmplAtNode := xmldom.item(l_tmplNodes, 2);
1208: l_tmplNumNode := xmldom.item(l_tmplNodes, 3);
1209: l_tmplXplNode := xmldom.item(l_tmplNodes, 4);
1202:
1203: l_templateNode := XMLDOM.item(l_sections, 0);
1204: l_tmplNodes := XMLDOM.getChildNodes(l_templateNode);
1205: l_tmplCcNode := xmldom.item(l_tmplNodes, 0);
1206: l_tmplChNode := xmldom.item(l_tmplNodes, 1);
1207: l_tmplAtNode := xmldom.item(l_tmplNodes, 2);
1208: l_tmplNumNode := xmldom.item(l_tmplNodes, 3);
1209: l_tmplXplNode := xmldom.item(l_tmplNodes, 4);
1210: l_tmplComNode := xmldom.item(l_tmplNodes, 5);
1203: l_templateNode := XMLDOM.item(l_sections, 0);
1204: l_tmplNodes := XMLDOM.getChildNodes(l_templateNode);
1205: l_tmplCcNode := xmldom.item(l_tmplNodes, 0);
1206: l_tmplChNode := xmldom.item(l_tmplNodes, 1);
1207: l_tmplAtNode := xmldom.item(l_tmplNodes, 2);
1208: l_tmplNumNode := xmldom.item(l_tmplNodes, 3);
1209: l_tmplXplNode := xmldom.item(l_tmplNodes, 4);
1210: l_tmplComNode := xmldom.item(l_tmplNodes, 5);
1211: l_tmplDeNode := xmldom.item(l_tmplNodes, 6);
1204: l_tmplNodes := XMLDOM.getChildNodes(l_templateNode);
1205: l_tmplCcNode := xmldom.item(l_tmplNodes, 0);
1206: l_tmplChNode := xmldom.item(l_tmplNodes, 1);
1207: l_tmplAtNode := xmldom.item(l_tmplNodes, 2);
1208: l_tmplNumNode := xmldom.item(l_tmplNodes, 3);
1209: l_tmplXplNode := xmldom.item(l_tmplNodes, 4);
1210: l_tmplComNode := xmldom.item(l_tmplNodes, 5);
1211: l_tmplDeNode := xmldom.item(l_tmplNodes, 6);
1212: l_tmplConNode := xmldom.item(l_tmplNodes, 7);
1205: l_tmplCcNode := xmldom.item(l_tmplNodes, 0);
1206: l_tmplChNode := xmldom.item(l_tmplNodes, 1);
1207: l_tmplAtNode := xmldom.item(l_tmplNodes, 2);
1208: l_tmplNumNode := xmldom.item(l_tmplNodes, 3);
1209: l_tmplXplNode := xmldom.item(l_tmplNodes, 4);
1210: l_tmplComNode := xmldom.item(l_tmplNodes, 5);
1211: l_tmplDeNode := xmldom.item(l_tmplNodes, 6);
1212: l_tmplConNode := xmldom.item(l_tmplNodes, 7);
1213:
1206: l_tmplChNode := xmldom.item(l_tmplNodes, 1);
1207: l_tmplAtNode := xmldom.item(l_tmplNodes, 2);
1208: l_tmplNumNode := xmldom.item(l_tmplNodes, 3);
1209: l_tmplXplNode := xmldom.item(l_tmplNodes, 4);
1210: l_tmplComNode := xmldom.item(l_tmplNodes, 5);
1211: l_tmplDeNode := xmldom.item(l_tmplNodes, 6);
1212: l_tmplConNode := xmldom.item(l_tmplNodes, 7);
1213:
1214: l_sectionMainNode := XMLDOM.item(l_sections, 1); --
1207: l_tmplAtNode := xmldom.item(l_tmplNodes, 2);
1208: l_tmplNumNode := xmldom.item(l_tmplNodes, 3);
1209: l_tmplXplNode := xmldom.item(l_tmplNodes, 4);
1210: l_tmplComNode := xmldom.item(l_tmplNodes, 5);
1211: l_tmplDeNode := xmldom.item(l_tmplNodes, 6);
1212: l_tmplConNode := xmldom.item(l_tmplNodes, 7);
1213:
1214: l_sectionMainNode := XMLDOM.item(l_sections, 1); --
1215: l_componentsNode := XMLDOM.getFirstChild(l_sectionMainNode); --
1208: l_tmplNumNode := xmldom.item(l_tmplNodes, 3);
1209: l_tmplXplNode := xmldom.item(l_tmplNodes, 4);
1210: l_tmplComNode := xmldom.item(l_tmplNodes, 5);
1211: l_tmplDeNode := xmldom.item(l_tmplNodes, 6);
1212: l_tmplConNode := xmldom.item(l_tmplNodes, 7);
1213:
1214: l_sectionMainNode := XMLDOM.item(l_sections, 1); --
1215: l_componentsNode := XMLDOM.getFirstChild(l_sectionMainNode); --
1216: l_structNode := XMLDOM.getNextSibling(l_componentsNode); --
1210: l_tmplComNode := xmldom.item(l_tmplNodes, 5);
1211: l_tmplDeNode := xmldom.item(l_tmplNodes, 6);
1212: l_tmplConNode := xmldom.item(l_tmplNodes, 7);
1213:
1214: l_sectionMainNode := XMLDOM.item(l_sections, 1); --
1216: l_structNode := XMLDOM.getNextSibling(l_componentsNode); --
1217:
1218: IF l_has_pkg_component THEN
1211: l_tmplDeNode := xmldom.item(l_tmplNodes, 6);
1212: l_tmplConNode := xmldom.item(l_tmplNodes, 7);
1213:
1214: l_sectionMainNode := XMLDOM.item(l_sections, 1); --
1215: l_componentsNode := XMLDOM.getFirstChild(l_sectionMainNode); --
1217:
1218: IF l_has_pkg_component THEN
1219: l_pkgComponentsNode := XMLDOM.getFirstChild(XMLDOM.item(l_sections, 2));
1212: l_tmplConNode := xmldom.item(l_tmplNodes, 7);
1213:
1214: l_sectionMainNode := XMLDOM.item(l_sections, 1); --
1215: l_componentsNode := XMLDOM.getFirstChild(l_sectionMainNode); --
1216: l_structNode := XMLDOM.getNextSibling(l_componentsNode); --
1218: IF l_has_pkg_component THEN
1219: l_pkgComponentsNode := XMLDOM.getFirstChild(XMLDOM.item(l_sections, 2));
1220: END IF;
1215: l_componentsNode := XMLDOM.getFirstChild(l_sectionMainNode); --
1216: l_structNode := XMLDOM.getNextSibling(l_componentsNode); --
1217:
1218: IF l_has_pkg_component THEN
1219: l_pkgComponentsNode := XMLDOM.getFirstChild(XMLDOM.item(l_sections, 2));
1220: END IF;
1221:
1222: IF l_rpt_recur_price THEN --
1223: IF l_has_pkg_component THEN
1220: END IF;
1221:
1222: IF l_rpt_recur_price THEN --
1223: IF l_has_pkg_component THEN
1224: l_prcNumericValuesNode := XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.item(l_sections, 3)))));
1225: ELSE
1226: l_prcNumericValuesNode := XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.item(l_sections, 2)))));
1227: END IF;
1228: END IF;
1222: IF l_rpt_recur_price THEN --
1223: IF l_has_pkg_component THEN
1224: l_prcNumericValuesNode := XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.item(l_sections, 3)))));
1225: ELSE
1226: l_prcNumericValuesNode := XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.getFirstChild(XMLDOM.item(l_sections, 2)))));
1227: END IF;
1228: END IF;
1229:
1230: /* *** delta_info part *** */
1228: END IF;
1229:
1230: /* *** delta_info part *** */
1231: IF l_check_delta THEN
1232: l_delta_info_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_DELTA_INFO));
1233:
1234: l_component_adds_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_COMPONENT_ADDS));
1235:
1236: l_component_deletes_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_COMPONENT_DELETES));
1230: /* *** delta_info part *** */
1231: IF l_check_delta THEN
1232: l_delta_info_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_DELTA_INFO));
1233:
1234: l_component_adds_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_COMPONENT_ADDS));
1235:
1236: l_component_deletes_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_COMPONENT_DELETES));
1237:
1238: l_tmp_Node := XMLDOM.appendChild(l_delta_info_Node, l_component_adds_Node);
1232: l_delta_info_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_DELTA_INFO));
1233:
1234: l_component_adds_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_COMPONENT_ADDS));
1235:
1236: l_component_deletes_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_COMPONENT_DELETES));
1237:
1238: l_tmp_Node := XMLDOM.appendChild(l_delta_info_Node, l_component_adds_Node);
1239:
1240: l_tmp_Node := XMLDOM.appendChild(l_delta_info_Node, l_component_deletes_Node);
1234: l_component_adds_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_COMPONENT_ADDS));
1235:
1236: l_component_deletes_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_COMPONENT_DELETES));
1237:
1238: l_tmp_Node := XMLDOM.appendChild(l_delta_info_Node, l_component_adds_Node);
1239:
1240: l_tmp_Node := XMLDOM.appendChild(l_delta_info_Node, l_component_deletes_Node);
1241:
1242: l_tmp_Node := XMLDOM.appendChild(xmldom.makeNode(l_docelm), l_delta_info_Node);
1236: l_component_deletes_Node := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_COMPONENT_DELETES));
1237:
1238: l_tmp_Node := XMLDOM.appendChild(l_delta_info_Node, l_component_adds_Node);
1239:
1240: l_tmp_Node := XMLDOM.appendChild(l_delta_info_Node, l_component_deletes_Node);
1241:
1242: l_tmp_Node := XMLDOM.appendChild(xmldom.makeNode(l_docelm), l_delta_info_Node);
1243:
1244: get_config_item_data(p_baseline_config_hdr_id, p_baseline_config_rev_nbr, l_baseline_cfg_tbl);
1238: l_tmp_Node := XMLDOM.appendChild(l_delta_info_Node, l_component_adds_Node);
1239:
1240: l_tmp_Node := XMLDOM.appendChild(l_delta_info_Node, l_component_deletes_Node);
1241:
1242: l_tmp_Node := XMLDOM.appendChild(xmldom.makeNode(l_docelm), l_delta_info_Node);
1243:
1244: get_config_item_data(p_baseline_config_hdr_id, p_baseline_config_rev_nbr, l_baseline_cfg_tbl);
1245:
1246: FOR itm IN(SELECT parent_config_item_id,name,ps_node_name,instance_nbr FROM CZ_CONFIG_ITEMS
1262: l_comp_name := NVL(itm.name, itm.ps_node_name||'-'||itm.instance_nbr);
1263: END IF;
1264:
1265: l_delta_cfgCompNode := newCfgComponentNode(l_comp_name, itm.ps_node_name);
1266: l_tmp_Node := XMLDOM.appendChild(l_component_deletes_Node, l_delta_cfgCompNode);
1267: END LOOP;
1268:
1269: END IF;
1270: /* *** end of delta_info part *** */
1295: l_model_id := l_item_prj_map(i.parent_config_item_id);
1296: l_comp_name := NVL(i.name, i.ps_node_name||'-'||i.instance_nbr);
1297: END IF;
1298: l_cfgCompNode := newCfgComponentNode(l_comp_name, i.ps_node_name);
1299: l_tempNode := XMLDOM.appendChild(l_componentsNode, l_cfgCompNode);
1300: l_structCfgCompNode := XMLDOM.cloneNode(l_cfgCompNode, TRUE);
1301: l_domnode_map(i.config_item_id) := l_structCfgCompNode;
1302: IF l_is_root_comp THEN
1303: l_tempNode := XMLDOM.appendChild(l_structNode, l_structCfgCompNode);
1296: l_comp_name := NVL(i.name, i.ps_node_name||'-'||i.instance_nbr);
1297: END IF;
1298: l_cfgCompNode := newCfgComponentNode(l_comp_name, i.ps_node_name);
1299: l_tempNode := XMLDOM.appendChild(l_componentsNode, l_cfgCompNode);
1300: l_structCfgCompNode := XMLDOM.cloneNode(l_cfgCompNode, TRUE);
1301: l_domnode_map(i.config_item_id) := l_structCfgCompNode;
1302: IF l_is_root_comp THEN
1303: l_tempNode := XMLDOM.appendChild(l_structNode, l_structCfgCompNode);
1304: ELSE
1299: l_tempNode := XMLDOM.appendChild(l_componentsNode, l_cfgCompNode);
1300: l_structCfgCompNode := XMLDOM.cloneNode(l_cfgCompNode, TRUE);
1301: l_domnode_map(i.config_item_id) := l_structCfgCompNode;
1302: IF l_is_root_comp THEN
1303: l_tempNode := XMLDOM.appendChild(l_structNode, l_structCfgCompNode);
1304: ELSE
1305: l_tempNode := XMLDOM.appendChild(l_domnode_map(i.parent_config_item_id), l_structCfgCompNode);
1306: END IF;
1307:
1301: l_domnode_map(i.config_item_id) := l_structCfgCompNode;
1302: IF l_is_root_comp THEN
1303: l_tempNode := XMLDOM.appendChild(l_structNode, l_structCfgCompNode);
1304: ELSE
1305: l_tempNode := XMLDOM.appendChild(l_domnode_map(i.parent_config_item_id), l_structCfgCompNode);
1306: END IF;
1307:
1308: l_pkgConfigurationNode := NULL;
1309: l_pkgCfgCompNode := NULL;
1308: l_pkgConfigurationNode := NULL;
1309: l_pkgCfgCompNode := NULL;
1310: l_is_pkg_component := l_prj_psn_osr_map.EXISTS(l_model_id) AND l_prj_psn_osr_map(l_model_id).EXISTS(i.ps_node_id);
1311: IF l_is_pkg_component THEN
1312: l_pkgCfgCompNode := XMLDOM.cloneNode(l_cfgCompNode, TRUE);
1313: l_tempnode := XMLDOM.appendChild(l_pkgComponentsNode, l_pkgCfgCompNode);
1314: END IF;
1315:
1316: l_com_msg_tbl.DELETE;
1309: l_pkgCfgCompNode := NULL;
1310: l_is_pkg_component := l_prj_psn_osr_map.EXISTS(l_model_id) AND l_prj_psn_osr_map(l_model_id).EXISTS(i.ps_node_id);
1311: IF l_is_pkg_component THEN
1312: l_pkgCfgCompNode := XMLDOM.cloneNode(l_cfgCompNode, TRUE);
1313: l_tempnode := XMLDOM.appendChild(l_pkgComponentsNode, l_pkgCfgCompNode);
1314: END IF;
1315:
1316: l_com_msg_tbl.DELETE;
1317: IF l_cfg_msg_map.EXISTS(i.config_item_id) THEN
1331: IF l_check_delta THEN
1332:
1333: IF NOT(l_baseline_cfg_tbl.EXISTS(i.config_item_id)) THEN
1334: l_delta_cfgCompNode := newCfgComponentNode(l_comp_name, i.ps_node_name);
1335: l_tmp_Node := XMLDOM.appendChild(l_component_adds_Node, l_delta_cfgCompNode);
1336: ELSE
1337: addDeltaComponentNode(TO_CHAR(i.config_item_id), l_comp_name);
1338: END IF;
1339: END IF;
1364: l_connNode := NULL;
1365: l_pkgChNode := NULL;
1366: IF l_is_root_comp THEN
1367: IF l_rpt_total_price AND j.ps_node_name = p_price_info_list(1) THEN
1368: XMLDOM.setValue(XMLDOM.makeAttr(XMLDOM.item(XMLDOM.getAttributes(XMLDOM.makeNode(l_docelm)), 4)), j.item_num_val);
1369: ELSIF l_rpt_recur_price AND
1370: (p_price_info_list.COUNT > 1 AND j.ps_node_name = p_price_info_list(2) OR
1371: p_price_info_list.COUNT > 2 AND j.ps_node_name = p_price_info_list(3) OR
1372: p_price_info_list.COUNT > 3 AND j.ps_node_name = p_price_info_list(4)) THEN
1373: l_typeAttrVal := 'STRING';
1374: IF j.item_val IS NULL AND j.item_num_val IS NOT NULL THEN
1375: l_typeAttrVal := 'DOUBLE';
1376: END IF;
1377: l_tempnode := XMLDOM.appendChild(l_prcNumericValuesNode,
1378: newNumNode(j.ps_node_name, nvl(j.item_val, to_char(j.item_num_val)), l_typeAttrVal));
1379: END IF;
1380: END IF;
1381:
1388: l_parent_item := j.config_item_id;
1389: l_parent_name := j.ps_node_name;
1390: l_parent_psn_type := l_psn_type;
1391: ELSIF l_psn_type = PS_NODE_TYPE_OPTION THEN
1392: IF XMLDOM.isNull(l_configurationNode) THEN
1393: l_configurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1394: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1395: END IF;
1396:
1389: l_parent_name := j.ps_node_name;
1390: l_parent_psn_type := l_psn_type;
1391: ELSIF l_psn_type = PS_NODE_TYPE_OPTION THEN
1392: IF XMLDOM.isNull(l_configurationNode) THEN
1393: l_configurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1394: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1395: END IF;
1396:
1397: IF XMLDOM.isNull(l_choicesNode) THEN
1390: l_parent_psn_type := l_psn_type;
1391: ELSIF l_psn_type = PS_NODE_TYPE_OPTION THEN
1392: IF XMLDOM.isNull(l_configurationNode) THEN
1393: l_configurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1394: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1395: END IF;
1396:
1397: IF XMLDOM.isNull(l_choicesNode) THEN
1398: l_choicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1393: l_configurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1394: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1395: END IF;
1396:
1397: IF XMLDOM.isNull(l_choicesNode) THEN
1398: l_choicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1399: l_tempNode := XMLDOM.appendChild(l_configurationNode, l_choicesNode);
1400: END IF;
1401:
1394: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1395: END IF;
1396:
1397: IF XMLDOM.isNull(l_choicesNode) THEN
1398: l_choicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1399: l_tempNode := XMLDOM.appendChild(l_configurationNode, l_choicesNode);
1400: END IF;
1401:
1402: l_chNode := newChoiceNode(l_parent_name, j.ps_node_name, j.item_num_val);
1395: END IF;
1396:
1397: IF XMLDOM.isNull(l_choicesNode) THEN
1398: l_choicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1399: l_tempNode := XMLDOM.appendChild(l_configurationNode, l_choicesNode);
1400: END IF;
1401:
1402: l_chNode := newChoiceNode(l_parent_name, j.ps_node_name, j.item_num_val);
1403: l_tempNode := XMLDOM.appendChild(l_choicesNode, l_chNode);
1399: l_tempNode := XMLDOM.appendChild(l_configurationNode, l_choicesNode);
1400: END IF;
1401:
1402: l_chNode := newChoiceNode(l_parent_name, j.ps_node_name, j.item_num_val);
1403: l_tempNode := XMLDOM.appendChild(l_choicesNode, l_chNode);
1404:
1405: /* *** delta_info part *** */
1406: IF l_check_delta AND l_exists_in_baseline=FALSE THEN
1407:
1406: IF l_check_delta AND l_exists_in_baseline=FALSE THEN
1407:
1408: IF l_parent_psn_type=OPTION_FEATURE_1_1 THEN
1409:
1410: l_delta_choice_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_DELTA_CHOICE));
1411: l_tempNode := XMLDOM.appendChild(l_choice_changes_Node, l_delta_choice_Node);
1412: xmldom.setAttribute(xmldom.makeElement(l_delta_choice_Node), 'DP', l_parent_name);
1413:
1414: l_choice_prev_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_PREVIOUS));
1407:
1408: IF l_parent_psn_type=OPTION_FEATURE_1_1 THEN
1409:
1410: l_delta_choice_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_DELTA_CHOICE));
1411: l_tempNode := XMLDOM.appendChild(l_choice_changes_Node, l_delta_choice_Node);
1412: xmldom.setAttribute(xmldom.makeElement(l_delta_choice_Node), 'DP', l_parent_name);
1413:
1414: l_choice_prev_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_PREVIOUS));
1415: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_prev_changes_Node);
1408: IF l_parent_psn_type=OPTION_FEATURE_1_1 THEN
1409:
1410: l_delta_choice_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_DELTA_CHOICE));
1411: l_tempNode := XMLDOM.appendChild(l_choice_changes_Node, l_delta_choice_Node);
1412: xmldom.setAttribute(xmldom.makeElement(l_delta_choice_Node), 'DP', l_parent_name);
1413:
1414: l_choice_prev_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_PREVIOUS));
1415: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_prev_changes_Node);
1416:
1410: l_delta_choice_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_DELTA_CHOICE));
1411: l_tempNode := XMLDOM.appendChild(l_choice_changes_Node, l_delta_choice_Node);
1412: xmldom.setAttribute(xmldom.makeElement(l_delta_choice_Node), 'DP', l_parent_name);
1413:
1414: l_choice_prev_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_PREVIOUS));
1415: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_prev_changes_Node);
1416:
1417: l_choice_curr_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CURRENT));
1418: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_curr_changes_Node);
1411: l_tempNode := XMLDOM.appendChild(l_choice_changes_Node, l_delta_choice_Node);
1412: xmldom.setAttribute(xmldom.makeElement(l_delta_choice_Node), 'DP', l_parent_name);
1413:
1414: l_choice_prev_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_PREVIOUS));
1415: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_prev_changes_Node);
1416:
1417: l_choice_curr_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CURRENT));
1418: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_curr_changes_Node);
1419:
1413:
1414: l_choice_prev_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_PREVIOUS));
1415: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_prev_changes_Node);
1416:
1417: l_choice_curr_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CURRENT));
1418: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_curr_changes_Node);
1419:
1420: l_changes_curr_chNode := newChoiceNode(l_parent_name, j.ps_node_name, j.item_num_val);
1421: l_tempNode := XMLDOM.appendChild(l_choice_curr_changes_Node, l_changes_curr_chNode);
1414: l_choice_prev_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_PREVIOUS));
1415: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_prev_changes_Node);
1416:
1417: l_choice_curr_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CURRENT));
1418: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_curr_changes_Node);
1419:
1420: l_changes_curr_chNode := newChoiceNode(l_parent_name, j.ps_node_name, j.item_num_val);
1421: l_tempNode := XMLDOM.appendChild(l_choice_curr_changes_Node, l_changes_curr_chNode);
1422:
1417: l_choice_curr_changes_Node := XMLDOM.makeNode(xmldom.createElement(l_doc, TAG_CURRENT));
1418: l_tempNode := XMLDOM.appendChild(l_delta_choice_Node, l_choice_curr_changes_Node);
1419:
1420: l_changes_curr_chNode := newChoiceNode(l_parent_name, j.ps_node_name, j.item_num_val);
1421: l_tempNode := XMLDOM.appendChild(l_choice_curr_changes_Node, l_changes_curr_chNode);
1422:
1423: IF NOT(l_handled_nodes_tbl.EXISTS(l_parent_name)) THEN
1424:
1425: attachPrevChoices(j.parent_config_item_id,l_parent_name,l_choice_prev_changes_Node);
1430:
1431: l_delta_chNode := newChoiceNode(l_parent_name,
1432: j.ps_node_name,
1433: j.item_num_val);
1434: l_tempNode := XMLDOM.appendChild(l_choice_adds_Node, l_delta_chNode);
1435:
1436: IF NOT(l_handled_nodes_tbl.EXISTS(l_parent_name)) THEN
1437: attachPrevChoices(j.parent_config_item_id,l_parent_name,l_choice_deletes_Node);
1438: l_handled_nodes_tbl(l_parent_name) := l_parent_name;
1443: END IF;
1444: /* *** end of delta_info part *** */
1445:
1446: IF l_is_pkg_component THEN
1447: IF XMLDOM.isNull(l_pkgCfgCompNode) THEN
1448: l_pkgCfgCompNode := newCfgComponentNode(NVL(i.name, i.ps_node_name||'-'||i.instance_nbr), i.ps_node_name);
1449: l_tempnode := XMLDOM.appendChild(l_pkgComponentsNode, l_pkgCfgCompNode);
1450: END IF;
1451: IF XMLDOM.isNull(l_pkgConfigurationNode) THEN
1445:
1446: IF l_is_pkg_component THEN
1447: IF XMLDOM.isNull(l_pkgCfgCompNode) THEN
1448: l_pkgCfgCompNode := newCfgComponentNode(NVL(i.name, i.ps_node_name||'-'||i.instance_nbr), i.ps_node_name);
1449: l_tempnode := XMLDOM.appendChild(l_pkgComponentsNode, l_pkgCfgCompNode);
1450: END IF;
1451: IF XMLDOM.isNull(l_pkgConfigurationNode) THEN
1452: l_pkgConfigurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1453: l_tempNode := XMLDOM.appendChild(l_pkgCfgCompNode, l_pkgConfigurationNode);
1447: IF XMLDOM.isNull(l_pkgCfgCompNode) THEN
1448: l_pkgCfgCompNode := newCfgComponentNode(NVL(i.name, i.ps_node_name||'-'||i.instance_nbr), i.ps_node_name);
1449: l_tempnode := XMLDOM.appendChild(l_pkgComponentsNode, l_pkgCfgCompNode);
1450: END IF;
1451: IF XMLDOM.isNull(l_pkgConfigurationNode) THEN
1452: l_pkgConfigurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1453: l_tempNode := XMLDOM.appendChild(l_pkgCfgCompNode, l_pkgConfigurationNode);
1454: END IF;
1455: IF XMLDOM.isNull(l_pkgChoicesNode) THEN
1448: l_pkgCfgCompNode := newCfgComponentNode(NVL(i.name, i.ps_node_name||'-'||i.instance_nbr), i.ps_node_name);
1449: l_tempnode := XMLDOM.appendChild(l_pkgComponentsNode, l_pkgCfgCompNode);
1450: END IF;
1451: IF XMLDOM.isNull(l_pkgConfigurationNode) THEN
1452: l_pkgConfigurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1453: l_tempNode := XMLDOM.appendChild(l_pkgCfgCompNode, l_pkgConfigurationNode);
1454: END IF;
1455: IF XMLDOM.isNull(l_pkgChoicesNode) THEN
1456: l_pkgChoicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1449: l_tempnode := XMLDOM.appendChild(l_pkgComponentsNode, l_pkgCfgCompNode);
1450: END IF;
1451: IF XMLDOM.isNull(l_pkgConfigurationNode) THEN
1452: l_pkgConfigurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1453: l_tempNode := XMLDOM.appendChild(l_pkgCfgCompNode, l_pkgConfigurationNode);
1454: END IF;
1455: IF XMLDOM.isNull(l_pkgChoicesNode) THEN
1456: l_pkgChoicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1457: l_tempNode := XMLDOM.appendChild(l_pkgConfigurationNode, l_pkgChoicesNode);
1451: IF XMLDOM.isNull(l_pkgConfigurationNode) THEN
1452: l_pkgConfigurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1453: l_tempNode := XMLDOM.appendChild(l_pkgCfgCompNode, l_pkgConfigurationNode);
1454: END IF;
1455: IF XMLDOM.isNull(l_pkgChoicesNode) THEN
1456: l_pkgChoicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1457: l_tempNode := XMLDOM.appendChild(l_pkgConfigurationNode, l_pkgChoicesNode);
1458: END IF;
1459: l_pkgChNode := XMLDOM.cloneNode(l_chNode, true);
1452: l_pkgConfigurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1453: l_tempNode := XMLDOM.appendChild(l_pkgCfgCompNode, l_pkgConfigurationNode);
1454: END IF;
1455: IF XMLDOM.isNull(l_pkgChoicesNode) THEN
1456: l_pkgChoicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1457: l_tempNode := XMLDOM.appendChild(l_pkgConfigurationNode, l_pkgChoicesNode);
1458: END IF;
1459: l_pkgChNode := XMLDOM.cloneNode(l_chNode, true);
1460: l_tempNode := XMLDOM.appendChild(l_pkgChoicesNode, l_pkgChNode);
1453: l_tempNode := XMLDOM.appendChild(l_pkgCfgCompNode, l_pkgConfigurationNode);
1454: END IF;
1455: IF XMLDOM.isNull(l_pkgChoicesNode) THEN
1456: l_pkgChoicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1457: l_tempNode := XMLDOM.appendChild(l_pkgConfigurationNode, l_pkgChoicesNode);
1458: END IF;
1459: l_pkgChNode := XMLDOM.cloneNode(l_chNode, true);
1460: l_tempNode := XMLDOM.appendChild(l_pkgChoicesNode, l_pkgChNode);
1461: END IF;
1455: IF XMLDOM.isNull(l_pkgChoicesNode) THEN
1456: l_pkgChoicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1457: l_tempNode := XMLDOM.appendChild(l_pkgConfigurationNode, l_pkgChoicesNode);
1458: END IF;
1459: l_pkgChNode := XMLDOM.cloneNode(l_chNode, true);
1460: l_tempNode := XMLDOM.appendChild(l_pkgChoicesNode, l_pkgChNode);
1461: END IF;
1462: ELSIF l_psn_type = PS_NODE_TYPE_CONNECTOR THEN -- l_conn_map.EXISTS(j.config_item_id)
1463: l_conn_map(j.config_item_id).fromCompID := i.config_item_id;
1456: l_pkgChoicesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CHOICES));
1457: l_tempNode := XMLDOM.appendChild(l_pkgConfigurationNode, l_pkgChoicesNode);
1458: END IF;
1459: l_pkgChNode := XMLDOM.cloneNode(l_chNode, true);
1460: l_tempNode := XMLDOM.appendChild(l_pkgChoicesNode, l_pkgChNode);
1461: END IF;
1462: ELSIF l_psn_type = PS_NODE_TYPE_CONNECTOR THEN -- l_conn_map.EXISTS(j.config_item_id)
1463: l_conn_map(j.config_item_id).fromCompID := i.config_item_id;
1464: l_conn_map(j.config_item_id).fromCompName := NVL(i.name, i.ps_node_name||'-'||i.instance_nbr);
1463: l_conn_map(j.config_item_id).fromCompID := i.config_item_id;
1464: l_conn_map(j.config_item_id).fromCompName := NVL(i.name, i.ps_node_name||'-'||i.instance_nbr);
1465: l_conn_map(j.config_item_id).fromCompType := i.ps_node_name;
1466: l_connNode := newConnectorNode(l_conn_map(j.config_item_id));
1467: l_tempNode := XMLDOM.appendChild(l_CfgCompNode, l_connNode);
1468: l_tempNode := XMLDOM.appendChild(l_structCfgCompNode, XMLDOM.cloneNode(l_connNode, FALSE));
1469: ELSE
1470:
1471: IF XMLDOM.isNull(l_configurationNode) THEN
1464: l_conn_map(j.config_item_id).fromCompName := NVL(i.name, i.ps_node_name||'-'||i.instance_nbr);
1465: l_conn_map(j.config_item_id).fromCompType := i.ps_node_name;
1466: l_connNode := newConnectorNode(l_conn_map(j.config_item_id));
1467: l_tempNode := XMLDOM.appendChild(l_CfgCompNode, l_connNode);
1468: l_tempNode := XMLDOM.appendChild(l_structCfgCompNode, XMLDOM.cloneNode(l_connNode, FALSE));
1469: ELSE
1470:
1471: IF XMLDOM.isNull(l_configurationNode) THEN
1472: l_configurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1467: l_tempNode := XMLDOM.appendChild(l_CfgCompNode, l_connNode);
1468: l_tempNode := XMLDOM.appendChild(l_structCfgCompNode, XMLDOM.cloneNode(l_connNode, FALSE));
1469: ELSE
1470:
1471: IF XMLDOM.isNull(l_configurationNode) THEN
1472: l_configurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1473: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1474: END IF;
1475: IF XMLDOM.isNull(l_numericValuesNode) THEN
1468: l_tempNode := XMLDOM.appendChild(l_structCfgCompNode, XMLDOM.cloneNode(l_connNode, FALSE));
1469: ELSE
1470:
1471: IF XMLDOM.isNull(l_configurationNode) THEN
1472: l_configurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1473: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1474: END IF;
1475: IF XMLDOM.isNull(l_numericValuesNode) THEN
1476: l_numericValuesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_NUMERIC_VALUES));
1469: ELSE
1470:
1471: IF XMLDOM.isNull(l_configurationNode) THEN
1472: l_configurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1473: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1474: END IF;
1475: IF XMLDOM.isNull(l_numericValuesNode) THEN
1476: l_numericValuesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_NUMERIC_VALUES));
1477: l_tempNode := XMLDOM.appendChild(XMLDOM.getFirstChild(l_cfgCompNode), l_numericValuesNode);
1471: IF XMLDOM.isNull(l_configurationNode) THEN
1472: l_configurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1473: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1474: END IF;
1475: IF XMLDOM.isNull(l_numericValuesNode) THEN
1476: l_numericValuesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_NUMERIC_VALUES));
1477: l_tempNode := XMLDOM.appendChild(XMLDOM.getFirstChild(l_cfgCompNode), l_numericValuesNode);
1478: END IF;
1479: IF l_prj_psn_type_map(l_model_id)(j.ps_node_id) = TEXT_FEATURE THEN
1472: l_configurationNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_CONFIGURATION));
1473: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1474: END IF;
1475: IF XMLDOM.isNull(l_numericValuesNode) THEN
1476: l_numericValuesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_NUMERIC_VALUES));
1477: l_tempNode := XMLDOM.appendChild(XMLDOM.getFirstChild(l_cfgCompNode), l_numericValuesNode);
1478: END IF;
1479: IF l_prj_psn_type_map(l_model_id)(j.ps_node_id) = TEXT_FEATURE THEN
1480: l_numNode := newNumNode(j.ps_node_name, j.item_val, 'String');
1473: l_tempNode := XMLDOM.appendChild(l_cfgCompNode, l_configurationNode);
1474: END IF;
1475: IF XMLDOM.isNull(l_numericValuesNode) THEN
1476: l_numericValuesNode := XMLDOM.makeNode(XMLDOM.createElement(l_doc, TAG_NUMERIC_VALUES));
1477: l_tempNode := XMLDOM.appendChild(XMLDOM.getFirstChild(l_cfgCompNode), l_numericValuesNode);
1478: END IF;
1479: IF l_prj_psn_type_map(l_model_id)(j.ps_node_id) = TEXT_FEATURE THEN
1480: l_numNode := newNumNode(j.ps_node_name, j.item_val, 'String');
1481:
1512: END IF;
1513: /* *** end of delta_info part *** */
1514:
1515: END IF;
1516: l_tempNode := XMLDOM.appendChild(l_numericValuesNode, l_numNode);
1517: END IF;
1518:
1519: l_ndebug:=220;
1520: l_msg_tbl.DELETE;
1523: IF l_psn_type IN (PS_NODE_TYPE_OPTION,NUM_FEATURE,TEXT_FEATURE,PS_NODE_TYPE_CONNECTOR) THEN
1524: l_violationNode := newViolationNode(l_msg_tbl);
1525: END IF;
1526: IF l_psn_type = PS_NODE_TYPE_OPTION THEN
1527: l_tempnode := XMLDOM.appendChild(l_chNode, l_violationNode);
1528: ELSIF l_psn_type = NUM_FEATURE OR l_psn_type = TEXT_FEATURE THEN
1529: l_tempNode := XMLDOM.appendChild(l_numNode, l_violationNode);
1530: ELSIF l_psn_type = PS_NODE_TYPE_CONNECTOR THEN
1531: l_tempNode := XMLDOM.appendChild(l_connNode, l_violationNode);
1525: END IF;
1526: IF l_psn_type = PS_NODE_TYPE_OPTION THEN
1527: l_tempnode := XMLDOM.appendChild(l_chNode, l_violationNode);
1528: ELSIF l_psn_type = NUM_FEATURE OR l_psn_type = TEXT_FEATURE THEN
1529: l_tempNode := XMLDOM.appendChild(l_numNode, l_violationNode);
1530: ELSIF l_psn_type = PS_NODE_TYPE_CONNECTOR THEN
1531: l_tempNode := XMLDOM.appendChild(l_connNode, l_violationNode);
1532: ELSE
1533: l_count := l_com_msg_tbl.COUNT;
1527: l_tempnode := XMLDOM.appendChild(l_chNode, l_violationNode);
1528: ELSIF l_psn_type = NUM_FEATURE OR l_psn_type = TEXT_FEATURE THEN
1529: l_tempNode := XMLDOM.appendChild(l_numNode, l_violationNode);
1530: ELSIF l_psn_type = PS_NODE_TYPE_CONNECTOR THEN
1531: l_tempNode := XMLDOM.appendChild(l_connNode, l_violationNode);
1532: ELSE
1533: l_count := l_com_msg_tbl.COUNT;
1534: FOR m IN l_msg_tbl.FIRST .. l_msg_tbl.LAST LOOP
1535: l_count := l_count + 1;
1547: IF l_psn_type IN (PS_NODE_TYPE_OPTION,NUM_FEATURE,TEXT_FEATURE,PS_NODE_TYPE_CONNECTOR) THEN
1548: l_attrNode := newAttributeNode(l_prp_tbl(n).name, l_prp_tbl(n).val);
1549: END IF;
1550: IF l_psn_type = PS_NODE_TYPE_OPTION THEN
1551: l_tempnode := XMLDOM.appendChild(l_chNode, l_attrNode);
1552: IF l_is_pkg_component THEN
1553: IF NOT l_leadAttrNodeCreated THEN
1554: l_pkgAttrNode := newAttributeNode('0101', l_prj_psn_osr_map(l_model_id)(j.ps_node_id));
1555: l_tempnode := XMLDOM.appendChild(l_pkgChNode, l_pkgAttrNode);
1551: l_tempnode := XMLDOM.appendChild(l_chNode, l_attrNode);
1552: IF l_is_pkg_component THEN
1553: IF NOT l_leadAttrNodeCreated THEN
1554: l_pkgAttrNode := newAttributeNode('0101', l_prj_psn_osr_map(l_model_id)(j.ps_node_id));
1555: l_tempnode := XMLDOM.appendChild(l_pkgChNode, l_pkgAttrNode);
1556: l_leadAttrNodeCreated := TRUE;
1557: END IF;
1558: l_tempnode := XMLDOM.appendChild(l_pkgChNode, XMLDOM.cloneNode(l_attrNode, true));
1559: END IF;
1554: l_pkgAttrNode := newAttributeNode('0101', l_prj_psn_osr_map(l_model_id)(j.ps_node_id));
1555: l_tempnode := XMLDOM.appendChild(l_pkgChNode, l_pkgAttrNode);
1556: l_leadAttrNodeCreated := TRUE;
1557: END IF;
1558: l_tempnode := XMLDOM.appendChild(l_pkgChNode, XMLDOM.cloneNode(l_attrNode, true));
1559: END IF;
1560: ELSIF l_psn_type = NUM_FEATURE OR l_psn_type = TEXT_FEATURE THEN
1561: l_tempNode := XMLDOM.appendChild(l_numNode, l_attrNode);
1562: ELSIF l_psn_type = PS_NODE_TYPE_CONNECTOR THEN
1557: END IF;
1558: l_tempnode := XMLDOM.appendChild(l_pkgChNode, XMLDOM.cloneNode(l_attrNode, true));
1559: END IF;
1560: ELSIF l_psn_type = NUM_FEATURE OR l_psn_type = TEXT_FEATURE THEN
1561: l_tempNode := XMLDOM.appendChild(l_numNode, l_attrNode);
1562: ELSIF l_psn_type = PS_NODE_TYPE_CONNECTOR THEN
1563: l_tempNode := XMLDOM.appendChild(l_connNode, l_attrNode);
1564: ELSIF l_psn_type <> OPTION_FEATURE_1_1 AND l_psn_type <> OPTION_FEATURE_0_N THEN
1565: l_count := l_count + 1;
1559: END IF;
1560: ELSIF l_psn_type = NUM_FEATURE OR l_psn_type = TEXT_FEATURE THEN
1561: l_tempNode := XMLDOM.appendChild(l_numNode, l_attrNode);
1562: ELSIF l_psn_type = PS_NODE_TYPE_CONNECTOR THEN
1563: l_tempNode := XMLDOM.appendChild(l_connNode, l_attrNode);
1564: ELSIF l_psn_type <> OPTION_FEATURE_1_1 AND l_psn_type <> OPTION_FEATURE_0_N THEN
1565: l_count := l_count + 1;
1566: l_com_att_tbl(l_count) := l_prp_tbl(n);
1567: END IF;
1574: END IF;
1575:
1576: IF l_com_msg_tbl.COUNT > 0 THEN
1577: l_violationNode := newViolationNode(l_com_msg_tbl);
1578: l_tempnode := XMLDOM.appendChild(XMLDOM.getFirstChild(l_cfgCompNode), l_violationNode);
1579: END IF;
1580:
1581: IF l_prj_psn_prp_map.EXISTS(l_model_id) AND l_prj_psn_prp_map(l_model_id).EXISTS(i.ps_node_id) THEN
1582: l_prp_tbl := l_prj_psn_prp_map(l_model_id)(i.ps_node_id);
1588:
1589: -- IF l_com_att_tbl IS NOT NULL THEN
1590: FOR k IN l_com_att_tbl.FIRST .. l_com_att_tbl.LAST LOOP
1591: l_attrNode := newAttributeNode(l_com_att_tbl(k).name, l_com_att_tbl(k).val);
1592: l_tempnode := XMLDOM.appendChild(l_cfgCompNode, l_attrNode);
1593: END LOOP;
1594: END IF;
1595:
1596: /* *** delta_info part *** */
1594: END IF;
1595:
1596: /* *** delta_info part *** */
1597: IF l_check_delta THEN
1598: IF NOT(xmldom.hasChildNodes(l_components_Node)) THEN
1599: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_components_Node);
1600: END IF;
1601:
1602: IF NOT(xmldom.hasChildNodes(l_choice_adds_Node)) THEN
1595:
1596: /* *** delta_info part *** */
1597: IF l_check_delta THEN
1598: IF NOT(xmldom.hasChildNodes(l_components_Node)) THEN
1599: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_components_Node);
1600: END IF;
1601:
1602: IF NOT(xmldom.hasChildNodes(l_choice_adds_Node)) THEN
1603: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_adds_Node);
1598: IF NOT(xmldom.hasChildNodes(l_components_Node)) THEN
1599: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_components_Node);
1600: END IF;
1601:
1602: IF NOT(xmldom.hasChildNodes(l_choice_adds_Node)) THEN
1603: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_adds_Node);
1604: END IF;
1605:
1606: IF NOT(xmldom.hasChildNodes(l_choice_deletes_Node)) THEN
1599: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_components_Node);
1600: END IF;
1601:
1602: IF NOT(xmldom.hasChildNodes(l_choice_adds_Node)) THEN
1603: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_adds_Node);
1604: END IF;
1605:
1606: IF NOT(xmldom.hasChildNodes(l_choice_deletes_Node)) THEN
1607: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_deletes_Node);
1602: IF NOT(xmldom.hasChildNodes(l_choice_adds_Node)) THEN
1603: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_adds_Node);
1604: END IF;
1605:
1606: IF NOT(xmldom.hasChildNodes(l_choice_deletes_Node)) THEN
1607: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_deletes_Node);
1608: END IF;
1609:
1610: IF NOT(xmldom.hasChildNodes(l_choice_changes_Node)) THEN
1603: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_adds_Node);
1604: END IF;
1605:
1606: IF NOT(xmldom.hasChildNodes(l_choice_deletes_Node)) THEN
1607: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_deletes_Node);
1608: END IF;
1609:
1610: IF NOT(xmldom.hasChildNodes(l_choice_changes_Node)) THEN
1611: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_changes_Node);
1606: IF NOT(xmldom.hasChildNodes(l_choice_deletes_Node)) THEN
1607: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_deletes_Node);
1608: END IF;
1609:
1610: IF NOT(xmldom.hasChildNodes(l_choice_changes_Node)) THEN
1611: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_changes_Node);
1612: END IF;
1613:
1614: IF NOT(xmldom.hasChildNodes(l_expr_changes_Node)) THEN
1607: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_deletes_Node);
1608: END IF;
1609:
1610: IF NOT(xmldom.hasChildNodes(l_choice_changes_Node)) THEN
1611: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_changes_Node);
1612: END IF;
1613:
1614: IF NOT(xmldom.hasChildNodes(l_expr_changes_Node)) THEN
1615: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_expr_changes_Node);
1610: IF NOT(xmldom.hasChildNodes(l_choice_changes_Node)) THEN
1611: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_changes_Node);
1612: END IF;
1613:
1614: IF NOT(xmldom.hasChildNodes(l_expr_changes_Node)) THEN
1615: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_expr_changes_Node);
1616: END IF;
1617:
1618: END IF;
1611: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_choice_changes_Node);
1612: END IF;
1613:
1614: IF NOT(xmldom.hasChildNodes(l_expr_changes_Node)) THEN
1615: l_tempNode := xmldom.removeChild(l_cfg_delta_Node, l_expr_changes_Node);
1616: END IF;
1617:
1618: END IF;
1619: /* *** end of delta_info part *** */
1621: END LOOP;
1622:
1623: /* *** delta_info part *** */
1624: IF l_check_delta THEN
1625: IF NOT(xmldom.hasChildNodes(l_component_adds_Node)) THEN
1626: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_component_adds_Node);
1627: END IF;
1628: IF NOT(xmldom.hasChildNodes(l_component_deletes_Node)) THEN
1629: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_component_deletes_Node);
1622:
1623: /* *** delta_info part *** */
1624: IF l_check_delta THEN
1625: IF NOT(xmldom.hasChildNodes(l_component_adds_Node)) THEN
1626: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_component_adds_Node);
1627: END IF;
1628: IF NOT(xmldom.hasChildNodes(l_component_deletes_Node)) THEN
1629: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_component_deletes_Node);
1630: END IF;
1624: IF l_check_delta THEN
1625: IF NOT(xmldom.hasChildNodes(l_component_adds_Node)) THEN
1626: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_component_adds_Node);
1627: END IF;
1628: IF NOT(xmldom.hasChildNodes(l_component_deletes_Node)) THEN
1629: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_component_deletes_Node);
1630: END IF;
1631: END IF;
1632: /* *** end of delta_info part *** */
1625: IF NOT(xmldom.hasChildNodes(l_component_adds_Node)) THEN
1626: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_component_adds_Node);
1627: END IF;
1628: IF NOT(xmldom.hasChildNodes(l_component_deletes_Node)) THEN
1629: l_tempNode := xmldom.removeChild(l_delta_info_Node, l_component_deletes_Node);
1630: END IF;
1631: END IF;
1632: /* *** end of delta_info part *** */
1633:
1631: END IF;
1632: /* *** end of delta_info part *** */
1633:
1634: l_ndebug:=250;
1635: l_tempNode := xmldom.removeChild(xmldom.makeNode(l_docelm), l_templateNode);
1636:
1637: x_config_details := ' ';
1638: XMLDOM.writeToClob(l_doc, x_config_details);
1639: XMLDOM.freeDocument(l_doc);
1634: l_ndebug:=250;
1635: l_tempNode := xmldom.removeChild(xmldom.makeNode(l_docelm), l_templateNode);
1636:
1637: x_config_details := ' ';
1638: XMLDOM.writeToClob(l_doc, x_config_details);
1639: XMLDOM.freeDocument(l_doc);
1640: x_return_status := FND_API.G_RET_STS_SUCCESS;
1641:
1642: EXCEPTION
1635: l_tempNode := xmldom.removeChild(xmldom.makeNode(l_docelm), l_templateNode);
1636:
1637: x_config_details := ' ';
1638: XMLDOM.writeToClob(l_doc, x_config_details);
1639: XMLDOM.freeDocument(l_doc);
1640: x_return_status := FND_API.G_RET_STS_SUCCESS;
1641:
1642: EXCEPTION
1643: WHEN FND_API.G_EXC_ERROR THEN
1640: x_return_status := FND_API.G_RET_STS_SUCCESS;
1641:
1642: EXCEPTION
1643: WHEN FND_API.G_EXC_ERROR THEN
1644: XMLDOM.freeDocument(l_doc);
1645: x_return_status := FND_API.G_RET_STS_ERROR;
1646: fnd_msg_pub.count_and_get(p_count => x_msg_count,
1647: p_data => x_msg_data);
1648: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1645: x_return_status := FND_API.G_RET_STS_ERROR;
1646: fnd_msg_pub.count_and_get(p_count => x_msg_count,
1647: p_data => x_msg_data);
1648: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1649: XMLDOM.freeDocument(l_doc);
1650: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1651: fnd_msg_pub.count_and_get(p_count => x_msg_count,
1652: p_data => x_msg_data);
1653: WHEN OTHERS THEN
1650: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1651: fnd_msg_pub.count_and_get(p_count => x_msg_count,
1652: p_data => x_msg_data);
1653: WHEN OTHERS THEN
1654: XMLDOM.freeDocument(l_doc);
1655: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1656: IF fnd_msg_pub.check_msg_Level(fnd_msg_pub.G_MSG_LVL_UNEXP_ERROR) THEN
1657: fnd_msg_pub.add_exc_msg(G_PKG_NAME, l_api_name||'.'||l_ndebug);
1658: END IF;