ABAP

, . , . .
. , 30 :

SELECTION-SCREENBEGINOFLINE.
SELECTION-SCREENCOMMENT3(15)text-s01FORFIELDso_ct.
SELECT-OPTIONS:so_ctFORgs_subssc-typecase.
SELECTION-SCREENENDOFLINE.	

, :

TYPES:
	BEGINOFts_typecase,
	casetypeTYPEze_sd_typecase,
	textTYPEtext50,
	ENDOFts_typecase.
DATAlt_typecaseTYPESTANDARDTABLEOFts_typecase.

. , :

ATSELECTION-SCREENONVALUE-REQUESTFORso_ct-low.

SELECTtypecasetext
INTOTABLElt_typecase
FROMzs_sd_typecase
WHEREtypecaseNOTIN('02','05').	

, , , . . :

CALLFUNCTION'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield='TYPECASE'
value_org='S'
TABLES
value_tab=lt_typecase
EXCEPTIONS
PARAMETER_ERROR=1
NO_VALUES_FOUND=2
OTHERS=3 .	

. , .
:

SELECTION-SCREENBEGINOFLINE.
SELECTION-SCREENCOMMENT3(15)text-s01FORFIELDso_ct.
SELECT-OPTIONS:so_ctFORgs_subssc-typecase.
SELECTION-SCREENENDOFLINE. 

TYPES:
BEGINOFts_typecase,
casetypeTYPEzs_sd_typecase,
textTYPEtext50,
ENDOFts_typecase.
DATAlt_typecaseTYPESTANDARDTABLEOFts_typecase.

ATSELECTION-SCREENONVALUE-REQUESTFORso_ct-low.

SELECTtypecasetext
  INTOTABLElt_typecase
FROMzs_sd_typecase
WHEREtypecaseNOTIN('02','05').

CALLFUNCTION'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield='TYPECASE'
value_org='S'
TABLES
value_tab=lt_typecase
EXCEPTIONS
PARAMETER_ERROR=1
NO_VALUES_FOUND=2
OTHERS =3 .	
TABLES:
  zwa_test.

DATA:
  ls_test TYPE zwa_test.

SELECTION-SCREEN BEGIN OF BLOCK blk_1 WITH FRAME TITLE TEXT-bl1.
SELECT-OPTIONS:
  s_buk0 FOR ls_test-bukrs,
  s_buk1 FOR zwa_test-bukrs.
SELECTION-SCREEN END   OF BLOCK blk_1.

"  
SELECTION-SCREEN BEGIN OF BLOCK blk_2 WITH FRAME TITLE TEXT-bl2.
SELECT-OPTIONS:
  s_bukrs1 FOR ls_test-bukrs DEFAULT '1000' TO '1200' OPTION BT SIGN I,
  s_bukrs2 FOR ls_test-bukrs DEFAULT '1000',
  s_bukrs3 FOR ls_test-bukrs DEFAULT '1000' TO '1200' OPTION NB SIGN I.
SELECTION-SCREEN END   OF BLOCK blk_2.

"    
SELECTION-SCREEN BEGIN OF BLOCK blk_3 WITH FRAME TITLE TEXT-bl3.
SELECT-OPTIONS:
  s_werks1 FOR ls_test-werks,
  s_werks2 FOR ls_test-werks NO INTERVALS,
  s_werks3 FOR ls_test-werks NO-EXTENSION,
  s_werks4 FOR ls_test-werks OBLIGATORY.
SELECTION-SCREEN END   OF BLOCK blk_3.

"          
SELECTION-SCREEN BEGIN OF BLOCK blk_4 WITH FRAME TITLE TEXT-bl4.

SELECT-OPTIONS s_matnr1 FOR ls_test-matnr MEMORY ID mtnr1.
PARAMETERS p_matnr1 TYPE matnr MEMORY ID mtnr2.

SELECTION-SCREEN END   OF BLOCK blk_4.

"       
SELECTION-SCREEN BEGIN OF BLOCK blk_5 WITH FRAME TITLE TEXT-bl5.
SELECT-OPTIONS:
  s_werks0 FOR ls_test-werks,
  s_lgort1 FOR ls_test-lgort,
  s_lgort2 FOR ls_test-lgort_sch,
  s_lgort3 FOR ls_test-lgort MATCHCODE OBJECT h_t001l.
SELECTION-SCREEN END   OF BLOCK blk_5.

"     LOWER CASE
SELECTION-SCREEN BEGIN OF BLOCK blk_6 WITH FRAME TITLE TEXT-bl6.
PARAMETERS:
  p_name1 TYPE char30 LOWER CASE DEFAULT 'YouCoder.ru',
  p_name2 TYPE char30 DEFAULT 'YouCoder.ru',
  p_name3 TYPE text30 DEFAULT 'YouCoder.ru'.
SELECTION-SCREEN END   OF BLOCK blk_6.

"     
SELECTION-SCREEN BEGIN OF BLOCK blk_7 WITH FRAME TITLE TEXT-bl7.

SELECT-OPTIONS s_werks FOR ls_test-werks.
PARAMETERS p_werks TYPE werks_d.

SELECTION-SCREEN END   OF BLOCK blk_7.

START-OF-SELECTION.

  SELECT werks
    INTO TABLE @DATA(lt_werks)
    FROM t001w
    WHERE werks IN @s_werks
      AND werks = @p_werks.

  LOOP AT lt_werks TRANSPORTING NO FIELDS WHERE werks IN s_werks.

  ENDLOOP.

  WRITE: p_name1.
  WRITE: p_name2.
  WRITE: p_name3.