通过 ABAP 获取要在交付中保存的位置
get positions to be saved in delivery via ABAP
我正在尝试检查通过交易 vl02n 更改的交付中的头寸是否在保存文档之前满足某些特定条件。
对于此操作,我想使用用户出口 USEREXIT_SAVE_DOCUMENT_PREPARE.
在调试器中,我检查了哪些 tables 和变量是可访问的,发现有一个全局 table XLIPS 包含所有位置在当前要保存的交付中可见。
问题是在XLIPS 中还有一些位置已经在vl02n 的GUI 中被删除了。
因为我只想检查确实会保存的位置,所以我不想使用 table XLIPS。
我该如何解决这个问题,是否有比使用 XLIPS 更好的方法?
非常感谢您的帮助,请原谅我的英语不好。
XLIPS
包含所有发货项目保存后的变化信息。因此,如果您删除一行,XLIPS
仍将保留删除的行,字段 XLIPS-UPDKZ
设置为 D
- 表示该行已被删除(或 I
插入或 U
已更新)。考虑到这一点,您应该能够相应地对相关项目进行检查:
LOOP AT xlips ... WHERE updkz NE 'D'.
<your code here>
ENDLOOP.
我正在尝试检查通过交易 vl02n 更改的交付中的头寸是否在保存文档之前满足某些特定条件。
对于此操作,我想使用用户出口 USEREXIT_SAVE_DOCUMENT_PREPARE.
在调试器中,我检查了哪些 tables 和变量是可访问的,发现有一个全局 table XLIPS 包含所有位置在当前要保存的交付中可见。
问题是在XLIPS 中还有一些位置已经在vl02n 的GUI 中被删除了。 因为我只想检查确实会保存的位置,所以我不想使用 table XLIPS。
我该如何解决这个问题,是否有比使用 XLIPS 更好的方法?
非常感谢您的帮助,请原谅我的英语不好。
XLIPS
包含所有发货项目保存后的变化信息。因此,如果您删除一行,XLIPS
仍将保留删除的行,字段 XLIPS-UPDKZ
设置为 D
- 表示该行已被删除(或 I
插入或 U
已更新)。考虑到这一点,您应该能够相应地对相关项目进行检查:
LOOP AT xlips ... WHERE updkz NE 'D'.
<your code here>
ENDLOOP.