Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

BAPI_BATCH_SAVE_REPLICA with classification data

ldzierza
Participant
0 Likes
4,388

Hi,

I have 2 questions:

  1. how can i create batch using BAPI_BATCH_SAVE_REPLICA FM - from my point of view, problem is that batch number paramaeter is obligatory. so ho can i use it to create new batch?
  2. i trying to add classification data, but classification are not filled. It's my code:
    TYPES: BEGIN OF ty_batch,
               batch TYPE bapibatchkey-batch,
              END OF ty_batch.

       DATA: lv_batch      LIKE bapibatchkey-batch,
             lv_objectkey  TYPE objnum,

             lt_batch      TYPE STANDARD TABLE OF ty_batch,
             ls_batch      LIKE LINE OF lt_batch.

       DATA: ls_batchattributes        TYPE bapibatchatt,
             ls_batchattributesx       TYPE bapibatchattx,
             ls_batchstatus            TYPE bapibatchstatus,
             ls_batchstatusx           TYPE bapibatchstatusx,
             ls_batchcontrolfields     TYPE bapibatchctrl,
             ls_batchstoragelocation   TYPE lgort_d,
             ls_internalnumbercom      TYPE bapibncom,
             ls_extension1             TYPE bapibncomz,
             ls_material_evg           TYPE bapimgvmatnr,
             lt_return                 TYPE bapiret2_tab,
             lt_classallocations       TYPE bapi3060_allocations,
             lt_classvaluationschar    TYPE bapi3060_valuations_char,
             lt_classvaluationscurr    TYPE bapi3060_valuations_curr,
             lt_allocvaluescurrnew     TYPE STANDARD TABLE OF bapi1003_alloc_values_curr,
             lt_allocvaluesnumnew      TYPE STANDARD TABLE OF bapi1003_alloc_values_num,
             lt_classvaluationsnum     TYPE bapi3060_valuations_num,
             ls_classallocations       TYPE bapi3060_allocation,
             ls_classvaluationschar    TYPE bapi3060_valuation_char.


    * Fill BatchControlFields
         ls_batchcontrolfields-class_num  = 'MAT_GADZETY_BDN'.
         ls_batchcontrolfields-doclassify = 'X'.

    ** Fill BatchAttributes
    *  ls_batchattributes-vendor_no  = 'RoPo'.
    *  ls_batchattributes-vendrbatch = '1234'.
    *  ls_batchattributes-prod_date  = '19680624'.
    *  ls_batchattributes-expirydate = '20120101'.
    *
    *  ls_batchattributesx-vendor_no  = 'X'.
    *  ls_batchattributesx-vendrbatch = 'X'.
    *  ls_batchattributesx-prod_date  = 'X'.
    *  ls_batchattributesx-expirydate = 'X'.

    * Fill ClassAllocations
         ls_classallocations-class_type   = '023'.

         CONCATENATE zmm_newspaper_addon-matnr
    *    'BC01'
         ls_batch-batch INTO lv_objectkey.

    *    lv_objectkey = zmm_newspaper_addon-matnr.

         ls_classallocations-objectkey   = lv_objectkey.

         ls_classallocations-objecttable = 'MARA'.   " MCH1, MCHA, MARA or MCHB tables
         ls_classallocations-classnum    = 'MAT_GADZETY_BDN'.
         ls_classallocations-statuS      = '1'.
         APPEND ls_classallocations TO lt_classallocations.

    * Fill ClassValuationsChar
         ls_classvaluationschar-class_type    = '023'.
         ls_classvaluationschar-objectkey     = lv_objectkey.
         ls_classvaluationschar-objecttable   = 'MARA'.
         ls_classvaluationschar-charact       = 'PP_NAZWISKO'.
         ls_classvaluationschar-value_char    = 'XXXXX'.
    *    ls_classvaluationschar-inherited     = ' '.
    *    ls_classvaluationschar-instance      = '000'.
         ls_classvaluationschar-value_neutral = 'XXXX'.
    *    ls_classvaluationschar-charact_descr = 'Nazwisko'.
         APPEND ls_classvaluationschar TO lt_classvaluationschar.

         BREAK-POINT.

         CALL FUNCTION 'BAPI_BATCH_SAVE_REPLICA'
           EXPORTING
             material             = zmm_newspaper_addon-matnr
             batch                = ls_batch-batch
             plant                = 'BC01'
             batchattributes      = ls_batchattributes
             batchattributesx     = ls_batchattributesx
             batchstatus          = ls_batchstatus
             batchstatusx         = ls_batchstatusx
             batchcontrolfields   = ls_batchcontrolfields
             batchstoragelocation = ls_batchstoragelocation
             internalnumbercom    = ls_internalnumbercom
             extension1           = ls_extension1
             material_evg         = ls_material_evg
           TABLES
             return               = lt_return
             classallocations     = lt_classallocations
             classvaluationschar  = lt_classvaluationschar
             classvaluationscurr  = lt_classvaluationscurr
             classvaluationsnum   = lt_classvaluationsnum.

         CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
         EXPORTING
           WAIT = 'X'.

