cancel
Showing results for 
Search instead for 
Did you mean: 

Question about the copy control function (VTLA) for delivery notes

Former Member
0 Kudos

Dear all

I have a question about the copy control function (transaction: VTLA) for delivery note.

I needed to find out how the sales orders are combined into delivery notes in our SAP system. So, I checked the configurations for

the copy control function with the transaction (VTLA).

When I was checking the setups in VTLA, I could see that we had the following settings for the pattern below.

1. Order requirements --> 001

2. Combination requirmt --> 051

3. Data transfer --> Header Data --> 001

4. Data transfer --> Item Data -->  101

Now, I wanted to see how those routines (especially, combination requirement) are used in the system, so I created two sales orders for the

same ship-to party, but for different sold-to party.

I then put the breakpoints in the following routines.

1. Combination requirmt --> 051

2. Data transfer --> Header Data --> 001

3. Data transfer --> Item Data -->  101

Then I registered a delivery note, using the transaction(VL10A).

When I executed the transaction(VL10A), I was able to see that the following routines are executed.

1. Data transfer --> Header Data --> 001

2. Data transfer --> Item Data -->  101

However, combination requirement routine(051) never seemed to have been executed.

Could you possibly tell me when and how this routine(Combination requirmt --> 051) gets executed?

※As for the detail, could you refer to the attached screenshot?

I really appreciate any advice or information!

Thank you very much in advance,

Takashi

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi, Santos-san

Well, I am not exactly sure what SAP-AFS is.

But we're using SAP ECC 6.0.

But yes, it would be nice to be able to use Combination requirmt routine(VTLA) even for the transactions such as VL04, VL10A, VL10 as well.

Could anybody help us on this?

Kind regards,

Takashi

cristiano_santos
Participant
0 Kudos

Hi Takashi,

SAP Apparel and Footwear is a specific solution for textile industries. I´ve opened a OSS call to check with SAP Support this issue.

Regards.

Former Member
0 Kudos

Hi, Santos-san

Wow, thank you very much for your gesture!

Could you let me know if you hear anything about this from SAP?

I'd really appreciate it!

Kind regards,

Takashi

cristiano_santos
Participant
0 Kudos

Not yet, they´re still checking. I´ll post the news.

cristiano_santos
Participant
0 Kudos

Hi Takashi,

sap answered me, not with the solution for breakpoint in background mode, but with sap notes to check the combine/split rules.

546668 and 355404

I understood the notes and now my challenge is to make it work. I´m doing my rules and when the combination is not allowed I´m ending with

bp_subrc = 1.

      exit.

but it is not working yet, the deliveries are still being combined. Any idea?

Regards.


cristiano_santos
Participant
0 Kudos

Hi, I found the solution.

Instead of change the routine in combination requirement, I´m changing the routine in transfer data > header data. I concatenate the combination criteria to the field likp-zukrl, and now my custom roles for split/combine are working.

bsivasankarreddy_reddy
Active Contributor
0 Kudos

hi

At VTLA header combination routine -051

---------------------------------------------------------------------*

*       FORM - Routine for the check of conditions

*---------------------------------------------------------------------*

*

*---------------------------------------------------------------------*

*       FORM BEDINGUNG_PRUEFEN_051                                    *

*---------------------------------------------------------------------*

*                                                                     *

*       Combination of orders                                         *

*                                                                     *

*       The following work areas are available:                       *

*                                                                     *

*        LIKP - Delivery header                                       *

*       CVBAK - Header of the reference document                      *

*                                                                     *

*---------------------------------------------------------------------*

form bedingung_pruefen_051 using bp_subrc like sy-subrc.

  bp_subrc = 0.

  if likp-kzazu  eq space.

    read table xlips index 1.

    if sy-subrc eq 0  and

       xlips-vgbel ne cvbak-vbeln.

      bp_subrc = 1.

      perform message_handling in program (programmname)

                                            using cvbap-posnr

                                                  '120'

                                                  'E'

                                                  'VL'

                                                  space

                                                  space

                                                  space

                                                  space.

      bp_subrc = 1.

      exit.

    else.

      bp_subrc = 0.

    endif.

  endif.

