CE PLUS - Nota 010115

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Nota Fiscal

Data/Hora da Publicação: 30/04/2010 00:00:00

Data/Hora Última Alteração: 23/02/2011 09:23:18

Descrição da Nota: CORREÇÃO DO RATEIO DE DESPESAS POR VALOR REALIZADO

Sintoma

Ao criar um nota fiscal complementar o programa está encontando diferença apesar do valor real e

global ser igual para a despesa.

 

 

Solução

Ajustado rateio da despesa por valor realizado na nota fiscal.

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

ERRO EM RATEIO DE DESPESAS POR VALOR PLANEJADO QUANDO EMBARQUE É GRANEL.

Informações Complementares

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

Nota Número 10115 Data: 30/04/2010 Hora: 16:04:26

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

 

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

Nota Número              : 10115

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00003

Agrupamento              : 00019

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

Referência às notas relacionadas:

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

 

08497  - 00001 - 7.0    - 00009  - ERRO EM RATEIO DE DESPESAS POR VALOR PLANEJADO QUANDO EMBARQUE É

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

CORREÇÃO DO RATEIO DE DESPESAS POR VALOR REALIZADO

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

Palavras Chave:

RATEIO - DESPESAS - VALOR - REALIZADO - FUNÇÃO - COMPLEMENTAR

/PWS/SAPMZYCI016 -

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

Objetos da nota:

REPS /PWS/MZYCI016F01

 

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

Modificações efetuadas em REPS /PWS/MZYCI016F01

 

...

FORM congela_despesa.

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

  DATA: v_vfre LIKE /pws/zycie085-vlfre,

        v_tfre LIKE /pws/zycie085-vlfre,

        v_vseg LIKE /pws/zycie085-vlseg,

        v_tseg LIKE /pws/zycie006-vlseg,

        v_vfob LIKE /pws/zycie085-vlfob,

        v_vtot LIKE /pws/zycie085-vlfob.

* << Fim da inclusão

  DATA: v_tabix LIKE sy-tabix,

        v_total_dp LIKE /pws/zycit049-vldp,

        v_cod_sisc LIKE /pws/zycit019-codigo,

        v_tot_ntgew LIKE /pws/zycit003-ntgew,

        v_tot_plan LIKE /pws/zycit003-netpr,

        v_tot_real LIKE /pws/zycit003-vlreal,

        v_lines LIKE sy-tabix.

  DATA: itab_zycit036_s TYPE /pws/zycit036 OCCURS 0 WITH HEADER LINE.

  CLEAR: itab_zycit036, itab_zycit049, itab_zycit019, itab_zycit020.

  REFRESH: itab_zycit049aux, itab_zycit036aux, itab_zycit036_s.

...

 

...

    v_tot_plan = v_tot_plan +

         ( itab_zycit003_aux-netpr * itab_zycit003_aux-qtd_iten ).

    v_tot_real = v_tot_real +

         ( itab_zycit003_aux-vlreal * itab_zycit003_aux-qtd_iten ).

  ENDLOOP.

  SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie041-bukrs.

  SELECT SINGLE codigo FROM /pws/zycit019 INTO v_cod_sisc

    WHERE tpdesp = /pws/zycit000-cod_sisc AND

          land1 = t001-land1.                           "#EC CI_NOFIRST

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

  v_tseg = /pws/zycit085-vlseg .

  IF /pws/zycit085-ukursfre

     NE /pws/zycit085-ukursfob.

    PERFORM taxa_converte USING /pws/zycit085-waersfre

                                /pws/zycit085-dttax

                        CHANGING v_taxa_desp.

    v_tfre = /pws/zycit085-vlfre *

                v_taxa_desp.

    PERFORM taxa_converte USING /pws/zycit085-waersfob

                                /pws/zycit085-dttax

                        CHANGING v_taxa_desp.

    IF NOT v_taxa_desp IS INITIAL.

      v_tfre = v_tfre /

                   v_taxa_desp.

    ENDIF.

  ELSE.

    v_tfre = /pws/zycit085-vlfre.

  ENDIF.

  v_vtot = /pws/zycit085-vlfob + v_tfre  + v_tseg.

