点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
我当时正在使用DO VARYING LOOP来读取PA0008中的所有工资类型,并且可以正常工作,但是
因为这是绝对的尝试将其替换为" Assign"语句,但需要一些支持来循环
>结果和读取值
PA0008的数据IT_PA0008类型标准表(带标题行)。 字段符号:, 。 数据:v_index TYPE numc2。 数据:字段名称TYPE char30。 选择*从PA0008到表IT_PA0008最多1行 s_pernr中的PERNR 按BEGDA降序排列。
现在,我需要循环IT_PA0008以检查所有工资值,但卡在以下代码中:
做10次。 v_index = v_index + 1。 CONCATENATE'IT_PA0008-LGA'v_index INTO字段名称。 CONDENSE字段名称。 分配组件.....至。 检查sy-subrc = 0。 CONCATENATE'IT_PA0008-BET'v_index INTO字段名。 CONDENSE字段名称。 分配组件.....至 。 检查sy-subrc = 0。 案件 ....! 当" M022"时。 wa_i_final-Monthly_Salary = 。 当为" 1002"时。 wa_i_final-Transportation = 。 结束。 ENDDO。
我刚刚检查了PA0008的结构:
不幸的是,LGA01和LGA02不是 连续,所以您不能轻易使用ASSIGN INCREMENT。
我最好的主意是:
有关信息,我找到的唯一方法是 使用ASSIGN INCREMENT和连续的字段块是这样的:
嗨桑德拉
关于下面的代码,我们已经很接近了,
首先,我必须注释lga = lga +行。 因为它不断给出运行时错误
我还不确定它的用途是什么,之后,通过调试代码获取工资类型,但不能依次获取,只有火灾工资类型可以,但是之后,您可以看到下面的快照工资类型1002 是第三个工资类型,是LGA03,但是在第七个循环上它的值是1002! 介于两者之间的值
代替:
任一种:
或使用:
Cf ASSIGN的ABAP文档。
伟大的桑德拉,代码运行正常。
您可以将其放在"答案"部分,以便将其标记为答案吗?
如果要执行的操作是更改内部表中每个记录的值,则也有循环 通过表IT_PA0008,您无法通过将表分配给这样的字段符号来更改整个表。 然后,您可以通过简单的DO ... VARYING来实现它:
Yaso O 完成(注释转换为答案)。
亲爱的
我的要求很简单,我只想循环所有工资以提交一份报告
,但是由于PA008中的工资结构是重复的,所以房屋津贴有时会在LGA02下出现,有时会在LA03下出现 >
旧方法是使用
但是由于SAP将该语句突出显示为绝对声明,所以我想使用DO ... Assign
将所有工资类型循环到一条记录中的最佳方法是什么? 使用do ...分配?
一周热门 更多>