ABAP 长文本编辑器弹窗控件

前言

用户想在ALV上编辑长文本,但是ALV只有128个字符肯定是不够用的,所以需要用一个长文本编辑器来输入,本来想自己写的,发现有标准的函数,还挺好用的

代码

在用户双击ALV字段时,触发下述form,分别以修改/显示模式弹窗长文本编辑器

*&---------------------------------------------------------------------*
*& Form frm_click_stkt1
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*&      --> PV_SELFIELD_TABINDEX
*&---------------------------------------------------------------------*
FORM frm_click_stkt1  USING pv_index.DATA: lv_mode    TYPE c,lv_objname TYPE  thead-tdname,lt_note    TYPE TABLE OF tdline,lt_lines   TYPE TABLE OF tline.DATA: ls_header  TYPE thead.READ TABLE gt_output INTO gs_output INDEX pv_index.IF gs_output-status = TEXT-005.lv_mode = 'X'.  " 编辑状态ENDIF." 读取长文本IF gs_output-stlty = 'K'."销售BOMlv_objname =  gs_output-vbeln && '/' && gs_output-vbpos && '/' && gs_output-matnr.ELSE.lv_objname =  gs_output-matnr && '/' && gs_output-werks && '/' && gs_output-stlal.ENDIF.CLEAR gt_complaint_text[].PERFORM frm_get_long_text TABLES gt_complaint_text USING gc_text_obj 'Z001' lv_objname ." 赋值到长文本编辑器lt_note[] = VALUE #( FOR lw_text IN gt_complaint_text( lw_text-tdline ) ).CALL FUNCTION 'TXW_TEXTNOTE_EDIT'EXPORTINGedit_mode = lv_modeTABLESt_txwnote = lt_note." 需要修改长文本IF lv_mode = 'X'.ls_header = VALUE #( tdobject = gc_text_objtdname   = lv_objnametdspras  = sy-langutdid     = 'Z001' ).lt_lines = VALUE #( FOR lw_note IN lt_note( tdline   = lw_notetdformat = '*' ) ).CALL FUNCTION 'SAVE_TEXT'EXPORTINGclient          = sy-mandtheader          = ls_headersavemode_direct = 'X'TABLESlines           = lt_linesEXCEPTIONSid              = 1language        = 2name            = 3object          = 4OTHERS          = 5.READ TABLE gt_output ASSIGNING <fs_output> INDEX pv_index.<fs_output>-stkt1 = concat_lines_of( table = lt_note sep = '' ).ENDIF.ENDFORM.

挺好用的,不错不错
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/22395.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Go 语言中的切片:灵活的数据结构

切片&#xff08;slice&#xff09;是 Go 语言中一种非常重要且灵活的数据结构&#xff0c;它提供了对数组子序列的动态窗口。这使得切片在 Go 中的使用非常频繁&#xff0c;特别是在处理动态数据集时。本文将探讨切片的概念、操作和与函数的交互&#xff0c;以及如何有效地使用…

Less的简单总结

Less 是一个开源的 CSS 预处理器&#xff0c;它扩展了 CSS 语言&#xff0c;增加了变量、嵌套规则、运算符、函数等特性&#xff0c;使编写 CSS 更加高效、灵活且易于维护。下面是对 "Less" 的一个总结文档&#xff1a; 简介 名称&#xff1a;Less&#xff08;通常表…

使用Rufus工具制作Ubuntu To Go——很详细

一、准备工作 准备工具&#xff1a; 1、下载Rufus(主角)软件 2、准备一个U盘或硬盘&#xff08;小白128G足够&#xff0c;装Ubuntu系统&#xff09; 3、下载Ubuntu系统镜像文件 1、下载软件Rufus 先来看一下官网介绍&#xff1a; Rufus 是一款格式化和创建 USB 启动盘的辅助工…

“GPT-4o深度解析:技术演进、能力评估与个人体验综述“

文章目录 每日一句正能量前言对比分析模型架构性能应用场景用户体验技术创新社区和生态系统总结 技术能力语言生成能力语言理解能力技术实现总结 个人感受关于GPT-4o的假设性观点&#xff1a;关于当前语言模型的一般性观点&#xff1a; 后记 每日一句正能量 又回到了原点&#…

Objective-C中分类无法添加实例变量的底层原理

在 Objective-C 中&#xff0c;分类&#xff08;category&#xff09;无法添加实例变量&#xff0c;这是由于底层实现的限制。要理解这一点&#xff0c;需要先了解 Objective-C 的类和对象内存布局及运行时机制。 类和对象的内存布局 在 Objective-C 中&#xff0c;每个对象都…

“智能分析赋能等保:大数据技术在安全审计记录中的应用“

智能分析技术在信息安全领域&#xff0c;尤其是等保&#xff08;等级保护&#xff09;合规性方面&#xff0c;发挥了关键作用。特别是结合大数据技术&#xff0c;安全审计记录的处理和分析能力得到了显著增强。以下几点阐述了大数据技术是如何赋能等保安全审计的&#xff1a; …

【Python】 Python中的functools.wraps:装饰器的优雅包装

