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

Selection-Screen

Former Member
0 Likes
913

Dear All,

i have a program like this.

TABLES : SCARR.

SELECTION-SCREEN BEGIN OF BLOCK BOC1 WITH FRAME.

PARAMETERS CARRIER LIKE SCARR-CARRID.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN PUSHBUTTON 5(10) PUSH1 USER-COMMAND BUT1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOC1.

INITIALIZATION.

PUSH1 = 'SHOW'.

AT SELECTION-SCREEN.

CASE SSCRFIELDS-UCOMM.

WHEN 'BUT1'.

SELECT *

FROM SCARR

INTO TABLE ITAB_SCARR

WHERE CARRID = CARRIER.

LOOP AT ITAB_SCARR.

WRITE : / ITAB_SCARR-CARRID,ITAB_SCARR-CARRNAME.

ENDLOOP.

ENDCASE.

now it is executed and a selection screen is displayed with 1 input field

and a pushbutton on the selection screen.

when i enter the value in the input field and click on pushbutton

records from scarr table should be displayed based on the value entered

but it is not displaying the records.

pls solve the problem?

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
890

Hi Sandeep

TABLES : SCARR.

SELECTION-SCREEN BEGIN OF BLOCK BOC1 WITH FRAME.

PARAMETERS CARRIER LIKE SCARR-CARRID.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN PUSHBUTTON 5(10) PUSH1 USER-COMMAND BUT1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOC1.

INITIALIZATION.

PUSH1 = 'SHOW'.

AT SELECTION-SCREEN.

CASE SSCRFIELDS-UCOMM.

WHEN 'BUT1'.

SELECT *

FROM SCARR

INTO TABLE ITAB_SCARR

WHERE CARRID = CARRIER.

ENDCASE.

end-of-selection. <----


LOOP AT ITAB_SCARR.

WRITE : / ITAB_SCARR-CARRID,ITAB_SCARR-CARRNAME.

ENDLOOP.

reward points to all helpful answers

kiran.M

12 REPLIES 12
Read only

Former Member
0 Likes
890

Hi

You havent declared your internal table anywhere!

Regards

Preeti

Read only

Former Member
0 Likes
890

Change your code as below:

TABLES : SCARR.

SELECTION-SCREEN BEGIN OF BLOCK BOC1 WITH FRAME.

PARAMETERS CARRIER LIKE SCARR-CARRID.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN PUSHBUTTON 5(10) PUSH1 USER-COMMAND BUT1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOC1.

INITIALIZATION.

PUSH1 = 'SHOW'.

AT SELECTION-SCREEN.

<b>CASE SY-UCOMM.</b>

WHEN 'BUT1'.

SELECT *

FROM SCARR

INTO TABLE ITAB_SCARR

WHERE CARRID = CARRIER.

LOOP AT ITAB_SCARR.

WRITE : / ITAB_SCARR-CARRID,ITAB_SCARR-CARRNAME.

ENDLOOP.

ENDCASE.

Please mark points if the solution was useful.

Regards,

Manoj

Read only

Former Member
0 Likes
890

hi,

In the case statement give

CASE SY-UCOMM.

WHEN 'BUT1'.

SELECT *

FROM SCARR

INTO TABLE ITAB_SCARR

WHERE CARRID = CARRIER.

Message was edited by:

Roja Velagapudi

Read only

Former Member
0 Likes
890

Hi,

TABLES : SCARR.

SELECTION-SCREEN BEGIN OF BLOCK BOC1 WITH FRAME.

PARAMETERS CARRIER LIKE SCARR-CARRID.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN PUSHBUTTON 5(10) PUSH1 USER-COMMAND BUT1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOC1.

INITIALIZATION.

PUSH1 = 'SHOW'.

AT SELECTION-SCREEN.

CASE SSCRFIELDS-UCOMM.

WHEN 'BUT1'.

SELECT *

FROM SCARR

INTO TABLE ITAB_SCARR

WHERE CARRID = CARRIER.

<b>ENDCASE.

START-OF-SELECTION.

SELECT *

FROM SCARR

INTO TABLE ITAB_SCARR

WHERE CARRID = CARRIER.</b>

LOOP AT ITAB_SCARR.

WRITE : / ITAB_SCARR-CARRID,ITAB_SCARR-CARRNAME.

ENDLOOP.

Read only

Former Member
0 Likes
890

Hi Sandeep

TABLES : SCARR.

SELECTION-SCREEN BEGIN OF BLOCK BOC1 WITH FRAME.

PARAMETERS CARRIER LIKE SCARR-CARRID.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN PUSHBUTTON 5(10) PUSH1 USER-COMMAND BUT1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOC1.

INITIALIZATION.

PUSH1 = 'SHOW'.

AT SELECTION-SCREEN.

CASE SSCRFIELDS-UCOMM.

WHEN 'BUT1'.

SELECT *

FROM SCARR

INTO TABLE ITAB_SCARR

WHERE CARRID = CARRIER.

ENDCASE.

end-of-selection. <----


LOOP AT ITAB_SCARR.

WRITE : / ITAB_SCARR-CARRID,ITAB_SCARR-CARRNAME.

ENDLOOP.

reward points to all helpful answers

kiran.M

Read only

Former Member
0 Likes
891

Hi Sandeep

TABLES : SCARR.

SELECTION-SCREEN BEGIN OF BLOCK BOC1 WITH FRAME.

PARAMETERS CARRIER LIKE SCARR-CARRID.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN PUSHBUTTON 5(10) PUSH1 USER-COMMAND BUT1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOC1.

