CE PLUS - Nota 001422

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Custo Efetivo

Data/Hora da Publicação: 26/05/2006 00:00:00

Data/Hora Última Alteração: 20/06/2011 12:25:08

Descrição da Nota: VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DEVERIA

Sintoma

O Valor que foi levado para o Encerramento de Custos não esta igual ao custo efetivo.  Problema de

Casas

decimais.

 

 

Solução

Ajuste Casas decimais e na conversão da moeda do custo efetivo e do encerramento de custo.

 

Versões Tratadas

6.0


Pré-Requisitos

Produto:

Nota

Descrição

ERRO NA EXIBIÇÃO DO ENCERRAMENTO DE PROCESSO SEM EURO

EXIT - CUSTO EFETIVO

AS DESPESAS DE FRETE E SEGURO INTERNACIONAIS SENDO PARAMETRIZADAS DA MES

VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DEVERIA

VALOR LEVADO PARA O ENCERRAMENTO DE CUSTOS ESTA MAIOR DO QUE DEVERIA

PRECISAMOS ALTERAR A CONTABILIZAÇÃO DO ENCERRAMENTO CONTÁBIL E DE CUSTOS

Informações Complementares

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

Nota Número 01422 Data: 26/05/2006 Hora: 10:11:37

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

 

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

Nota Número              : 01422

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 6.0

Pacote                   : 00023

Agrupamento              : 00115

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

Referência às notas relacionadas:

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

 

00843  - 00001 - 6.0    - 00022  - ERRO NO CUSTO EFETIVO - APÓS O RECEBIMENTO FÍSICO.

01064  - 00002 - 6.0    - 00023  - PRECISAMOS ALTERAR A CONTABILIZAÇÃO DO ENCERRAMENTO CONTÁBIL E DE

01109  - 00003 - 6.0    - 00023  - EXIT - CUSTO EFETIVO

01150  - 00004 - 6.0    - 00023  - AS DESPESAS DE FRETE E SEGURO INTERNACIONAIS SENDO PARAMETRIZADAS

01174  - 00005 - 6.0    - 00023  - VALOR LEVADO PARA O ENCERRAMENTO DE CUSTOS ESTA MAIOR DO QUE DEVE

01438  - 00006 - 6.0    - 00023  - ERRO NA EXIBIÇÃO DO ENCERRAMENTO DE PROCESSO SEM EURO

07896  - 00007 - 6.0    - 00023  - VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DE

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

VALOR QUE FOI LEVADO PARA O ENCER. DE CUSTOS ESTA MAIOR DO QUE DEVERIA

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

Palavras Chave:

ENCER. DE CUSTOS, CUSTO EFETIVO

 

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

Objetos da nota:

REPS /PWS/MZYCI010F01

REPS /PWS/MZYCI010F02

REPS /PWS/MZYCI010F03

REPS /PWS/MZYCI010O01

REPS /PWS/MZYCI010O02

REPS /PWS/MZYCI010TOP

REPS /PWS/MZYCI010X01

REPS /PWS/ZYCIR007

 

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

Modificações efetuadas em REPS /PWS/MZYCI010F01

...

    WHERE nrseq = itab_zycit036-nrseq.

  SELECT * FROM /pws/zycit100 INTO TABLE itab_zycit100

    WHERE nrseqdi = v_nrseq.

  SELECT SINGLE * FROM /pws/zycit085

    WHERE nrseqdi = v_nrseq.

* >> Início da INCLUSÃO: FORM CHANGE_WAERS

  IF /pws/zycit085 IS INITIAL.

    SELECT SINGLE nrseq FROM /pws/zycit003 INTO v_nrseq

      WHERE nrseq = itab_zycit036-nrseq.

    IF sy-subrc EQ 0.

      SELECT SINGLE * FROM /pws/zycit442

       WHERE nrseqda EQ /pws/zycit003-nrseqda.

      IF sy-subrc EQ 0.

        MOVE /pws/zycit442 TO /pws/zycit085.

      ENDIF.

    ENDIF.

  ENDIF.

* << Fim da INCLUSÃO

  PERFORM altera_moeda.

ENDFORM.

FORM carrega_itab_waers.

  CLEAR itab_waers_aux. FREE itab_waers_aux.

  itab_waers_aux-opcao = '1' .

...

 

...

    IF /pws/zycit000-kurst IS INITIAL.

      v_kurst = 'M'.

    ELSE.

      v_kurst = /pws/zycit000-kurst.

    ENDIF.

* >> Início da EXCLUSÃO: FORM CONVERTER_MOEDA

    CALL FUNCTION '/PWS/ZYCB_MONTANTE_CONVERTE'

* << Fim da EXCLUSÃO

* >> Início da INCLUSÃO: FORM CONVERTER_MOEDA

    CALL FUNCTION '/PWS/ZYGL_MONTANTE_CONVERTE'

* << Fim da INCLUSÃO

           EXPORTING

                 i_montante  =  p_devlme

                 i_demoeda   =  p_deme

                 i_paramoeda =  p_parame

                 i_ctmoeda   =  v_kurst

                 i_dtbase    =  sy-datum

            IMPORTING

* >> Início da INCLUSÃO: FORM CONVERTER_MOEDA

                 e_montante =  p_paravlme

                 e_txc      =  v_tax

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM CONVERTER_MOEDA

             e_montante  =  p_paravlme

             e_txc       =  v_tax

* << Fim da EXCLUSÃO

                 e_defator   =  v_dfact

             EXCEPTIONS

* >> Início da INCLUSÃO: FORM CONVERTER_MOEDA

               i_demoeda_nao_encontrado           = 1

               i_paramoeda_nao_encontrado         = 2

               i_ctmoeda_nao_encontrado           = 3

               i_dtbase_nao_encontrada            = 4

               taxa_nao_encontrada                = 5

               fator_nao_encontrado               = 6

               i_montante_nao_encontrado          = 7

               tabela_categ_nao_configurada       = 8

               OTHERS                             = 9

              .

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM CONVERTER_MOEDA

             i_demoeda_nao_encontrado   = 1

             i_paramoeda_nao_encontrado = 2

             fator_nao_encontrado       = 3

             i_ctmoeda_nao_encontrado   = 4

             i_dtbase_nao_encontrada    = 5

             taxa_nao_encontrada        = 6

             i_montante_nao_encontrado  = 7.

* << Fim da EXCLUSÃO

    IF sy-subrc NE 0.

      MESSAGE i061 WITH text-013 p_deme 'para' p_parame.

      v_medestino = v_meatual.

      v_erro_conv = 'S'.

    ENDIF.

...

 

...

      INTO TABLE itab_zycit042

      FOR ALL ENTRIES IN itab_zycit003

      WHERE nrseq = itab_zycit003-nrseq

        AND ebeln = itab_zycit003-ebeln

        AND ebelp = itab_zycit003-ebelp.

