今天接到同事一个SMARTFORMS打印的问题,研究了半天,终于发现SMARTFORMS原来如此与众不同:
SMARTFORMS的参照问题
参照:
刚接到这个错误的时候,一开始也很困惑。SMARTFORMS,结构,甚至调用程序,检查了几遍。好像都没有错误啊。
没办法,既然系统指定是:WA_ITME_PNT1-S_NUM未知,那就只能再研究结构:ZFI_ITEMTAB1。很明显,我没有眼花:S_NUM是实实在在存在。我猜测是S_NUM的参照有问题,给自己的理由是“没 参照”的都没问题(呵呵,有点勉强,不过有些问题必须猜测)。我的理解是因为它是参照MSEG表的,而在SMARTFORMS 中只定义了:WA_ITME_PNT1 TYPE ZFI_ITEMTAB1
但ZFI_ITEMTAB1又需要参照的表,没有定义(当然,在SAP其他程序里,这根本不是问题。就是SMARTFORMS 才碰到这样的问题,它不会自动通过参照再参照!这也是要写这个文档的原因。)
接下来就是尝试:
首先我把所有 数量字段 :S_NUM,H_NUM,O_NUM改成自定义的:
再运行程序,果然系统不报:参考字段 WA_ITME_PNT1-S_NUM未知 了。
不过却报:S_MONEY 未知 。不过已经知道,我这个猜测方向是对的了。
S_MONEY 等等是金额类型。不是数量,即使用自定义的CURR里来替换。也要参照!!而在SMARTFORMS调用结构的时候,你的结构又不能参照其它表里的结构,那么只能参照自己!
金额之前是参照:T001-WAERS 的。那么我们可以在自己的结构中增加一列:WAERS 。 再用金额来参照自己的 WAERS。这样就没问题了。
定义:
参照:
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9633129/viewspace-536607/
,如需转载,请注明出处,否则将追究法律责任。