2021年10月21日 星期四

Oracle EBS: 批次hold coucurrent program

問題: 當數千筆的PO Output for Communication排隊執行, 會嚴重拖慢大程式的進度, 在已切不同concurrent manager執行的狀況下, 設定互斥並無預期中的效果, 最後想到只有hold一途.

 

試過之後可行, 作法如下.

 

 hold_flag : Y/N

 

PO Output for Communication

 

concurrent_program_id : 45071

phase_code : R  (Pending)

status_code: R   (Normal)

 

--find requests

select * from fnd_concurrent_requests

 where concurrent_program_id = 45071

    and request_date> trunc(sysdate) -2

    and phase_code = 'P'    --(Pending)

    and status_code = 'I'    --(Normal)

   

--apply hold   

update fnd_concurrent_requests

   set hold_flag = 'Y'

 where concurrent_program_id = 45071

    and request_date> trunc(sysdate) -2

    and phase_code = 'P'    --(Pending)

    and status_code = 'I'    --(Normal)     

 

--remove hold   

update fnd_concurrent_requests

   set hold_flag = 'N'

 where concurrent_program_id = 45071

    and request_date> trunc(sysdate) -2

    and phase_code = 'P'    --(Pending)

    and status_code = 'I'    --(Normal)

    and hold_flag = 'Y'

 

 

沒有留言:

張貼留言

注意:只有此網誌的成員可以留言。