Where The Streets Have No Name

concurrent program을 이용한 procedure 비동기 호출 본문

Developement/DataBase

concurrent program을 이용한 procedure 비동기 호출

highheat 2008. 12. 11. 14:38
CREATE OR REPLACE PACKAGE eap_async_call_pkg
/*******************************************************************************
*  PROCEDURE    :  eap_async_call_pkg                                          *
*  DESCRIPTIONS :  프로시저의 비동기 처리를 담당                               *
*                                                                              *
********************************************************************************
* DATE         AUTHOR          DESCRIPTION                                     *
*-------------------------------------------------------------------------------
* 2008.12.11   sclee         Initial Release                                   *
*******************************************************************************/
 IS
  -----------------------------------------------------------

  PROCEDURE p_execute(p_exec_str IN VARCHAR2);

  PROCEDURE p_wrapper(p_exec_str IN VARCHAR2, p_request_id OUT NUMBER);

END eap_async_call_pkg;
/
CREATE OR REPLACE PACKAGE BODY eap_async_call_pkg IS

  /*******************************************************************************
  *  PROCEDURE    :  p_execute                                                   *
  *  DESCRIPTIONS :  프로시저를 실행시키는 concurrent program                    *
  ********************************************************************************
  * DATE         AUTHOR    DESCRIPTION                                           *
  *-------------------------------------------------------------------------------
  * 2008.12.11   sclee     Initial Release                                       *
  *******************************************************************************/
  PROCEDURE p_execute(p_exec_str IN VARCHAR2) IS
  BEGIN
  
    EXECUTE IMMEDIATE p_exec_str;
  
  END p_execute;

  /*******************************************************************************
  *  PROCEDURE    :  p_wrapper                                                   *
  *  DESCRIPTIONS :  client쪽에서 비동기로 프로시처를 호출시 사용되어짐          *
  ********************************************************************************
  * DATE         AUTHOR    DESCRIPTION                                           *
  *-------------------------------------------------------------------------------
  * 2008.12.11   sclee     Initial Release                                       *
  *******************************************************************************/
  PROCEDURE p_wrapper(p_exec_str IN VARCHAR2, p_request_id OUT NUMBER) IS
    --concurrent실행관련
    l_user_id      NUMBER;
    l_appl_resp_id NUMBER;
    l_resp_id      NUMBER;
  BEGIN
    --concurrent실행권한설정
    SELECT user_id INTO l_user_id FROM fnd_user WHERE user_name = '유저명';
  
    SELECT application_id
      INTO l_appl_resp_id
      FROM fnd_application
     WHERE application_short_name = 'JA'
       AND rownum = 1;
  
    SELECT responsibility_id
      INTO l_resp_id
      FROM fnd_user_resp_groups
     WHERE user_id = l_user_id
       AND responsibility_application_id = l_appl_resp_id
       AND rownum = 1;
  
    fnd_global.apps_initialize(l_user_id, l_resp_id, l_appl_resp_id);
  
    --p_execute(p_exec_str);
   p_request_id := fnd_request.submit_request('EAP',
                                               'EAP_ASYNC_CALL_PKG.P_EXECUTE',
                                               NULL,
                                               NULL,
                                               FALSE,
                                               p_exec_str,
                                               chr(0),
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '',
                                               '');
  
  END p_wrapper;

-------------------------------------------------------------------------------
END eap_async_call_pkg;
--------------------------------------------------------------------------------
/