* >> Início da EXCLUSÃO: FORM CUSTEAR_ITENS

    TABLES : /pws/zycit442.

* << Fim da EXCLUSÃO

    READ TABLE itab_zycit003 INDEX 1.

    SELECT SINGLE * FROM /pws/zycit442

     WHERE nrseqda EQ itab_zycit003-nrseqda.

  ENDIF.

  SELECT SINGLE * FROM t001w

...

 

...

    WHERE nrpres EQ itab_zycit036_aux2-nrseqori.

  FREE it_nf.

  SELECT * FROM /pws/zycit042 INTO TABLE it_nf

    FOR ALL ENTRIES IN itab_zycit036_aux2

    WHERE nrseq EQ itab_zycit036_aux2-nrseq.

* >> Início da INCLUSÃO: FORM CUSTEAR_ITENS

  SORT itab_zycit036_aux BY nrseq ebeln ebelp.

  DATA : v_ebelp LIKE itab_zycit003-ebelp,

         v_ebeln LIKE itab_zycit003-ebeln.

  CLEAR: v_ebeln, v_ebelp.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM CUSTEAR_ITENS

  SORT itab_zycit036_aux BY nrseq ebeln ebelp codigo .

* << Fim da EXCLUSÃO

  FREE itab_zycit003_custo.

  LOOP AT itab_zycit003.

    CLEAR itab_zycit003_custo.

    LOOP AT itab_zycit036_aux2

                              WHERE nrseq = itab_zycit003-nrseq

                                AND ebeln = itab_zycit003-ebeln

                                AND ebelp = itab_zycit003-ebelp.

      itab_zycit003_custo-nrseq = itab_zycit003-nrseq.

      itab_zycit003_custo-ebeln = itab_zycit003-ebeln.

      itab_zycit003_custo-ebelp = itab_zycit003-ebelp.

* >> Início da INCLUSÃO: FORM CUSTEAR_ITENS

      IF itab_zycit003-ebeln NE v_ebeln OR

         itab_zycit003-ebelp NE v_ebelp.

        CLEAR: v_vlplant.

      ENDIF.

* << Fim da INCLUSÃO

      LOOP AT itab_zycit036_plan

                                WHERE nrseq = itab_zycit003-nrseq

                                  AND ebeln = itab_zycit003-ebeln

                                  AND ebelp = itab_zycit003-ebelp

                                 AND codigo = itab_zycit036_aux2-codigo.

* >> Início da INCLUSÃO: FORM CUSTEAR_ITENS

        v_ebeln = itab_zycit003-ebeln.

        v_ebelp = itab_zycit003-ebelp.

* << Fim da INCLUSÃO

        CLEAR v_vlplan.

        IF v_erro_conv NE 'S'.

          IF itab_zycit036_plan-waers NE /pws/zycie001-waers.

            IF /pws/zycit000-flag_desp IS INITIAL.

              PERFORM converter_moeda

...

 

...

      ENDLOOP.

      CLEAR v_vlreal.

      IF v_erro_conv NE 'S'.

        IF itab_zycit036_aux2-waers_real NE /pws/zycie001-waers.

          IF itab_zycit036_aux2-origem EQ 'FAT'.

* >> Início da EXCLUSÃO: FORM CUSTEAR_ITENS

            READ TABLE it_fat WITH KEY

                                   nrseq = itab_zycit036_aux2-nrseqori.

            IF it_fat-dtincl LT /pws/zycit085-dtuserc.

* << Fim da EXCLUSÃO

            PERFORM converter_moeda

                  USING itab_zycit036_aux2-vlreal

                        itab_zycit036_aux2-waers_real

                        /pws/zycbt007-waersb

                  CHANGING v_vlreal.

            PERFORM converter_moeda

                  USING v_vlreal

                        /pws/zycbt007-waersb

                        /pws/zycie001-waers

                  CHANGING v_vlreal.

* >> Início da EXCLUSÃO: FORM CUSTEAR_ITENS

            ELSE.

              IF itab_zycit036_aux2-waers_real NE

                 /pws/zycbt007-waersb AND

                 itab_zycit036_aux2-origem NE 'PED'.

                IF NOT /pws/zycit085-dttax IS INITIAL.

             PERFORM taxa_converte USING  itab_zycit036_aux2-waers_real

                                                    /pws/zycit085-dttax

                                                       CHANGING  v_taxa.

                ELSEIF /pws/zycit085-dttax IS INITIAL.

             PERFORM taxa_converte USING  itab_zycit036_aux2-waers_real

                                                               sy-datum

                                                       CHANGING  v_taxa.

                ENDIF.

                itab_zycit036_aux2-vlreal =

                        itab_zycit036_aux2-vlreal * v_taxa.

              ENDIF.

              IF NOT /pws/zycit085-dttax IS INITIAL.

                PERFORM taxa_converte USING  /pws/zycie001-waers

                                             /pws/zycit085-dttax

                                   CHANGING  v_taxa.

              ELSEIF /pws/zycit085-dttax IS INITIAL.

                PERFORM taxa_converte USING  /pws/zycie001-waers

                                             sy-datum

                                   CHANGING  v_taxa.

              ENDIF.

              IF NOT v_taxa IS INITIAL.

                v_vlreal = itab_zycit036_aux2-vlreal / v_taxa.

              ELSE.

                IF /pws/zycie001-modalidade = '02'.

                  MESSAGE w015 WITH text-074.

                ENDIF.

                LEAVE PROGRAM.

              ENDIF.

            ENDIF.

            READ TABLE it_nf WITH KEY

                                   nrseq   = itab_zycit036_aux2-nrseq

                                  nrseqnf = itab_zycit036_aux2-nrseqori.

            IF itab_zycit036_aux2-waers_real NE

               /pws/zycbt007-waersb AND

               itab_zycit036_aux2-origem NE 'PED'.

              IF NOT /pws/zycit085-dttax IS INITIAL.

             PERFORM taxa_converte USING  itab_zycit036_aux2-waers_real

                                                    /pws/zycit085-dttax

                                                       CHANGING  v_taxa.

              ELSEIF /pws/zycit085-dttax IS INITIAL.

             PERFORM taxa_converte USING  itab_zycit036_aux2-waers_real

                                                               sy-datum

                                                       CHANGING  v_taxa.

              ENDIF.

              itab_zycit036_aux2-vlreal =

                      itab_zycit036_aux2-vlreal * v_taxa.

            ENDIF.

            IF NOT /pws/zycit085-dttax IS INITIAL.

              PERFORM taxa_converte USING  /pws/zycie001-waers

                                           /pws/zycit085-dttax

                                 CHANGING  v_taxa.

            ELSEIF /pws/zycit085-dttax IS INITIAL.

              PERFORM taxa_converte USING  /pws/zycie001-waers

                                           sy-datum

                                 CHANGING  v_taxa.

            ENDIF.

            IF NOT v_taxa IS INITIAL.

              v_vlreal = itab_zycit036_aux2-vlreal / v_taxa.

            ELSE.

              IF /pws/zycie001-modalidade = '02'.

                MESSAGE w015 WITH text-074.

              ENDIF.

              LEAVE PROGRAM.

            ENDIF.

