批次属性的创建和修改
批次属性的创建和修改
创建:BAPI_BATCH_CREATE
修改:VB_BATCH_2_CLASS_OBJECT
BAPI_OBJCL_GETDETAIL
BAPI_OBJCL_CHANGE
BAPI_TRANSACTION_COMMIT
BAPI_TRANSACTION_ROLLBACK
问题:遇到 使⽤  函数 BAPI_OBJCL_GETDETAIL 时 ,获得物料当前批次的属性时, 没有批次的问题
看了下⾯的博客 才了解到  S/4  ,objectkey_long  这个参数 要给值的  和  objectkey 的值⼀样就可以了
DATA:wa_batch          TYPE charg_d,
batchattributes    TYPE  bapibatchatt,
batchcontrolfields TYPE bapibatchctrl.
DATA: it_return TYPE TABLE OF bapiret2,
wa_return TYPE bapiret2.
DATA:cuobn      TYPE cuobn,
tabelle    TYPE tabelle,
klassenart TYPE klassenart,
klasse_d  TYPE klasse_d.
DATA:l_object TYPE bapi1003_key-object,
l_obtab  TYPE bapi1003_key-objecttable,
l_class  TYPE bapi1003_key-classnum,
l_type  TYPE bapi1003_key-classtype,
l_long  TYPE bapi1003_key-object_long.
FIELD-SYMBOLS:<fs> TYPE any.
DATA:lt_classvaluationschar TYPE STANDARD TABLE OF bapi1003_alloc_values_char,
ls_classvaluationschar TYPE bapi1003_alloc_values_char,
lt_classvaluationscurr TYPE STANDARD TABLE OF bapi1003_alloc_values_curr,
ls_classvaluationscurr TYPE bapi1003_alloc_values_curr,
lt_classvaluationsnum  TYPE STANDARD TABLE OF bapi1003_alloc_values_num,
ls_classvaluationsnum  TYPE bapi1003_alloc_values_num.
DATA:  lv_status    TYPE            bapi1003_key-status.
LOOP AT im_data INTO DATA(wa_data).
CASE wa_data-cztyp.
WHEN 'I'."创建
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
input        = wa_data-matnr
IMPORTING
output      = wa_data-matnr
EXCEPTIONS
length_error = 1
OTHERS      = 2.
batchattributes-expirydate = wa_data-vfdat.
batchattributes-expirydate = wa_data-vfdat.
batchattributes-prod_date = wa_data-hsdat.
batchcontrolfields-class_num = 'Z_PICI'.
batchcontrolfields-batchlevel = '0'.
batchcontrolfields-doclassify = 'X'.
CALL FUNCTION 'BAPI_BATCH_CREATE'
EXPORTING
material          = wa_data-matnr
batch              = wa_data-charg
plant              = wa_data-werks
batchattributes    = batchattributes
batchcontrolfields = batchcontrolfields
IMPORTING
batch              = wa_batch
TABLES
仙剑续传return            = it_return.
LOOP AT it_return INTO wa_return." WHERE type = 'E'.            CASE wa_return-type.
WHEN 'E' .
ret-type = wa_return-type.
新春祝福语2021ret-id = wa_return-id.
抖音满汉全席什么梗ret-number = wa_return-number.
ret-message = ret-message && wa_return-message .              WHEN 'S'.
ret-type = wa_return-type.
ret-id = wa_return-id.
ret-number = wa_return-number.
ret-message = ret-message && wa_return-message .              WHEN OTHERS.
ENDCASE.
ENDLOOP.
WHEN 'U'."修改
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'            EXPORTING
input        = wa_data-matnr
IMPORTING
output      = wa_data-matnr
EXCEPTIONS最好的古装电视剧
length_error = 1
OTHERS      = 2.
CALL FUNCTION 'VB_BATCH_2_CLASS_OBJECT'
EXPORTING
i_matnr = wa_data-matnr
i_charg = wa_data-charg
i_werks = wa_data-werks
IMPORTING
e_objek = cuobn
e_obtab = tabelle
e_klart = klassenart
e_class = klasse_d.
l_object = cuobn.
l_obtab  = tabelle.
l_class  = klasse_d.
l_type  = klassenart.
l_long  = cuobn.
CLEAR:lv_status.
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
objectkey        = l_object
objectkey        = l_object
objecttable      = l_obtab
classnum        = l_class
classtype        = l_type
*            KEYDATE          = SY-DATUM
unvaluated_chars = 'X'
language        = sy-langu
objectkey_long  = l_long
IMPORTING
status          = lv_status
*            STANDARDCLASS    =
TABLES
allocvaluesnum  = lt_classvaluationsnum
allocvalueschar  = lt_classvaluationschar
allocvaluescurr  = lt_classvaluationscurr
return          = it_return.
READ TABLE it_return INTO wa_return WITH KEY type = 'E'.
IF sy-subrc <> 0.
REFRESH: it_return.
CLEAR: wa_return.
LOOP AT lt_classvaluationschar INTO ls_classvaluationschar.              ASSIGN COMPONENT ls_classvaluationschar-charact
OF STRUCTURE wa_data TO FIELD-SYMBOL(<fs_value>).              IF <fs_value> IS ASSIGNED.
ls_classvaluationschar-value_char = <fs_value>.
鬼吹灯全集顺序目录
ls_classvaluationschar-value_neutral = <fs_value>.
ls_classvaluationschar-value_char_long = <fs_value>.
ls_classvaluationschar-value_neutral_long = <fs_value>.
ENDIF.
MODIFY lt_classvaluationschar FROM ls_classvaluationschar.            ENDLOOP.
CALL FUNCTION 'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey          = l_object
objecttable        = l_obtab
classnum          = l_class
classtype          = l_type
status            = '1'
*              STANDARDCLASS      =
*              CHANGENUMBER      =
*              KEYDATE            = SY-DATUM
*              NO_DEFAULT_VALUES  = ' '
*              KEEP_SAME_DEFAULTS = ' '
objectkey_long    = l_long
IMPORTING
classif_status    = lv_status
TABLES
allocvaluesnumnew  = lt_classvaluationsnum
allocvaluescharnew = lt_classvaluationschar
allocvaluescurrnew = lt_classvaluationscurr
return            = it_return.
LOOP AT it_return INTO wa_return." WHERE type = 'E'.
CASE wa_return-type.
WHEN 'E' .
ret-type = wa_return-type.
ret-id = wa_return-id.
ret-number = wa_return-number.
ret-message = ret-message && wa_return-message .
WHEN 'S'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
EXPORTING
wait = 'X'
* IMPORTING
*                    RETURN        =
.
ret-type = wa_return-type.
ret-id = wa_return-id.
ret-number = wa_return-number.
ret-message = ret-message && wa_return-message .                WHEN OTHERS.
ENDCASE.
ENDLOOP.
ELSE.
ret-type = wa_return-type.
ret-id = wa_return-id.
ret-number = wa_return-number.
ret-message = ret-message && wa_return-message .
ENDIF.
西安供暖WHEN OTHERS.
ENDCASE.
ENDLOOP.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。