CE PLUS - Nota 006827

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Função

Data/Hora da Publicação: 23/06/2008 00:00:00

Data/Hora Última Alteração: 22/02/2011 16:32:14

Descrição da Nota: RETENÇÃO DE IMPOSTOS PARA CONTA COM ACUMULO

Sintoma

O valor de imposto retido calculado pela função /PWS/ZYGL_IMPOSTO está diferente do calculado pelo

SAP.

 

 

Solução

Ajustada função para calcular o acumulado para as contas da mesma forma que o SAP.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

DESPESAS EXPORTAÇÃO

IMPLEMENTADO NA FUNÇÃO ZYGL_IMPOSTO DE Nº DE DOCUMENTO COMPENSAÇÃO

Informações Complementares

----------------------------------------------------------------------------------------------------

Nota Número 06827 Data: 23/06/2008 Hora: 11:07:54

----------------------------------------------------------------------------------------------------

 

----------------------------------------------------------------------------------------------------

Nota Número              : 06827

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00053

----------------------------------------------------------------------------------------------------

Referência às notas relacionadas:

Número - Ordem - Versão - Pacote - Descrição Breve

 

00105  - 00001 - 6.0    - 00021  - DESPESAS EXPORTAÇÃO

05660  - 00002 - 7.0    - 00004  - IMPLEMENTADO NA FUNÇÃO ZYGL_IMPOSTO DE Nº DE DOCUMENTO COMPENSAÇÃ

----------------------------------------------------------------------------------------------------

RETENÇÃO DE IMPOSTOS PARA CONTA COM ACUMULO

----------------------------------------------------------------------------------------------------

Palavras Chave:

IMPOSTOS - ACUMULO - CONTA - FUNÇÃO

/PWS/ZYGL_IMPOSTO

----------------------------------------------------------------------------------------------------

Objetos da nota:

FUNC /PWS/ZYGL_IMPOSTO

REPS /PWS/LZYGLGF2F01

REPS /PWS/LZYGLGF2TOP

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em FUNC /PWS/ZYGL_IMPOSTO

 

...

  DATA: BEGIN OF itab_with_item OCCURS 1000,

        belnr LIKE with_item-belnr,

        gjahr LIKE with_item-gjahr,

        witht LIKE with_item-witht,

        wt_withcd LIKE with_item-wt_withcd,

        wt_qsshh LIKE with_item-wt_qsshh,

        wt_qbshh LIKE with_item-wt_qbshh,

        augbl    like with_item-augbl,

        END OF itab_with_item.

  DATA itab_t059pp LIKE v_t059pp OCCURS 0 WITH HEADER LINE.

* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO

  TYPES: BEGIN OF acc_int_struc,

             type  LIKE wtak-witht,

             code  LIKE wtak-wt_withcd,

             base  LIKE wtak-wt_bs01,

             amnt  LIKE wtak-wt_wt01,

             hamnt LIKE wtak-wt_hlp01,

             hamnta LIKE wtak-wt_hlpa01,

         END OF acc_int_struc.

  DATA: itab_acc_int_tab TYPE acc_int_struc OCCURS 0 WITH HEADER LINE.

  DATA: itab_acc_int_tab2 TYPE acc_int_struc OCCURS 0 WITH HEADER LINE.

  DATA: v_glvor(4) TYPE c VALUE 'RFBU'.

  DATA: v_data TYPE sy-datum .

* << Fim da inclusão

  CLEAR v_first_day.

  IF p_dtlanc IS INITIAL.

    MOVE sy-datum+4(2) TO v_mes.

    MOVE sy-datum(4)   TO v_ano.

    MOVE sy-datum      TO v_date.

  ELSE.

    MOVE p_dtlanc+4(2) TO v_mes.

    MOVE p_dtlanc(4)   TO v_ano.

    MOVE p_dtlanc      TO v_date.

  ENDIF.

...

 

...

  CLEAR t001-land1.

  SELECT SINGLE land1 FROM t001

      INTO t001-land1

      WHERE bukrs = p_bukrs .

  SELECT SINGLE * FROM /pws/zycbt007

    WHERE bukrs = p_bukrs .

  CLEAR itab_zyglt378. REFRESH itab_zyglt378.

  SELECT *

         FROM /pws/zyglt378

         INTO TABLE itab_zyglt378

* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO

         WHERE codmod EQ p_cod_mod.            "#EC CI_NOFIRST

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO

         WHERE codmod EQ p_cod_mod.                     "#EC CI_NOFIRST

* << Fim da inclusão

  DELETE itab_zyglt378 WHERE witht IS initial.

  DELETE itab_zyglt378 WHERE bukrs NE space AND

                             bukrs NE p_bukrs.

  DELETE itab_zyglt378 WHERE land1 NE space AND

                             land1 NE t001-land1.

  DELETE itab_zyglt378 WHERE regio NE space AND

                             regio NE p_regio.

  SORT itab_zyglt378 BY codmod   ASCENDING

                        cod_desp ASCENDING

                        witht    ASCENDING

...

 

...

      IF sy-subrc = 0.

        SELECT belnr gjahr  witht wt_withcd wt_qsshh wt_qbshh augbl

          FROM with_item

          INTO TABLE itab_with_item

          WHERE bukrs     EQ p_bukrs               AND

                witht     IN s_witht               AND

                wt_acco   EQ p_lifnr               AND

                gjahr     EQ v_ano.

      ENDIF.

    ENDIF.

* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO

    REFRESH itab_acc_int_tab2.

    IF p_dtlanc IS INITIAL.

      v_data = sy-datum.

    ELSE.

      v_data = p_dtlanc.

    ENDIF.

    LOOP AT itab_t059p.

      CHECK itab_t059p-wt_accpt <> 0.

      REFRESH itab_acc_int_tab.

      PERFORM fi_wt_fill_acc_int_tab

                TABLES itab_acc_int_tab

                  USING p_bukrs

                        'K'

                        p_lifnr

                        itab_t059p

                        v_data

                        v_glvor .

      LOOP AT itab_acc_int_tab.

        APPEND itab_acc_int_tab TO itab_acc_int_tab2.

      ENDLOOP.

    ENDLOOP.

