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: 

Error: No batch input data for screen SAPLSTRD 0300 for BDC OB52

sujeet2918
Active Contributor
0 Kudos
1,343

Hello,

I have created one program, where i am just calling transaction OB52 using batch input.

CALL TRANSACTION 'OB52' USING bdcdata 
                          MODE  input_method 
                          UPDATE 'S' 
                          MESSAGES INTO itb_msg.

When I run my program in background the it is giving me Error "No batch input data for screen SAPLSTRD 0300 ", but I am changing the MODE to 'A' in foreground then it is working perfectly without any Errors.

Can you guide me why i am getting the above error only when i am executing the program in MODE = 'N'...

Regards,

Sujeet Mishra

5 REPLIES 5

Former Member
0 Kudos
207

Hi,

There is difference running transactions in foreground and background.

So, do the recording in Trxn SHDB using the 'simulate Background'

Thanks and Regards,

Chandra

0 Kudos
207

Hello Chandra,

The same way i have done...it is related to transport request, but still could not understand..

Regards,

Sujeet

Former Member
0 Kudos
207

Hi Sujeet,

When you run in Foreground mode, you will keeping pressing 'Enter' button so it will be processed without any problem.

Please check whether you have set any Breakpoint or External / Update debugger is on. It may cause problem when you run in Background.

Also check any warning messages are populating in the screen during Foreground execution. If you see any warning message then you have add some extra recording which allows "Enter" option.

Thanks & Regards,

Ramya.

koolspy_ultimate
Active Contributor
0 Kudos
207

try to make the recording again and check if you are getting same error or just post your code.

0 Kudos
207

Hello,

Actually recording is perfect and it was working fine earlier on production server. now the error i am getting is related to transport request. like when we do the changes in transaction OB52 online is will ask you for transport request, but in my recording we are not taking care of this transport request pop-up screen, but it was working fine earlier.

the code which was working fine is written below:

LOOP AT itb_type. 

    PERFORM bdc_dynpro USING 'SAPL0F00' '0065'. 
    PERFORM bdc_field USING 'BDC_OKCODE' '=POSI'. 

* Ecran Positionner, fonct Suite 
    PERFORM bdc_dynpro USING 'SAPLSPO4' '0300'. 
    PERFORM bdc_field USING 'SVALD-VALUE(01)' p_bukrs. 
    PERFORM bdc_field USING 'SVALD-VALUE(02)' itb_type-mkoar. 
    PERFORM bdc_field USING 'SVALD-VALUE(03)' itb_type-bkont. 
    PERFORM bdc_field USING 'BDC_OKCODE' '=FURT'. 

* Ecran principal, fonction Sauvegarde 
    PERFORM bdc_dynpro USING 'SAPL0F00' '0065'. 
*   Période 1 
    IF ( p_etape1 = 'X' ). 
*     Si Jour J+1 
      PERFORM bdc_field USING 'V_T001B-FRPE1(01)' s_sppe1-low. 
      PERFORM bdc_field USING 'V_T001B-TOPE1(01)' s_sppe1-high. 
      PERFORM bdc_field USING 'V_T001B-FRYE1(01)' s_spye1-low. 
      PERFORM bdc_field USING 'V_T001B-TOYE1(01)' s_spye1-high. 
    ELSEIF ( p_etape2 = 'X' ). 
*     Si Jour J+6 
      PERFORM bdc_field USING 'V_T001B-FRPE1(01)' s_frpe1-low. 
      PERFORM bdc_field USING 'V_T001B-TOPE1(01)' s_frpe1-high. 
      PERFORM bdc_field USING 'V_T001B-FRYE1(01)' s_frye1-low. 
      PERFORM bdc_field USING 'V_T001B-TOYE1(01)' s_frye1-high. 
    ENDIF. 

*   Période 2 
    PERFORM bdc_field USING 'V_T001B-FRPE2(01)' s_frpe1-low. 
    PERFORM bdc_field USING 'V_T001B-TOPE2(01)' s_frpe1-high. 
    PERFORM bdc_field USING 'V_T001B-FRYE2(01)' s_frye1-low. 
    PERFORM bdc_field USING 'V_T001B-TOYE2(01)' s_frye1-high. 
*   Gpe d'autorisation 
    PERFORM bdc_field USING 'V_T001B-BRGRU(01)' itb_type-brgru. 
    PERFORM bdc_field USING 'BDC_OKCODE'  '=SAVE'. 

ENDLOOP. 
    PERFORM bdc_dynpro USING 'SAPL0F00' '0065'. 
    PERFORM bdc_field USING 'BDC_OKCODE' '=BACK'. 


* Appel de la transaction OB52 
  CALL TRANSACTION 'OB52' USING bdcdata 
                          MODE  input_method 
                          UPDATE 'S' 
                          MESSAGES INTO itb_msg.

Regards,

SUjeet