博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【ABAP系列】SAP ABAP OOALV 动态设置单元格可否编辑
阅读量:4672 次
发布时间:2019-06-09

本文共 1572 字,大约阅读时间需要 5 分钟。

公众号:
SAP Technical
本文作者:
matinal
原文出处:
原文链接:
 

 

前言部分

大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。

正文部分

对于OOALV有些列允许客户输入,但是当用户输入之后,或者ALV展示之前要判断是否满足一定的条件,如果满足,那么就要单独设置某一行或者几行的这个字段不可以编辑或可以编辑,效果如果所示: 

实现步骤 

1.在展示的内表或内表类型中添加字段 
CELLTAB TYPE LVC_T_STYL. 

 

例如:

​TYPES : BEGIN OF T_SC,  BUKRS   LIKE  ANLZ-BUKRS,  ANLN1   LIKE  ANLA-ANLN1,         "模具编号  ANLN2   LIKE  ANLA-ANLN2,  CELLTAB TYPE  LVC_T_STYL,END OF T_SC.​

2.在layout设置中添加代码 

XXX_LAYOUT-STYLEFNAME =’CELLTAB’.

3.实现控制编辑属性的代码

​FORM FRM_INIT_STYLE_TAB .  DATA: LT_SFLIGHT  TYPE TABLE OF SFLIGHT WITH HEADER LINE,        LT_CELLTAB  TYPE LVC_T_STYL,        LS_CELLTAB  TYPE LVC_S_STYL,        L_INDEX     TYPE I.  LOOP AT IT_TAB INTO WA_TAB.    CLEAR : WA_TAB-CELLTAB.  "不为空会报错    IF WA_TAB-CELLTAB IS INITIAL.      L_INDEX = SY-TABIX.      REFRESH LT_CELLTAB.      LS_CELLTAB-FIELDNAME = 'ZCWCZD'.      IF WA_TAB-ZCWCZI IS NOT INITIAL AND          WA_TAB-ZCXCZI IS INITIAL.        LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_DISABLED.      ELSE.        LS_CELLTAB-STYLE = CL_GUI_ALV_GRID=>MC_STYLE_ENABLED.      ENDIF.      INSERT LS_CELLTAB INTO TABLE LT_CELLTAB.      INSERT LINES OF LT_CELLTAB INTO TABLE WA_TAB-CELLTAB.      MODIFY IT_TAB FROM WA_TAB INDEX L_INDEX.    ENDIF.  ENDLOOP.ENDFORM.                    " FRM_INIT_STYLE_TAB​

4.在需要重新显示的地方调用代码 

在每一个你需要重新判断单元格是否可以编辑的地方调用,如:

​MODULE DISPLAY_FINANCIAL_DISPOSAL OUTPUT.  "设置可编辑字段  PERFORM FRM_INIT_STYLE_TAB.  "展示avl  PERFORM DISPLAY_FINANCIAL_DISPOSAL.ENDMODULE.             " DISPLAY_FINANCIAL_DISPOSAL  OUTPUT​

5.按实际情况配合修改数据事件使用

转载于:https://www.cnblogs.com/SAPmatinal/p/11184343.html

你可能感兴趣的文章
(转,记录用)jQuery页面加载初始化的3种方法
查看>>
C++常量的引用 const
查看>>
51nod 1101 换零钱 【完全背包变形/无限件可取】
查看>>
python单例设计模式(待补充)
查看>>
Binary Tree Inorder Traversal
查看>>
HDU 1394 Minimum Inversion Number (数据结构-线段树)
查看>>
ansible-playbook && Roles && include
查看>>
[Alpha阶段]第二次Scrum Meeting
查看>>
关于Java 8 forEach
查看>>
.NET设计模式(1):1.1 单例模式(Singleton Pattern)
查看>>
创建模态对话框和非模态对话框
查看>>
08-图8 How Long Does It Take
查看>>
二维数组中最大连通子数组
查看>>
java 正则表达式-忽略大小写与多行匹配
查看>>
mac 上亚马逊密钥登录
查看>>
css选择器中:first-child与:first-of-type的区别
查看>>
nopcommerce 二次开发
查看>>
NHibernate入门实例
查看>>
IBM_DS5020磁盘阵列做raid、热备并把盘阵挂在服务器上的步骤
查看>>
svg制作风车旋转
查看>>