跳到主要內容

INV Interface Manager(Interface管理器)簡易說明

昨天遇到Transaction都Pending在WIP_COST_TXN_INTERFACE內,看同事處理才知道可能是INV Interface Manager的Cost Manager沒有跑,
雖然最後是使用者設定到一個參數,並不是Cost Manager有問題,
不過昨天找了一些資料,把它記錄下來。

INV Interface Manager:
  1、Cost Manager 處理表格WIP_COST_TXN_INTERFACE資料的管理器,
        如果狀態為Inactiove,可以手動執行Request:Cost Manager,
        這個Request比較特殊, Running時會查的到Request的記錄,
        但是事後就會查不到以往的記錄(EBS 11i)
  2、Lot Move Transaction 找到的資料提到可能是處理表格MTL_TRANSACTION_LOTS_INTERFACE,
         Request是 Manager: Lot Move Transactions
  3、Material Transaction 處理的表格是MTL_TRANSACTION_INTERFACE,
        Rquestdez是Manager: Process transaction interface
  4、MOVE TRANSACTION 處理的表格是WIP_MOVE_TXN_INTERFACE,
        Request是WIP Move Transaction Manager

這個INTERFACE MAMAGER 對應的manager Name是 Inventory Manager,
可以在System Administrator-->Manager-->Define中查詢裡面定義的程序的狀況。


可以從INV --> Setup -->Transactions --> Movement Statistics -->Interface Manager  





Metalink DOC:111729.1 對Interface Manager有詳細的介紹

This document was checked for relevance on 21-FEB-2005
PURPOSE
==============
This article provides technical overviews and details of the four
interface managers that can be controlled from the Interface Managers form. as
part of the setup procedures:

1. Material transaction manager
2. Demand reservation manager
3. Cost Manager
4. Move transaction manager


SCOPE & APPLICATION

This bulletin is intended for system administrators of Oracle
Applications and users that are involved with setting up Oracle Inventory 11.0.3 and higher.


RELATED DOCUMENTS
==================
Oracle Inventory User Guide - Transaction Setup


These four managers execute the following processes: material
transaction, demand reservation, resource & material cost transactions and move
transactions. Generally these managers are running continuously at regular
process intervals as determined on starting the managers.

They control the number of transaction workers, processing intervals and number of transactions
processed by the worker. The mode of operation for these managers is governed by the setting of
profile options prefixed by the letters TP (transaction processing).

o For example:

Setting profile TP:INV Transaction Processing Mode to a value of
Background Processing, will mean that Inventory and WIP transactions are
periodically transacted upon by the Material transaction manager. The transaction
manager requests will appear on the concurrent managers queue at regular
processing intervals.


Resolving Problems
------------------
As transactions are processed, the respective inventory and work in
progress tables are updated to reflect these changes. If for some reason the
results viewed in inquiry forms and reports do not reflect these updates, it
will then be necessary to review and correct the errors. This can be done in part
using the Transaction Interface & Pending Transations forms, however there are
often cases when sqlplus will be required to effect a resolution, in these
cases it may be helpful to refer to the notes below.


Material Transaction Interface
------------------------------

o INCTCM module: Process transactions interface

This program processes material transactions following changes in any of
the transactions form. For optimal processing speed the system manager
responsibility should be used to tune the Inventory Manager. The initial
setup for this is defaulted with a single target process setup.

The number of target processes will limit the number of workers
available to the transaction manager, workers can be run in parallel, therefore to
significantly reduce the time taken to process your inventory
transactions,then increase the number of target processes to the maximum allowable
within your system limits. For this request the assistance of your dba, system
memory and central processor performance will be the limiting factors for this
target parameter.

While running, the program: INCTCM, constantly checks for rows in the
interface and interface temporary tables. First checking the interfaces
temporary tables and acting upon these records and then processing the
records in the interface tables, marking these records with header identifiers
and subsequently moving them to the corresponding temporary tables, this
process is repeated each time the workers are started.

For example:
INCTCM polls and transacts upon records held in mtl_transactions_interface,
mtl_transaction_lots_interface,and mtl_serial_numbers_interface moving
these to their respective temp tables, eg: mtl_material_transactions_temp, these
are then processed by the transaction processor, such rows have their
lock_flag set to the value Y.

Different workers are submitted by the transaction processor to process
Order Entry, Work in Progress and Inventory transactions,these are processed
in groups, depending on the value of the flag validation_required,
values 1 or null = detailed validation 2=not detailed processed rows are
assigned a transaction_header_id using the sequence mtl_material_transactions_s.

o Records that are ready for selection will have:

