Application Development and Automation 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: 
Read only

LEAVE TO LIST PROCESSING

Former Member
0 Likes
737

Hello,

I have a requirement to display a basic list on clicking a button on a screen and then from list on clicking a button i have to go to another screen. Something similar to VERSION COMPARISON feature available in normal abap workbench....

My problem is when i click 'BACK' or 'CANCEL' or 'EXIT' on my list screen i am not going back instead i am going to next screen.

Input Screen-1 has SHOW_VERSION BUTTON . on clicking it-> display a list output that shows all versions and this list output screen shuld have a button(COMPARE) on its toolbar-> when i click on this-- i have to open another screen that shows comparison result....

So i used three screen (0001,0002 and 0003)... And in PBO of 0002, i gave below code

SET PF-STATUS 'STATUS_0002'. ---> i created COMPARE button with function_code = COMPARE

PERFORM disp_version_list.

LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN '0003'.

LEAVE SCREEN.

and in the event AT_USER_COMMAND

WHEN 'COMPARE'.

LEAVE LIST-PROCESSING.

So when i click COMPARE i go to screen-0003. But when i click BACK i use CALL SCREEN '0002'. and in screen'0002' if i click back its again going back to 0003.

Please help me out.

Regards, Linda

6 REPLIES 6
Read only

Former Member
0 Likes
676

Hi,

Check your OK_CODE in all the screens . check if the ok code is cleared while leaving to other screens.

Regards,

Srini.

Read only

0 Likes
676

Hello Srini & Nitwick,

I checked the ok_codes. Unfortunately on coming back from 0003 to 0002. and again pressing back on 0002. The PBO of 0002 itself is getting triggered again.. Its not going to PAI of 0002.... Y it is so...? is it due to list processing?

Please help.

Linda.

Edited by: Linda Thomas on Dec 16, 2010 8:46 AM

Read only

0 Likes
676

Hi,

Please debug and check your code. May be, you are calling the screen 0003 somewhere when you press BACK on screen 0002.

Read only

Former Member
0 Likes
676

Hi,

Have you actually coded the logic while pressing the BACK button?

Please check your sy-ucomm values in all the screens during navigation.

Read only

Former Member
0 Likes
676

Hi Thomas,

you can try with the following code and change according to your code.Before that you have set the PF-STATUS for the screens and declare the Function Code and Function type accordingly.

case sy-ucomm.

when 'BACK'.

clear: p_field1,p_field2. " screen fields in the 0100 screen number

leave to screen '0100'. " previous screen number

when 'EXIT'.

leave program. " Function type must be declared with ' E' in PF-STATUS

endcase. " CASE sy-ucomm.

Regards,

Suvajit.

Read only

ravi_lanjewar
Contributor
0 Likes
676

Hi,

Write the following code before the leave to leave to list processing statement.


clear ok_code.
ok_code = sy-ucomm.
clear sy-ucomm.
case ok_code.
when 'COMPARE'
     leave to list processing and return to screen '0003'.
     write 'Press back to go previous screen'.
endcase.