CE PLUS - Nota 007124

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Valores Mantidos no Exterior

Data/Hora da Publicação: 11/08/2008 00:00:00

Data/Hora Última Alteração: 18/02/2011 17:42:07

Descrição da Nota: VALORES MANTIDOS NO EXTERIOR - ANO FISCAL

Sintoma

Ao efetuar um valores mantidos no exterior, não esta encontrando taxa para o desmembramento do

cliente, devido a mesma estar parametrizada para vir da bkpf e a busca da bkpf não estar

considerando ano fiscal diferente.

 

 

Solução

Utilizar a função obtem_ano_contabil, para buscar o ano fiscal correto de acordo com a data de

laçamento do documento contábil, desta forma encontra a taxa e efetua o processo por completo.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

VALORES MANTIDOS NO EXTERIOR - ESTORNO - SÓ FAZ F-02, NÃO FAZ F-30

VALORES MANTIDOS NO EXTERIOR - TAXA DO ESTORNO

VALORES MANTIDOS EXTERIOR - AJUSTE DE PERFORMANCE BKPF

Informações Complementares

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

Nota Número 07124 Data: 11/08/2008 Hora: 16:54:37

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

 

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

Nota Número              : 07124

Categoria                : Erro de Programa

Prioridade               : Média

Versão PW.CE             : 7.0

Pacote                   : 00006

Agrupamento              : 00060

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

Referência às notas relacionadas:

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

 

03912  - 00001 - 7.0    - 00002  - VALORES MANTIDOS EXTERIOR - AJUSTE DE PERFORMANCE BKPF

05581  - 00002 - 7.0    - 00004  - VALORES MANTIDOS NO EXTERIOR - ESTORNO - SÓ FAZ F-02, NÃO FAZ F-3

05970  - 00003 - 7.0    - 00004  - VALORES MANTIDOS NO EXTERIOR - TAXA DO ESTORNO

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

VALORES MANTIDOS NO EXTERIOR - ANO FISCAL

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

Palavras Chave:

VALORES MANTIDOS NO EXTERIOR - ANO FISCAL GJAHR BKPF

 

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

Objetos da nota:

REPS /PWS/MZYCB034F01

 

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

Modificações efetuadas em REPS /PWS/MZYCB034F01

 

...

                      FIELD  'FB03'.

      IF sy-subrc EQ 0.

        SET PARAMETER ID 'BLN' FIELD v_value.

        GET CURSOR LINE v_index.

        CHECK NOT v_index IS INITIAL.

        v_index = tc_op-top_line + v_index - 1.

        READ TABLE itab_zycbt226 INDEX v_index ASSIGNING <fs_zycbt226>.

        IF sy-subrc = 0.

          v_bukrs = <fs_zycbt226>-bukrs.

          CHECK NOT v_bukrs IS INITIAL.

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

          v_gjahr = <fs_zycbt226>-dtlancto(4).

* << Fim da exclusão

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

          PERFORM determina_periodo_contabil

                                    USING <fs_zycbt226>-bukrs

                                          <fs_zycbt226>-dtlancto

                                    CHANGING v_periodo

                                             v_gjahr.

* << Fim da inclusão

          CHECK NOT v_gjahr IS INITIAL.

          SET PARAMETER ID 'BUK' FIELD v_bukrs.

          SET PARAMETER ID 'GJR' FIELD v_gjahr.

          CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

        ENDIF.

      ELSE.

        MESSAGE e261(sf) WITH 'FB03'.

      ENDIF.

    WHEN '/PWS/ZYCBE238-DOC_CONT'

      OR '/PWS/ZYCBE238-DOC_DESM'

...

 

...

        SET PARAMETER ID 'BLN' FIELD v_value.

        GET CURSOR LINE v_index.

        CHECK NOT v_index IS INITIAL.

        v_index = tc_op-top_line + v_index - 1.

        IF v_campo+0(13) EQ '/PWS/ZYCBE239'.

          READ TABLE itab_contrato

            INDEX v_index ASSIGNING <fs_contrato>.

          CHECK <fs_contrato> IS ASSIGNED.

          READ TABLE itab_zycbt226 ASSIGNING <fs_zycbt226>

            WITH KEY nrseq = <fs_contrato>-nrseq.

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

          v_gjahr = <fs_contrato>-dtdebito(4).

* << Fim da exclusão

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

          PERFORM determina_periodo_contabil

                                    USING <fs_zycbt226>-bukrs

                                          <fs_contrato>-dtdebito

                                    CHANGING v_periodo

                                             v_gjahr.