* << Fim da inclusão

    SORT itab_imposto BY cod_impo.

    LOOP AT itab_with_item.

      READ TABLE itab_imposto WITH KEY

                  cod_impo = itab_with_item-witht

                  BINARY SEARCH.

      IF sy-subrc NE 0.

        DELETE itab_with_item.

      ENDIF.

    ENDLOOP.

   LOOP AT itab_with_item

* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO

      WHERE wt_qsshh >= '0.00'."#EC PORTABLE

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO

       WHERE wt_qsshh >= '0.00'.                          "#EC PORTABLE

* << Fim da inclusão

      DELETE itab_with_item .

    ENDLOOP.

    LOOP AT itab_with_item.

      READ TABLE itab_lfbw WITH KEY

                   wt_withcd =  itab_with_item-wt_withcd

                   witht  = itab_with_item-witht.

      IF sy-subrc NE 0.

        DELETE itab_with_item.

      ENDIF.

    ENDLOOP.

...

 

...

        SORT itab_t059minmax BY wt_withcd wt_date DESCENDING.

        READ TABLE itab_t059minmax INDEX 1.

      ENDIF.

      CLEAR t059p.

      SELECT SINGLE *

        FROM t059p

        WHERE land1 EQ t001-land1            AND

              witht EQ itab_imposto-cod_impo.

      CHECK NOT t059p-wt_dopost IS INITIAL.

      IF NOT itab_t059minmax[] IS INITIAL.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO

        LOOP AT itab_with_item WHERE witht EQ itab_imposto-cod_impo.

       if  t059p-wt_postm ne '1' and itab_with_item-AUGBL is initial.

         continue.

       endif.

          CLEAR itab_bkpf.

          READ TABLE itab_bkpf WITH KEY bukrs = p_bukrs

                                        belnr = itab_with_item-belnr

                                        gjahr = itab_with_item-gjahr

                                        stblg = ''.

          IF sy-subrc EQ 0.

            v_qsshh = abs( itab_with_item-wt_qsshh ) + v_qsshh.

            v_qbshh = abs( itab_with_item-wt_qbshh ) + v_qbshh.

          ENDIF.

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO

        LOOP AT itab_acc_int_tab2 WHERE TYPE EQ itab_imposto-cod_impo.

          v_qsshh = abs( itab_acc_int_tab2-base ) + v_qsshh.

          v_qbshh = abs( itab_acc_int_tab2-amnt ) + v_qbshh.

* << Fim da inclusão

        ENDLOOP.

        v_total = itab_imposto-vl_base + v_qsshh.

        IF t059p-wt_mainta EQ '1'.

          READ TABLE itab_t059minmax

            WITH KEY land1     = t001-land1

                     wt_withcd = ' '

                     witht     = itab_imposto-cod_impo.

        ELSE.

          READ TABLE itab_t059minmax

            WITH KEY land1     = t001-land1

...

 

...

        ENDIF.

        IF v_total >= itab_t059minmax-wt_wtminb.

          IF NOT v_qsatz IS INITIAL.

            IF v_qbshh < itab_t059minmax-wt_wtbex.

              v_total = v_total -

                        ( itab_t059minmax-wt_wtbex -  v_qbshh ).

            ENDIF.

            itab_imposto-vl_imposto = ( ( v_total *

                                    v_qsatz ) / 100 ) - v_qbshh.

          ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO

          IF itab_imposto-vl_imposto < '0.00' ."#EC PORTABLE

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO

          IF itab_imposto-vl_imposto < '0.00' .           "#EC PORTABLE

* << Fim da inclusão

            CLEAR itab_imposto-vl_imposto.

          ENDIF.

        ELSE.

          CLEAR itab_imposto-vl_imposto.

        ENDIF.

      ENDIF.

    ELSE.

      CLEAR itab_t059fb. REFRESH itab_t059fb.

      SELECT *

        FROM t059fb

...

 

...

          IF NOT v_qsshh IS INITIAL AND

             NOT v_qbshh IS INITIAL.

            itab_imposto-vl_imposto = ( ( v_total *

                                    itab_t059fb-qsatz ) / 100 ) -

                                      ( ( v_qsshh *

                                    itab_t059fb-qsatz ) / 100 ).

          ELSE.

            itab_imposto-vl_imposto = ( ( v_total *

                                    itab_t059fb-qsatz ) / 100 ).

          ENDIF.

* >> Início da exclusão: FUNCTION /PWS/ZYGL_IMPOSTO

          IF itab_imposto-vl_imposto < '0.00' ."#EC PORTABLE

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYGL_IMPOSTO

          IF itab_imposto-vl_imposto < '0.00' .           "#EC PORTABLE

* << Fim da inclusão

            CLEAR itab_imposto-vl_imposto.

          ENDIF.

        ELSE.

          CLEAR itab_imposto-vl_imposto.

        ENDIF.

      ENDIF.

    ENDIF.

    MODIFY itab_imposto.

  ENDLOOP.

  CLEAR itab_lfbw. REFRESH itab_lfbw.

...

 

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/LZYGLGF2F01

 

...

    ENDIF.

ENDFORM.

form preenche_tab_exec_call_transac tables    p_itab_ctu_params

                                    structure itab_ctu_params

                                    using     p_mode

                                              p_update.

  p_itab_ctu_params-dismode  = p_mode.

  p_itab_ctu_params-updmode  = p_update.

  APPEND p_itab_ctu_params.

endform.

* >> Início da inclusão:

FORM fi_wt_fill_acc_int_tab TABLES o_acc_tab TYPE acc_int_tab_struc

                             USING value(i_bukrs) LIKE t001-bukrs

                                   value(i_koart) LIKE bseg-koart

                                   value(i_acct) LIKE bseg-lifnr

                                   value(i_t059p) STRUCTURE t059p

                                   value(i_budat) LIKE bkpf-budat

                                   value(i_glvor) LIKE bkpf-glvor.

  DATA: h_wtak LIKE wtak OCCURS 1 WITH HEADER LINE,

        h_wtad LIKE wtad OCCURS 1 WITH HEADER LINE.

  PERFORM fi_wt_read_accumulation_tables TABLES h_wtak

                                                h_wtad

                                          USING i_bukrs

                                                i_koart

                                                i_acct

                                                i_t059p-witht

                                                i_budat

                                                i_glvor.

  PERFORM fi_wt_prepare_acc_int_tab TABLES o_acc_tab

                                           h_wtak

                                           h_wtad

                                    USING  i_koart

                                           i_t059p-wt_accpt

                                           i_budat.

