点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
此代码存在转储错误,有人可以帮助我吗?
FIELD-SYMBOLS:
范围:tb_set for reguh-laufi。
数据:tb_setleaf OCCURS 0的开头。
包含结构setleaf 。
数据:tb_setleaf的结尾。
清除w_pay。
选择*从setleaf到表tb_setleaf的对应字段中
setname ='ALC_FI_CYCLE_ID'。
> IF sy-subrc EQ 0.
将tb_setleaf-valsign移至tb_set-sign。
将tb_setleaf-valsign移至tb_set-option。
将tb_setleaf-val从TO移至tb_set-low
将tb_setleaf-valto移动到tb_set-high。
APPEND tb_set。
IF bkpf-bktxt CS tb_set-low。
将'X'移动到w_pay。
ENDIF。
ENDLOOP 。
检查w_pay EQ'X'。
**恢复标称周期
ASSIGN'(SAPF110S)REGUV-LAUFI'至
ASSIGN(
w_laufi =
UNASSIGN:
如果w_laufi IN tb_set。
**基本恢复日期< br> ASSIGN'(SAPF110S)REGUP-ZFBDT'至
ASSIGN(
w_zfbdt = < fs2>。
UNASSIGN:
**回收条件分配
ASSIGN'(SAPF110S)REGUP-ZTERM'至
ASSIGN(
w_zterm =
UNASSIGN:
**计算日期
执行此操作:
如果已分配。
w_laufi =。
endif。
但是如何分配
感谢与问候
Giri
我只是重新阅读了您的编码。
只需跳过ASSIGN()行到行。
您 想要具有在
中已经可以(如果成功)访问的值,请使用它们。
您的代码如下所示:
已分配的ASSIGN(SAPF110S)REGUV-LAUFI。
w_laufi =。
ENDIF。> p>
接下来的两个ZFBDT和ZTERM作业也是如此。
第二个作业也不会变得更好。
请记住, 使用方括号,您可以取消对该字段的引用。 即,您尝试查找与的当前值类似的其他存储区NAMED,而不是分配给的存储区。
BR-Jörg
否,
在此部分中:
ASSIGN '(SAPF110S)REGUV-LAUFI'到。
分配()到。
为什么假定REGUV-LAUFI(即
可以用作内存句柄?
因为这是您要尝试执行的操作。 您可以使用REGUV-LAUFI在SAPF110S程序中具有的任何值,然后尝试访问一个这样命名的内存区域(变量)。
您要做的至少是,确保已分配了字段符号 。 您得到的错误是由于未分配,是因为您尝试的分配未成功。
在调试模式下检查的实际值是多少
最好的问候-Jörg
嗨,吉里,
p>
您是否已调试并检查
代码的哪一部分导致了此错误?
您好,Giri,
问题 发生在此处,ASSIGN()至。 仍未分配。
如果要使用此语法,请将('(program1)fieldName')分配给,则必须确保当前程序和program1在同一'call中 堆叠"。 您可以在调试视图中检查"调用堆栈"。
注意
Archer。
嗨,
要修复此转储,您可以阅读SAPNOTE0002730043。
实施注释应可修复该转储。
如果您不知道如何实现Sap注释,请检查此链接 https://blogs.sap.com/2013/06/26/how-to-implement-sap-note-in-snote/
最诚挚的问候,
Horacio Nhacuonga
一周热门 更多>