ABAP selection-screen 的定义和使用

*&---------------------------------------------------------------------*
*& Report zabap10  parameter
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zabap10.

data: result type i,
      oprt(1) type c.
selection-screen begin of block b1 with frame title TEXT-001.
parameters : pa_op1 type I obligatory default '10',
             pa_op2 type I obligatory default '10'.

selection-screen end of block b1.

selection-screen begin of block b2 with frame title text-002.
parameters:rda_add radiobutton group rd1,
           rda_sub radiobutton group rd1,
           rda_mul radiobutton group rd1,
           rda_div radiobutton group rd1.
selection-screen end of block b2.

selection-screen begin of block b3 with frame title text-003.

parameters:chk_oprn as checkbox default 'X',
           chk_oprt as checkbox default 'X'.
selection-screen end of block b3.

if rda_add = 'X'.
    result = pa_op1 + pa_op2.
    oprt = '+'.
elseif rda_sub = 'X'.
    result = pa_op1 - pa_op2.
    oprt = '-'.
elseif rda_mul = 'X'.
    result = pa_op1 * pa_op2.
    oprt = '*'.
elseif rda_div = 'X'.
    result = pa_op1 / pa_op2.
    oprt = '/'.
endif.

if chk_oprn = 'X'.
    write: 'Oprend1:' ,pa_op1,
           'Oprend2:' ,pa_op2.
endif.

if chk_oprt = 'X'.
    write: / 'Operater:' ,oprt.
endif.

write: / 'Result:', result.

 

select-option :

REPORT zabap11.

tables : sflight .
data : it_sflight type table of sflight,
       wa_sflight like line of it_sflight.

 data: strdate(10) type C.

 select-options : so_id for sflight-carrid .
 initialization .
 clear so_id[].
 clear so_id.

 so_id-sign = 'I'.
 so_id-option = 'EQ'.
 so_id-low = 'AA'.
 append so_id.

 clear so_id.
 so_id-sign = 'I'.
 so_id-option = 'BT'.
 so_id-low = 'LH'.
 so_id-high = 'UA'.
 append so_id.

  clear so_id.
 so_id-sign = 'E'.
 so_id-option = 'EQ'.
 so_id-low = 'SQ'.
 append so_id.

 


 start-of-selection .

 select * into corresponding fields of table it_sflight from sflight where carrid in so_id.

 loop at it_sflight into wa_sflight .
    write : / wa_sflight-carrid,
              wa_sflight-connid.

 endloop.

 

posted @ 2023-05-17 20:25  donkey8  阅读(41)  评论(0)    收藏  举报