CE PLUS - Nota 005395

Módulo: DOC. IMPORTAÇÃO

Funcionalidade: Custo Efetivo

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

Data/Hora Última Alteração: 22/02/2011 14:30:18

Descrição da Nota: TRATAMENTO PARA PARAMETR. DE FATOR DE MOEDA PARA TAXA CONVERSÃO NO SAP

Sintoma

Para valores com origem em fatura com moeda igual a JPY o valor calculado em BRL está incorreto no

custo e no recebimento.

 

 

Solução

Atualização do programa de custo efetivo para tratar a parametrização do fator de moeda.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

AJUSTE PARA MELHORIA DE PERFORMANCE DO CUSTO

PROBLEMA NO CUSTO EFETIVO COM MOEDA JPY QUANDO A FATURA ERA DO TIPO P

Informações Complementares

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

Nota Número 05395 Data: 06/12/2007 Hora: 08:41:40

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

 

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

Nota Número              : 05395

Categoria                : Erro de Programa

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00003

Agrupamento              : 00024

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

Referência às notas relacionadas:

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

 

05006  - 00001 - 7.0    - 00003  - AJUSTE PARA MELHORIA DE PERFORMANCE DO CUSTO

05275  - 00002 - 7.0    - 00003  - PROBLEMA NO CUSTO EFETIVO COM MOEDA JPY QUANDO A FATURA ERA DO TI

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

TRATAMENTO PARA PARAMETR. DE FATOR DE MOEDA PARA TAXA CONVERSÃO NO SAP

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

Palavras Chave:

FATOR - CONVERSÃO - TAXA - MOEDA - PARAMETRO - LANÇAMENTO

/PWS/ZYCIR006 - CUSTO - EFETIVO - CONTABIL

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

Objetos da nota:

REPS /PWS/MZYCI010O01

REPS /PWS/MZYCI010O02

REPS /PWS/ZYCIR006

 

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

Modificações efetuadas em REPS /PWS/MZYCI010O01

 

...

MODULE carrega_zycbe036a OUTPUT.

  CHECK NOT itab_zycit036a-nrseq IS INITIAL.

  MOVE /pws/zycit001-embarca TO itab_zycit036a-embarca.

  MOVE itab_zycit036a TO /pws/zycie036a.

  READ TABLE itab_zycit029 WITH KEY codigo = itab_zycit036a-codigo.

  IF sy-subrc EQ 0.

    /pws/zycie029-descricao = itab_zycit029-descricao.

  ENDIF.

  DESCRIBE TABLE itab_zycit036a LINES v_lin.

  tc_desp_emb-lines = v_lin.

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

   if ( /pws/zycie036a-waers = 'JPY' and

      /pws/zycie036a-waers_real = 'JPY' and

      /pws/zycie036a-waers_mov = 'BRL' ).

      read table itab_zycit140 with key

                         codmod = 'D'

                         codigo = itab_zycit036a-codigo

                         custo  = 'X' .

      if itab_zycit140-origem eq 'FAT' .

        perform trata_decimais using 'JPY'

                                 changing itab_zycit036a-vlmov.

      endif.

      /pws/zycie036a-vlmov = itab_zycit036a-vlmov.

  endif.

* << Fim da exclusão

ENDMODULE.

MODULE status_0200 OUTPUT.

  SET PF-STATUS '0200'.

  SET TITLEBAR '0200'.

ENDMODULE.

MODULE set_screen_0200 OUTPUT.

  PERFORM carrega_cgc.

ENDMODULE.

MODULE set_screen_tc_0200 OUTPUT.

  LOOP AT SCREEN.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCI010O02

 

...

            v_tmov_conv  =   v_tmov_aux.

            PERFORM trata_decimais USING itab_zycit036a-waers_real

                                CHANGING v_treal_conv.

          ENDIF.

        ENDIF.

      ENDIF.

      PERFORM trata_decimais USING /pws/zycie001-waers_mov

                           CHANGING v_tmov_conv.

      v_tmov =  v_tmov  + v_tmov_conv.

    ELSE.

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

       IF ( itab_zycit036a-waers = 'JPY' and

          itab_zycit036a-waers_real = 'JPY' and

          itab_zycit036a-waers_mov = 'BRL' ).

          read table itab_zycit140 with key

                             codmod = 'D'

                             codigo = itab_zycit036a-codigo

                             custo  = 'X' .

          if itab_zycit140-origem eq 'FAT' .

            perform trata_decimais using 'JPY'

                                     changing itab_zycit036a-vlmov.

          endif.

      endif.

