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: 

PR05,BDC CALL TRANSACTION RETURNING SUBRC 1001.

shadab_sk
Participant
0 Kudos
307

Hi experts,

i have requirement where in my alv result screen there exists a trip number field , if i click on it should show the trip details from standard transaction PR05.

Set parameter doesnt work because in PR05 first we need to enter employee number then press enter . it will show all the trips of the employee in table control. now select the desired trip and click display, the screen which comes next is the one i want to get it from my alv.

For achieving it i have done recording and the code seems to work perfectly fine in ALL screens mode.but in NO screens mode the subrc of call transaction is returning 1001. in message sy-msgno i can see the message "no batch input for screen". i am not able to understand where i am going wrong or am i missing some thing. Please help me resolving this issue.

Also i there any more  possible alternative to this like FM ,bapi or service function which can directly show me that trip screen.

Thank you.

BR

shadab

1 ACCEPTED SOLUTION

0 Kudos
73

Hi

Try passing Mode = 'E' and Update = 'A'.

Hope this helps.

6 REPLIES 6

monami
Explorer
0 Kudos
73

Hi,

Can you please check if BAPI_TRIP_REPORT_GET_DATA  would suffice your purpose?

Thanks & regards,

Monami.

0 Kudos
74

Hi

Try passing Mode = 'E' and Update = 'A'.

Hope this helps.

0 Kudos
73

Hi,

thank for your reply. It works.

but can you please tell how it works in mode E and not in mode N, also update = A? I know it stands for asynchronous update. How does this additional clause 'Update' helps in this scenario.


0 Kudos
73

Hi Shadab,

Sy-subrc returns 1001 when you are possibly missing a screen.

Asynchronous updating - In this mode the call transaction does not wait for any updates it produces to be completed. therefore usually results in faster execution.

Regards,

Shadab.

0 Kudos
73

Hi,

     Generally BDC is used for a entire transaction but the requirement here is to stop in middle of transaction so there is not going to be a update so update mode is 'A' and actually the transaction stops where there is no input for a screen which is a error(Actually our output here). so mode is 'E' to display the error.

hope you understand.

0 Kudos
73

Thanks for the above explanation. Now it is clear to me