transaction_mode=3, process_flag=1 or Y for mtl_material_transactions_temp table
lock_flag=2 or null(or N in mtl_material_transactions_temp)

process_flag has a range of values: 1=ready,2=not ready,3=failed
lock_flag has a range of values: 1=locked 2=not locked,NULL=not locked
transaction_mode has a range of values: 2=immediate mode 3=backgound mode


The rows in mtl_transactions_interface are processed in 5 phases.

1. Derives dependant columns, eg:acct_period_id, primary_quantity etc..
2. Detailed validation performed on the records
3. On hand qty check for negative qty's etc..
4. Reservations Relieved if demand was created in order entry
5. Rows are moved to mtl_material_transactions_temp where the
transaction processor is called to process these rows and update the inventory
levels etc..


For more details see vol 3 INV technical reference manual.


o Resolving Errors:

If an error occurs with the transaction processor, the entire group of
records will be marked with the error code, the actual failing row will contain
the error explanation.

You can access failing rows using Inventory's View Pending Interface
Activity form, additionally you can use this form. to resubmit the records by
setting the 'resubmit' flag to yes, this is only appropriate if the error that
caused the failure is unrelated to the interfaces transaction data, eg: database
space problem.

Errors can be determined by viewing columns: error_code and error_explanation
on table mtl_transactions_interface, once the cause has been corrected,
use sqlplus to update the process_fag = 1 and the lock_flag = 2 or null

During phases 1-3 above, rows are marked with an error code and explanation,
for phase 4 all records with this header_id will be marked as errored
regardless. For phase 5 all rows will be marked with the same error
except for the single bad row that caused the failure.


Demand Reservation Manager
--------------------------

o INCDCM module: Process demand interface

The Demand Reservation Manager periodically updates Inventory with the
demands from sales orders shipments.

INCDCM is linked into INVLIBR, the program processes records from
mtl_demand_interface to mtl_demand table. Records held in mtl_demand_interface
need to have process_flag=1 (ready), transaction_mode=3 and error_code =
null.

For more details on this program see page 3-812 vol 3 INV technical
reference manual.

o Resolving Errors:

Regardless of pass or failure, all records failing validation in the
interface table will be marked with an error code. Columns error_code and
err_explanation can be selected for explanation of the cause. A
succesful demand operation is denoted by error_code=0.

Full errors listings can be determined by selecting, lookup_code and
meaning from the table mfg_lookups
where lookup_type='MTL_DEMAND_INTERFACE_ERRORS'

For more details on the table mtl_demand_interface vol 1 Oracle
Inventory Technical Reference manual.


Material & Resource Cost transaction processor (Cost Manager)
-------------------------------------------------------------
The Cost Manager controls both the Material & Resource Cost Transaction
Processors. This manager starts the processors at the specified process
interval in the launch manager form, The Cost manager itself does not kick off a
concurrent request for each of the intervals, the manager only runs (goes from
pending to running then back to pending) once every 24 hours.

Material Cost Processor
-----------------------

o CMCMCW module: Material Cost Transaction Processor

This program is used to process material transactions for costing in
inventory and WIP products. This module scans table mtl_material_transactions
for uncosted transactions, ie:
where costed_flag='N'& transaction_group_id=NULL. For each transaction
found program; INLTCP is called to process the records.

Note:
If this program is not running then there will be no available
Transaction Distribution details in the Material Distributions inquiry form.

Records are inserted into mtl_transaction_accounts, for the account and
the value of the transactions.

For more details on this program see vol 3 Oracle Inventory Technical
Reference manual.

Resource Cost Processor
---------------------

o CMCCTM module: Resource cost transaction manager

The Resource cost transaction manager processes transactions from
Oracle's WIP in addition to those resource transactions imported from other sorces
such as barcode readers.

The program polls pending transactions in wip_cost_txn_interface and
periodically updates/inserts into the following WIP tables:
wip_transactions, wip_transaction_accounts and wip_period_balances

The program can be run from the command line: CMCCTM bom/bom passwd 0 Y

For more details on this program see Oracle WIP Technical Referance
manual.


WIP Move Transaction Manager
----------------------------

o WICTMS module:

The WIP Move Transaction Manager processes move transactions in Oracle
WIP and move transactions from devices such as bar code readers.

The table wip_move_txn_interface is polled by the program WICTMS to
determine if any transactions are pending validation and or processing.

留言

這個網誌中的熱門文章

Shell Script簡易教學

一、概論
在許多的情況之下,我們都需要固定一組可以重覆或判斷資訊的指令,
而把這些指令存被在文字檔中,再交由Shell執行,就是Script。
一般會將Shell Script的副檔名命名為.sh,雖然副檔名在Linux中並非必要,
但是有副檔名可以讓我們更容易管理這些檔案。