* << Fim da exclusão

      v_tmov =  v_tmov + itab_zycit036a-vlmov.

    ENDIF.

    IF itab_zycit036a-waers_dif NE /pws/zycie001-waers_dif

       AND NOT itab_zycit036a-vldif IS INITIAL.

      PERFORM converter_moeda USING

                              itab_zycit036a-vldif

                              itab_zycit036a-waers_dif

                              /pws/zycie001-waers_dif

                CHANGING v_tmov_aux.

      v_tdif_conv = v_tmov_aux.

...

 

 

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

Modificações efetuadas em REPS /PWS/ZYCIR006

 

...

DATA: END OF itab_tcurc.

DATA: itab_tcurx TYPE tcurx OCCURS 0 WITH HEADER LINE.

DATA: BEGIN OF itab_taxob08 OCCURS 0.

DATA: waerso TYPE /pws/zycit003-waers,

      waersd TYPE /pws/zycit003-waers,

      taxa   TYPE /pws/zycit245-qtd_iten.

DATA: END OF itab_taxob08.

DATA: BEGIN OF itab_zycit443 OCCURS 0.

        INCLUDE STRUCTURE /pws/zycit443.

DATA: END OF itab_zycit443.

* >> Início da inclusão:

DATA: BEGIN OF itab_tcurf OCCURS 0,

      de     TYPE tcurf-ffact,

      para   TYPE tcurf-tfact,

      fcurr  TYPE tcurf-fcurr,

      tcurr  TYPE tcurf-tcurr,

      gdatu  TYPE tcurf-gdatu,

      kurst  TYPE tcurf-kurst,

      END OF itab_tcurf.

DATA: v_de TYPE tcurf-ffact,

      v_para TYPE tcurf-tfact.

* << Fim da inclusão

DATA: wa_t001w LIKE t001w,

      wa_bseg  LIKE bseg OCCURS 0.

DATA:

  v_netpr  LIKE ekpo-netpr,

  v_porcent LIKE konv-kbetr,

  v_tpeso  LIKE /pws/zycit003-ntgew,

  v_dfator LIKE  tcurr-ffact,

  v_pfator LIKE  tcurr-tfact,

  v_index  TYPE  i,

  v_rub,

...

 

...

            PERFORM trata_decimais USING itab_zycit036-waers_real

                                   CHANGING v_valor.

          ENDIF.

          IF v_itemcongela NE 'X'.

            itab_zycit036-waers_mov = /pws/zycbt007-waersb.

            IF NOT /pws/zycit085-ukursfob IS INITIAL.

              IF itab_zycit036-origem NE 'FAT'.

                itab_zycit036-vlmov = v_valor *

                                      /pws/zycit085-ukursfob.

              ELSE.

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

                itab_zycit036-vlmov = v_valor * v_kursf.

* << Fim da exclusão

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

               PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                               /pws/zycbt007-waersb

                                       CHANGING v_de

                                                v_para.

                itab_zycit036-vlmov = v_valor *

                         ( ( v_kursf * v_para ) / v_de ).

* << Fim da inclusão

              ENDIF.

            ELSE.

              IF itab_zycit036-origem NE 'FAT'.

                READ TABLE itab_zycit100

                     WITH KEY nrseq = itab_zycit036-nrseq

                              ebeln = itab_zycit036-ebeln

                              ebelp = itab_zycit036-ebelp.

                IF NOT itab_zycit100-dttaxbem IS INITIAL.

                  itab_zycit036-vlmov = v_valor *

                                itab_zycit100-dttaxbem.

                ELSE.

                  PERFORM converter_moeda USING v_valor

                                  itab_zycit036-waers_real

                                 /pws/zycbt007-waersb

                                 CHANGING itab_zycit036-vlmov.

                ENDIF.

              ELSE.

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

                itab_zycit036-vlmov = v_valor * v_kursf.

* << Fim da exclusão

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

               PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                               /pws/zycbt007-waersb

                                       CHANGING v_de

                                                v_para.

                itab_zycit036-vlmov = v_valor *

                         ( ( v_kursf * v_para ) / v_de ).

* << Fim da inclusão

              ENDIF.

            ENDIF.

            PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                   CHANGING itab_zycit036-vlmov.

            CLEAR: itab_zycit036-vldif, itab_zycit036-waers_dif.

          ELSE.

            READ TABLE itab_zycit036_plan WITH KEY

                                       nrseq  = itab_zycit036-nrseq

                                       ebeln  = itab_zycit036-ebeln

                                       ebelp  = itab_zycit036-ebelp

...

 

