CE PLUS - Nota 002677

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Custo Efetivo

Data/Hora da Publicação: 12/12/2006 00:00:00

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

Descrição da Nota: AJUSTES NO CUSTO EFETIVO

Sintoma

Atualização de valores da coluna movimentado do seguro, para não gerar diferença.

E os valores que aparecem ao dar duplo clique nas despesas para ver o rateio no custo efetivo

estavam com casa decimal incorreta.

 

 

Solução

Corrigido as inconsistências

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

PERFORMANCE NA TRANSAÇÃO /PWS/ZYCIR006 (ATUALIZAÇÃO DO CUSTO EFETIVO).

SISTEMA ESTA SE PERDENDO NA COMPOSIÇÃO DO VALOR TOTAL DA PASTA ITEM NO D

NF GLOBAL ESTA COM UMA DIFERENÇA DE 0,50 ENTRE A BASE DO ICMS E O TOTAL

Informações Complementares

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

Nota Número 02677 Data: 12/12/2006 Hora: 15:49:02

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

 

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

Nota Número              : 02677

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00025

Agrupamento              : 00144

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

Referência às notas relacionadas:

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

 

01137  - 00001 - 6.0    - 00023  - PERFORMANCE NA TRANSAÇÃO /PWS/ZYCIR006 (ATUALIZAÇÃO DO CUSTO EFET

01215  - 00002 - 6.0    - 00023  - SISTEMA ESTA SE PERDENDO NA COMPOSIÇÃO DO VALOR TOTAL DA PASTA IT

01547  - 00003 - 6.0    - 00023  - NF GLOBAL ESTA COM UMA DIFERENÇA DE 0,50 ENTRE A BASE DO ICMS E O

01580  - 00004 - 6.0    - 00023  - ERRO NO SEGURO DA NF EM JPY.

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

AJUSTES NO CUSTO EFETIVO

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

Palavras Chave:

MOVIMENTADO - DETALHE DESPESA - PLANEJADO - DIFERENÇA

 

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

Objetos da nota:

REPS /PWS/MZYCI010I01

REPS /PWS/MZYCI010O01

REPS /PWS/ZYCIR006

 

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

Modificações efetuadas em REPS /PWS/MZYCI010I01

 

...

          ENDSELECT.

          CLEAR v_treal.

          LOOP AT itab_zycit036.

            v_treal = v_treal + itab_zycit036-vlreal.

          ENDLOOP.

        ENDIF.

        IF sy-subrc EQ 0.

          READ TABLE itab_zycit036 INDEX 1.

          MOVE: itab_zycit036 TO /pws/zycie036a,

                v_treal TO  /pws/zycie036a-vlreal_emb.

* >> Início da inclusão: MODULE USER_COMMAND_0100

          loop at itab_zycit036.

            read table itab_zycit036_plan with key

                             nrseq = itab_zycit036-nrseq

                             ebeln = itab_zycit036-ebeln

                             ebelp = itab_zycit036-ebelp

                             codigo = itab_zycit036-codigo.

             if sy-subrc = 0.

               itab_zycit036-netpr = itab_zycit036_plan-netpr.

               itab_zycit036-waers = itab_zycit036_plan-waers.

               modify itab_zycit036.

             endif.

          endloop.

* << Fim da inclusão

          IF /pws/zycie036a-status NE 'M'.

            CLEAR /pws/zycit039.

            SELECT SINGLE land1

              FROM t001

              INTO t001-land1

              WHERE bukrs = /pws/zycie001-bukrs.

            SELECT SINGLE * FROM /pws/zycit039

                             WHERE codigo = itab_zycit036-codigo

                               AND land1 EQ t001-land1.

            /pws/zycie036a-condicao_emb   = /pws/zycit039-codrateio.

...

 

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

Modificações efetuadas em REPS /PWS/ZYCIR006

 

...

        v_acum_fre LIKE /pws/zycit085-vlfre,

        v_result   LIKE /pws/zycit036-vldif,

        v_resultf  LIKE /pws/zycit036-vldif,

        v_vlfre    LIKE /pws/zycit085-vlfre,

        v_ukursfre LIKE /pws/zycit085-ukursfre,

        v_vlseg    LIKE /pws/zycit085-vlseg,

        v_ukursseg LIKE /pws/zycit085-ukursseg,

        v_usd      LIKE /pws/zycie085-ukursfob,

        v_vl       LIKE /pws/zycit036-netpr VALUE '0.01',

        v_val_tot  LIKE /pws/zycit036-vlreal ,

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

        v_val_tot2  LIKE /pws/zycit036-vlreal ,

        v_val_tots2  LIKE /pws/zycit036-vlreal ,

* << Fim da inclusão

        v_val_tots  LIKE /pws/zycit036-vlreal ,

        v_linf TYPE i,

        v_lins TYPE i,

        v_tot_lins TYPE i,

        v_tot_linf TYPE i,

        v_valor_mi LIKE /pws/zycit036-vlreal,

        v_val     LIKE /pws/zycit100-vlseg  ,

        v_linha  TYPE i.

  IF itab_zycit036[] IS INITIAL .

    v_importou = 'S'.

...

 

...

    LOOP AT itab_zycit036 WHERE nrseqori <> '9999999999' AND

                                      codigo = itab_zycit140-codigo.

    ENDLOOP.

    IF sy-subrc = 0.

      DELETE itab_zycit036 WHERE codigo = itab_zycit140-codigo AND

                                 nrseqori = '9999999999'.

    ENDIF.

  ENDLOOP.

  CLEAR: v_tot_linf, v_tot_lins, v_linf, v_lins.

  SORT itab_zycit036 BY ebeln ebelp origem codigo.

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

  LOOP AT itab_zycit036 WHERE codigo EQ 'FRETEI'.

* << Fim da exclusão

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

  LOOP AT itab_zycit036 WHERE codigo EQ 'FRETEI'

                          and origem ne 'PED'.

    read table itab_zycit140 with key codigo = itab_zycit036-codigo

                                      origem = itab_zycit036-origem

                                      custo = 'X'.

    if sy-subrc = 0.

* << Fim da inclusão

    v_tot_linf = v_tot_linf + 1.

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

    endif.

* << Fim da inclusão

  ENDLOOP.

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

  LOOP AT itab_zycit036 WHERE codigo EQ 'SEGURO'.

* << Fim da exclusão

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

  LOOP AT itab_zycit036 WHERE codigo EQ 'SEGURO'

                          and origem ne 'PED'.

    read table itab_zycit140 with key codigo = itab_zycit036-codigo

                                      origem = itab_zycit036-origem

                                      custo = 'X'.

    if sy-subrc = 0.

* << Fim da inclusão

    v_tot_lins = v_tot_lins + 1.

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

    endif.

* << Fim da inclusão

  ENDLOOP.

  DATA : BEGIN OF itab_zycit006_fat OCCURS 0.

          INCLUDE STRUCTURE /pws/zycit006.

  DATA : END OF itab_zycit006_fat.

  IF NOT itab_zycit263[] IS INITIAL.

    SELECT * FROM /pws/zycit006 INTO TABLE itab_zycit006_fat

...

 

...

            READ TABLE itab_zycit006_fat WITH KEY

               nrseq_pgfat = itab_zycit263-nrseq_pgfat.

            IF sy-subrc = 0.

              CLEAR: itab_zycit036-vlmov, itab_zycit036-waers_mov,

                     itab_zycit036-vldif, itab_zycit036-waers_dif.

            ENDIF.

          ENDIF.

        ENDIF.

        MODIFY itab_zycit036 INDEX v_index.

      WHEN 'FRETEI'.

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

        if itab_zycit140-custo = 'X'.

* << Fim da inclusão

        v_linf = v_linf + 1.

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

        endif.

* << Fim da inclusão

        CLEAR v_valor.

        IF itab_zycit036-vlreal GT 0         AND

          NOT itab_zycit036-waers_real IS INITIAL.

          PERFORM busca_fatores CHANGING itab_zycit036-waers_real.

          READ TABLE itab_zycit100 WITH KEY

                                      nrseq = itab_zycit036-nrseq

...

 

...

              itab_zycit036-origem NE 'NF'.

            IF itab_zycit036-origem = 'NF'.

              IF t001-land1 = 'BR'.

                v_valor = itab_zycit100-vlfre.

              ELSE.

                v_valor = itab_zycit036-vlreal.

              ENDIF.

              v_valor = itab_zycit100-vlfre.

            ELSE.

              v_valor = itab_zycit036-vlreal.

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

            ENDIF.

            IF itab_zycit036-origem = 'NF'.

              PERFORM retorna_decimais USING itab_zycit100-waersreal

                                        CHANGING v_valor.

            ELSE.

              PERFORM retorna_decimais USING itab_zycit036-waers_real

                                          CHANGING v_valor.

* << Fim da inclusão

            ENDIF.

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

            v_val_tot2 = v_val_tot2 + v_valor.

            IF v_linf EQ v_tot_linf.

              v_valor = v_val_tot2 - v_val_tot.

* << Fim da inclusão

            IF itab_zycit036-origem = 'NF'.

              PERFORM retorna_decimais USING itab_zycit100-waersreal

                                        CHANGING v_valor.

            ELSE.

              PERFORM retorna_decimais USING itab_zycit036-waers_real

                                          CHANGING v_valor.

            ENDIF.

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

            endif.

* << Fim da inclusão

            v_val_tot = v_val_tot + v_valor.

          ELSE.

            v_valor = ( /pws/zycit085-vlfre * /pws/zycit085-ukursfre )

                                                  - v_val_tot .

          ENDIF.

          IF v_itemcongela NE 'X'.

            IF NOT /pws/zycit085-ukursfre IS INITIAL.

              IF itab_zycit036-origem = 'NF'.

                itab_zycit036-vlmov     = v_valor .

              ELSE.

...

 

...

        IF itab_zycit036-vlmov IS INITIAL.

          CLEAR itab_zycit036-waers_mov.

        ELSEIF itab_zycit036-vldif IS INITIAL.

          CLEAR itab_zycit036-waers_dif.

        ENDIF.

        IF itab_zycit036-origem = 'NF'.

          v_acum_fre = v_acum_fre + itab_zycit036-vlmov.

        ENDIF.

        MODIFY itab_zycit036 INDEX v_index.

      WHEN 'SEGURO'.

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

        if itab_zycit140-custo = 'X'.

* << Fim da inclusão

        v_lins = v_lins + 1.

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

        endif.

* << Fim da inclusão

        IF

          itab_zycit036-vlreal GT 0         AND

          NOT itab_zycit036-waers_real IS INITIAL.

          READ TABLE itab_zycit100 WITH KEY nrseq = itab_zycit036-nrseq

                                            ebeln = itab_zycit036-ebeln

                                            ebelp = itab_zycit036-ebelp.

...

 

...

                            /pws/zycit085-ukursseg ) .

                ELSE.

                  v_val =  ( /pws/zycit085-vlseg      *

                           /pws/zycit085-ukursseg ) - v_valor .

                ENDIF.

              ELSE.

                v_valor = itab_zycit036-vlreal.

                v_val   = itab_zycit036-vlreal.

              ENDIF.

            ENDIF.

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

          ENDIF.

            v_val_tots2 = v_val_tots2 + v_valor.

            IF v_linf EQ v_tot_linf.

              v_valor = v_val_tots2 - v_val_tots.

