cancel
Showing results for 
Search instead for 
Did you mean: 

Problem w batch input in EXIT_SAPLVEDA_002 and new VBAPfield in screen 8460

Former Member
0 Kudos

I have a problem with populating a new VBAP-field with batch input in user-exit EXIT_SAPLVEDA_002, please see my settings below:

<br>

<br>The following scenario has been setup:

<br>

<br>A new ZZ-field has been appended to VBAP in ZAVBAP.

<br>The new ZZ-field has been added to screen '8460' in program 'SAPMV45A'.

<br>The screen is available when entering VA01/02/03 --> item detail

<br>

<br>When selecting the field and pressing F1 in VA01 --> item detail, the following information is displayed:

<br>

<br>Screen data

<br>Program Name SAPMV45A

<br>Screen Number 8460

<br>

<br>GUI data

<br>Program Name SAPMV45B

<br>Status U

<br>

<br>Field data

<br>Table Name VBAP

<br>Table category Transparent table

<br>Field Name ZZLENGTH

<br>Data Element ZZLENGTH

<br>DE Supplement 0

<br>

<br>Field description for batch input

<br>Screen Field VBAP-ZZLENGTH

<br>Program Name SAPMV45A

<br>Screen Number 4001

<br>

<br>

<br>It is required to populate the field using batch input (when receiving idoc).

<br>

<br>First of all, I have extended the orders05 idoc and mapped the new segment field to ZZLENGTH in user-exit EXIT_SAPLVEDA_001 (include ZXVEDU03) - This works fine when debugging (the idoc segment field is copied to the ZZ-field)

<br>

<br>Second of all, I have tried to make the field-value available for the order processing, using the user-exit EXIT_SAPLVEDA_002 (include ZXVEDU04) - This causes error!!!

<br>

<br>Please see my code in EXIT_SAPLVEDA_002:

<br>

<br> CLEAR DXBDCDATA.

<br> DXBDCDATA-PROGRAM = 'SAPMV45A'.

<br> DXBDCDATA-DYNPRO = '4001'.

<br> DXBDCDATA-DYNBEGIN = 'X'.

<br> APPEND DXBDCDATA.

<br>

<br>* Length

<br> CLEAR DXBDCDATA.

<br> DXBDCDATA-FNAM = 'VBAP-ZZLENGTH'

<br> DXBDCDATA-FVAL = DXVBAP-ZZLENGTH.

<br> REPLACE '.' WITH ',' INTO DXBDCDATA-FVAL.

<br> CONDENSE DXBDCDATA-FVAL NO-GAPS.

<br> APPEND DXBDCDATA.

<br>

<br>--> Causes error message: "Field VBAP-ZZLENGTH . does not exist in the screen SAPMV45A 4001"

<br>

<br>I have also tried using the position in FNAM, making the FNAM = 'VBAP-ZZLENGTH(1..n)' but this gives the same error:

<br>--> Causes error message: "Field VBAP-ZZLENGTH(1..n) . does not exist in the screen SAPMV45A 4001"

<br><br>

With the diagnosis:

<br>

<br>Diagnosis

<br>The specified field does not exist on the screen.

<br>

<br>Procedure

<br>Check your batch input data.

<br>

<br>

<br>I have also tried using 8460 as the DYNPRO

<br>--> Causes error message: "No batch input data for screen SAPMV45A 4001"

<br>

<br>With the diagnosis:

<br>

<br>Diagnosis

<br>The transaction sent a screen that was not expected in the batch input session and which therefore could not be supplied with data.

<br>

<br>Possible reasons:

<br>

<br>1. The batch input session was created incorrectly. The sequence of screens was recordly incorrectly.

<br>

<br>2. The transaction behaves differently in background processing in a batch work process than when running in dialog (SY-BATCH is queried and changes the screen sequence).

<br>

<br>3. The transaction has undergone user-specific Customizing and therefore certain screens may be skipped or processed differently, according to the current user. If the person who created a batch input session is not the same as the person now processing it, this problem may occur frequently.

<br>

<br>System Response

<br>None.

<br>

<br>Procedure

<br>For 1: Either re-create the session or process it in expert mode. Correct the batch input program.

<br>

<br>For 2. It is very difficult to analyze this problem, particularly in the case that the screen sequence or the display-only options of fields differ according to whether the transaction is being processed in the background or as an online dialog. It could also be that this kind of transaction cannot run with batch input.

<br>

<br>For 3: Have the creator of the session process it. If no error occurs now, then this is a program with user-specific Customizing.

<br>

<br>

<br>How can I make the batch input work for my new field in VBAP?

<br>Do I have to put the field in another screen to make this work?

<br>

<br>I have seen that some people have added new fields to screen 8309 successfully, however, this is not possible in our case.

<br>

<br>Thanks for any help!

Edited by: Berglund Teodor on Aug 31, 2009 9:12 AM

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Okay, I figured out that I need the correct BDC_OKCODE to make the program jump to the correct subscreen.

I found a similar example here:

The trick is to find the BDC_OKCODE to use for screen 8460, where can I find this information?

Former Member
0 Kudos

Hi,

use transaction SE41

regards,

Bruno