...

                 itab_zycit036_plan-netpr GT 0 AND NOT

                 itab_zycit036_plan-waers IS INITIAL

                 AND v_itemcongela NE 'X'.

                v_valor = itab_zycit036_plan-netpr.

                IF itab_zycit036-origem <> 'FAT'.

                  IF NOT /pws/zycit085-ukursfob IS INITIAL.

                    itab_zycit036-vlmov = v_valor *

                                          /pws/zycit085-ukursfob .

                    itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                  ELSE.

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

                    itab_zycit036-vlmov = v_valor * v_kursf.

* << Fim da exclusão

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

               PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                                   /pws/zycbt007-waersb

                                               CHANGING v_de

                                                        v_para.

                    itab_zycit036-vlmov = v_valor *

                             ( ( v_kursf * v_para ) / v_de ).

* << Fim da inclusão

                    itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                  ENDIF.

                ELSE.

                  READ TABLE itab_zycit100 WITH KEY

                                        nrseq = itab_zycit036-nrseq

                                        ebeln = itab_zycit036-ebeln

                                        ebelp = itab_zycit036-ebelp.

                  IF itab_zycit036-origem <> 'FAT'.

                    IF NOT itab_zycit100-dttaxbem IS INITIAL.

                      itab_zycit036-vlmov = v_valor *

...

 

...

                      PERFORM converter_moeda USING

                                       itab_zycit036-netpr

                                     itab_zycit036-waers

                                /pws/zycbt007-waersb

                              CHANGING itab_zycit036-vlmov.

                    PERFORM trata_decimais USING    itab_zycit036-waers

                                           CHANGING itab_zycit036-vlmov.

                      itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                    ENDIF.

                  ELSE.

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

                    itab_zycit036-vlmov = v_valor * v_kursf.

* << Fim da exclusão

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

               PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                                   /pws/zycbt007-waersb

                                               CHANGING v_de

                                                        v_para.

                    itab_zycit036-vlmov = v_valor *

                             ( ( v_kursf * v_para ) / v_de ).

* << Fim da inclusão

                    itab_zycit036-waers_mov = /pws/zycbt007-waersb.

                  ENDIF.

                ENDIF.

              ENDIF.

            ENDIF.

            itab_zycit036-waers_mov = /pws/zycbt007-waersb.

          ENDIF.

          IF itab_zycit036-origem <> 'FAT'.

            IF itab_zycit036-origem NE 'EST'.

              IF NOT /pws/zycit085-ukursfob IS INITIAL.

...

 

...

                               /pws/zycbt007-waersb

                                  CHANGING itab_zycit036-vldif.

                  itab_zycit036-vldif =

                        itab_zycit036-vldif - itab_zycit036-vlmov.

                ENDIF.

              ENDIF.

              itab_zycit036-waers_dif = /pws/zycbt007-waersb.

            ENDIF.

          ELSE.

            IF NOT v_kursf IS INITIAL.

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

              v_val_real = v_valor * v_kursf.

* << Fim da exclusão

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

              PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                            /pws/zycbt007-waersb

                                    CHANGING v_de

                                             v_para.

              v_val_real = v_valor *

                       ( ( v_kursf * v_para ) / v_de ).

* << Fim da inclusão

            ELSE.

              v_val_real = v_valor * /pws/zycit085-ukursfob .

            ENDIF.

            PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                   CHANGING v_val_real.

            itab_zycit036-vldif = v_val_real

                                     - itab_zycit036-vlmov.

            itab_zycit036-waers_dif = itab_zycit036-waers_mov.

          ENDIF.

        ELSEIF itab_zycit036-netpr GT 0              AND

...

 

...

                  PERFORM converter_moeda USING

                          itab_zycit036-netpr

                          itab_zycit036-waers

                          /pws/zycbt007-waersb

                      CHANGING itab_zycit036-vlmov.

                  PERFORM trata_decimais USING    itab_zycit036-waers

                                         CHANGING itab_zycit036-vlmov.

                ENDIF.

              ENDIF.

            ELSE.

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

              itab_zycit036-vlmov = v_valor * v_kursf.

* << Fim da exclusão

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

              PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                            /pws/zycbt007-waersb

                                    CHANGING v_de

                                             v_para.

              itab_zycit036-vlmov = v_valor *

                       ( ( v_kursf * v_para ) / v_de ).

