07-02-2008 2:01 PM
Hi Guys,
Consider an example:
Is it possible to change the vendor addresses of multiple vendor at the same time using Call Transaction XK02 statement without calling it in LOOP statement?
If yes - then how can we differentiate which vendor is successfully update and which is in error ???
I have always executed in loop for multiple records but never without loop statement to handle multiple postings.
Regards ,
Gurmukh singh
Edited by: GURU AILSINGHANI on Jul 2, 2008 3:14 PM
07-02-2008 2:29 PM
Hi Experts,
Any update???
Example : Changing address of multiple vendors using single call transaction statement without including in loop.
Regards,
Gurmukh
07-02-2008 2:42 PM
Guru,
Without loop you can do by MASS Tx five object type LFA1.
or you can use in loop for BAPI_VENDOR_EDIT
Amit.
Edited by: Amit Gujargoud on Jul 2, 2008 3:43 PM
07-03-2008 8:45 AM
>
> Guru,
>
> Without loop you can do by MASS Tx five object type LFA1.
>
> or you can use in loop for BAPI_VENDOR_EDIT
>
> Amit.
>
> Edited by: Amit Gujargoud on Jul 2, 2008 3:43 PM
Amit,
Have you actually looked to see what BAPI_VENDOR_EDIT does? It just opens XK02...
07-03-2008 8:53 AM
07-03-2008 8:57 AM
Nope, because I don't actually know what it is.
Do you not have a functional consultant you can ask who can help?
Why can't you just call XK02 in a loop? That seems like the simplest, most obvious solution to this.
Gareth.
07-03-2008 10:12 AM
We need to post 40K records and i have been suggested to use Call transaction outside loop to improve the performance.
Regards,
Gurmukh
07-03-2008 10:16 AM
Who suggested that?!
If you have 40k I'd say you want to use BDC session method (search for more info if needed) so you will create one BDC update per record. This will allow you to run it in background and handle any errors.
Unless you can find a suitable mass maintenance transaction - ask your functional people if they know of one.
07-02-2008 3:03 PM
Capturing messages is easy, just use the extension "MESSAGES INTO itab ". itab is of the type BDCMSGCOLL from the ABAP Dictionary. Print it out at the end of the program or pass on to ALV, all of it, or only E and W messages- your pick.
Regarding avoiding the loop I have a suggestion, though I have not tried this .
SAP help says " Using the internal table bdc_tab, you can provide any number of screens of the called transaction with input and user actions. " .
Above implies you can load all records in the itab bdc_tab when doing call transaction. Say, your bdc_tabl has 30 records for 1 pass of the transaction. You need to update 10 vendor records. You simply load up all 300 records into bdc_tab. After every 30 record loads, you simulate a 'SAVE' press in your program but do not leave the transaction. Rather you simulate the keystroke that takes you to the first screen of XK02 after the save [if not aready there], and start loading up the next transaction.
07-03-2008 8:35 AM
Hi guys,
Any update on the above mentioned question?
Can some one provide the recording for updating multiple vendor records using XK02 only?
Regards,
Gurmukh singh
07-03-2008 8:43 AM
Think about what you are asking for a moment...
XK02 is a transaction for updating a single vendor at a time. No matter how fancy your BDC code becomes, you can't make that transaction do something it isn't designed to do.
If you want to update multiple vendors through XK02 you will need to perform a loop...endloop and update them individually. Or try to find a suitable BAPI and call that in a loop.
If you really need to perform the update of all vendors in one go then look for a mass maintenance transaction for vendors and use that.
I'm just not sure exactly what you want...
Gareth.
07-03-2008 8:49 AM
Hi Guys,
Try below recording in Tcode SHDB it will work fine.
T XK02
SAPMF02K 0101 X
BDC_CURSOR RF02K-LIFNR
BDC_OKCODE /00
RF02K-LIFNR 100021
RF02K-D0110 X
SAPMF02K 0110 X
BDC_CURSOR LFA1-ANRED
BDC_OKCODE =UPDA
LFA1-NAME1 NAME_1
LFA1-SORTL JJJ
LFA1-LAND1 GA
T XK02
SAPMF02K 0101 X
BDC_CURSOR RF02K-LIFNR
BDC_OKCODE /00
RF02K-LIFNR 100022
RF02K-D0110 X
SAPMF02K 0110 X
BDC_CURSOR LFA1-ANRED
BDC_OKCODE =UPDA
LFA1-NAME1 NAME_1
LFA1-SORTL JJJ
LFA1-LAND1 GA
The above recording is possible by appending the same recording to the existing recording for one vendor in SHDB.
Regards,
Gurmukh singh
07-07-2016 5:30 PM
Ask your data team they might have some software that they use for Mass upload Like Win Shuttle Transaction..
07-07-2016 8:20 PM
You could create a file in SAP's program RFBIKR00 format, provided the address fields you want to change are in the record structures of this program. This program was written before SAP started using enjoy transactions. Some fields that do not exist in the pre-enjoy transaction cannot be updated using this program
I've used this program several times in the past. The documentation is pretty good.
Bruce
07-07-2016 8:41 PM
Hi Guru,
Take a look on the transaction XK99, maybe you can do your bdc there.
Regards,
Thales Schmidt