CE PLUS - Nota 005540

Módulo: DRAWBACK

Funcionalidade: Composição

Data/Hora da Publicação: 28/12/2007 00:00:00

Data/Hora Última Alteração: 17/02/2011 15:18:33

Descrição da Nota: AJUSTES NO CALCULO DO PESO LIQUIDO

Sintoma

O programa não está preenchendo o peso liquido.

 

 

Solução

O programa foi atualizado para considerar o peso liquido informado no processo de importação.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

PERFORMANCE

Informações Complementares

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

Nota Número 05540 Data: 28/12/2007 Hora: 13:44:08

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

 

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

Nota Número              : 05540

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00004

Agrupamento              : 00027

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

Referência às notas relacionadas:

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

 

05439  - 00001 - 7.0    - 00004  - PERFORMANCE

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

AJUSTES NO CALCULO DO PESO LIQUIDO

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

Palavras Chave:

COMPOSIÇÃO ISENÇÃO PESO LIQUIDO

 

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

Objetos da nota:

REPS /PWS/MZYCI064F03

 

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

Modificações efetuadas em REPS /PWS/MZYCI064F03

 

...

      MOVE: itab_det_imp_final-codcomp  TO itab_res_imp-codcomp ,

            itab_det_imp_final-waers    TO itab_res_imp-waers   ,

            itab_det_imp_final-qtd_vinc TO itab_res_imp-qtd_vinc.

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

        CLEAR: itab_res_imp-codcomp .

        itab_res_imp-grupo = itab_det_imp_final-grupo.

        itab_res_imp-desc_g = itab_det_imp_final-desc_g.

      ENDIF.

      IF wa_moeda-moeda EQ 'X'.

        itab_res_imp-vlfob = itab_res_imp-qtd_vinc *

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

                             itab_det_imp_final-valor_u.

* << Fim da exclusão

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

                             itab_det_imp_final-netpr.

* << Fim da inclusão

        itab_res_imp-waers = 'USD'.

        itab_res_imp-meins = itab_det_imp_final-meins.

      ELSE.

        itab_res_imp-vlfob = itab_res_imp-qtd_vinc *

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

                             itab_det_imp_final-netpr.

* << Fim da exclusão

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

                             itab_det_imp_final-valor_u.

* << Fim da inclusão

        itab_res_imp-waers = itab_det_imp_final-waers.

        itab_res_imp-meins = itab_det_imp_final-meins.

      ENDIF.

      COLLECT itab_res_imp.

    ENDLOOP.

    SORT itab_det_imp_final BY dtdi ASCENDING.

    SORT itab_res_imp       BY codcomp.

    CLEAR: v_dtini, v_dtfim, v_idxtmp.

    LOOP AT itab_res_imp.

      v_idxtmp = sy-tabix.

...

 

...

  ENDIF.

  MOVE: itab_zycit003-meins           TO itab_dis-meins       ,

        itab_zycit003-qtd_iten        TO itab_dis-qtd_di      .

  PERFORM converte_um_ncm  USING itab_zycit003-matnr

                        CHANGING itab_dis-meins

                                 itab_zycit003-werks

                                 itab_dis-qtd_di.

  IF itab_dis-qtd_di IS INITIAL.

    EXIT.

  ENDIF.

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

  itab_zycit003-qtd_iten = itab_dis-qtd_di.

* << Fim da inclusão

  v_fator_conv = v_vlreali / itab_zycit003-qtd_iten.

  CLEAR: v_advii, v_advicms, v_advipi, v_advpis, v_advcof, v_xa, v_xb,

                                                       v_fatx, v_faty.

  v_advii   = ( itab_zycit003-advalii / 100 ).

  v_advipi  = ( itab_zycit003-advalipi / 100 ).

  IF NOT itab_zycit003-basred IS INITIAL.

    v_advicms = ( ( itab_zycit003-advalicms / 100 ) *

     ( itab_zycit003-basred / 100 ) ) .

  ELSE.

    v_advicms = ( itab_zycit003-advalicms / 100 ).

...

 

...

    READ TABLE itab_mara INTO mara

          WITH KEY matnr = itab_dis-codcomp.

    IF sy-subrc NE 0.

      SELECT SINGLE *

        FROM mara INTO itab_mara

        WHERE matnr = itab_dis-codcomp.

      mara = itab_mara.

      APPEND itab_mara.

    ENDIF.

    itab_dis-gewei = mara-gewei.

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

    itab_dis-ntgew = itab_dis-ntgew * v_fator_conv.

    itab_dis-brgew = itab_dis-brgew * v_fator_conv.