* << Fim da inclusão

            ENDIF.

            itab_zycit036-waers_mov = /pws/zycbt007-waersb.

          ENDIF.

          itab_zycit036-vldif     = 0 - itab_zycit036-vlmov.

          itab_zycit036-waers_dif = /pws/zycbt007-waersb.

        ENDIF.

        IF itab_zycit036-vlmov IS INITIAL.

          CLEAR itab_zycit036-waers_mov.

        ELSEIF itab_zycit036-vldif IS INITIAL.

          CLEAR itab_zycit036-waers_dif.

...

 

...

                  READ TABLE itab_zycit006 WITH KEY

                                     nrseq = itab_zycit036-nrseqori.

                  IF sy-subrc EQ 0 AND itab_zycit006-frpagto EQ 'P'.

                    itab_zycit036-vlmov     = v_valor *

                                            /pws/zycit085-ukursfre .

                  ELSE.

                    READ TABLE itab_bkpf WITH KEY

                                      bukrs = itab_zycit006-bukrs

                                      belnr = itab_zycit006-belnr_p

                                gjahr = itab_zycit006-dt_belnrp(04).

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

               PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                                   /pws/zycbt007-waersb

                                               CHANGING v_de

                                                        v_para.

* << Fim da inclusão

                    itab_zycit036-vlmov = itab_zycit036-vlreal *

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

                                          itab_bkpf-kursf.

* << Fim da exclusão

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

                             ( ( itab_bkpf-kursf * v_para ) / v_de ).

* << Fim da inclusão

                  ENDIF.

                ELSE.

                  itab_zycit036-vlmov     = v_valor.

...

 

...

            ELSE.

              READ TABLE itab_zycit006 WITH KEY

                                  nrseq = itab_zycit036-nrseqori.

              IF sy-subrc EQ 0 AND itab_zycit006-frpagto EQ 'P'.

                itab_zycit036-vlmov     = v_valor .

              ELSE.

                READ TABLE itab_bkpf WITH KEY

                                  bukrs = itab_zycit006-bukrs

                                  belnr = itab_zycit006-belnr_p

                              gjahr = itab_zycit006-dt_belnrp(04).

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

               PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                                   /pws/zycbt007-waersb

                                           CHANGING v_de

                                                    v_para.

* << Fim da inclusão

                itab_zycit036-vlmov = itab_zycit036-vlreal *

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

                                      itab_bkpf-kursf.

* << Fim da exclusão

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

                         ( ( itab_bkpf-kursf * v_para ) / v_de ).

* << Fim da inclusão

              ENDIF.

            ENDIF.

            itab_zycit036-waers_mov = /pws/zycbt007-waersb.

...

 

...

                                     nrseq = itab_zycit036-nrseqori.

                  IF sy-subrc EQ 0 AND itab_zycit006-frpagto EQ 'P'.

                    v_valor     = v_valor *

                                            /pws/zycit085-ukursfre .

                  ELSE.

                    READ TABLE itab_bkpf WITH KEY

                                      bukrs = itab_zycit006-bukrs

                                      belnr = itab_zycit006-belnr_p

                                gjahr = itab_zycit006-dt_belnrp(04).

                    IF itab_bkpf-waers NE 'BRL'.

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

               PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                                   /pws/zycbt007-waersb

                                                 CHANGING v_de

                                                          v_para.

* << Fim da inclusão

                      v_valor = itab_zycit036-vlreal *

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

                                            itab_bkpf-kursf.

* << Fim da exclusão

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

                               ( ( itab_bkpf-kursf * v_para ) / v_de ).

* << Fim da inclusão

                    ELSE.

                      v_valor = itab_zycit036-vlreal.

                    ENDIF.

...

 

...

                  IF itab_zycit140-custo NE 'X'.

                    itab_zycit036-vlmov     = v_valor .

                  ELSE.

                    READ TABLE itab_zycit006 WITH KEY

                                     nrseq = itab_zycit036-nrseqori.

                    .

                    IF sy-subrc EQ 0.

                      READ TABLE itab_bkpf WITH KEY

                                    belnr = itab_zycit006-belnr_p.

                      IF sy-subrc EQ 0.

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

                        itab_zycit036-vlmov = v_valor * itab_bkpf-kursf.

* << Fim da exclusão

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

               PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                                   /pws/zycbt007-waersb

                                                   CHANGING v_de

                                                            v_para.

                        itab_zycit036-vlmov = v_valor *

                                ( ( itab_bkpf-kursf * v_para ) / v_de ).