ENDFORM.

FORM fi_wt_read_accumulation_tables TABLES o_wtak  STRUCTURE wtak

                                           o_wtad  STRUCTURE wtad

                              USING value(i_bukrs) LIKE t001-bukrs

                                    value(i_koart) LIKE bseg-koart

                                    value(i_acct)  LIKE bseg-lifnr

                                    value(i_type)  LIKE t059p-witht

                                    value(i_budat) LIKE bkpf-budat

                                    value(i_glvor) LIKE bkpf-glvor.

  DATA: hjahr LIKE wtak-wt_caly,

        h_buk_tab LIKE regus OCCURS 1 WITH HEADER LINE,

        h_wtak LIKE wtak OCCURS 1 WITH HEADER LINE,

        h_wtad LIKE wtad OCCURS 1 WITH HEADER LINE.

  CLEAR: o_wtak, o_wtad.

  REFRESH: o_wtak, o_wtad.

  CLEAR h_buk_tab.

  REFRESH h_buk_tab.

  hjahr = i_budat(4).

  h_buk_tab-bukrs = i_bukrs.

  APPEND h_buk_tab.

  IF i_koart = char_k.

    CALL FUNCTION 'FI_WT_GET_X_WTAK'

         EXPORTING

              i_lifnr   = i_acct

         TABLES

              t_wtak    = h_wtak

              i_buk_tab = h_buk_tab.

    READ TABLE h_wtak WITH KEY bukrs = i_bukrs

                               lifnr = i_acct

                               witht = i_type.

    IF sy-subrc <> 0 OR i_glvor EQ 'RMRP'.

      CALL FUNCTION 'FI_WT_READ_WTAK'

           EXPORTING

                i_bukrs        = i_bukrs

                i_lifnr        = i_acct

                i_witht        = i_type

           TABLES

                t_wtak         = o_wtak

           EXCEPTIONS

                no_entry_found = 1

                OTHERS         = 2.

      IF l_trace_active = 'X'

       AND sy-cprog = 'RFWT1000'.

        DATA: l_base_amnt LIKE with_item-wt_qsshh,

              l_wt_amount LIKE with_item-wt_qsshh,

              l_hlp_amount LIKE with_item-wt_qsshh,

              l_hlp_amounta LIKE with_item-wt_qsshh,

              i_code LIKE t059z-wt_withcd,

              l_hwaer LIKE bkpf-hwaer,

              hmonth LIKE bkpf-monat,

              l_counter.

        hmonth = i_budat+4(2).

        CLEAR l_counter.

        l_hwaer = i_wtax_trace-waers.

        LOOP AT i_wtax_trace WHERE bukrs = i_bukrs

                                AND text = 'ACCUMK'

                                AND witht = i_type

                                AND wt_acco = i_acct.

          i_code = i_wtax_trace-wt_withcd.

          l_counter = l_counter + 1.

          CASE l_counter.

            WHEN '1'. l_base_amnt = i_wtax_trace-dmbtr.

            WHEN '2'. l_wt_amount = i_wtax_trace-dmbtr.

            WHEN '3'. l_hlp_amount = i_wtax_trace-dmbtr.

            WHEN '4'.

              l_hlp_amounta = i_wtax_trace-dmbtr.

              EXIT.

          ENDCASE.

        ENDLOOP.

        i_wtax_trace-waers = l_hwaer.

        IF sy-subrc = 0.

          CLEAR o_wtak.

          REFRESH o_wtak.

          PERFORM fi_wt_accumulation_table_add TABLES o_wtak

                                                      o_wtad

                                                USING char_k

                                                      i_bukrs

                                                      i_acct

                                                      hmonth

                                                      hjahr

                                                      i_type

                                                      i_code

                                                      l_base_amnt

                                                      l_wt_amount

                                                      l_hlp_amount

                                                      l_hlp_amounta.

        ENDIF.

      ENDIF.

      LOOP AT o_wtak.

        h_wtak = o_wtak.

        APPEND h_wtak.

      ENDLOOP.

      CALL FUNCTION 'FI_WT_PUT_X_WTAK'

           EXPORTING

                i_lifnr   = i_acct

           TABLES

                t_wtak    = h_wtak

                i_buk_tab = h_buk_tab.

    ELSE.

      LOOP AT h_wtak WHERE bukrs = i_bukrs

                      AND  lifnr = i_acct

                      AND  witht = i_type.

        o_wtak = h_wtak.

        APPEND o_wtak.

      ENDLOOP.

    ENDIF.

  ELSEIF i_koart = char_d.

    CALL FUNCTION 'FI_WT_GET_X_WTAD'

         EXPORTING

              i_kunnr   = i_acct

         TABLES

              t_wtad    = h_wtad

              i_buk_tab = h_buk_tab.

    READ TABLE h_wtad WITH KEY bukrs = i_bukrs

                               kunnr = i_acct

                               witht = i_type.

    IF sy-subrc <> 0 OR i_glvor EQ 'RMRP'.

      CALL FUNCTION 'FI_WT_READ_WTAD'

           EXPORTING

                i_bukrs        = i_bukrs

                i_kunnr        = i_acct

                i_witht        = i_type

           TABLES

                t_wtad         = o_wtad

           EXCEPTIONS

                no_entry_found = 1

                OTHERS         = 2.

      LOOP AT o_wtad.

        h_wtad = o_wtad.

        APPEND h_wtad.

      ENDLOOP.

      CALL FUNCTION 'FI_WT_PUT_X_WTAD'

           EXPORTING

                i_kunnr   = i_acct

           TABLES

                t_wtad    = h_wtad

                i_buk_tab = h_buk_tab.

    ELSE.

      LOOP AT h_wtad WHERE  bukrs = i_bukrs

                       AND  kunnr = i_acct

                       AND  witht = i_type.

        o_wtad = h_wtad.

        APPEND o_wtad.

      ENDLOOP.

    ENDIF.

  ENDIF.

ENDFORM.

