Simplest Way 2 Call a report from Forms 10g

Hello,
i am using Oracle 10g & tools 10g too,
What i am trying to do is to call a report from a form...
So one friend told me 2 use a library exists in Folder Forms90 called " rp2rro"on the installed developer10g tools,i am using the following code :
============================================
Begin
PARAM_ID := GET_PARAMETER_LIST(PARAM_NAME);
IF NOT ID_NULL(PARAM_ID) THEN
DESTROY_PARAMETER_LIST('REPORT_PARAMETER');
END IF;
PARAM_ID := CREATE_PARAMETER_LIST(PARAM_NAME);
ADD_PARAMETER(PARAM_ID,'PARAMFORM',TEXT_PARAMETER,'NO');
ADD_PARAMETER(PARAM_ID,'COPIES',TEXT_PARAMETER,:COPIES);
ADD_PARAMETER(PARAM_ID,'P_DISPLAY',TEXT_PARAMETER,:DESTYPE);
ADD_PARAMETER(PARAM_ID,'DESFORMAT',TEXT_PARAMETER,'pdf');
ADD_PARAMETER(PARAM_ID,'P_DATA_TYPE',TEXT_PARAMETER,:PERIOD_MONTH);
ADD_PARAMETER(PARAM_ID,'P_MATERIAL_CODE',TEXT_PARAMETER,:MATERIAL_DESC);
     ADD_PARAMETER(PARAM_ID,'P_DATE_FROM',TEXT_PARAMETER,:DATE_FROM);
     ADD_PARAMETER(PARAM_ID,'P_DATE_TO',TEXT_PARAMETER,:DATE_TO);
     ADD_PARAMETER(PARAM_ID,'MONTH_ID',TEXT_PARAMETER,:MONTH_ID);
     ADD_PARAMETER(PARAM_ID,'FIN_YEAR_CODE',TEXT_PARAMETER,:FIN_YEAR_CODE);
rp2rro.rp2rro_run_product(REPORTS,'Report_name',SYNCHRONOUS, RUNTIME, FILESYSTEM, PARAM_ID, NULL);
END;
The problem is that i am receiving many errors as:
frm-41219:Can't find report invalid id
frm-47023:No such parameter named rp2rroDesformat exist in form my_form_name
frm-40105:Unable 2 resolve reference to item parameter.rp2rrodesformat
can any kind guy help me pls it's urgent i have no time 2 even read a document 4 it pls help me..!!??
Regards,
Abdetu..

Hi Abdetu,
Here is a procedure and simple call of the procedure witch Iam using successfully now.
PROCEDURE INVOKE_REPORT
     url_and_server in VARCHAR2,
     file_name in VARCHAR2,
     des_type in NUMBER,
     des_name in VARCHAR2,
     des_format in VARCHAR2,
     param_list in PARAMLIST
IS
     l_report_id REPORT_OBJECT := FIND_REPORT_OBJECT('QMSREP');
     l_report_job_id VARCHAR2(100);
     l_userid VARCHAR2(200) := GET_APPLICATION_PROPERTY(USERNAME) || '/' ||
     GET_APPLICATION_PROPERTY(PASSWORD) || '@' ||
     GET_APPLICATION_PROPERTY(CONNECT_STRING);
     l_report_url VARCHAR2(200) := substr(url_and_server, 0, instr(url_and_server, ',') - 1);
     l_report_server VARCHAR2(100) := substr(url_and_server, instr(url_and_server, ',') + 1);
     l_vcStatus VARCHAR2(100);
     l_vcJob VARCHAR2(100);
BEGIN
     SET_REPORT_OBJECT_PROPERTY(l_report_id, REPORT_COMM_MODE, ASYNCHRONOUS);
     SET_REPORT_OBJECT_PROPERTY(l_report_id, REPORT_EXECUTION_MODE, RUNTIME);
     SET_REPORT_OBJECT_PROPERTY(l_report_id, REPORT_SERVER, l_report_server);
     SET_REPORT_OBJECT_PROPERTY(l_report_id, REPORT_FILENAME, lower(file_name));
