May
20
2014

Hareket Açma Arayüzünde Kalan Satırların Yeniden İşlenmesi İçin Kullanılan Script Örneği

Merhaba,

mtl_material_transactions_temp kalan kayıtların yeniden işlenmesi için kullanılan bir script örneğini aşağıda bulabilirsiniz.

 

DECLARE
   l_header_id       NUMBER;
   p_userid          NUMBER         := &user_id;
   p_respid          NUMBER         := &resp_id;
   p_applid          NUMBER         := &resp_appl_id;
   p_old_header_id   NUMBER         := &old_transaction_header_id;
   retmsg            VARCHAR2 (240);
   retval            NUMBER;
   prnmsg            VARCHAR2 (256);
BEGIN
   SELECT mtl_material_transactions_s.NEXTVAL
     INTO l_header_id
     FROM DUAL;
 
   UPDATE mtl_material_transactions_temp
      SET process_flag = 'Y',
          lock_flag = NULL,
          transaction_mode = 3,
          ERROR_CODE = NULL,
          error_explanation = NULL,
          transaction_header_id = l_header_id
    WHERE transaction_header_id = p_old_header_id;
 
   fnd_global.apps_initialize (p_userid, p_respid, p_applid);
--Call Online TM
   retval :=
      inv_lpn_trx_pub.process_lpn_trx (p_trx_hdr_id      => l_header_id,
                                       x_proc_msg        => retmsg,
                                       p_proc_mode       => 1
                                      );
 
   IF (LENGTH (retmsg) > 200)
   THEN
      prnmsg := SUBSTR (retmsg, 1, 200);
   ELSE
      prnmsg := retmsg;
   END IF;
 
   IF (retval = 0)
   THEN
      DBMS_OUTPUT.put_line (' All OK . msg:' || prnmsg);
      COMMIT;                                         --TM success so commit.
   ELSE
      DBMS_OUTPUT.put_line (' Error  . msg:' || prnmsg);
      ROLLBACK;                    --TM failed so rollback insert and update.
   END IF;
END;
Mustafa Korkmaz


Yorum yapın

*