取收货冻结库存的函数 (GR Block)

FUNCTION zget_receiving_frozen_stocks.
*"----------------------------------------------------------------------
*"*"Local interface:
*"  IMPORTING
*"     VALUE(MATNR) TYPE  MATNR
*"     VALUE(WERKS) TYPE  WERKS_D
*"  EXPORTING
*"     VALUE(LABST) TYPE  LABST
*"----------------------------------------------------------------------
  DATA:BEGIN OF it_ekbe OCCURS 0,
       belnr LIKE ekbe-belnr,
       gjahr LIKE ekbe-gjahr,
       bwart LIKE ekbe-bwart,
       wesbs  LIKE ekbe-wesbs,
       menge LIKE ekbe-menge,
  END OF it_ekbe.
  SELECT belnr gjahr bwart wesbs menge
  INTO TABLE it_ekbe
  FROM ekbe
  WHERE ekbe~matnr matnr
    AND ekbe~werks werks
    AND bwart IN ('103','104','105','106').

*  LOOP AT it_ekbe.
*    CASE it_ekbe-bwart.
*      WHEN '103'.
*        labst = labst + it_ekbe-wesbs.
*      WHEN '104'.
*        labst = labst - it_ekbe-wesbs.
*      WHEN '105'.
*        labst = labst - it_ekbe-menge.
*      WHEN '106'.
*        labst = labst + it_ekbe-menge.
*    ENDCASE.
*  ENDLOOP.
  LOOP AT it_ekbe.
    IF it_ekbe-bwart '104' OR it_ekbe-bwart '106'.
      labst labst it_ekbe-wesbs.
    ELSE.
      labst labst + it_ekbe-wesbs.
    ENDIF.
  ENDLOOP.


ENDFUNCTION.

你可能感兴趣的:(取收货冻结库存的函数 (GR Block))