问题标签 [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.

0 投票
1 回答
113 浏览

abap - 显示的格式化持续时间

在 SAP 数据库中,存在格式为PxDTyHx 是天数而 y 是小时数的值。像这样的值P2DT0H是 2 天 + 0 小时。我可以通过以下方式看到SE16

数据库中的数据,来自 SE16 的截图

不幸的是,这与向用户显示的完全一样,“3”对应于数据库中的索引(在上面的屏幕截图中没有看到)。 向用户显示的时间

我想看到它显示

  • 没有索引(更改选项“在下拉列表中显示键”没有效果)
  • 而不是技术名称P2DT0H,我希望看到“2 天零 0 小时”(或类似名称)

有没有办法在数据显示在组合框中之前对其进行处理?开发人员无法更改数据库中的格式,因为它会更改 API。

仅供参考:我只是一个测试人员,我不知道如何在 ABAP 中编码,但从其他编程语言的知识来看,我会说数据可以在显示之前进行转换。我不需要一个完整的答案,只需要一个指向 SAP 钩子或事件的指针,它可以编写转换函数。

0 投票
2 回答
791 浏览

call - 为什么我的屏幕上的退出按钮被禁用?(ABAP)

我阅读了一些关于 ok-code 的内容,但我无法真正理解它是如何工作的以及我必须如何实现它。

我尝试在 PAI 中为我的按钮实现 MODULE,但它们也不起作用。

谢谢!

0 投票
4 回答
13699 浏览

abap - 如何回到通话界面?

我当前的屏幕构建如下所示:

当前程序

但是当我尝试从屏幕250(称为屏幕)返回到 100(调用屏幕)时,它只会离开程序。

我希望你们能帮助我。谢谢!

0 投票
1 回答
955 浏览

abap - 删除表控件导致运行时错误

我有一个带有一个表控件的屏幕,它显示来自我的内部数据库的值。它完美无缺。

我添加了另一个表格控件,它没有按我想要的方式工作。

我删除了控件CONTROLS: tc_two TYPE TABLEVIEW USING SCREEN 9000.

现在我遇到了运行时错误CONTROL-Variable not found

问:如果我声明新控件会怎样?它们在哪里实施?

我试图调试我的代码,错误出现在CALL SCREEN 9000.

这是完整的代码:

屏幕 9000:

谢谢!

可悲的是它是德语在此处输入图像描述

0 投票
1 回答
823 浏览

abap - ABAP SAPMV45A 附加字段选项卡

我有一个客户的要求,涉及在事务 VA42(合同)中显示信息,这些信息保存在许多自定义表中。无法通过 VBAK 上的附加结构获得数据,我自己也无法进行此更改。

我已经注册了屏幕8309并开始向其中添加我的字段。因此,我创建了一个PBO模块,以便将数据映射到屏幕中的字段。我在模块中放置了一个断点,它被触发并且我想要呈现的数据正在被检索。到目前为止,我没有将其写入用户出口中的字段。

我试过的:

  • 我给了这些字段一个“参数 id”,所以我可以使用GETand SET PARAMETER ID。这不起作用,使用此语句后字段仍为空。

http://hastebin.com/qinerexola.sql

  • 我给字段一个正常的名称,而不是在结构/名称上命名字段,并尝试DYNP_VALUES_UPDATE将数据映射到提供的字段。Sy-subrc 返回 0 但该字段未更新。

http://hastebin.com/anakirikah.sql

  • 我给字段命名为(结构)-(字段)并尝试使用上述功能模块。这也没有奏效。
  • 我环顾四周,screen看到我的字段的名称出现了,但是这个结构没有关于它的价值的信息,或者至少我可以看到。

我没有将字段附加到 VBAK 的选项,是否仍然可以使用客户表中的自定义数据填充扩展屏幕的字段?

0 投票
1 回答
3987 浏览

abap - 在 MIRO 中的 E 错误消息后启用输入错误字段?

我正在通过 BADI MRM_HEADER_CHECK 在 tx MIRO 中进行验证,当“reference”字段已被使用时,我会显示一条消息。该消息的类型为 E,这会禁用屏幕上的每个字段,因此用户无法返回该字段来修复其值。

截图 Tcode MIRO

供参考:

  • 我必须显示消息类型 E,因为我想阻止除红色圈出的两个字段之外的所有字段。我看到人们的建议使用这个:

  • 如果我把断点SY-DINNR设置为 6000。

  • 在我的 BADI 代码LOOP AT SCREEN中没有看到我想要禁用的字段名称。

  • MESSAGE <msg> TYPE 'S' DISPLAY LIKE 'E'也不行

我无法修改我的 BADI 代码之外的代码,例如在 PAI 和 PBO 模块中:

这是我的 BADI 代码:

有任何想法吗?提前致谢。

0 投票
1 回答
964 浏览

abap - 通过对话框屏幕动态更新行内容

我需要一些帮助来解决以下问题。我目前有一个对话框屏幕,其中包含一个用户可以输入数字的字段。这个数字对应于我制作的数据库表中的一个 ID 字段(使用 se/11)。我想在第二个屏幕上显示具有相应 ID 的所有字段的内容(因此只有表格的一行)。用户还应该能够编辑字段中的信息,并且在保存后,这些更改应该在表格本身中可见。归结为我想通过对话框屏幕动态更改返回行的内容。我知道我必须使用表格控件,但除此之外我不知所措(我对 ABAP 很陌生)。

这是桌子

屏幕 1 用户可以输入对应SEQNR于表格中的数字

在屏幕 1 上按 F8 时,我想进入第二个屏幕,其中包含 的人的信息,SEQNR = 1换句话说,应该只出现这一行:

用户应该能够编辑此行中的信息。当他单击“保存”时,应在表格本身中更新已编辑的信息。

到目前为止,我只制作了一个标准的第二个屏幕,其中我在 Screen Painter 中为上面的表格添加了一个表格控件。我将此控件添加到我的 DIALOG_TOP:

除了标准的 PBO 和 PAI 模块之外,我没有屏幕 2 的代码。屏幕 1 的代码如下所示。

我基本上检查表中是否存在 Seqnr。如果是这样,我将相应的行存储在我在 DIALOG_TOP 中定义的本地结构中。

0 投票
1 回答
2634 浏览

selection - 以编程方式更改 SELECT-OPTIONS 文本

我正在尝试通过使用ABAP代码在屏幕上显示的选择名称来替换选择名称。不是“转到->文本元素->选择文本”。

如果您有任何解决方案,请与我分享。

先感谢您,

0 投票
1 回答
1216 浏览

export-to-excel - 如何在 SAP GUI 中查找选择项列表

在 SAP GUI 中,有时会出现带有国家、国籍、头衔等项目列表的下拉字段。

我需要将这些列表复制到 Excel 中,但我只能选择一个值。我不能直接复制所有可用值(?)。

在当前情况下,我的字段的 Dynpro-Name 是P0002-TITEL,其中有许多我想复制到 Excel 的条目。
我没有开发者密钥,我可以看看几个像se16这样的TA。

什么是最简单的方法来获取我正在寻找的值,而无需搜索表格或一一复制单个值?

0 投票
1 回答
444 浏览

commit - F4IF_INT_TABLE_VALUE_REQUEST 弹出窗口中的隐式提交?

我注意到在上述循环之间存在隐式提交。

现在我在一个 BADI 中,在那里我实现了一个方法,该方法有助于说明那里不应该有任何提交。但是,我有一个最好通过这种方法实现的要求。

我使用F4IF_INT_TABLE_VALUE_REQUEST模块允许用户通过弹出窗口进行选择。

现在我需要知道这个弹出窗口是否隐式触发了提交,因为还涉及到 PBO-PAI 循环。是吗?