My Oracle Support Banner

コスト・マネージャー,原価ワーカーの保留もしくはエラーを解決する方法 (Doc ID 1593439.1)

Last updated on JUNE 07, 2019

適用範囲:

Oracle Cost Management - バージョン 11.5.10.0 から 11.5.10.2 [リリース 11.5]
この文書の内容はすべてのプラットフォームに適用されます。

詳細

 英語版はこちら

本文書利用上のご注意
====================
本文書は英語で提供されているDocument 748704.1 (最終更新日: 2014年2 月26 日) を翻訳したものです。ご利用に際しては、英語の原文を併せてご参照頂くことをお勧めいたします。

 

Purpose

 

コスト・マネージャー,CMCTCM,もしくは原価ワーカーの保留もしくはエラーの問題を解決する方法

 

Troubleshooting Steps

 


1.Oracle Application Manager内のコンカレント・マネージャ・リカバリ 機能をコンカレント・マネージャ / コンカレント処理の問題に対して実行します。

注意:<Note 1411723.1>のCP Analyzerを定期的に使用していると、即時の分析とコンカレント環境の出力が得られます。

2.<Note 304313.1> Understanding Cost Manager を確認します。

3.<Note 310000.1> Oracle Cost Management Interface Managers Activity Test  を実行し、確認します。

4.現象が発生するテストインスタンスで下記を実行します。

a.内部マネージャ、在庫マネージャと在庫リモート・プロシージャ・マネージャ を再実行します。
b.統計情報の収集をINV,WIP,FND,BOMスキーマに実行します。これらの表は原価計算に関連します。
c.コスト・マネージャと全ての原価ワーカーを停止します。
   <Note 373207.1> でコスト・マネージャを停止します。

   システム管理者職責/要求/表示 - 特定要求を選択 - 名称フィールドに コスト・マネージャ を入力し、
  検索を選択することで、コスト・マネージャを検索します。
  一つのコスト・マネージャのみが実行中で存在することを確認します。このとき、終了中
  (これは完全には取り消されてはいないことを意味しています。)のものが存在しないことを確認します。
  このナビゲーションはコスト・マネージャを取り消すときのものでもあります。

d. プロファイル・オプションを次のように設定します。

    MRP: デバッグ・モード を Yes
    MRP: トレース・モード を Yes
    CST: 原価更新のデバッグ・レベル を 全件


e. 実行ファイル CMCTCM (コスト・マネージャ)、CMCMCW ( 部品原価取引ワーカー)、CMCACW (実績原価ワーカー)、CMCLCW (レイヤー原価ワーカー) をリリンクします。  実行ファイルをリリンクする際のヒントは<Note 69798.1>を参照してください。  下記を確認してください。

    <Note.131321.1> How to Relink Oracle Database Software on UNIX
    <Note.69798.1> Basics of Relinking an Executable or Binary in an Oracle Developer Environment

f. 原価未計算/失敗した取引はアプリケーション自身により再発行できます。
    Costs -> 取引の表示 -> 資材取引
    メニューより、ツール すべて選択: ツール すべて再発行

    もしくは、下記のスクリプトでMMT表のレコードを再発行します。


    update mtl_material_transactions MMT
    set MMT.costed_flag = 'N',
    MMT.error_code = NULL,
    MMT.error_explanation = NULL,
    MMT.transaction_group_id = NULL,
    MMT.transaction_set_id = NULL
    where MMT.organization_id = &organization_id
    and MMT.costed_flag in ('N','E')
    and NOT  EXISTS ( SELECT 1
    FROM MTL_TRANSACTION_ACCOUNTS MTA
    WHERE MMT.TRANSACTION_ID = MTA.TRANSACTION_ID);



g.

commit;



h. コスト・マネージャを再起動します。
    Inventory > 設定 > 取引 > インタフェース・マネージャ > ツール > マネージャの起動よりコスト・マネージャを再起動します。
    処理間隔を5分に設定します。 
    注 -- コスト・マネージャは要求画面より定期的に実行するよう計画されるべきではありません。
              コスト・マネージャはインタフェース・マネージャからのみ計画されるべきです。