* << Fim da exclusão

    itab_dis-valor_u = itab_zycit100-vlfob /

                                    itab_zycit003-qtd_iten.

    PERFORM valor_converte_imp USING   /pws/zycbt007-waersb

                                       'USD'

                                       itab_zycit085-dttax

                            CHANGING itab_dis-vlfrete.

    PERFORM valor_converte_imp USING   /pws/zycbt007-waersb

                                       'USD'

                                       itab_zycit085-dttax

                              CHANGING itab_dis-vlseg.

...

 

...

        itab_zycee085,

        it_log_erro3,

        itab_nota_c,

        itab_sel_vbfa,

        itab_vbfa,

        itab_vbfa_1.

ENDFORM.

FORM vincula_di .

  DATA: v_pct TYPE p.

  DATA: v_saida.

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

  DATA: itab_disp LIKE itab_di_final OCCURS 0 WITH HEADER LINE.

  itab_disp[] = itab_di_final[].

  DELETE ADJACENT DUPLICATES FROM itab_disp

          COMPARING  nrseqre nrseq nrseqc vbeln_va vbeln_vf posnr.

* << Fim da inclusão

  DESCRIBE TABLE itab_det_exp LINES v_lines.

  CLEAR: v_count .

  LOOP AT itab_det_exp.

    CLEAR: v_saida.

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

    LOOP AT itab_di_final WHERE nrseqre  EQ itab_det_exp-nrseqre

* << Fim da exclusão

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

    LOOP AT itab_disp WHERE nrseqre  EQ itab_det_exp-nrseqre

* << Fim da inclusão

                            AND nrseq    EQ itab_det_exp-nrseq

                            AND nrseqc   EQ itab_det_exp-nrseqc

                            AND vbeln_va EQ itab_det_exp-vbeln_va

                            AND vbeln_vf EQ itab_det_exp-vbeln_vf

                            AND posnr    EQ itab_det_exp-posnr.

      v_saida = 'X'.

      EXIT.

    ENDLOOP.

    IF v_saida EQ 'X'.

      CONTINUE.

...

 

...

    IF itab_di_final-sdo_qtd <= itab_comp_vinc_final-qtd_stotal.

      itab_di_final-qtd_vinc = itab_di_final-sdo_qtd.

    ELSE.

      itab_di_final-qtd_vinc = itab_comp_vinc_final-qtd_stotal.

    ENDIF.

    itab_dis-sdo_qtd =

       itab_dis-sdo_qtd - itab_di_final-qtd_vinc.

    IF itab_di_final-sdo_qtd < 0.

      itab_dis-sdo_qtd = 0.

    ENDIF.

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

    READ TABLE itab_mara INTO mara WITH KEY matnr =

                                       itab_dis-codcomp.

    itab_di_final-gewei = mara-gewei.

    itab_di_final-ntgew = mara-ntgew * itab_di_final-qtd_vinc

.

    itab_di_final-brgew = mara-brgew * itab_di_final-qtd_vinc

.

* << Fim da exclusão

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

   itab_di_final-ntgew = ( itab_di_final-ntgew / itab_di_final-qtd_di )

                                              * itab_di_final-qtd_vinc.

* << Fim da inclusão

    itab_di_final-vlfrete_t = itab_di_final-vlfrete *

                                    itab_di_final-qtd_vinc.

    itab_di_final-vlseg_t   = itab_di_final-vlseg *

                                    itab_di_final-qtd_vinc.

    itab_di_final-vlfob_t = itab_di_final-valor_u *

                                     itab_di_final-qtd_vinc.

    itab_di_final-vlfob = itab_di_final-vlfob_t.

    PERFORM trata_decimais USING    itab_di_final-waers

                        CHANGING itab_di_final-vlfob.

    READ TABLE itab_zycit100

...

 

...

                              CHANGING itab_di_final-i_vlipi.

      PERFORM valor_converte_imp USING   /pws/zycbt007-waersb

                                         'USD'

                                         itab_zycit085-dttax

                             CHANGING itab_di_final-i_vlicms.

    ELSE.

      READ TABLE itab_zycit279 WITH KEY

                    ebeln  = itab_di_final-ebeln

                    ebelp  = itab_di_final-ebelp

                    docnum = itab_di_final-docnum.

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

      PERFORM trata_decimais USING    itab_di_final-waers

                          CHANGING itab_di_final-vlfob.

* << Fim da exclusão

      PERFORM valor_converte_imp USING itab_di_final-waers

                                         'USD'

                                         itab_di_final-dtdi

                                CHANGING itab_di_final-vlfob.

      v_perc_vinc =

                itab_di_final-qtd_vinc / itab_di_final-qtd_di.

      itab_di_final-vlpis =

              v_perc_vinc *

        ( itab_zycit279-basepis *

            ( itab_zycit279-pis / 100 ) ).

...