Application Development 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: 

BAPI_GOODSMVT_CREATE for subcontracting PO

Former Member
0 Kudos

Dear all,

Please help with such issue. My task is to create GR against PO subcontracting , problem is when document is created at line with movement type 543 serial numbers and batch not assigned why it is so maybe there is mistake in code?

  goodsmvt_item-line_id = 1.

    goodsmvt_item-po_number = v_ebeln.

    goodsmvt_item-po_item = i_item-item_line-posex.

    goodsmvt_item-material = i_ekpo-matnr.

    goodsmvt_item-plant = i_ekpo-werks.

    goodsmvt_item-stge_loc = i_ekpo-lgort.

    goodsmvt_item-move_type = '101.

    goodsmvt_item-mvt_ind = 'B'.

    goodsmvt_item-entry_qnt   = 1.

    goodsmvt_item-entry_uom_iso  = 'EA'.

    goodsmvt_item-vendrbatch = '5555'.

    APPEND goodsmvt_item TO t_goodsmvt_item.

    goodsmvt_serialnumber-matdoc_itm = 1.

    goodsmvt_serialnumber-serialno = serial.

    APPEND goodsmvt_serialnumber TO t_goodsmvt_serialnumber.

      goodsmvt_item-parent_id = 1.

      goodsmvt_item-line_id = 2.

      goodsmvt_item-move_type = '543'.

      CLEAR: goodsmvt_item-entry_qnt, goodsmvt_item-entry_uom, goodsmvt_item-mvt_ind,

             goodsmvt_item-po_number, goodsmvt_item-po_item, goodsmvt_item-vendrbatch.

    goodsmvt_item-material = i_ekpo-matnr.

    goodsmvt_item-plant = i_ekpo-werks.

    goodsmvt_item-stge_loc = i_ekpo-lgort.

goodsmvt_item-batch = '100071'

    APPEND goodsmvt_item TO t_goodsmvt_item.

    goodsmvt_serialnumber-matdoc_itm = 2.

    goodsmvt_serialnumber-serialno = serial2.

    APPEND goodsmvt_serialnumber TO t_goodsmvt_serialnumber.

1 ACCEPTED SOLUTION

Former Member
0 Kudos

After several days of suffering we solved this issue by such code:

CLEAR goodsmvt_item.

     goodsmvt_item-line_id     = '0001'.

     goodsmvt_item-PO_NUMBER   = ls_ekpo-ebeln.

     goodsmvt_item-PO_ITEM     = ls_ekpo-ebelp.

     goodsmvt_item-MATERIAL    = ls_ekpo-matnr.

     goodsmvt_item-PLANT       = plant.

     goodsmvt_item-ENTRY_QNT   = ls_ekpo-menge.

     goodsmvt_item-move_type   = '101'.

     goodsmvt_item-MVT_IND     = 'B'.

     goodsmvt_item-STGE_LOC    = lgort.

     goodsmvt_item-entry_uom_iso  = 'EA'.

     APPEND goodsmvt_item TO t_goodsmvt_item.

     CLEAR goodsmvt_item.

     goodsmvt_item-line_id     = '0002'.

     goodsmvt_item-parent_id     = '0001'.

     goodsmvt_item-MATERIAL    = ls_ekpo-matnr.

     goodsmvt_item-PLANT       =  plant.

     goodsmvt_item-move_type   = '543'.

     goodsmvt_item-MVT_IND     = 'O'.

     goodsmvt_item-entry_uom_iso  = 'EA'.

     goodsmvt_item-ENTRY_QNT   = ls_ekpo-menge.

     goodsmvt_item-batch       = batch_old.

     APPEND goodsmvt_item TO t_goodsmvt_item.

   goodsmvt_serialnumber-matdoc_itm = 1.

   goodsmvt_serialnumber-serialno = seril_new

   APPEND goodsmvt_serialnumber TO t_goodsmvt_serialnumber.

   goodsmvt_serialnumber-matdoc_itm = 2.

   goodsmvt_serialnumber-serialno = serial_old.

   APPEND goodsmvt_serialnumber TO t_goodsmvt_serialnumber.

7 REPLIES 7

Former Member
0 Kudos

Hey Maria Kosenko,

  1. Try using GM CODE = '03', it should work
  2. Try zero padding the batch field. Instead of  goodsmvt_item-vendrbatch = '5555'  try goodsmvt_item-vendrbatch = '0000005555'

OR

you can use the FM 'CONVERSION_EXIT_ALPHA_INPUT'   

for example,


Types : v_vendor type LIFNR value '1002'.

call function 'CONVERSION_EXIT_ALPHA_INPUT'                                                                                                                

     exporting

       input  = v_vendor

     importing

       output = v_vendor.

_______________________________________________

Output

v_vendor = '0000001002'.

0 Kudos

It did not workout with GM CODE = '03' and I have zeros for batch

Former Member
0 Kudos

Hi,

Please confirm GM CODE from your functional consultant and apply.

Thanks,

Prarthan

Former Member
0 Kudos

After several days of suffering we solved this issue by such code:

CLEAR goodsmvt_item.

     goodsmvt_item-line_id     = '0001'.

     goodsmvt_item-PO_NUMBER   = ls_ekpo-ebeln.

     goodsmvt_item-PO_ITEM     = ls_ekpo-ebelp.

     goodsmvt_item-MATERIAL    = ls_ekpo-matnr.

     goodsmvt_item-PLANT       = plant.

     goodsmvt_item-ENTRY_QNT   = ls_ekpo-menge.

     goodsmvt_item-move_type   = '101'.

     goodsmvt_item-MVT_IND     = 'B'.

     goodsmvt_item-STGE_LOC    = lgort.

     goodsmvt_item-entry_uom_iso  = 'EA'.

     APPEND goodsmvt_item TO t_goodsmvt_item.

     CLEAR goodsmvt_item.

     goodsmvt_item-line_id     = '0002'.

     goodsmvt_item-parent_id     = '0001'.

     goodsmvt_item-MATERIAL    = ls_ekpo-matnr.

     goodsmvt_item-PLANT       =  plant.

     goodsmvt_item-move_type   = '543'.

     goodsmvt_item-MVT_IND     = 'O'.

     goodsmvt_item-entry_uom_iso  = 'EA'.

     goodsmvt_item-ENTRY_QNT   = ls_ekpo-menge.

     goodsmvt_item-batch       = batch_old.

     APPEND goodsmvt_item TO t_goodsmvt_item.

   goodsmvt_serialnumber-matdoc_itm = 1.

   goodsmvt_serialnumber-serialno = seril_new

   APPEND goodsmvt_serialnumber TO t_goodsmvt_serialnumber.

   goodsmvt_serialnumber-matdoc_itm = 2.

   goodsmvt_serialnumber-serialno = serial_old.

   APPEND goodsmvt_serialnumber TO t_goodsmvt_serialnumber.

0 Kudos

Hey Maria Kosenko,

Congrats

What was the change that solved the issue?

0 Kudos

Please close the thread....

0 Kudos

Problem was that we didn't assign to movement type '543' mvt_ind = 'O'. This solved our issue.