5. コスト・マネージャと原価ワーカーのログおよびTkprofとRawトレースを確認しアップロードしてください。
    (TKPROFの質問について <Note 199081.1> を、そして
    <Note 296559.1>-- FAQ: Common Tracing Techniques を確認してください。

6. 組織と期間に関しての問い合わせはCstCheck.sqlを実行した後の、完全なスプールファイル CstDiag115.txtと
    診断スクリプトBDEprdcls.sqlの出力をアップロードしてください。(<Note 246467.1>を確認してください)
    もしcustomer idが表示されたら、会社名を入力してください。

7. R11i: Note 206576.1の Inventory Period Closing Activity Testの出力を提供してください。


注:


下記のsqlをハングしたプロセスを特定するために実行してください。

SELECT request_id RequestId,
request_date RequestDt,
phase_code Phase,
status_code Status FROM
fnd_concurrent_requests fcr,
fnd_concurrent_programs fcp
WHERE fcp.application_id = 702 AND
fcp.concurrent_program_name = 'CMCTCM' AND
fcr.concurrent_program_id = fcp.concurrent_program_id AND
fcr.program_application_id = 702 AND fcr.phase_code <> 'C'

上記の問合わせの出力は下記の例のように要求ID,タイムスタンプ、ステータス、ステータスコードとフェイズコードです。

5296078 8/16/2006 10:19:02 PM P I

ステータスとフェイズコードは下記の通りです。

PHASE CODE:
Value Meaning
I Inactive
P Pending
R Running
C Completed

STATUS CODE:
Value Meaning
U Disabled
W Paused
X Terminated
Z Waiting
M No Manager
Q Standby
R Normal
S Suspended
T Terminating
D Cancelled
E Error
F Scheduled
G Warning
H On Hold
I Normal
A Waiting
B Resuming
C Normal

 

原価未計算の取引のトラブルシューティング:


1. 添付ファイルに提供された滞留している原価計算の手順に従ってください。 
    steps_to_be_followed_bde_stuck_cost.txt

2. 下記を実行してエクセル形式でアップロードしてください。
もしwip_cost_txn_interfaceにエラーが存在するなら問合わせ(b)によって得られる
WIP_TXN_INTERFACE_ERRORSに指定されている訂正処理を行ってください。
 a)

select *
  from wip_cost_txn_interface wcti
 where process_status = 3
   and exists (  select 'x'
                from mtl_material_transactions mmt
 where mmt.transaction_action_id in (30,31)
   and mmt.costed_flag = 'N'
   and wcti.wip_entity_id = mmt.transaction_source_id
   and mmt.transaction_source_type_id = 5)



b) 問合せ(a)によって得られる取引について、WIP_TXN_INTERFACE_ERRORSのエラーを取得するために下記を実行し、エクセル形式でアップロードしてください。

 

select *
  from WIP_TXN_INTERFACE_ERRORS WTIE
  where WTIE.transaction_id in (
  select wcti.transaction_id
  from wip_cost_txn_interface wcti
  where process_status = 3
   and exists (  select 'x'
                from mtl_material_transactions mmt
  where mmt.transaction_action_id in (30,31)
   and mmt.costed_flag = 'N'
   and wcti.wip_entity_id = mmt.transaction_source_id
   and mmt.transaction_source_type_id = 5))



3. MMTTに滞留しているレコードが存在するか確認してください。下記を実行してください。

   

select *
   from mtl_material_Transactions_temp;



   0行が返ります。もしそうでなければInventoryのサポート/開発に
   処理されるべきMMTTの行を送付してください。削除しないでください。

   a)下記を実行し、エクセル形式でアップロードしてください。
      このSQLはmtl_material_transactions_tempもしくはwip_move_txn_interfaceに保留取引を持つ
      全ての完了取引を取得します。

 

