控制Table Control的单元格为不可输入项

Table Control中我们可以根据每行记录的字段条件限制相关的单元格为不可输入,例如某个字段内容为A01时,那么该字段就不允许更改,通常我们会通过在PAI里面的MODULE做不允许更改的检查,这样虽然可以实现但是缺乏直观性,用户只能在输入以后才会得到字段不能更改的提示,如果我们直接将该单元设置为不可输入项那么可以大大减少用户的操作繁琐度。
Eg
*PBO循环table control的内表
 PROCESS BEFORE OUTPUT.
 LOOP AT   lt_mara
       WITH CONTROL tc1
       CURSOR tc1-current_line
.
    MODULE tc1_get_lines
.
 ENDLOOP
.
 
*lt_mara-mtdeA01时设置该字段为不可输入
MODULE tc1_get_lines OUTPUT.
 g_tc1_lines 
= sy-loopc.
 IF lt_mara
-mtde EQ 'A01'.
    LOOP AT SCREEN.
      IF screen
-name = 'LT_MARA-MTDE'.
        screen
-input = '0'.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
 ENDIF.
ENDMODULE.                    
"TC1_get_lines OUTPUT
最终效果A01内容的单元格将无法修改 
请使用浏览器的分享功能分享到微信等