FORM fi_wt_prepare_acc_int_tab TABLES o_acc_tab TYPE acc_int_tab_struc

                                      i_wtak STRUCTURE wtak

                                      i_wtad STRUCTURE wtad

                            USING value(i_koart)   LIKE bseg-koart

                                  value(i_pattern) LIKE t059p-wt_accpt

                                  value(i_budat)   LIKE bkpf-budat.

  DATA: j_tab LIKE wtak OCCURS 1 WITH HEADER LINE.

  DATA: hmonth LIKE bkpf-monat.

  DATA: BEGIN OF looptab_struc,

              lifnr LIKE wtak-lifnr,

              bukrs LIKE wtak-bukrs,

              witht LIKE wtak-witht,

              wt_withcd LIKE wtak-wt_withcd,

        END OF looptab_struc.

  DATA: l_tab LIKE wtak OCCURS 1 WITH HEADER LINE,

        n_tab LIKE wtak OCCURS 1 WITH HEADER LINE,

        looptab LIKE looptab_struc OCCURS 1 WITH HEADER LINE.

  DATA: startmonth LIKE bkpf-monat,

        month LIKE bkpf-monat,

        hjahr LIKE wtak-wt_caly,

        ljahr LIKE wtak-wt_caly,

        njahr LIKE wtak-wt_caly.

  DATA: h_base(13) TYPE c,

        h_amnt(13) TYPE c,

        h_hamnt(14) TYPE c,

        h_hamnta(15) TYPE c,

        s_base LIKE wtak-wt_bs01,

        s_amnt LIKE wtak-wt_wt01,

        s_hamnt LIKE wtak-wt_hlp01,

        s_hamnta LIKE wtak-wt_hlpa01.

  FIELD-SYMBOLS: <h_base> TYPE ANY,

                 <h_amnt> TYPE ANY,

                 <h_hamnt> TYPE ANY,

                 <h_hamnta> TYPE ANY.

  CONSTANTS: c_base(10)   TYPE c VALUE '_TAB-WT_BS',

             c_amnt(10)   TYPE c VALUE '_TAB-WT_WT',

             c_hamnt(11)  TYPE c VALUE '_TAB-WT_HLP',

             c_hamnta(12) TYPE c VALUE '_TAB-WT_HLPA'.

  hmonth = i_budat+4(2).

  hjahr = i_budat(4).

  ljahr = i_budat(4) - 1.

  njahr = i_budat(4) + 1.

  IF i_koart = char_k.

    LOOP AT i_wtak.

      IF i_wtak-wt_caly = hjahr.

        j_tab = i_wtak.

        APPEND j_tab.

      ELSE.

        IF i_wtak-wt_caly = ljahr.

          l_tab = i_wtak.

          APPEND l_tab.

        ELSE.

          IF i_wtak-wt_caly = njahr.

            n_tab = i_wtak.

            APPEND n_tab.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ELSEIF i_koart = char_d.

    LOOP AT i_wtad.

      IF i_wtad-wt_caly = hjahr.

        j_tab = i_wtad.

        APPEND j_tab.

      ELSE.

        IF i_wtad-wt_caly = ljahr.

          l_tab = i_wtad.

          APPEND l_tab.

        ELSE.

          IF i_wtad-wt_caly = njahr.

            n_tab = i_wtad.

            APPEND n_tab.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDIF.

  CASE i_pattern.

    WHEN '1' OR 'A'.

      LOOP AT j_tab.

        o_acc_tab-type = j_tab-witht.

        o_acc_tab-code = j_tab-wt_withcd.

        o_acc_tab-base =

                   j_tab-wt_bs01 + j_tab-wt_bs02 +

                   j_tab-wt_bs03 + j_tab-wt_bs04 +

                   j_tab-wt_bs05 + j_tab-wt_bs06 +

                   j_tab-wt_bs07 + j_tab-wt_bs08 +

                   j_tab-wt_bs09 + j_tab-wt_bs10 +

                   j_tab-wt_bs11 + j_tab-wt_bs12.

        o_acc_tab-amnt =

                   j_tab-wt_wt01 + j_tab-wt_wt02 +

                   j_tab-wt_wt03 + j_tab-wt_wt04 +

                   j_tab-wt_wt05 + j_tab-wt_wt06 +

                   j_tab-wt_wt07 + j_tab-wt_wt08 +

                   j_tab-wt_wt09 + j_tab-wt_wt10 +

                   j_tab-wt_wt11 + j_tab-wt_wt12.

        o_acc_tab-hamnt =

                   j_tab-wt_hlp01 + j_tab-wt_hlp02 +

                   j_tab-wt_hlp03 + j_tab-wt_hlp04 +

                   j_tab-wt_hlp05 + j_tab-wt_hlp06 +

                   j_tab-wt_hlp07 + j_tab-wt_hlp08 +

                   j_tab-wt_hlp09 + j_tab-wt_hlp10 +

                   j_tab-wt_hlp11 + j_tab-wt_hlp12.

        o_acc_tab-hamnta =

                   j_tab-wt_hlpa01 + j_tab-wt_hlpa02 +

                   j_tab-wt_hlpa03 + j_tab-wt_hlpa04 +

                   j_tab-wt_hlpa05 + j_tab-wt_hlpa06 +

                   j_tab-wt_hlpa07 + j_tab-wt_hlpa08 +

                   j_tab-wt_hlpa09 + j_tab-wt_hlpa10 +

                   j_tab-wt_hlpa11 + j_tab-wt_hlpa12.

        APPEND o_acc_tab.

      ENDLOOP.

    WHEN '2'.

      LOOP AT j_tab.

        o_acc_tab-type = j_tab-witht.

        o_acc_tab-code = j_tab-wt_withcd.

        IF hmonth = '01' OR hmonth = '02' OR hmonth = '03'.

          o_acc_tab-base =  j_tab-wt_bs01 +

                            j_tab-wt_bs02 +

                            j_tab-wt_bs03.

          o_acc_tab-amnt =  j_tab-wt_wt01 +

                            j_tab-wt_wt02 +

                            j_tab-wt_wt03.

          o_acc_tab-hamnt = j_tab-wt_hlp01 +

                            j_tab-wt_hlp02 +

                            j_tab-wt_hlp03.

          o_acc_tab-hamnta = j_tab-wt_hlpa01 +

                             j_tab-wt_hlpa02 +

                             j_tab-wt_hlpa03.

        ELSEIF hmonth = '04' OR hmonth = '05' OR hmonth = '06'.

          o_acc_tab-base =  j_tab-wt_bs04 +

                            j_tab-wt_bs05 +

                            j_tab-wt_bs06.

          o_acc_tab-amnt =  j_tab-wt_wt04 +

                            j_tab-wt_wt05 +

                            j_tab-wt_wt06.

          o_acc_tab-hamnt = j_tab-wt_hlp04 +

                            j_tab-wt_hlp05 +

                            j_tab-wt_hlp06.

          o_acc_tab-hamnta = j_tab-wt_hlpa04 +

                             j_tab-wt_hlpa05 +

                             j_tab-wt_hlpa06.

        ELSEIF hmonth = '07' OR hmonth = '08' OR hmonth = '09'.

          o_acc_tab-base =  j_tab-wt_bs07 +

                            j_tab-wt_bs08 +

                            j_tab-wt_bs09.

          o_acc_tab-amnt =  j_tab-wt_wt07 +

                            j_tab-wt_wt08 +

                            j_tab-wt_wt09.

          o_acc_tab-hamnt = j_tab-wt_hlp07 +

                            j_tab-wt_hlp08 +

                            j_tab-wt_hlp09.

          o_acc_tab-hamnta = j_tab-wt_hlpa07 +

                             j_tab-wt_hlpa08 +

                             j_tab-wt_hlpa09.

        ELSEIF hmonth = '10' OR hmonth = '11' OR hmonth = '12'.

          o_acc_tab-base  = j_tab-wt_bs10 +

                            j_tab-wt_bs11 +

                            j_tab-wt_bs12.

          o_acc_tab-amnt  = j_tab-wt_wt10 +

                            j_tab-wt_wt11 +

                            j_tab-wt_wt12.

          o_acc_tab-hamnt = j_tab-wt_hlp10 +

                            j_tab-wt_hlp11 +

                            j_tab-wt_hlp12.

          o_acc_tab-hamnta = j_tab-wt_hlpa10 +

                             j_tab-wt_hlpa11 +

                             j_tab-wt_hlpa12.

        ENDIF.

        APPEND o_acc_tab.

      ENDLOOP.

    WHEN '3'.

      LOOP AT j_tab.

        o_acc_tab-type = j_tab-witht.

        o_acc_tab-code = j_tab-wt_withcd.

        CASE hmonth.

          WHEN '01'.

            o_acc_tab-base  = j_tab-wt_bs01.

            o_acc_tab-amnt  = j_tab-wt_wt01.

            o_acc_tab-hamnt = j_tab-wt_hlp01.

            o_acc_tab-hamnta = j_tab-wt_hlpa01.

          WHEN '02'.

            o_acc_tab-base  = j_tab-wt_bs02.

            o_acc_tab-amnt  = j_tab-wt_wt02.

            o_acc_tab-hamnt = j_tab-wt_hlp02.

            o_acc_tab-hamnta = j_tab-wt_hlpa02.

          WHEN '03'.

            o_acc_tab-base  = j_tab-wt_bs03.

            o_acc_tab-amnt  = j_tab-wt_wt03.

            o_acc_tab-hamnt = j_tab-wt_hlp03.

            o_acc_tab-hamnta = j_tab-wt_hlpa03.

          WHEN '04'.

            o_acc_tab-base  = j_tab-wt_bs04.

            o_acc_tab-amnt  = j_tab-wt_wt04.

            o_acc_tab-hamnt = j_tab-wt_hlp04.

            o_acc_tab-hamnta = j_tab-wt_hlpa04.

          WHEN '05'.

            o_acc_tab-base  = j_tab-wt_bs05.

            o_acc_tab-amnt  = j_tab-wt_wt05.

            o_acc_tab-hamnt = j_tab-wt_hlp05.

            o_acc_tab-hamnta = j_tab-wt_hlpa05.

          WHEN '06'.

            o_acc_tab-base  = j_tab-wt_bs06.

            o_acc_tab-amnt  = j_tab-wt_wt06.

            o_acc_tab-hamnt = j_tab-wt_hlp06.

            o_acc_tab-hamnta = j_tab-wt_hlpa06.

          WHEN '07'.

            o_acc_tab-base  = j_tab-wt_bs07.

            o_acc_tab-amnt  = j_tab-wt_wt07.

            o_acc_tab-hamnt = j_tab-wt_hlp07.

            o_acc_tab-hamnta = j_tab-wt_hlpa07.

          WHEN '08'.

            o_acc_tab-base  = j_tab-wt_bs08.

            o_acc_tab-amnt  = j_tab-wt_wt08.

            o_acc_tab-hamnt = j_tab-wt_hlp08.

            o_acc_tab-hamnta = j_tab-wt_hlpa08.

          WHEN '09'.

            o_acc_tab-base  = j_tab-wt_bs09.

            o_acc_tab-amnt  = j_tab-wt_wt09.

            o_acc_tab-hamnt = j_tab-wt_hlp09.

            o_acc_tab-hamnta = j_tab-wt_hlpa09.

          WHEN '10'.

            o_acc_tab-base   = j_tab-wt_bs10.

            o_acc_tab-amnt  = j_tab-wt_wt10.

            o_acc_tab-hamnt = j_tab-wt_hlp10.

            o_acc_tab-hamnta = j_tab-wt_hlpa10.

          WHEN '11'.

            o_acc_tab-base  = j_tab-wt_bs11.

            o_acc_tab-amnt  = j_tab-wt_wt11.

            o_acc_tab-hamnt = j_tab-wt_hlp11.

            o_acc_tab-hamnta = j_tab-wt_hlpa11.

          WHEN '12'.

            o_acc_tab-base  = j_tab-wt_bs12.

            o_acc_tab-amnt  = j_tab-wt_wt12.

            o_acc_tab-hamnt = j_tab-wt_hlp12.

            o_acc_tab-hamnta = j_tab-wt_hlpa12.

        ENDCASE.

        APPEND o_acc_tab.

      ENDLOOP.

    WHEN 'B' OR 'C' OR 'D' OR 'E' OR

         'F' OR 'G' OR 'H' OR 'I' OR

         'J' OR 'K' OR 'L'.

      CASE i_pattern.

        WHEN 'B'.

          startmonth = '02'.

        WHEN 'C'.

          startmonth = '03'.

        WHEN 'D'.

          startmonth = '04'.

        WHEN 'E'.

          startmonth = '05'.

        WHEN 'F'.

          startmonth = '06'.

        WHEN 'G'.

          startmonth = '07'.

        WHEN 'H'.

          startmonth = '08'.

        WHEN 'I'.

          startmonth = '09'.

        WHEN 'J'.

          startmonth = '10'.

        WHEN 'K'.

          startmonth = '11'.

        WHEN 'L'.

          startmonth = '12'.

      ENDCASE.

      IF i_koart = char_k.

        LOOP AT i_wtak.

          CLEAR looptab.

          MOVE-CORRESPONDING i_wtak TO looptab.

          COLLECT looptab.

        ENDLOOP.

      ELSEIF i_koart = char_d.

        LOOP AT i_wtad.

          CLEAR looptab.

          MOVE-CORRESPONDING i_wtad TO looptab.

          looptab-lifnr = i_wtad-kunnr.

          COLLECT looptab.

        ENDLOOP.

      ENDIF.

      LOOP AT looptab.

        o_acc_tab-type = looptab-witht.

        o_acc_tab-code = looptab-wt_withcd.

        CLEAR: l_tab, n_tab, j_tab.

        READ TABLE j_tab WITH KEY bukrs     = looptab-bukrs

                                  lifnr     = looptab-lifnr

                                  wt_caly   = hjahr

                                  witht     = looptab-witht

                                  wt_withcd = looptab-wt_withcd.

        READ TABLE l_tab WITH KEY bukrs     = looptab-bukrs

                                  lifnr     = looptab-lifnr

                                  wt_caly   = ljahr

                                  witht     = looptab-witht

                                  wt_withcd = looptab-wt_withcd.

        READ TABLE n_tab WITH KEY bukrs     = looptab-bukrs

                                  lifnr     = looptab-lifnr

                                  wt_caly   = njahr

                                  witht     = looptab-witht

                                  wt_withcd = looptab-wt_withcd.

        CLEAR: s_base, s_amnt, s_hamnt, s_hamnta.

        IF startmonth LE hmonth.

          month = startmonth.

          WHILE month LE 12.

            CONCATENATE 'J' c_base month INTO h_base.

            ASSIGN (h_base) TO <h_base>.

            s_base = s_base + <h_base>.

            CONCATENATE 'J' c_amnt month INTO h_amnt.

            ASSIGN (h_amnt) TO <h_amnt>.

            s_amnt = s_amnt + <h_amnt>.

            CONCATENATE 'J' c_hamnt month INTO h_hamnt.

            ASSIGN (h_hamnt) TO <h_hamnt>.

            s_hamnt = s_hamnt + <h_hamnt>.

            CONCATENATE 'J' c_hamnta month INTO h_hamnta.

            ASSIGN (h_hamnta) TO <h_hamnta>.

            s_hamnta = s_hamnta + <h_hamnta>.

            month = month + 1.

          ENDWHILE.

          month = 01.

          WHILE month < startmonth.

            CONCATENATE 'N' c_base month INTO h_base.

            ASSIGN (h_base) TO <h_base>.

            s_base = s_base + <h_base>.

            CONCATENATE 'N' c_amnt month INTO h_amnt.

            ASSIGN (h_amnt) TO <h_amnt>.

            s_amnt = s_amnt + <h_amnt>.

            CONCATENATE 'N' c_hamnt month INTO h_hamnt.

            ASSIGN (h_hamnt) TO <h_hamnt>.

            s_hamnt = s_hamnt + <h_hamnt>.

            CONCATENATE 'N' c_hamnta month INTO h_hamnta.

            ASSIGN (h_hamnta) TO <h_hamnta>.

            s_hamnta = s_hamnta + <h_hamnta>.

            month = month + 1.

          ENDWHILE.

        ELSE.

          month = startmonth.

          WHILE month LE 12.

            CONCATENATE 'L' c_base month INTO h_base.

            ASSIGN (h_base) TO <h_base>.

            s_base = s_base + <h_base>.

            CONCATENATE 'L' c_amnt month INTO h_amnt.

            ASSIGN (h_amnt) TO <h_amnt>.

            s_amnt = s_amnt + <h_amnt>.

            CONCATENATE 'L' c_hamnt month INTO h_hamnt.

            ASSIGN (h_hamnt) TO <h_hamnt>.

            s_hamnt = s_hamnt + <h_hamnt>.

            CONCATENATE 'L' c_hamnta month INTO h_hamnta.

            ASSIGN (h_hamnta) TO <h_hamnta>.

            s_hamnta = s_hamnta + <h_hamnta>.

            month = month + 1.

          ENDWHILE.

          month = 01.

          WHILE month < startmonth.

            CONCATENATE 'J' c_base month INTO h_base.

            ASSIGN (h_base) TO <h_base>.

            s_base = s_base + <h_base>.

            CONCATENATE 'J' c_amnt month INTO h_amnt.

            ASSIGN (h_amnt) TO <h_amnt>.

            s_amnt = s_amnt + <h_amnt>.

            CONCATENATE 'J' c_hamnt month INTO h_hamnt.

            ASSIGN (h_hamnt) TO <h_hamnt>.

            s_hamnt = s_hamnt + <h_hamnt>.

            CONCATENATE 'J' c_hamnta month INTO h_hamnta.

            ASSIGN (h_hamnta) TO <h_hamnta>.

            s_hamnta = s_hamnta + <h_hamnta>.

            month = month + 1.

          ENDWHILE.

        ENDIF.

        o_acc_tab-base = s_base.

        o_acc_tab-amnt = s_amnt.

        o_acc_tab-hamnt = s_hamnt.

        o_acc_tab-hamnta = s_hamnta.

        APPEND o_acc_tab.

      ENDLOOP.

  ENDCASE.

