on 07-04-2012 10:10 AM
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
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
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
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.
User | Count |
---|---|
108 | |
12 | |
11 | |
6 | |
5 | |
4 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.