资源描述
月結SOP
月結之總體Scope and Frame
•INV 月結—交易過帳
l Check 全部transaction是否异常,press all TXN均過帳
l 保證庫存正確性和真實性:並Extract INV/WIP QTY for 重算成本
•財務月結—算出原料成本
v重算成本
(通過加權平均算出每個item原料成本-pending cost)
v找成本差异,更正有誤成本
•Cost 月結---形成財務報表
v會計分錄,抛GL
v形成生產成本价格,記錄歷史成本
vUpdate item cost(Frozen standard cost)
v Submit standard cost adjustment Report
现在對於財務月結和INV月結本質上沒有影響,除了驗收會對財務計算材料成本有影響以外.
INV月結:
INV月結就是為了保證本月交易正常產生.即本月交易只產生在本期(會計區間内),非本月交易絕不能够產生在本月.並所以而保證庫存正確性,準確性.(這也是為什麽要check負庫存和帳查原因),方便抽出本期期末(下期期初),為計算材料成本和Cost Update做最正確準備.任何錯誤期末全部一定會影響成本正確性.
Step 1. All records in HUB interface must be cleared.
原則上是要Check EDI 856全部Interface 中異常數據,這些是本月交易不过卻不能正常產生交易異動檔。所以必須讓這些數據正常insert到mtl_materail_transactions中。
關注table有:MIC_HUB_ISSUE_DETAILS,MIC_HUB_RECEIVING_DETAILS,MIC_HUB_TRANSACTION_DETAILS等EDI異常之table。
1. check 發料EDI interface。
l 檢查語句 Script:
SELECT * FROM MIC_HUB_ISSUE_DETAILS
WHERE EDI862_UPDATE_STATUS like 'ERR%'
OR STATUS_CODE!='OK-862'
l 產生問題程式:(Cause of Issue:)
1. MiTAC HUB(昆達)Inbound Main Process: MHBIB56M.sql
2. Mitac Hub Issue Inventory Process: MHBIBIVI.sql
3. HWA HUB 856 Update 862&Allocated Records:HWP0130R.sql
4. PKG: mkl_wip_auto_jj_for_02. auto_post_jj
l 處理辦法:
Error status code:
¶. ERR-PA-01
Price agreement 價格協議書未建立,AA單無法驗收
解決方法: 請PO人員解決
·. OK-BP、ERR-ISS(6)
JJ單利用EK調撥,不足量以AA採購,但EK與AA回時間不一样,過帳組未加以確認數量即過帳,造成第二筆單據無法過帳,形成HUB DATA Error ,進而造成INV負庫存。
解決方法: 過帳組會以加開JJ單與EK單將負庫存清空。
2. check txn(如:EK,DD,FF)interface
l 檢查語句 Script:
SELECT * FROM MIC_HUB_TRANSACTION_DETAILS
WHERE STATUS_CODE!='OK-856T'
l Cause of Issue:
u MiTAC HUB(昆達)Inbound Main Process: MHBIB56M.sql]
u 9.2 EDI from HUB: MINVW856T.sql
l 處理辦法:
請查看程式
3. check 驗收或Approvalinterface
l 檢查語句 Script
select * from MIC_HUB_RECEIVING_DETAILS H
where H.STATUS_CODE LIKE '%ERR%'
l Cause of Issue:
MiTAC HUB Receiving Process:MHBIB56R.sql
l 處理辦法:
UPDATE mic_hub_receiving_details h
SET h.status_code = 'IMPORTED',
batch_id = '124666'
然後:通過BU_Code來判斷是GTK還是MKL,然後:
假如是transaction_type='S'要在對應mitac hub supervisor gui 運行mitac hub status change report
假如是transaction_type='R'要在對應mitac hub supervisor gui運行mitac hub receiving process
注意此程式是PO Module中程式需要by OU來運行.即挑選必需responsibility
Step 2. All records in MTL TXN interfaces must be posted
Oracle ERP過賬是通過MTL_TRANSACTIONS_INTERFACE和MTL_MATERIAL_TRANSACTIONS_TEMP及RCV_transactions_interface
與用戶或客戶化作為接口來處理。Oracle自己关键程式會自動由這兩個interface來判斷並處理產生正式交易。因爲oralce程式會自己判斷,假如數據不符合其規則或異常,將會一直卡在interface中,不能正常產生交易。
處理interface產生正常交易程式是:Material transaction Manager.
Navigate: INV Supper User GUIàsetupàtransactionàInterface Manager裏面Material transaction,假如其status為Active,則説明其是處在工作狀態。(通常情況下,但oracle ERP startup,其全部會在Concurrent Manager中Inventory Manager中運行著)
處理:MTL_MATERIAL_TRANSACTIONS_TEMP
方法1。To investigate why the Transactions are Failing, run the following SQL Script:
SQL>
select transaction_source_id , inventory_item_id, process_flag,
error_code, error_explanation,
transaction_source_type_id, organization_id
from mtl_material_transactions_temp
How to resubmit the Transactions use this script:
SQL>
update mtl_material_transactions_temp
set process_flag = 'Y',
lock_flag = 'N',
transaction_mode= 3,
error_code = NULL,
error_explaination = NULL
where process_flag = 'E'
方法2:進入Oracle ERP系統察看並處理此种情況:
Navigate:INV Supper User GUIàtransactionàPending Transactions
處理MTL_TRANSACTIONS_INTERFACE
方法1:SQL:
select mti.error_explanation,mti.error_code,
mti.process_flag,mti.lock_flag,mti.attribute15,mti.*
from mtl_transactions_interface mti
mti.error_explanation,mti.error_code存放錯誤代碼,
Process_flag:1: ready 2, not ready,3.err
Lock_flag:1: Locked, 2 or null: not locked
處理完提醒錯誤后,update process_flag=1,假如Lock_flag為1,請update為2或null.
方法2:同樣進入Oracle ERP系統察看並處理此种情況:
Navigate:INV Supper User GUIàtransactionàTransaction Open Interface.
處理:RCV_transactions_interface
Check err msg, then run the receive transaction report by batch id
Step 3. Find negative balance 負庫存
負庫存是系統不夠嚴謹最明顯表現,從根本上消滅負庫存是系統目標,也是INV Module MIS負責人一個任務.因爲負庫存處理起來比較複雜,請及時處理,You’d Better Deal with it By Week even by Day
查看負庫存能够Run:
WH data entry Õ inv Õ run report Õ 負庫存報表
也能够直接運行 SQL Script:
select * from mkl_negative_balance
並與帳務人員一起協同處理
Step4和Step 5全部是為了TXN正常,本月txntransaction date和Period ID(會計區間ID)保持一直,全部在本月,以免Cost Update 和切分錄正確性。但對於下面兩點有效性保留自己意見,待深入研究,在此不作評價。
Step4. Check TX date
SQL
select * from MTL_MATERIAL_TRANSACTIONS
WHERE TRANSACTION_ID > 4421847
and TRANSACTION_DATE < to_date('01-MAR- 00:00:00','DD-MON-YYYY H24:MI:SS')
and TRANSACTION_TYPE_ID!=24
--TRANSACTION_ID為上月MAX_TX_ID
--TRANSACTION_DATE為這月第一天
--TRANSACTION_TYPE_ID!=24 此為Standard cost update
有問題by case
通常為TX_DATE錯誤,所以Account_Periods也會有錯誤,所以要by ORG update成正確。
Step5. Check acct_period_id
SQL
SELECT * FROM ORG_ACCT_PERIODS ORDER BY ACCT_PERIOD_ID desc
select distinct MMT.ACCT_PERIOD_ID,OAP.PERIOD_NAME
from MTL_MATERIAL_TRANSACTIONS MMT,ORG_ACCT_PERIODS OAP
where TRANSACTION_ID > 17604430
and TRANSACTION_TYPE_ID!=24
AND MMT.ACCT_PERIOD_ID=OAP.ACCT_PERIOD_ID
--TRANSACTION_ID為上月MAX_TX_ID
Step6. Run Report to cost
此程式是INV月結關鍵,計算每個料號期末庫存(包含INV和WIP) ,是by OU跑,沒個OU跑一次。
UC-抽INV/WIP QTY/AMOUNT準備重算成本(BY OU)(MBOU0001)
Step7. Check Onhand QTY & TX QTY balance(ALL ORG)
此程式是check 期初+本月txn是否等於期末庫存,並抽取期末庫存????
注意要保留report 内容,因爲report内容全部是由問題(即期初+txn<>期末),請記錄並分析
入徑:wip super user->mis 模擬報表程式->Extract MIC own on-hand for ITI/IHTI
record the log/report message(MINVE170.SQL)
入徑:wip super user->mis 模擬報表程式->Extract Vendor own on-hand for ITI/IHTI
record the log/report message(MINVE160.SQL)
假如不平 by case
Step8. 抽外倉AW區庫存及金額
Step9. Select MAX TX ID
SQL
select max(TRANSACTION_ID) from MTL_MATERIAL_TRANSACTIONS
Mail to COST
Step10. Open acct period by ORG in next month first day.
逐Org打開會計區間,假如發現會計區間内沒有下月區間,請聯係GL或財務建立GL會計區間或打開GL會計區間,只有GL區間打開,INV區間才可用。
建立GL會計區間在INV Module也同樣存在,
Navigate:INV Supper User GUIàSetupàFinancialsàAccounting Calendaràaccounting中建立GL會計區間
Navigate: INV Supper User GUIàSetupàFinancialsàAccounts中打開會計區間
Finance月結
MIS Cost月結
Cost 月結前準備工作:
関掉可能在oracle中產生交易(向MTL_MATERIAL_TRANSACTION插入數據)EDI或自動schedule程式。现在做法為:
1.在MIS月結前,切斷全部用戶,替換oracle ERP login入口Portal
方法:login到ERP服務器,(10.87.0.130 or 10.87.0.168)find mklerp.htm位置,把此文件更名替換掉。這樣在用戶login ERP時候就會彈出頁面找不到ERR message。
2.停掉EDI程式
l MiTAC HUB(昆達)Inbound Main Process(3個)
此IOàOracleEDI程式,它會把IO中過賬動作會抛給oracle而產生txn。影響MIS月結
l MKL AUTO SIMULATION AND POST AFTER EK
此程式為IO中合併備料EK過賬會抛oracle ERP后,自動讓相應JJ單過賬,產生JJ單過賬。
l Auto Generate DD Slip Number
AutoDD project中倉庫在IO收到SFCS中物料后,自動在ERP產生DD單程式。
3.停掉Auto schedule 程式
l Auto SFCS Move TX
此程式為自動MOVE WIP TXN,產生Move transaction
l MKL Repair the difference of issue and transaction
此程式會通過MTL material transaction更改工單issue和use quantity,此程式會與CE-30 CC Rollback程式衝突,造成CE-30修改量被此城市repair。
注意:在IO中過賬完半個小時(大多數EDI程式運行周期均小於半個小時)后,才能够停掉EDI程式。並且上面程式在停掉以前應該再運行一次,以盡量保證所以本期交易在oracle ERP中產生。另:Auto GGProcess過長超過半小時,往往會在月結開始后會產生GG單(請注意—现在未解)
1.Delete and Update Resoucre rate(New)
现在因爲MKL和GTKresource Rate為O,所以人工不需要在charge到WIP中去,所以生産日報表中key IN並產生WIP_cost_txn_interface紀錄對於GTK來説已經不再需要,為提升切分錄時間直接Delete。對於MPK因爲现在產綫keyin生産日報表之時間人工=keyin工時*labor rate,而现在Labor Rate與相應resource rate相同。故系統中不再設置Labor rate,而直接用resource rate。此程式就會charge和update 相應resource。
2. 檢查各org成本料號是否一致
Navigate:CSTàCost Ending Process->uc-跨Oraganization成本Check(Pending&Frozen)
Parameter:Pending cost
假如不一樣就察看她們那個合理,在item costàitem cost中察看itemcost,也能够在其它Org看,判斷那個更合理,假如不一致,就通過copy cost function來統一Pending Cost。並且假如Pending cost不一致,説明財務月結最後一步沒有做好或Pending Cost在財務月結完后又被重新計算過。
3. CHGWOStatustochange the status from 'fail to close' to 'complete no charged allowed'
Navigate:Cost Ending Process->CE-25 CHG WO Status for OSP
Parameter:無
此程式目地在De Oracle Bug : Fail to close WO會和 close WO 一樣, 在cost roll-up 時 Resource, Overhead不會算到,所以先暫時將 WO Status 向前移回 Complete No Charged Allowed (15=>5), Cost Roll-up 完後在改回 (step32). (此處時引用黃韋道和陳欽專編《END COST PROGRESS訓練教材》)
但现在在数次月結經驗中,發現Fail to Close WO在Cost Manager中進行切分錄時候,不能正常Charge到WIP Account中,所以建議在Cost Manager 切完分錄后,再改囘動作。
4. CE-30 CC Rollback
Navigate:Cost Ending Process->CE-30 Roll back CC-Z-
參數:無參數
這個程序关键是Delete Oracle ERPBug,在資產重新評估之前, 本月份(Account Period)CC單还未切分錄, 理論上不應計算在資產重新評估中(應在下月份月結才算入本月份CC Transaction), 然而Oracle將其算入.
假如不做這步,則對於存在Z-w和CC工單其在WIP Standard Cost Adjustment Report中Adjustment Quantity將會不正確。
正確邏輯;期初:= 期末-(JJ- CC)+(DD - Z-W)=期末-JJ-Z-W +CC +DD,
Oracle錯誤邏輯:期初:= 期末- JJ + DD
因爲期末沒有錯,要用oracle 錯誤邏輯算出對得Adjustment qty,則必須在JJ單中+CC qty ,在DD中-Z-W qty。
5. Cost Update
Navigate:Cost->Item cost->std cost update->Update Costs
每個org全部作,而且不能够錯:就是要選OU,在change orgBY org來作
注意不能够掉了任意一個
是從pending cost 更新到Frozen cost
(財務再通過加權平均后得到本月實際成本放在pending cost中,再通過本月實際成本和上月實際成本(既Frozen cost)作比較,算出差异)
RUN 報表前參數設置:
這兩個值全部是定值
上面是設置帳本界面!
下面是參數主界面
Update選項能够是Resource,如沒有,則選擇Item only
由上圖參數生成帳本
通常出錯原因:
1.Request直接報ERR,Request log中提醒無下月會計期間。
出錯原因:本Org下月會計區間沒有打開,Cost Update TXN不能正常產生在下月期間内。
2.Cost Update运行过长时间(>1.30小时),而且在request Log中出现:App-00988 Oracle Error 1654 ele-acct错误信息。这中错误原因不明,不过此ERR一定要check DBERR。
方法:login 到DB(telnet 到10.87.0.168),查看DBAlert Log:界面和目录以下:
6. Check Cost Update 結果 all orgs
Navigate:Cost Ending Process->uc-跨Oraganization成本Check
参数:Frozen Cost Type,每個企业(OU)均需運行一次。
檢查Frozen Cost是否一樣
7. 調整有誤料號
Navigate:Cost->Cost Mass Edits->Copy Cost Information->Copy Item Costs Across Oraganization WEI
參數怎么設置
1﹒現從DGL frozen導入到DTS(responsibility 是DTS)MSH0211 type
2﹒然后在調用copy item cost (for import data)
把DTS MSH cost type 導入到DTSFrozen cost type
9.CE-40 CC Recovery
Navigate:WIP SuperUser/Cost Supper User->Cost Ending Process->CE-40 Recovery Rollback CC->Z
参数:无参数
此程式和CE-30 Roll back CC-Z-對應,修復CE-30 Roll back CC-Z-做過Debug修改。
10. CE-45 暫移下個月之Tranx(the res/oh tx in the next period)
Navigate:Cost Supper User->Cost Ending Process-> CE-45 Temp removing the next period Res&OH
Parameter:下個月第一天(下期第一天)
此程式是把下期發生人工(產鮮助理keyin生産日報表)和可能外包工單OSP費用(Wip_cost_txn_interface)暫存到零時文檔,再在CE-55 Recovery the remove next period Resc&OH恢復。
假如现在MIS COST月結發生在本期期末晚上和下期期末淩晨話,此步驟和CE-55能够不作。
11.切分錄前准備程式-成品
Navigate:Cost Ending Process-> TX-切分錄 前准備程式
Parameter:本期期間(Mar-05)
此程式作用:
l 取本期最小最大TXN id。
Insert Max_txid, Min_txid 到 MIC_MTL_MINMAX_TXID
l 大於上期最大TXN IDTXNCost Flag均必須為N。
判斷本期全部交易均正常,上期月結切分錄沒有本本期交易切掉。假如出現有交易存在異常,則説明上期在月結期間有交易在產生。請查找根本原因並解決。
異常處理辦法:看情況之多寡,假如少,直接把這些交易txn_id改到小于上期最大txn_id.假如多改上期最大txn_id.並必須重新運行程式。
切忌不能够Update這些異常txn Cost Flag 為N。
l 在本期最大最小id中,必須均在本期(Acct_Period_id)
異常處理方法同上。
l Update txn Type為(342, 343, 396, 24)Cost_flag為null。
现在在華東只有24 txn type.因爲其為Update Cost產生交易.
l 暫時Update 大於本期Max_txn_id交易Cost_Flag為null,在還原程式“TX-切分錄后還原動作”中會再次Update為N
把下期交易假裝已切分錄。
l Update EK,IJ,EJ,IK,LLC,LLR Cost_Flag= null,這種從同一個科目之間調撥,不產生分錄
對於庫存之間調撥,因爲其產生科目均為庫存對應科目,借貸Net掉為0
l 備份本期全部交易
因爲现在華東地區Oracle ERP性能日益不能滿足现在交易量,為提升財務Run相關報表速度,採用空間換時間原理,從時間上提升Perference
11. 切成品分錄Open-Close Cost MGT
inv super useràsetupàtransactionàinterface management
然后在點擊 special下launch Manager,這樣話就會出發出許多進程
就是把每一筆transaction交易費用charge到每中帳戶中去!
這個進程要運行很久(30’)
假如因她而起進程全部complete后,就把這個進程(是pending態),在
通過request_id再inv àrequest中查找,並把其狀態運行到complete&cancel狀態
一旦Manager Active,將提交resource worker和Material worker,需察看程式可能出來waining狀態Request。假如存在Warning,請check 是否有剩餘(沒有Charge完resource和沒有產生分錄txn)
Check Script:
1.select * from wip_cost_txn_interface
2.select mmt.costed_flag,mmt.attribute15,mmt.transaction_date,
mmt.transaction_id,mmt.move_transaction_id,mmt.transaction_source_id,
mmt.error_code,mmt.error_explanation,
mmt.*
from mtl_material_transactions mmt
where mmt.costed_flag ='E'(Or is null)
假如出現上述SQL Script 返回記錄,則説明存在需要再次處理紀錄。
處理辦法以下:
1.針對wip_cost_txn_interface
假如工單為Close狀態,直接delete 這些記錄,
假如工單不為Close,為(Failed Close,Complete no charge allowed),請update對應工單為Complete change allowed狀態.
然後再update wip_cost_txn_interfaceProcess status和Process_phase.
Process Phase:1,Resource Validation 2,Resource Processing 3,Job close 4,Period Close
Process Status:1,Pending 2,Runing 3,Error 4,Complete 5, Waining
1.Backup WO status
update wip_discrete_jobs wdj
set attribute13=status_type,
attribute12='0101' –月結年月
where exists
( select 'x' from wip_cost_txn_interface txn
where txn.wip_entity_id = wdj.wip_entity_id
)
2.Update Wo status to complete change allowed:4
update wip_discrete_jobs wdj
set status_type = 4
where attribute12='0101' and status_type <> 12;
3.Resubmit wip_cost_txn_interface
update wip_cost_txn_interface
set GROUP_ID = null,process_status =1,process_phase=1,transaction_type=3
where resource_code like '%OSP%'
update wip_cost_txn_interface
set GROUP_ID = null,process_status =1,process_phase=2,transaction_type=2
where resource_code not like'%OSP%'
4. Recovery the WO status
update wip_discrete_jobs wdj set status_type = attribute13
where attribute12='50101';
2.處理Cost Flag 為‘E’TXN
此問題比較複雜,歷史上碰到一類情況為無WIP_Period_balance(必須是本期),此類情況也可能造成wip_cost_txn_interface charge 不完情況,故請一起處理完后,再openCost Manager。不管何種情況,請查看waining中request Log中提醒:“APP-00001 Cannot find message name INV_NO_UPDATE”
1.Insert 缺乏WIP_perido_balances工單之記錄
INSERT INTO wip_period_balances
(acct_period_id, wip_entity_id, repetitive_schedule_id,
last_update_date, last_updated_by, creation_date, created_by,
last_update_login, organization_id, class_type, tl_resource_in,
tl_overhead_in, tl_outside_processing_in, pl_material_in,
pl_material_overhead_in, pl_resource_in, pl_overhead_in,
pl_outside_processing_in, tl_material_out,
tl_material_overhead_out, tl_resource_out, tl_overhead_out,
tl_outside_processing_out, pl_material_out,
pl_material_overhead_out, pl_resource_out, pl_overhead_out,
pl_outside_processing_out, pl_material_var,
pl_material_overhead_var, pl_resource_var,
pl_outside_processing_var, pl_overhead_var, tl_material_var,
tl_material_overhead_var, tl_resource_var,
tl_outside_processing_var, tl_overhead_var)
SELECT oap.acct_period_id, wdj.wip_entity_id, NULL, SYSDATE, 0, SYSDATE, 0,
0, wdj.organization_id, wac.class_type, 0, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
FROM wip_accounting_classes wac,
org_acct_periods oap,
wip_discrete_jobs wdj
WHERE wdj.status_type IN (3, 4, 5, 6, 7, 14, 15)
AND wac.class_code = wdj.class_code
AND wdj.organization_id = wac.organization_id
AND oap.organization_id = wdj.organization_id
AND oap.open_flag = 'Y'
AND oap.period_close_date IS NULL
AND oap.schedule_close_date >=
NVL (wdj.date_released, wdj.creation_date)
AND wac.class_type != 2
AND NOT EXISTS (
SELECT 'X'
FROM w
展开阅读全文