一、传表与参数
RANGES: w_dat FOR sy-datum ,
i_date LIKE sy-datum ,
i_date1 LIKE sy-datum ,
l_date2 TYPE sy-datum.
"获取当月日期时间段 i_date = sy-datum .
CONCATENATE i_date(6) '01' INTO i_date1
w_dat-sign = 'I'.
w_dat-option = 'BT'.
w_dat-low = i_date1 .
w_dat-high = sy-datum.
APPEND w_dat .
"获取上个月日期时间表
CALL FUNCTION 'FIMA_DATE_CREATE'
EXPORTING
i_date = sy-datum
i_months = '-1'
i_set_last_day_of_month = 'X'
IMPORTING
e_date = l_date1.
CONCATENATE l_date1+0(6) '01' INTO l_date2.
w_dat1-sign = 'I'.
w_dat1-option = 'BT'.
w_dat1-low = l_date2 .
w_dat1-high = l_date1.
APPEND w_dat1 .
"调用子程序
PERFORM GetMsegQty TABLES w_dat USING stock_list-matnr .
PERFORM GetMsegQty TABLES w_dat1 USING stock_list-matnr .
"子程序
FORM GetMsegQty TABLES w_dates STRUCTURE w_dat
USING itemnum .
SELECT mseg~mblnr mseg~mjahr mseg~zeile mseg~matnr mseg~werks mseg~lgort mseg~menge mseg~bwart
INTO CORRESPONDING FIELDS OF TABLE t_mseg
FROM mseg
INNER JOIN mkpf ON mseg~mblnr = mkpf~mblnr AND mseg~mjahr = mkpf~mjahr
FOR ALL entries IN stock_list
WHERE mseg~matnr = itemnum
AND mseg~werks = stock_list-werks
AND mkpf~budat IN w_dates.
ENDFORM.
i_date LIKE sy-datum ,
i_date1 LIKE sy-datum ,
l_date2 TYPE sy-datum.
"获取当月日期时间段 i_date = sy-datum .
CONCATENATE i_date(6) '01' INTO i_date1
w_dat-sign = 'I'.
w_dat-option = 'BT'.
w_dat-low = i_date1 .
w_dat-high = sy-datum.
APPEND w_dat .
"获取上个月日期时间表
CALL FUNCTION 'FIMA_DATE_CREATE'
EXPORTING
i_date = sy-datum
i_months = '-1'
i_set_last_day_of_month = 'X'
IMPORTING
e_date = l_date1.
CONCATENATE l_date1+0(6) '01' INTO l_date2.
w_dat1-sign = 'I'.
w_dat1-option = 'BT'.
w_dat1-low = l_date2 .
w_dat1-high = l_date1.
APPEND w_dat1 .
"调用子程序
PERFORM GetMsegQty TABLES w_dat USING stock_list-matnr .
PERFORM GetMsegQty TABLES w_dat1 USING stock_list-matnr .
"子程序
FORM GetMsegQty TABLES w_dates STRUCTURE w_dat
USING itemnum .
SELECT mseg~mblnr mseg~mjahr mseg~zeile mseg~matnr mseg~werks mseg~lgort mseg~menge mseg~bwart
INTO CORRESPONDING FIELDS OF TABLE t_mseg
FROM mseg
INNER JOIN mkpf ON mseg~mblnr = mkpf~mblnr AND mseg~mjahr = mkpf~mjahr
FOR ALL entries IN stock_list
WHERE mseg~matnr = itemnum
AND mseg~werks = stock_list-werks
AND mkpf~budat IN w_dates.
ENDFORM.
二、传参数返回参数
PERFORM GetMeng USING stock_list-matnr CHANGING stock_list-erfmg stock_list-erfmg1 .
FORM GetMeng USING itemnum CHANGING erfmg erfmg1 .
IF itemnum is not INITIAL.
SELECT "SINGLE
SUM( labst ) AS labst
SUM( insme ) AS insme
SUM( speme ) AS speme
INTO (mard-labst ,mard-insme ,mard-speme ) FROM mard
WHERE matnr = itemnum"stock_list-matnr
AND werks = stock_list-werks
AND lgort IN gr_lgort
.
erfmg = mard-labst + mard-speme ."库存QTY
erfmg1 = mard-insme ."质检QTY
ENDIF.
ENDFORM.
FORM GetMeng USING itemnum CHANGING erfmg erfmg1 .
IF itemnum is not INITIAL.
SELECT "SINGLE
SUM( labst ) AS labst
SUM( insme ) AS insme
SUM( speme ) AS speme
INTO (mard-labst ,mard-insme ,mard-speme ) FROM mard
WHERE matnr = itemnum"stock_list-matnr
AND werks = stock_list-werks
AND lgort IN gr_lgort
.
erfmg = mard-labst + mard-speme ."库存QTY
erfmg1 = mard-insme ."质检QTY
ENDIF.
ENDFORM.
浙公网安备 33010602011771号