* << Fim da EXCLUSÃO

          ELSEIF itab_zycit036_aux2-origem EQ 'PC'.

            READ TABLE it_pc WITH KEY

                                   nrseq  = itab_zycit036_aux2-nrseq

                                   nrpres = itab_zycit036_aux2-nrseqori.

            IF it_pc-dtaprov LT /pws/zycit085-dtuserc.

...

 

...

        v_vlmov  LIKE /pws/zycie036-vlreal,

        v_vldif  LIKE /pws/zycie036-vlreal.

  CLEAR: /pws/zycie001-vlplan, /pws/zycie001-vlreal,

         /pws/zycie001-vlmov , /pws/zycie001-vldif ,

         v_dtreal.

* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE

  IF /pws/zycie001-regime eq '14'.

    move /pws/zycit442 to /pws/zycit085.

  endif.

* << Fim da INCLUSÃO

  CLEAR: itab_zycit036_plan.

  LOOP AT itab_zycit036_plan.

    CLEAR: v_vlplan.

    IF v_erro_conv NE 'S'.

      IF itab_zycit036_plan-waers NE /pws/zycie001-waers AND

...

 

...

  SELECT * FROM /pws/zycit006

  INTO TABLE it_fat

  FOR ALL ENTRIES IN itab_zycit036_aux2

  WHERE nrseq EQ itab_zycit036_aux2-nrseqori.

  LOOP AT itab_zycit036_aux2.

* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE

    CLEAR: v_vlreal, v_vlreal_t.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM CUSTEAR_EMBARQUE

    CLEAR: v_vlreal.

    v_vlreal_t = itab_zycit036_aux2-vlreal.

* << Fim da EXCLUSÃO

    IF v_erro_conv NE 'S'.

      IF itab_zycit036_aux2-waers_real NE /pws/zycie001-waers AND

         NOT itab_zycit036_aux2-waers_real IS INITIAL.

* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE

        v_vlreal_t = itab_zycit036_aux2-vlreal.

* << Fim da INCLUSÃO

        IF itab_zycit036_aux2-origem EQ 'FAT'.

* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE

          CLEAR it_fat.

* << Fim da INCLUSÃO

          READ TABLE it_fat WITH KEY

...

 

...

          ENDIF.

        ELSE.

          PERFORM conversao_aux.

        ENDIF.

      ELSE.

* >> Início da EXCLUSÃO: FORM CUSTEAR_EMBARQUE

        PERFORM conversao_aux.

      ENDIF.

    ENDIF.

  ENDLOOP.

  LOOP AT itab_zycit036a.

    CLEAR: v_vlreal.

    IF v_erro_conv NE 'S'.

      IF itab_zycit036a-waers_real NE /pws/zycie001-waers AND

         NOT itab_zycit036a-waers_real IS INITIAL.

        IF itab_zycit036_aux2-origem EQ 'FAT'.

* << Fim da EXCLUSÃO

* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE

        PERFORM retorna_decimais USING /pws/zycie001-waers

                               CHANGING itab_zycit036_aux2-vlreal.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM CUSTEAR_EMBARQUE

          CLEAR it_fat.

          READ TABLE it_fat WITH KEY

                                 nrseq = itab_zycit036_aux2-nrseqori.

          IF it_fat-dtincl LT /pws/zycit085-dtuserc.

* << Fim da EXCLUSÃO

* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE

        v_vlreal = itab_zycit036_aux2-vlreal.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM CUSTEAR_EMBARQUE

            PERFORM converter_moeda

                       USING v_vlreal_t

                             itab_zycit036_aux2-waers_real

                             /pws/zycbt007-waersb

                       CHANGING v_vlreal.

            PERFORM converter_moeda

                       USING v_vlreal

                             /pws/zycbt007-waersb

                             /pws/zycie001-waers

                        CHANGING v_vlreal.

          ELSE.

            PERFORM conversao_aux.

          ENDIF.

        ELSEIF itab_zycit036_aux2-origem NE 'NF' AND

            itab_zycit036_aux2-origem NE 'NFC' .

          PERFORM read_docts USING itab_zycit036_aux2-origem

                                   itab_zycit036_aux2-nrseqori

                          CHANGING v_dtreal.

          IF v_dtreal LT /pws/zycit085-dtuserc.

            PERFORM conversao_vlreal

                        USING v_vlreal_t itab_zycit036_aux2-waers_real

                     CHANGING v_vlreal.

          ELSE.

            PERFORM conversao_aux.

* << Fim da EXCLUSÃO

      ENDIF.

* >> Início da EXCLUSÃO: FORM CUSTEAR_EMBARQUE

        ELSE.

          IF itab_zycit036a-waers_real NE /pws/zycbt007-waersb.

            IF NOT /pws/zycit085-dttax IS INITIAL.

              PERFORM taxa_converte USING  itab_zycit036a-waers_real

                                           /pws/zycit085-dttax

                                 CHANGING  v_taxa.

            ELSEIF /pws/zycit085-dttax IS INITIAL.

              PERFORM taxa_converte USING  itab_zycit036a-waers_real

                                           sy-datum

                                 CHANGING  v_taxa.

            ENDIF.

            itab_zycit036a-vlreal = itab_zycit036a-vlreal * v_taxa.

          ENDIF.

          IF NOT /pws/zycit085-dttax IS INITIAL.

            PERFORM taxa_converte USING  /pws/zycie001-waers

                                         /pws/zycit085-dttax

                               CHANGING  v_taxa.

          ELSEIF /pws/zycit085-dttax IS INITIAL.

            PERFORM taxa_converte USING  /pws/zycie001-waers

                                         sy-datum

                               CHANGING  v_taxa.

          ENDIF.

          IF NOT v_taxa IS INITIAL.

            v_vlreal = itab_zycit036a-vlreal / v_taxa.

          ELSE.

            IF /pws/zycie001-modalidade = '02'.

              MESSAGE w015 WITH text-074.

            ENDIF.

            LEAVE PROGRAM.

          ENDIF.

        ENDIF.

      ELSE.

        PERFORM retorna_decimais USING /pws/zycie001-waers

                               CHANGING itab_zycit036a-vlreal.

        v_vlreal = itab_zycit036a-vlreal.

      ENDIF.

* << Fim da EXCLUSÃO

      /pws/zycie001-vlreal     =  v_vlreal +  /pws/zycie001-vlreal.

      /pws/zycie001-waers_real = /pws/zycie001-waers.

    ENDIF.

* >> Início da INCLUSÃO: FORM CUSTEAR_EMBARQUE

  ENDLOOP.

  LOOP AT itab_zycit036a.