* Same delivery type for all documents

  if likp-lfart ne tvak-lfarv.

    bp_subrc = 1.

    perform message_handling in program (programmname)

                                       using posnr_low

                                             '129'

                                             'E'

                                             'VL'

                                             tvak-lfarv

                                             space

                                             space

                                             space.

    bp_subrc = 1.

    exit.

  endif.

* Check that the sales organization is the same in all documents

  if cvbak-vkorg ne likp-vkorg.

    bp_subrc = 1.

    perform message_handling in program (programmname)

                                       using posnr_low

                                             '021'

                                             'E'

                                             'VL'

                                             likp-vkorg

                                             cvbak-vkorg

                                             space

                                             space.

    bp_subrc = 1.

  endif.

* Check that the full delivery rules are the same for all documents

  if cvbak-autlf ne likp-autlf.

    bp_subrc = 1.

    perform message_handling in program (programmname)

                                       using posnr_low

                                             '024'

                                             'E'

                                             'VL'

                                             likp-autlf

                                             cvbak-autlf

                                             space

                                             space.

    bp_subrc = 1.

    exit.

  endif.

* Check that the billing type is the same for all documents

  if tvak-fkarv ne likp-fkarv.

    bp_subrc = 1.

    perform message_handling in program (programmname)

                                       using posnr_low

                                             '025'

                                             'E'

                                             'VL'

                                             likp-fkarv

                                             tvak-fkarv

                                             space

                                             space.

    bp_subrc = 1.

    exit.

  endif.

endform.                    "BEDINGUNG_PRUEFEN_051

*eject

This is the meaning of routine , when you can not fill this routine

when you take the reference the from meany sale order , on that time this routine will trigger ,

with out this routine you can not do combine sale orders  for one  delivery.

and also press F1 that field then you can under stand

Former Member
0 Kudos

Hi, Bojja-san

Thank you very much for your response on this!

So, this routine (051) does not get executed all the time, but only when one of the "if statement" holds

true?

I set the break point at the begining of this routine, but still the breakpoint did not stop the

execution of the program(VL10A).

Kind regards,

Takashi

bsivasankarreddy_reddy
Active Contributor
0 Kudos

hi

yes , this routine execute all the time , you fix the break point and activate , this break point must table and  field  level ,

if cvbak-autlf ne likp-autlf.

xlips-vgbel ne cvbak-vbeln.

like this


Former Member
0 Kudos

Hi, Bojja-san

Thank you very much for your response on this.

I set the break point on the statement you mentioned above, but it seems that the

execution of the program (VL10A) still doesn't stop at the breakpoint....

I'm getting a bit confused, so if you(or anybody) could provide me more information, I really

appreciate it.

As for the place for the breakpoint, could you refer to my screenshot?

Kind regards,

Takashi

bsivasankarreddy_reddy
Active Contributor
0 Kudos

Hi

it will not work at VL10A it back ground , so you will below process, that routine it work at vl01n level work,

go to VL01N enter the order number and execute

first order it will come break point next time assign another order , menu bar-out bound delivery -delivery sale order like below screen

after one po up screen it will come , here enter the another order ,

when enter the order number press enter then system takes , your break point it will come

so system take deduger this time ,

so it will not come VL10A, it will at VL01N only,

please try this

and revert back

cristiano_santos
Participant
0 Kudos

Hi, I´m having the same problem. Are you using SAP-AFS?

I can reach the breakpoint when executing VL02N (like the procedure above), but in VL04, VL10A and VL10G don´t.

I´ve done a infinite loop in the combination requirement formula source code, and while executing in online mode it works, and I can debug it using SM50. But while executing in background the process is finished normally. Looks like in background mode the program does not pass in this point.