我需要对SAPScript进行一些更改。我有程序和表格的名字
程序: RBOSORDER01表单: RBOSORDER02
我希望更改表单中显示的一些数据。我已经对程序进行了调试,并获得了写入表单的调用,例如:
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'ITEM_TEXT'
EXCEPTIONS
ELEMENT = 1
WINDOW = 2.但是数据是如何在程序和表单之间传递的呢?我不能在每一个之间建立链接。我希望看到一个结构或数据元素与'ITEM_TEXT‘一起传递,然后在表单中的元素"ITEM_TEXT“处打印此数据,但我不清楚其中的链接。
我也看过SE71中的表单,看不出您在哪里定义它。这里的链接在哪里,我遗漏了什么?
发布于 2017-11-10 05:28:12
这是在表单中,所以SE71是您需要的。您必须首先找到显示该元素(ITEM_TEXT)的窗口,然后再查找该元素并查看其中显示的内容。默认情况下,SAPSript表单直接使用打印程序的全局变量(结构、内部表)(还有一些其他选项,例如包含文本)。例如,如果在打印程序中声明了一个全局变量gv_text,并将其显示在SAPScript中,那么它在表单中将类似于&GV_TEXT&。
如果在SE71中打开调试功能,还可以调试SAPScript (如果表单很大,可能会很痛苦)。
发布于 2017-11-12 05:33:30
函数'WRITE_FORM‘只调用表单的元素(在本例中为SE71/ RBOSORDER02),元素为’ITEM_TEXT‘。
因此,您最终将在主窗口中找到:
/E ITEM_TEXT
/: INCLUDE &VBDPA-TDNAME& OBJECT VBBP ID 0001 PARAGRAPH IT在这种情况下,您必须调试"VBDPA-TDNAME“此时是什么,然后您将使用事务"SO10”(标准文本)找到它的值。
INCLUDE可以是复杂的文本,并且可以有自己的格式字符串。
正如Jozsef之前所说,VBDPA-TDNAME在打印程序中是全局定义的。(SE38n / RBOSORDER01)
https://stackoverflow.com/questions/47205163
复制相似问题