ENDFORM.

FORM fi_wt_accumulation_table_add

                         TABLES yacck STRUCTURE wtak

                                yaccd STRUCTURE wtad

                          USING value(i_koart) LIKE bseg-koart

                                value(i_bukrs) LIKE t001-bukrs

                                value(i_acct)  LIKE bseg-lifnr

                                value(i_monat) LIKE bkpf-monat

                                value(i_jahr)  LIKE wtak-wt_caly

                                value(i_witht) LIKE t059p-witht

                                value(i_code)  LIKE t059z-wt_withcd

                                value(i_base) LIKE with_item-wt_qsshh

                                value(i_amnt)  LIKE with_item-wt_qbshh

                                value(i_hamnt) LIKE with_item-wt_qbshh

                                value(i_hamnta) LIKE with_item-wt_qbshh.

  IF i_koart = char_k.

    CLEAR yacck.

    CASE i_monat.

      WHEN '01'.

        yacck-wt_bs01   =  yacck-wt_bs01  + i_base.

        yacck-wt_wt01   =  yacck-wt_wt01  + i_amnt.

        yacck-wt_hlp01  =  yacck-wt_hlp01 + i_hamnt.

        yacck-wt_hlpa01 =  yacck-wt_hlpa01 + i_hamnta.

      WHEN '02'.

        yacck-wt_bs02   =  yacck-wt_bs02  + i_base.

        yacck-wt_wt02   =  yacck-wt_wt02  + i_amnt.

        yacck-wt_hlp02  =  yacck-wt_hlp02 + i_hamnt.

        yacck-wt_hlpa02  =  yacck-wt_hlpa02 + i_hamnta.

      WHEN '03'.

        yacck-wt_bs03   =  yacck-wt_bs03  + i_base.

        yacck-wt_wt03   =  yacck-wt_wt03  + i_amnt.

        yacck-wt_hlp03  =  yacck-wt_hlp03 + i_hamnt.

        yacck-wt_hlpa03  =  yacck-wt_hlpa03 + i_hamnta.

      WHEN '04'.

        yacck-wt_bs04   =  yacck-wt_bs04 + i_base.

        yacck-wt_wt04   =  yacck-wt_wt04  + i_amnt.

        yacck-wt_hlp04  =  yacck-wt_hlp04 + i_hamnt.

        yacck-wt_hlpa04  =  yacck-wt_hlpa04 + i_hamnta.

      WHEN '05'.

        yacck-wt_bs05   =  yacck-wt_bs05  + i_base.

        yacck-wt_wt05   =  yacck-wt_wt05  + i_amnt.

        yacck-wt_hlp05  =  yacck-wt_hlp05 + i_hamnt.

        yacck-wt_hlpa05  =  yacck-wt_hlpa05 + i_hamnta.

      WHEN '06'.

        yacck-wt_bs06   =  yacck-wt_bs06  + i_base.

        yacck-wt_wt06   =  yacck-wt_wt06  + i_amnt.

        yacck-wt_hlp06  =  yacck-wt_hlp06 + i_hamnt.

        yacck-wt_hlpa06  =  yacck-wt_hlpa06 + i_hamnta.

      WHEN '07'.

        yacck-wt_bs07   =  yacck-wt_bs07  + i_base.

        yacck-wt_wt07   =  yacck-wt_wt07  + i_amnt.

        yacck-wt_hlp07  =  yacck-wt_hlp07 + i_hamnt.

        yacck-wt_hlpa07  =  yacck-wt_hlpa07 + i_hamnta.

      WHEN '08'.

        yacck-wt_bs08   =  yacck-wt_bs08  + i_base.

        yacck-wt_wt08   =  yacck-wt_wt08  + i_amnt.

        yacck-wt_hlp08  =  yacck-wt_hlp08 + i_hamnt.

        yacck-wt_hlpa08  =  yacck-wt_hlpa08 + i_hamnta.

      WHEN '09'.

        yacck-wt_bs09   =  yacck-wt_bs09  + i_base.

        yacck-wt_wt09   =  yacck-wt_wt09  + i_amnt.

        yacck-wt_hlp09  =  yacck-wt_hlp09 + i_hamnt.

        yacck-wt_hlpa09  =  yacck-wt_hlpa09 + i_hamnta.

      WHEN '10'.

        yacck-wt_bs10   =  yacck-wt_bs10  + i_base.

        yacck-wt_wt10   =  yacck-wt_wt10  + i_amnt.

        yacck-wt_hlp10  =  yacck-wt_hlp10 + i_hamnt.

        yacck-wt_hlpa10  =  yacck-wt_hlpa10 + i_hamnta.

      WHEN '11'.

        yacck-wt_bs11   =  yacck-wt_bs11  + i_base.

        yacck-wt_wt11   =  yacck-wt_wt11  + i_amnt.

        yacck-wt_hlp11  =  yacck-wt_hlp11 + i_hamnt.

        yacck-wt_hlpa11  =  yacck-wt_hlpa11 + i_hamnta.

      WHEN '12'.

        yacck-wt_bs12   =  yacck-wt_bs12  + i_base.

        yacck-wt_wt12   =  yacck-wt_wt12  + i_amnt.

        yacck-wt_hlp12  =  yacck-wt_hlp12 + i_hamnt.

        yacck-wt_hlpa12  =  yacck-wt_hlpa12 + i_hamnta.

    ENDCASE.

    yacck-bukrs     = i_bukrs.

    yacck-lifnr     = i_acct.

    yacck-wt_caly   = i_jahr.

    yacck-witht     = i_witht.

    yacck-wt_withcd = i_code.

    COLLECT yacck.

  ELSEIF i_koart = char_d.

    CLEAR yaccd.

    CASE i_monat.

      WHEN '01'.

        yaccd-wt_bs01   =  yaccd-wt_bs01  + i_base.

        yaccd-wt_wt01   =  yaccd-wt_wt01  + i_amnt.

        yaccd-wt_hlp01  =  yaccd-wt_hlp01 + i_hamnt.

        yaccd-wt_hlpa01  =  yaccd-wt_hlpa01 + i_hamnta.

      WHEN '02'.

        yaccd-wt_bs02   =  yaccd-wt_bs02  + i_base.

        yaccd-wt_wt02   =  yaccd-wt_wt02  + i_amnt.

        yaccd-wt_hlp02  =  yaccd-wt_hlp02 + i_hamnt.

        yaccd-wt_hlpa02  =  yaccd-wt_hlpa02 + i_hamnta.

      WHEN '03'.

        yaccd-wt_bs03   =  yaccd-wt_bs03  + i_base.

        yaccd-wt_wt03   =  yaccd-wt_wt03  + i_amnt.

        yaccd-wt_hlp03  =  yaccd-wt_hlp03 + i_hamnt.

        yaccd-wt_hlpa03  =  yaccd-wt_hlpa03 + i_hamnta.

      WHEN '04'.

        yaccd-wt_bs04   =  yaccd-wt_bs04  + i_base.

        yaccd-wt_wt04   =  yaccd-wt_wt04  + i_amnt.

        yaccd-wt_hlp04  =  yaccd-wt_hlp04 + i_hamnt.

        yaccd-wt_hlpa04  =  yaccd-wt_hlpa04 + i_hamnta.

      WHEN '05'.

        yaccd-wt_bs05   =  yaccd-wt_bs05  + i_base.

        yaccd-wt_wt05   =  yaccd-wt_wt05  + i_amnt.

        yaccd-wt_hlp05  =  yaccd-wt_hlp05 + i_hamnt.

        yaccd-wt_hlpa05  =  yaccd-wt_hlpa05 + i_hamnta.

      WHEN '06'.

        yaccd-wt_bs06   =  yaccd-wt_bs06  + i_base.

        yaccd-wt_wt06   =  yaccd-wt_wt06  + i_amnt.

        yaccd-wt_hlp06  =  yaccd-wt_hlp06 + i_hamnt.

        yaccd-wt_hlpa06  =  yaccd-wt_hlpa06 + i_hamnta.

      WHEN '07'.

        yaccd-wt_bs07   =  yaccd-wt_bs07  + i_base.

        yaccd-wt_wt07   =  yaccd-wt_wt07  + i_amnt.

        yaccd-wt_hlp07  =  yaccd-wt_hlp07 + i_hamnt.

        yaccd-wt_hlpa07  =  yaccd-wt_hlpa07 + i_hamnta.

      WHEN '08'.

        yaccd-wt_bs08   =  yaccd-wt_bs08  + i_base.

        yaccd-wt_wt08   =  yaccd-wt_wt08  + i_amnt.

        yaccd-wt_hlp08  =  yaccd-wt_hlp08 + i_hamnt.

        yaccd-wt_hlpa08  =  yaccd-wt_hlpa08 + i_hamnta.

      WHEN '09'.

        yaccd-wt_bs09   =  yaccd-wt_bs09  + i_base.

        yaccd-wt_wt09   =  yaccd-wt_wt09  + i_amnt.

        yaccd-wt_hlp09  =  yaccd-wt_hlp09 + i_hamnt.

        yaccd-wt_hlpa09  =  yaccd-wt_hlpa09 + i_hamnta.

      WHEN '10'.

        yaccd-wt_bs10   =  yaccd-wt_bs10  + i_base.

        yaccd-wt_wt10   =  yaccd-wt_wt10  + i_amnt.

        yaccd-wt_hlp10  =  yaccd-wt_hlp10 + i_hamnt.

        yaccd-wt_hlpa10  =  yaccd-wt_hlpa10 + i_hamnta.

      WHEN '11'.

        yaccd-wt_bs11   =  yaccd-wt_bs11  + i_base.

        yaccd-wt_wt11   =  yaccd-wt_wt11  + i_amnt.

        yaccd-wt_hlp11  =  yaccd-wt_hlp11 + i_hamnt.

        yaccd-wt_hlpa11  =  yaccd-wt_hlpa11 + i_hamnta.

      WHEN '12'.

        yaccd-wt_bs12   =  yaccd-wt_bs12  + i_base.

        yaccd-wt_wt12   =  yaccd-wt_wt12  + i_amnt.

        yaccd-wt_hlp12  =  yaccd-wt_hlp12 + i_hamnt.

        yaccd-wt_hlpa12  =  yaccd-wt_hlpa12 + i_hamnta.

    ENDCASE.

    yaccd-bukrs     = i_bukrs.

    yaccd-kunnr     = i_acct.

    yaccd-wt_caly   = i_jahr.

    yaccd-witht     = i_witht.

    yaccd-wt_withcd = i_code.

    COLLECT yaccd.

  ENDIF.

