选择屏幕部分语法
*&---------------------------------------------------------------------*
*& Report ZSF_SCZSJ_05
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZSF_SCZSJ_05.
TABLES: VBAP.
*SAP内存
DATA: LV_DATA1 TYPE CHAR6 VALUE 'FLOWER'.
SET PARAMETER ID 'P1' FIELD LV_DATA1.
* SET PARAMETER ID '自定义id' FIELD +需要命名的元素
*ABAP内存
DATA : LV_DATA3 TYPE CHAR5 VALUE 'STORY'.
EXPORT LV_DATA3 TO MEMORY ID 'P2'.
SUBMIT ZSF_SCZSJ_06.
PARAMETER P_P1(5) TYPE C DEFAULT 'FLORA' MEMORY ID P3 OBLIGATORY .
"MEMORY ID pid:分配参数名并存储在SAP内存,参数名长度不能超过三位
"DEFAULT+'赋予默认值' 附加默认值
"OBLIGATORY 设置为必输项
PARAMETER P_P2 TYPE CHAR6 LOWER CASE.
"LOWER CASE 如果输入小写,则将在回车或者执行时候继续保持小写
PARAMETER P_P3 TYPE C NO-DISPLAY.
"NO-DISPLAY 将PARAMETERS设置为隐藏,不会再屏幕上输出
PARAMETER P_P4 TYPE CHAR1 AS CHECKBOX.
"AS CHECKBOX 创建CHECKBOX对象
PARAMETER P_P5 TYPE CHAR10 DEFAULT '1234567890' VISIBLE LENGTH 5. "字符串长度为10,当显示长度为5时,后面的长度将变为...
"VISIBLE LENGTH vlen 定义显示长度
PARAMETER P_P6 RADIOBUTTON GROUP G1.
PARAMETER P_P7 RADIOBUTTON GROUP G1.
"RADIOBUTTON GROUP 单选,至少两个一组
PARAMETER P_P8 TYPE CHAR1 AS CHECKBOX USER-COMMAND FLAG.
"USER-COMMAND ucom :功能码,只能分配给CHECKBOX或者LISTBOX或者RADIOBUTTON,当选择
*以上控件的是时候,程序调用AT SELECTION-SCREEN事件,通过功能码控制屏幕其他元素的属性
SELECTION-SCREEN BEGIN OF BLOCK B1K1 WITH FRAME TITLE TEXT-T01.
PARAMETER P_P9 TYPE CHAR5 AS LISTBOX VISIBLE LENGTH 10.
"创建一个下拉框,并指定长度
SELECT-OPTIONS S_MATNR FOR VBAP-MATNR DEFAULT 'MZ-FG-C990'.
* DEFAULT:定义单一默认值
SELECT-OPTIONS S_VBELN FOR VBAP-VBELN DEFAULT 44 OPTION LE SIGN I.
* DEFAULT I OPTION OP SIGN s 定义含判断条件的单一默认值
SELECT-OPTIONS S_VBELN2 FOR VBAP-VBELN DEFAULT 44 TO 55.
* DEFAULT LOW TO HIGH 定义默认值的范围
SELECT-OPTIONS S_VBELN3 FOR VBAP-VBELN DEFAULT 44 TO 55 OPTION NB SIGN I.
* DEFAULT LOW TO HIGH OPTION OP SIGN S.定义默认值的范围及判断条件
SELECT-OPTIONS S_VBELN4 FOR VBAP-VBELN NO INTERVALS.
* NO INTERVALS只能输入单值,不能输入范围
* 名称 参考值 描述
* SIGN I或者E I:包括,E:排除
* EQ(等于),NE(不等于)
* NP(排除参考格式)
* OPTIO EQ,NE,CP,NP, LT(小于),LE(小于或者等于)
* N GE,LT,LE,GT CP(包含),NP(不包含)
* GT(大于),GE(大于或者等于)
* BT(范围),NB(排除范围)
* LOW 维护项目-前
* HIGH 维护项目-后
SELECTION-SCREEN END OF BLOCK B1K1.
SELECTION-SCREEN COMMENT /1(20) TEXT-T02 MODIF ID F1.
*文本信息 ‘/’判断位置 1(20)意为从第一个字符到第20个字符的大小
SELECTION-SCREEN SKIP.
*换行
PARAMETER P_P10 TYPE CHAR12 MATCHCODE OBJECT USER_COMP MODIF ID F1.
* MATCHCODE OBJECT:指定SE11搜索帮助
INITIALIZATION.
*----------------初始化----------------*
S_VBELN3-SIGN = 'I'.
S_VBELN3-OPTION = 'EQ'.
S_VBELN3-LOW = '555'.
APPEND S_VBELN3.
AT SELECTION-SCREEN OUTPUT .
LOOP AT SCREEN.
IF P_P8 = ''.
IF SCREEN-GROUP1 = 'F1'.
SCREEN-ACTIVE = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_VBELN2-LOW.
PERFORM FRM_SEARCH_HELP_FORS_VBELN2.
*&---------------------------------------------------------------------*
*& Form FRM_SEARCH_HELP_FORS_VBELN2
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM FRM_SEARCH_HELP_FORS_VBELN2 .
TYPES : BEGIN OF ty_vbap,
VBELN TYPE VBAP-VBELN,
MATNR TYPE VBAP-MATNR,
END OF ty_vbap.
DATA: LV_VBAP TYPE TABLE OF TY_VBAP,
LW_VBAP TYPE TY_VBAP.
DATA: WA_RETURN TYPE DDSHRETVAL,
LV_RETURN TYPE TABLE OF DDSHRETVAL.
SELECT * FROM VBAK INTO CORRESPONDING FIELDS OF TABLE LV_VBAP UP TO 20 ROWS.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
RETFIELD = 'VBELN'
* PVALKEY = ' '
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
* DYNPROFIELD = ' '
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
VALUE_ORG = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* CALLBACK_METHOD =
* MARK_TAB =
* IMPORTING
* USER_RESET =
TABLES
VALUE_TAB = LV_VBAP
* FIELD_TAB =
RETURN_TAB = LV_RETURN
* DYNPFLD_MAPPING =
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
ENDFORM.
SELECT-OPTIONS - screen_options
Syntax
... [OBLIGATORY|NO-DISPLAY] 必输|不显示用于SUBMIT
[VISIBLE LENGTH vlen] 指定显示长度
[NO-EXTENSION] 不显示多值选择按钮
[NO INTERVALS] 不显示字段的HIGH条件
[MODIF ID modid] ... . 用于修改屏幕(系统表SCREEN)
post SAP-Garson
原文链接:https://blog.csdn.net/weixin_44715527/article/details/124948931文章来自于网络,如果侵犯了您的权益,请联系站长删除!