Calling procedure in oracle forms

Hi all,i have a procedure in the backend and when i am calling it in forms nothing happens.The procedure is syntactically correct.
Procedure
PROCEDURE XXC_MTL_TRANSACTIONS(v_file_number IN VARCHAR2) IS
BEGIN
INSERT INTO mtl_transactions_interface
          ( inventory_item_id,                     -- optional column
             source_code,
            source_line_id,
             source_header_id,
            process_flag,
            transaction_mode,
            last_update_date,
            last_updated_by,
            creation_date,
            created_by,
            organization_id,
            transaction_quantity,
            transaction_uom,
            transaction_date,
            transaction_type_id,
            transaction_cost,
            subinventory_code,
            transfer_organization,
            transfer_subinventory,
            shipment_number
SELECT
        lc.inventory_item_id,
       'DATA COLLECTION',                                   --source code
        regal.regal_inv_landed_cost_seq.nextval,            --source line id
        regal.regal_inv_landed_cost_seq.nextval,            --source header id
        1,                                                  --process flag
        3,                                                  --transaction mode
        lc.last_update_date,                                --last update date
        lc.last_updated_by,                                 --last updated by
        sysdate,                                            --creation date
        lc.created_by,                                      --created by
        lc.organization_id,                                 --organization_id
        lc.quantity_received ,                              --transaction Quantity
        msi.primary_uom_code ,                              --transaction UOM
        sysdate,                                            --transaction date
        3,                                                  --transaction type ID(3 for Direct Org Transfer)
        lc.landed_cost,                                     --transaction cost
        'Vessel',                                           -- SUBINVENTORY_CODE
         82,                                                -- TRANSFER ORGANIZATION
         'Brooklyn',                                        -- transfer subinventory
         lc.file_number                                     --shipment number
FROM
       regal.regal_inv_landed_cost_tab lc,
       mtl_system_items msi
WHERE
       lc.file_number = v_file_number
  AND  lc.organization_id = msi.organization_id
  AND  lc.inventory_item_id = msi.inventory_item_id
  AND  process_flag IS NOT NULL
  AND  SELECTED_FLAG = 'Y';
  COMMIT;
  UPDATE  regal.regal_inv_landed_cost_tab
  SET         process_flag ='Y'
   WHERE     SELECTED_FLAG = 'Y'
   AND      process_flag IS NULL;
   COMMIT;
END XXC_MTL_TRANSACTIONS;
Procedure call in forms
DECLARE
     v_file_number VARCHAR2(8);
BEGIN
     v_file_number := :RHCLANDEDCOSTDET.file_number;
     XXC_PO_ETA_PKG.XXC_MTL_TRANSACTIONS(v_file_number);
END;Can someone guide me where i am missing.
Any help is appreciated,
Thanks in advance!!

Below is the procedure when i used it in Program unit of Form which worked fine
PROCEDURE XXC_MTL_TRANSACTIONS(file_number IN VARCHAR2) IS
BEGIN
INSERT INTO mtl_transactions_interface
          ( inventory_item_id,                     -- optional column
             source_code,
            source_line_id,
             source_header_id,
            process_flag,
            transaction_mode,
            last_update_date,
            last_updated_by,
            creation_date,
            created_by,
            organization_id,
            transaction_quantity,
            transaction_uom,
            transaction_date,
            transaction_type_id,
            transaction_cost,
            subinventory_code,
            transfer_organization,
            transfer_subinventory,
            shipment_number
SELECT
        lc.inventory_item_id,
       'DATA COLLECTION',                                   --source code
        regal.regal_inv_landed_cost_seq.nextval,            --source line id
        regal.regal_inv_landed_cost_seq.nextval,            --source header id
        1,                                                  --process flag
        3,                                                  --transaction mode
        lc.last_update_date,                                --last update date
        lc.last_updated_by,                                 --last updated by
        sysdate,                                            --creation date
        lc.created_by,                                      --created by
        lc.organization_id,                                 --organization_id
        lc.quantity_received ,                              --transaction Quantity
        msi.primary_uom_code ,                              --transaction UOM
        sysdate,                                            --transaction date
        3,                                                  --transaction type ID(3 for Direct Org Transfer)
        lc.landed_cost,                                     --transaction cost
        'Vessel',                                           -- SUBINVENTORY_CODE
         82,                                                -- TRANSFER ORGANIZATION
         'Brooklyn',                                        -- transfer subinventory
         lc.file_number                                     --shipment number
FROM
       regal.regal_inv_landed_cost_tab lc,
       mtl_system_items msi
WHERE
       lc.file_number = :RHCLANDEDCOSTDET.file_number   --Block.field
  AND  lc.organization_id = msi.organization_id
  AND  lc.inventory_item_id = msi.inventory_item_id
  AND  process_flag IS NOT NULL
  AND  SELECTED_FLAG = 'Y';
  COMMIT;
  UPDATE  regal.regal_inv_landed_cost_tab
  SET         process_flag ='Y'
   WHERE     SELECTED_FLAG = 'Y'
   AND      process_flag IS NULL;
   COMMIT;
END XXC_MTL_TRANSACTIONS;Procedure call in xyz when-button-pressed trigger
BEGIN
     XXC_PO_ETA_PKG.XXC_MTL_TRANSACTIONS(:RHCLANDEDCOSTDET.file_number);
END;So,my doubt is when it worked fine here why does my procedure fail when i delete this from program unit of form and do the same thing in backend(sqlplus).
Kindly guide me where i am doing wrong

Similar Messages

  • How to call database procedure in oracle forms

    Hi,
    Can anyone describe me that how I'll call database procedure in oracle forms (6i,10g)?
    Thanks in Advance.
    Baloch

    Hi Francois,
    As I created a procedure in database as below
    create or replace procedure For_table (tbl_of in number,st_pnt in number,en_pnt in number) is
    begin
    for i in st_pnt..en_pnt loop
    dbms_output.put_line(tbl_of||'*'||i||'='||tbl_of*i);
    end loop;
    end For_table;
    The above procedure is working fine when I'm using PL/SQL. I call the above procedure as
    begin
    For_table(3,5,20);
    end;
    but nothing happen
    Thanks in Advance.
    Baloch

  • How to call refcursor in oracle forms

    How to fetch a column in oracle form by using DB prcedure's refcursor.
    There was not isseu to create and call the procedure in oracle forms but when I was trying to fetch
    a particular column and assing the value to text box, I got an error invalid reference.

    DECLARE
       TYPE emp_ref_cur IS REF CURSOR;
       v_emp_curs_qry   emp_ref_cur;
       v_sql            VARCHAR2 (32767);
       v_column1        VARCHAR2 (32767) := 'EMPNO';
       v_column2        VARCHAR2 (32767) := 'ENAME';
       TYPE emp_rec IS RECORD (
          empno   emp.empno%TYPE,
          ename   emp.ename%TYPE
       TYPE emp_rec_ty IS TABLE OF emp_rec;
       v_emps           emp_rec_ty;
    BEGIN
       v_sql := 'select ' || v_column1 || ',' || v_column2 || '  from emp ';
       OPEN v_emp_curs_qry FOR v_sql;
       FETCH v_emp_curs_qry
       BULK COLLECT INTO v_emps;
       CLOSE v_emp_curs_qry;
       FOR i IN v_emps.FIRST .. v_emps.LAST
       LOOP
          DBMS_OUTPUT.put_line ('Empno =' || v_emps (i).empno);
          DBMS_OUTPUT.put_line ('Ename =' || v_emps (i).ename);
       END LOOP;
    END;
    /i hope this is what you want ..

  • Calling Report from Oracle form 11g

    I am new to Forms 11g, trying to call report from Oracle forms 11g .
    I want to call report from oracle forms, but its giving error.
    Below is the code
    DECLARE
    repid REPORT_OBJECT;
    v_rep VARCHAR2(100);
    rep_status VARCHAR2(20);
    BEGIN
    repid := FIND_REPORT_OBJECT('empreport'); -- report node in forms builder
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(repid, REPORT_EXECUTION_MODE, BATCH);
    set_report_object_property ( repid, report_filename, 'empreport.rdf' ); -- report name
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,cache);
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'PDF');
    SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'RptSvr'); -- report server name
    v_rep := RUN_REPORT_OBJECT(repid);
    rep_status := REPORT_OBJECT_STATUS(v_rep);
    if
    rep_status = 'FINISHED'
    then
    WEB.SHOW_DOCUMENT('http://inorasrv-pc:7001/reports/dtd/rwservlet/getjobid='||v_rep||'?server='||'RptSvr','_blank');
    else
    message ( 'error while running reports-object ' || error_text );
    message ( ' ' );
    clear_message;
    end if;
    end;
    Above code giving following error :
    Unable to connect to report server RptSvr
    I think my report servername is wrong
    Where to find report server name in 11g.
    I am Using weblogic server, so can i give weblogic server name
    Thanks in advance.
    Edited by: parapr on Aug 17, 2012 1:52 AM
    Edited by: parapr on Aug 17, 2012 3:21 AM

    Hi,
    You have to have the report server
    a. Installed and configured
    b. Running.
    See
    http://docs.oracle.com/cd/E21764_01/bi.1111/b32121/pbr_strt001.htm
    http://docs.oracle.com/cd/E17904_01/bi.1111/b32121/pbr_verify004.htm
    http://docs.oracle.com/cd/E17904_01/bi.1111/b32121/pbr_conf003.htm#i1007341
    If you are using rwservlet then you will find the name from the Configuration file referred to in the last link.
    Cheers,

  • Calling Report From Oracle Forms

    Hi
    I am calling this one report from oracle forms, I am using global temporary table to run that report. I am first inserting data into the temporary table through oracle form and then i am calling report in that form to view the data in that temporary table. The problem is, we can not view the data of an other session if we are using temporary table. When i call report from that form a new session get created due to which i can not see the data. Is there any method of calling report from oracle form that a same session is used to run the report?
    Thanks.

    As you mention Forms and Reports do not share the database session. I had the same problem and resolved it using record groups and DATA_PARAMETER to transfer data from Forms to Reports. You could also read the Note 110495.1 on Metalink to find useful information regarding this issue.
    Adi

  • How to call Reports in oracle forms 10g

    Dear All,
    How to call Reports in oracle forms 10g.
    I am using Oracle Forms 10g Reports 10g and Database 10 and and Operating system Windows XP.
    Please give me the Solution.
    Thanks and Regards,
    Faziludeen

    Hi Omkar,
    Please check the following code.
    DECLARE
      repid REPORT_OBJECT;
      v_rep VARCHAR2(100);
      rep_status VARCHAR2(20);
      plid ParamList;
    BEGIN
      plid := Get_parameter_List('tmp');
      IF NOT Id_Null(plid) THEN
      Destroy_parameter_List( plid );
      END IF;
      plid := Create_parameter_List('tmp');
      add_parameter(plid,'p_parameter',text_parameter,to_char(:POLICY.POLICY_NO));
      Add_parameter(plid, 'PARAMFORM', TEXT_parameter, 'NO');
      repid := FIND_REPORT_OBJECT('POL_REP');
      SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
      SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,cache);
      SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'PDF');
      SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER, 'paramform=no');
      v_rep := RUN_REPORT_OBJECT(repid,plid);
      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;
      WEB.SHOW_DOCUMENT('http://'||'LENOVO-428E9E41'||'8889'||'/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?
      '||'server=prod_report_server&P_parameter='||:POLICY.POLICY_NO||
      '&paramform=no');
    END;
    I am used to Start the Report sever   'Rwserver Server=prod_Report_Server Start'
    OracleAS Report Services
    Version :-   10.1.2.0.2
    Name    :-   prod_report_server
    Status  :-   Server is Shutting down
    Jobs in Queue  0
    Active Engines  0
    I got the Following Error when I trying to run the Report
    FRM-41211: Integration error:SSL failure running another product
    Thanks and Regards,
    Faziludeen

  • Calling reports from oracle forms 9i

    Hi
    I succeded to call reports from oracle forms but for I have a problem for only one report so I can't call it. this a part of the code I'm using :
    declare
         pl_id2 ParamList;
         pl_name2 VARCHAR2(30) := 'liste2';      
    v_rep VARCHAR2(100);
         rep_status VARCHAR2(20);
    begin
    pl_id2 := get_parameter_list(pl_name2);
    if (Id_Null(pl_id2) )THEN     
    pl_id2 := Create_Parameter_List(pl_name2);
    IF NOT Id_Null(pl_id2) THEN     
         add_parameter(pl_id2,'mois',TEXT_PARAMETER,:mois);
    END IF;
    end if;
    IF NOT Id_Null(pl_id2) THEN
    if(:mois is not null) then
    v_rep := RUN_REPORT_OBJECT('My_report',pl_id2);
    message(v_rep);
    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
    WEB.SHOW_DOCUMENT('/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver','_blank');
    ELSE      
    message('Error when running report');
    END IF;
    end;
    the problem I've remarqued is that the function message(v_rep) is always returning the value :'repserver_0'.
    so when I execute the previous code I'm getting the 2 messages : 'repserver_0' and 'Error when running report'.
    Rq: the report my_report is running very well in report builder.
    does someone see where is the problem so can help me??
    thanx.

    Hi,
    This usually happens when the report fails on the report server. To obtain details on why a particular report has failed, use the showjobs page :
    http://server.domain:PORT/reports/rwservlet/showjobs?server=repserver
    and check the detailed error occured.
    This is logged as Bug:3017948. It is marked to be fixed in version 9.0.4 (Reports 10g) and also has one-off patches for version 9.0.2.3 on Windows platforms. If you need further assistance about patches, please raise a Service Request (SR) with Support via Metalink (http://metalink.oracle.com).
    Regards,
    -Bulent

  • Calling a procedure from Oracle Forms with OUT parameter

    HI,
    Can anyone tell me in detail how to call a procedure with OUT parameters from Oracle Forms 6i ?
    Thanks in advance.

    Hello,
    Just provide the out parameter in the call:
    Declare
      amount   number; -- OUT number argument populated by the procedure
    Begin
      -- call the X procedure --
      x( amount ) ;
    End;Francois

  • Procedure runs in SQL Plus, but not when called from my Oracle Form

    Hi. I have this code to send an email alert as the user updates a record on my base table from my Oracle Form. I use dbms_scheduler so that it's submitted as a background job and so the email processing does not delay my Oracle Form from saving quickly. If I submit this code in SQL Plus it executes and I receive the email as expected.
    begin
    dbms_scheduler.create_job ( 
         job_name            => 'IMMEDIATE_JOB', 
         job_type            => 'PLSQL_BLOCK', 
         job_action          => 'begin TTMS.dropperVacationConflict_Notify (62547, ''01-SEP-11'', ''02-SEP-11''); end;', 
         number_of_arguments => 0, 
         start_date          => sysdate +1/24/59, -- sysdate + 1 minute 
         enabled             => TRUE, 
         auto_drop           => TRUE, 
         comments            => 'Immediate, one-time run');
    end;However if I submit this code from a Post-Update trigger in my form the code runs without error, but my email is never received (the same parameter values would be passed to this trigger):
    begin
    -- Submit the email notification in the background so as to not slow down the screen while saving.   
    dbms_scheduler.create_job ( 
         job_name            => 'IMMEDIATE_JOB', 
         job_type            => 'PLSQL_BLOCK', 
         job_action          => 'begin TTMS.dropperVacationConflict_Notify (:dropper_vacations.dropper_id, :dropper_vacations.begin_dt, :dropper_vacations.end_dt); end;', 
         number_of_arguments => 0, 
         start_date          => sysdate +1/24/59, -- sysdate + 1 minute 
         enabled             => TRUE, 
         auto_drop           => TRUE, 
         comments            => 'Immediate, one-time run');
    end;     Any ideas why this might be happening?

    Wow, so I changed the two procedures so that I'm only passing in one number parameter and one char parameter...
    CREATE OR REPLACE procedure TTMS.job_vacationconflict_notify (p_dropper_id number, p_other char) IS
    CREATE OR REPLACE PROCEDURE TTMS.dropperVacationEmailURL_new (in_dropper_id number, in_other char) ISIf I execute it like this it works and I get the email:
    TTMS.job_vacationconflict_notify(62547, 99999);or like this it works and I get the email:
    TTMS.job_vacationconflict_notify(62547, '99999');But if I execute it like this (I get no errors) the email is not sent:
    TTMS.job_vacationconflict_notify(62547, 'ababa');So this problem really has nothing to do with date formats. It seems to have to do with whether parameter two has characters in it!!! What the heck.
    Any ideas on this?
    Here is the procedure I'm calling:
    CREATE OR REPLACE procedure TTMS.job_vacationconflict_notify (p_dropper_id number, p_other char) IS
    begin
      dbms_scheduler.create_job ( 
         job_name            => 'IMMEDIATE_JOB', 
         job_type            => 'PLSQL_BLOCK', 
         job_action          => 'begin TTMS.dropperVacationemailurl_new ('||p_dropper_id||','||p_other||'); end;', 
         number_of_arguments => 0, 
         start_date          => sysdate +1/24/59, -- sysdate + 1 minute 
         enabled             => TRUE, 
         auto_drop           => TRUE, 
         comments            => 'Immediate, one-time run');
    end;
    /And the above procedure is calling this procedure which should be sending the email alert:
    CREATE OR REPLACE PROCEDURE TTMS.dropperVacationEmailURL_new (in_dropper_id number, in_other char) IS
          myguid varchar2(15):=null;
          pcm_contact varchar2(3):=null;
          guid_contact varchar2(15):=null;
          conflict_cnt number(8):=0;
          -- Various declarations
          PSENDER VARCHAR2(200);            --  From
          PRECIPIENT VARCHAR2(200);         --  To
          P_CC_RECIPIENT VARCHAR2(200);     --  CC
          P_BCC_RECIPIENT VARCHAR2(200);    --  BCC
          PSUBJECT VARCHAR2(200);           --  Subject
          PMESSAGE VARCHAR2(6000);          --  Message Body
          PPARAMETER NUMBER;                --  Parameter Value
          guid_valid varchar2(15);          --  Used to grab the validation value of
          -- Grab name details of e-mail targets
          cursor targets is
          select guid, initcap(first_name) first_name, initcap(first_name)||' '||initcap(last_name) fullname
          from pwc_employee
          where upper(guid) = upper(guid_contact);
    BEGIN
            select count(*)
            into conflict_cnt
            from dropper_bundle_assign
            where
                dropper_sched = in_dropper_id and
                trunc(sched) <> '31-DEC-29' AND        
                trunc(sched) between '01-SEP-11' and '02-SEP-11' and
                trunc(sched) > trunc(sysdate);
            select distinct pcm
            into pcm_contact
            from dropper_bundle_assign
            where
                  dropper_sched = in_dropper_id and
                  trunc(sched) <> '31-DEC-29' AND        
                  trunc(sched) between '01-SEP-11' and '02-SEP-11' and
                  trunc(sched) > trunc(sysdate);
            select guid
            into guid_contact
            from pwc_employee
            where initials = pcm_contact;
        -- Ensure required parameters have been passed
        if guid_contact is not null
           and in_dropper_id is not null then
               Begin
                    select guid
                    into guid_valid
                    from pwc_employee
                    where upper(guid) = upper(guid_contact);
               Exception
                    when no_data_found then
                    raise_application_error(-20000,'Invalid Recipient.  Please check the employee table.  Please try again.');
               End;
               -- In the event there are multiple targets then we will loop thru and send individual emails
               for thisone in targets loop
                    PSENDER := lower(user)||'@us.ibm.com';
                    PRECIPIENT := lower(thisone.guid)||'@us.ibm.com';
                    P_CC_RECIPIENT := lower(thisone.guid)||'@us.ibm.com';
                    P_BCC_RECIPIENT := 'ssbuechl'||'@us.ibm.com';
                    PPARAMETER := TO_NUMBER(lower(in_dropper_id));
                    PSUBJECT := 'TEST: Dropper Vacation '||in_other||' Conflict Notification for dropper '||in_dropper_id||' - Action Required';
                    PMESSAGE := thisone.first_name||'-<br><br>There is an induction conflict due to a new or updated dropper vacation.<br><br>Click here to the dropper''s vacation conflicts: <u><a href="http://9.35.32.205:7777/forms/frmservlet?config=TTMSMENU&form=dropper_vacations&otherparams=p_dropper='||PPARAMETER||'">Dropper Id: '||PPARAMETER||'</a></u> (note: use your Oracle credentials when prompted for log-on information).<br><br>Thanks.';
                    SEND_MAIL ( PSENDER, PRECIPIENT, P_CC_RECIPIENT, P_BCC_RECIPIENT, PSUBJECT, PMESSAGE );  -- Procedure to physically send the e-mail notification
               end loop;
        else
              raise_application_error(-20001,'Recipient and Parameter Value are required. Please try again.');
        end if;
    exception
        when no_data_found then
             raise_application_error(-20002,'Note: Email will not be sent because no PCM was identified as the manager or the PCM does not have a record in the Employee table.  See ITS for assistance.');
         when too_many_rows then
             raise_application_error(-20003,'Note: Email will not be sent because multiple PCMs manage this dropper. Please notify each PCM manually.');
    END dropperVacationEmailURL_new;
    /Edited by: sharpe on Aug 17, 2011 4:38 PM
    Edited by: sharpe on Aug 17, 2011 5:03 PM

  • Calling stored procedure in Oracle forms

    I have a stored procedure in Oracle which is declared as follows in the package
    SFCS1.Company_Selection(O_Cursor IN OUT T_Cursor, cls IN Varchar2);
    Where T_Cursor is defined as a Ref Cursor
    From the Oracle forms I'm using the following code
    SFCS1.Company_Selection(A,my_cls);
    go_block('Block50');
    Execute_Query;
    I get the error message "FRM40505:Oracle Error: Unable to Perform Query". If I hardcode the value of my_cls in the query it runs properly. Any solutions will be really helpful
    Further to this, I want to put the single quotes around a value (for eg. 'A') from a variable. For instance I'm getting a value from my_cls and for the output I want to surround it with the single quotes, can somebody tell me how to do it.
    Thanks in advance

    This is a bit of a roundabout way to do it? Try setting up the block data source as procedure and set the values in the property palette of the data block.
    e.g.
    Query Data Source Type = Procedure
    Query Data Source Name = SFCS1.Company_Selection
    Query Data Source Columns = (Whatever columns/items you have in your datablock)
    Query Data Source Arguments = Argument names are your ref cursor and your variable.
    Check out basing data blocks on Ref Cursors.
    HTHs
    L :-)

  • Help: stored procedure for oracle forms

    Hi,
    I am working on a form with data block based on stored procedures. Here is the question:
    On a data block based on simple query, where insert a new record is taking care of by oracle form. That is create_record will do the job.
    When the data block is based on stored procedures, select, update, insert and delete will have to based on the data block created by the ref curcor. How to call the stored procedure from form to create a new record?
    I attempted to write something like:
    PROCEDURE sample_insert
    data_block IN OUT some_refcurcor) IS
    BEGIN
    insert into some_table values
    (data_block.field1, data_block.field2.....);
    commit;
    END;
    I am not quit sure how this works, as would create_record buildin will work to clean up the FORM data block and allow user to enter data and when and how the sample_insert will be called to make this work? Or how the same effect will work out as none stored procedure would do. New data eventually get into the designated table.
    Any suggestions are greatly appreciated.
    Jimmy
    Correction: (data_block IN OUT some_refcurcor) should be (data_block IN OUT some_table) and some_table is a record type etc..
    Message was edited by:
    WJH

    Hello,
    there are two kinds of output from a stored procedure which can be used in a forms block:
    - ref cursor
    - table of records
    The easiest way is to use a ref cursor. Use a strongly typed one,
    so that you can see the columns in the block wizard.
    A table of records is used when you also want to insert, update and so on.
    There is a not on metalink note for this ( 66887.1 ).
    Bernd

  • How to run database procedure in oracle form

    Hi,
    I have created a database procedure, it run successfully at server side, but I need to run it on oracle form, how I'll do ?
    Thanks
    Baloch

    Baloch,
    Essentially, you call your database stored procedure the same way in Forms as you do in SQL Plus. The difference is that you need to call the procedure in a Forms Trigger versus a SQLPLus prompt. The Forms user must have execute privileges to the stored procedure as well. The Forms trigger depends on when and where you need the procedure to run. For example, if you need the procedure run in conjunction with a button pressed in your form, you would code your When-Button-Pressed trigger to call the stored procedure. If the db user is different fro.m the Forms user, make sure you fully qualify the call to the procedure.
    Here is a small code sample to demonstrate:
    /* Sample When-Button-Pressed trigger */
    BEGIN
       IF <Condition is true> THEN
          /* Call Database procedure */
          SCHEMA.PROCEDURE_NAME(<any procedure parameters here>);
       END IF;
    END;This is a very basic example, but it should make the concept clear. ;)
    Hope this helps,
    Craig B-)
    If someone's response is helpful or correct, please mark it accordingly.
    Edited by: CraigB on Jul 22, 2010 10:57 AM
    Edited by: CraigB on Jul 22, 2010 11:02 AM
    Edited by: CraigB on Jul 22, 2010 11:04 AM
    Edited by: CraigB on Jul 22, 2010 11:04 AM

  • PLS HELP - Column value missing when calling procedure from Oracle OLEDB provider

    When calling procedure 'sp_a(?,?,?)' from SQL_PLUS and using
    DBMS.OUTPUT to print the result
    It returns a result set as
    C0, C1, C2
    But When I call the same procedure 'sp_a(?,?,?)' with same
    parameter value from MS VB6,
    It returns the a result set as
    C0, Null,C2
    The 2nd value became Null.
    Any ideas?
    Please Help.

    See http://oracle.ittoolbox.com/groups/technical-functional/oracle-apps-l/forms-personalization-execute-a-procedure-1778674

  • Calling BIP from Oracle Forms: Having Java version problem.

    <h3>
    Hi,
    I tried to call a BIP report through Oracle Forms.
    I followed this PDF.
    http://www.oracle.com/technology/products/xml-publisher/docs/Forms_BIP_v22.pdf
    Problem is, when I run the form, I get this error (copied from the Java Console)
    Oracle JInitiator: Version 1.3.1.22
    Using JRE version 1.3.1.22-internal Java HotSpot(TM) Client VM
    User home directory = C:\Documents and Settings\channasiriwardena
    Proxy Configuration: Manual Configuration
    Proxy: 192.168.11.100:81
    Proxy Overrides: *.iil.informatics.lk,192.168.11.*,192.168.10.*,<local>
    JAR cache enabled
    Location: C:\Documents and Settings\channasiriwardena\Oracle Jar Cache
    Maximum size: 50 MB
    Compression level: 0 Forms Applet version is : 10.1.2.0
    java.lang.UnsupportedClassVersionError: oracle/j2ee/ws/client/ServiceFactoryImpl (Unsupported major.minor version 49.0)
    I am using Forms Forms [32 Bit] Version 10.1.2.0.2.
    JDeveloper Version is 10.1.3.5.0.
    The Forms 10g Java version is 1.4.
    So according to what I discovered on the net, the problem is: My JInitiator is 1.3 using JRE 1.3, BUT my .JAR file is Java 1.5.
    Since we are using the Oracle JVM, ticking “Use JRE 1.5..” in the Advanced tab of the Internet Explorer Options has no effect.
    We cannot upgrade the Oracle JInitiator to a 1.5 since there is no such JInitiator version. JInitiator is available only up to 1.3.1.30.
    What can I do. What if I install Java 1.3 in my machine and re-compile my JAR file with that? Will that work or is there another solution?
    Has anybody encountered this problem?
    Any help would be greatly appreciated.
    Thanks & Regards,
    C.S.
    </h3>

    Hi,
    Yes, you need to compile your source files with JDK 1.3 (since JInit 1.3.x.x uses JDK 1.3).
    Other solution would be to use JRE 1.5 (instead of JInitiator).
    Check out [this thread|http://forums.oracle.com/forums/thread.jspa?threadID=550563] on how to use JRE1.5
    -Arun

  • Problem calling WebService from Oracle Forms created by JDeveloper

    Hi All,
    I am trying to call a Webservice from Oracle Form using JAVA Class created by Oracle JDeveloper.
    The Java Function (in JDeveloper) is as follows:
    public Vector GetPIValue(String TagName, String ReadingTime) throws Exception
    URL endpointURL = new URL(endpoint);
    Envelope requestEnv = new Envelope();
    Body requestBody = new Body();
    Vector requestBodyEntries = new Vector();
    requestBodyEntries.addElement(TagName);
    requestBodyEntries.addElement(ReadingTime);
    requestBody.setBodyEntries(requestBodyEntries);
    requestEnv.setBody(requestBody);
    Message msg = new Message();
    msg.send(endpointURL, "http://tempuri.org/GetPIValue", requestEnv);
    Envelope responseEnv = msg.receiveEnvelope();
    Body responseBody = responseEnv.getBody();
    return responseBody.getBodyEntries();
    When this Class is Imported into Oracle Forms the Function is converted into the following PL/SQL code:
    FUNCTION GetPIValue(
    obj ORA_JAVA.JOBJECT,
    a0 VARCHAR2,
    a1 VARCHAR2) RETURN ORA_JAVA.JOBJECT IS
    BEGIN
    Message('param passed: '||a0||' - '||a1);
    cls := JNI.GET_CLASS('oracle/forms/demos/webservice/ConnectToPIStub');
    mid := JNI.GET_METHOD(FALSE, cls, 'GetPIValue', '(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Vector;');
    args := JNI.CREATE_ARG_LIST(2);
    JNI.ADD_STRING_ARG(args, a0);
    JNI.ADD_STRING_ARG(args, a1);
    Message('I am Here');
    RETURN JNI.CALL_OBJECT_METHOD(obj, mid, args);
    END;
    When I am calling this Function from Within Forms and Passing into it the Parameters, I am displaying some Debugging Messages. When the Code reaches "JNI.CALL_OBJECT_METHOD" there is NO RESPONSE from the Webservice and nothing is moving forward after this Point...
    A similar Webservice that can be Tested is:
    http://www.webservicex.com/CurrencyConvertor.asmx
    with WSDL file:
    http://www.webservicex.com/CurrencyConvertor.asmx?wsdl
    Kindly note that this Webservice is running properly from the Web Browser but the call from Oracle Forms is not Succeeding!!!! :-((
    Any help is much appreciated.
    Regards,
    Baz

    Hi,
    Yes, you need to compile your source files with JDK 1.3 (since JInit 1.3.x.x uses JDK 1.3).
    Other solution would be to use JRE 1.5 (instead of JInitiator).
    Check out [this thread|http://forums.oracle.com/forums/thread.jspa?threadID=550563] on how to use JRE1.5
    -Arun

Maybe you are looking for