假設有一個名為test.sh 的 Shell Script,首先用文字編輯器來撰寫內容如下:
#!/bin/bash
echo Hello World

第一行是必需的,它是用來定義你要使用的 shell。Linux中有許多的Shell可以使用,
如:ksh、bash,但是彼此之間語法有所差異,所以我們首先需要定義使用哪一個Shell。
而第二行的 echo 代表列出一個字串,預設會把後面的字串「Hello World」顯示在螢幕上。
將test.sh存檔後,可以用下列其中一種方式執行它:
1、直接輸入 sh test.sh
2、改變test.sh的權限,加上可以執行的權限,
   chmod a+x test.sh
   接著直接執行它:
   ./test.sh

在Shell Script中,「#」表示註解,在#後面將視為註解並且被程式忽略。
例如:
#pwd
ls -l
Shell只會執行ls -l,而不會執行ls -l

而「;」 則代表指令的分隔,例如:
pwd;ls -l

pwd
ls -l
都是一樣執行pwd及ls -l。

二、變數的使用
在Shell Script中,所有的變數都視為字串,因此不需要在定義變數類型。
在Shell中定義和使用變數時並不一樣。
例如,定義一個變數id並且設定值為2013001,接著還要將印出變數的值:
id=2013001 -> 定義變數時前面不加「$」符號
echo $id   -> 使用變數時前面要加「$」符號
注意,在等號的二邊不可以有空白,否則將出現錯誤。

再介紹一個範例:
dir=/home/oracle
ls $dir

這裡我們定義了變數dir的值為/home/oracle,接著用ls指令來印出變數dir,
此時指令會變為ls /home/oracle,所以就把目錄中所有檔案都列出來。


我們再來看一個例子,說明如何使用變數來定義變數:
$ tmppath=/tmp$ tmpfile=$tmppath/abc.txt$ ec…

用Excel 2010製作免費甘特圖

用Excel 2010製作免費甘特圖,以下是完成圖,其實是用圖表的功能加上修改圖表的選項來仿製甘特圖,
並非真正的甘特圖,如果要用免費的甘特圖軟體,可以下載GanttProject,有支援中文。
官方網址:http://www.ganttproject.biz/

首先將任務、開始日期、天數、完成日期填入工作表中,完成計劃後將資料全選,並在工具列上找到橫條圖。
一定要將資料全選起來,不然Excel有可能會判斷錯誤,畫出不符我們需求的圖表
(日期我算錯了,不過不影響製作,可以事後再修改)

圖表出現之後,修改資料的範圍(藍色框的部份),將資料由D6拉到C6。
「完成日期」只是為了讓Excel一開始不要判斷錯誤而產生錯誤的圖表。

在「藍色線條」上按滑鼠右鍵,選擇「資料數列格式」

依下圖點選「無填滿」,把藍色的線條變成透明,讓圖表看起來像是甘特圖。

接著我們要修改欄、列的參數,在下面日期的部份點選滑鼠右鍵,選「座標軸格式」

下方列是日期,所以選「日期」,並選擇一個類型

再來到「座標軸選項」中設定最小、最大值,讓圖表看起來更像甘特圖,其中最小值、最大值的數字,
是由1900/1/1到指定日期的總天數,例如:2014/4/9-1900/1/1=41737天(可用Excel直接相減得出數值)
「主要刻度間距」改為1,也就是間距為1天

接著回到圖表上,在左方任務列上按滑鼠右鍵,選擇「座標軸格式」

這次只選「類別次序反轉」,會把任務上下翻轉。

最後再將圖表的寬度、長度做一個調整就完成了。

補充說明: 如果遇到下列的情形,圖表的內容相反的話,可以按下「切換列/欄」來改變

Excel可以自訂公式(函數)來補足內建公式(函數)無法處理的情形

Excel有許多實用的公式,善用這些公式可以達成大部份的功能,但是萬一公式無法滿足需求時,可以自訂公式來解決。

          自訂公式其實就是自訂函數,先開啟Visual Basic(VBA)


                     新增一個「模組」


在開啟的模組視窗內撰寫VBA的函數程式,例如:

Function TEST01(A, B)
    TEST01 = A * 10 + B * 20
End Function

                    函數TEST01需要兩個參數A、B,並且將計算的結果回傳。



完成上述的設計之後,就可以在插入函數中選擇使用者定義,再選擇TEST01。
(或直接在儲存格輸入函數名稱TEST01)
反正使用的方法就跟一般的Excle的公式一樣就對了。