CE PLUS - Nota 001541

Módulo: DRAWBACK

Funcionalidade: Ato Concessório

Data/Hora da Publicação: 07/06/2006 00:00:00

Data/Hora Última Alteração: 17/02/2011 13:50:16

Descrição da Nota: AJUSTES NA VINCULAÇÃO DO FORECAST AO ATO CONCESSÓRIO COMUM POR NCM

Sintoma

Ao vincular um Forecast ao ato concessório comum por ncm os valores unitarios ficam incorretos.

 

 

Solução

Ajustar o programa para efetuar o calculo dos valores unitarios com base ns somatória dos itens.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTES PARA CONTROLE DE ATO CONCESSÓRIO COMUM POR NCM.

Informações Complementares

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

Nota Número 01541 Data: 07/06/2006 Hora: 15:53:48

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

 

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

Nota Número              : 01541

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00117

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

Referência às notas relacionadas:

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

 

01284  - 00001 - 6.0    - 00023  - AJUSTES PARA CONTROLE DE ATO CONCESSÓRIO COMUM POR NCM.

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

AJUSTES NA VINCULAÇÃO DO FORECAST AO ATO CONCESSÓRIO COMUM POR NCM

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

Palavras Chave:

ATO - CONCESSÓRIO - FORECAST - VINCULAÇÃO - NCM

/PWS/SAPMZYCI040

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

Objetos da nota:

REPS /PWS/MZYCI040I01

 

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

Modificações efetuadas em REPS /PWS/MZYCI040I01

 

...

    WHEN 'ABORT'.

      PERFORM check_button_abort2.

  ENDCASE.

ENDMODULE.

MODULE trata_forecast INPUT.

* >> Início da exclusão: MODULE TRATA_FORECAST

  DATA: v_item_fc TYPE i.

* << Fim da exclusão

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

  DATA: v_item_fc TYPE i,

        v_brgew_t TYPE /pws/zycit245-qtd_tot,

        v_ntgew_t TYPE /pws/zycit245-qtd_tot.

* << Fim da inclusão

  IF NOT /pws/zycie244-nrforecast IS INITIAL.

    CLEAR:   itab_zycit239,

             itab_zycit249.

    REFRESH: itab_zycit239,

             itab_zycit249.

...

 

...

            IF sy-subrc EQ 0.

              itab_zycit245-nritem  = itab_zycit245_aux-nritem.

            ENDIF.

            itab_zycit245-qtd_tot = itab_zycit245-qtd_ncm   .

            itab_zycit245-meins   = itab_zycit245-um_ncm    .

* >> Início da exclusão: MODULE TRATA_FORECAST

            CLEAR: itab_zycit245-qtd_iten, itab_zycit245-codcomp.

* << Fim da exclusão

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

            CLEAR: itab_zycit245-qtd_iten, itab_zycit245-codcomp,

                   itab_zycit245-perda, itab_zycit245-perda_e.

* << Fim da inclusão

            COLLECT itab_zycit245.

          ELSE.

            APPEND itab_zycit245.

          ENDIF.

          itab_zycit245_aux[] = itab_zycit245[].

...

 

...

              itab_zycit247-nritem   = itab_zycit247_aux-nritem.

            ENDIF.

            itab_zycit247-qtd_iten = itab_zycit247-qtd_ncm   .

            itab_zycit247-meins    = itab_zycit247-um_ncm    .

            CLEAR: itab_zycit247-codmat, itab_zycit247-stlal,

* >> Início da exclusão: MODULE TRATA_FORECAST

                   itab_zycit247-stlan, itab_zycit247-stlnr.

* << Fim da exclusão

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

                   itab_zycit247-stlan, itab_zycit247-stlnr,

                   itab_zycit247-tolling.

* << Fim da inclusão

            itab_zycit247-werks = /pws/zycie244-werks.

            COLLECT itab_zycit247.

          ELSE.

            APPEND itab_zycit247.

          ENDIF.

...

 

...

      ENDIF.

      v_verificp2 = 'S'.

    ELSE.

      MESSAGE e015 WITH text-051.

    ENDIF.

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

    IF /pws/zycit321-c_comum EQ 'X'.

      LOOP AT itab_zycit245.

        itab_zycit245-netpr = itab_zycit245-netpr_t /

                                              itab_zycit245-qtd_tot.

        IF NOT itab_zycit245-vl_seg_t IS INITIAL.

          itab_zycit245-pctseg = ( itab_zycit245-vl_seg_t  /

             ( itab_zycit245-netpr_t + itab_zycit245-vl_frete_t )

                                                             ) * 100.

        ENDIF.

        CLEAR: v_brgew_t, v_ntgew_t.

        LOOP AT itab_zycit249 WHERE j_1bnbm EQ itab_zycit245-j_1bnbm.

          v_ntgew_t = v_ntgew_t +

              ( itab_zycit249-ntgew * itab_zycit249-qtd_tot ).

          v_brgew_t = v_brgew_t +

              ( itab_zycit249-brgew * itab_zycit249-qtd_tot ).

        ENDLOOP.

        itab_zycit245-brgew = v_brgew_t / itab_zycit245-qtd_tot.

        itab_zycit245-ntgew = v_ntgew_t / itab_zycit245-qtd_tot.

        MODIFY itab_zycit245.

      ENDLOOP.

      LOOP AT itab_zycit247.

        itab_zycit247-netpr = itab_zycit247-netpr_t /

                                              itab_zycit247-qtd_iten.

        itab_zycit247-vl_frete = itab_zycit247-vl_frete_t /

                                              itab_zycit247-qtd_iten.

        IF NOT itab_zycit247-netpr_t IS INITIAL.

          IF NOT itab_zycit247-pctcomis IS INITIAL.

            itab_zycit247-pctcomis = ( itab_zycit247-vl_comis_t /

                                  itab_zycit247-netpr_t ) * 100.

          ELSE.

            itab_zycit247-pctcomis = itab_zycit247-vl_comis_t /

                                                 itab_zycit247-qtd_iten.

          ENDIF.

        ENDIF.

        CLEAR: v_brgew_t, v_ntgew_t.

        LOOP AT itab_zycit239 WHERE j_1bnbm EQ itab_zycit247-j_1bnbm.

          v_ntgew_t = v_ntgew_t +

              ( itab_zycit239-ntgew * itab_zycit239-qtd_iten ).

          v_brgew_t = v_brgew_t +

              ( itab_zycit239-brgew * itab_zycit239-qtd_iten ).

        ENDLOOP.

        itab_zycit247-brgew = v_brgew_t / itab_zycit247-qtd_iten.

        itab_zycit247-ntgew = v_ntgew_t / itab_zycit247-qtd_iten.

        MODIFY itab_zycit247.

      ENDLOOP.

    ENDIF.

* << Fim da inclusão

  ELSE.

    IF /pws/zycie244-nrcompos IS INITIAL.

      CLEAR:   itab_centros2,

               itab_zycit245,

               itab_zycit247,

...