* << Fim da INCLUSÃO

    /pws/zycie001-vlmov     = itab_zycit036a-vlmov +

  /pws/zycie001-vlmov.

    IF NOT itab_zycit036a-waers_mov IS INITIAL.

      /pws/zycie001-waers_mov = itab_zycit036a-waers_mov.

    ELSE.

...

 

...

        PERFORM taxa_converte

                             USING itab_zycit036_aux2-waers_real

                                   sy-datum

                          CHANGING v_taxa.

      ENDIF.

* >> Início da INCLUSÃO: FORM CONVERSAO_AUX

      v_vlreal_t = itab_zycit036_aux2-vlreal * v_taxa.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM CONVERSAO_AUX

      v_vlreal_t = v_vlreal_t * v_taxa.

* << Fim da EXCLUSÃO

    ENDIF.

* >> Início da EXCLUSÃO: FORM CONVERSAO_AUX

    v_vlreal = v_vlreal_t.

* << Fim da EXCLUSÃO

* >> Início da INCLUSÃO: FORM CONVERSAO_AUX

    IF NOT /pws/zycit085-dttax IS INITIAL.

      PERFORM taxa_converte USING  /pws/zycie001-waers

                                   /pws/zycit085-dttax

                         CHANGING  v_taxa.

    ELSEIF /pws/zycit085-dttax IS INITIAL.

      PERFORM taxa_converte USING  /pws/zycie001-waers

                                   sy-datum

                         CHANGING  v_taxa.

    ENDIF.

    IF NOT v_taxa IS INITIAL.

      v_vlreal = v_vlreal_t / v_taxa.

    ELSE.

      IF /pws/zycie001-modalidade = '02'.

        MESSAGE w015 WITH text-074.

      ENDIF.

      LEAVE PROGRAM.

    ENDIF.

* << Fim da INCLUSÃO

  ELSE.

    IF /pws/zycit442 IS INITIAL.

      READ TABLE itab_zycit003 INDEX 1.

      SELECT SINGLE * FROM /pws/zycit442

       WHERE nrseqda EQ itab_zycit003-nrseqda.

...

 

...

        PERFORM taxa_converte

                             USING itab_zycit036_aux2-waers_real

                                   sy-datum

                          CHANGING v_taxa.

      ENDIF.

* >> Início da INCLUSÃO: FORM CONVERSAO_AUX

      v_vlreal_t = itab_zycit036_aux2-vlreal * v_taxa.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM CONVERSAO_AUX

      v_vlreal_t = v_vlreal_t * v_taxa.

* << Fim da EXCLUSÃO

    ENDIF.

* >> Início da INCLUSÃO: FORM CONVERSAO_AUX

    IF NOT /pws/zycit442-dttax IS INITIAL.

      PERFORM taxa_converte USING  /pws/zycie001-waers

                                   /pws/zycit442-dttax

                         CHANGING  v_taxa.

    ELSEIF /pws/zycit442-dttax IS INITIAL.

      PERFORM taxa_converte USING  /pws/zycie001-waers

                                   sy-datum

                         CHANGING  v_taxa.

    ENDIF.

    IF NOT v_taxa IS INITIAL.

      v_vlreal = v_vlreal_t / v_taxa.

    ELSE.

      IF /pws/zycie001-modalidade = '02'.

        MESSAGE w015 WITH text-074.

      ENDIF.

      LEAVE PROGRAM.

    ENDIF.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM CONVERSAO_AUX

    v_vlreal = v_vlreal_t.

* << Fim da EXCLUSÃO

  ENDIF.

ENDFORM.

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI010F02

...

      v_nota = 'X'.

      MESSAGE i015 WITH text-072.

    ELSE.

      LOOP AT itab_zycit041 WHERE belnr_mr1m IS initial.

      ENDLOOP.

* >> Início da INCLUSÃO: FORM ENCERRAMENTO

      IF sy-subrc = 0 and /pws/zycie001-regime ne '14'.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ENCERRAMENTO

      IF sy-subrc = 0.

* << Fim da EXCLUSÃO

        SELECT * FROM /pws/zycit043 INTO TABLE itab_zycit043

          WHERE nrseq  = itab_zycit042-nrseqnf AND

                cancel = space.

        IF sy-subrc = 0.

          LOOP AT itab_zycit043 WHERE belnr_mr1m IS initial.

...

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI010F03

...

    MESSAGE s018 WITH /pws/zycie001-embarca /pws/zycie001-nrseq.

  ENDIF.

ENDFORM.

FORM altera_moeda.

  CLEAR v_alt_moeda.

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

  DATA:  v_stepl LIKE sy-stepl,

         v_vlreal_aux LIKE itab_zycit036_conve-vlreal.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

  DATA:  v_stepl LIKE sy-stepl.

* << Fim da EXCLUSÃO

  SELECT SINGLE * FROM t001 WHERE bukrs = /pws/zycit085-bukrs.

  SELECT SINGLE * FROM /pws/zycit000 WHERE land1 EQ t001-land1.

  SELECT SINGLE * FROM /pws/zycbt007

         WHERE bukrs EQ /pws/zycit085-bukrs.

  IF sy-subrc NE 0.

...

 

...

                itab_zycit036a-netpr = v_vlbrl_a  / v_taxa.

              ENDIF.

            ENDIF.

          ELSEIF NOT /pws/zycit085-dttax IS INITIAL AND

                 s_msg1 = 'X'.

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

            PERFORM converter_moeda

                              USING itab_zycit036_conve-netpr

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

        PERFORM converter_moeda USING itab_zycit036_conve-netpr

* << Fim da EXCLUSÃO

                                    itab_zycit036_conve-waers

                                    /pws/zycbt007-waersb

                           CHANGING v_vlbrl_a.

            PERFORM converter_moeda USING v_vlbrl_a

                                          /pws/zycbt007-waersb

...

 

...

          itab_zycit036a-waers = v_medestino_a.

        ELSE.

          MOVE: itab_zycit036_conve-netpr TO itab_zycit036a-netpr,

                itab_zycit036_conve-waers TO itab_zycit036a-waers.

        ENDIF.

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

        CLEAR:  v_vlbrl_a, s_msg1, v_vlbrl,

        v_vlreal_aux .

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

        CLEAR:  v_vlbrl_a, s_msg1, v_vlbrl.

* << Fim da EXCLUSÃO

        IF itab_zycit036_conve-waers_real NE v_medestino_a

          AND v_erro_conv NE 'S'

          AND itab_zycit036_conve-vlreal GT 0        AND

          NOT itab_zycit036_conve-waers_real IS INITIAL.

          READ TABLE itab_zycit036 WITH KEY

                            nrseq  = itab_zycit036_conve-nrseq

                            codigo = itab_zycit036_conve-codigo.

          

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

          IF itab_zycit036_aux2-origem NE 'NF' OR

             itab_zycit036_aux2-origem NE 'NFC'.

