CE PLUS - Nota 009072

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: DI

Data/Hora da Publicação: 23/09/2009 00:00:00

Data/Hora Última Alteração: 08/04/2013 10:58:06

Descrição da Nota: VÁRIOS AJUSTES DE TRATAMENTO E VARIAÇÃO DA ANA - DI ARGENTINA

Sintoma

Vários ajustes de tratamento e variação da ANA - DI argentina

 

 

Solução

Corrigir erros do programa.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

ADEQUAÇÕES NO PROGRAMA DA ANA

SISTEMA ESTÁ VINCULANDO NF A DI ERRADA, NÃO PERMITINDO EXIBIR PROCESSO.

Informações Complementares

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

Nota Número 09072 Data: 23/09/2009 Hora: 10:07:55

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

 

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

Nota Número              : 09072

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 8.0

Pacote                   : 00001

Agrupamento              : 00001

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

Referência às notas relacionadas:

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

 

00226  - 00001 - 6.0    - 00021  - SISTEMA ESTÁ VINCULANDO NF A DI ERRADA, NÃO PERMITINDO EXIBIR PRO

08959  - 00002 - 7.0    - 00010  - ADEQUAÇÕES NO PROGRAMA DA ANA

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

VÁRIOS AJUSTES DE TRATAMENTO E VARIAÇÃO DA ANA - DI ARGENTINA

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

Palavras Chave:

AJUSTES - ANA - DI - ARGENTINA

 

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

Objetos da nota:

FUNC /PWS/ZYCI_RECLASSIFICACAO_IA

REPS /PWS/MZYCI059F01

REPS /PWS/MZYCI059F02

REPS /PWS/MZYCI059F03

REPS /PWS/MZYCI059X01

 

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

Modificações efetuadas em FUNC /PWS/ZYCI_RECLASSIFICACAO_IA

 

  DATA: BEGIN OF itab_bsis_aux1 OCCURS 10,

          hkont    TYPE bsis-hkont       ,

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA

          waers    TYPE bsis-waers       ,

* << Fim da inclusão

          dmbtr    TYPE bsis-dmbtr       ,

          wrbtr    TYPE bsis-wrbtr       ,

          belnr    TYPE bsis-belnr       ,

          buzei    TYPE bsis-buzei       ,

          tpfatura TYPE /pws/zycit006-tpfatura,

        END OF itab_bsis_aux1.

...

 

...

                  variante_de_exercicio  = 1

                  data_nao_encontrada    = 2

                  empresa_nao_encontrada = 3

                  period_in_not_valid    = 4

                  period_not_assigned    = 5

                  version_undefined      = 6

                  OTHERS                 = 7.

        IF sy-subrc  NE  0.

          v_gjahr = itab_zycit006-dtlanc+0(4).

        ENDIF.

 

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA

        IF /pws/zycie001-modalidade NE '07' .

* << Fim da inclusão

 

* >> Início da exclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA

        SELECT hkont dmbtr wrbtr belnr buzei

* << Fim da exclusão

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA

        SELECT hkont waers dmbtr wrbtr belnr buzei

* << Fim da inclusão

          FROM bsis

          INTO TABLE itab_bsis_aux1

          WHERE bukrs   EQ /pws/zycie085-bukrs

            AND hkont   EQ itab_matuse_aux3-hkont

            AND gjahr   EQ v_gjahr

            AND belnr   EQ itab_zycit006-belnr_p.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA

        ELSE.

          SELECT hkont waers dmbtr wrbtr belnr buzei

            FROM bsis

            INTO TABLE itab_bsis_aux1

            WHERE bukrs   EQ /pws/zycie085-bukrs

              AND hkont   EQ itab_matuse_aux3-hkont

              AND gjahr   EQ v_gjahr

              AND belnr   EQ itab_zycit006-belnr_f_02.

        ENDIF.

* << Fim da inclusão

        LOOP AT itab_bsis_aux1.

          MOVE: itab_bsis_aux1-hkont TO itab_bsis-hkont,

                itab_bsis_aux1-buzei TO itab_bsis-buzei,

                itab_bsis_aux1-belnr TO itab_bsis-belnr.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA

          IF ( sy-tcode EQ '/PWS/ZYCI059_A' OR

               sy-tcode EQ '/PWS/ZYCI059_C' ) .

            IF /pws/zycbt007-waersa EQ itab_bsis_aux1-waers.

              itab_bsis-dmbtr = itab_bsis-dmbtr + itab_bsis_aux1-wrbtr.

            ELSE.

              itab_bsis-dmbtr = itab_bsis-dmbtr + itab_bsis_aux1-dmbtr.

            ENDIF.

          ELSE.

