abap选择屏幕(1)

abap选择屏幕(1)

TABLES MARC."后面需要用到表的话,需要在这边先引入
PARAMETERS P_WERKS TYPE MARC-WERKS ."单选参数
*PARAMETERS p_werks type marc-werks DEFAULT '100'."设置默认值
*PARAMETERS p_werks type marc-werks NO-DISPLAY."不显示在屏幕上
*PARAMETERS p_werks type marc-werks OBLIGATORY."设置必须输入

PARAMETERS P_CHE AS CHECKBOX."设置成复选框形式

PARAMETERS P_GRO01 RADIOBUTTON GROUP G1."设置成复选框
PARAMETERS P_GRO02 RADIOBUTTON GROUP G1."设置成复选框

SELECT-OPTIONS P_MATNR FOR  MARC-MATNR.
*SELECT-OPTIONS P_MATNR FOR  MARC-MATNR DEFAULT ''."设置默认值.
*SELECT-OPTIONS P_MATNR FOR  MARC-MATNR OBLIGATORY. "设置必填.
*SELECT-OPTIONS P_MATNR FOR  MARC-MATNR no-EXTENSION."隐藏多值输入按钮
*SELECT-OPTIONS P_MATNR FOR  MARC-MATNR no INTERVALS."隐藏HIGH输入部分
*SELECT-OPTIONS P_MATNR FOR  MARC-MATNR no-DISPLAY."不显示在页面上

"设置下拉框

PARAMETERS: p_type(100) type c as LISTBOX VISIBLE LENGTH 20 OBLIGATORY.

"设置按钮是否显示:

PARAMETERS:
 P1  TYPE CHAR01 RADIOBUTTON GROUP G1 MODIF ID INT ,
 P2  TYPE CHAR01 RADIOBUTTON GROUP G1 MODIF ID INT,
 P3  TYPE CHAR01 RADIOBUTTON GROUP G1 MODIF ID DIS,
 P4  TYPE CHAR01 RADIOBUTTON GROUP G1 MODIF ID DIS.

"初始化

INITIALIZATION.
  P_WERKS = '8888'.

"AT SELECTION-SCREEN:在输入完条件值后,点执行后时去执行

AT SELECTION-SCREEN.
  IF P_MATNR IS NOT INITIAL.
    SELECT SINGLE * FROM MARC  WHERE MATNR IN P_MATNR.
    IF SY-SUBRC <> 0.
      MESSAGE '输入的物料号有误!!!' TYPE 'E'.
    ENDIF.
  ENDIF.

"AT SELECTION-SCREEN OUTPUT:程序执行前会先去执行这部分的内容
	AT SELECTION-SCREEN OUTPUT.
	  IF P_MATNR IS NOT INITIAL.
	    MESSAGE P_MATNR TYPE 'S'.
	  ENDIF.

	  "在AT SELECTION-SCREEN OUTPUT.这边进行下拉框初始值的设置
	  PERFORM frm_list.
	
	  "在AT SELECTION-SCREEN OUTPUT.这边进行设置是否可以输入
	  PERFORM frm_input.
	
	  ""在AT SELECTION-SCREEN OUTPUT.这边设置控件是否显示
	  PERFORM frm_display.


	FORM frm_list.
	  DATA: VID   TYPE VRM_ID,
	        LIST  TYPE VRM_VALUES,
	        VALUE LIKE LINE OF LIST.
	  REFRESH LIST.
	  VALUE-KEY = '01'.
	  VALUE-TEXT = '你的名字'.
	  APPEND  VALUE TO LIST.
	  VALUE-KEY = '02'.
	  VALUE-TEXT = '天气之子'.
	  APPEND  VALUE TO LIST.
	  VALUE-KEY = '03'.
	  VALUE-TEXT = '铃芽之旅'.
	  APPEND  VALUE TO LIST.

	  CALL FUNCTION 'VRM_SET_VALUES'
	    EXPORTING
	      ID     = 'p_type'
	      VALUES = LIST.
	   ENDFORM.

		FORM frm_input.
		   LOOP AT SCREEN.
		    IF SCREEN-NAME = 'P_WERKS' . "缺省值
		      SCREEN-INPUT = '0'.  "0     "禁止输入
		      MODIFY SCREEN.
		    ENDIF.
		  ENDLOOP.
		ENDFORM.

		FORM frm_display.
		 LOOP AT SCREEN.
		    CASE SCREEN-GROUP1 .
		      WHEN  'INT'.
		        SCREEN-ACTIVE = 1.
		      WHEN 'DIS'  .
		        SCREEN-ACTIVE = 0.
		      WHEN OTHERS.        .
		    ENDCASE.
		    MODIFY SCREEN.
		  ENDLOOP.
		ENDFORM.
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值