* << Fim da INCLUSÃO

          PERFORM read_docts USING itab_zycit036-origem

                                   itab_zycit036-nrseqori

                          CHANGING v_dtreal.

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

          IF v_dtreal LT /pws/zycit085-dtuserc.

            v_vlreal_aux = itab_zycit036_conve-vlreal.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

          IF v_dtreal LT /pws/zycit085-dtuserc and (

            itab_zycit036_aux2-origem NE 'NF' OR

            itab_zycit036_aux2-origem NE 'NFC' ) .

* << Fim da EXCLUSÃO

            PERFORM conversao_vlreal

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

                        USING

                              v_vlreal_aux

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

                        USING itab_zycit036_conve-vlreal

* << Fim da EXCLUSÃO

                              itab_zycit036_conve-waers_real

                     CHANGING itab_zycit036_conve-vlreal.

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

            MOVE: itab_zycit036_conve-vlreal TO itab_zycit036a-vlreal,

              v_medestino_a              TO itab_zycit036a-waers_real.

          ELSE.

            PERFORM altera_moeda_aux.

          ENDIF.

* << Fim da INCLUSÃO

        ELSE.

          PERFORM altera_moeda_aux.

        ENDIF.

      ELSE.

        MOVE: itab_zycit036_conve-vlreal TO itab_zycit036a-vlreal,

...

 

...

       NOT itab_zycit036_conve-waers_mov IS INITIAL.

        SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE

        currkey = itab_zycit036_conve-waers_mov.

        IF sy-subrc EQ 0.

          PERFORM retorna_decimais USING itab_zycit036_conve-waers_mov

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

                                    CHANGING itab_zycit036_conve-vlmov

.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

                                     CHANGING itab_zycit036_conve-vlmov.

* << Fim da EXCLUSÃO

        ELSE.

          PERFORM trata_decimais USING itab_zycit036_conve-waers_mov

                                  CHANGING itab_zycit036_conve-vlmov.

        ENDIF.

        IF NOT /pws/zycit085-dttax IS INITIAL.

...

 

...

                                  CHANGING itab_zycit036a-vlmov.

          ELSE.

            IF itab_zycit036_conve-waers_mov NE /pws/zycbt007-waersb.

             PERFORM taxa_converte USING  itab_zycit036_conve-waers_mov

                                                    /pws/zycit085-dttax

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

                                                       CHANGING  v_taxa

      .

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

                                                       CHANGING  v_taxa.

* << Fim da EXCLUSÃO

            ELSE.

              v_taxa = 1.

            ENDIF.

            v_vlbrl_a = itab_zycit036_conve-vlmov  * v_taxa.

            IF v_medestino_a NE /pws/zycbt007-waersb.

...

 

...

                                  CHANGING itab_zycit036a-vldif.

          ELSE.

            IF itab_zycit036_conve-waers_dif NE /pws/zycbt007-waersb.

             PERFORM taxa_converte USING  itab_zycit036_conve-waers_dif

                                                    /pws/zycit085-dttax

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

                                                       CHANGING  v_taxa

      .

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

                                                       CHANGING  v_taxa.

* << Fim da EXCLUSÃO

            ELSE.

              v_taxa = 1.

            ENDIF.

            v_vlbrl_a = itab_zycit036_conve-vldif  * v_taxa.

            IF  v_medestino_a NE /pws/zycbt007-waersb.

...

 

...

      ENDIF.

      IF v_erro_conv NE 'S'.

        MODIFY itab_zycit036a .

      ENDIF.

    ELSEIF v_resp EQ '1'.

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

      READ TABLE itab_zycit036a_ini

                         WITH KEY nrseq = itab_zycit036a-nrseq

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

    READ TABLE itab_zycit036a_ini WITH KEY nrseq = itab_zycit036a-nrseq

* << Fim da EXCLUSÃO

                                 codigo = itab_zycit036a-codigo.

      IF sy-subrc EQ 0.

        MOVE itab_zycit036a_ini TO itab_zycit036a.

        MODIFY itab_zycit036a INDEX tc_desp_emb-current_line.

      ENDIF.

...

 

...

                        itab_zycit036a-vlreal * v_taxa.

            ENDIF.

          ELSE.

            PERFORM conversao_vlreal

                                USING itab_zycit036a-vlreal

* >> Início da INCLUSÃO: FORM ALTERA_MOEDA

                                      itab_zycit036a-waers_real

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

                                        v_medestino_a

* << Fim da EXCLUSÃO

                             CHANGING itab_zycit036a-vlreal.

            v_trea = v_trea + itab_zycit036a-vlreal.

          ENDIF.

        ENDIF.

      ELSE.

...

 

...

            PERFORM conversao_vlreal

                                USING itab_zycit036a-vlreal

                                      v_medestino_a

                             CHANGING itab_zycit036a-vlreal.

            v_trea = v_trea + itab_zycit036a-vlreal.

* >> Início da EXCLUSÃO: FORM ALTERA_MOEDA

          ELSE.

            SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE

            currkey = itab_zycit036a-waers_real.

            IF sy-subrc EQ 0.

              PERFORM retorna_decimais USING itab_zycit036a-waers_real

                                        CHANGING itab_zycit036a-vlreal.

            ELSE.

              PERFORM trata_decimais USING v_medestino_a

                                  CHANGING itab_zycit036a-vlreal.

            ENDIF.

            IF itab_zycit036a-waers_real NE /pws/zycbt007-waersb.

             PERFORM taxa_converte USING itab_zycit036_conve-waers_real

                                                    /pws/zycit085-dttax

                                                       CHANGING  v_taxa.

            ELSE.

              v_taxa = 1.

            ENDIF.

            v_vlbrl_a = itab_zycit036a-vlreal  * v_taxa.

            IF  v_medestino_a NE /pws/zycbt007-waersb.

              PERFORM taxa_converte USING  v_medestino_a

                                     /pws/zycit085-dttax

                                        CHANGING  v_taxa.

            ELSE.

              v_taxa = 1.

            ENDIF.

            IF NOT v_taxa IS INITIAL.

              itab_zycit036a-vlreal = v_vlbrl_a  / v_taxa.

            ENDIF.

* << Fim da EXCLUSÃO

            v_trea = v_trea + itab_zycit036a-vlreal.

            ENDIF.

          ENDIF.

        ENDIF.

      ENDIF.

...

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI010O01

...

  clear: /pws/zycie001,

         /pws/zycie001a.

endmodule.

module carrega_zycbe003 output.

move-corresponding itab_zycit003_custo to /pws/zycie003.

* >> Início da INCLUSÃO: MODULE CARREGA_ZYCBE003

move itab_zycit003_custo-netpr to v_netprt.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: MODULE CARREGA_ZYCBE003

move itab_zycit003_custo-netprt to v_netprt.

perform trata_decimais using /pws/zycie003-waers

                    changing v_netprt.

* << Fim da EXCLUSÃO