* << Fim da inclusão

          itab_bsis-dmbtr = itab_bsis-dmbtr + itab_bsis_aux1-dmbtr.

* >> Início da inclusão: FUNCTION /PWS/ZYCI_RECLASSIFICACAO_IA

          ENDIF.

* << Fim da inclusão

          itab_bsis-wrbtr = itab_bsis-wrbtr + itab_bsis_aux1-wrbtr.

        ENDLOOP.

        IF sy-subrc = 0.

          MOVE itab_zycit006-tpfatura TO itab_bsis-tpfatura.

          APPEND itab_bsis.

          CLEAR itab_bsis.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F01

 

...

    EXIT.

  ENDIF.

  SELECT SINGLE * FROM /pws/zycit085 INTO /pws/zycit085 WHERE

         nrseqdi = /pws/zycie085-nrseqdi.

  IF sy-subrc NE 0.

    PERFORM fill_criar.

  ELSE.

    IF sy-tcode <> '/PWS/ZYCI059_C' AND sy-tcode <> '/PWS/ZYCI059_I'.

      /pws/zycie085-dtusera   = sy-datum.

      /pws/zycie085-usernamea = sy-uname.

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

    ELSE.

* << Fim da exclusão

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

    ELSEif v_salvo ne 'X'.

      v_salvo = 'X'.

* << Fim da inclusão

      PERFORM fill_nrseq.

      MESSAGE i015 WITH text-013 /pws/zycie085-nrseqdi.

    ENDIF.

  ENDIF.

  MODIFY /pws/zycit085 FROM /pws/zycie085.

  DELETE FROM /pws/zycit095 WHERE nrseqdi = /pws/zycie085-nrseqdi.

  MODIFY /pws/zycit095 FROM TABLE itab_zycit095.

  IF NOT /pws/zycie085-nrbl IS INITIAL.

    v_calci = 'S'.

  ENDIF.

...

 

...

      IF NOT itab_zycit049-vldp_aux EQ 0.

        MOVE: itab_it-ebeln TO itab_trib-ebeln,

              itab_it-ebelp TO itab_trib-ebelp,

              t_ivdes2  TO itab_trib-t_ivdesp,

              itab_zycit049-waers TO itab_trib-waers,

              itab_zycit049-tpdesp TO itab_trib-tpdesp.

        APPEND itab_trib.

      ENDIF.

    ENDIF.

  ENDLOOP.

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

  IF s_inco1_ci EQ 'CIF'.

    READ TABLE itab_zycit003 WITH KEY nrseq = itab_it-nrseq

                                      ebeln = itab_it-ebeln

                                      ebelp = itab_it-ebelp.

    IF sy-subrc EQ 0.

      v_cif_fat = ( itab_zycit003-vlreal * itab_it-qtd_iten ) +

              itab_zycit003-vlfre_fat + itab_zycit003-vlseg_fat .

    ENDIF.

    IF NOT v_tcfr IS INITIAL AND NOT v_tcif_fat IS INITIAL.

      t_ivseg = itab_it-vlseg =

      ( v_cif_fat / ( v_tcif_fat ) ) * s_stvr.

      v_tot_seg = ( v_cif_fat / ( v_tcif_fat ) ) * v_sgtofat.

    ENDIF.

  ELSE.

    IF NOT v_tcfr IS INITIAL.

      t_ivseg = itab_it-vlseg = ( v_cfr / ( v_tcfr ) ) * s_stvr.

      v_tot_seg = ( v_cfr / ( v_tcfr ) ) * v_sgtofat.

    ENDIF.

  ENDIF.

* << Fim da inclusão

  t_ivmle = itab_it-vlfob.

  CASE s_inco1_ci.

    WHEN 'FOB'.

      t_ivadu = t_ivmle + t_ivseg + t_ivfre + t_ivdesp.

    WHEN 'C&F'.

      IF p_tipo EQ 'A'.

        t_ivmle_d2 = t_ivmle = t_ivmle + t_ivfre.

        t_vmle_d2 = t_vmle = t_vmle + v_tot_fre.

        t_ivadu = t_ivmle + wa_it-vlseg + t_ivdesp.

      ELSE.

...

 

...

 

FORM fill_criar.

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

  v_salvo = 'X'.

* << Fim da inclusão

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F02

 

