Calling MS Excel from Forms 6.0

Can somebody tell me in detail how to call MS Excel from Oracle Forms. I would like to create a button on a form and when the user clicks the button, MS Excel should open and I need to populate all the relevant data into Excel spreadsheet.
Thanks

You will probably have to use the OLE2 package. Take a look at the demo oleexcel.fmb which comes with Developer 6.0 for some ideas on how to start. You might also want to look at the documentation Oracle produced on this topic for Forms 4.5. It may be old, but I believe it is still relevant. See:
http://technet.oracle.com/products/developer/pdf/oleexcel.pdf
Good Luck!
Chris

Similar Messages

  • Calling a report from Form 6i

    Hi,
    I want to call a report from Form 6i at run time. And I write the following code in When Buttton Press trigger . when I press the button it will gives no response.
    declare
         x report_object;
         y varchar2(100);
    begin
         x:=find_report_object('billform');
         y:=run_report_object(x);
    end;
    for more information , path of my report is: C:\REP\billform.rdf
    please send me the solution of this problem
    E_mail: [email protected]
    Shahzad

    hi,
    now i am using the following code in when button press trigger. if u give me ur e_mail address i will send u FMB and RDF files used for Scott/tiger EMP table for the sample.
    declare
    repo_Para     ParamList;
    BEGIN
    repo_Para:=Get_Parameter_List('Report_para');
    IF not Id_null(repo_Para) THEN
         destroy_parameter_list(repo_para);
    end if;
    repo_Para:=Create_Parameter_List('Report_para');
    Add_Parameter(Repo_para,'PARAMFORM',TEXT_PARAMETER,'No');
    Add_Parameter(Repo_para,'MAXIMIZE',TEXT_PARAMETER,'Yes');
         Add_Parameter(Repo_para,'BDATE',TEXT_PARAMETER,:BLOCK3.a_dptno);
         Add_Parameter(Repo_para,'EDATE',TEXT_PARAMETER,:BLOCK3.b_dptno);
         RUN_PRODUCT(REPORTS,'c:\apu\DDATE.rep', SYNCHRONOUS,
              runtime, FILESYSTEM,Repo_para,NULL);
    end;
    BDATE & EDATE are two user parameters created in report.
    when i press the button in form pass parameters the report will be called but no data will be display but when i directly run reprot from report buider and pass same values of BDATE & EDATE it will show data.
    please give me ur e mail address or help me for this problem
    best regards,
    shahzad

  • CALLING A REPORT FROM FORMS (PROBLEM)

    MY PROBLEM IS THE NEXT:
    I CREATED A MASTER-DETAIL REPORT CALLING 'ASUNTOS'WITH THE NEXT QUERY:
    SELECT ABOGADOS.APELLIDO_P,ABOGADOS.APELLIDO_M,ABOGADOS.NOMBRES,
    ASUNTOS.EXP_INT,ASUNTOS.MATERIA,ASUNTOS.GERENCIA,
    ASUNTOS.EMPRESA,ASUNTOS.RECLAMA,ASUNTOS.PESOS,
    ASUNTOS.DOLARES
    FROM ABOGADOS,ASUNTOS
    WHERE ABOGADOS.FICHA = ASUNTOS.F_ABOG
    AND ASUNTOS.F_ABOG = :ABOGADO ;
    -- ABOGADO = PARAMETER.
    THIS REPORT WORKS FINE THE PROBLEM IS WHEN I TRY CALL THIS REPORT FROM FORM I'VE USE A BUTTON(WHEN_BUTTON_PRESSED) WITH THE NEXT CODE:
    DECLARE
    LISTA PARAMLIST := GET_PARAMETER_LIST('ABOG');
    BEGIN
    IF ID_NULL(LISTA) THEN
    LISTA := CREATE_PARAMETER_LIST('ABOG');
    ADD_PARAMETER(LISTA,'DESTYPE',TEXT_PARAMETER,'PRINTER');
    ADD_PARAMETER(LISTA,'DESNAME',TEXT_PARAMETER,'LPT2');
    ADD_PARAMETER(LISTA,'ABOGADO',TEXT_PARAMETER,TO_CHAR(:ASUNTOS.F_ABOG));
    -- ADD_PARAMETER(LISTA,'PARAMFORM',TEXT_PARAMETER,'YES');
    END IF;
    RUN_PRODUCT(REPORTS,'ASUNTOS',SYNCHRONOUS,RUNTIME,FILESYSTEM,LISTA,NULL);
    END;
    BUT THE REPORT NOTHING DISPLAY.
    THERE ARE SOMETHING WRONG WITH THE CODE IN THE BUTTON

    Roberto,
    Does your report work when it is not called from Forms?
    try the following:
    [TOOLS_HOME]\BIN\RWRUN60 module=ASUNTOS destype=screen userid=<username>/<password>@<tns> ABOGADO=<some_valid_code>
    where TOOLS_HOME is the directory where Reports is installed.
    I can see nothing wrong with your code.
    Maybe some error in the query?
    Also, I would check for the existence of multiple ASUNTOS report definitions. Maybe Forms is calling an older one.
    Hope this helps,
    Pedro das Neves
    ([email protected])

  • Calling a report from forms with a paramter form

    Hello,
    How do you call a report from forms and get it to display the parameter form. Where you can then call the report using this parameter form. I have been using paramform=yes. but it simply runs the form.
    I saw on a a thread ages ago that this was a sample of this available for download. Is this true?
    thanks

    Here is my code sorry about posting twice. Please note that the parameter list has been created as described.
    report_id := find_report_object('MENU_REPORT_NODE');
    Tool_Env.Getvar('ReportsServer', reports_server);
    Tool_Env.Getvar('ReportsFolder', reports_folder);
    dest_file := reports_folder || :global.username || '\' || rep_name || '.pdf';
    SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_FILENAME, rep_name);
    SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_SERVER, reports_server);
    SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_COMM_MODE, SYNCHRONOUS); -- wait for the report to finish
    -- SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_DESNAME, dest_file);
    SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_DESTYPE, cache);
    SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_DESFORMAT, 'PDF');
    SET_REPORT_OBJECT_PROPERTY(report_id, REPORT_OTHER, 'paramform=yes' || ' ' || 'mode=bitmap');
    report_job := run_report_object(report_id);

  • Calling SQL*Loader from Forms

    Hi,
    I was wondering if anyone has called SQL*Loader from Forms?
    What I am wanting to do is use Oracle Forms as the interface where you can specify a file that you can import into the database and it will use a set control file. Push the import button and SQL*Loader does the rest.
    Is using Java code to call SQL*Loader from Forms a viable option, or is there an easier way to achieve the desired outcome.
    Any ideas or guidance will be much appreciated.
    Thanks,
    Scott.

    Scott,
    In forms, there's a HOST built-in command which is supposed to execute any o/s commands.
    What you have to do is :
    1. Bult up the string exacltly in the fashion which you will run in o/s
    2. Call the HOST Built-in and pass in the string
    Here's a example :
    Declare
    lOsCmd Varchar2(1000) := Null;
    Begin
    lOsCmd := 'sqlldr user-id=userid/passwd@connectStr '
    || ' control=c:\temp\abc.ctl log=c:\temp\abc.log '
    || ' bad = c:\temp\abc.log';
    Host (lOsCmd, No_Screen);
    End;
    -- Shailender Mehta --

  • How to call a URL from forms ?

    Dear All,
    I would like to invoke / call a URL from forms. I know we can make a call Using Web.show_document. But this will execute in a browser.
    What i need to do is, i have to send a request to by calling an URL, that should not visible to any body.
    This is my requirement, please help if you know.
    Thanks
    Balaji

    hi,
    here is a quick example : (data from url returns as a clob. you need to write it at db. and call from forms.)
    FUNCTION Get_DataFromUrl(pUrl IN VARCHAR2,pProxy IN VARCHAR2,pData IN OUT CLOB) RETURN NUMBER IS
    vRcv UTL_HTTP.HTML_PIECES;
    vData CLOB;
    eNoDataReceived EXCEPTION;
    BEGIN
    UTL_HTTP.SET_DETAILED_EXCP_SUPPORT(TRUE);
    -- Get data pieces from Url
    vRcv := UTL_HTTP.REQUEST_PIECES(pUrl,Proxy => pProxy);
    IF vRcv.COUNT < 1 THEN
    RAISE eNoDataReceived;
    ELSE
    -- Append varchar2 table data into clob variable
    DBMS_LOB.CreateTemporary(vData,FALSE,DBMS_LOB.CALL);
    FOR i IN 1..vRcv.COUNT LOOP
    DBMS_LOB.WriteAppend(vData,LENGTH(vRcv(i)),vRcv(i));
    END LOOP;
    -- Copy local data into return variable
    DBMS_LOB.Copy(pData,vData,DBMS_LOB.GetLength(vData));
    DBMS_LOB.FreeTemporary(vData);
    END IF;
    RETURN SUCCESS;
    EXCEPTION
    WHEN eNoDataReceived THEN
    RETURN FAILURE;
    WHEN UTL_HTTP.INIT_FAILED THEN
    RETURN FAILURE;
    WHEN UTL_HTTP.Request_Failed THEN
    RETURN FAILURE;
    WHEN OTHERS THEN
    RETURN FAILURE;
    END Get_DataFromUrl;
    hope this helps.
    Engin.

  • Calling Oracle graphics from forms

    Dear friends,
    My problem is that whenever i called a graph from forms
    5.0 it give me error message that "PL/SQL evnivornment cannot
    created"
    Thanx
    Faisal
    null

    Hi friends,
    I got the same problem and when I discussed with some one, he told me that it is a bug of forms 5.0 So when I used same code in forms 6.0 beta, it worked !
    Nadeem

  • Calling an EXE from Forms 4.5

    How do i call a windows Exe from forms. Whats the exact syntax to do that? Code sample would help.
    Thanks!

    Client/server mode calling an EXE from Forms 4.5
    The following is a Foreign Function Interface that I employed to launch an outside program in its own asynchronous window. It was a great alternative to the HOST command.
    The disadvantage to the HOST command was that the launched program would have to be closed before you could return to the form. With this method the the launched program
    could be minimized etc. and you could switch back and forth between forms and it.
    ===============================================================
    PACKAGE fp_winexec IS
    FUNCTION run(p_cmd IN OUT VARCHAR2)
    RETURN BOOLEAN;
    END;
    PACKAGE BODY fp_winexec IS
    dll_handle ORA_FFI.LIBHANDLETYPE;
    winexec_handle ORA_FFI.FUNCHANDLETYPE;
    FUNCTION RunICD(
    handle IN ORA_FFI.FUNCHANDLETYPE;
    cmd IN OUT VARCHAR2;
    disp_mode IN PLS_INTEGER)
    RETURN PLS_INTEGER;
    PRAGMA INTERFACE(C, RunICD, 11265);
    FUNCTION run(p_cmd IN OUT VARCHAR2)
    RETURN BOOLEAN IS
    v_tmp PLS_INTEGER;
    v_cmd VARCHAR2(2000) := p_cmd;
    v_retval BOOLEAN := TRUE;
    BEGIN
    v_tmp := RunICD(winexec_handle, v_cmd, 1);
    IF v_tmp = 2
    THEN
    MESSAGE('Cannot find '||v_cmd||' or one of its components);
    v_retval := FALSE;
    END IF;
    return(v_retval);
    END run;
    BEGIN
    dll_handle := ORA_FFI.REGISTER_LIBRARY
    (NULL, 'krn386.exe');
    winexec_handle := ORA_FFI.REGISTER_FUNCTION(dll_handle, 'WinExec', ORA_FFI.PASCAL_STD);
    ORA_FFI.REGISTER_RETURN(winexec_handle, ORA_FFI.C_INT);
    ORA_FFI.REGISTER_PARAMETER(winexec_handle, ORA_FFI.C_CHAR_PTR);
    ORA_FFI_REGISTER_PARAMETER(winexec_handle, ORA_FFI.C_INT);
    END;
    ====================================================================
    -- To call the program from forms
    DECLARE
    v_retval BOOLEAN;
    BEGIN
    v_retval := fp_winexec.run(:control_block.program_to_run);
    END;

  • Problem with output from  report to excel, calling the report from form 10g

    Hi everyone, I'm having a problem generating a excel from a report, which is called from a form, I'm using Forms 10g. The problem is this: My report has a variable number of columns. These columns appear according to data obtained from the database, these columns are dates, In vesion 6 excel file generated shows the columns one after another starting in column A1 to column CP. I mean that the dates are correlative. But in version 10g the excel file generated shows the same report starting in column A to column T, only shows the 20 dates correlative corresponding to this columns, the rest of the dates are down the excel sheet in groups of 20 dates, it's something, the file in 6i grows across and in 10g grows down the excel sheet. The report (rdf file) is the same in 6i and 10g, I compiled the 6i version to obtain the 10g version. The excel sheet generated in 10g looks like the report was in pdf format, because PDF format, cuts the report in pages and the file grows down, if I generate the report in PDF format it has the same structure excel file in 10g has. I hope yo can help because I have days trying to solve this but I have no succes. If someone could help I could email the excel files generated in two versions. Here I put the code I use to generate the files in 6i and 10g. I have tried with DESFORMAT=SPREADSHEET in 10g but the result is the same. Thanks for your help. Greetings for all.
    Code for version 6i (Works Very well)
    PROCEDURE GUARDAREXCEL IS
    pl_id ParamList;
    nom_rep varchar2(20);
    cla_rep varchar2(20);
    cod_dis varchar2(4);
    nom_arch varchar2(100);
    fec date;
    BEGIN
    pl_id := Get_Parameter_List('tmpdata');
    IF NOT Id_Null(pl_id) THEN
    Destroy_Parameter_List( pl_id );
    END IF;
    pl_id := Create_Parameter_List('tmpdata');
    IF :BK_PARAMETROS.LI_COD_DIS IS NOT NULL THEN
    cod_dis := :BK_PARAMETROS.LI_COD_DIS;
    END IF;
    IF :BK_PARAMETROS.TI_COD_CLI IS NOT NULL THEN
    Add_Parameter(pl_id,'P_COD_CLI',TEXT_PARAMETER,:BK_PARAMETROS.TI_COD_CLI||'%');
    ELSE
    Add_Parameter(pl_id,'P_COD_CLI',TEXT_PARAMETER,'%');
    :BK_PARAMETROS.TI_COD_CLI:='%';
    END IF;
    IF :BK_PARAMETROS.CLAS_REP=1 THEN
    cla_rep := '001';
    ELSE
         IF :BK_PARAMETROS.CLAS_REP=2 THEN
              cla_rep := '002';
         ELSE
              IF :BK_PARAMETROS.CLAS_REP=3 THEN
              cla_rep := '003';
         ELSE
              cla_rep := '004';
         END IF;
         END IF;
    END IF;
    Add_Parameter(pl_id,'P_COD_DIS',TEXT_PARAMETER, cod_dis);
    Add_Parameter(pl_id,'P_FECHA',TEXT_PARAMETER,to_char(:BK_PARAMETROS.FECFIN, 'DD/MM/YYYY'));
    Add_Parameter(pl_id,'P_CLASE',TEXT_PARAMETER, cla_rep);
    Add_Parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO');
    Add_Parameter(pl_id,'DESTYPE',TEXT_PARAMETER,'File');
    Add_Parameter(pl_id,'MODE',TEXT_PARAMETER,'Character');
    Add_Parameter(pl_id,'DESFORMAT',TEXT_PARAMETER,'DELIMITED' );
    select sysdate into fec from dual;
    IF :BK_PARAMETROS.TIPO_REP=1 THEN
         BEGIN
    nom_rep := 'tdvenrli1577.rep';
    nom_arch := 'c:\windows\temp\RepCobranzaPlanos' || TO_CHAR(fec, 'ddmmyyyy') || '.xls';
    END;
    ELSIF :BK_PARAMETROS.TIPO_REP=2 THEN
              BEGIN
              nom_rep := 'tdvenrli1578.rep';
              nom_arch := 'c:\windows\temp\RepCobranzaLargos' || TO_CHAR(fec, 'ddmmyyyy') || '.xls';
              END;
    ELSIF :BK_PARAMETROS.TIPO_REP=3 THEN
         BEGIN
                        Add_Parameter(pl_id,'P_XLS',TEXT_PARAMETER, '1');           
              nom_rep := 'tdvenrli1576.rep';
              nom_arch := 'c:\windows\temp\RepCobranzaDetallados' || TO_CHAR(fec, 'ddmmyyyy') || '.xls';      
              END;
    ELSE
              BEGIN
                        nom_rep := 'TDVENRLI1545.REP';
              nom_arch := 'c:\windows\temp\RepCobranzaTodos' || TO_CHAR(fec, 'ddmmyyyy') || '.xls';
              END;
    END IF;
    --Add_Parameter(pl_id,'DESNAME',TEXT_PARAMETER,nom_arch );
    Add_Parameter(pl_id,'DESNAME',TEXT_PARAMETER, nom_arch);
    standard.commit;
    Run_Product(REPORTS, nom_rep, SYNCHRONOUS, runtime, FILESYSTEM, pl_id,'');
    EXCEPTION WHEN Run_Product_Failure THEN
    message('Error');
    END;
    Code for version 10g
    PROCEDURE GUARDAREXCEL IS
    pl_id ParamList;
    nom_rep varchar2(20);
    cla_rep varchar2(20);
    cod_dis varchar2(4);
    nom_arch varchar2(100);
    fec date;
    --byt12122007.sn
    repid REPORT_OBJECT;
         vURL VARCHAR2(500);
         rep_status VARCHAR2(20);
         vJobID VARCHAR2(100);
         v_rep VARCHAR2(100);
    VAR NUMBER;
    w_name_repserv VARCHAR2(30);
    --byt1212007.en
    BEGIN
         --w_name_repserv:=F_OBTIENE_SERVREP;
    w_name_repserv:='repserv';     
    pl_id := Get_Parameter_List('mytmp_params');
    IF NOT Id_Null(pl_id) THEN
    Destroy_Parameter_List( pl_id );
    END IF;
    pl_id := Create_Parameter_List('mytmp_params');
    IF :BK_PARAMETROS.LI_COD_DIS IS NOT NULL THEN
         cod_dis := :BK_PARAMETROS.LI_COD_DIS;
    END IF;
    IF :BK_PARAMETROS.TI_COD_CLI IS NOT NULL THEN
    Add_Parameter(pl_id,'P_COD_CLI',TEXT_PARAMETER,:BK_PARAMETROS.TI_COD_CLI||'%');
    ELSE
    Add_Parameter(pl_id,'P_COD_CLI',TEXT_PARAMETER,'%');
    :BK_PARAMETROS.TI_COD_CLI:='%';
    END IF;
    IF :BK_PARAMETROS.CLAS_REP=1 THEN
    cla_rep := '001';
    ELSE
         IF :BK_PARAMETROS.CLAS_REP=2 THEN
              cla_rep := '002';
         ELSE
              IF :BK_PARAMETROS.CLAS_REP=3 THEN
              cla_rep := '003';
         ELSE
              cla_rep := '004';
         END IF;
         END IF;
    END IF;
    Add_Parameter(pl_id,'P_COD_DIS',TEXT_PARAMETER, cod_dis);
    Add_Parameter(pl_id,'P_FECHA',TEXT_PARAMETER,to_char(:BK_PARAMETROS.FECFIN, 'DD/MM/YYYY'));
    Add_Parameter(pl_id,'P_CLASE',TEXT_PARAMETER, cla_rep);
    Add_Parameter(pl_id,'PARAMFORM',TEXT_PARAMETER,'NO');
    /*Add_Parameter(pl_id,'DESTYPE',TEXT_PARAMETER,'File');
    Add_Parameter(pl_id,'MODE',TEXT_PARAMETER,'Character');
    Add_Parameter(pl_id,'DESFORMAT',TEXT_PARAMETER,'DELIMITED' );*/
    select sysdate into fec from dual;
    IF :BK_PARAMETROS.TIPO_REP=1 THEN
    BEGIN
         repid := find_report_object('tdvenrli1577');
    --nom_rep := 'tdvenrli1577.rep';
    nom_arch := 'c:\windows\temp\RepCobranzaPlanos' || TO_CHAR(fec, 'ddmmyyyy') || '.xls';
    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_FILENAME,'tdvenrli1577');
    END;
    ELSIF :BK_PARAMETROS.TIPO_REP=2 THEN
    BEGIN
         repid := find_report_object('tdvenrli1578');      
              --nom_rep := 'tdvenrli1578.rep';
              nom_arch := 'c:\windows\temp\RepCobranzaLargos' || TO_CHAR(fec, 'ddmmyyyy') || '.xls';
              SET_REPORT_OBJECT_PROPERTY(repid, REPORT_FILENAME,'tdvenrli1578');
              END;
    ELSIF :BK_PARAMETROS.TIPO_REP=3 THEN
    BEGIN
         repid := find_report_object('tdvenrli1576');
                        Add_Parameter(pl_id,'P_XLS',TEXT_PARAMETER, '1');           
              --nom_rep := 'tdvenrli1576.rep';
              nom_arch := 'c:\windows\temp\RepCobranzaDetallados' || TO_CHAR(fec, 'ddmmyyyy') || '.xls';
              SET_REPORT_OBJECT_PROPERTY(repid, REPORT_FILENAME,'tdvenrli1576');     
              END;
    ELSE
    BEGIN
         repid := find_report_object('tdvenrli1545');
                        --nom_rep := 'TDVENRLI1545.REP';
              nom_arch := 'c:\windows\temp\RepCobranzaTodos' || TO_CHAR(fec, 'ddmmyyyy') || '.xls';
              SET_REPORT_OBJECT_PROPERTY(repid, REPORT_FILENAME,'tdvenrli1545');     
              END;
    END IF;
    --Add_Parameter(pl_id,'DESNAME',TEXT_PARAMETER,nom_arch );
    --Add_Parameter(pl_id,'DESNAME',TEXT_PARAMETER, nom_arch);
    standard.commit;
    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESNAME,nom_arch);
    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_COMM_MODE, SYNCHRONOUS);
         SET_REPORT_OBJECT_PROPERTY(repid, REPORT_EXECUTION_MODE, RUNTIME);
         SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESTYPE, 'File');
         SET_REPORT_OBJECT_PROPERTY(repid, REPORT_DESFORMAT, 'DELIMITED');
         SET_REPORT_OBJECT_PROPERTY(repid, REPORT_SERVER, w_name_repserv);
         SET_REPORT_OBJECT_PROPERTY(repid, REPORT_OTHER, 'paramform=no');
         v_rep := RUN_REPORT_OBJECT(repid, pl_id);
         rep_status := REPORT_OBJECT_STATUS(v_rep);
         WHILE rep_status IN ('RUNNING','OPENING_REPORT','ENQUEUED')     LOOP
              rep_status:= report_object_status(v_rep);
         END LOOP;
         IF rep_status = 'FINISHED' THEN
              vJobID := SUBSTR(v_rep, INSTR(v_rep, '_', -1)+1);
              vURL:='/reports/rwservlet/getjobid'||vJobID||'?'||'server='||w_name_repserv;
         END IF;
         WEB.SHOW_DOCUMENT(vURL, '_blank');
         IF NOT form_success THEN
              MESSAGE('Error: PL/SQL held against Button failed to execute');
              RAISE FORM_TRIGGER_FAILURE;
         END IF;
    /*Run_Product(REPORTS, nom_rep, SYNCHRONOUS, runtime, FILESYSTEM, pl_id,'');
    EXCEPTION WHEN Run_Product_Failure THEN
    message('Error');*/
    END;

    There are two problems with your VI.  First, the basic logic of writing/appending to a file (Excel, TDMS, anything) should go something like this:  Open the file, position yourself at the end of the file, then, in the loop, acquire data and write it to the file until you are finished with data acquisition.  When you exit the acquire/write to file loop, then close the file.  In particular, the opening and the closing of the file should not be inside the loop.
    As others have pointed out, writing to Excel might not be optimal, particularly if you are acquiring data at a high rate (and would therefore be writing a lot of data). We actually use Excel in our data acquisition routine, mainly reading from a WorkSheet to get the parameters of a particular stimulus, but also writing the outcome of the response to the stimulus.  As it happens, our "acquisition rate" in this example is on the order of several samples per minute, so there's no problem using Excel (we also sample 16 channels of analog data at 1 KHz -- this gets written as a binary file).
    Second, if you really do want to use Excel, use the (existing) Excel file to which you want to append as the "template" argument of the New Report function.  Then use the Excel Get Last Row function to position yourself at "end of file", as noted above.
    Good Luck.
    Bob Schor

  • Call Oracle Reports from  Forms ver 9i or 10g

    Hi,
    Can somebody guide me, how to call Oracle Reports from the Oracle form 9i,
    Run_product is no more available into 9i & 10g, Run_report_object is not working with out put type "Screen" or "preview".
    What is the best way to call the reports from the form ??? pls help...
    Thanks in avdance.
    Jitesh ([email protected])

    You can use RUN_REPORT_OBJECT with CACHE type, and WEB.SHOW_DOCUMENT to view the document on the screen.
    In the Forms help you should find examples.
    If you have access to Metalink, have a look at Note:207396.1.

  • Calling a report from forms - FRM-40735 when-button-pressed raised unhandle

    Hi,
    I created a form to generate a pdf report.
    its not going too well, so i need some help.
    my form only has one button , when pressed I want it to generate a report in pdf format.
    i created a when-button-pressed trigger and the following code is below:
    I also create a web service proxy jar file,
    the jar file is in the FORMS_BUILDER_CLASSPATH, and the jar file is imported from forms builder without any issues.
    As of now I am hard coding everything in the code below to see if it works.
    The error I am getting  FRM-40735 when-button-pressed raised unhandled exception ORA-105100 i dont know why ?
    This error is occurring at this line of code, please help, this is my first time doing something like this.
    obj := publicreportserviceclient.new(); DECLARE
    param_name varchar2(200);
    un varchar2(200);
    pw varchar2(200);
    out_file varchar2(200);
    obj ORA_JAVA.JOBJECT;
    BEGIN
    obj := publicreportserviceclient.new();
    param_name := 'EMP';
    un := 'Administrator';
    pw := 'Oracle123';
    out_file := 'D:\DevSuiteHome_1\j2ee\home\default-web-app'||'output';
    publicreportserviceclient.callRunReport(obj,'/~administrator/Learn/Test1/Test1.xdo','EMP','141414',un,
    pw,'pdf','New_Template',out_file);
    web.show_document('http://jmenge-de.de.oracle.com:8889/j2ee/' || 'output');
    exception
      --check for ORA-105101
      when ORA_JAVA.EXCEPTION_THROWN then
         message('Java Exception : '
          || Exception_.toString(ORA_JAVA.LAST_EXCEPTION));
          ORA_JAVA.CLEAR_EXCEPTION;
          return;
      --check for ORA-105100
      when ORA_JAVA.JAVA_ERROR then
                   message('Unable to call out to Java, ' ||ORA_JAVA.LAST_ERROR);
              return;
    END;This is my java function
        public void callRunReport (String reportPath, String paramName, String  paramValue, String
        username, String password, String format, String template, String outFile) {
        try {
                bip_webservice.proxy.PublicReportServiceClient myPort = new bip_webservice.proxy.PublicReportServiceClient();
                // Calling runReport
                ReportRequest repRequest = new ReportRequest();
                repRequest.setReportAbsolutePath(reportPath);
                repRequest.setAttributeTemplate(template);
                repRequest.setAttributeFormat(format);
                repRequest.setAttributeLocale("en-US");
                repRequest.setSizeOfDataChunkDownload(-1);
               ParamNameValue[] paramNameValue = new ParamNameValue[1];
                paramNameValue[0] = new ParamNameValue();
                paramNameValue[0].setName(paramName);
                String[] values = new String[1];
                values[0] = paramValue;
                paramNameValue[0].setValues(values);
                repRequest.setParameterNameValues(paramNameValue);
                ReportResponse repResponse = new ReportResponse();
                repResponse = myPort.runReport(repRequest,username,password);
                byte[] baReport = repResponse.getReportBytes();
                FileOutputStream fio = new FileOutputStream(outFile);
                fio.write(baReport);
                fio.close();
            } catch (Exception ex) {
                        ex.printStackTrace();
        }Thanks - please help

    If there is a way to make it work with Bi publisher, Please let me know.
    I need to something to make it work with BI publisher.
    thanks,
    Edited by: Rooney on May 27, 2010 1:27 PM

  • Calling a Report from Form in 10g

    Hi all,
    I am very new to Oracle Form builder, I wana to call a report from a Form.
    we are using Oracle 10g Developer suit.
    Can any body please help me regarding on this?
    Regards
    Tanmaya Pradhan(Tam)

    ..or
    Take a look at
    Re: Run Report10g  Through form 10g

  • Calling a report from forms

    Hello
    i have a problem with calling a report from a form.
    i use the following statement in the when-button-pressed trigger:
    Run_Product(REPORTS, report.rdf',ASYNCHRONOUS, RUNTIME,FILESYSTEM, '', null);
    in the reports background engine i get the error
    REP-0110: Unable to open file 'report.rdf'.
    REP-1070: Error while opening or saving a document.
    REP-0110: Unable to open file 'report.rdf'.
    End report report [Mon Nov 25 12:30:40 2002].
    the file report.rdf is in the same folder as the form calling it
    where is the problem
    thanks
    Marjan

    Hi Marjan,
    The problem seems to be that the report is not in a directory
    listed in the reports60_path. Add the directory into your reports60_path
    and check if it solves the problem.
    Best Regards
    Chandra Mohan

  • Calling web service from forms..

    Forms Gurus,
    I am using this demo to call the webservice in Forms.
    http://www.oracle.com/technology/obe/obe_as_10g/deploy/callws_fromforms/forms_webservice.htm#r1
    I am using a simple button to call get the conversion rate from the web service.
    But my code is not doing anything. I used some insert statements to see where my code is failing and is as follows:
    DECLARE
    jo ora_java.jobject;
    rv ora_java.jobject;
    EX ora_java.jobject;
    v_num NUMBER;
    BEGIN
    INSERT INTO XXIPAY_WEB_TMP VALUES (111,'before',20);
    commit;
    jo:= CurrencyExchangeServiceStub.new;
    INSERT INTO XXIPAY_WEB_TMP VALUES (111,'between',20);
    commit;
    rv:= CurrencyExchangeServiceStub.getRate(jo,'USA','great britain');
    INSERT INTO XXIPAY_WEB_TMP VALUES (111,'after',20);
    commit;
    EXCEPTION
    WHEN ORA_JAVA.JAVA_ERROR then
    fnd_message.set_string('Unable to call out to Java, '||ORA_JAVA.LAST_ERROR);
    fnd_message.show;
         INSERT INTO XXIPAY_WEB_TMP VALUES (111,'java_error',20);
         commit;
    WHEN ORA_JAVA.EXCEPTION_THROWN then
         EX:=ORA_JAVA.LAST_EXCEPTION;
         message(Exception_.toString(EX));
         INSERT INTO XXIPAY_WEB_TMP VALUES (111,'exception',20);
         commit;     
    END;
    After pushing the button I am getting the following values from the table:
    111 before 20
    111 java_error 20
    I am importing currencyexchangestub.class, java.lang.Float.class and java.lang.Exception.class.
    My code is failing before executing the new function.
    Where am I doing wrong? Any help is highly appreciated.
    Thanks in advance.
    Fubu

    Hey Francois,
    Everything went fine according to demo until I clicked on the button to get the conversion rate. The button is inserting the "java_error" row in the table and giving out this error:
    SoapException: faultCode=SOAP-ENV:Protocol;msg=Unsupported response content type &quot;text/html;, must be: &quot;text/xml&quot;. Response was: &lt;! DOCTYPE HTM
    I am attaching the PL/SQL package generated out of the java class. Hope this is correct:
    PACKAGE BODY CurrencyExchangeServiceStub IS
    -- DO NOT EDIT THIS FILE - it is machine generated!
    cls ORA_JAVA.JCLASS;
    fid ORA_JAVA.JFIELD;
    mid ORA_JAVA.JMETHOD;
    args JNI.ARGLIST;
    -- Constructor for signature ()V
    FUNCTION new RETURN ORA_JAVA.JOBJECT IS
    BEGIN
    cls := JNI.GET_CLASS('mypackage1/CurrencyExchangeServiceStub');
    insert into xxipay_web_tmp values (222,'beforemethod',12);
    commit;
    mid := JNI.GET_METHOD(FALSE, cls, '<init>', '()V');
    insert into xxipay_web_tmp values (222,'aftermethod',12);
    commit;
    args := NULL;
    RETURN (JNI.NEW_OBJECT(cls, mid, args));
    END;
    PROCEDURE main(
    a0 ORA_JAVA.JARRAY) IS
    BEGIN
    cls := JNI.GET_CLASS('mypackage1/CurrencyExchangeServiceStub');
    mid := JNI.GET_METHOD(TRUE, cls, 'main', '([Ljava/lang/String;)V');
    args := JNI.CREATE_ARG_LIST(1);
    JNI.ADD_OBJECT_ARG(args, a0, JNI.GET_CLASS('[Ljava/lang/String;'));
    JNI.CALL_VOID_METHOD(NULL, mid, args);
    END;
    FUNCTION getRate(
    obj ORA_JAVA.JOBJECT,
    a0 VARCHAR2,
    a1 VARCHAR2) RETURN ORA_JAVA.JOBJECT IS
    BEGIN
    cls := JNI.GET_CLASS('mypackage1/CurrencyExchangeServiceStub');
    mid := JNI.GET_METHOD(FALSE, cls, 'getRate', '(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Float;');
    args := JNI.CREATE_ARG_LIST(2);
    JNI.ADD_STRING_ARG(args, a0);
    JNI.ADD_STRING_ARG(args, a1);
    RETURN JNI.CALL_OBJECT_METHOD(obj, mid, args);
    END;
    Please let me know where I am doing wrong.
    One more thing I would like to mention is that my form builder is on UNIX server and JDeveloper is on my local machine. So I am ftp'ing the java class and the deployed JAR file into my home directory on UNIX server in "binary" mode. And in the CLASSPATH I am mentioning my home directory,So that the java class gets picked up when I import the Java class.
    Thanks in advance,

  • How to Check the report is Finished while calling a report from Forms 6i

    Dear All,
    I am Calling a report from oracle forms 6i, after runing report in " Run_Product(REPORTS,:fn_cntl.nb_report_name,ASYNCHRONOUS, RUNTIME, FILESYSTEM,pl_id, NULL);"
    I need to copy the pdf to store it in another place once the report is generated.
    My Problem is : that i want ot Check first the report has generated after " Run_Product(REPORTS,:fn_cntl.nb_report_name,ASYNCHRONOUS, RUNTIME, FILESYSTEM,pl_id, NULL);" is executed ? How to check the report is generated ot not?
    As i tried to use the below procedure after "Run_Product(REPORTS,:fn_cntl.nb_report_name,ASYNCHRONOUS, RUNTIME, FILESYSTEM,pl_id, NULL);"" but his does not work... nothing happens
    {code}
    PROCEDURE FPC_COPY_REPORT (p_report_name varchar2) IS
         repid REPORT_OBJECT;
         v_rep VARCHAR2(100);
         rep_status varchar2(20);
         lv_id varchar2(1000);
    BEGIN
    repid := find_report_object('AMTP_995.RDF');
    v_rep := RUN_REPORT_OBJECT(repid);
    rep_status := REPORT_OBJECT_STATUS(v_rep);
         if rep_status = 'FINISHED' then
         message('Report Completed'); message('Report Completed');
         else
              message('Error when running report.');           message('Error when running report.');
         end if;
    END;
    {code}
    Any Help

    actually My code is this:
    declare
         ln_alert          number;
         pl_id               ParamList;
         lv_report_name varchar2(10000);
         lv_path  varchar2 (100) := 'C:\';
         lv_shared_path  varchar2(1000);
         lv_copy_file varchar2(10000);
      cursor cr_dir_path IS
      select v_dir_path
      from md_directory
      where v_dir_code ='SHR';
      lv_file_name varchar2(1000);
    BEGIN
      open cr_dir_path;
      fetch cr_dir_path into lv_shared_path;
      close cr_dir_path;
    lv_report_name :=  lv_path||:fn_cntl.nb_ref_no||'_M08600000_'||to_char(sysdate,'YYYYMMDD-HHmmss')||'.pdf';
      if ffn_check_fields  THEN
         pl_id := Get_Parameter_List('LAI');
             IF NOT Id_Null(pl_id) THEN
                 Destroy_Parameter_List( pl_id );
              END IF;             
              pl_id := Create_Parameter_List('LAI');
           if :fn_cntl.nb_report_name ='MMAT_REPORT'
                then
                     if :fn_cntl.nb_report_desc ='EXPORT'
                          then
                         Add_Parameter(pl_id, 'PARAMFORM',TEXT_PARAMETER, 'NO');
             Add_Parameter(pl_id, 'DESTYPE',  TEXT_PARAMETER,'File');
            Add_Parameter(pl_id, 'DESNAME',  TEXT_PARAMETER, lv_report_name);
            Add_Parameter(pl_id, 'DESFORMAT',TEXT_PARAMETER,'PDF');
            Add_Parameter(pl_id, 'p_mat_no',TEXT_PARAMETER, :fn_cntl.nb_mat_no);   
            Add_Parameter(pl_id, 'p_ref_no',     TEXT_PARAMETER, :fn_cntl.nb_ref_no);
            Add_Parameter(pl_id, 'p_verified_by',TEXT_PARAMETER, user);
                     Run_Product(REPORTS,:fn_cntl.nb_report_name,ASYNCHRONOUS, RUNTIME, FILESYSTEM,pl_id, NULL);
          DECLARE     
               repid REPORT_OBJECT;     v_rep VARCHAR2(100);     rep_status varchar2(20);BEGIN
                         /* REP_OBJ= REPORT OBJECT CREATED UNDER REPORT NODE AT FORM */
             repid := find_report_object('MMAT_REPORT');      v_rep := RUN_REPORT_OBJECT(repid);
                        rep_status := REPORT_OBJECT_STATUS(v_rep);          
          if rep_status = 'FINISHED' then
              message('Report Completed');          message('Report Completed');
             --copy_report_object_output(v_rep,'c:\local.pdf');
             -- host('netscape c:\tlocal.pdf');     
         else          message('Error when running report.');
                                          message('Error when running report.');     
         end if;
                 END;
         end if;
      end if;
           if :fn_cntl.nb_report_desc ='EXPORT'
                then
                  error_handler('This report will be Storde in ' ||lv_report_name||' and '||lv_shared_path|| ' Location',3);
                     lv_copy_file :='copy '||' "'||lv_report_name||'" "'||lv_shared_path||'"';
                     host(lv_copy_file,no_screen);
                  error_handler('Report Has been Generated Sucessfully.',3);
           end if;
        end if;
    END;I will try first the another solution you have replied perviously... and will let you no the results... thanks a lot...

Maybe you are looking for

  • Migration issue on default value for transient attribute in 11.1.2

    Experts, I migrated my JDev 11.1.1.5 project to JDev 11.1.2. After successful migration i began to run the project and it ran without issue. In the application however when i clicked on any link or button i get the following exception oracle.jbo.JboE

  • Demystifing  a Kernal Panic

    I received a kernel panic earlier today and well... all this stuff is Japanese to me. First question can somebody inform me on what the below log says? Second question, is there a place on the web that will tell me some key phrases of a kernel panic

  • Chrome is crashing my display (13", early 2013 rMBP)

    Hi there, The description says it all really. I bought my macbook second hand a week ago and after installing Chrome it seems to crash the display within an hour of use (if not sooner). When I transfer chrome to full-screen mode horizontal lines star

  • Error while installing NetBeans 4.1 Installation

    My system running win XP (SP2) and java SDK 1.4.1. I found error "a suitable jvm could not be found. please run the program again using the option -is:javahome <java home dir>" while installating NetBeans 4.1. I tried to use option to install from co

  • Another Freezing Thread

    After the latest update(I just got my ipod working after it was broken for a few months from another porblem, so I just now got the latest update) my Ipod has been locking up anywhere from 3seconds to 3 minutes after I start playing a song. I can res