SAP进销存难点分析及对策
1、基本需求:
樣式:業(yè)務(wù)部門提出如上表格式進(jìn)銷存需求,并且金額要和總賬中存貨科目保持一致,如果要實現(xiàn)上表格式進(jìn)校存,可以通過SAP標(biāo)準(zhǔn)程序(MC.9、MB51、MB5B)加工繁瑣而成。現(xiàn)分析一下SAP標(biāo)準(zhǔn)程序邏輯優(yōu)缺點及自開發(fā)程序?qū)崿F(xiàn)方案。
2、SAP標(biāo)準(zhǔn)程序邏輯及優(yōu)缺點分析
2.1 ?MC.9取數(shù)邏輯
MC.9取數(shù)邏輯基于S031和S032兩個信息結(jié)構(gòu)可以取的某個月底庫存數(shù)量金庫存金額,其中S032表記錄當(dāng)前庫存數(shù)量及金額,S031表記錄過去某個時間段的入庫數(shù)量、金額及出庫數(shù)量及金額,然后采用倒推方式計算出過去某個時點(按月)的庫存數(shù)量及金額。
優(yōu)點:如果查詢數(shù)據(jù)量較小時,數(shù)據(jù)提取效率快且準(zhǔn)確;
缺點:由于采用倒推方式,一旦查詢數(shù)據(jù)量較大,查詢時段如果有出入庫操作,數(shù)據(jù)可能不準(zhǔn);
2.2 ?MB51取數(shù)邏輯
? MB51查詢某個時間段內(nèi)出入庫記錄,基于MKPF和MSEG進(jìn)行取數(shù),跟蹤MB51程序,主要邏輯如下:
? select (g_t_fields)
? into corresponding fields of table itab
? from mkpf inner join mseg
? on??? mkpf~mandt = mseg~mandt
??? and mkpf~mblnr = mseg~mblnr
??? and mkpf~mjahr = mseg~mjahr
? for all entries in matnr
? where matnr = matnr-low
??? and MKPF~BUDAT in BUDAT
??? and MSEG~BWART in BWART
??? and MSEG~CHARG in CHARG
??? and MSEG~KUNNR in KUNNR
??? and MSEG~LGORT in LGORT
??? and MSEG~LIFNR in LIFNR
??? and MSEG~SOBKZ in SOBKZ
??? and MKPF~USNAM in USNAM
??? and MKPF~VGART in VGART
and MSEG~WERKS in WERKS
and MKPF~XBLNR in XBLNR
%_HINTS
ORACLE '&SUBSTITUTE VALUES&' .
優(yōu)點:能夠準(zhǔn)確查詢某個時間段內(nèi)出、入庫記錄;
缺點:MB51不能記錄價格修改、發(fā)票校驗差異對存貨價值影響,不能保持和總賬一致;
2.2 ?MB5B取數(shù)邏輯
MB5B取數(shù)主要基于MARD、MBEW、BSIM、MKPF、MSEG這五張數(shù)據(jù)表,與MC.9類似,采用倒推邏輯并依據(jù)MARD、MKPF、MSEG計算某個時間段期初數(shù)量、借方數(shù)量、貸方數(shù)量、期末數(shù)量,依據(jù)MBEW、BSIM計算某個時間段期初價值、借方價值、貸方價值、期末價值。由于MKPF、MSEG依據(jù)MB51邏輯,不能記錄價格修改、發(fā)票校驗差異對存貨價值影響,而BSIM只記錄有價值更新的出入庫記錄,對免費入庫類(只有數(shù)量更新無價值更新)不能記錄,二者各有利弊。數(shù)量取數(shù)邏輯如下:
價值取數(shù)邏輯如下:
優(yōu)點:既考慮數(shù)量、又考慮價值,如果查詢數(shù)據(jù)量較少,數(shù)據(jù)比較全面且準(zhǔn)確;
缺點:①查詢速度慢;②借、貸方不能反映出、入庫類型;③采用倒推方式,查詢大數(shù)據(jù)量時,數(shù)據(jù)可能不準(zhǔn)確;
3、自開發(fā)程序設(shè)計邏輯:
SAP標(biāo)準(zhǔn)程序MC.9、MB5B采用倒推邏輯,查詢大數(shù)據(jù)量可能導(dǎo)致數(shù)據(jù)不準(zhǔn)確,由于本集團(tuán)工廠有60個左右,查詢數(shù)據(jù)量大不可避免,鑒于以上原因不采用倒推邏輯。大概設(shè)計思路:從MBEWH、S031表直接取得期初庫存數(shù)量及價值,然后從MKPF、MSEG、BSIM取得期間出入庫數(shù)量及價值,依據(jù)期初數(shù)量、價值及當(dāng)期出入庫數(shù)量、價值計算期末數(shù)量及價值。
3.1?期初數(shù)量、價值計算
首先,介紹MBEWH表更新邏輯:如果第N月有一筆出入庫或價值更新操作,系統(tǒng)會將N-1月月底數(shù)量及價值更新至MBEWH表。如下表(當(dāng)前月份為2013-02)
假定要查2012-12月進(jìn)銷存,首先從MBEWH表取年度小于等于2012所有數(shù)據(jù),然后刪除年度等于2012、月份大于等于12數(shù)據(jù)。經(jīng)過數(shù)據(jù)處理后,依據(jù)物料、評估范圍取得年度+月份最大的那條記錄(如:3100101001取到2012-09那條數(shù)據(jù))。
其次,計算取得數(shù)據(jù)下個月份如:3100101001取到2012-09這條數(shù)據(jù)下月為2012-10),并和查詢月份(2012-12)比較,如果二者不相等,從S031表取該時間段內(nèi)(2012-10)出入庫記錄。將MBEWH、S031數(shù)據(jù)合并即為該物料2012-12期初數(shù)據(jù)。(為什么這樣計算,仔細(xì)想想MBEWH更新邏輯)
3.2?期間入庫、出庫數(shù)據(jù)計算
然后,依據(jù)MKPF、MSEG、BSIM提取2012-12該月的出入庫記錄及價值更新記錄。根據(jù)移動類型判斷該記錄屬于入庫或出庫。
期末數(shù)據(jù)可以依據(jù)期初數(shù)據(jù)和當(dāng)期出入庫計算。這樣設(shè)計采用正推邏輯,避免查詢時有出入庫操作對查詢結(jié)果的影響;此程序既考慮了庫存數(shù)量更新,又考慮了價值更新,保證了數(shù)據(jù)的全面性;這樣就可保證進(jìn)銷存和總賬一致,滿足業(yè)務(wù)需求。
總結(jié)
以上是生活随笔為你收集整理的SAP进销存难点分析及对策的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 小暑7/7食谱
- 下一篇: BAPI_ACC_DOCUMENT_PO