select *
 from mtl_material_transactions mmt
 where mmt.transaction_action_id in (31,30)
 and transaction_source_type_id = 5
 and exists (
                                   SELECT null
                                  FROM mtl_material_transactions_temp MMTP
                                  WHERE MMT.organization_id =MMTP.organization_id
                                    AND (MMT.COMPLETION_TRANSACTION_ID =
                                         MMTP.COMPLETION_TRANSACTION_ID
                                         OR MMT.MOVE_TRANSACTION_ID =
                                         MMTP.move_transaction_id)
                                    UNION ALL
                                      SELECT null
                                       FROM wip_move_txn_interface WMTI
                                      WHERE WMTI.TRANSACTION_ID =
                                            MMT.MOVE_TRANSACTION_ID)
 and costed_flag = 'N'




b) 下記を実行し、エクセル形式でアップロードしてください。
これらの保留取引を訂正し、在庫取引プロセッサを実行することでmtl_material_transactions_tempから
mtl_material_transactionsにインポートを行ってください。
もしエラーが発生するなら訂正してください。

 

select *
 FROM mtl_material_transactions_temp MMTP
  where exists ( select 'x'
                from mtl_material_transactions mmt
 where mmt.transaction_action_id in (30,31)
  and mmt.transaction_source_type_id = 5
  and mmt.costed_flag = 'N'
  and MMT.organization_id = MMTP.organization_id
                 AND (MMT.COMPLETION_TRANSACTION_ID =
                      MMTP.COMPLETION_TRANSACTION_ID
                      OR MMT.MOVE_TRANSACTION_ID =
                         MMTP.move_transaction_id))



4.スタックしたWMTIがないか確認してください。下記を実行してください。
  

select *
   from wip_move_txn_interface;



   0行が返ります。もしそうでなければWIPのサポート/開発に
   処理されるべきWMTIの行を送付してください。削除しないでください。

   これらの保留取引を訂正しWIP移動取引マネージャを実行してwip_move_txn_interfaceから
   wip_move_transactionsにインポートしてください。
   もしエラーがあれば訂正してください。

select *
 FROM wip_move_txn_interface WMTI
where exists (  select 'x'
                from mtl_material_transactions mmt
 where mmt.transaction_action_id in (30,31)
   and mmt.transaction_source_type_id = 5
   and mmt.costed_flag = 'N'
   and WMTI.TRANSACTION_ID =
                      MMT.MOVE_TRANSACTION_ID )



5.孤立した論理取引がないか確認してください。

 

Query:
  SELECT mmt_parent.transaction_id
  FROM MTL_MATERIAL_TRANSACTIONS mmt_parent
  WHERE mmt_parent.parent_transaction_id is not null
  and mmt_parent.costed_flag is null
  and mmt_parent.parent_transaction_id = mmt_parent.transaction_id
  and exists ( select 'x'
  from mtl_material_transactions mmt_child
  where mmt_child.parent_transaction_id =
  mmt_parent.parent_transaction_id
  and mmt_child.costed_flag = 'N')



   0行が返ります。もしそうでなければお知らせください。

6.孤立したバックフラッシュ取引がないか確認してください。
 

a)
 

SELECT mmt.transaction_date txn_dte, mmt.transaction_id txn_id,
  mmt.transaction_action_id action,
  mmt.inventory_item_id item_id, mmt.primary_quantity p_qty,
  mmt.subinventory_code subinv,
  mmt.transaction_source_id src,
  mmt.actual_cost ac, mmt.organization_id org_id,
  mmt.currency_code curr_code,
  mmt.acct_period_id
  FROM mtl_material_transactions mmt
  WHERE mmt.costed_flag IN ('N','E')
  AND mmt.transaction_source_type_id = 5
  AND mmt.transaction_action_id NOT IN (30,31,32)
  AND mmt.flow_schedule = 'Y'
  AND EXISTS (SELECT 1
  FROM mtl_material_transactions mmt1
  WHERE mmt1.organization_id = mmt.organization_id
  AND mmt1.transaction_action_id IN (30,31,32)
  AND mmt1.transaction_source_type_id = 5
  AND mmt1.costed_flag IS NULL
  AND mmt1.completion_transaction_id =
  mmt.completion_transaction_id);

 b)
  SELECT *
  FROM wip_cost_txn_interface wcti
  WHERE entity_type = 4
  AND NVL(transaction_type,-1) IN (1,2,3)
  AND EXISTS
  (SELECT 1
  FROM mtl_material_transactions mmt1
  WHERE mmt1.organization_id = wcti.organization_id
  AND mmt1.transaction_action_id IN (30,31,32)
  AND mmt1.transaction_source_type_id = 5
  AND mmt1.costed_flag IS NULL
  AND mmt1.completion_transaction_id =
 wcti.completion_transaction_id)