SET_REPORT_OBJECT_PROPERTY(l_report_id, REPORT_DESTYPE, des_type);
     SET_REPORT_OBJECT_PROPERTY(l_report_id, REPORT_DESNAME, des_name);
     SET_REPORT_OBJECT_PROPERTY(l_report_id, REPORT_DESFORMAT, des_format);
     SET_REPORT_OBJECT_PROPERTY(l_report_id, REPORT_OTHER, 'paramform=no userid='||l_userid);
     -- invoke the report (currently we don't use the returned ID)
     l_report_job_id := RUN_REPORT_OBJECT(l_report_id, param_list);
     l_vcstatus := Report_Object_Status(l_report_job_id);
     l_vcJob := substr(l_report_job_id, instr(l_report_job_id ,'_', 1 , 3 ) + 1);
     WHILE l_vcstatus in ('RUNNING','OPENING_REPORT','ENQUEUED')
     LOOP
     l_vcstatus := Report_Object_Status(l_report_job_id);     
     END LOOP ;
     if l_vcStatus = 'FINISHED' then
     Web.Show_Document('http://'||l_report_url||'/reports/rwservlet/getjobid'||l_vcJob||'?server='||l_report_server,'_blank');
     else
          message('Failed - Status was :'||l_vcStatus);
     end if;
END;
INVOKE_REPORT ('172.198.1.1:7777,rep_SRV'
                                        ,'MYREP.RDF'
                                        ,cache
                                        ,'htmlcss'
                                        ,l_par_list_id
hope this helps,
Alireza

Similar Messages

  • 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

  • REP 110 & REP 0110 .calling reports from Form 10g(10.1.2.0.2)

    Hi All,
    We are migrating form from Oracle form 6i to Oracle 10g(10.1.2.0.2). I am calling reports from forms
    using Web.Show_Docment(). When we run reports in report builder 10g it works fine.
    But when we try to run reports from Forms 10g it throws error which is given below.
    We want to run reports from UNIX. After using this url to submit report we get error REP 110 and REP 0110
    URL
    http://GEM:7777/reports/rwservlet?server=rep_server&report=/u01/forms/QA_Forms10g/GEMREP.rdf+DESTYPE=CACHE+DESFORMAT=HTML+p_user_id=XYZ+p_client=2
    ERROR
    REP-110: File '/u01/forms/QA_Forms10g/GEMREP.rdf DESTYPE=CACHE DESFORMAT=HTML p_user_id=XYZ p_client=2' not found.
    REP-0110: Unable to open file '/u01/forms/QA_Forms10g/GEMREP.rdf DESTYPE=CACHE DESFORMAT=HTML p_user_id=XYZ p_client=2'.
    I will really appreciate your help.
    Thanks
    Sandy

    Hello,
    You are mixing 2 separators in the URL : & and +
    Use only one separator in the URL :
    Example :
    http://GEM:7777/reports/rwservlet?server=rep_server+report=/u01/forms/QA_Forms10g/GEMREP.rdf+DESTYPE=CACHE+DESFORMAT=HTML+p_user_id=XYZ+p_client=2
    Regards

  • Problem in running oracle report from form 10g Version 10.1.2.0.2

    Hi All,
    I am facing problem while running the report from forms 10g getting FRM-41219
    For this i am using the following procedure :
    PROCEDURE RUN_REPORT IS
    L_RUN_TEXT VARCHAR2 (2000);
    L_USRID VARCHAR2 (100);
    L_PASSWD VARCHAR2 (100);
    L_DESNAME VARCHAR2 (100);
    FILE_OUT_PUT VARCHAR2(200);
    REP_STATUS VARCHAR2(20);
    REP_NAME VARCHAR2(50);
    PL_ID PARAMLIST;
    REP_URL VARCHAR2(2000);
    V_REP VARCHAR2(200);
    BEGIN
    display_me('RUN_REPORT');
    -- CALL THE FOLLOWING FUNCTION, IN WHICH USER CAN WRITE HIS OWN CODE.
    -- THE PROCEDURE CAN BE MADE LOCAL TO THE SPECIFIC FORM AND WRITE THE CODE.
    -- IT SHOULD RETURN 'Y', IF YOU WANT TO PROCEED WITH THIS RUN_REPORT
    -- PROCEDURE.
    IF NVL (RUN_REPORT1, 'Y') = 'N' THEN
    RETURN;
    END IF;
    COMMIT_FORM;
    IF (GET_APPLICATION_PROPERTY (OPERATING_SYSTEM)) = 'UNIX' THEN
    L_DESNAME := 'LP';
    ELSE
    L_DESNAME := NAME_IN ('REPORT_TITLE.F_FILE_NAME');
    display_me(L_DESNAME);
    END IF ;
    /* SETTING THE REPORT OBJECT PROPERTIES */
    /* G_PRAM1 IS THE NAME OF REPORT ****/
    SET_REPORT_OBJECT_PROPERTY('REPOBJ',REPORT_EXECUTION_MODE,BATCH);
    SET_REPORT_OBJECT_PROPERTY('REPOBJ',REPORT_COMM_MODE,SYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY('REPOBJ',REPORT_DESTYPE,CACHE);
    SET_REPORT_OBJECT_PROPERTY('REPOBJ',REPORT_DESFORMAT,'PDF');
    SET_REPORT_OBJECT_PROPERTY('REPOBJ',REPORT_SERVER,'172.18.76.34');
    SET_REPORT_OBJECT_PROPERTY('REPOBJ',REPORT_FILENAME,:GLOBAL.G_PARAM1||'.REP');
    display_me(':GLOBAL.G_PARAM1 '||:GLOBAL.G_PARAM1);
    PL_ID := GET_PARAMETER_LIST ('REP_PARA');
    IF NOT ID_NULL (PL_ID) THEN
    DESTROY_PARAMETER_LIST ('REP_PARA');
    END IF;
    PL_ID := CREATE_PARAMETER_LIST('REP_PARA');
    ADD_PARAMETER (PL_ID, 'DESTYPE' , TEXT_PARAMETER, NAME_IN ('REPORT_TITLE.RAG_DESTINATION') );
    ADD_PARAMETER (PL_ID, 'DESNAME' , TEXT_PARAMETER, L_DESNAME);
    ADD_PARAMETER (PL_ID, 'COPIES' , TEXT_PARAMETER, NAME_IN ('REPORT_TITLE.F_NO_COPY') );
    ADD_PARAMETER (PL_ID, 'ORIENTATION', TEXT_PARAMETER, 'LANDSCAPE');
    ADD_PARAMETER (PL_ID, 'MODE' , TEXT_PARAMETER, 'BITMAP');
    ADD_PARAMETER (PL_ID, 'PARAMFORM' , TEXT_PARAMETER, 'NO');
    ADD_PARAMETER (PL_ID, 'PARAM' , TEXT_PARAMETER, NAME_IN ('IBP_REPORT_PARAMETER.F_REP_SEQ') );
    ADD_PARAMETER (PL_ID, 'P_COMP_CODE' ,TEXT_PARAMETER,:GLOBAL.G_COMP_CODE);
    display_me(':GLOBAL.G_COMP_CODE '||:GLOBAL.G_COMP_CODE);
    REP_NAME := :GLOBAL.G_PARAM1||'.REP';
    display_me('REP_NAME'||REP_NAME);
    V_REP := RUN_REPORT_OBJECT('REPOBJ');
    display_me('V_REP '||V_REP);
    REP_STATUS := REPORT_OBJECT_STATUS(V_REP);
    display_me('REP_STATUS'||REP_STATUS);
         WHILE REP_STATUS IN ('RUNNING','OPENING_REPORT','ENQUEUED')LOOP
    REP_STATUS := REPORT_OBJECT_STATUS(V_REP);
    END LOOP;
    IF REP_STATUS = 'FINISHED' THEN
    REP_URL:='/REPORTS/RWSERVLET/GETJOBID'||SUBSTR(V_REP,INSTR(V_REP,'_',-1)+1)||'?'||'SERVER=172.18.76.34';
    display_me('REP_URL '||REP_URL);
    WEB.SHOW_DOCUMENT(REP_URL,'_BLANK');
    ELSE
    MESSAGE('ERROR WHEN RUNNING REPORT');
    END IF;
    END;
    Which is called on a button , can any body share there idea to help out
    Warm Regards
    Ashutosh

    Yes, I have replace the userid with scott/tiger@orcl with i6menu/i6menu@vbs and also replace the OAS server's name as you have suggested.
    declare
         REP_URL varchar2(2000);
    begin
    REP_URL:= '/reports/rwservlet?userid=i6menu/i6menu@vbs&report=testrep_10g.rdf&desformat=pdf&destype=cache&paramform=no';
    WEB.SHOW_DOCUMENT(REP_URL,'_BLANK');
    end;
    I had the 2nd code also but both r not working on my machine ......... !!
    I have made the following setting on my machine:
    1. Registry -> HKEY_LOCAL_MACHINE -> SOFTWARE-> ORACLE-> KEY_DevSuiteHome1->FORMS_PATH ->
    Values is : D:\vision_soft\VSS\exe
    2. Registry -> HKEY_LOCAL_MACHINE -> SOFTWARE-> ORACLE-> KEY_DevSuiteHome1->REPORTS_PATH ->
    Values is : D:\vision_soft\VSS\exe
    3. Entry made in the DevSuiteHome_1\forms\server ->default.env
    FORMS_PATH=D:\vision_soft\VSS\exe
    4. Entry made in the DevSuiteHome_1\reports\confr ->rwservlet.properties
    #SERVER= rep10
    As my forms is working well & but the report are not able to call.
    Could you please let me know is there is any other mandatory setting required for the report 10g.
    Regards,
    Ashutosh

  • 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);

  • 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 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

  • Default file location when calling report from Forms 10G

    I've tried this in the reports forum, but it applies equally to forms I guess..
    Hi,
    I've managed to put together a routine for running a report from a 10G Form. In 6i I specified a "relative path" to my report name as follows:-
    "Run_Product(REPORTS, '..\Reports\myreportname', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL); "
    In 10G I would like to just specify the report name, rather than the full file path. Can I specify a relative file path - or alternatively can I set the default report location in a configuration file?
    At the moment I'm having to specify something like:
    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_FILENAME,
    'c:\oracle\systemname\reports\myreportname.RDF');
    I would like to just have:
    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_FILENAME,
    'myreportname.RDF');
    Many thanks,
    Keith.

    Do you run your application on an application server?
    If so you should use the REPORTS_PATH environment variable (in windows registry entry).
    Alternatively you could use an environmentid in the reports.conf-file:
    <server version="10.1.2.0.2">
    <environment id="YOURID">
    <envVariable name="REPORTS_PATH" value="C:\......"/>
    </environment>
    You call the report with the parameter &envid=YOURID in the URL.

  • Problem calling a report from Forms

    Hi,
    I am currently trying to upgrade our Forms and Reports from 6.0 to 10g. I created a simple form and a simple report and I called the report from the form (passing no parameters) and report was generated fine. Now I'm looking at one of our existing forms and I've complied them in 10g. This time I'm passing a parameter and the report is failing. If I run the report on its own with the same parameter it works fine. I am using the Run_report_object builtin.
    The error I get is the 41214:Unable to run report. The weird thing about this is if I pass in a bogus parameter (not valid in the database), the report will execute fine and I will get a page saying that No Data was Found (text displays when nothing was returned from the query). However, whenever I pass in a good parameter (Data should be returned), the report do not execute and I get the error. So, I updated the database to have the bogus parameter and then when I passed in the bogus parameter again, this time it failed. So it looks like that when data is coming back from the query in the report, I get the error. I'm connected to the same database that was used in the simple example stated above that returned data.
    Does anyone have any idea what could be causing this? Let me know if more information is needed.
    Thanks,
    Karen

    You can check the reports queue for error messages to see what the error actually is.
    http://server:port/reports/rwservlet/showjobs?server=repsever

  • 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

  • Is there a way to open Word from forms 10g?

    Is there a way to open Word from a 10g form? I am trying to pass some data to a word document (like a template). Is there a way to open word from a form button?

    That assumes that the mime types are correctly mapped within the browser and that you already know the location and name of the file on the client machine.

  • 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...

  • Help me in using RUN_PRODUCT to call a report from form

    Hi GURUs
    I am trying to call a report from a form.
    I enter hiredate as input parameter in the form and click the 'run report' button.
    The hiredate value will be sent to report via pl_id, TEXT_PARAMETER,:CTL.TXT_DT as shown below in when button pressed trigger
    DECLARE
    pl_id ParamList;
    BEGIN
    pl_id := Create_Parameter_List('tmpdata');
    Add_Parameter(pl_id,'HRDATE',TEXT_PARAMETER,:CTL.TXT_DT);
    Run_Product(REPORTS, 'C:\empreport.RDF', SYNCHRONOUS, RUNTIME, FILESYSTEM, pl_id, NULL);
    END;
    Coming to report side its a simple query select * from emp where trunc(hiredate) > trunc(:hrdate);
    I created 'hrdate' user parameter in the report
    The problem is when I run the form it calls report and shows the report parameter form with the carried value. now I have to run report again.
    How do I supress this paramenter form because when I am sending value from form I dont have to see the parameter form at the report.
    I dont know how to use paramform = no with RUN_PRODUCT
    Please tell me what to do it....
    Thanks

    Looking at the Forms documentation it specifies, "To run a report from within a form, you must use the dedicated report integration built-in RUN_REPORT_OBJECT." The RUN_PRODUCT built-in is used to run the Graphics product. I suggest you give RUN_REPORT_OBJECT a try. This is how we call a report from a form.
    Hope this helps.
    Craig...

Maybe you are looking for