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

相关文章

MyBatis编写嵌套子查询的动态SQL实践详解

《MyBatis编写嵌套子查询的动态SQL实践详解》在Java生态中,MyBatis作为一款优秀的ORM框架,广泛应用于数据库操作,本文将深入探讨如何在MyBatis中编写嵌套子查询的动态SQL,并结... 目录一、Myhttp://www.chinasem.cnBATis动态SQL的核心优势1. 灵活性与可

VSCode设置python SDK路径的实现步骤

《VSCode设置pythonSDK路径的实现步骤》本文主要介绍了VSCode设置pythonSDK路径的实现步骤,包括命令面板切换、settings.json配置、环境变量及虚拟环境处理,具有一定... 目录一、通过命令面板快速切换(推荐方法)二、通过 settings.json 配置(项目级/全局)三、

Mybatis嵌套子查询动态SQL编写实践

《Mybatis嵌套子查询动态SQL编写实践》:本文主要介绍Mybatis嵌套子查询动态SQL编写方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录前言一、实体类1、主类2、子类二、Mapper三、XML四、详解总结前言MyBATis的xml文件编写动态SQL

如何Python使用设置word的页边距

《如何Python使用设置word的页边距》在编写或处理Word文档的过程中,页边距是一个不可忽视的排版要素,本文将介绍如何使用Python设置Word文档中各个节的页边距,需要的可以参考下... 目录操作步骤代码示例页边距单位说明应用场景与高级用China编程途小结在编写或处理Word文档的过程中,页边距是一个

SpringBoot实现Kafka动态反序列化的完整代码

《SpringBoot实现Kafka动态反序列化的完整代码》在分布式系统中,Kafka作为高吞吐量的消息队列,常常需要处理来自不同主题(Topic)的异构数据,不同的业务场景可能要求对同一消费者组内的... 目录引言一、问题背景1.1 动态反序列化的需求1.2 常见问题二、动态反序列化的核心方案2.1 ht

golang实现动态路由的项目实践

《golang实现动态路由的项目实践》本文主要介绍了golang实现动态路由项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习... 目录一、动态路由1.结构体(数据库的定义)2.预加载preload3.添加关联的方法一、动态路由1

Python实现获取带合并单元格的表格数据

《Python实现获取带合并单元格的表格数据》由于在日常运维中经常出现一些合并单元格的表格,如果要获取数据比较麻烦,所以本文我们就来聊聊如何使用Python实现获取带合并单元格的表格数据吧... 由于在日常运维中经常出现一些合并单元格的表格,如果要获取数据比较麻烦,现将将封装成类,并通过调用list_exc

Python Selenium动态渲染页面和抓取的使用指南

《PythonSelenium动态渲染页面和抓取的使用指南》在Web数据采集领域,动态渲染页面已成为现代网站的主流形式,本文将从技术原理,环境配置,核心功能系统讲解Selenium在Python动态... 目录一、Selenium技术架构解析二、环境搭建与基础配置1. 组件安装2. 驱动配置3. 基础操作模

通过C#获取Excel单元格的数据类型的方法详解

《通过C#获取Excel单元格的数据类型的方法详解》在处理Excel文件时,了解单元格的数据类型有助于我们正确地解析和处理数据,本文将详细介绍如何使用FreeSpire.XLS来获取Excel单元格的... 目录引言环境配置6种常见数据类型C# 读取单元格数据类型引言在处理 Excel 文件时,了解单元格

Python+Tkinter实现Windows Hosts文件编辑管理工具

《Python+Tkinter实现WindowsHosts文件编辑管理工具》在日常开发和网络调试或科学上网场景中,Hosts文件修改是每个开发者都绕不开的必修课,本文将完整解析一个基于Python... 目录一、前言:为什么我们需要专业的Hosts管理工具二、工具核心功能全景图2.1 基础功能模块2.2 进