サーバーもしくはデータベースがクラッシュし、データが半分投入されたままになった際に、
4と5の両方のケースが起こりえます。

7. costed_flagが'E','N',nullのいずれでもない取引が存在しないことを確認してください。
   下記問い合わせの出力をエクセル形式で提供してください。

a)
  select organization_id, costed_flag, count(*)
  from mtl_material_Transactions
  where costed_flag is not null
  group by organization_id, costed_flag

b.)
  Select organization_id, process_status, count(*)
  from wip_cost_txn_interface
  group by organization_id, process_status


 8. R12.xでは
    CST_LC_ADJ_INTERFACE (CLAI)表にスタックしたレコードが存在するか確認してください。
 
    CST_LC_ADJ_INTERFACE表にエラーでスタックしたレコードが存在しないことを確認してください。
    エラーのさらに詳細な情報はCST_LC_ADJ_INTERFACE_ERRORS表に存在します。下記を実行してください。
 
   

select  ce.error_message,ce.error_column, c.*    
    from    cst_lc_adj_interface c, org_acct_periods o,cst_lc_adj_interface_errors ce
    where   c.organization_id = &org_id   
    and     c.transaction_id = ce.transaction_id
    and     c.transaction_date <= o.schedule_close_date   
    and     c.organization_id = o.organization_id    
    and     o.acct_period_id = 6020    
    and     rownum < 1000


 
    CST_LC_ADJ_INTERFACEのレコードをProcess = 1かつhase = 1 (保留)に設定してください。
    コスト・マネージャは荷揚原価調整プロセッサと荷揚原価調整ワーカーを起動します。
 

    update CST_LC_ADJ_INTERFACE
    set process_status = 1,
    process_phase=1
    where rcv_transaction_id = &rcv_txn_id;


 
    荷揚原価調整プロセッサを実行してください。
    レコードが存在しないことを確認してください。

    select *
    from CST_LC_ADJ_INTERFACE
    where rcv_transaction_id = &rcv_txn_id;


9. コスト・マネージャを停止して、すべてのワーカーを終了させます。そして MRP: デバッグ・モードを
   Yesに設定し、コスト・マネージャにトレースを有効にしますそして、コスト・マネージャを起動して
   1時間実行し、再度停止します。ワーカーを全て終了し下記を提供してください。

   a) コスト・マネージャのトレースとtkprof
   b) コスト・マネージャのログファイル、コスト・マネージャを停止したときにコスト・マネージャのログのみを得ることができることを留意してください。
  

10. R12では、診断スクリプトのテスト名"Cost processing errors for Inventory and WIP Transactions"および
    Transactions At Period End"の出力を提供してください。(<Note 1271813.1>を確認してください。)

11. R12では、CSTPNTXN Period Close Pending Transactions Reportを実行し、出力を確認し、アップロードしてください。(<Doc ID 1331647.1>より)

12.  <Note 242927.1>と<Note 1069492.1> の'Resolving Period Close Pending Transaction'を確認してください。
 <Note 304313.1>も確認してください。

アクション

 

コンタクト

To view full details, sign in with your My Oracle Support account.

Don't have a My Oracle Support account? Click to get started!


My Oracle Support provides customers with access to over a million knowledge articles and a vibrant support community of peers and Oracle experts.