基本原理 在Python中&#xff0c;装饰器是一种非常强大的工具&#xff0c;它允许我们以一种非常灵活的方式修改或增强函数的行为。装饰器本质上是一个函数&#xff0c;它接收一个函数作为参数&#xff0c;并返回一个新的函数。然而&#xff0c;当我们使用装饰器时&#xff0c;…

python输出字符串的几种方式

使用 print() 函数 这是最基础和常用的输出方式。它可以直接输出字符串,也可以输出其他数据类型,如数字、列表等。 name "Alice" age 25 print(name) # Output: Alice print("My name is", name, "and Im", age, "years old.") #…

【笔记】Sturctured Streaming笔记总结(Python版)

目录 相关资料 一、概述 1.1 基本概念 1.2 两种处理模型 &#xff08;1&#xff09;微批处理 &#xff08;2&#xff09;持续处理 1.3 Structured Streaming和Spark SQL、Spark Streaming关系 二、编写Structured Streaming程序的基本步骤 三、输入源 3.1 File源 &a…

Docker 基础使用 (1) 使用流程概览

文章目录 Docker 软件安装Docker 镜像仓库Docker 仓库指令Docker 镜像指令Docker 容器指令Docker 使用实例 —— 搭建 nginx 服务nginx 概念nginx 使用用 docker 启动 nginx Docker 基础使用&#xff08;0&#xff09;基础认识 Docker 基础使用 (1) 使用流程概览 Docker 基础使…

如何自研一个低代码工具

自研一个低代码工具是一个复杂且需要多方面技能的任务。以下是一个大致的步骤和指南&#xff0c;帮助你开始这个项目&#xff1a; 明确目标和需求&#xff1a; 确定你的低代码工具要解决的主要问题或满足的主要需求。 定义目标用户群和他们的技术背景。 确定你的工具要支持的…

f-stack和DPDK

GPT-4 (OpenAI) f-stack和DPDK&#xff08;数据平面开发套件&#xff09;都是与高性能网络处理相关的技术。它们的目的是提高数据包的处理速度&#xff0c;优化网络I/O的性能。以下是对这两者的简要解释&#xff1a; 1. **DPDK (Data Plane Development Kit):** DPDK 是一个…

药物设计中的SE3等变图神经网络层- EGNN 解析

此部分内容介绍了常用在药物设计深度学习中的SE3等变网络层 EGNN。主要对EGNN的代码逻辑、模块进行解析&#xff0c;并介绍其中的SE3等变在模型中的原理。 注&#xff1a;EGNN代码有多种。此部分EGNN代码来源于DiffLinker。其源头为EDM模型&#xff0c;DiffLinker进行了修改。…

【软件安全国产化替代解决方案】亮相2024澳门万讯论坛

近日&#xff0c;2024万讯论坛在澳门成功举办。本次论坛由万讯电脑科技主办&#xff0c;旨在引进国内尖端科技厂商&#xff0c;提供全方位的信创解决方案&#xff0c;分享信创化过程中所面临的挑战及阶段性转换经验。开源网安作为拥有软件安全领域全链条产品的厂商&#xff0c;…

【网络安全的神秘世界】安装burpsuite

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 java下载地址 burpsuite安装包 安装java 双击打开java安装包——>下一步 在java文件夹下创建jdk和jre文件夹&#xff08;不一定是C盘&#xff0c;根…

Vue2快速上手

本节目标 初步了解vue vue定义开发方式体验核心包开发插值表达式响应式特征开发者工具 vue定义 vue2官网: Vue.js vue是用于构建用户界面的渐进式框架 &#x1f4a1; Tips&#xff1a; 构建用户界面 -> 数据驱动视图 &#x1f4a1; Tips&#xff1a; 渐进式 -> 学…

云原生下的数据协调艺术:etcd存储系统解析

目录 一、分布式存储简介 二、etcd介绍 三、etcd架构 四、etcd集成实践 一、分布式存储简介 随着云原生与容器化技术的兴起&#xff0c;分布式系统的复杂性大大增加。分布式系统面临一系列问题&#xff0c;比如部署复杂、响应时间慢、运维复杂等&#xff0c;其中最根本的问…

【Redis数据库】命令操作

文章目录 一、连接命令二、键命令 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f495;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01; &#x1f495;希望您在这里可以感受到一份轻松愉快的氛围&#xff01; &#x1f495;这里不仅可以获得有…

Arduino_ESP32_控制舵机运行【2024年】版

介绍 吧下面代码复制进去就可以使用了。 当然肯定不只是esp32基本上所有的Arduino都可以使用 然后接线的话信号线接到18号io口 然后其他的接电源正负极 图示 代码教程 #include <Arduino.h>// 定义舵机控制引脚 const int servoPin 18;// 定义舵机角度对应的脉宽范围 …

Linux 35.5 + JetPack v5.1.3@ros-noetic安装

Linux 35.5 JetPack v5.1.3ros-noetic安装 1. 源由2. 调研3. 安装Step 1&#xff1a;安装Linux 35.5.0Step 2&#xff1a;设置安装源Step 3&#xff1a;添加秘钥Step 4&#xff1a;Linux系统更新Step 5&#xff1a;ros-noetic安装Step 6&#xff1a;环境设置 4. 组件安装4.1 组…