SAP OOALV 动态设置单元格可否编辑

2024-06-12 09:58

本文主要是介绍SAP OOALV 动态设置单元格可否编辑,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


对于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 ANDWA_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."展示avlPERFORM DISPLAY_FINANCIAL_DISPOSAL.
ENDMODULE.             " DISPLAY_FINANCIAL_DISPOSAL  OUTPUT

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


这篇关于SAP OOALV 动态设置单元格可否编辑的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1053889

相关文章

第10章 中断和动态时钟显示

第10章 中断和动态时钟显示 从本章开始,按照书籍的划分,第10章开始就进入保护模式(Protected Mode)部分了,感觉从这里开始难度突然就增加了。 书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。 我自己理解中断的一些作用: 为了更好的利用处理器的性能。协同快速和慢速设备一起工作

动态规划---打家劫舍

题目: 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 思路: 动态规划五部曲: 1.确定dp数组及含义 dp数组是一维数组,dp[i]代表

Android实现任意版本设置默认的锁屏壁纸和桌面壁纸(两张壁纸可不一致)

客户有些需求需要设置默认壁纸和锁屏壁纸  在默认情况下 这两个壁纸是相同的  如果需要默认的锁屏壁纸和桌面壁纸不一样 需要额外修改 Android13实现 替换默认桌面壁纸: 将图片文件替换frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.*  (注意不能是bmp格式) 替换默认锁屏壁纸: 将图片资源放入vendo

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

uniapp设置微信小程序的交互反馈

链接:uni.showToast(OBJECT) | uni-app官网 (dcloud.net.cn) 设置操作成功的弹窗: title是我们弹窗提示的文字 showToast是我们在加载的时候进入就会弹出的提示。 2.设置失败的提示窗口和标签 icon:'error'是设置我们失败的logo 设置的文字上限是7个文字,如果需要设置的提示文字过长就需要设置icon并给

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

Tomcat性能参数设置

转自:http://blog.csdn.net/chinadeng/article/details/6591542 Tomcat性能参数设置 2010 - 12 - 27 Tomcat性能参数设置 博客分类: Java Linux Tomcat 网络应用 多线程 Socket 默认参数不适合生产环境使用,因此需要修改一些参数   1、修改启动时内存参数、并指定J

LeetCode:64. 最大正方形 动态规划 时间复杂度O(nm)

64. 最大正方形 题目链接 题目描述 给定一个由 0 和 1 组成的二维矩阵,找出只包含 1 的最大正方形,并返回其面积。 示例1: 输入: 1 0 1 0 01 0 1 1 11 1 1 1 11 0 0 1 0输出: 4 示例2: 输入: 0 1 1 0 01 1 1 1 11 1 1 1 11 1 1 1 1输出: 9 解题思路 这道题的思路是使用动态规划

vue2实践:el-table实现由用户自己控制行数的动态表格

需求 项目中需要提供一个动态表单,如图: 当我点击添加时,便添加一行;点击右边的删除时,便删除这一行。 至少要有一行数据,但是没有上限。 思路 这种每一行的数据固定,但是不定行数的,很容易想到使用el-table来实现,它可以循环读取:data所绑定的数组,来生成行数据,不同的是: 1、table里面的每一个cell,需要放置一个input来支持用户编辑。 2、最后一列放置两个b

Windows下php扩展开发c++动态库

PHP扩展开发,从零了解到初步完成一个小项目,经过三天的仔细研究,现整理如下 一、需求介绍 PHP扩展开发,调用自己之前的c++动态库,完成功能 二、项目之前 系统:windows xp  开发工具:vs 2008 web环境:apache2.4  PHP5.3.29-VC9-ts-x86 aphach和PHP 环境之前已经搭建完成 PHP源码:去官网http://www.php.n