Wednesday, November 18, 2015

Script to submit Import Standard Purchase order program through backend

DECLARE
      l_request_id     NUMBER;
      l_org_id         NUMBER;
      l_user_id        NUMBER;
      l_resp_id        NUMBER;
      l_resp_appl_id   NUMBER;
      l_boolean        BOOLEAN;
      l_phase          VARCHAR2 (240);
      l_status         VARCHAR2 (240);
      l_dev_phase      VARCHAR2 (240);
      l_dev_status     VARCHAR2 (240);
      l_message        VARCHAR2 (240);
   BEGIN
  
         mo_global.init ('PO');
         mo_global.set_policy_context ('S', '121'); -- Pass ORG_ID
         apps.fnd_global.apps_initialize (user_id        => l_user_id,     -- Pass user id
                                          resp_id        => l_resp_id,     -- Pass responsibility id
                                          resp_appl_id   => l_resp_appl_id -- Pas responsibility application id
            );
         l_request_id :=
            fnd_request.submit_request (application   => 'PO' -- Application name
                                        ,program       => 'POXPOPDOI' -- Concurrent program shot name
                                        ,description   => NULL
                                        ,start_time    => NULL  -- To start immediately
                                        ,sub_request   => FALSE
                                        ,argument1     => ''        -- Buyer_ID
                                        ,argument2     => 'STANDARD' -- Doc Type
                                        ,argument3     => ''         -- doc subtype
                                        ,argument4     => 'N'       -- update items
                                        ,argument5     => '' -- create sourcing rules not used
                                        ,argument6     => 'APPROVED' -- Approval status
                                        ,argument7     => '' -- release generation method
                                        ,argument8     => 12222   -- batch_id                                        ,                             ,
                                        ,argument9     => 121  -- operating unit null
                                        ,argument10    => '' -- global agreement null
                                        ,argument11    => '' -- enable sourcing null
                                        ,argument12    => '' -- sourcing level null
                                        ,argument13    => '' -- inv org enabled null
                                        ,argument14    => ''    -- inv org null
                                        ,argument15    => ''      -- batch size
                                        ,argument16    => 'N'   -- gather stats
                                        );
           dbms_output.put_line('Request ID for PO Import:' || l_request_id);
         IF l_request_id > 0
         THEN
            l_boolean :=
               FND_CONCURRENT.WAIT_FOR_REQUEST (l_request_id --request_id IN number default NULL,
                                                            ,
                                                20 --Interval   IN number default 60, SECONDS
                                                  ,
                                                0 --max_wait   IN number default 0,
                                                 ,
                                                l_phase --phase      OUT varchar2,
                                                       ,
                                                l_status --status     OUT varchar2,
                                                        ,
                                                l_dev_phase --dev_phase  OUT varchar2,
                                                           ,
                                                l_dev_status --dev_status OUT varchar2,
                                                            ,
                                                l_message --message    OUT varchar2) return boolean
                                                         );
         END IF;
      COMMIT;
   EXCEPTION
      WHEN OTHERS
      THEN
       dbms_output.put_line('Un Expected Error:' || SQLERRM);
   END;

1 comment:

  1. Hi,
    Can we submit the import standard purchase order program with custom source info as well to differentiate certain purchase orders in interface tables from a particular custom source.

    Thanks

    ReplyDelete