2018年11月22日 星期四

Oracle EBS: 設定為incompatible的程式, 已submit後要改為可同時執行

先說解法:

  在 Conflict Resolution Manager 上, 點擊 [Verify] 按鈕

Conflict Resolution Manager的Status欄會出現 Verifying 訊息, 待系統處理完後, 就會依現有設定檢查是否程式互斥, 已submit的程式也會變更為可同時執行.

這方法先前有試過, 不知為何無效, 再作一次就有成果, 是時間差還是業障太重.


再來說說走了哪些冤枉路:

1.直接修改fnd_concurrent_requests的queue_method_code和crm_tstmp欄位('I', null), 結果是concurrent不會被執行, 改回才正常

2.直接修改fnd_concurrent_requests的status_code和crm_release_date('I', sysdate), 沒用, 因為過沒多久又被系統改為原值


Ref:
Removed Incompatible To Itself But Still Runs Serial, Not Parallel : Must Use Conflict Resolution Manager > Verify Button (Doc ID 2448116.1)

2018年11月21日 星期三

Oracle EBS: 庫存由費用倉轉至資產倉

在系統上有個profile:

  INV: Allow Expense to Asset Transfer

設定為No , 代表不允許費用倉轉至資產倉.

設定為Yes , 則允許費用倉轉至資產倉.


2018年11月2日 星期五

Oracle EBS: AR關帳問題 (Credit Memo Incomplete)

狀況: user關帳執行Subledger Period Close Exception Report, 在Receivable有幾筆Credit Memo的Status是Incomplete.

嘗試單純的方式, 以Examine在Form上直接把complete_flag改為N, 存檔時出現APP_AR_11017 error , 失敗.



搜尋一些文章, 有個del_orphans_xla_120.sql可用, 但Oracle support上可能已把這檔案移掉, 找不到了.

最後處理方式:
1.以SQL找出orphan record, 比對與出問題的那幾筆相符
2.針對其中一筆以diagnostics功能查看資訊, XLA_EVENTS出現兩列資料, 其中一列的event_status_code和process_status_code都是P (10/4建立), 另一列則分別是I和U (10/15建立)
3.為避免刪資料會有問題, 直接把event_status_code和process_status_code都改為P
4.重跑Subledger Period Close Exception Report, 已無異常資料

不知是否會有其他影響, 後續再觀察.


SQL: Orphan records

select xte.*, --xte.source_id_int_1 source_id,
       users.user_name user_name
  from xla_events xe,
       xla.xla_transaction_entities xte,
       fnd_user users
 where xe.created_by = users.user_id
   and xte.entity_code = 'TRANSACTIONS'
   AND xte.upg_batch_id is NULL
   and xte.entity_id = xe.entity_id
   and xte.application_id = 222
   and xe.application_id = 222
   and xe.event_status_code not in ('P','Z')
   and not exists
     (select 'x'
        from ra_cust_trx_line_gl_dist_all dist
       where dist.customer_trx_id = xte.source_id_int_1
         and dist.posting_control_id = -3
         and ((dist.event_id is null
               and not exists (select 'x'
                                 from ra_cust_trx_line_gl_dist_all dist2
                                where dist2.customer_trx_id = dist.customer_trx_id
                                  and dist2.account_set_flag = 'N'
                                  and dist2.latest_rec_flag = 'Y'
                                  and dist2.account_class = 'REC'))
             OR
             dist.event_id = xe.event_id)
      union
      select 'x'
        from ar_receivable_applications_all
       where customer_trx_id = xte.source_id_int_1
         and posting_control_id = -3
         and event_id = xe.event_id
      union
      select 'x'
        from ar_receivable_applications_all
       where applied_customer_trx_id = xte.source_id_int_1
         and posting_control_id = -3
         and event_id = xe.event_id
     )
 

Ref:
1.Orphan Records In XLA_TRANSACTION_ENTITIES table (Doc ID 1066982.1)
2.How to Find Orphan Records in Subledger Accounting Related to Oracle Receivables? (Doc ID 549020.1)

2018年10月8日 星期一

Oracle EBS: SQL類型concurrent program的註解問題

問題: SQL程式排程每天執行, 但改掉了不該更改的資料

狀況:
1.concurrent正常執行完成, 但應該不更動的資料被改了
2.直接在Toad執行, 結果符合預期
3.SQL很單純, 只針對一個table, where條件有四項

原因: 中文註解造成程式誤判

處理方式: 把原先第二個where條件後的中文註解移到最後面, 好了


這問題太詭異, 逐項測試才找到, 中文註解為:

  兩個 Table 出現大小寫不一的案例,因此全用 Upper 比較,才不會漏改


看起來很正常, 卻讓concurrent不正常, 目前有只有遇到這支SQL有問題.

2018年10月1日 星期一

Oracle EBS: 折讓的SO未拋至AR (Cust_trx_type_ID is required for Invoice Interface)

狀況:
1.折讓作業已作完, 資料未拋至AR
2.line的status為 Awaiting Invoice Interface - Incomplete Data
3.Progress Order可作的Activity是 Invoice Interface - Eligible
4.作Progress Order後出現訊息: Cust_trx_type_ID is required for Invoice Interface



原因: 在AR transaction type中的銷項設定未指定Credit Memo Type (此銷項設定對應至折讓所reference之SO/invoice)

解決方式: 指定Credit Memo Type



Ref: Progressing SO Line Displays "Cust_trx_type_id Is Required For Invoice Interface" Message (Doc ID 1367912.1)