CE PLUS - Nota 001052

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 17/03/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:23:37

Descrição da Nota: REGULARIZAÇÃO DAS DESPESAS.

Sintoma

As despesas de frete e seguro internacionais sendo parametrizadas da mesma forma elas estão tendo

comportamentos distintos.

 

 

Solução

Reajustadas rotinas das despesas.

 

Versões Tratadas

6.0

Informações Complementares

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

Nota Número 01052 Data: 17/03/2006 Hora: 13:32:39

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

 

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

Nota Número              : 01052

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00022

Agrupamento              : 00105

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

Referência às notas relacionadas:

Número - Ordem - Descrição Breve

 

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

REGULARIZAÇÃO DAS DESPESAS.

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

Palavras Chave:

FRETE - SEGURO - PARAMETRIZAÇÃO - DIFERENÇAS

 

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

Objetos da nota:

REPS /PWS/MZYCI010F03

REPS /PWS/ZYCIR006

 

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

Modificações efetuadas em REPS /PWS/MZYCI010F03

 

...

        IF ( itab_zycit033-tribipi EQ '1' ).

          itab_zycit036_aux-vlmov = ' '.

          itab_zycit036_aux-vldif = ' '.

          MODIFY itab_zycit036_aux.

        ENDIF.

* >> Início da exclusão: FORM RETIRA_IMPOSTO

      ELSEIF  itab_zycit036_aux-codigo EQ 'PIS'.

* << Fim da exclusão

* >> Início da inclusão: FORM RETIRA_IMPOSTO

      ELSEIF  itab_zycit036_aux-codigo EQ 'PIS'

         and itab_zycit036_aux-origem eq 'NF'.

* << Fim da inclusão

        SELECT SINGLE * FROM /pws/zycit398

          WHERE tpnf     EQ itab_zycit042-tpnf

          AND   tributos EQ itab_zycit036_aux-codigo

* >> Início da exclusão: FORM RETIRA_IMPOSTO

          AND   bukrs    EQ v_bukrs.

* << Fim da exclusão

* >> Início da inclusão: FORM RETIRA_IMPOSTO

          AND   bukrs    EQ v_bukrs

          AND   clnf     EQ v_clnf.

* << Fim da inclusão

        IF sy-subrc NE 0.

          SELECT SINGLE * FROM /pws/zycit398

          WHERE tpnf     EQ itab_zycit042-tpnf

          AND   tributos EQ itab_zycit036_aux-codigo

          AND   bukrs    EQ space.

...

 

...

            itab_zycit036_aux-vlmov = ' '.

            itab_zycit036_aux-vldif = ' '.

            MODIFY itab_zycit036_aux.

          ENDIF.

        ENDIF.

* >> Início da exclusão: FORM RETIRA_IMPOSTO

      ELSEIF  itab_zycit036_aux-codigo EQ 'COFINS'.

* << Fim da exclusão

* >> Início da inclusão: FORM RETIRA_IMPOSTO

      ELSEIF  itab_zycit036_aux-codigo EQ 'COFINS'

         and itab_zycit036_aux-origem eq 'NF'.

        SELECT SINGLE * FROM /pws/zycit398

          WHERE tpnf     EQ itab_zycit042-tpnf

                AND clnf     EQ v_clnf

                AND tributos EQ itab_zycit036_aux-codigo

                AND bukrs    EQ v_bukrs.

        IF sy-subrc NE 0.

* << Fim da inclusão

        SELECT SINGLE * FROM /pws/zycit398

          WHERE tpnf     EQ itab_zycit042-tpnf

          AND   tributos EQ itab_zycit036_aux-codigo

          AND   bukrs    EQ space.

        ENDIF.

        IF sy-subrc EQ 0.

          IF /pws/zycit398-creditar EQ 'S'.

            itab_zycit036_aux-vlmov = ' '.

            itab_zycit036_aux-vldif = ' '.

            MODIFY itab_zycit036_aux.

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

