CE PLUS - Nota 010023

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

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

Data/Hora Última Alteração: 22/02/2011 13:54:06

Descrição da Nota: AJUSTADO CALCULO DO SEGURO (ANA)

Sintoma

O valor calculado para o seguro não bate com o percentual informado na ANA.

 

 

Solução

Ajustado calculo do montante base para o calculo do seguro

 

Versões Tratadas

8.0


Pré-Requisitos

Produto:

Nota

Descrição

PROCESSOS ARGENTINA/ CHILE ANA NÃO ESTA ALTERANDO O STATUS DO EMBARQUE

PROBLEMA NA VARIAÇÃO CAMBIAL NO F6D AO PREENCHER OS DADOS DA ANA

Informações Complementares

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

Nota Número 10023 Data: 30/03/2010 Hora: 14:43:17

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

 

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

Nota Número              : 10023

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 8.0

Pacote                   : 00003

Agrupamento              : 00015

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

Referência às notas relacionadas:

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

 

09434  - 00001 - 8.0    - 00001  - PROCESSOS ARGENTINA/ CHILE ANA NÃO ESTA ALTERANDO O STATUS DO EMB

09467  - 00002 - 8.0    - 00001  - PROBLEMA NA VARIAÇÃO CAMBIAL NO F6D AO PREENCHER OS DADOS DA ANA

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

AJUSTADO CALCULO DO SEGURO (ANA)

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

Palavras Chave:

SEGURO - ANA - FOB - CFR - CIF - MOEDA - DIFERENTE - ESTORNO - NOTA

/PWS/SAPMZYCI059

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

Objetos da nota:

REPS /PWS/MZYCI059F01

REPS /PWS/MZYCI059F02

REPS /PWS/MZYCI059F03

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F01

 

...

  SELECT SINGLE * FROM /pws/zycit001 INTO it_zycit001

          WHERE  nrseq = itab_it-nrseq.

  APPEND it_zycit001.

  READ TABLE it_zycit001 INDEX 1.

  it_zycit001-status  = 'AB' .

  UPDATE /pws/zycit001 SET   status   = 'AB'

    WHERE nrseq = itab_it-nrseq.

  MODIFY it_zycit001 INDEX 1.

  MODIFY /pws/zycit001 FROM TABLE it_zycit001.

  PERFORM atualiza_status.

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

  IF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL'.

* << Fim da exclusão

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

  IF t001-land1 EQ 'AR' OR t001-land1 EQ 'CL' OR

     t001-land1 EQ wa_zycit477-land.

* << Fim da inclusão

    DELETE FROM /pws/zycit042 WHERE

    nrseqnf = /pws/zycie085-nrseqdi AND

    tpnf = '01' AND

    nfglobal = /pws/zycit041-nfglobal AND

    docnum = /pws/zycit041-docnum.

    DELETE FROM /pws/zycit041 WHERE

    nrseq = /pws/zycie085-nrseqdi AND

    nfglobal = /pws/zycit041-nfglobal AND

    docnum = /pws/zycit041-docnum.

    READ TABLE itab_zycit100 INDEX 1.

...

 

...

FORM taxa_converte USING    p_waers

                            p_data

                   CHANGING p_taxa.

  DATA:  v_moeda LIKE tcurc-/pws/codmo,

         v_msgd(10),

         v_linhas TYPE i.

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

  IF v_mudou EQ 'X'.

* << Fim da exclusão

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

  IF v_mudou EQ 'X'

    OR wa_zycit477-land EQ t001-land1.

* << Fim da inclusão

    CLEAR: p_taxa, v_msgfre.

    IF p_waers EQ /pws/zycbt007-waersb.

      p_taxa = 1.

      EXIT.

    ENDIF.

    SELECT SINGLE /pws/codmo FROM tcurc INTO v_moeda WHERE

           waers = p_waers.

    IF sy-subrc EQ 0.

      REFRESH itab_zycit174.

      SELECT * FROM /pws/zycit174 INTO TABLE itab_zycit174 WHERE

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F02

 

...

FORM load_sevl.

  DATA: v_fretebl LIKE /pws/zycie093-prepaid.

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

  IF NOT s_fbvr IS INITIAL AND

     NOT s_frvr IS INITIAL AND

     NOT /pws/zycie085-ukursseg IS INITIAL AND

* << Fim da exclusão

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

  IF NOT /pws/zycie085-ukursseg IS INITIAL AND

* << Fim da inclusão

     NOT /pws/zycie085-per_seg IS INITIAL.

    IF s_inco1_ci = 'FOB'.

      IF NOT v_usd IS INITIAL.

       /pws/zycie085-vlseg  =  ( ( ( ( s_fbvr + s_frvr - v_desp_brl ) *

             v_usd ) / /pws/zycie085-ukursseg  ) *

             /pws/zycie085-per_seg  )  / 100.

      ENDIF.

    ELSEIF s_inco1_ci = 'CIF'.

      v_fretebl = /pws/zycie093-prepaid + /pws/zycie093-collect .

      PERFORM: calc_conv_moeda:

               USING /pws/zycie093-waersfre /pws/zycbt007-waersa

               CHANGING v_fretebl.

      PERFORM trata_decimais USING /pws/zycie085-waersseg

                                   v_fretebl.

      CHECK NOT v_usd IS INITIAL.

    IF NOT v_tcif_fat IS INITIAL AND

       NOT /pws/zycie085-per_seg IS INITIAL.

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

      /pws/zycie085-vlseg  =  (  v_tcif_fat / v_usd ) *

      ( /pws/zycie085-per_seg / 100 ).