move: /pws/zycie003-vlreal to v_vlreal_tl,

      /pws/zycie003-vlmov  to v_vlmov_tl,

      /pws/zycie003-vldif  to v_vldif_tl.

v_netprt    = v_netprt    / 100000.

v_vlreal_tl = v_vlreal_tl / 100000.

v_vlmov_tl  = v_vlmov_tl  / 100000.

v_vldif_tl  = v_vldif_tl  / 100000.

* >> Início da INCLUSÃO: MODULE CARREGA_ZYCBE003

  IF /pws/zycie003-waers NE /pws/zycie001-waers.

perform trata_decimais using /pws/zycie003-waers

                    changing v_netprt.

  ENDIF.

  IF /pws/zycie003-waers_real NE /pws/zycie001-waers.

* << Fim da INCLUSÃO

    PERFORM trata_decimais USING /pws/zycie003-waers_real

                        CHANGING v_vlreal_tl.

* >> Início da INCLUSÃO: MODULE CARREGA_ZYCBE003

  ENDIF.

  IF /pws/zycie003-waers_mov NE /pws/zycie001-waers_mov.

* << Fim da INCLUSÃO

    PERFORM trata_decimais USING /pws/zycie003-waers_mov

                        CHANGING v_vlmov_tl.

* >> Início da INCLUSÃO: MODULE CARREGA_ZYCBE003

  ENDIF.

  IF /pws/zycie003-waers_dif NE /pws/zycie001-waers_dif.

* << Fim da INCLUSÃO

    PERFORM trata_decimais USING /pws/zycie003-waers_dif

                        CHANGING v_vldif_tl.

* >> Início da INCLUSÃO: MODULE CARREGA_ZYCBE003

  ENDIF.

* << Fim da INCLUSÃO

describe table itab_zycit003_custo lines v_lin.

tc_itens-lines = v_lin.

endmodule.

module status_0003 output.

clear: itab_botoes. refresh: itab_botoes.

...

 

...

  set titlebar '0004'.

endmodule.

module carrega_zycbe036 output.

check not itab_zycit036-nrseq is initial.

move itab_zycit036 to /pws/zycie036.

* >> Início da EXCLUSÃO: MODULE CARREGA_ZYCBE036

if itab_zycit036-netpr ne 0 and

  itab_zycit036-origem ne 'PED'.

  perform trata_decimais using itab_zycit036-waers

                         changing /pws/zycie036-netpr.

endif.

* << Fim da EXCLUSÃO

describe table itab_zycit036 lines v_lin.

tc_despesas-lines = v_lin.

endmodule.

module set_screen_tc_despesas output.

  if /pws/zycie036-codigo eq 'IPI'.

...

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI010O02

...

MODULE

carrega_totais OUTPUT.

  CLEAR : v_tplan, v_sdif.

  CLEAR:  v_trea, v_tmov, v_tdif, v_sdif.

  CLEAR:  v_trea.

* >> Início da INCLUSÃO: MODULE CARREGA_TOTAIS

  if /pws/zycie001-regime eq '14'.

    move /pws/zycit442 to itab_zycit085.

    append itab_zycit085.

  endif.

* << Fim da INCLUSÃO

  LOOP AT itab_zycit036a.

    IF itab_zycit036a-waers NE /pws/zycie001-waers_plan

      AND NOT itab_zycit036a-netpr IS INITIAL.

      PERFORM converter_moeda USING

                              itab_zycit036a-netpr

...

 

...

                                          custo  = 'X'.

        IF sy-subrc = 0.

          IF itab_zycit140-origem = 'NF'.

            READ TABLE itab_zycit085 INDEX 1.

            IF itab_zycit036a-waers_real EQ itab_zycit085-waersseg.

* >> Início da INCLUSÃO: MODULE CARREGA_TOTAIS

             IF itab_zycit085-ukursseg > 0.

           v_treal_aux = itab_zycit036a-vlreal / itab_zycit085-ukursseg.

             endif.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: MODULE CARREGA_TOTAIS

           v_treal_aux = itab_zycit036a-vlreal * itab_zycit085-ukursseg.

* << Fim da EXCLUSÃO

                v_treal_conv  =   v_treal_aux.

            ELSE.

              PERFORM taxa_converte USING  itab_zycit036a-waers_real

                                           itab_zycit085-dttax

                             CHANGING  v_taxa.

...

 

...

                  v_treal_aux = v_treal_aux / itab_zycit085-ukursfob.

                  v_treal_conv  =   v_treal_aux.

                ENDIF.

              ENDIF.

            ENDIF.

* >> Início da INCLUSÃO: MODULE CARREGA_TOTAIS

            PERFORM trata_decimais USING itab_zycit036a-waers_real

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: MODULE CARREGA_TOTAIS

            PERFORM retorna_decimais USING itab_zycit036a-waers_real

* << Fim da EXCLUSÃO

                                CHANGING v_treal_conv.

          ELSE.

            PERFORM converter_moeda USING

                            itab_zycit036a-vlreal

                            itab_zycit036a-waers_real

...

 

...

          ENDIF.

        ENDIF.

      ELSE.

            READ TABLE itab_zycit085 INDEX 1.

            IF itab_zycit036a-waers_real ne itab_zycit085-waersseg.

* >> Início da INCLUSÃO: MODULE CARREGA_TOTAIS

             IF itab_zycit085-ukursseg > 0.

           v_treal_aux = itab_zycit036a-vlreal / itab_zycit085-ukursseg.

             endif.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: MODULE CARREGA_TOTAIS

           v_treal_aux = itab_zycit036a-vlreal * itab_zycit085-ukursseg

.

* << Fim da EXCLUSÃO

               v_treal_conv  =   v_treal_aux.

* >> Início da INCLUSÃO: MODULE CARREGA_TOTAIS

            PERFORM trata_decimais USING itab_zycit036a-waers_real

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: MODULE CARREGA_TOTAIS

            PERFORM retorna_decimais USING itab_zycit036a-waers_real

* << Fim da EXCLUSÃO

                                CHANGING v_treal_conv.

            ENDIF.

      ENDIF.

* >> Início da INCLUSÃO: MODULE CARREGA_TOTAIS

      PERFORM trata_decimais USING /pws/zycie001-waers_real

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: MODULE CARREGA_TOTAIS

      PERFORM retorna_decimais USING /pws/zycie001-waers_real

* << Fim da EXCLUSÃO

                           CHANGING v_treal_conv.

      v_trea  =  v_trea  + v_treal_conv.

    ELSE.

      v_treal_conv = itab_zycit036a-vlreal.

      PERFORM retorna_decimais USING /pws/zycie001-waers_real

...

 

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI010TOP

...

data: begin of itab_cta occurs 0.

        include structure /pws/zygle316.

data: end of itab_cta.

data: it_bkpf          like bkpf          occurs 0 with header line,

      it_zycit006_aux2 like /pws/zycit006 occurs 0 with header line.

* >> Início da INCLUSÃO:

data: it_fat like /pws/zycit006 occurs 0 with header line,

      it_dc  like /pws/zycit008 occurs 0 with header line,

      it_pc  like /pws/zycit026 occurs 0 with header line,

      it_nf  like /pws/zycit042 occurs 0 with header line.

* << Fim da INCLUSÃO

data:

  wa_zycbt007     like /pws/zycbt007,

  wa_zycbt011     like /pws/zycbt011,

  wa_zycit036     like /pws/zycit036,

  wa_tcurx        like   tcurx.

...

 

...

        v_tdif_conv  like /pws/zycit085-vlfob,

        v_tplan_aux like /pws/zycit036-netpr,

        v_treal_aux like /pws/zycit036-netpr,

        v_tmov_aux  like /pws/zycit036-netpr,

        v_tdif_aux  like /pws/zycit036-vldif.

* >> Início da INCLUSÃO:

  DATA: v_vlreal_t LIKE itab_zycit036a-vlreal,

        v_dtreal   LIKE sy-datum.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO:

Data: v_erro_m    like sy-subrc,

      v_erro_m1   like sy-subrc,

      v_demoeda   like /pws/zycit036-waers,

      v_paramoeda like /pws/zycit036-waers.

* << Fim da EXCLUSÃO

selection-screen begin of screen 0006.

selection-screen begin of block b1 with frame title text-076.

select-options : s_emb for /pws/zycit001-nrseq.

selection-screen end of block b1.

selection-screen begin of block b2 with frame title text-077.

...

 

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI010X01

tables: /pws/zycie001,

         t030,

         /pws/zycit000,

* >> Início da INCLUSÃO:

         /pws/zycbt007,

         /pws/zycit442.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO:

         /pws/zycbt007.

* << Fim da EXCLUSÃO

data: begin of common part b.

data :  itab_zycbe033    like /pws/zycbe033 occurs 0 with header line.

data: itab_zycie033   like /pws/zycbe033 occurs 10 with header line,

      itab_zycit032   like /pws/zycit032 occurs 10 with header line,

      itab_zycit034   like /pws/zycit034 occurs 10 with header line,

...

 

...

data: begin of itab_zycit003 occurs 0.

        include structure /pws/zycit003.

data: netprt type /pws/zycil816 .

data:  mark.

data: end of itab_zycit003.

* >> Início da INCLUSÃO:

data: itab_zycit263 like /pws/zycit263 occurs 0 with header line,

      itab_zycit008 like /pws/zycit008 occurs 0 with header line,

      itab_zycit027 like /pws/zycit027 occurs 0 with header line,

      itab_zycit264 like /pws/zycit264 occurs 0 with header line,

      itab_zycit265 like /pws/zycit265 occurs 0 with header line.

* << Fim da INCLUSÃO

data: begin of itab_anlz occurs 0        .

data: anln1  type anlz-anln1     ,

      anln2  type anlz-anln2     ,

      gsber  type anlz-gsber     .

data: end of itab_anlz                   .

...

 

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR007

...

        INCLUDE STRUCTURE /pws/zycie031.

DATA: END OF itab_zycie031_aux.

DATA: BEGIN OF itab_botoes OCCURS 0.

DATA: bname(20) TYPE c.

DATA: END OF itab_botoes.

* >> Início da INCLUSÃO:

DATA: BEGIN OF itab_zycit001 OCCURS 0.

DATA:  nrseq      LIKE /pws/zycie001-nrseq     ,

       waers_real LIKE /pws/zycie001-waers_real,

       waers_mov  LIKE /pws/zycie001-waers_mov ,

       waers_dif  LIKE /pws/zycie001-waers_dif.

DATA: END OF itab_zycit001.

DATA: BEGIN OF itab_zycit003 OCCURS 0.

DATA:  nrseq LIKE /pws/zycie003-nrseq,

       ebeln LIKE /pws/zycie003-ebeln,

       ebelp LIKE /pws/zycie003-ebelp.

DATA: END OF itab_zycit003.

data:  wa_tcurx like tcurx.

* << Fim da INCLUSÃO

DATA:

  e_okcode     LIKE sy-ucomm  ,

  v_unit       LIKE ekpo-meins,

* >> Início da INCLUSÃO:

  v_tcode      LIKE sy-tcode,

  v_wrbtr                   like /pws/zycie003-vlreal.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO:

  v_tcode      LIKE sy-tcode  .

* << Fim da EXCLUSÃO

START-OF-SELECTION.

  IMPORT v_tcode            FROM MEMORY ID 'V_TCODE'.

  IF v_tcode eq '/PWS/ZYCI001_E'.

    MOVE 'CONTAB' TO itab_botoes-bname.

    APPEND itab_botoes.

...

 

...

           172 '|', text-016,

           183 '|'.

  ULINE AT /(183).

  IF NOT itab_zycie031_aux[] IS INITIAL.

    LOOP AT itab_zycie031_aux.

* >> Início da INCLUSÃO: FORM LISTA_IMPRESSAO

      CLEAR: itab_zycit001, itab_zycit003, v_wrbtr.

      v_wrbtr = itab_zycie031_aux-wrbtr.

      v_wrbtr = v_wrbtr / 1000.

      READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycie031_aux-ebeln

                                        ebelp = itab_zycie031_aux-ebelp.

      IF sy-subrc EQ 0.

        READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.

        IF sy-subrc EQ 0.

          IF itab_zycie031_aux-waers NE itab_zycit001-WAERS_dif.

            PERFORM trata_decimais USING itab_zycie031_aux-waers

                                CHANGING v_wrbtr.

          ENDIF.

        ENDIF.

      ENDIF.

* << Fim da INCLUSÃO

      WRITE:  /00 '|', itab_zycie031_aux-ebeln,

               14 '|', itab_zycie031_aux-ebelp,

               24 '|', itab_zycie031_aux-matnr,

               36 '|', itab_zycie031_aux-menge  UNIT v_unit,

* >> Início da INCLUSÃO: FORM LISTA_IMPRESSAO

               53 '|', v_wrbtr CURRENCY /pws/zycbt007-waersb,

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM LISTA_IMPRESSAO

               53 '|', itab_zycie031_aux-wrbtr CURRENCY

   /pws/zycbt007-waersb,

* << Fim da EXCLUSÃO

               72 '|',

               91 '|',

               97 '|',

              110 '|',

              123 '|',

...

 

...

    ULINE AT /(183).

  ENDIF.

  IF NOT itab_zycbt035_aux[] IS INITIAL.

    SORT itab_zycbt035_aux BY ebeln ebelp matuse d_newko.

    LOOP AT itab_zycbt035_aux.