ENDFORM.

* << Fim da inclusão

 

----------------------------------------------------------------------------------------------------

Modificações efetuadas em REPS /PWS/LZYGLGF2TOP

 

...

data: begin of itab_empresas occurs 10,

      bukrs  like skb1-bukrs,

      conta  like skb1-saknr,

      end of itab_empresas.

data: v_input              LIKE screen-input,

      v_output             LIKE screen-output,

      v_required           LIKE screen-required,

      v_invisible          LIKE screen-invisible.

data wa_RPY_DYFATC type RPY_DYFATC occurs 0 with header line.

data itab_ctu_params like ctu_params OCCURS 0 WITH HEADER LINE.

* >> Início da inclusão:

TYPES: BEGIN OF acc_int_struc,

           type  LIKE wtak-witht,

           code  LIKE wtak-wt_withcd,

           base  LIKE wtak-wt_bs01,

           amnt  LIKE wtak-wt_wt01,

           hamnt LIKE wtak-wt_hlp01,

           hamnta LIKE wtak-wt_hlpa01,

       END OF acc_int_struc.

TYPES: acc_int_tab_struc TYPE acc_int_struc OCCURS 1.

TYPES: BEGIN OF wtax_trace_type,

           belnr LIKE with_itemx-belnr,

           gjahr LIKE with_itemx-gjahr,

           bukrs LIKE with_item-bukrs,

           buzei LIKE with_item-buzei,

           wt_acco LIKE with_item-wt_acco,

           witht LIKE with_item-witht,

           wt_withcd LIKE with_item-wt_withcd,

           text(8) TYPE c,

           dmbtr LIKE bseg-dmbtr,

           waers LIKE bkpf-waers,

           payment TYPE c,

        END OF wtax_trace_type.

DATA: i_wtax_trace TYPE STANDARD TABLE OF wtax_trace_type

                                        WITH HEADER LINE,

      l_trace_active TYPE c.

INCLUDE inclkons.

* << Fim da inclusão