首页 > SAP > ABAP > script form 打印不能取到程序变量的问题处理
2019
08-29

script form 打印不能取到程序变量的问题处理

我的需求是这样子的,之前有一个程序运行打印的 SCRIPT FORM,打印都是正常的,现在用户需要把这个打印输出配置为用SAP标准OUTTYPE输出,就是NACE的那些配置输出,所以配置好后,在输出的FORM中调用一个函数来打印SCRIPT FORM了,说简单点,就是原来一个程序打印的功能,再在需要修改成一个函数来打印,以下是解决步骤,记录如下: 1.这直接就是COPY代码的工作,想来应该没难度,结果确发现,COPY成函数后,打印正常,但打印出来的内容,总是没有函数中的变量值,也就是FORM中的Symbols的值(比如:&EKKO-EBELN&)不能取值。 2.以为是变量不应该只在函数中,应该要在函数组的TOP中定义,可在TOP中定义了还是不是, 3.跟踪代码调试,折腾了几天只能发现,是在取Symbols值时不能取到当前程序的值。 4.最后在网上各种找,找到一个可能的原因,就是在OPEN_FORM调用时,的OPTIONS-TDPROGRAM  (itcpo-TDPROGRAM)需要设置成函数组的主程序名(注:不是函数组,是函数组的主程序,比如:SAPLZFG_ZMEP100372),此主程序名也可以使用函数SYSTEM_CALLSTACK来得到当前使用的主程序名,但实在懒得取了,所以我直接写了个固定值,
这样子结果就都对了。
最后编辑:
作者:yangsen
有需要可在文章留言或者邮件yan252@163.com给我。

留下一个回复

你的email不会被公开。

20 + 13 =