abap相关内容

当前用户可以查看的BUKRS列表

有没有办法获取当前用户可以看到的所有BUKRS的列表? 我想在open sql中使用这个列表作为过滤器.想象一下我搜索的方法的结果将结果存储在 bk_list 中.然后我可以像这样使用 bk_list : SELECT * FROM some_table WHERE bukrs IN bk_list 解决方案 另一种方法,基于 CL_AUTH_OBJECTS_TO_SQL 类(官方支持 ..
发布时间:2021-11-26 15:44:26 其他开发

ALV Grid 不刷新

我的模块池程序中有两个屏幕(屏幕 A 和屏幕 B).屏幕A显示ALV网格,工具栏上有1个按钮,屏幕B也显示ALV网格和工具栏上的1个按钮. 当我按下“显示订单"按钮时在屏幕 A 上,我被定向到屏幕 B.然后我在屏幕 B 上进行一些编辑操作,单击工具栏上的“保存"按钮,然后单击“返回"按钮. 当我按下“显示订单"按钮时在不同行的屏幕 A 上,我再次被定向到屏幕 B,但 ALV 网格仍然显 ..
发布时间:2021-11-26 15:44:15 其他开发

OpenSQL 中 GROUP BY 子句中的通配符?

我有一个类似于下面的选择: SELECT DISTINCT疤痕〜CARRID,疤痕〜CARRNAME,MIN(SPFLI~DISTANCE) 作为 MIN_DISTANCE从 SCARR 在 SPFLI~CARRid 上加入 SPFLI = SCARR~CARRid通过...分组疤痕〜CARRID,疤痕~CARRNAME进入表@DATA(结果). 在实际情况下,这些是其他表,我在 SELECT ..
发布时间:2021-11-26 15:43:57 其他开发

将 JSON 反序列化为表

我需要根据通过 API 接收的数据填充 ABAP 中的表. 我正在使用以下 ABAP 函数从 json 填充现有的 ABAP 表. JSON 正确,Table 包含表内对应的表. /ui2/cl_json=>反序列化(导出 json = lv_json更改数据 = lt_abap ). 运行它会返回一个空白的 lt_abap 表. 将输出更改为结构时,这可以正常工作.但问题是 ..
发布时间:2021-11-26 15:43:46 其他开发

找出所有程序 dynpro 屏幕?

我是 ABAP 的新手,我想制作一个具有多个屏幕和一个初始主屏幕的程序,可以在其中看到所有程序屏幕的列表.我知道我可以对它们进行硬编码,但应该有更好的方法. 如果有任何类型的字段/区域,我需要使此列表可点击(转到屏幕).到目前为止,我已经制作了一个初始屏幕,当按下 GO 按钮时,它会进入下一个屏幕 报告 Z_UZD_1_LOCAL.呼叫屏幕 1001.模块状态_1000 输出.* 设置 P ..
发布时间:2021-11-26 15:43:38 其他开发

在哪里使用的标准程序列表

我正在搜索 SAP 表的使用.我想知道表S083在SAP标准程序中的使用位置. 我已经搜索过 Where-used 列表.但是我只得到了自创程序,而不是SAP标准程序. 有人知道如何在 SAP 标准程序中搜索表使用吗? 解决方案 为了能够使用 SAP 标准编码的 where-used 功能,系统管理员必须运行程序 SAPRSEUB以便为程序生成索引.此程序是一个长时间运行的程序 ..
发布时间:2021-11-26 15:43:28 其他开发

在包中的所有程序中搜索 MODIFY 语句

我想搜索所有程序 - 在一个包内 - 使用该语句: 从 wa_itab_xyz 修改 itab_xyz 最好使用 itab* 等通配符搜索字符串对于一系列 itab_(values),如 itab_abc、itab_def、itab_ghi等等. 如何在 SAP ABAP 中执行此操作? 下面是一个包中所有程序的截图,可以从中搜索. 解决方案 一种可能是使用程序 R ..
发布时间:2021-11-26 15:43:18 其他开发

过渡到 OO ABAP?

似乎我们的大多数 SAP 程序员都在使用旧版本的 ABAP,即面向对象之前的那个版本.我还注意到,面向对象的语言更简洁、更现代(他们显然借此机会摆脱了不推荐使用的东西). 由于该系统还没有推出,现在进行任何重新设计的时间都不是很晚. 是否值得要求将新代码编写为 OO ABAP 程序?怎么卖给管理层?与非 OO 程序的接口是否运行良好? (更新以说明我是在专门讨论新代码,特别是为明 ..
发布时间:2021-11-26 15:43:06 其他开发

如何将内部表格行转换为列?

我想将我的内部表行转换为列,我想修复第一列,我正在尝试使用以下代码进行操作,但没有得到预期的结果......它没有转换所有的行成列 *类型声明类型: ty_t001w 的开始,ekorg 类型 t001w-ekorg,werks TYPE t001w-werks,name1 TYPE t001w-name1,ty_t001w 结束.**字段符号声明字段符号:任何类型,键入任何 ..
发布时间:2021-11-26 15:42:55 其他开发

如何将结构动态转换为内表

我正在尝试创建一种方法,该方法将导入一个结构,假设所有结构元素都是扁平的并且具有相同的数据类型.然后我想将它动态转换为具有该类型的表并返回它.我应该从哪里开始?我一直试图让它工作几个小时,但一无所获. 解决方案 您可以使用 create_dynamic_table 表单,使用 cl_alv_table_create 像这样: * 创建动态内表并赋值给FS调用方法 cl_alv_table ..
发布时间:2021-11-26 15:42:45 其他开发

如何找到调用此方法的 ABAP 程序/FM?

我是 SAP SD 模块专家,经常需要调试代码.有时我需要知道哪些节目/FM 地址特定表.我在 SE11 中将 Where used 用于表,它会找到解决这个表的类方法.但是当我使用 Where used 作为类方法时,系统没有找到任何东西. 你知道如何找到调用这个方法的程序或FM吗? 解决方案 不保证客户系统上的 SAP 对象的 Where-Used-Index (WUI) 是完整 ..
发布时间:2021-11-26 15:42:38 其他开发

不循环计算总计和小计?

我开始学习新的 abap.但我有问题.我想在不使用“LOOP"和“AT"语句的情况下输出如下结果. 我有像这样的内部表: 类别金额AAA 10AAA 20BBB 30CCC 40CCC 50CCC 60 我需要将输出显示为: 类别金额AAA 10AAA 20小计 30BBB 30小计 30CCC 40CCC 50CCC 60小计 150共计 210 有人可以帮忙吗? 解决方案 ..
发布时间:2021-11-26 15:42:27 其他开发

JCo RFC_READ_TABLE 数据缓冲区超出

我正在尝试通过函数 RFC_READ_TABLE 从表 VBRK 中获取数据,但总是收到数据缓冲区超出异常. final JCoConnection managedConnection2 = sapCoreJCoManagedConnectionFactory.getManagedConnection("JCoStateless",getClass().getName(), rfcDestina ..
发布时间:2021-11-26 15:42:16 Java开发

在 ABAP 中使用自定义消息引发异常

我正在编写一个通过 RFC 调用的函数,我想找到在 ABAP 中使用自定义消息引发异常的最简单方法.如果可以在一行中尽可能短地完成此操作,那就太好了. 我想要这个用于调试,而不是用于运行生产代码. 背景: 过去我使用 Python 编程语言.我喜欢在没有调试器的情况下进行调试.我在代码中加入了一些 assert 0, myvar 行并执行代码.对我来说,这感觉比传统调试器更快,而 ..
发布时间:2021-11-26 15:42:02 其他开发

以编程方式获取表字段描述

我正在尝试通过 ERPConnect 的 ABAP API 查询 SAP 的数据字典.下面的代码可以很好地检索表名和各种字段属性,但无法显示字段描述.有谁知道为什么? 谢谢 报告 ZSELECTCOMMAND.表:DD02L,DD03L,DD02T、DD04T.数据:开始 tb_meta,tabname TYPE DD02L-tabname,字段名称 类型 DD03L-字段名称,数据类型 ..
发布时间:2021-11-26 15:41:49 其他开发

ABAP 中文件的 MD5 哈希值

我想在 ABAP 中生成一个文本文件的 MD5 哈希值.我还没有找到任何标准解决方案来为一个非常大的文件生成它.函数模块CALCULATE_HASH_FOR_CHAR 不符合我的要求,因为它需要一个字符串作为输入参数.虽然它适用于较小的文件,但对于例如 4 GB 的文件,无法构造这么大的字符串. 有谁知道是否有一个标准的代码来做这件事(我的谷歌努力没有给我带来任何东西)或者也许有人在 ABA ..
发布时间:2021-11-26 15:41:40 其他开发

方法调用作为另一个方法调用的参数?

我是 abap (OO) 的新手,但之前是用 Java 开发的,并编写了一个 abap“cl_caretaker"类,它应该处理对数据库表及其本地副本(实习表)的操作. 我想进行以下方法调用: caretaker->show_table(caretaker->get_users()). 与: caretaker = cl_caretaker=>get_instance()."单例方法 ..
发布时间:2021-11-26 15:41:29 其他开发

在消息类型 e 之后,程序不会返回到选择屏幕 ABAP

我正在尝试在我的报告中使用消息类型 E.问题是当消息被触发时,程序不会返回到选择屏幕.谁能帮我?这是我用来实现此目的的代码: 如果 rb_tri 不是初始且 p_trim-low 是初始.留言 e038.万一. 谢谢:) 解决方案 当我将您的问题与您的答案结合起来时,我提供另一种解决方案: 不要在开始过程后进行测试 (START-OF-SELECTION),而是在选择屏幕上: ..
发布时间:2021-11-26 15:41:14 其他开发

替换屏幕上显示的参数名称?

当我定义一个参数时,例如: PARAMETER pa_date TYPE d DEFAULT sy-datum. 如何在应用启动时将“pa_date"更改为其他内容?我想将其更改为“选择日期"之类的内容. 有什么想法吗? 解决方案 正确的菜单路径是: 转到 (Alt-G) -> 文本元素 (T) -> 选择文本 (S) 在那里您可以输入您想要的文本或单击“字典参考" ..
发布时间:2021-11-26 15:41:07 其他开发