...

             /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.

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

      /pws/zycie085-vlseg  =  ( ( s_fbvr +

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

           ( /pws/zycie085-vlseg * /pws/zycie085-ukursseg / v_usd )

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

* << Fim da exclusão

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

    IF NOT v_tcif_fat IS INITIAL AND

       NOT /pws/zycie085-per_seg IS INITIAL.

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

      ( /pws/zycie085-per_seg / 100 ).

      PERFORM retorna_decimais USING /pws/zycie085-waersseg

                    CHANGING  /pws/zycie085-vlseg.

    ENDIF.

* << Fim da inclusão

    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.

      /pws/zycie085-vlseg  =  ( ( s_fbvr +

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

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059F03

 

FORM calc_init USING p_tipo.

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

  DATA:  v_calc_seg LIKE /pws/zycit003-vlreal .

  CLEAR v_tcif_fat.

* << Fim da inclusão

  DATA: v_qtd_iten LIKE /pws/zycie003-qtd_iten,

        v_ntgew LIKE /pws/zycit003-ntgew.

  IF itab_zycit049[] IS INITIAL.

    SELECT * FROM /pws/zycit049 INTO TABLE itab_zycit049

             WHERE nrseq   = /pws/zycie085-nrseqdi.

  ENDIF.

  IF p_tipo = 'I'.

    LOOP AT itab_zycit049.

      CLEAR itab_zycit049-vldp_aux.

      MODIFY itab_zycit049 INDEX sy-tabix TRANSPORTING vldp_aux.

    ENDLOOP.

    PERFORM data_sort.

  ENDIF.

  DESCRIBE TABLE itab_it LINES v_ipt.

  LOOP AT itab_it.

    v_tfrefat = v_tfrefat + itab_it-vlfre_fat.

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

    v_calc_seg = v_calc_seg + ( itab_it-vlreal *

 itab_zycit003-qtd_iten ).

* << Fim da inclusão

  ENDLOOP.

  v_bltofat = /pws/zycie093-prepaid +

  /pws/zycie093-collect.

  v_sgtofat = /pws/zycie085-vlseg.

  CASE s_inco1_ci.

    WHEN 'C&F'.

      PERFORM calc_conv_frete CHANGING v_bltofat.

      v_tdif = v_tfrefat - v_bltofat.

      v_bltofat = /pws/zycie093-prepaid +

      /pws/zycie093-collect - /pws/zycie093-ternacion.

...

 

...

                            CHANGING  v_taxa.

        IF v_taxa EQ 0 .

          v_taxa = /pws/zycie085-ukursfob.

        ENDIF.

        v_tvaln   = v_tvaln / v_taxa.

        v_tval = v_tval + v_tvaln.

      ENDIF.

    ELSE.

      v_tval   = v_tval   + (   v_qtd_iten * itab_it-vlreal ).

    ENDIF.

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

    IF s_inco1_ci EQ 'CIF'.

      v_tcif_fat = v_tcif_fat + ( ( itab_zycit003-vlreal *

              itab_it-qtd_iten )

             + itab_zycit003-vlfre_fat + itab_zycit003-vlseg_fat ).

    ENDIF.

* << Fim da inclusão

  ENDLOOP.

  CASE s_inco1_ci.

    WHEN 'C&F' OR 'CIF'.

      READ TABLE itab_zycit049 WITH KEY

            tpdesp = /pws/zycit000-flagfreten.

      IF sy-subrc = 0 AND NOT itab_zycit049-vldp IS INITIAL.

        IF itab_zycit049-tipo EQ 'D'.

          IF itab_zycit049-waers NE /pws/zycie085-waersfob.

            v_dif_frn = itab_zycit049-vldp.

            PERFORM: calc_ret_moeda:

...

 

...

 

FORM valor_cfr USING p_tipo.

  CLEAR: v_tcfr.

  IF NOT v_usd IS INITIAL.

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

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

  ENDIF.

  IF s_inco1_ci EQ 'CIF'.

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

    v_cfr = t_vmle .

  ELSE.

    v_tcfr = s_fbvr_s_d   .

    v_cfr = t_ivmle .

* << Fim da inclusão

  ENDIF.

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

  v_tcfr = s_fbvr_s_d.

* << Fim da exclusão

ENDFORM.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI059X01

 

...

 

* >> Início da inclusão:

DATA: v_cif_fat  TYPE /pws/zycie085-vlfob,

      v_tcif_fat TYPE /pws/zycie085-vlfob.

data  v_salvo.

* << Fim da inclusão

DATA: END OF COMMON PART.