* >> Início da inclusão: FORM RETIRA_IMPOSTO

  DATA: it_zycit265 TYPE /pws/zycit265 OCCURS 0 WITH HEADER LINE.

  IF it_zycit265[] IS INITIAL AND NOT

     itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit265 INTO TABLE it_zycit265

             FOR ALL ENTRIES IN itab_zycit003

             WHERE nrseq EQ itab_zycit003-nrseq

               AND ebeln EQ itab_zycit003-ebeln

               AND ebelp EQ itab_zycit003-ebelp.

  ELSEIF it_zycit265[] IS INITIAL

     AND NOT itab_zycit003[] IS INITIAL.

    SELECT * FROM /pws/zycit265 INTO TABLE it_zycit265

             WHERE nrseq EQ itab_zycit001-nrseq.

  ENDIF.

  IF NOT it_zycit265[] IS INITIAL.

  v_clnf = 'C'.

    LOOP AT it_zycit265.

      CLEAR itab_zycit033.

      READ TABLE itab_zycit033 WITH KEY clnf  = v_clnf

                                        tpnf  = it_zycit265-tpnf

                                        regio = it_zycit265.

      IF sy-subrc NE 0.

        READ TABLE itab_zycit033 WITH KEY clnf  = v_clnf

                                          tpnf  = it_zycit265-tpnf.

      ENDIF.

      LOOP AT itab_zycit036_aux WHERE nrseq = it_zycit265-nrseq

                              AND ebeln = it_zycit265-ebeln

                               AND ebelp = it_zycit265-ebelp.

      READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036_aux-nrseq

                                        ebeln = itab_zycit036_aux-ebeln

                                        ebelp = itab_zycit036_aux-ebelp.

        IF itab_zycit036_aux-codigo EQ 'ICMS'.

          IF ( itab_zycit033-tribicms EQ '1' ) OR

            ( itab_zycit033-tribicms EQ '3' AND

            itab_zycit033-lei102 EQ 'X' ) OR

            itab_zycit100-icms_dif EQ 'X'.

            itab_zycit036_aux-vlmov = ' '.

            itab_zycit036_aux-vldif = ' '.

            MODIFY itab_zycit036_aux.

          ENDIF.

        ELSEIF  itab_zycit036_aux-codigo EQ 'IPI'.

          IF ( itab_zycit033-tribipi EQ '1' ).

            itab_zycit036_aux-vlmov = ' '.

            itab_zycit036_aux-vldif = ' '.

            MODIFY itab_zycit036_aux.

          ENDIF.

        ELSEIF itab_zycit036_aux-codigo EQ 'PIS'

           and itab_zycit036_aux-origem eq 'NFC'.

          SELECT SINGLE * FROM /pws/zycit398

            WHERE tpnf     EQ it_zycit265-tpnf

* << Fim da inclusão

          AND   tributos EQ itab_zycit036_aux-codigo

          AND   bukrs    EQ v_bukrs.

* >> Início da inclusão: FORM RETIRA_IMPOSTO

          IF sy-subrc NE 0.

            SELECT SINGLE * FROM /pws/zycit398

            WHERE tpnf     EQ it_zycit265-tpnf

              AND clnf  EQ v_clnf

              AND tributos EQ itab_zycit036_aux-codigo

              AND bukrs    EQ space.

          ENDIF.

          IF sy-subrc EQ 0.

            IF /pws/zycit398-creditar EQ 'S'.

              itab_zycit036_aux-vlmov = ' '.

              itab_zycit036_aux-vldif = ' '.

              MODIFY itab_zycit036_aux.

            ENDIF.

          ENDIF.

        ELSEIF itab_zycit036_aux-codigo EQ 'COFINS'

           and itab_zycit036_aux-origem eq 'NFC'.

          SELECT SINGLE * FROM /pws/zycit398

            WHERE tpnf     EQ it_zycit265-tpnf

              AND clnf     EQ v_clnf

              AND tributos EQ itab_zycit036_aux-codigo

              AND bukrs    EQ v_bukrs.

* << Fim da inclusão

        IF sy-subrc NE 0.

          SELECT SINGLE * FROM /pws/zycit398

* >> Início da exclusão: FORM RETIRA_IMPOSTO

          WHERE tpnf     EQ itab_zycit042-tpnf

* << Fim da exclusão

* >> Início da inclusão: FORM RETIRA_IMPOSTO

            WHERE tpnf     EQ it_zycit265-tpnf

* << Fim da inclusão

          AND   tributos EQ itab_zycit036_aux-codigo

          AND   bukrs    EQ space.

        ENDIF.

        IF sy-subrc EQ 0.

          IF /pws/zycit398-creditar EQ 'S'.

...

 

...

          ENDIF.

        ENDIF.

      ENDIF.

    ENDLOOP.

  ENDLOOP.

* >> Início da inclusão: FORM RETIRA_IMPOSTO

  ENDIF.

* << Fim da inclusão

  SELECT SINGLE land1

    FROM t001

    INTO t001-land1

    WHERE bukrs EQ /pws/zycie001-bukrs.

  SELECT * FROM /pws/zycit029 INTO TABLE itab_zycit029

...

 

