May
27
2015

Arkaplanda Eşzamanlı Talebin Çalıştırılması

Merhaba,

Mutlaka bazı işlerde ihtiyaç olan trigger içerisinden eşzamanlı talebi çalıştırmak gerektiğinde eşzamanlısının trigger sessionı içerisinden commitlenmeden çalışmasının sağlanması için gerekli olan örnek trigger aşağıdaki gibidir.

Eşzamanlının arkaplanda çalışmasının sağlanması için fnd_request.set_mode (TRUE) olarak set edilmelidir. Aşağıdaki şekilde kullanılabilir.

 
CREATE OR REPLACE TRIGGER "APPS"."XX_RUN_CONCURRENT_FROM_BACKEND_TRG"
   AFTER INSERT
   ON MTL_SYSTEM_ITEMS_B
   FOR EACH ROW
DECLARE
   req_id   NUMBER;
   RESULT   BOOLEAN;
BEGIN
   RESULT := fnd_request.set_mode (TRUE);
   req_id :=
      apps.fnd_request.submit_request ('<CONC_PROG_APPL>',
                                       '<CONC_PROG_SHORT_NAME>',
                                       '',
                                       TO_CHAR (SYSDATE + 30 / 86400,
                                                'DD-MON-YYYY HH24:MI:SS'
                                               ),
                                       FALSE,
                                       :NEW.inventory_item_id
                                      );
 
   IF req_id = 0
   THEN
      raise_application_error (-20160, apps.fnd_message.get);
   END IF;
EXCEPTION
   WHEN OTHERS
   THEN
      NULL;
END;

Mustafa Korkmaz


Yorum yapın

*