问题标签 [dynpro]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
abap - 显示的格式化持续时间
在 SAP 数据库中,存在格式为PxDTyH
x 是天数而 y 是小时数的值。像这样的值P2DT0H
是 2 天 + 0 小时。我可以通过以下方式看到SE16
:
不幸的是,这与向用户显示的完全一样,“3”对应于数据库中的索引(在上面的屏幕截图中没有看到)。
我想看到它显示
- 没有索引(更改选项“在下拉列表中显示键”没有效果)
- 而不是技术名称
P2DT0H
,我希望看到“2 天零 0 小时”(或类似名称)
有没有办法在数据显示在组合框中之前对其进行处理?开发人员无法更改数据库中的格式,因为它会更改 API。
仅供参考:我只是一个测试人员,我不知道如何在 ABAP 中编码,但从其他编程语言的知识来看,我会说数据可以在显示之前进行转换。我不需要一个完整的答案,只需要一个指向 SAP 钩子或事件的指针,它可以编写转换函数。
call - 为什么我的屏幕上的退出按钮被禁用?(ABAP)
我阅读了一些关于 ok-code 的内容,但我无法真正理解它是如何工作的以及我必须如何实现它。
我尝试在 PAI 中为我的按钮实现 MODULE,但它们也不起作用。
谢谢!
abap - ABAP SAPMV45A 附加字段选项卡
我有一个客户的要求,涉及在事务 VA42(合同)中显示信息,这些信息保存在许多自定义表中。无法通过 VBAK 上的附加结构获得数据,我自己也无法进行此更改。
我已经注册了屏幕8309
并开始向其中添加我的字段。因此,我创建了一个PBO
模块,以便将数据映射到屏幕中的字段。我在模块中放置了一个断点,它被触发并且我想要呈现的数据正在被检索。到目前为止,我没有将其写入用户出口中的字段。
我试过的:
- 我给了这些字段一个“参数 id”,所以我可以使用
GET
andSET PARAMETER ID
。这不起作用,使用此语句后字段仍为空。
http://hastebin.com/qinerexola.sql
- 我给字段一个正常的名称,而不是在结构/名称上命名字段,并尝试
DYNP_VALUES_UPDATE
将数据映射到提供的字段。Sy-subrc 返回 0 但该字段未更新。
http://hastebin.com/anakirikah.sql
- 我给字段命名为(结构)-(字段)并尝试使用上述功能模块。这也没有奏效。
- 我环顾四周,
screen
看到我的字段的名称出现了,但是这个结构没有关于它的价值的信息,或者至少我可以看到。
我没有将字段附加到 VBAK 的选项,是否仍然可以使用客户表中的自定义数据填充扩展屏幕的字段?
abap - 在 MIRO 中的 E 错误消息后启用输入错误字段?
我正在通过 BADI MRM_HEADER_CHECK 在 tx MIRO 中进行验证,当“reference”字段已被使用时,我会显示一条消息。该消息的类型为 E,这会禁用屏幕上的每个字段,因此用户无法返回该字段来修复其值。
供参考:
我必须显示消息类型 E,因为我想阻止除红色圈出的两个字段之外的所有字段。我看到人们的建议使用这个:
如果我把断点
SY-DINNR
设置为 6000。在我的 BADI 代码
LOOP AT SCREEN
中没有看到我想要禁用的字段名称。MESSAGE <msg> TYPE 'S' DISPLAY LIKE 'E'
也不行
我无法修改我的 BADI 代码之外的代码,例如在 PAI 和 PBO 模块中:
这是我的 BADI 代码:
有任何想法吗?提前致谢。
abap - 通过对话框屏幕动态更新行内容
我需要一些帮助来解决以下问题。我目前有一个对话框屏幕,其中包含一个用户可以输入数字的字段。这个数字对应于我制作的数据库表中的一个 ID 字段(使用 se/11)。我想在第二个屏幕上显示具有相应 ID 的所有字段的内容(因此只有表格的一行)。用户还应该能够编辑字段中的信息,并且在保存后,这些更改应该在表格本身中可见。归结为我想通过对话框屏幕动态更改返回行的内容。我知道我必须使用表格控件,但除此之外我不知所措(我对 ABAP 很陌生)。
这是桌子
屏幕 1 用户可以输入对应SEQNR
于表格中的数字
在屏幕 1 上按 F8 时,我想进入第二个屏幕,其中包含 的人的信息,SEQNR = 1
换句话说,应该只出现这一行:
用户应该能够编辑此行中的信息。当他单击“保存”时,应在表格本身中更新已编辑的信息。
到目前为止,我只制作了一个标准的第二个屏幕,其中我在 Screen Painter 中为上面的表格添加了一个表格控件。我将此控件添加到我的 DIALOG_TOP:
除了标准的 PBO 和 PAI 模块之外,我没有屏幕 2 的代码。屏幕 1 的代码如下所示。
我基本上检查表中是否存在 Seqnr。如果是这样,我将相应的行存储在我在 DIALOG_TOP 中定义的本地结构中。
selection - 以编程方式更改 SELECT-OPTIONS 文本
我正在尝试通过使用ABAP代码在屏幕上显示的选择名称来替换选择名称。不是“转到->文本元素->选择文本”。
如果您有任何解决方案,请与我分享。
先感谢您,
export-to-excel - 如何在 SAP GUI 中查找选择项列表
在 SAP GUI 中,有时会出现带有国家、国籍、头衔等项目列表的下拉字段。
我需要将这些列表复制到 Excel 中,但我只能选择一个值。我不能直接复制所有可用值(?)。
在当前情况下,我的字段的 Dynpro-Name 是P0002-TITEL
,其中有许多我想复制到 Excel 的条目。
我没有开发者密钥,我可以看看几个像se16这样的TA。
什么是最简单的方法来获取我正在寻找的值,而无需搜索表格或一一复制单个值?
commit - F4IF_INT_TABLE_VALUE_REQUEST 弹出窗口中的隐式提交?
我注意到在上述循环之间存在隐式提交。
现在我在一个 BADI 中,在那里我实现了一个方法,该方法有助于说明那里不应该有任何提交。但是,我有一个最好通过这种方法实现的要求。
我使用F4IF_INT_TABLE_VALUE_REQUEST
模块允许用户通过弹出窗口进行选择。
现在我需要知道这个弹出窗口是否隐式触发了提交,因为还涉及到 PBO-PAI 循环。是吗?