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: 

CALL SELECTION-SCREEN 1000- Not going in START-OF-SELECTION

Former Member

Hi Experts,

I am displaying an AVL report using OOPS.

It is an Interactive report where user can select an line item and call some other screen, and from there call the report screen.

I have written CALL SELECTION-SCREEN 1000 to call the selection screen(Screen no 1000) from the Report.

The selection screen gets called. But when I execute again (within the same session) the START-OF-SELECTION does not get execute, hence no data gets populated in internal tables.

I am not sure whether this is because of CALL SELECTION-SCREEN?

Please help.

Thanks in Advance.

Rohan.

14 REPLIES 14

rajesh_kumar2
Active Participant
0 Kudos

>

> I have written CALL SELECTION-SCREEN 1000 to call the selection screen(Screen no 1000) from the Report.

> The selection screen gets called. But when I execute again (within the same session) the START-OF-SELECTION does not get execute, hence no data gets populated in internal tables.

>

HI Rohan use

CALL SELECTION-SCREEN 1000 USING SELECTION-SET vari .

This will triger the selection screen events .

Regards,

Rajesh

Former Member
0 Kudos

Hi Rajesh,

Thanks for your reply.

But still, Start-of-selection is not getting executed when I execute again after CALL SELECTION-SCREEN 1000.

Do I need to set variant as per your reply?

Thanks.

0 Kudos

Set a variant to trigger your selection screen events.

0 Kudos

How can I set a Variant?

Could you pls explain in details?

Thanks.

0 Kudos

Rohan,

Refer Link:

[Set Variant|http://help.sap.com/abapdocu_70/en/ABAPCALL_SELECTION_SCREEN.htm]

To create a screen variant, use transaction SHD0. Use menu Goto -> Screen variants

The process to create a screen variant is similar to creating a Transaction variant. The difference between the two types is that a Transaction variant covers the whole transaction and therefore can have more than 1 screen, while a screen variant only can have 1 screen.

0 Kudos

Hi Manas,

I dont want to create a Screen variant for this report.

I want to display the selction screen from report. That is why I am using CALL SELECTION-SCREEN.But when I use this the START-OF-SELECTION is not executed.

I also tried using SET SCREEN 0.LEAVE SCREEN.

But this gives Blank SCREEN first and then after Pressing BACK, selection screen is displayed.

Thanks.

0 Kudos

Hi,

why do you call the selection screen 100? It's called automtically for reports of type 1. I never call selection screen 1000 myself.

Give your options via SUBMIT WITH recalling the report interactively ...

Regards,

Klaus

Edited by: Klaus Babl on Feb 14, 2011 10:27 AM

Former Member
0 Kudos

Hi Rohan,

The default selection screen has number 1000.

For calling it in to your program use

 Call selection screen 1000 USING Selection-set vari 

.

Former Member

HI Rohan,

Maybe you can use " CALL TRANSACTION SY-TCODE " to call the program again

instead of using call selection-screen '1000'.

I wish it could help you.

0 Kudos

I had the same problem Rohan did, and your solution worked for me. Thx 😄

0 Kudos

I also tested SET SCREEN '0' and it works too.

raymond_giuseppi
Active Contributor
0 Kudos

The CALL SELECTION-SCREEN 1000 does not trigger the START-OF-SELECTION event, but it will trigger the AT SELECTION-SCREEN events (PBO OUTPUT/PAI else), and then resume the next statement (with sy-subrc which indicates if user has executer/cancelled the selection).

You could try something like

* Selection-screen definition
PARAMETERS...
* PBO
AT SELECTION-SCREEN OUTPUT.
  " statements
* PAI
AT SELECTION-SCREEN?
  " statements
START-OF-SELECTION
  DO.
    " statements
    CALL SELECTION-SCREEN 1000.
    IF sy-subrc NE 0. LEAVE PROGRAM. ENDIF.
  ENDDO.

But if fear that the screen stack may trigger a dump after some loops. Do nothing and at the end of the START-OF-SELECTION section, the program will display the first SELECTION-SCREEN.

Regards,

Raymond.

Former Member
0 Kudos

Hi,

You are using call selection-screen 1000. It is not going in start-of-selection.

In oops, You will use another way

Creating ALV Grid in Report without using screen

Define an empty selection screen in your program dont use screen painter.

ex:

step 1 : selection-screen begin of screen 1001.

selection-screen end of screen 1001.

step 2 :For display, use as reference lvc_s_layo, cl_gui_alv_grid.

step 3: events at selection-screen output for use

at selection-screen output.

at start-of-selection.

step:4 call method w_alv->set_table_for_first_display ( fieldcatalopgue)

step5 : call selection-screen 1001.

I hope, it will helps to you.

Regards,

Sekhar

0 Kudos

Have you tried "leave to list-processing" ?

You can also try stop but in this cases i use leave to list-processing and all goes ok 😃