月结流程.docx
《月结流程.docx》由会员分享,可在线阅读,更多相关《月结流程.docx(30页珍藏版)》请在冰豆网上搜索。
月结流程
月结SOP
月结之总体ScopeandFrame
INV月结—交易过帐
Check所有transaction是否异常,pressallTXN均过帐
保证库存的正确性和真实性:
并ExtractINV/WIPQTYfor重算成本
财务月结—算出原料成本
重算成本
(通过加权平均算出每个item原料的成本-pendingcost)
找成本差异,更正有误的成本
Cost月结---形成财务报表
会计分录,抛GL
形成生产成本价格,记录历史成本
Updateitemcost(Frozenstandardcost)
SubmitstandardcostadjustmentReport
目前对於财务月结和INV月结本质上没有影响,除了验收会对财务计算材料成本有影响以外.
INV月结:
INV月结就是为了保证本月的交易正常产生.即本月的交易只产生在本期(会计区间内),非本月的交易绝不可以产生在本月.并因此而保证库存的正确性,准确性.(这也是为什麽要check负库存和帐查的原因),以便抽出本期期末(下期期初),为计算材料成本和CostUpdate做最正确的准备.任何错误的期末都一定会影响成本的正确性.
Step1.AllrecordsinHUBinterfacemustbecleared.
原则上是要CheckEDI856所有的Interface中的异常数据,这些是本月的交易但是却不能正常产生交易异动档。
所以必须让这些数据正常insert到mtl_materail_transactions中。
关注的table有:
MIC_HUB_ISSUE_DETAILS,MIC_HUB_RECEIVING_DETAILS,MIC_HUB_TRANSACTION_DETAILS等EDI异常之table。
1.check发料的EDIinterface。
检查语句Script:
SELECT*FROMMIC_HUB_ISSUE_DETAILS
WHEREEDI862_UPDATE_STATUSlike'ERR%'
ORSTATUS_CODE!
='OK-862'
产生问题的程式:
(CauseofIssue:
)
1.MiTACHUB(昆达)InboundMainProcess:
56M
2.MitacHubIssueInventoryProcess:
3.HWAHUB856Update862&AllocatedRecords:
4.PKG:
mkl_wip_auto_jj_for_02.auto_post_jj
处理办法:
Errorstatuscode:
.ERR-PA-01
Priceagreement价格协议书未建立,AA单无法验收
解决方式:
请PO人员解决
·.OK-BP、ERR-ISS(6)
JJ单利用EK调拨,不足量以AA采购,但EK与AA回的时间不同,过帐组未加以确认数量即过帐,造成第二笔单据无法过帐,形成HUBDATAError,进而造成INV负库存。
解决方式:
过帐组会以加开JJ单与EK单将负库存清空。
2.checktxn(如:
EK,DD,FF)的interface
检查语句Script:
SELECT*FROMMIC_HUB_TRANSACTION_DETAILS
WHERESTATUS_CODE!
='OK-856T'
CauseofIssue:
MiTACHUB(昆达)InboundMainProcess:
56M]
EDIfromHUB:
处理办法:
请查看程式
3.check验收或者Approval的interface
检查语句Script
select*fromMIC_HUB_RECEIVING_DETAILSH
whereLIKE'%ERR%'
CauseofIssue:
MiTACHUBReceivingProcess:
处理办法:
UPDATEmic_hub_receiving_detailsh
SET='IMPORTED',
batch_id='124666'
然後:
通过BU_Code来判断是GTK还是MKL,然後:
如果是transaction_type='S'要在对应的mitachubsupervisorgui运行mitachubstatuschangereport
如果是transaction_type='R'要在对应的mitachubsupervisorgui运行mitachubreceivingprocess
注意此程式是POModule中的程式需要byOU来运行.即挑选必要的responsibility
Step2.AllrecordsinMTLTXNinterfacesmustbeposted
OracleERP的过账是通过MTL_TRANSACTIONS_INTERFACE和MTL_MATERIAL_TRANSACTIONS_TEMP及RCV_transactions_interface
与用户或者客户化作为接口来处理的。
Oracle自己的核心程式会自动由这两个interface来判断并处理产生正式的交易。
因爲oralce程式会自己判断,如果数据不符合其规则或者异常,将会一直卡在interface中,不能正常产生交易。
处理interface产生正常交易的程式是:
MaterialtransactionManager.
Navigate:
INVSupperUserGUIsetuptransactionInterfaceManager里面的Materialtransaction,如果其status为Active,则説明其是处在工作状态。
(一般情况下,但oracleERPstartup,其都会在ConcurrentManager中InventoryManager中运行着)
处理:
MTL_MATERIAL_TRANSACTIONS_TEMP
方法1。
ToinvestigatewhytheTransactionsareFailing,runthefollowingSQLScript:
SQL>
selecttransaction_source_id,inventory_item_id,process_flag,
error_code,error_explanation,
transaction_source_type_id,organization_id
frommtl_material_transactions_temp
HowtoresubmittheTransactionsusethisscript:
SQL>
updatemtl_material_transactions_temp
setprocess_flag='Y',
lock_flag='N',
transaction_mode=3,
error_code=NULL,
error_explaination=NULL
whereprocess_flag='E'
方法2:
进入OracleERP系统察看并处理此种情况:
Navigate:
INVSupperUserGUItransactionPendingTransactions
处理MTL_TRANSACTIONS_INTERFACE
方法1:
SQL:
select,,
,,mti.*
frommtl_transactions_interfacemti
存放错误代码,
Process_flag:
1:
ready2,notready,
Lock_flag:
1:
Locked,2ornull:
notlocked
处理完提示的错误后,updateprocess_flag=1,如果Lock_flag为1,请update为2或者null.
方法2:
同样进入OracleERP系统察看并处理此种情况:
Navigate:
INVSupperUserGUItransactionTransactionOpenInterface.
处理:
RCV_transactions_interface
Checkerrmsg,thenrunthereceivetransactionreportbybatchid
Step3.Findnegativebalance负库存
负库存是系统不够严谨的最明显的表现,从根本上消灭负库存是系统的目标,也是INVModuleMIS负责人的一个任务.因爲负库存处理起来比较复杂,请及时处理,You’dBetterDealwithitByWeekevenbyDay
查看负库存可以Run:
WHdataentryinvrunreport负库存报表
也可以直接运行SQLScript:
select*frommkl_negative_balance
并与帐务人员一起协同处理
Step4和Step5都是为了TXN的正常,本月的txn的transactiondate和PeriodID(会计区间ID)保持一直,都在本月,以免CostUpdate和切分录的正确性。
但对於下面两点的有效性保留自己的意见,待深入研究,在此不作评价。
Step4.CheckTXdate
SQL
select*fromMTL_MATERIAL_TRANSACTIONS
WHERETRANSACTION_ID>4421847
andTRANSACTION_DATE00:
00','DD-MON-YYYYH24:
MI:
SS')
andTRANSACTION_TYPE_ID!
=24
--TRANSACTION_ID为上月MAX_TX_ID
--TRANSACTION_DATE为这月第一天
--TRANSACTION_TYPE_ID!
=24此为Standardcostupdate
有问题bycase
通常为TX_DATE错误,所以Account_Periods也会有错误,所以要byORGupdate成正确的。
Step5.Checkacct_period_id
SQL
SELECT*FROMORG_ACCT_PERIODSORDERBYACCT_PERIOD_IDdesc
selectdistinct,
fromMTL_MATERIAL_TRANSACTIONSMMT,ORG_ACCT_PERIODSOAP
whereTRANSACTION_ID>
andTRANSACTION_TYPE_ID!
=24
AND=
--TRANSACTION_ID为上月MAX_TX_ID
Step6.RunReporttocost
此程式是INV月结的关键,计算每个料号的期末库存(包括INV和WIP),是byOU跑的,没个OU跑一次。
UC-抽INV/WIPQTY/AMOUNT准备重算成本(BYOU)(MBOU0001)
Step7.CheckOnhandQTY&TXQTYbalance(ALLORG)
此程式是check期初+本月txn是否等於期末库存,并抽取期末库存
注意要保存report的内容,因爲report的内容都是由问题的(即期初+txn<>期末),请记录并分析
入径:
wipsuperuser->mis模拟报表程式->ExtractMICownon-handforITI/IHTI
recordthelog/reportmessage
入径:
wipsuperuser->mis模拟报表程式->ExtractVendorownon-handforITI/IHTI
recordthelog/reportmessage
如果不平bycase
Step8.抽外仓AW区的库存及金额
Step9.SelectMAXTXID
SQL
selectmax(TRANSACTION_ID)fromMTL_MATERIAL_TRANSACTIONS
MailtoCOST
Step10.OpenacctperiodbyORGinnextmonthfirstday.
逐Org打开会计区间,如果发现会计区间内没有下月的区间,请联系GL或者财务建立GL会计区间或者打开GL会计区间,只有GL区间打开,INV的区间才可用。
建立GL会计区间在INVModule也同样存在,
Navigate:
INVSupperUserGUISetupFinancialsAccountingCalendaraccounting中建立GL会计区间
Navigate:
INVSupperUserGUISetupFinancialsAccounts中打开会计区间
Finance月结
MISCost月结
Cost月结前的准备工作:
関掉可能在oracle中产生交易(向MTL_MATERIAL_TRANSACTION插入数据)的EDI或者自动schedule程式。
目前的做法为:
1.在MIS月结前,切断所有用户,替换oracleERPlogin入口Portal
方法:
login到ERP服务器,(or)find的位置,把此文件更名替换掉。
这样在用户loginERP的时候就会弹出页面找不到的ERRmessage。
2.停掉EDI程式
MiTACHUB(昆达)InboundMainProcess(3个)
此IOOracle的EDI的程式,它会把IO中的过账动作会抛给oracle而产生txn。
影响MIS月结
MKLAUTOSIMULATIONANDPOSTAFTEREK
此程式为IO中合并备料EK过账会抛oracleERP后,自动让相应的JJ单过账,产生JJ单过账。
AutoGenerateDDSlipNumber
AutoDDproject中仓库在IO收到SFCS中的物料后,自动在ERP产生DD单的程式。
3.停掉Autoschedule程式
AutoSFCSMoveTX
此程式为自动MOVEWIPTXN,产生Movetransaction
MKLRepairthedifferenceofissueandtransaction
此程式会通过MTLmaterialtransaction更改工单的issue和usequantity,此程式会与CE-30CCRollback的程式冲突,造成CE-30修改的量被此城市repair。
注意:
在IO中过账完半个小时(大多数EDI的程式运行周期均小於半个小时)后,才可以停掉EDI的程式。
并且上面的程式在停掉以前应该再运行一次,以尽量保证所以本期交易在oracleERP中产生。
另:
AutoGG的Process过长超过半小时,往往会在月结开始后会产生GG单(请注意—目前未解)
1.DeleteandUpdateResoucrerate(New)
目前因爲MKL和GTK的resourceRate为O,所以人工不需要在charge到WIP中去,所以生産日报表中keyIN并产生WIP_cost_txn_interface纪录对於GTK来説已经不再需要,为提高切分录的时间直接Delete。
对於MPK因爲目前产綫的keyin的生産日报表之时间人工=keyin的工时*laborrate,而目前LaborRate与相应的resourcerate相同。
故系统中不再设置Laborrate,而直接用resourcerate。
此程式就会charge和update相应的resource。
2.检查各org成本料号是否一致
Navigate:
CSTCostEndingProcess->uc-跨Oraganization成本Check(Pending&Frozen)
Parameter:
Pendingcost
如果不一样就察看他们那个合理,在itemcostitemcost中察看item的cost,也可以在其他Org看,判断那个更合理,如果不一致,就通过copycostfunction来统一PendingCost。
并且如果Pendingcost不一致,説明财务月结的最後一步没有做好或者PendingCost在财务月结完后又被重新计算过。
3.CHGWOStatustochangethestatusfrom'failtoclose'to'completenochargedallowed'
Navigate:
CostEndingProcess->CE-25CHGWOStatusforOSP
Parameter:
无
此程式目地在DeOracle的Bug:
FailtocloseWO会和closeWO一样,在costroll-up时Resource,Overhead不会算到,所以先暂时将WO的Status向前移回CompleteNoChargedAllowed(15=>5),CostRoll-up完後在改回(step32).(此处时引用黄韦道和陈钦专编的《ENDCOSTPROGRESS训练教材》)
但目前在多次月结经验中,发现FailtoCloseWO在CostManager中进行切分录的时候,不能正常Charge到WIPAccount中,所以建议在CostManager切完分录后,再改囘的动作。
4.CE-30CCRollback
Navigate:
CostEndingProcess->CE-30RollbackCC-Z-
参数:
无参数
这个程序主要是DeleteOracleERP的Bug,在资产重新评估之前,本月份(AccountPeriod)的CC单尚未切分录,理论上不应计算在资产重新评估中(应在下月份月结才算入本月份的CCTransaction),然而Oracle将其算入.
如果不做这步,则对於存在Z-w和CC的工单其在WIPStandardCostAdjustmentReport中的AdjustmentQuantity将会不正确。
正确的逻辑;期初:
=期末-(JJ-CC)+(DD-Z-W)=期末-JJ-Z-W+CC+DD,
Oracle错误的逻辑:
期初:
=期末-JJ+DD
因爲期末没有错,要用oracle错误的逻辑算出对得Adjustmentqty,则必须在JJ单中+CCqty,在DD中-Z-Wqty。
5.CostUpdate
Navigate:
Cost->Itemcost->stdcostupdate->UpdateCosts
每个org都作,并且不可以错:
就是要选OU,在changeorg的BYorg来作
注意不可以掉了任意一个
是从pendingcost更新到Frozencost
(财务再通过加权平均后得到的本月实际成本放在pendingcost中,再通过本月的实际成本和上月的实际成本(既Frozencost)作比较,算出差异)
RUN报表前的参数设置:
这两个值都是定值
上面是设置帐本的界面!
下面是参数的主界面
通常出错的原因:
1.Request直接报ERR,Requestlog中提示无下月的会计期间。
出错原因:
本Org下月会计区间没有打开,CostUpdateTXN不能正常产生在下月期间内。
2.CostUpdate运行过长时间(>小时),并且在requestLog中出现:
App-00988OracleError1654ele-acct错误信息。
这中错误原因不明,但是此ERR一定要checkDB的ERR。
方法:
login到DB(telnet到),查看DB的AlertLog:
界面和目录如下:
6.CheckCostUpdate的结果allorgs
Navigate:
CostEndingProcess->uc-跨Oraganization成本Check
参数:
FrozenCostType,每个公司(OU)均需运行一次。
检查FrozenCost是否一样
7.调整有误的料号
Navigate:
Cost->CostMassEdits->CopyCostInformation->CopyItemCostsAcrossOraganizationWEI
参数怎么设置
1﹒现从DGL的frozen导入到DTS(responsibility是DTS)的MSH0211 type
2﹒然后在调用copyitemcost(forimportdata)
把DTS 的MSH costtype导入到DTS的Frozen costtype
9.CE-40CCRecovery
Navigate:
WIPSuperUser/CostSupperUser->CostEndingProcess->CE-40RecoveryRollbackCC->Z
参数:
无参数
此程式和CE-30RollbackCC-Z-对应,修复CE-30RollbackCC-Z-做过的Debug的修改。
10.CE-45暂移下个月之Tranx(theres/ohtxinthenextperiod)
Navigate:
CostSupperUser->CostEndingProcess->CE-45TempremovingthenextperiodRes&OH
Parameter:
下个月的第一天(下期的第一天)
此程式是把下期发生的人工(产鲜助理keyin的生産日报表)和可能的外包工单的OSP费用(Wip_cost_txn_interface)暂存到零时文档,再在CE-55RecoverytheremovenextperiodResc&OH恢复。
如果目前MISCOST月结发生在本期的期末晚上和下期期末淩晨的话,此步骤和CE-55可以不作。
11.切分录前的准备程式-成品
Navigate:
CostEndingProcess->TX-切分录前的准备程式
Parameter:
本期期间(Mar-05)
此程式的作用:
取本期的最小最大TXNid。
InsertMax_txid,Min_txid到MIC_MTL_MINMAX_TXID
大於上期最大TXNID的TXN的CostFlag均必须为N。
判断本期所有的交易均正常,上期月结切分录没有本本期的交易切