cancel
Showing results for 
Search instead for 
Did you mean: 

Partially Confirm TO item using L_TO_CONFIRM

Former Member
0 Kudos

Hello All,

I'm trying to partially confirm an item using FM L_TO_CONFIRM. For example, the TO line item has 3 CS, but I'd only like to confirm 1 CS, and leave the other 2 CS open in the same TO to be confirmed at a later time. This is a stock removal for an outbound delivery (mvmt type: 601). I'm doing this as part of a pick+pack transaction, where in this example only 1 CS is going in the first HU, so that is all I want to confirm at first.

Using L_TO_CONFIRM, I'm passing the correct parameters as suggested by the FM documentation. However, I'm getting an error that "Split is not possible"

Upon debugging, I see that this message is being triggered because the field LTAP-POSTY does not equal '1'. Does anyone know how this field is populated? I looked in the config for movement type and storage type and could not find anything relevant.

Appreciate the help.

Code:

ls_ltap_conf-tanum = i_tanum          "TO Number

ls_ltap_conf-tapos = I_tapos          "TO Item

ls_ltap_conf-nista = 1

ls_ltap_conf-altme = 'CS'

ls_ltap_conf-parti = 'X'

APPEND ls_ltap_cont TO lt_ltap_conf

CALL FUNCTION 'L_TO_CONFIRM'

  EXPORTING

     I_lgnum = I_lgnum

     I_tanum = I_tanum

   TABLES

     t_ltap_conf = lt_ltap_conf

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hello,

you shoould also pass Difference indicator (KZDIF) and diffrence quantity along with above details to FM.

Can you check by passing those values as well.

Cheers,

Nag

Former Member
0 Kudos

Thanks for the reply Naga.

Passing the difference quantity does not solve the issue. When you pass a diff qty, the TO item is completly confirmed. My requirement was to partially confirm the TO item, while leaving the remaining qty open.

I was able to achieve this by setting the "Pick Pack" flag in the warehouse configuration. This is found in Logistics Execution -> Warehouse Management -> Interfaces -> Shipping -> Define Shipping control. This seems to be required even if you want to split the item without packing it.

Now when I partially confirm an item using L_TO_CONFIRM, the system splits the TO item into two separate items, and only confirms the new split item, leaving the original one open.

Regards,

Olavo

Former Member
0 Kudos

Hello Olavo,

Even I have a similar situation, where in I am trying to do a partial confirmation, but in my case, the line items are not getting split. Could you please let me know, what all are the parameters you passed to the FM.

Looking forward for your reply.

Thanks in advance.

Thanks and Regards,

Santhosh Guptha N.

Former Member
0 Kudos

Hi Santhosh,


See below.


METHOD confirm.

   DATA: lt_ltap    TYPE TABLE OF ltap_conf,

         ls_ltap    TYPE ltap_conf,

         ls_ltap_hu TYPE ltap_conf_hu,

         lt_ltap_hu TYPE TABLE OF ltap_conf_hu.

   ls_ltap-tanum = mv_tanum.

   ls_ltap-tapos = ms_input-tapos.

   IF mv_exidv IS NOT INITIAL.

     ls_ltap-papos = 1.

   ENDIF.

   IF ms_input-qty_open EQ i_menge.

     ls_ltap-squit = 'X'.

   ELSEIF ms_input-qty_open GT i_menge.

     ls_ltap-nista = i_menge.

     ls_ltap-altme = ms_input-meins.

     ls_ltap-parti = 'X'.

   ENDIF.

   APPEND ls_ltap TO lt_ltap.

* Enter packing data for Pick + Pack

   IF mv_exidv IS NOT INITIAL.

     ls_ltap_hu-tanum = mv_tanum.

     ls_ltap_hu-tapos = ms_input-tapos.

     ls_ltap_hu-papos = 1.

     ls_ltap_hu-nachu = mv_exidv.

     ls_ltap_hu-menga = i_menge.

     ls_ltap_hu-altme = ms_input-meins.

     APPEND ls_ltap_hu TO lt_ltap_hu.

   ENDIF.

   CALL FUNCTION 'L_TO_CONFIRM'

     EXPORTING

       i_lgnum                        = mv_lgnum

       i_tanum                        = mv_tanum

     TABLES

       t_ltap_conf                    = lt_ltap

       t_ltap_conf_hu                 = lt_ltap_hu

     EXCEPTIONS

       to_confirmed                   = 1

       to_doesnt_exist                = 2

       item_confirmed                 = 3

       item_subsystem                 = 4

       item_doesnt_exist              = 5

       item_without_zero_stock_check  = 6

       item_with_zero_stock_check     = 7

       one_item_with_zero_stock_check = 8

       item_su_bulk_storage           = 9

       item_no_su_bulk_storage        = 10

       one_item_su_bulk_storage       = 11

       foreign_lock                   = 12

       squit_or_quantities            = 13

       vquit_or_quantities            = 14

       bquit_or_quantities            = 15

       quantity_wrong                 = 16

       double_lines                   = 17

       kzdif_wrong                    = 18

       no_difference                  = 19

       no_negative_quantities         = 20

       wrong_zero_stock_check         = 21

       su_not_found                   = 22

       no_stock_on_su                 = 23

       su_wrong                       = 24

       too_many_su                    = 25

       nothing_to_do                  = 26

       no_unit_of_measure             = 27

       xfeld_wrong                    = 28

       update_without_commit          = 29

       no_authority                   = 30

       lqnum_missing                  = 31

       charg_missing                  = 32

       no_sobkz                       = 33

       no_charg                       = 34

       nlpla_wrong                    = 35

       two_step_confirmation_required = 36

       two_step_conf_not_allowed      = 37

       pick_confirmation_missing      = 38

       quknz_wrong                    = 39

       hu_data_wrong                  = 40

       no_hu_data_required            = 41

       hu_data_missing                = 42

       hu_not_found                   = 43

       picking_of_hu_not_possible     = 44

       not_enough_stock_in_hu         = 45

       serial_number_data_wrong       = 46

       serial_numbers_not_required    = 47

       no_differences_allowed         = 48

       serial_number_not_available    = 49

       serial_number_data_missing     = 50

       to_item_split_not_allowed      = 51

       input_wrong                    = 52

       error_message                  = 99

       OTHERS                         = 53.

   IF sy-subrc <> 0.

     RAISE EXCEPTION TYPE zcx_rf_exception

       EXPORTING

         mv_msgid = sy-msgid

         mv_msgno = sy-msgno

         mv_msgv1 = sy-msgv1

         mv_msgv2 = sy-msgv2

         mv_msgv3 = sy-msgv3

         mv_msgv4 = sy-msgv4.

   ELSE.

Answers (0)