点击此处---> 群内免费提供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和连续的字段块是这样的:
Yaso O
从上面的最后一条评论中,我可以说您的代码不起作用,因为字段名称是BET01,02,...。
但是当您从v_index串联时,它只是1,2 ,3 ...这样您的变量就变成BET1,BET2 ...
这可能是它不起作用的原因。
我不知道您为什么要再次选择 在DO..ENDO内部,但稍后可能会导致性能下降。
一周热门 更多>