* << Fim da inclusão

                      ENDIF.

                    ENDIF.

                  ENDIF.

                ELSE.

                  CLEAR itab_zycit140.

                  READ TABLE itab_zycit140 WITH KEY

                                      codigo = itab_zycit036-codigo

                                      origem = itab_zycit036-origem.

                  IF itab_zycit140-custo NE 'X'.

                    itab_zycit036-vlmov     = v_valor .

                  ELSE.

                    READ TABLE itab_zycit006 WITH KEY

                                       nrfat = itab_zycit036-codigo

                                     nrseq = itab_zycit036-nrseqori.

                    .

                    IF sy-subrc EQ 0.

                      READ TABLE itab_bkpf WITH KEY

                                    belnr = itab_zycit006-belnr_p.

                      IF sy-subrc EQ 0.

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

                        itab_zycit036-vlmov = v_valor * itab_bkpf-kursf.

* << Fim da exclusão

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

               PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                                   /pws/zycbt007-waersb

                                                   CHANGING v_de

                                                            v_para.

                        itab_zycit036-vlmov = v_valor *

                                ( ( itab_bkpf-kursf * v_para ) / v_de ).

* << Fim da inclusão

                      ENDIF.

                    ENDIF.

                  ENDIF.

                ENDIF.

              ENDIF.

            ELSE.

            PERFORM converter_moeda USING v_valor

                                      itab_zycit036-waers_real

                                       /pws/zycbt007-waersb

                                           CHANGING itab_zycit036-vlmov.

...

 

...

                  ENDIF.

                ENDIF.

                IF itab_zycit036-origem EQ 'FAT' AND

                  itab_zycit036-waers_real NE /pws/zycbt007-waersb.

                  READ TABLE itab_zycit006 WITH KEY

                                   nrseq = itab_zycit036-nrseqori.

                  IF sy-subrc EQ 0.

                    READ TABLE itab_bkpf WITH KEY

                                  belnr = itab_zycit006-belnr_p.

                    IF sy-subrc EQ 0.

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

                      v_valor = v_valor * itab_bkpf-kursf.

                      v_vl   = v_vl * itab_bkpf-kursf .

* << Fim da exclusão

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

               PERFORM busca_fator_moed USING  itab_zycit036-waers_real

                                                   /pws/zycbt007-waersb

                                                   CHANGING v_de

                                                            v_para.

                      v_valor = v_valor *

                               ( ( itab_bkpf-kursf * v_para ) / v_de ).

                      v_vl = v_vl *

                               ( ( itab_bkpf-kursf * v_para ) / v_de ).

* << Fim da inclusão

                    ENDIF.

                  ENDIF.

                ELSEIF itab_zycit036-origem EQ 'NF'.

                ENDIF.

                PERFORM trata_decimais USING    itab_zycit036-waers_mov

                                                       CHANGING v_valor.

              ENDIF.

              IF NOT /pws/zycit085-ukursseg IS INITIAL AND

                 ( itab_zycit036-origem EQ 'NF'

                 OR itab_zycit036-origem EQ 'FAT' ).

...

 

...

                                AND nrseqori EQ '0000000000'.

      COMMIT WORK.

    ENDIF.

  ELSEIF /pws/zycie001-dtencer IS INITIAL.

    DELETE FROM /pws/zycit036 WHERE nrseq EQ pa_nrseq

                              AND origem EQ 'NF'

                              AND nrseqori EQ '0000000000'.

    COMMIT WORK.

  ENDIF.

ENDFORM.

* >> Início da inclusão:

FORM busca_fator_moed USING    p_waers

                               p_waersb

                      CHANGING p_de

                               p_para.

  IF /pws/zycit000-kurst IS INITIAL.

    /pws/zycit000-kurst = 'M'.

  ENDIF.

  LOOP AT itab_tcurf

          WHERE fcurr  = p_waers

            AND  tcurr  = p_waersb

            AND  gdatu >= sy-datum

            AND  kurst = /pws/zycit000-kurst.

  ENDLOOP.

  IF sy-subrc NE 0.

    itab_tcurf-gdatu = '99999999' - sy-datum.

    SELECT SINGLE ffact tfact fcurr tcurr

                  gdatu kurst

      FROM tcurf

      INTO  itab_tcurf

      WHERE fcurr  = p_waers  AND

            tcurr  = p_waersb AND

            gdatu >= sy-datum AND

            kurst = /pws/zycit000-kurst.

    IF sy-subrc EQ 0.

      itab_tcurf-gdatu = '99999999' - itab_tcurf-gdatu.

      APPEND itab_tcurf.

    ENDIF.

  ENDIF.

  IF sy-subrc NE 0.

    itab_tcurf-para = itab_tcurf-de = 1.

  ENDIF.

  p_de = itab_tcurf-de.

  p_para = itab_tcurf-para.

ENDFORM.

* << Fim da inclusão