117: END IF;
118:
119: -- Initialze variables for storing XML Data
120:
121: DBMS_LOB.createtemporary(l_xml_doc, TRUE);
122:
123: /*Bug 7000786 - This fix ensures that XML data generated here uses the right encoding*/
124: l_encoding := fnd_profile.value('ICX_CLIENT_IANA_ENCODING');
125: l_xml_header := '';
122:
123: /*Bug 7000786 - This fix ensures that XML data generated here uses the right encoding*/
124: l_encoding := fnd_profile.value('ICX_CLIENT_IANA_ENCODING');
125: l_xml_header := '';
126: DBMS_LOB.writeappend (l_xml_doc, length(l_xml_header), l_xml_header);
127:
128: DBMS_LOB.writeappend (l_xml_doc, 8, '
129:
130: -- Initialize message stack
124: l_encoding := fnd_profile.value('ICX_CLIENT_IANA_ENCODING');
125: l_xml_header := '';
126: DBMS_LOB.writeappend (l_xml_doc, length(l_xml_header), l_xml_header);
127:
128: DBMS_LOB.writeappend (l_xml_doc, 8, '
130: -- Initialize message stack
131:
132: FND_MSG_PUB.initialize;
203: END IF;
204:
205: -- write the closing tag to the XML data
206:
207: DBMS_LOB.writeappend (l_xml_doc, 9, '');
208:
209: -- write xml data to the output file
210:
211: l_length := nvl(dbms_lob.getlength(l_xml_doc),0);
207: DBMS_LOB.writeappend (l_xml_doc, 9, '');
208:
209: -- write xml data to the output file
210:
211: l_length := nvl(dbms_lob.getlength(l_xml_doc),0);
212: LOOP
213: EXIT WHEN l_length <= 0;
214: dbms_lob.read (l_xml_doc, l_amount, l_offset, l_buffer);
215: FND_FILE.PUT (FND_FILE.OUTPUT, l_buffer);
210:
211: l_length := nvl(dbms_lob.getlength(l_xml_doc),0);
212: LOOP
213: EXIT WHEN l_length <= 0;
214: dbms_lob.read (l_xml_doc, l_amount, l_offset, l_buffer);
215: FND_FILE.PUT (FND_FILE.OUTPUT, l_buffer);
216: l_length := l_length - l_amount;
217: l_offset := l_offset + l_amount;
218: END LOOP;
228: END IF;
229:
230: -- free temporary memory
231:
232: DBMS_LOB.FREETEMPORARY (l_xml_doc);
233:
234: l_success := FND_CONCURRENT.SET_COMPLETION_STATUS('NORMAL', 'Request Completed Successfully');
235:
236: -- Write the module name to fnd log file
397: x_return_status := FND_API.G_RET_STS_SUCCESS;
398:
399: -- Initialize temporary variable to hold xml data
400:
401: DBMS_LOB.createtemporary(l_xml_temp, TRUE);
402: l_offset := 21;
403:
404: l_stmt_num := 10;
405:
500:
501: -- remove the header (21 characters) and append the rest to xml output
502:
503: IF (DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0) THEN
504: DBMS_LOB.erase (l_xml_temp, l_offset,1);
505: DBMS_LOB.append (x_xml_doc, l_xml_temp);
506: END IF;
507:
508: -- close context and free memory
501: -- remove the header (21 characters) and append the rest to xml output
502:
503: IF (DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0) THEN
504: DBMS_LOB.erase (l_xml_temp, l_offset,1);
505: DBMS_LOB.append (x_xml_doc, l_xml_temp);
506: END IF;
507:
508: -- close context and free memory
509:
508: -- close context and free memory
509:
510: DBMS_XMLGEN.closeContext(l_qryCtx);
511: CLOSE l_ref_cur;
512: DBMS_LOB.FREETEMPORARY (l_xml_temp);
513:
514: -- Standard call to get message count and if count is 1, get message info.
515:
516: FND_MSG_PUB.Count_And_Get
646: x_return_status := FND_API.G_RET_STS_SUCCESS;
647:
648: -- Initialize temporary variable to hold xml data
649:
650: DBMS_LOB.createtemporary(l_xml_temp, TRUE);
651: l_offset := 21;
652:
653: -- select the operating unit for which the program is launched.
654:
953:
954: l_count := DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx);
955:
956: IF (DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0) THEN
957: DBMS_LOB.erase (l_xml_temp, l_offset,1);
958: DBMS_LOB.append (x_xml_doc, l_xml_temp);
959: END IF;
960:
961: -- close context and free memory
954: l_count := DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx);
955:
956: IF (DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0) THEN
957: DBMS_LOB.erase (l_xml_temp, l_offset,1);
958: DBMS_LOB.append (x_xml_doc, l_xml_temp);
959: END IF;
960:
961: -- close context and free memory
962:
961: -- close context and free memory
962:
963: DBMS_XMLGEN.closeContext(l_qryCtx);
964: CLOSE l_ref_cur;
965: DBMS_LOB.FREETEMPORARY (l_xml_temp);
966:
967: -- to add number of rows processed
968:
969: DBMS_LOB.createtemporary(l_xml_temp, TRUE);
965: DBMS_LOB.FREETEMPORARY (l_xml_temp);
966:
967: -- to add number of rows processed
968:
969: DBMS_LOB.createtemporary(l_xml_temp, TRUE);
970:
971: -- open ref cursor to get the number of rows processed
972:
973: l_stmt_num := 90;
990:
991: -- remove the header (21 characters) and append the rest to xml output
992:
993: IF ( DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0 ) THEN
994: DBMS_LOB.erase (l_xml_temp, l_offset,1);
995: DBMS_LOB.append (x_xml_doc, l_xml_temp);
996: END IF;
997:
998: -- close context and free memory
991: -- remove the header (21 characters) and append the rest to xml output
992:
993: IF ( DBMS_XMLGEN.getNumRowsProcessed(l_qryCtx) > 0 ) THEN
994: DBMS_LOB.erase (l_xml_temp, l_offset,1);
995: DBMS_LOB.append (x_xml_doc, l_xml_temp);
996: END IF;
997:
998: -- close context and free memory
999:
998: -- close context and free memory
999:
1000: DBMS_XMLGEN.closeContext(l_qryCtx);
1001: CLOSE l_ref_cur;
1002: DBMS_LOB.FREETEMPORARY (l_xml_temp);
1003:
1004: -- Standard call to get message count and if count is 1, get message info.
1005:
1006: FND_MSG_PUB.Count_And_Get