abap 实际成本,计划成本等查找COSP和COSS

*COSP 外部费用
*COSS 内部费用
*GJAHR 年度
*WRTTP 01代表计划  04 代表实际
*WTGXX,WKGXX,WOGXX,其中XXX对应着期间001~016,不过WKGXX是以成本控制范围控制的货币,如果有汇率转换,WKGXX就是转换后的货币值
*BEKNZ D借方过帐或接收方借方过帐  C贷方过帐或接收方贷方过帐   其中(D + C)为KC04里的借方
*      O额外: 从计算中发送方记帐  S额外: 送货人信贷自运输至存货 其中(O + S)为KC04里的贷方
*      需取出来后,通过转换例程函数  CONVERSION_EXIT_BEKNZ_OUTPUT 转换为'DCOS'
*MEGXXX 对应期间数量

*KC04里 实际成本借方,是需要将COSP和COSS都汇总的。

IF NOT lt_output[] IS INITIAL.
    SELECT lednr,objnr,gjahr,wrttp,versn,kstar,hrkft,vrgng,vbund,pargb,beknz,twaer,perbl,meinh,
           wkg001,wkg002,wkg003,wkg004,wkg005,wkg006,wkg007,wkg008,wkg009,wkg010,
           wkg011,wkg012,wkg013,wkg014,wkg015,wkg016
      INTO TABLE @DATA(lt_cosp)
      FROM cosp
       FOR ALL ENTRIES IN @lt_output
     WHERE objnr EQ @lt_output-objnr
       AND wrttp EQ '04'.

    SELECT lednr,objnr,gjahr,wrttp,versn,kstar,hrkft,vrgng,parob,uspob,beknz,twaer,perbl,meinh,
           wkg001,wkg002,wkg003,wkg004,wkg005,wkg006,wkg007,wkg008,wkg009,wkg010,
           wkg011,wkg012,wkg013,wkg014,wkg015,wkg016
      INTO TABLE @DATA(lt_coss)
      FROM coss
       FOR ALL ENTRIES IN @lt_output
     WHERE objnr EQ @lt_output-objnr
       AND wrttp EQ '04'.
  ENDIF.

  LOOP AT lt_cosp ASSIGNING FIELD-SYMBOL(<ls_cosp>).
    CALL FUNCTION 'CONVERSION_EXIT_BEKNZ_OUTPUT'
      EXPORTING
        input  = <ls_cosp>-beknz
      IMPORTING
        output = <ls_cosp>-beknz.
    MOVE-CORRESPONDING <ls_cosp> TO gs_cosp.
    CASE <ls_cosp>-beknz.
      WHEN 'D' OR 'C'.
*        gs_cosp-shkzg = 'S'.
        gs_cosp-zwkgs = <ls_cosp>-wkg001 + <ls_cosp>-wkg002 + <ls_cosp>-wkg003 + <ls_cosp>-wkg004 + <ls_cosp>-wkg005 +
                        <ls_cosp>-wkg006 + <ls_cosp>-wkg007 + <ls_cosp>-wkg008 + <ls_cosp>-wkg009 + <ls_cosp>-wkg010 +
                        <ls_cosp>-wkg011 + <ls_cosp>-wkg012 + <ls_cosp>-wkg013 + <ls_cosp>-wkg014 + <ls_cosp>-wkg015 + <ls_cosp>-wkg016.
        gs_cosp-zwkgsh = gs_cosp-zwkgs.
      WHEN 'O' OR 'S'.
*        gs_cosp-shkzg = 'H'.
        gs_cosp-zwkgh = <ls_cosp>-wkg001 + <ls_cosp>-wkg002 + <ls_cosp>-wkg003 + <ls_cosp>-wkg004 + <ls_cosp>-wkg005 +
                        <ls_cosp>-wkg006 + <ls_cosp>-wkg007 + <ls_cosp>-wkg008 + <ls_cosp>-wkg009 + <ls_cosp>-wkg010 +
                        <ls_cosp>-wkg011 + <ls_cosp>-wkg012 + <ls_cosp>-wkg013 + <ls_cosp>-wkg014 + <ls_cosp>-wkg015 + <ls_cosp>-wkg016.
        gs_cosp-zwkgsh = gs_cosp-zwkgh.
      WHEN OTHERS.
    ENDCASE.
    COLLECT gs_cosp INTO gt_cosp.
  ENDLOOP.

  LOOP AT lt_coss ASSIGNING FIELD-SYMBOL(<ls_coss>).
    CALL FUNCTION 'CONVERSION_EXIT_BEKNZ_OUTPUT'
      EXPORTING
        input  = <ls_coss>-beknz
      IMPORTING
        output = <ls_coss>-beknz.
    MOVE-CORRESPONDING <ls_coss> TO gs_cosp.
    CASE <ls_coss>-beknz.
      WHEN 'D' OR 'C'.
*        gs_cosp-shkzg = 'S'.
        gs_cosp-zwkgs = <ls_coss>-wkg001 + <ls_coss>-wkg002 + <ls_coss>-wkg003 + <ls_coss>-wkg004 + <ls_coss>-wkg005 +
                        <ls_coss>-wkg006 + <ls_coss>-wkg007 + <ls_coss>-wkg008 + <ls_coss>-wkg009 + <ls_coss>-wkg010 +
                        <ls_coss>-wkg011 + <ls_coss>