SAP ABAP 获取批次特性
方式一:
DATA:e_objek TYPE cuobn,
e_obtab TYPE tabelle,
e_klart TYPE klassenart,
e_class TYPE klasse_d,
lv_objectkey TYPE bapi3060_allocation-objectkey,
batchcontrolfields TYPE bapibatchctrl,
return TYPE TABLE OF bapiret2,
w_return TYPE bapiret2,
allocvaluesnum TYPE TABLE OF bapi1003_alloc_values_num,
allocvalueschar TYPE TABLE OF bapi1003_alloc_values_char,
allocvaluescurr TYPE TABLE OF bapi1003_alloc_values_curr.
DATA:ls_allocvaluesnum TYPE bapi1003_alloc_values_num,
ls_allocvalueschar TYPE bapi1003_alloc_values_char,
ls_allocvaluescurr TYPE bapi1003_alloc_values_curr.
IF <lfs_data>-charg IS NOT INITIAL.
CALL FUNCTION 'VB_BATCH_2_CLASS_OBJECT' "读取批次属性值
EXPORTING
i_matnr = <lfs_data>-matnr
i_charg = <lfs_data>-charg
i_werks = <lfs_data>-werks
IMPORTING
e_objek = e_objek
e_obtab = e_obtab
e_klart = e_klart
e_class = e_class.
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL' "读取批次中各特征值
EXPORTING
objecttable = e_obtab
classnum = e_class
classtype = e_klart
objectkey_long = e_objek
TABLES
allocvaluesnum = allocvaluesnum
allocvalueschar = allocvalueschar
allocvaluescurr = allocvaluescurr
return = return.
READ TABLE allocvalueschar INTO ls_allocvalueschar
WITH KEY charact = 'ZMIGO_VENDORNAME'.
ENDIF.
ZMIGO_VENDORNAME批次特性的值:ls_allocvalueschar-value_char_long
方式二:
SELECT SINGLE atwrt INTO @<fs_data>-atwrt FROM ausp
INNER JOIN ekpo
ON ausp~objek = ekpo~matnr
AND ekpo~ebeln = @<fs_data>-ebeln
AND ekpo~ebelp = @<fs_data>-ebelp
LEFT JOIN cabn
ON ausp~atinn = cabn~atinn
AND cabn~adzhl = ausp~adzhl
WHERE cabn~atnam = 'ZMDCOMMON005'.
方式三:
WITH +data AS ( SELECT m~matnr,m~charg,m~cuobj_bm FROM mch1 AS m m~matnr = @<fs_data>-matnr AND m~charg =@<fs_data>-charg )
SELECT
z~matnr,
z~charg,
inob~cuobj,
inob~klart,
inob~obtab,
inob~objek,
ausp~atinn,
ausp~atzhl,
ausp~mafid,
ausp~adzhl,
ausp~atwrt,
ausp~atflv,
ausp~date_to,
cabn~atnam
FROM inob INNER JOIN ausp
ON ausp~objek = inob~cuobj
INNER JOIN +data AS z
ON z~cuobj_bm = inob~cuobj
LEFT JOIN cabn
ON cabn~atinn = ausp~atinn AND
cabn~adzhl = ausp~adzhl
WHERE inob~klart = '001' OR inob~klart EQ '023' AND cabn~atnam = ’ZMIGO_DATE‘
AND inob~obtab EQ 'MCH1'
INTO CORRESPONDING FIELDS OF TABLE @lt_023.

浙公网安备 33010602011771号