CE PLUS - Nota 005660

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Prestação de Contas

Data/Hora da Publicação: 16/01/2008 00:00:00

Data/Hora Última Alteração: 09/03/2010 11:30:26

Descrição da Nota: IMPLEMENTADO NA FUNÇÃO ZYGL_IMPOSTO DE Nº DE DOCUMENTO COMPENSAÇÃO

Sintoma

 

Implementado o tratamento na função zygl_imposto de Nº de Documento Compensação.

Ajuste na prestação de contas.

 

Solução

 

Implementado o tratamento na função zygl_imposto de Nº de Documento Compensação

Versões Tratadas

7.0

Informações Complementares

 

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

Nota Número 05660 Data: 16/01/2008 Hora: 15:06:42

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

 

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

Nota Número              : 05660

Categoria                : Melhoria

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00004

Agrupamento              : 00030

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

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

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

Palavras Chave:

COMPENSAÇÃO - ZYGL_IMPOSTO - NUMERO DOCUMENTO

 

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

Objetos da nota:

FUNC /PWS/ZYGL_IMPOSTO

 

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

Modificações efetuadas em FUNC /PWS/ZYGL_IMPOSTO

 

...

        itab_zyglt378    LIKE /pws/zyglt378 OCCURS 0 WITH HEADER LINE,

        itab_imposto_aux LIKE /pws/zygle369 OCCURS 0 WITH HEADER LINE,

        itab_bkpf        LIKE bkpf          OCCURS 0 WITH HEADER LINE.

  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,

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

        augbl    like with_item-augbl,

* << Fim da inclusão

        END OF itab_with_item.

  DATA itab_t059pp LIKE v_t059pp OCCURS 0 WITH HEADER LINE.

  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.

...

 

...

            witht EQ itab_imposto-cod_impo AND

            wt_accpt EQ '3'.

    IF sy-subrc = 0.

      SELECT  * FROM lfbw INTO TABLE itab_lfbw

               FOR ALL ENTRIES IN itab_imposto

                    WHERE lifnr     EQ p_lifnr

                      AND bukrs     EQ p_bukrs

                      AND witht     EQ itab_imposto-cod_impo

                      AND wt_subjct NE space.

      IF sy-subrc = 0.

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

        SELECT belnr gjahr  witht wt_withcd wt_qsshh wt_qbshh

* << Fim da exclusão

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

        SELECT belnr gjahr  witht wt_withcd wt_qsshh wt_qbshh augbl

* << Fim da inclusão

          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.

    SORT itab_imposto BY cod_impo.

    LOOP AT itab_with_item.

...

 

...

        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.

        LOOP AT itab_with_item WHERE witht EQ itab_imposto-cod_impo.

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

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

         continue.

       endif.

* << Fim da inclusão

          CLEAR itab_bkpf.

          READ TABLE itab_bkpf WITH KEY bukrs = p_bukrs

                                        belnr = itab_with_item-belnr

                                        gjahr = itab_with_item-gjahr

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

                                        stgrd = ''.

* << Fim da exclusão

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

                                        stblg = ''.

* << Fim da inclusão

          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.

        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 = ' '

...

 

...

      SELECT *

        FROM t059fb

        INTO TABLE itab_t059fb

        WHERE land1     EQ t001-land1      AND

              witht     EQ lfbw-witht      AND

              wt_withcd EQ lfbw-wt_withcd  AND

              wt_valid  <= v_date.

      IF sy-subrc = 0.

        SORT itab_t059fb BY wt_bbasb.

        LOOP AT itab_with_item WHERE witht EQ itab_imposto-cod_impo.

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

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

         continue.

       endif.

* << Fim da inclusão

          CLEAR itab_bkpf.

          READ TABLE itab_bkpf WITH KEY bukrs = p_bukrs

                                        belnr = itab_with_item-belnr

                                        gjahr = itab_with_item-gjahr

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

                                        stgrd = ''.

* << Fim da exclusão

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

                                        stblg = ''.

* << Fim da inclusão

          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.

        ENDLOOP.

        CLEAR itab_t059fb.

        READ TABLE itab_t059fb INDEX 1.

        v_total = itab_imposto-vl_base + v_qsshh.

        IF v_total > itab_t059fb-wt_bbasb.

          READ TABLE itab_t059fb INDEX 2.

...