* << Fim da inclusão

  DESCRIBE TABLE itab_zycit042 LINES v_lines.

  SORT itab_zycit003 BY ebeln ebelp.

  LOOP AT itab_zycit049aux.

    IF itab_zycit049aux-codigo NE v_cod_sisc OR

       /pws/zycit000-flag_txsisc IS INITIAL.

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

      CLEAR /pws/zycit020.

      SELECT SINGLE * FROM /pws/zycit020 WHERE

        regio = adrc-region AND

        codigo = itab_zycit049aux-codigo AND

        baseicms EQ 'X'  AND

        land1 EQ t001-land1.

      IF sy-subrc NE 0.

        SELECT SINGLE * FROM /pws/zycit020 WHERE

          regio = space AND

          codigo = itab_zycit049aux-codigo AND

          baseicms EQ 'X'  AND

          land1 EQ t001-land1.

      ENDIF.

* << Fim da inclusão

      READ TABLE itab_zycit039 WITH KEY

                      codigo = itab_zycit049aux-codigo.

      IF itab_zycit049aux-waers NE /pws/zycbt007-waersb.

   PERFORM taxa_converte USING itab_zycit049aux-waers wa_zycit085-dttax

                                                   CHANGING v_taxa_desp.

        itab_zycit049aux-vldp = itab_zycit049aux-vldp * v_taxa_desp.

      ENDIF.

      LOOP AT itab_zycit003.

        MOVE sy-tabix TO v_tabix.

        /pws/zycit053-nrseqnf     = /pws/zycie041-nrseq.

...

 

...

            v_total_dp = v_total_dp + /pws/zycit053-vlreal.

          ELSEIF itab_zycit039-peso = 'X'.

            /pws/zycit053-vlreal      = itab_zycit049aux-vldp *

                              itab_zycit003-ntgew / v_tot_ntgew.

            v_total_dp = v_total_dp + /pws/zycit053-vlreal.

          ELSEIF itab_zycit039-proporplan = 'X'.

            /pws/zycit053-vlreal = itab_zycit003-netpr *

             itab_zycit003-qtd_iten

             / v_tot_plan * itab_zycit049aux-vldp.

            v_total_dp = v_total_dp + /pws/zycit053-vlreal.

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

          ELSE.

            IF /pws/zycit020-baseicms EQ 'X' AND

               /pws/zycit062-bs_rat_icms EQ 'CIF' .

              READ TABLE itab_zycit100 WITH KEY

                      ebeln = itab_zycit003-ebeln

                      ebelp = itab_zycit003-ebelp.

              PERFORM taxa_converte USING /pws/zycit085-waersfob

                                          /pws/zycit085-dttax

                                  CHANGING v_taxa_desp.

              IF NOT v_taxa_desp IS INITIAL.

                v_vfre = itab_zycit100-vlfre /

                            v_taxa_desp.

                v_vseg = itab_zycit100-vlseg /

                            v_taxa_desp.

              ENDIF.

              v_vfob = itab_zycit100-vlfob.

              IF NOT v_vtot IS INITIAL.

                /pws/zycit053-vlreal =  itab_zycit049aux-vldp *

                      ( ( v_vfob +  v_vfre + v_vseg )  /  v_vtot  ).

              ENDIF.

* << Fim da inclusão

          ELSE.

            /pws/zycit053-vlreal = itab_zycit003-vlreal *

            itab_zycit003-qtd_iten

            / v_tot_real * itab_zycit049aux-vldp.

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

            ENDIF.

* << Fim da inclusão

            v_total_dp = v_total_dp + /pws/zycit053-vlreal.

          ENDIF.

        ENDIF.

...