72: END IF;
73:
74: -- Initialze variables for storing XML Data
75:
76: DBMS_LOB.createtemporary(l_xml_doc, TRUE);
77:
78: /*Bug 7305146*/
79: l_encoding := fnd_profile.value('ICX_CLIENT_IANA_ENCODING');
80: l_xml_header := '';
77:
78: /*Bug 7305146*/
79: l_encoding := fnd_profile.value('ICX_CLIENT_IANA_ENCODING');
80: l_xml_header := '';
81: DBMS_LOB.writeappend (l_xml_doc, length(l_xml_header), l_xml_header);
82:
83: DBMS_LOB.writeappend (l_xml_doc, 8, '
84:
85: -- Initialize message stack
79: l_encoding := fnd_profile.value('ICX_CLIENT_IANA_ENCODING');
80: l_xml_header := '';
81: DBMS_LOB.writeappend (l_xml_doc, length(l_xml_header), l_xml_header);
82:
83: DBMS_LOB.writeappend (l_xml_doc, 8, '
85: -- Initialize message stack
86: FND_MSG_PUB.initialize;
87:
140: END IF;
141:
142: -- write the closing tag to the XML data
143:
144: DBMS_LOB.writeappend (l_xml_doc, 9, '');
145:
146: -- write xml data to the output file
147:
148: l_length := nvl(dbms_lob.getlength(l_xml_doc),0);
144: DBMS_LOB.writeappend (l_xml_doc, 9, '');
145:
146: -- write xml data to the output file
147:
148: l_length := nvl(dbms_lob.getlength(l_xml_doc),0);
149: LOOP
150: EXIT WHEN l_length <= 0;
151: dbms_lob.read (l_xml_doc, l_amount, l_offset, l_buffer);
152: FND_FILE.PUT (FND_FILE.OUTPUT, l_buffer);
147:
148: l_length := nvl(dbms_lob.getlength(l_xml_doc),0);
149: LOOP
150: EXIT WHEN l_length <= 0;
151: dbms_lob.read (l_xml_doc, l_amount, l_offset, l_buffer);
152: FND_FILE.PUT (FND_FILE.OUTPUT, l_buffer);
153: l_length := l_length - l_amount;
154: l_offset := l_offset + l_amount;
155: END LOOP;
164:
165: -- free temporary memory
166:
167: DBMS_XMLGEN.closeContext(l_qryCtx);
168: DBMS_LOB.FREETEMPORARY (l_xml_doc);
169:
170: l_success := FND_CONCURRENT.SET_COMPLETION_STATUS('NORMAL', 'Request Completed Successfully');
171:
172: -- Write the module name to fnd log file
296: x_return_status := FND_API.G_RET_STS_SUCCESS;
297:
298: -- Initialize temporary variable to hold xml data
299:
300: DBMS_LOB.createtemporary(l_xml_temp, TRUE);
301: l_offset := 21;
302:
303: -- select the operating unit for which the program is launched.
304:
371:
372: -- remove the header (21 characters) and append the rest to xml output
373:
374: IF (DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0) THEN
375: DBMS_LOB.erase (l_xml_temp, l_offset,1);
376: DBMS_LOB.append (x_xml_doc, l_xml_temp);
377: END IF;
378:
379: -- close context and free memory
372: -- remove the header (21 characters) and append the rest to xml output
373:
374: IF (DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0) THEN
375: DBMS_LOB.erase (l_xml_temp, l_offset,1);
376: DBMS_LOB.append (x_xml_doc, l_xml_temp);
377: END IF;
378:
379: -- close context and free memory
380:
379: -- close context and free memory
380:
381: DBMS_XMLGEN.closeContext(l_qryCtx);
382: CLOSE l_ref_cur;
383: DBMS_LOB.FREETEMPORARY (l_xml_temp);
384:
385: -- Standard call to get message count and if count is 1, get message info.
386:
387: FND_MSG_PUB.Count_And_Get
502: x_return_status := FND_API.G_RET_STS_SUCCESS;
503:
504: -- Initialize temporary variable to hold xml data
505:
506: DBMS_LOB.createtemporary(l_xml_temp, TRUE);
507: l_offset := 21;
508:
509: -- select the operating unit for which the program is launched.
510:
664:
665: l_count := DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx);
666:
667: IF (DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0) THEN
668: DBMS_LOB.erase (l_xml_temp, l_offset,1);
669: DBMS_LOB.append (x_xml_doc, l_xml_temp);
670: END IF;
671:
672: -- close context and free memory
665: l_count := DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx);
666:
667: IF (DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0) THEN
668: DBMS_LOB.erase (l_xml_temp, l_offset,1);
669: DBMS_LOB.append (x_xml_doc, l_xml_temp);
670: END IF;
671:
672: -- close context and free memory
673:
672: -- close context and free memory
673:
674: DBMS_XMLGEN.closeContext(l_qryCtx);
675: CLOSE l_ref_cur;
676: DBMS_LOB.FREETEMPORARY (l_xml_temp);
677:
678: -- to add number of rows processed
679:
680: DBMS_LOB.createtemporary(l_xml_temp, TRUE);
676: DBMS_LOB.FREETEMPORARY (l_xml_temp);
677:
678: -- to add number of rows processed
679:
680: DBMS_LOB.createtemporary(l_xml_temp, TRUE);
681:
682: -- open ref cursor to add number of rows processed
683:
684: l_stmt_num := 60;
702:
703: -- remove the header (21 characters) and append the rest to xml output
704:
705: IF ( DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0 ) THEN
706: DBMS_LOB.erase (l_xml_temp, l_offset,1);
707: DBMS_LOB.append (x_xml_doc, l_xml_temp);
708: END IF;
709:
710: -- close context and free memory
703: -- remove the header (21 characters) and append the rest to xml output
704:
705: IF ( DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0 ) THEN
706: DBMS_LOB.erase (l_xml_temp, l_offset,1);
707: DBMS_LOB.append (x_xml_doc, l_xml_temp);
708: END IF;
709:
710: -- close context and free memory
711:
710: -- close context and free memory
711:
712: DBMS_XMLGEN.closeContext(l_qryCtx);
713: CLOSE l_ref_cur;
714: DBMS_LOB.FREETEMPORARY (l_xml_temp);
715:
716: -- Standard call to get message count and if count is 1, get message info.
717:
718: FND_MSG_PUB.Count_And_Get