* << Fim da inclusão

        ELSE.

          CASE sy-dynnr.

            WHEN '0120'.

              READ TABLE itab_disp_30 INDEX v_index ASSIGNING <fs_disp>.

            WHEN '0131'.

              READ TABLE itab_disp_70 INDEX v_index ASSIGNING <fs_disp>.

          ENDCASE.

          CHECK <fs_disp> IS ASSIGNED.

          READ TABLE itab_zycbt226 ASSIGNING <fs_zycbt226>

            WITH KEY nrseq = <fs_disp>-nrseq.

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

          v_gjahr = <fs_disp>-dtlanc(4).

* << Fim da exclusão

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

          PERFORM determina_periodo_contabil

                                    USING <fs_zycbt226>-bukrs

                                          <fs_disp>-dtlanc

                                    CHANGING v_periodo

                                             v_gjahr.

* << Fim da inclusão

        ENDIF.

        IF sy-subrc = 0.

          v_bukrs = <fs_zycbt226>-bukrs.

          CHECK NOT v_bukrs IS INITIAL.

          CHECK NOT v_gjahr IS INITIAL.

          SET PARAMETER ID 'BUK' FIELD v_bukrs.

          SET PARAMETER ID 'GJR' FIELD v_gjahr.

          CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.

        ENDIF.

      ELSE.

...

 

...

    IF NOT itab_zycbt030[] IS INITIAL.

      LOOP AT itab_zycbt030 INTO wa_zycbt030.

        READ TABLE itab_zycbt017 INTO wa_zycbt017

                            WITH KEY nrinvoic = wa_zycbt030-nrinvoic

                                     gsberf   = wa_zycbt030-gsberf

                                     nrparcf  = wa_zycbt030-nrparcf.

        IF sy-subrc = 0.

          wa_zycbt030-bukrs = wa_zycbt017-bukrs.

        ENDIF.

        IF NOT wa_zycbt030-budat   IS INITIAL.

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

          wa_zycbt030-gjahr = wa_zycbt030-budat(4).

* << Fim da exclusão

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

          PERFORM determina_periodo_contabil

                                    USING wa_zycbt030-bukrs

                                          wa_zycbt030-budat

                                    CHANGING v_periodo

                                             wa_zycbt030-gjahr.

* << Fim da inclusão

        ELSEIF NOT wa_zycbt030-budat_t IS INITIAL.

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

          wa_zycbt030-gjahr = wa_zycbt030-budat_t(4).

* << Fim da exclusão

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

          PERFORM determina_periodo_contabil

                                    USING wa_zycbt030-bukrs

                                          wa_zycbt030-budat_t

                                    CHANGING v_periodo

                                             wa_zycbt030-gjahr.

* << Fim da inclusão

        ELSE.

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

          wa_zycbt030-gjahr = wa_zycbt030-dtbelnr(4).

* << Fim da exclusão

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

          PERFORM determina_periodo_contabil

                                    USING wa_zycbt030-bukrs

                                          wa_zycbt030-dtbelnr

                                    CHANGING v_periodo

                                             wa_zycbt030-gjahr.

* << Fim da inclusão

        ENDIF.

        MODIFY itab_zycbt030 FROM wa_zycbt030

                             TRANSPORTING bukrs gjahr

                             WHERE nrinvoic EQ wa_zycbt030-nrinvoic

                               AND gsberf   EQ wa_zycbt030-gsberf

                               AND nrparcf  EQ wa_zycbt030-nrparcf.

      ENDLOOP.

      SELECT *

        FROM bkpf

        INTO CORRESPONDING FIELDS OF TABLE itab_bkpf

...

 

...

      <fs_op>-bukrs

      c_chave_oper

      v_codeven

      space

      <fs_op>

      wa_fat

    CHANGING

      wa_zycbe033.

  IF <fs_op>-belnr_op2 IS INITIAL.

    v_belnr = <fs_op>-belnr_op.

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

    v_gjahr = <fs_op>-dtlancto.

* << Fim da exclusão

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

    PERFORM determina_periodo_contabil

                              USING <fs_op>-bukrs

                                    <fs_op>-dtlancto

                              CHANGING v_periodo

                                       v_gjahr.

* << Fim da inclusão

  ELSE.

    v_belnr = <fs_op>-belnr_op2.

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

    v_gjahr = <fs_op>-dtlancto2.

* << Fim da exclusão

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

    PERFORM determina_periodo_contabil

                              USING <fs_op>-bukrs

                                    <fs_op>-dtlancto2

                              CHANGING v_periodo

                                       v_gjahr.

* << Fim da inclusão

  ENDIF.

  SELECT SINGLE kursf

    FROM bkpf

    INTO wa_zycbe033-kursf

    WHERE belnr = v_belnr

      AND gjahr = v_gjahr

      AND bukrs = <fs_op>-bukrs.

  IF sy-subrc NE 0.

    PERFORM define_taxa_cambio

      USING 'O'

...