视频课程: 选择屏幕
内存: sap内存和abap内存
paramter 基本用法
测试程序源代码
*&---------------------------------------------------------------------*
*& Report ZPROGRAME_PARAMETER_TEST001
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT zprograme_parameter_test001.
TABLES: vbak .
" 单选框
PARAMETERS p_p1 TYPE char1 DEFAULT 'daju' MEMORY ID p1 AS CHECKBOX . " checkbox 长度默认为1 memoryId 将PARAMETERS 存储到sap内存当中
PARAMETERS p_p2 TYPE char1 DEFAULT 'daju' AS CHECKBOX .
PARAMETERS p_p3 TYPE char1 DEFAULT 'daju' NO-DISPLAY . " NO-display ,将parameters 设置为隐藏,不会在屏幕中输出
" as listBOx 附加项只可以与 VISBLE LENGTH 一起使用
PARAMETERS p_p4 TYPE char1 DEFAULT 'daju' AS LISTBOX VISIBLE LENGTH 10 . " listbox 下拉的盒子。
PARAMETERS p_p5 TYPE char1 DEFAULT 'daju' AS LISTBOX VISIBLE LENGTH 10 OBLIGATORY . " OBLIGATORY 必选项。
PARAMETERS p_p6 TYPE char20 MATCHCODE OBJECT user_comp.
" radiobutton 三个 组合到一起,只能选择一个为主键
PARAMETERS r_p1 TYPE char1 RADIOBUTTON GROUP g1 .
PARAMETERS r_p2 TYPE char1 RADIOBUTTON GROUP g1 .
PARAMETERS r_p3 TYPE char1 RADIOBUTTON GROUP g1 .
PARAMETERS vl_p1 TYPE string VISIBLE LENGTH 5 . " 复选框,在内可以输入参数等,可显示 5 个单位的长度
PARAMETERS mo_p1 TYPE char12 MATCHCODE OBJECT user_comp .
"
PARAMETERS p_p7 TYPE vbak-vbeln .
** ======================================================= 分割线 ================================================
" 复杂选择方式
SELECT-OPTIONS s_s1 FOR vbak-vbeln .
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001 . " 前往文本元素设置, text-001 对应的参数为 测试文本
PARAMETERS ss_p1 TYPE char1 DEFAULT 'daju' MEMORY ID p1 AS CHECKBOX .
PARAMETERS ss_p2 RADIOBUTTON GROUP g2 .
PARAMETERS ss_p3 RADIOBUTTON GROUP g2 .
SELECTION-SCREEN END OF BLOCK b1 .
SELECTION-SCREEN BEGIN OF SCREEN 1001 .
SELECT-OPTIONS so_s1 FOR vbak-vbeln DEFAULT 40 TO 50 OPTION NB SIGN I NO-EXTENSION .
SELECTION-SCREEN END OF SCREEN 1001.
CALL SELECTION-SCREEN 1001 .
SELECTION-SCREEN COMMENT /1(20) TEXT-001 .
INITIALIZATION .
" init
so_s1-sign = 'I' .
so_s1-option = 'EQ' .
so_s1-low = '555' .
APPEND s_s1.
AT SELECTION-SCREEN .
AT SELECTION-SCREEN OUTPUT .
LOOP AT SCREEN.
IF p_p1 = ''.
IF screen-group1 = 'F1'.
screen-active = 0 .
MODIFY SCREEN .
ENDIF
.ENDIF.
ENDLOOP.
* 默认值的设定
*DEFAULT l:定义单一默认值。
*DEFAULT l OPTION op SIGN s:定义含判断条件的单一默认值。
*DEFAULT l TO h:定义默认值的范围。
*DEFAULT l TO h OPTION op SIGN s:定义默认值的范围及判断条件。
* MEMORY ID pid:将SELECT-OPTIONS分配参数名并存储在SAP内存,参数名长度不能超过三位。
* NO-DISPLAY:将SELECT-OPTIONS设置为隐藏,不会在屏幕上输出。
* LOWER CASE:如果输入小写,则将在回车或者执行时候继续保持小写
* OBLIGATORY:限制该SELECT-OPTIONS为必须输入的项目,执行中系统会提示。
* NO-EXTENSION:限制该SELECT-OPTIONS只能输入一行数据,输入多行按钮(上图最右边按钮)被隐藏。
*NO INTERVALS:只能输入单值,不能输入范围
* VISIBLE LENGTH vlen:定义所显示数据的长度。
*MATCHCODE OBJECT :指定SE11搜索帮助
* SELECTION-SCREEN BEGIN OF SCREEN 1002 .
* " 用于定义一个include sureen ,可通过call 方法在report程序中引用call 屏幕窗体时加入starting at ... ending at ... 参数
* " 可以将所定义屏幕窗体作为一个新的对话框窗体来引用, 并指定创建的具体大小和位置
* SELECTION-SCREEN END OF SCREEN 1002 .
* SELECTION-SCREEN BEGIN OF BLOCK bb1 WITH FRAME TITLE TEXT-002 NO INTERVALS .
*
* SELECTION-SCREEN END OF BLOCK bb1 .
测试程序结果