INITIALIZATION.

PUSH1 = 'SHOW'.

AT SELECTION-SCREEN.

CASE SSCRFIELDS-UCOMM.

WHEN 'BUT1'.

SELECT *

FROM SCARR

INTO TABLE ITAB_SCARR

WHERE CARRID = CARRIER.

ENDCASE.

end-of-selection. <----


LOOP AT ITAB_SCARR.

WRITE : / ITAB_SCARR-CARRID,ITAB_SCARR-CARRNAME.

ENDLOOP.

reward points to all helpful answers

kiran.M

Read only

Former Member
0 Likes
890

HI,

here u r writing WRITE statement in AT SELECTION-SCREEN.thats why it is not giviing any output.

change ur program like this.

TABLES : <b>SSCRfields</b>,scarr.

data:ITAB_SCARR type scarr occurs 0 WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK BOC1 WITH FRAME.

PARAMETERS CARRIER LIKE SCARR-CARRID.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN PUSHBUTTON 5(10) PUSH1 USER-COMMAND BUT1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOC1.

INITIALIZATION.

PUSH1 = 'SHOW'.

AT SELECTION-SCREEN.

CASE SSCRFIELDS-UCOMM.

WHEN 'BUT1'.

SELECT * FROM SCARR INTO TABLE ITAB_SCARR WHERE CARRID = CARRIER.

<b>LEAVE to LIST-PROCESSING.</b>

LOOP AT ITAB_SCARR.

WRITE : / ITAB_SCARR-CARRID,ITAB_SCARR-CARRNAME.

ENDLOOP.

ENDCASE.

rgds,

bharat.

Read only

0 Likes
890

now the output is displayed but after display when i click on Back button it

does not returns to the program/selection-screen.

Read only

0 Likes
890

Hi,

before the loop...endloop write set pf-status 'MENU'.create a menu and write AT USER-COMMAND.under that write code to go back.

rgds,

bharat.

Read only

Former Member
0 Likes
890

Hi Sandeep,

If you want to execute your code by pressing on the "SHOW" button,

instead of the execute program, make the changes to your program

as shown below:



TABLES : SCARR.

SELECTION-SCREEN BEGIN OF BLOCK BOC1 WITH FRAME.
PARAMETERS CARRIER LIKE SCARR-CARRID.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 5(10) PUSH1 USER-COMMAND ONLI."BUT1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK BOC1.
data: ITAB_SCARR type standard table of scarr with header line.
INITIALIZATION.
PUSH1 = 'SHOW'.

AT SELECTION-SCREEN.
CASE sy-ucomm."SSCRFIELDS-UCOMM.
WHEN 'ONLI'.
SELECT *
FROM SCARR
INTO TABLE ITAB_SCARR
WHERE CARRID = CARRIER.
ENDCASE.

start-of-selection. " you have to have this event for your program to get an ouput.
LOOP AT ITAB_SCARR.
WRITE : / ITAB_SCARR-CARRID,ITAB_SCARR-CARRNAME.
ENDLOOP.

I am sure this will solve your problem... happy programming

Regards,

SJ

Read only

former_member480923
Active Contributor
0 Likes
890

This will work ~ tested in ECC 6.0

REPORT  ztest_prg1.

TABLES : vbak, sscrfields.


DATA: itab_scarr TYPE STANDARD TABLE OF vbak WITH HEADER LINE.

SELECTION-SCREEN BEGIN OF BLOCK boc1 WITH FRAME.
PARAMETERS p_vbeln TYPE vbeln DEFAULT '0000000060'.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN PUSHBUTTON 5(10) push1 USER-COMMAND but1.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK boc1.

INITIALIZATION.
  push1 = 'SHOW'.

AT SELECTION-SCREEN.
  CASE sscrfields-ucomm.
    WHEN 'BUT1'.
      SELECT *
      FROM vbak
      INTO TABLE itab_scarr
      WHERE vbeln = p_vbeln.

      LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN 0.

      SET PF-STATUS space.

      LOOP AT itab_scarr.
        WRITE : / itab_scarr-vbeln,itab_scarr-vkorg.
      ENDLOOP.
  ENDCASE.

Hope that helps

Anirban M.

Read only

Former Member
0 Likes
890

hI,

i rewrite your code check it.

REPORT ZZABCTEST4.

TABLES: MARA.

*SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

  • SELECT-OPTIONS: S_MAT FOR MARA-MATNR.

*SELECTION-SCREEN: END OF BLOCK B1.

DATA: BEGIN OF ITAB_MARA OCCURS 0.

INCLUDE STRUCTURE MARA.

DATA: END OF ITAB_MARA.

SELECTION-SCREEN BEGIN OF BLOCK BOC1 WITH FRAME.

PARAMETERS P_MATNR LIKE MARA-MATNR.

SELECTION-SCREEN SKIP.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN PUSHBUTTON 5(10) PUSH1 USER-COMMAND BUT1.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BOC1.

INITIALIZATION.

PUSH1 = 'SHOW'.

AT SELECTION-SCREEN.

CASE SY-UCOMM.

WHEN 'BUT1'.

SELECT *

FROM MARA

INTO TABLE ITAB_MARA

WHERE MATNR = P_MATNR.

ENDCASE.

START-OF-SELECTION.

BREAK AAB_ABAP3.

LOOP AT ITAB_MARA.

WRITE : / ITAB_MARA-MATNR,ITAB_MARA-MTART.

ENDLOOP.

Rewards by points if it useful.