如何在报表中显示完美的价值?

2020-09-18 20:54发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 请...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

请帮助我,过去10天我一直在寻找解决方案。

我要求报告应显示为标准的副本。 但是自定义报告中的预算金额与标准相比变得非常大。


标准报告图片

自定义报告图片。
与标准相比,您可以看到预算列增加了5倍。

请建议我进行任何纠正。

如何停止为多个添加添加预算列? 这是我的代码

执行read_data_cc。
 表格read_data_cc。
   在wrttp ='04'或wrttp ='21'的地方,在it_cosp放入wa_cosp中循环。
     读取表it_​​csks,并使用键objnr = wa_cosp-objnr插入wa_csks。
     使用键kostl = wa_csks-kostl将表it_cskt读入wa_cskt。
     如果sy-subrc = 0。
       将wa_csks-kostl移动到wa_final_cc-kostl。
       将wa_cosp-gjahr移动到wa_final_cc-gjahr。
       将wa_cskt-ktext移动到wa_final_cc-ktext。
     万一。
     如果wa_cosp-wrttp ='04'。
       wa_final_cc-actual =(wa_cosp-wtg001 + wa_cosp-wtg002 + wa_cosp-wtg003 + wa_cosp-wtg004 + wa_cosp-wtg005 + wa_cosp-wtg006 + wa_cosp-wtg007 + wa_cosp-wtg008 + wa_cosp-wtg_ + wa_cosp-wtg008 + wa_cosp-wtg 010  + wa_cosp-wtg013 + wa_cosp-wtg014 + wa_cosp-wtg015 + wa_cosp-wtg016)。

     ELSEIF wa_cosp-wrttp ='21'。
       wa_final_cc-commit =(wa_cosp-wtg001 + wa_cosp-wtg002 + wa_cosp-wtg003 + wa_cosp-wtg004 + wa_cosp-wtg005 + wa_cosp-wtg006 + wa_cosp-wtg007 + wa_cosp-wtg008 + wa_cosp-wtg_ + wa_cosp-wtg008 + wa_cosp-wtg 010  + wa_cosp-wtg013 + wa_cosp-wtg014 + wa_cosp-wtg015 + wa_cosp-wtg016)。

     万一。

     使用键objnr = wa_cosp-objnr wrttp ='41'二进制搜索将表it_bppe读入wa_bppe。

     如果sy-subrc = 0。

       wa_final_cc-budget =(wa_bppe-wtp01 + wa_bppe-wtp02 + wa_bppe-wtp03 + wa_bppe-wtp04 + wa_bppe-wtp05 + wa_bppe-wtp06 + wa_bppe-wtp07 + wa_bppe-wtpe-wtp10 + bp_pepe-wtp10 + bp_wt_pe  -wtp12 + wa_bppe-wtp13 + wa_bppe-wtp14 + wa_bppe-wtp15 + wa_bppe-wtp16)。

     万一。
     wa_final_cc-allot =(wa_final_cc-actual)+(wa_final_cc-commit)。
     wa_final_cc-avail =(wa_final_cc-budget)-(wa_final_cc-allot)。
     将wa_final_cc收集到it_final_cc中。
     排序it_final_cc。
     清除wa_final_cc。
   结局。
 ENDFORM。



 如您在上面看到的,我编写了代码以显示实际,提交,预算,分配和可用状态,如上图所示。
 我只想循环预算列一次,如下图所示,预算预算列应仅添加一次,这是标准报告。
 我以多种方式尝试过,例如,仅为预算栏保持doloop,通过保持sy-index = 1,通过为预算保持sy-tabix = 1,但对于预算栏却无法获得理想的结果。

 如果您建议任何解决方案,它将更有帮助。
 我正在等待解决方案。
 谢谢,
 ish
 
stnd-cc-rpt.jpg (45.6 kB)
6条回答
悠然的二货
2020-09-18 21:12

嗨,哈里斯,

在这种情况下,请勿使用COLLECT wa_final_cc INTO it_final_cc,也不要清除wa_final_cc,但在相应的循环之后,请使用Kostl键等于ADMIN读取最终表,并从wa_final_cc分配总预算值。


 LOOP AT ...
 ...
 结局。

 字段符号:类似于IT_FINAL_CC的行。

 读取表IT_FINAL_CC []分配
   WITH KEY KOSTL ='ADMIN'。

 如果SY-SUBRC EQ 0。
     -BUDGET = WA_FINAL_CC-BUDGET。
 万一。
 

此致

一周热门 更多>