ABAP-DIALOG参数

SCREEN(控制列字段)
INPUT 参数

0 变灰
1 可输

intensified参数(文本标签高亮变蓝色,编辑框高亮变红色)
0 普通
1 高亮

CXTAB_COLUMN-SCREEN(控制单元格)
INVISIBLE 参数 

1 隐藏
0 显示

INDEX 参数  
1,2,3 字段位置

REQUIRED 参数
0 空白
1 必输
2 可选

PROCESS BEFORE OUTPUT.
  MODULE MODULE_9100_INIT_DATA. 
  MODULE TC_01_CHANGE_TC_ATTR. 
  LOOP AT   GT_ITEM
       INTO GS_ITEM
       WITH CONTROL TC_01
       CURSOR TC_01-CURRENT_LINE.
    MODULE TC_01_GET_LINES.
    MODULE MODULE_9100_NO_INPUT_ITEM.          
*&SPWIZARD:   MODULE TC_01_CHANGE_FIELD_ATTR
  ENDLOOP.

MODULE MODULE_9100_NO_INPUT_ITEM OUTPUT.
  PERFORM FRM_9100_NO_INPUT_ITEM.
ENDMODULE.                 " MODULE_9100_NO_INPUT_ITEM  OUTPUT

FORM FRM_9100_NO_INPUT_ITEM .
  " 字段变灰
  LOOP AT SCREEN.
    IF SCREEN-NAME = 'GS_ITEM-BZ1'.
      SCREEN-INPUT = 0.    
    ENDIF.
    MODIFY SCREEN.
  ENDLOOP.
 
  TYPE-POOLS: CXTAB.
  DATA L_WA_COL TYPE CXTAB_COLUMN.
  LOOP AT TC_01-COLS INTO L_WA_COL.
    " 必输可选
    IF L_WA_COL-SCREEN-GROUP1 = 'A01'
      L_WA_COL-SCREEN-REQUIRED = 2. 
    ENDIF.

    " 隐藏字段
    IF L_WA_COL-SCREEN-GROUP2 = 'D02' or L_WA_COL-SCREEN-NAME+8 = 'WRBTR_PF'.
      L_WA_COL-INVISIBLE = G_C_1.
    ENDIF.
 
    " 字段顺序
    IF L_WA_COL-SCREEN-NAME+8 = 'SIDX'.
    L_WA_COL-INDEX = 1.
    ENDIF.

    MODIFY TC_01-COLS FROM L_WA_COL.
  ENDLOOP.

ENDFORM.                    " FRM_9100_NO_INPUT_ITEM

猜你喜欢

转载自blog.csdn.net/cly_apple/article/details/83582878
今日推荐