‎2007 Jun 22 6:48 AM
hi,
i am using selection screnn can i use loop at screen in this ?
thanks and regards
abaper
‎2007 Jun 22 6:57 AM
Hi
pls refer this code.
*--- SELECTION OPTIONS -
SELECTION-SCREEN BEGIN OF BLOCK SO WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,"Sales order number
S_VBELND FOR LIKP-VBELN,"Delivery number
S_VBELNI FOR VBRK-VBELN,"Invoice number
S_VBELNP FOR VBKD-BSTKD."PO number
SELECTION-SCREEN END OF BLOCK SO.
*--- EVENT AT SCREEN OUTPUT -
AT SELECTION-SCREEN OUTPUT.
CASE SY-TCODE.
WHEN 'ZEDI6'.
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
WHEN 'ZEDI6D'. "Delivery select
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
WHEN 'ZEDI6I'. "Invoice select
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
WHEN 'ZEDI6P'. "PO select
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
ENDCASE.
reward all help full answers.
regards .
Jay
‎2007 Jun 22 6:52 AM
Hi king,
REPORT zextest595 .
*--- Radiobuttons
PARAMETERS: p_up RADIOBUTTON GROUP a DEFAULT 'X' USER-COMMAND rb,
p_list RADIOBUTTON GROUP a.
PARAMETERS: p_pcfile LIKE rlgrap-filename OBLIGATORY DEFAULT 'C:\'
MODIF ID ccc,
p_pctype LIKE rlgrap-filetype OBLIGATORY DEFAULT 'ASC'
MODIF ID ccc,
p_unix LIKE rlgrap-filename OBLIGATORY DEFAULT '.\'
MODIF ID ccc.
PARAMETERS: p_dir LIKE rlgrap-filename OBLIGATORY DEFAULT '.'
MODIF ID ddd,
p_fp LIKE rlgrap-filename
MODIF ID ddd.
*----
AT SELECTION-SCREEN
*----
AT SELECTION-SCREEN OUTPUT.
IF p_up = 'X' .
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'CCC'.
screen-input = 1. "Enable
screen-invisible = 0. "Disable
MODIFY SCREEN.
WHEN 'DDD'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
ENDIF.
IF p_list = 'X'.
LOOP AT SCREEN.
CASE screen-group1.
WHEN 'CCC'.
screen-input = 0.
screen-invisible = 1.
MODIFY SCREEN.
WHEN 'DDD'.
screen-input = 1.
screen-invisible = 0.
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
ENDIF.
Don't forget to reward if useful...
‎2007 Jun 22 6:57 AM
hi,
yes you can use loop at screen,
use it in event at selection-screen output. and modify any record on selection -screen according to your requirement.
AT SELECTION-SCREEN OUTPUT.
*disable the date range selection screen option
IF rb_today EQ 'X' OR
rb_cntm EQ 'X' OR
rb_cntyr EQ 'X' OR
rb_past EQ 'X' OR
rb_all EQ 'X' OR
rb_fut EQ 'X'.
LOOP AT SCREEN.
IF screen-name EQ 'S_D_RAN-LOW' .
screen-input = '0'.
MODIFY SCREEN.
EXIT.
ENDIF.
ENDLOOP.
LOOP AT SCREEN.
IF screen-name EQ 'S_D_RAN-HIGH'.
screen-input = '0'.
screen-required = '0'.
MODIFY SCREEN.
CLEAR screen.
EXIT.
ENDIF.
ENDLOOP.
regards,
ruchika
‎2007 Jun 22 6:57 AM
Hi
pls refer this code.
*--- SELECTION OPTIONS -
SELECTION-SCREEN BEGIN OF BLOCK SO WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN,"Sales order number
S_VBELND FOR LIKP-VBELN,"Delivery number
S_VBELNI FOR VBRK-VBELN,"Invoice number
S_VBELNP FOR VBKD-BSTKD."PO number
SELECTION-SCREEN END OF BLOCK SO.
*--- EVENT AT SCREEN OUTPUT -
AT SELECTION-SCREEN OUTPUT.
CASE SY-TCODE.
WHEN 'ZEDI6'.
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
WHEN 'ZEDI6D'. "Delivery select
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
WHEN 'ZEDI6I'. "Invoice select
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
WHEN 'ZEDI6P'. "PO select
LOOP AT SCREEN.
CASE SCREEN-GROUP4.
WHEN '001'. "Sales order select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '002'. "Delivery select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '003'. "Invoice select
SCREEN-ACTIVE = '0'. "1=Active, 0=Don't display
MODIFY SCREEN.
WHEN '004'. "PO Select
SCREEN-ACTIVE = '1'. "1=Active, 0=Don't display
MODIFY SCREEN.
ENDCASE.
ENDLOOP.
ENDCASE.
reward all help full answers.
regards .
Jay
‎2007 Jun 22 6:58 AM
Hi,
You can use the LOOP AT SCREEN statment .... In the event AT SELETION SCREEN OUTPUT we use this LOOP AT SCREEN and ENDLOOP statments
PARAMETERS: TEST1(10) MODIF ID SC1,
TEST2(10) MODIF ID SC2,
TEST3(10) MODIF ID SC1,
TEST4(10) MODIF ID SC2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'SC1'.
SCREEN-INTENSIFIED = '1'.
MODIFY SCREEN.
CONTINUE.
ENDIF.
IF SCREEN-GROUP1 = 'SC2'.
SCREEN-INTENSIFIED = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.Regards
Sudheer
‎2007 Jun 22 6:58 AM
hi,
yes u can use.loop at screen is used to make selection screen fields visible/invisible etc.
ex:
report zsr_screen.
PARAMETERS P_CREA AS CHECKBOX USER-COMMAND CRE.
PARAMETERS P_FILE(80) MODIF ID AAA.
AT SELECTION-SCREEN OUTPUT.
CHECK P_CREA = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'AAA'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
‎2007 Jun 22 7:08 AM
Hello,
<i><b>Yes, you can use LOOP AT SCREEN...ENDLOOP in the SELECTION SCREEN.</b></i>
I guess you are looking for some modification on the screen interms of either hiding elements or enabling input etc. on the screen depending on some conditions. All these are modification to the SCREEN and happen at the event <i><b>AT SELECTION-SCREEN OUTPUT.</b></i>
Following is one sample code showing how to do this. Here depending on the MODIFICATION Group IDs, fields are made input enabled and disabled.
PARAMETERS: CUSTNAME(10) MODIF ID ID1,
CUSTADDR(10) MODIF ID ID1,
VENDNAME(10) MODIF ID ID2,
VENDADDR(10) MODIF ID ID2.
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'ID1'.
SCREEN-INPUT = '1'.
MODIFY SCREEN.
CONTINUE.
ENDIF.
IF SCREEN-GROUP1 = 'ID2'.
SCREEN-INPUT = '0'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.Hope this helps.
PS If the answer solves your query, plz close the thread by rewarding each reply and marking the thread Solved.
Regards