* << Fim da inclusão

          ENDIF.

          IF t001-land1 EQ 'BR'.

            IF itab_zycit036-origem = 'NF'.

            ELSE.

              PERFORM retorna_decimais USING itab_zycit036-waers_real

                                          CHANGING v_val.

              MOVE v_val TO v_valor.

            ENDIF.

          ENDIF.

          IF v_itemcongela NE 'X'.

...

 

...

            ENDIF.

            IF itab_zycit036-origem NE 'EST'.

              IF v_itemcongela = 'X' AND

                 ( itab_zycit036-origem       EQ 'NF'    OR

                   itab_zycit036-origem       EQ 'FAT' ) AND

                   NOT /pws/zycit085-ukursseg IS INITIAL.

                IF itab_zycit036-origem EQ 'FAT'.

                  v_valor = v_valor * /pws/zycit085-ukursseg.

                ELSE.

                  IF t001-land1 = 'BR'.

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

                    v_valor = itab_zycit100-vlseg.

* << Fim da exclusão

                  ELSE.

                    v_valor = itab_zycit036-vlreal.

                  ENDIF.

                ENDIF.

                IF itab_zycit036-origem EQ 'FAT' AND

                  itab_zycit036-waers_real NE /pws/zycbt007-waersb.

                  READ TABLE itab_zycit006 WITH KEY

                                   nrseq = itab_zycit036-nrseqori.

                  IF sy-subrc EQ 0.

                    READ TABLE itab_bkpf WITH KEY

...