SAP 库存物资收发存报表主要思路
1???????????數據獲得:
設屏幕輸入的日期區間為:Y年M月D日~Z年N月E日
若Y年M月D日或Z年N月E日晚于系統當前日期,報錯
若選擇的庫存地點不屬于選擇的工廠(在T001L中不存在記錄:T001L-LGORT=屏幕輸入的庫存地點?and T001L-WERKS=屏幕輸入的工廠),報錯
?
建立函數FUNCTION1用來計算一段時間內工廠范圍的物料收發數量和金額(詳見后)
輸入參數:起止日期zmfd至zmtd、物料號zmatnr、評估范圍zbwkey
輸出參數:期間入庫數量zsq-r、期間出庫數量zsq-i、期間入庫金額zmv-r、期間出庫金額zmv-i
?
建立函數FUNCTION2用來計算一段時間內庫存地點范圍的物料收發數量(詳見后)
輸入參數:起止日期zmfd至zmtd、物料號zmatnr、工廠zwerks、庫存地點zlgort
輸出參數:期間入庫數量zsq-r、期間出庫數量zsq-i
?
1)按照屏幕輸入條件先在MARA中找出所有需要查詢的物料號,形成數據集ZMAT:
MARA-MATNR in?屏幕輸入的物料?and
MARA-MATKL in?屏幕輸入的物料組?and
MARA-PRDHA??in?屏幕輸入的產品層次?and
在MARC中存在記錄:MARC-MATNR=MARA-MATNR and MARC-WERKS=屏幕輸入的工廠
?
2)對于ZMAT中的每條記錄,查詢MBEW、QBEW
Step1.在MBEW中查找滿足以下條件的記錄:
MBEW-MATNR=ZMAT-MATNR and
MBEW-BWKEY=屏幕輸入的工廠
Step2.在QBEW中查找滿足以下條件的記錄(可能多條):
QBEW-MATNR=ZMAT-MATNR and
QBEW-BWKEY=屏幕輸入的工廠?and
QBEW-SOBKZ="Q"
Step3.對于在MBEW和QBEW中取得的所有記錄,在ZMAT中添加字段:
ZMAT-LBKUM=MBEW-LBKUM加上所有QBEW-LBKUM
ZMAT-SALK3=MBEW-SALK3加上所有QBEW-SALK3
ZMAT-LFGJA&ZMAT-LFMON為MBEW-LFGJA&MBEW-LFMON和所有QBEW-LFGJA&QBEW-LFMON中最晚的一組年月
?
3)經過上述查找,對于ZMAT中的每條記錄計算工廠范圍的期初與期末庫存數量和金額
若ZMAT-LFGJA&ZMAT-LFMON為空,即MBEW、QBEW中未查得記錄?------------case1
à
期初=期末=0(金額&數量)
?
若ZMAT-LFGJA或?( ZMAT-LFGJA=Y且ZMAT-LFMON<m )="" ?-------------case2
à
期初數量=期末數量=ZMAT-LBKUM
期初金額=期末金額=ZMAT-SALK3
?
若ZMAT-LFGJA=Y且ZMAT-LFMON=M
??若ZMAT-LFGJA或?( ZMAT-LFGJA=Z且ZMAT-LFMON<n )??---------------case3
調用函數FUNCTION1,輸入參數zmfd?為Y年M月D日、zmtd為Z年N月E日、zmatnr=ZMAT-MATNR、zbwkey=屏幕輸入的工廠
?????返回參數:zsq-r、zsq-i、zmv-r、zmv-i
??????à
?????期初數量=ZMAT-LBKUM減去zsq-r加上zsq-i
?????期初金額=ZMAT-SALK3減去zmv-r加上zmv-i
?????期末數量=ZMAT-LBKUM
?????期末金額=ZMAT-SALK3
?
???若ZMAT-LFGJA=Z且ZMAT-LFMON=N ----------------case4
Step1.調用函數FUNCTION1,輸入參數zmfd?為Y年M月D日、zmtd為Z年N月E日、zmatnr=ZMAT-MATNR、zbwkey=屏幕輸入的工廠
?????返回參數:zmq-r、zmq-i、zmv-r、zmv-i
à
?????期間入庫數量為zmq-r
?????期間出庫數量為zmq-i
?????期間入庫金額為zmv-r
?????期間出庫金額為zmv-i
Step2.調用函數FUNCTION1,輸入參數zmfd?為Y年M月D日、zmtd為ZMAT-LFGJA年ZMAT-LFMON月末、zmatnr=ZMAT-MATNR、zbwkey=ZMAT-BWKEY
?????返回參數:zmq-r、zmq-i、zmv-r、zmv-i
??????à
?????期初數量=ZMAT-LBKUM減去zmq-r加上zmq-i
?????期初金額=ZMAT-SALK3減去zmv-r加上zmv-i
Step3.調用函數FUNCTION1,輸入參數zmfd?為Z年N月E+1日、zmtd為ZMAT-LFGJA年ZMAT-LFMON月末、zmatnr=ZMAT-MATNR、zbwkey=ZMAT-BWKEY
?????返回參數:zmq-r、zmq-i、zmv-r、zmv-i
??????à
?????期末數量=ZMAT-LBKUM減去zmq-r加上zmq-i
?????期末金額=ZMAT-SALK3減去zmv-r加上zmv-i
?
若ZMAT-LFGJA>Y?或?( ZMAT-LFGJA=Y且ZMAT-LFMON>M )
??若ZMAT-LFGJA>Z?或?( ZMAT-LFGJA=Z且ZMAT-LFMON>N )
取數邏輯同case4
??若ZMAT-LFGJA=Z且ZMAT-LFMON<
總結
以上是生活随笔為你收集整理的SAP 库存物资收发存报表主要思路的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 生产企业开具加工费发票的问题
- 下一篇: SAP收发存报表程序