Wednesday, December 23, 2015

Another happy customer

Another happy customer where we extended Oracle eBS R12 by fully integrating Oracle Apex just by following the instructions on my own blog :-)



Using the page wizard I created a 'form on table with report' to maintain records in a custom table. However for each record you want to update, you first have to open an update form via a click on the pencil at the beginning of the line. You'd rather want to update the records straight on the interactive report page. Therefore using the page wizard I also created a tabular form. This form has far less options for filtering, sorting, downloading, ... than an interactive report page. Too bad!

I added a button to this tabular form that a status field of all selected records sets to 'FINAL'. The processing is not so straightforward. There is no field in the screenbuffer that corresponds with the check box at the beginning of the line. So it is not possible to write an UPDATE statement with a condition like check box checked. Now I had to develop a piece of code that goes through some internal apex collection to update the correct rows. The process added to the page processing:

DECLARE  
   l_checked_row  NUMBER;
   l_pkey         NUMBER;
BEGIN  
  FOR i IN 1..apex_application.g_f01.count 
  LOOP  
    l_checked_row := apex_application.g_f01(i);
    l_pkey        := apex_application.g_f02(l_checked_row);

    UPDATE xxapx_contractline
    SET STATUS = 'FINAL'
    WHERE contractline_id = l_pkey;
  END LOOP;
END;

1 comment:

  1. I have a question on calling a concurrent job via an APEX 5.01 page. However, our setup of EBS is a little different than your typical setup. EBS is a one server and APEX is setup on a different server. SO when an APEX page is launched from our EBS instance it is done via an HTTP URL.

    I am trying to call the concurrent job via my package like this:

    l_req_id := fnd_request.submit_request (
    p_Application, -- Application
    p_request_short_name, -- Program Short Name
    p_request_name, -- Program Desc
    NULL, -- start time - null = immediate
    FALSE, -- sub request ?
    p_Parameter1, -- Parameter 1 - Batch Id to be processed
    p_Parameter2 -- Parameter 2 - Recharge Type to be processed
    );

    The stored procedure above is inside my package (header duly setup with the AUTHID CURRENT_USER tag, create or replace PACKAGE xxxl_****_main AUTHID CURRENT_USER AS).

    When I execute my call I am getting the following error from PL/SQL:

    Concurrent Request did not submit: ORACLE error -942 in SUBMIT_REQUEST

    Cause: SUBMIT_REQUEST failed due to ORA-00942: table or view does not exist.

    The SQL statement being executed at the time of the error was: &SQLSTMT and was executed from the file &ERRFILE.

    Any Suggestions?

    Thank you,

    Tony Miller
    Los Alamos, NM

    ReplyDelete