where is a problem? why i can't create classification with values?


thanks

1 REPLY 1
Read only

ldzierza
Participant
0 Likes
2,211

problem 2 solved:

correct code:

* Fill BatchControlFields
     ls_batchcontrolfields-class_num  = 'MAT_GADZETY_BDN'.
     ls_batchcontrolfields-doclassify = 'X'.

** Fill BatchAttributes
*  ls_batchattributes-vendor_no  = 'RoPo'.
*  ls_batchattributes-vendrbatch = '1234'.
*  ls_batchattributes-prod_date  = '19680624'.
*  ls_batchattributes-expirydate = '20120101'.
*
*  ls_batchattributesx-vendor_no  = 'X'.
*  ls_batchattributesx-vendrbatch = 'X'.
*  ls_batchattributesx-prod_date  = 'X'.
*  ls_batchattributesx-expirydate = 'X'.

* Fill ClassAllocations
     ls_classallocations-class_type   = '023'.
     ls_classallocations-classtype    = '023'.
     CONCATENATE zmm_newspaper_addon-matnr
*    'BC01'
     ls_batch-batch INTO lv_objectkey.

*    lv_objectkey = zmm_newspaper_addon-matnr.

     ls_classallocations-objectkey   = lv_objectkey.

     ls_classallocations-objecttable = 'MARA'.   " MCH1, MCHA, MARA or MCHB tables
     ls_classallocations-classnum    = 'MAT_GADZETY_BDN'.
     ls_classallocations-status      = '1'.
     APPEND ls_classallocations TO lt_classallocations.

* Fill ClassValuationsChar
     ls_classvaluationschar-class_type    = '023'.
     ls_classvaluationschar-objectkey     = lv_objectkey.
     ls_classvaluationschar-objecttable   = 'MARA'.
     ls_classvaluationschar-charact       = 'PP_IMIE'.
     ls_classvaluationschar-value_char    = 'XXXXXXXX'.
*    ls_classvaluationschar-inherited     = ' '.
*    ls_classvaluationschar-instance      = '000'.
     ls_classvaluationschar-value_neutral = 'XXXXXXXXXXXXX'.
*    ls_classvaluationschar-charact_descr = 'Nazwisko'.
     APPEND ls_classvaluationschar TO lt_classvaluationschar.

     CALL FUNCTION 'BAPI_BATCH_SAVE_REPLICA'
       EXPORTING
         material             = zmm_newspaper_addon-matnr
         batch                = ls_batch-batch
         plant                = 'BC01'
         batchattributes      = ls_batchattributes
         batchattributesx     = ls_batchattributesx
         batchstatus          = ls_batchstatus
         batchstatusx         = ls_batchstatusx
         batchcontrolfields   = ls_batchcontrolfields
         batchstoragelocation = ls_batchstoragelocation
         internalnumbercom    = ls_internalnumbercom
         extension1           = ls_extension1
         material_evg         = ls_material_evg
       TABLES
         return               = lt_return
         classallocations     = lt_classallocations
         classvaluationschar  = lt_classvaluationschar
         classvaluationscurr  = lt_classvaluationscurr
         classvaluationsnum   = lt_classvaluationsnum.

     CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
       EXPORTING
         wait = 'X'.