‎2007 Aug 10 1:20 PM
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?
‎2007 Aug 10 1:26 PM
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
‎2007 Aug 10 1:23 PM
Hi
You havent declared your internal table anywhere!
Regards
Preeti
‎2007 Aug 10 1:23 PM
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
‎2007 Aug 10 1:23 PM
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
‎2007 Aug 10 1:24 PM
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.
‎2007 Aug 10 1:25 PM
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
‎2007 Aug 10 1:26 PM
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
‎2007 Aug 10 1:31 PM
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.
‎2007 Aug 10 1:57 PM
now the output is displayed but after display when i click on Back button it
does not returns to the program/selection-screen.
‎2007 Aug 10 2:00 PM
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.
‎2007 Aug 10 1:39 PM
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
‎2007 Aug 10 1:48 PM
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.
‎2007 Aug 10 2:09 PM
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.