How to generate XML Publisher report from PLSQL Stored Procedure in APPS

Hi,
I have concurrent program of type PLSQL Stored procedure.I need to generate XML Publisher report from the same.I have changed the output of the concurrent program as "XML" but when I tried running it,the XML tags are not generated.Due to this I am unable to create the template.Its a urgent issue.
Please help me out .
Thanks in advance.
Kaveri

Hi Kaveri
Sadly there is nothing magic about that output field. The only program type that you can flip it to XML and then magically get XML is for Oracle Reports. For plsql you will need to recode the plsql to generate XML rather than text that you have now.
You have some options, best option first:
1. Move the sql to a data template - check the user guide and blog for help or
2. Use SQL XML or XMLGEN (not great for large datasets) or
3. Use dbms_output.put_line and write the XML file manually - not performant at all
Regards, Tim

Similar Messages

  • How to invoke XML publisher report from APPS 11i forms

    I have a requirement in oracle application forms menu where I need to call the XML publisher report when user clicks the menu item.
    I am using following two API's
    fnd_request.add_layout
    fnd_request.submit_request
    But I am getting the error message
    java.sql.SQLException: No corresponding LOB data found :SELECT L.FILE_DATA FILE_DATA.......
    your help is truly appreciated.
    Thanks
    Siva

    I have registered the report using admin responsibility and ran the reprt form SRS and completed successfully. Eeven from the forms it is submitting the request but the request completed as warning with above message. I can see the out put by clicking the View XML button but it unable to publish output.
    Thanks guru your quick response.
    Thanks
    siva

  • How to invoke XML Publisher report in 11i

    Can anybody please guide me on How can we invoke xml publisher report in 11i and how can we call XML publisher report from form or OA framework.
    Thanks

    Hi
    1. From a form ... a little tricky. Forms 6i has v limited java support so calling the XMLP apis directly is going to be tough. We do have a few products and customers that do it, here are a few scenarios:
    a. Have a button/menu item to call the report, this actually kicks off the concurrent manager to submit a report that XMLP will format
    b. Have a button that calls the plsql package, 'htp', this in turn can call an OA page where a report can be rendered in the page.
    2. From OAF page - much easier. You can call the TemplateHelper API form your page passing data, template reference, lang, terr, output format - the API will return the output.
    For the OAF approach and option'b' for forms I would recommend using the XMLP common region. This is a region that can be plugged into your custom page. Its very configurable - you can point it to a concurrent request, a completed document e.g. a PDF doc, you can pass it XML data from your BC4J objects or a data template. You can then configure what changes the user can make, change template, language, locale, output - please check the user guide for details on the Common Region.
    Tim

  • Call Xml Publisher report from Jdeveloper

    Hi,
    I am first time integrating XML publisher with Jdevloper.
    I need to call xml publisher report from Jdeveloper.
    I followed all steps from anilpassi link for sample
    its showing error while tring to open pdf file
    Error:
    Adobe Reader could not find 'EmpReport[1].pdf' because it is either not a supported file type or because the file has been damaged.
    Please help ,i m stuvk because of this error.
    below is the code
    EmpCO :
    public void processRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processRequest(pageContext, webBean);
    OAApplicationModuleImpl am =
    (OAApplicationModuleImpl)pageContext.getApplicationModule(webBean);
    am.invokeMethod("initEmpVO");
    // am.invokeMethod("getEmpDataXML");
    public void processFormRequest(OAPageContext pageContext, OAWebBean webBean)
    super.processFormRequest(pageContext, webBean);
    OAApplicationModuleImpl am =
    (OAApplicationModuleImpl)pageContext.getApplicationModule(webBean);
    if ("GenerateReport".equals(pageContext.getParameter(EVENT_PARAM)))
    System.out.println("event fired");
    // Get the HttpServletResponse object from the PageContext. The report output is written to HttpServletResponse.
    DataObject sessionDictionary =
    (DataObject)pageContext.getNamedDataObject("_SessionParameters");
    HttpServletResponse response =
    (HttpServletResponse)sessionDictionary.selectValue(null,
    "HttpServletResponse");
    try
    System.out.println("inside try");
    ServletOutputStream os = response.getOutputStream();
    // Set the Output Report File Name and Content Type
    String contentDisposition = "attachment;filename=EmpReport.pdf";
    response.setHeader("Content-Disposition", contentDisposition);
    response.setContentType("application/pdf");
    // Get the Data XML File as the XMLNode
    XMLNode xmlNode = (XMLNode)am.invokeMethod("getEmpDataXML");
    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
    xmlNode.print(outputStream);
    ByteArrayInputStream inputStream =
    new ByteArrayInputStream(outputStream.toByteArray());
    ByteArrayOutputStream pdfFile = new ByteArrayOutputStream();
    //Generate the PDF Report.
    TemplateHelper.processTemplate(((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getAppsContext(),
    APP_NAME, TEMPLATE_CODE,
    ((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getUserLocale().getLanguage(),
    ((OADBTransactionImpl)pageContext.getApplicationModule(webBean).getOADBTransaction()).getUserLocale().getCountry(),
    inputStream,
    TemplateHelper.OUTPUT_TYPE_PDF, null,
    pdfFile);
    // Write the PDF Report to the HttpServletResponse object and flush.
    byte[] b = pdfFile.toByteArray();
    response.setContentLength(b.length);
    os.write(b, 0, b.length);
    os.flush();
    os.close();
    catch (IOException e) {
    System.out.println("Exception1"+e);
    } catch (SQLException e) {
    System.out.println("Exception2"+e);
    } catch (XDOException e) {
    System.out.println("Exception3"+e);
    pageContext.setDocumentRendered(false);
    EmpAMImpl:
    public void initEmpVO() {
    EmpVOImpl vo = getEmpVO1();
    if (vo == null) {
    MessageToken errTokens[] =
    { new MessageToken("OBJECT_NAME", "EmpVO1") };
    throw new OAException("AK", "FWK_TBX_OBJECT_NOT_FOUND", errTokens);
    } else {
    vo.executeQuery();
    public XMLNode getEmpDataXML() {
    OAViewObject vo = (OAViewObject)findViewObject("EmpVO1");
    XMLNode xmlNode =
    (XMLNode)vo.writeXML(4, XMLInterface.XML_OPT_ALL_ROWS);
    return xmlNode;
    Please help !!

    Hi,
    I tried the way suggested by Anil in the above link as well today, but still am getting the same error while openning the pdf .
    Dont know why it shows error that either the file is not a supported file type or because the file is damaged.
    Please suggest way to solve this error or some other way of calling xml report from OAF page.
    Edited by: user13573749 on Apr 10, 2011 9:59 PM

  • Submitting a XML Publisher Report from JSP page

    Hello,
    We have need to submit a XML Publisher report from Quoting/iStore module in Oracle Ebusiness. The out put should be viewable in PDF format and user should be able to print. can anyone pls help on how this can be achieved.
    TIA

    Really appreciate your response. Can you pls give little more details.
    1] Are there any standard API's which I can use to submit XML publisher report from the JSP pages
    2]Is there any sample code snippet for any of the options that I can refer to..or pls let me know the API's, I will check on them
    Appreciate any help

  • Displaying xml publisher report from adf page.

    I am using jdev 10.1.3.3
    I have an requirment of displaying an xml publisher report on click of command button.
    any suggestion.how this can be achived.
    according to my understanding.
    if we create a folder in our web server which oc4j in our case.and we transfer the xml report through FTP in that folder.can we able to pick the report from that folder.
    can we display or call that report.please let me know??
    Is that possible.????????????
    any help would be helpfull

    Really appreciate your response. Can you pls give little more details.
    1] Are there any standard API's which I can use to submit XML publisher report from the JSP pages
    2]Is there any sample code snippet for any of the options that I can refer to..or pls let me know the API's, I will check on them
    Appreciate any help

  • Invoking XML Publisher Report from PL/SQL

    Hi,
    I have a PL/SQL procecedure which invokes the Concurrent Request for the XML Publisher Report. This one finishes with a warning and I get 'Unable to publish output' when I try to view the output. Exact Error: "Unable to find the published output for this request "
    But if I run the same report using Concurrent program, the Report executes with no error. Also the desired output is coming. I am not sure where I am doing wrong in code.
    My code which invokes the XML Publisher Report (from PL/SQL package)is something like this:
    declare
    x boolean;
    l_no_of_copies varchar2(45);
    l_printername varchar2(45);
    l_print_style varchar2(45);
    l_result boolean;
    y number;
    begin
    x := fnd_request.add_layout (template_appl_name => 'XXTMG', template_code => 'XXT_5001_BOL_T', template_language => 'EN', template_territory => 'US', output_format => 'XML');
    l_no_of_copies := fnd_profile.VALUE ('XXTMG_SH_BOL_REPORT_NO_OF_COPIES');
    l_printername := fnd_profile.VALUE ('XXTMG_SH_BOL_REPORT_PRINTER');
    l_print_style := NULL; --For setting the Printer Options
    l_result := fnd_request.set_print_options (l_printername, l_print_style, l_no_of_copies, TRUE, 'N');
    l_result := fnd_request.add_printer (l_printername, 0);
    y := fnd_request.submit_request ('XXTMG', 'XXT_5001_BOL', '', TO_CHAR (SYSDATE, 'YYYY/MM/DD HH24:MI:SS'), FALSE, 'CH-120079') ;
    end;
    Please let me know where I might be going wrong
    Thanks

    Hi Sumit,
    You can try with this code:
    exec dbms_application_info.set_client_info(org_id)
    exec fnd_global.APPS_INITIALIZE(user_id,resp_id,appl_id);
    declare
    x boolean;
    l_no_of_copies varchar2(45);
    l_printername varchar2(45);
    l_print_style varchar2(45);
    l_result boolean;
    y number;
    begin
    x := fnd_request.add_layout ('XXTMG' --template_appl_name 
              ,'XXT_5001_BOL_T' --template_code
              ,'en' --template_language 
         ,'US' --template_territory
         ,'XML' --output_format
    if (x=TRUE) then
    y := fnd_request.submit_request (
                        'XXTMG'           --application 
                        ,'XXT_5001_BOL'      --program
                        ,SYSDATE          --start_time
                        ,FALSE               --sub_request
                        ,'CH-120079'          --argument1 (Program's Parameter)
    if y>0 then
              dbms_output.put_line('Request ID '||y);
    end if;
    end if; --if (x=TRUE) then
    end;
    Make sure that program has only one input parameter. If program has other parameters then you can pass those parameters like argument1, argument2... etc.
    Now you can see this submited request in your application using your user id. If you able to see your request in concurrent request then you can add printer parameters in this programs.
    You don't need to pass all 100 parameters.
    I am executing many programs/reports using this code.
    Thanks
    Ravi
    [email protected]
    Message was edited by:
    Ravi Tripathi

  • Running custom BI (XML) publisher report from BPEL

    We would like to run a custom BI publisher (XML publisher) report from BPEL process and the resultant PDF report output needs to be FTPed to specific location. BPEL can pass on the XML content required for the report.
    Is this possible or any workaround for this ?

    Any light on this ?

  • Calling a report from a Stored Procedure

    Is it possible to call a Oracle Report from a Stored Procedure or a Packaged Stored Procedure. If Yes, please provide some details.
    Thanks
    Shalu

    Shalu,
    there's an API available to do this.The feature is called "event driven publishing" (because you can use this even from a trigger) and you can find the documentation here:
    http://download-uk.oracle.com/docs/cd/B14099_17/bi.1012/b14048/pbr_evnt.htm#sthref1870
    Regards
    Rainer

  • How do I return two values from a stored procedure into an "Execute SQL Task" within SQL Server 2008 R2

    Hi,
    How do I return two values from a
    stored procedure into an "Execute SQL Task" please? Each of these two values need to be populated into an SSIS variable for later processing, e.g. StartDate and EndDate.
    Thinking about stored procedure output parameters for example. Is there anything special I need to bear in mind to ensure that the SSIS variables are populated with the updated stored procedure output parameter values?
    Something like ?
    CREATE PROCEDURE [etl].[ConvertPeriodToStartAndEndDate]
    @intPeriod INT,
    @strPeriod_Length NVARCHAR(1),
    @dtStart NVARCHAR(8) OUTPUT,
    @dtEnd NVARCHAR(8) OUTPUT
    AS
    then within the SSIS component; -
    Kind Regards,
    Kieran. 
    Kieran Patrick Wood http://www.innovativebusinessintelligence.com http://uk.linkedin.com/in/kieranpatrickwood http://kieranwood.wordpress.com/

    Below execute statement should work along the parameter mapping which you have provided. Also try specifying the parameter size property as default.
    Exec [etl].[ConvertPeriodToStartAndEndDate] ?,?,? output, ? output
    Add a script task to check ssis variables values using,
    Msgbox(Dts.Variables("User::strExtractStartDate").Value)
    Do not forget to add the property "readOnlyVariables" as strExtractStartDate variable to check for only one variable.
    Regards, RSingh

  • How to generate XML Publisher via WebSerivce

    PeopleTools: 8.50
    Database: Oracle
    Application: HRMS 9.1
    PeopleSoft integrate with 3rd-Party application.
    The question is:
    How can I get the xml publisher report result via webservice?
    Things I do:
    1. I create a xml publisher report definition in PeopleSoft, using query as datasource.
    Tested, The report works well in "Query Report Viewer".
    2. So I create service, service operation and messages in PeopleSoft.
    Local string &group_id = "11111";
    /*1. Get report definition object*/
    Local PSXP_RPTDEFNMANAGER:ReportDefn &oRptDefn1 = create PSXP_RPTDEFNMANAGER:ReportDefn("ADF_ROSTER1");
    &oRptDefn1.Get();
    /*2. Fill query runtime prompt record*/
    Local Record &rcdQryPrompts1 = &oRptDefn1.GetPSQueryPromptRecord();
    &rcdQryPrompts1.ADF_GROUP_ID.Value = &group_id;
    &oRptDefn1.SetPSQueryPromptRecord(&rcdQryPrompts1);
    /*3. Generate report*/
    &oRptDefn1.ProcessReport("ADF_ROSTER1_1", %Language, %Date, "PDF");
    /*4. Publish report*/
    &oRptDefn1.Publish("", "", "", 0);
    Tested, Webservice works well, and these codes can generate an PDF output to a temp folder.
    Question:
    How can I response the web service call, with the correct URL of the report file?
    Thank you!

    Hi
    In subscription People code call the Appliction engine program having the code to print the PDF report what you given in second point
    thanks
    Cynthia

  • Accessing XML Publisher Reports from Java application

    How to accesss the XDO Reports from Java application?
    I am wondering that we need to get the URL for accessing the report and call the URL with in Java program?
    Is that right? Is there any other option? Any help is greatly appreciated.

    You need to write some class based on the BI Publisher APIs taking data, template, output format, etc.
    Pehaps the following Blog of Tim Dexter shines some light on your question
    http://blogs.oracle.com/xmlpublisher/2007/02/27#a166
    Marcos

  • How to connect to UNIX OS from oracle stored procedure

    Hi,
    I need to connect to UNIX OS from oracle stored procedure.
    Curently working in Oracle9i.
    I tried in google but I could'nt get any.
    Can you send me pointers on how to do this.
    Thanks,
    Kavitha.

    Can use Java Stored Proc, or an External Proc.
    Java method:
    create or replace and compile Java Source named "OSCommand" as
    -- java:        OS COMMAND
    -- descr:       Executes an Operating System Command using the JAVA RTS
    -- IN parameter:        os command to execute (including fully qualified path names)
    -- OUT parameter:       returncode [\nstring]
    --                      where string a max of 32000 chars of the output of the command
    --                      (note that \n is used as separators in the string)
    --                      returncode=-1   Java RTS error occurred (e.g. command does not exist)
    --                      returncode=255  o/s command failed (e.g. invalid command params)
    import java.io.*;
    import java.lang.*;
    public class OSCommand{
            public static String Run(String Command){
                    Runtime rt = Runtime.getRuntime();
                    int     rc = -1;
                    try{
                            Process p = rt.exec( Command );
                            int bufSize = 32000;
                            int len = 0;
                            byte buffer[] = new byte[bufSize];
                            String s = null;
                            BufferedInputStream bis = new BufferedInputStream( p.getInputStream(), bufSize );
                            len = bis.read( buffer, 0, bufSize );
                            rc = p.waitFor();
                            if ( len != -1 ){
                                    s = new String( buffer, 0, len );
                                    return( s );
                            return( rc+"" );
                    catch (Exception e){
                            e.printStackTrace();
                            return(  "-1\ncommand[" + Command + "]\n" + e.getMessage() );
    show errors
    create or replace function osexec( cCommand IN string ) return varchar2 is
    -- function:    OS EXEC
    -- descr:       Executes an Operating System Command
    language        JAVA
    name            'OSCommand.Run(java.lang.String) return java.lang.String';
    show errors===
    This can then be used from PL/SQL and even SQL. e.g.
    SQL> select osexec( '/bin/date' ) from dual;
    OSEXEC('/BIN/DATE')
    Wed Nov  9 13:30:13 SAST 2005
    SQL>Note the Java permissions required - replace FOO with the name of applicable Oracle schema
    ==begin
            dbms_java.grant_permission(
                    'FOO',
                    'SYS:java.io.FilePermission',
                    '<<ALL FILES>>',
                    'execute'
            dbms_java.grant_permission(
                    'FOO',
                    'SYS:java.lang.RuntimePermission',
                    'writeFileDescriptor',
            dbms_java.grant_permission(
                    'FOO',
                    'SYS:java.lang.RuntimePermission',
                    'readFileDescriptor',
            commit;
    end;
    /==
    Last thing... note that opens a potential giant size security hole into the Oracle Server Platform. So implement it properly using a proper Oracle security model.

  • How do I get return parameters from a stored procedure call?

    The Open SQL Statement has an option on the Advanced tab to specify a command type of 'stored procedure'. In addition to returning a recordset, a stored procedure can also return parameters (see http://support.microsoft.com/support/kb/articles/Q185/1/25.ASP for info on doing this with ADO). Is it possible to get those return parameters with TestStand? In particular, I want to be able to get error codes back from the stored procedure in case it fails (maybe there is another way).

    The Open SQL Statement step type does not fully support stored procedures. If the procedure returns a record set than you can fetch the values as you would a SELECT statement. Stored procedures require you to setup the parameters before the call and this is not yet supported. Bob, in his answer, made a reference to the Statements tab and I think that he was talking about the Database Logging feature in TS 2.0.
    If the stored procedure is returning a return value, it may return as a single column, single row recordset which can be fetched as you normally do a record set.
    Scott Richardson
    National Instruments

  • How to fetch oracle process id from a stored procedure.

    Hi,
    I want to fetch the oracle process id from within a stored procedure.
    I know that the one way to do this is using the v$process view. But, a grant has to be given to the user on this table. Due to the strict policies at my workplace, I do not have the permission to do this, nor can i ask anyone to give the grant. But, i need the oracle pid very much.
    Is there an alternate way to get the oracle process id from within the stored procedure (without using the v$process view, like we have sys_context() to fetch session id without using v$session) ?
    Any help would be appreciated.
    Thanks,
    AP

    Hi,
    The point is i do not want to use v$process ( or v_$process) ,because i can not give the select grant to the user on this view. ( As i need to fetch it from a stored procedure, not from the SQL prompt).
    Rahul , your query is correct. It fetches the values ( though i needed oracle process id not unix pid ; i would get it through p.pid), but i need an alternate approach to this.
    Is there an alternate approach which would enable me to fetch the oracle process id ( without using any of the V$ - system views) ? Does Oracle has such a feature /approach ?
    -AP

Maybe you are looking for

  • Defaulting Payment Terms on POs

    I know that Payment Terms normally default on PO's from the vendor master, but I have a couple of questions: 1. We have vendors with VN and OA partners defined. Is there a way to have PO's defailt payment terms from the OA partner instead of the VN?

  • I have a table tab1 with record(1,2,3,4,5,6,7,8,9). i want to create a proc

    i have a table tab1 with record(1,2,3,4,5,6,7,8,9). i want to create a procedure, when we pass the parameter in procedure then that record come on top rest record below of that. thanks,

  • Cannot resolve symbol : InputStream

    I had and environment in which this code compiled. Then I installed Java Communications API. After fooling around to get that to compile, I find that I get this error when compiling this code. What did I do to cause this? what jar file might be missi

  • Referenced Library Copying Vertical Photos

    Using iPhoto '08 with a referenced library, I find that when importing photos, it automatically copies photos it deems "modified". I have a Canon Powershot camera, which is one of many that automatically tags photos for the proper rotation (a basic a

  • Page deploy to apps i got below error

    Hi All. I deploy the page to apps at that time i got the lov error. total page is working fine but only lov is not worked. plz help me. Error Page Exception Details. oracle.apps.fnd.framework.OAException: oracle.jbo.NoObjException: JBO-25003: Object