* << Fim da exclusão

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

        /pws/zycie085-vlseg  =

            ( (  v_tcif_fat * /pws/zycie085-ukursfob ) *

              ( /pws/zycie085-per_seg / 100 ) ) /

                                   /pws/zycie085-ukursseg.

* << Fim da inclusão

      PERFORM retorna_decimais USING /pws/zycie085-waersseg

                    CHANGING  /pws/zycie085-vlseg.

    ENDIF.

    ELSE.

      v_fretebl = /pws/zycie093-prepaid + /pws/zycie093-collect .

      PERFORM: calc_conv_moeda:

               USING /pws/zycie093-waersfre /pws/zycbt007-waersa

               CHANGING v_fretebl.

      PERFORM trata_decimais USING /pws/zycie085-waersseg

                                   v_fretebl.

      CHECK NOT v_usd IS INITIAL.

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

      /pws/zycie085-vlseg  =  ( ( s_fbvr +

        ( /pws/zycie085-vlfre * /pws/zycie085-ukursfre / v_usd ) )

                                 *  /pws/zycie085-per_seg  )  / 100.

* << Fim da exclusão

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

      /pws/zycie085-vlseg  = ( ( ( s_fbvr * v_usd ) +

             ( /pws/zycie085-vlfre * /pws/zycie085-ukursfre ) )

                  * ( /pws/zycie085-per_seg / 100 ) ) /

                                           /pws/zycie085-ukursseg.

* << Fim da inclusão

    ENDIF.

    PERFORM retorna_decimais USING /pws/zycie085-waersseg

                                   /pws/zycie085-vlseg.

  ENDIF.

  IF NOT v_usd IS INITIAL.

    s_stvr = /pws/zycie085-vlseg * /pws/zycie085-ukursseg / v_usd.

  ENDIF.

  PERFORM trata_decimais USING /pws/zycie085-waersseg

                               s_stvr.

  s_stvr_d2 = s_stvr.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F03

 

...

                              nrseq = itab_it-nrseq

                              ebeln = itab_it-ebeln

                              ebelp = itab_it-ebelp.

    IF itab_it-qtd_itend NE ''  AND itab_it-vlreald IS INITIAL.

      itab_it-vlreald = itab_it-vlreal + ( ( v_tdif *

       itab_zycit003-ntgew / v_ntgew ) / itab_zycit003-qtd_iten ).

      MODIFY itab_it.

    ENDIF.

  ENDLOOP.

  LOOP AT itab_it.

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

    READ TABLE itab_zycit003 WITH KEY

                              nrseq = itab_it-nrseq

                              ebeln = itab_it-ebeln

                              ebelp = itab_it-ebelp.

* << Fim da inclusão

    IF NOT itab_it-vlreald IS INITIAL.

      itab_it-vlreal = itab_it-vlreald.

    ENDIF.

    CLEAR: v_tvaln, v_qtd_iten.

    IF itab_it-qtd_itend NE ''.

      v_qtd_iten = itab_it-qtd_itend.

    ELSE.

      v_qtd_iten = itab_it-qtd_iten.

    ENDIF.

    v_tntgew = v_tntgew + itab_it-ntgew.

...

 

...

FORM valor_cfr USING p_tipo.

  CLEAR: v_tcfr.

  IF NOT v_usd IS INITIAL.

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

    s_fbvr_s_d = /pws/zycie085-vlfob * /pws/zycie085-ukursfob / v_usd.

* << Fim da exclusão

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

    s_fbvr_s_d = /pws/zycie085-vlfob.

* << Fim da inclusão

  ENDIF.

  IF s_inco1_ci EQ 'CIF'.

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

    v_tcfr =  /pws/zycie085-vlfob + v_sgtofat + v_bltofat.

* << Fim da exclusão

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

    v_tcfr =  /pws/zycie085-vlfob +

      ( v_bltofat * /pws/zycie085-ukursfre / v_usd ) +

      ( v_sgtofat * /pws/zycie085-ukursseg / v_usd ) .

    v_cfr = t_vmle .

    v_cfr = t_vmle .

  ELSEIF s_inco1_ci EQ 'C&F'.

    v_tcfr =  /pws/zycie085-vlfob +

      ( v_bltofat * /pws/zycie085-ukursfre / v_usd ).

* << Fim da inclusão

    v_cfr = t_vmle .

  ELSE.

    v_tcfr = s_fbvr_s_d   .

    v_cfr = t_ivmle .

  ENDIF.

ENDFORM.

...