CE PLUS - Nota 000409

Módulo: DOC. EXPORTAÇÃO

Funcionalidade: Comissão de Agente

Data/Hora da Publicação: 07/12/2005 00:00:00

Data/Hora Última Alteração: 21/02/2011 15:02:27

Descrição da Nota: RATEIO INCORRETO EM COMISSÃO DE AGENTE AR E AT

Sintoma

Os valores de diferenças e e rateio de comissão de agente quando há mais de um Centro de Lucro está

sendo efetuado incorretamente.

 

 

Solução

Efetuar o rateio corretamente.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

VALORES ERRADOS NO RATEIO DA COMISSÃO DE AGENTE

Informações Complementares

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

Nota Número 00409 Data: 07/12/2005 Hora: 09:36:18

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

 

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

Nota Número              : 00409

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00022

Agrupamento              : 00093

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

Referência às notas relacionadas:

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

 

00380  - 00001 - 6.0    - 00022  - VALORES ERRADOS NO RATEIO DA COMISSÃO DE AGENTE

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

RATEIO INCORRETO EM COMISSÃO DE AGENTE AR E AT

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

Palavras Chave:

EXPORTAÇÃO COMISSÃO DE AGENTE RATEIO DIFERENÇA AT AR

 

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

Objetos da nota:

REPS /PWS/MZYCE017F01

 

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

Modificações efetuadas em REPS /PWS/MZYCE017F01

 

...

        PERFORM trata_ordem.

      ENDIF.

      LOOP AT itab_zycet010.

        LOOP AT itab_saida.

          READ TABLE itab_zycet020 WITH KEY auart = itab_saida-auart.

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

          IF itab_saida-shkzg      = 'X'.

* << Fim da exclusão

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

          READ TABLE itab_zycet002

                     WITH KEY vbeln_vf = itab_saida-vbeln_vf

                              posnr    = itab_saida-posnr.

          CHECK sy-subrc EQ 0.

          itab_saida-vlme      = abs( itab_zycet002-vlfob ).

          IF itab_saida-shkzg EQ 'X'.

* << Fim da inclusão

            itab_saida-vlme    = itab_saida-vlme    * ( -1 ).

            itab_saida-vlcomis = itab_saida-vlcomis * ( -1 ).

          ENDIF.

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

       READ TABLE itab_zycet002 WITH KEY vbeln_vf = itab_saida-vbeln_vf

                                            posnr    = itab_saida-posnr.

          IF sy-subrc = 0.

* << Fim da exclusão

            MOVE: itab_zycet002-nrseq     TO itab_zycet013-nrseq,

                  itab_zycet002-gsber     TO itab_zycet013-gsber,

                  itab_zycet002-prctr     TO itab_zycet013-prctr,

                  itab_zycet002-waers     TO itab_zycet013-waers.

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

          ENDIF.

          move: itab_zycet002-VLFOB to itab_zycet013-vlme,

                itab_zycet010-lifnr  TO itab_zycet013-lifnr,

                itab_saida-vlcomis   TO itab_zycet013-vlagente.

* << Fim da exclusão

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

          MOVE: itab_saida-vlme     TO itab_zycet013-vlme,

                itab_zycet010-lifnr TO itab_zycet013-lifnr,

                itab_saida-vlcomis  TO itab_zycet013-vlagente.

* << Fim da inclusão

          COLLECT itab_zycet013.

        ENDLOOP.

        DELETE itab_zycet013 WHERE vlme IS initial.

      ENDLOOP.

      clear /pws/zycee313-vlme_fob.

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

      loop at itab_zycet002 where vlme_r gt 0.

        add itab_zycet002-vlme_r to /pws/zycee313-vlme_fob.

* << Fim da exclusão

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

      LOOP AT itab_zycet002.

        ADD itab_zycet002-vlfob TO /pws/zycee313-vlme_fob.

* << Fim da inclusão

      endloop.

      CLEAR: v_comicalc.

      LOOP AT itab_zycet010.

        v_comicalc = v_comicalc + itab_zycet010-vlcomicalc.

      ENDLOOP.

...

 

...

          v_vlcomis_aux = v_vlcomis.

          v_vlcomis = v_comicalc.

        ENDIF.

        IF v_vlcomis NE v_vlcomis_p AND

          ( NOT v_vlcomis_p IS INITIAL ).

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

          itab_zycet013-vlme_dif = abs( itab_zycet013-vlme -

             ( ( itab_zycet013-vlagente / v_vlcomis )

                     * itab_zycet010-vlcomis ) ).

* << Fim da exclusão

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

          itab_zycet013-vlme_dif = abs( itab_zycet010-vlcomis -

                                        v_vlcomis_p ) *

                                        itab_zycet013-vlme /

                                        itab_zycet010-vlcomis.

* << Fim da inclusão

          IF NOT itab_zycet010-vlcomicalc IS INITIAL.

            itab_zycet013-vlme_dif =

              abs( itab_zycet013-vlme -

              ( ( itab_zycet013-vlagente / v_comicalc )

                     * itab_zycet010-vlcomicalc ) ).

...