...

    ENDIF.

  ENDIF.

  MOVE itab_zycit036_aux[] TO itab_zycit036_ori2[].

ENDFORM.

FORM move_plan_mov_aux.

* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX

data: v_vlreal like /pws/zycit036-vlmov.

* << Fim da inclusão

  CLEAR:  v_taxa, s_msg1.

  SELECT SINGLE land1

    FROM t001

    INTO t001-land1

    WHERE bukrs EQ /pws/zycie001-bukrs.

...

 

...

          itab_zycit036_aux2-waers_dif = wa_zycbt007-waersb.

        ENDIF.

        MODIFY itab_zycit036_aux2.

      ELSE.

        IF itab_zycit036_aux2-origem NE 'EST'.

* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX

          itab_zycit036_aux2-vldif = itab_zycit036_aux2-vlreal -

            itab_zycit036_aux2-vlmov.

* << Fim da exclusão

* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX

          clear: v_vlreal.

          v_vlreal = itab_zycit036_aux2-vlreal.

          PERFORM retorna_decimais USING itab_zycit036_aux2-waers

              CHANGING v_vlreal.

          PERFORM converter_moeda USING

                             v_vlreal

                             itab_zycit036_aux2-waers

                             wa_zycbt007-waersb

                    CHANGING v_vlreal.

         itab_zycit036_aux2-vldif = v_vlreal - itab_zycit036_aux2-vlmov.

* << Fim da inclusão

          itab_zycit036_aux2-waers_dif = wa_zycbt007-waersb.

          MODIFY itab_zycit036_aux2.

        ENDIF.

      ENDIF.

    ELSE.

      IF itab_zycit036_aux2-origem NE 'EST'.

* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX

        itab_zycit036_aux2-vldif = itab_zycit036_aux2-vlreal -

          itab_zycit036_aux2-vlmov.

* << Fim da exclusão

* >> Início da inclusão: FORM MOVE_PLAN_MOV_AUX

        clear: v_vlreal.

        v_vlreal = itab_zycit036_aux2-vlreal.

        PERFORM retorna_decimais USING itab_zycit036_aux2-waers

            CHANGING v_vlreal.

        PERFORM converter_moeda USING

                           v_vlreal

                           itab_zycit036_aux2-waers

                           wa_zycbt007-waersb

                  CHANGING v_vlreal.

        itab_zycit036_aux2-vldif = v_vlreal - itab_zycit036_aux2-vlmov.

* << Fim da inclusão

        itab_zycit036_aux2-waers_dif = wa_zycbt007-waersb.

        MODIFY itab_zycit036_aux2.

      ENDIF.

    ENDIF.

  ENDIF.

...

 

 

...

 

   LOOP AT itab_zycit036_aux .

     READ TABLE itab_zycit029 WITH KEY codigo = itab_zycit036_aux-codigo.

     IF itab_zycit029-estatistico = 'X'.

       itab_zycit036_aux-vlmov = ' '.

       itab_zycit036_aux-vldif = ' '.

       CLEAR: itab_zycit036_aux-waers_mov,

              itab_zycit036_aux-waers_dif.

     ENDIF.

     IF itab_zycit036_aux-origem = 'PED' AND

        itab_zycit029-provisao = 'X'.

       itab_zycit036_aux-vlmov = ' '.

       itab_zycit036_aux-vldif = ' '.

       CLEAR: itab_zycit036_aux-waers_mov,

              itab_zycit036_aux-waers_dif.

     ENDIF.

* >> Início da exclusão: FORM MOVE_PLAN_MOV_AUX

**   Verifica despesa

    IF itab_zycit036_aux-vldif = v_vldifp OR

       itab_zycit036_aux-vldif = v_vldifn.

      CLEAR:  itab_zycit036_aux-vldif,

              itab_zycit036_aux-waers_dif.

 

    ENDIF.

* << Fim da exclusão

 

     MODIFY itab_zycit036_aux.

   ENDLOOP.

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR006

 

...

                ENDIF.

              ENDIF.

              itab_zycit036-waers_mov = /pws/zycbt007-waersb.

              PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                     CHANGING itab_zycit036-vlmov.

* >> Início da exclusão: FORM CALCULAR_OUTROS_CUSTOS

              CLEAR: itab_zycit036-vldif, itab_zycit036-waers_dif.

* << Fim da exclusão

            ELSE.

              READ TABLE itab_zycit036_plan WITH KEY

                                         nrseq  = itab_zycit036-nrseq

                                         ebeln  = itab_zycit036-ebeln

                                         ebelp  = itab_zycit036-ebelp

...