* >> Início da INCLUSÃO: FORM LISTA_IMPRESSAO

      CLEAR: itab_zycit001, itab_zycit003, v_wrbtr.

      v_wrbtr = itab_zycbt035_aux-wrbtr.

      v_wrbtr = v_wrbtr / 1000.

      READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycbt035_aux-ebeln

                                        ebelp = itab_zycbt035_aux-ebelp.

      IF sy-subrc EQ 0.

        READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.

        IF sy-subrc EQ 0.

          IF itab_zycbt035_aux-waers NE itab_zycit001-WAERS_dif.

            PERFORM trata_decimais USING itab_zycbt035_aux-waers

                                CHANGING v_wrbtr.

          ENDIF.

        ENDIF.

      ENDIF.

* << Fim da INCLUSÃO

      IF itab_zycbt035_aux-bschl EQ '40'.

* >> Início da INCLUSÃO: FORM LISTA_IMPRESSAO

        v_wrbtr = v_wrbtr * -1.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM LISTA_IMPRESSAO

        itab_zycbt035_aux-wrbtr = itab_zycbt035_aux-wrbtr * -1.

* << Fim da EXCLUSÃO

      ENDIF.

      WRITE:  /00 '|', itab_zycbt035_aux-ebeln,

               14 '|', itab_zycbt035_aux-ebelp,

               24 '|', itab_zycbt035_aux-matnr,

               36 '|', itab_zycbt035_aux-menge  UNIT v_unit,

* >> Início da INCLUSÃO: FORM LISTA_IMPRESSAO

               53 '|', v_wrbtr CURRENCY /pws/zycbt007-waersb,

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM LISTA_IMPRESSAO

               53 '|', itab_zycbt035_aux-wrbtr  CURRENCY

  /pws/zycbt007-waersb,

* << Fim da EXCLUSÃO

               72 '|', itab_zycbt035_aux-newko,

               91 '|', itab_zycbt035_aux-matuse,

               97 '|', itab_zycbt035_aux-d_gsber,

              110 '|', itab_zycbt035_aux-d_kostl,

              123 '|', itab_zycbt035_aux-d_prctr,

...

 

...

             14 '|', text-011,

             33 '|', text-012,

             51 '|'.

    ULINE AT /(51).

    LOOP AT itab_zycie031.

* >> Início da INCLUSÃO: FORM LISTA_IMPRESSAO

      CLEAR: itab_zycit001, itab_zycit003, v_wrbtr.

      v_wrbtr = itab_zycie031-wrbtr.

      v_wrbtr = v_wrbtr / 1000.

      READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycie031-ebeln

                                        ebelp = itab_zycie031-ebelp.

      IF sy-subrc EQ 0.

        READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.

        IF sy-subrc EQ 0.

          IF itab_zycie031-waers NE itab_zycit001-WAERS_dif.

            PERFORM trata_decimais USING itab_zycie031-waers

                                CHANGING v_wrbtr.

          ENDIF.

        ENDIF.

      ENDIF.

* << Fim da INCLUSÃO

      WRITE:  /00 '|', itab_zycie031-matnr,

               14 '|', itab_zycie031-menge UNIT v_unit,

              33 '|', itab_zycie031-wrbtr CURRENCY /pws/zycbt007-waersb,

               51 '|'.

    ENDLOOP.

...

 

...

             98 '|', text-010,

            115 '|', text-016,

            126 '|'.

    ULINE AT /(126).

    LOOP AT itab_zycbt035.

* >> Início da INCLUSÃO: FORM LISTA_IMPRESSAO

      CLEAR: itab_zycit001, itab_zycit003, v_wrbtr.

      v_wrbtr = itab_zycbt035-wrbtr.

      v_wrbtr = v_wrbtr / 1000.

      READ TABLE itab_zycit003 WITH KEY ebeln = itab_zycbt035-ebeln

                                        ebelp = itab_zycbt035-ebelp.

      IF sy-subrc EQ 0.

        READ TABLE itab_zycit001 WITH KEY nrseq = itab_zycit003-nrseq.

        IF sy-subrc EQ 0.

          IF itab_zycbt035-waers NE itab_zycit001-WAERS_dif.

            PERFORM trata_decimais USING itab_zycbt035-waers

                                CHANGING v_wrbtr.

          ENDIF.

        ENDIF.

      ENDIF.

* << Fim da INCLUSÃO

      IF itab_zycbt035-bschl EQ '50'.

* >> Início da INCLUSÃO: FORM LISTA_IMPRESSAO

        v_wrbtr = v_wrbtr * -1.

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM LISTA_IMPRESSAO

        itab_zycbt035-wrbtr = itab_zycbt035-wrbtr * -1.

* << Fim da EXCLUSÃO

      ENDIF.

      WRITE:  /00 '|', itab_zycbt035-d_newko,

* >> Início da INCLUSÃO: FORM LISTA_IMPRESSAO

               17 '|', v_wrbtr CURRENCY /pws/zycbt007-waersb,

* << Fim da INCLUSÃO

* >> Início da EXCLUSÃO: FORM LISTA_IMPRESSAO

              17 '|', itab_zycbt035-wrbtr CURRENCY /pws/zycbt007-waersb,

* << Fim da EXCLUSÃO

               36 '|', itab_zycbt035-matuse,

               41 '|', itab_zycbt035-d_gsber,

               53 '|', itab_zycbt035-d_kostl,

               66 '|', itab_zycbt035-d_prctr,

               79 '|', itab_zycbt035-d_fictr,

...

 

...

                                d_fipos = itab_zycbt035_aux-d_fipos.

    itab_zycbt035_aux-d_newko = itab_zycbt035-d_newko.

    itab_zycbt035_aux-newko = itab_zycbt035-newko.

    MODIFY itab_zycbt035_aux INDEX v_index.

  ENDLOOP.

* >> Início da INCLUSÃO: FORM SELECIONAR_DADOS

  IF NOT itab_zycie031_aux[] IS INITIAL.

    SELECT nrseq ebeln ebelp

     FROM /pws/zycit003

     INTO TABLE itab_zycit003

     FOR ALL ENTRIES IN itab_zycie031_aux

     WHERE ebeln EQ itab_zycie031_aux-ebeln

       AND ebelp EQ itab_zycie031_aux-ebelp.

    IF sy-subrc EQ 0.

      SELECT nrseq waers_real waers_mov waers_dif

        FROM /pws/zycit001

        INTO TABLE itab_zycit001

        FOR ALL ENTRIES IN itab_zycit003

        WHERE nrseq EQ itab_zycit003-nrseq.

    ENDIF.

  ENDIF.

* << Fim da INCLUSÃO

ENDFORM.

* >> Início da INCLUSÃO: FORM TRATA_DECIMAIS

FORM trata_decimais USING    p_moeda

                    CHANGING p_valor.

  SELECT SINGLE * FROM tcurx INTO wa_tcurx WHERE currkey = p_moeda.

  IF sy-subrc <> 0.

    wa_tcurx-currdec = 2.

  ENDIF.

  p_valor = p_valor * ( 10 ** ( wa_tcurx-currdec - 2 ) ).

ENDFORM.

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO

* << Fim da INCLUSÃO