-1

我是smartforms的新手。我正在尝试从 KNA1 获取一些数据,例如在交货单上显示的名称和地址。我怎么得到这个?我知道我必须将表格放在“全局选项”的某个选项中,但我只是不知道是哪一个。请问,有人可以帮我吗?谢谢。

4

2 回答 2

2

您需要知道如何为此开发 ABAP 编码。假设您知道这一点,您应该尝试扩展表单的输入结构并将必要的选择逻辑添加到供应程序中。如果这不可能,您可以向表单添加代码,但由于各种原因不建议这样做。

编辑:如果您确实知道如何编写 ABAP 代码,则更难理解您的问题。我假设您已经看过优秀的在线文档。如果您检查表单的标题条目,您会注意到全局定义和初始化编码等内容。如果您仔细查看可以在表单中插入的元素,您会发现程序行。因此,这是将 ABAP 代码嵌入到从数据库中选择数据的表单中的一种方法。你会像任何其他领域一样打印出来。

然而,这是一个坏主意。它通常会减慢您的表单处理速度,如果使用得太广泛,维护起来将是一场噩梦。相反,您应该查看表单的参数和调用表单的程序。如果可能,编辑适当的结构或使用附加结构来添加附加字段。然后,使用 BAdI、用户出口或隐式增强来填充调用程序中的字段。这样做的好处是数据将被传递到所有表单,您不必在多个表单中复制逻辑。(此外,如果需要,将其移植到交互式表单会更容易)。

于 2012-10-04T14:26:34.287 回答
1

每个智能表单都有一个表单界面,这是向其传递信息的主要方式(在表单树的“全局设置”下)。当缺少此信息并且您无法更改接口以及由于某种原因调用它的 ABAP 代码时(因为它在太多不同的地方调用或因为它是从 SAP 标准代码调用的),仍然有集成 ABAP 编码的方法进入智能表单以获取任何其他数据:

  1. 您可以单击“全局定义”来定义全局变量和全局表单例程
  2. 您可以将“Flow Logic -> Program Lines”节点添加到窗口节点。在这里你可以编写一些ABAP代码来读取你需要的数据并将其写入一个全局变量中。
  3. 然后,您可以在窗口的文本元素中使用此变量。
于 2012-10-04T14:34:43.737 回答