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: 

Can we use Call transaction for multiple records/Posting??

Former Member
0 Kudos

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

14 REPLIES 14

Former Member
0 Kudos

Hi Experts,

Any update???

Example : Changing address of multiple vendors using single call transaction statement without including in loop.

Regards,

Gurmukh

0 Kudos

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

0 Kudos

>

> 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...

0 Kudos

can you tell me what is this MASS Tx???

0 Kudos

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.

0 Kudos

We need to post 40K records and i have been suggested to use Call transaction outside loop to improve the performance.

Regards,

Gurmukh

0 Kudos

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.

Former Member
0 Kudos

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.

Former Member
0 Kudos

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

0 Kudos

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.

0 Kudos

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

former_member716013
Discoverer
0 Kudos

Ask your data team they might have some software that they use for Mass upload Like Win Shuttle Transaction..

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Guru,

Take a look on the transaction XK99, maybe you can do your bdc there.

Regards,

Thales Schmidt