CE PLUS - Nota 007635

Módulo: CÂMBIO EXPORTAÇÃO

Funcionalidade: Liquidação em Andamento

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

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

Descrição da Nota: LIQUIDAÇÃO EM ANDAMENTO - NÃO APARECE O CAMPO CHAVE DE REFERENCIA

Sintoma

No programa de liquidação em andamento - não aparece o campo chave de referencia

 

 

Solução

Incluir a função de periodo e ano para buscar corretamente esses dados para preencher a chave de

referencia corretamente.

 

Versões Tratadas

7.0


Pré-Requisitos

Produto:

Nota

Descrição

CODE INSPECTOR, VERIFICAÇÃO AMPLIADA, PROGRAMAS CAMBIO

CODE INSPECTOR, VERIFICAÇÃO AMPLIADA, PROGRAMAS CAMBIO

LIQUIDAÇÃO EM ANDAMENTO - DESMEMBRAMENTO CLIENTE - ERRO BI - ZTERM

DESENVOLVIMENTO ADICIONAL CONTABILIZAÇÕES DA LIQUIDAÇÃO EM ANDAMENTO

LIQUIDAÇÃO EM ANDAMENTO CAMPO ZUONR 321

LIQUIDAÇÃO EM ANDAMENTO CRIAR - BOTÕES VINCULAR TOTAL SELECIONAR FATURAS

LIQUIDAÇÃO EM ANDAMENTO - COMPLETAR QUANTIDADE DE ZEROS À ESQUERDA BELNR

LIQUIDAÇÃO EM ANDAMENTO TOTAL - FBRA INCORRETA APÓS ERRO F-30

EXIT LIQ001 E LIQ002.

Informações Complementares

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

Nota Número 07635 Data: 25/11/2008 Hora: 10:47:52

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

 

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

Nota Número              : 07635

Categoria                : Melhoria

Prioridade               : Alta

Versão PW.CE             : 7.0

Pacote                   : 00007

Agrupamento              : 00075

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

Referência às notas relacionadas:

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

 

01145  - 00009 - 6.0    - 00023  - DESENVOLVIMENTO ADICIONAL CONTABILIZAÇÕES DA LIQUIDAÇÃO EM ANDAME

01336  - 00008 - 6.0    - 00023  - LIQUIDAÇÃO EM ANDAMENTO CAMPO ZUONR 321

02669  - 00007 - 6.0    - 00026  - LIQUIDAÇÃO EM ANDAMENTO - COMPLETAR QUANTIDADE DE ZEROS À ESQUERD

03276  - 00006 - 6.0    - 00026  - LIQUIDAÇÃO EM ANDAMENTO - DESMEMBRAMENTO CLIENTE - ERRO BI - ZTER

03487  - 00005 - 7.0    - 00001  - EXIT¿S LIQ001 E LIQ002.

03529  - 00004 - 7.0    - 00001  - LIQUIDAÇÃO EM ANDAMENTO TOTAL - FBRA INCORRETA APÓS ERRO F-30

06012  - 00003 - 7.0    - 00004  - CODE INSPECTOR, VERIFICAÇÃO AMPLIADA, PROGRAMAS CAMBIO

06027  - 00002 - 7.0    - 00004  - CODE INSPECTOR, VERIFICAÇÃO AMPLIADA, PROGRAMAS CAMBIO

07107  - 00001 - 7.0    - 00006  - LIQUIDAÇÃO EM ANDAMENTO CRIAR - BOTÕES VINCULAR TOTAL SELECIONAR

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

LIQUIDAÇÃO EM ANDAMENTO - NÃO APARECE O CAMPO CHAVE DE REFERENCIA

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

Palavras Chave:

LIQUIDAÇÃO EM ANDAMENTO - NÃO APARECE O CAMPO CHAVE DE REFERENCIA

 

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

Objetos da nota:

REPS /PWS/MZYCB031F01

REPS /PWS/MZYCB031TOP

     /PWS/LZYCBGF2TOP

     /PWS/LZYCBGF2F01

FUNC /PWS/ZYCB_TRANSACAO_F_30_V

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

Modificações efetuadas em REPS /PWS/MZYCB031F01

 

...

                      ID     'TCD'

                      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_liq-top_line + v_index - 1.

        READ TABLE itab_zycbt209 INDEX v_index.

        v_bukrs = itab_zycbt209-bukrs.

        CHECK NOT v_bukrs IS INITIAL.

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

        v_gjahr = itab_zycbt209-dtbelnr(4).

* << Fim da exclusão

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

         PERFORM determina_ano USING itab_zycbt209-dtbelnr

                                      itab_zycbt209-bukrs

                              CHANGING v_ano.

         v_gjahr = v_ano.

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

      ELSE.

        MESSAGE e261(sf) WITH 'FB03'.

      ENDIF.

  ENDCASE.

ENDFORM.

FORM command_page.

...

 

...

        nrparcf  = itab_zycbt030-nrparcf

        gsberf   = itab_zycbt030-gsberf.

    itab_zycbt030-v_kwert =

                ( itab_zycbt030-kwert / itab_zycbt030-s_kwert )

                  * itab_zycbt209-vlme.

    CLEAR v_wrbtr.

    SHIFT itab_zycbt030-v_belnr(10) RIGHT DELETING TRAILING space.

    TRANSLATE itab_zycbt030-v_belnr(10) USING c_zero.

    SHIFT itab_zycbt030-belnr(10) RIGHT DELETING TRAILING space.

    TRANSLATE itab_zycbt030-belnr(10) USING c_zero.

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

PERFORM determina_ano USING itab_zycbt030-budat

                            itab_zycbt209-bukrs

                    CHANGING v_ano.

* << Fim da inclusão

    SELECT  wrbtr

           FROM bsid

             UP TO 1 ROWS

           INTO v_wrbtr

           WHERE belnr  = itab_zycbt030-v_belnr

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

           AND   gjahr  = itab_zycbt030-budat(4)

* << Fim da exclusão

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

           AND   gjahr  = v_ano

* << Fim da inclusão

           AND   kunnr  = itab_zycbt030-kunag

           AND   bukrs  = itab_zycbt209-bukrs.

   ENDSELECT.

    PERFORM clear_dados_batch.

    IF v_wrbtr NE itab_zycbt030-v_kwert.

      PERFORM desmembra_cliente.

      IF sy-subrc NE 0.

        v_erro = 'X'.

        CLEAR sy-subrc.

        EXIT.

...

 

...

  itab_zycbe033-werks   = itab_zycbt209-werks.

  LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt209-nrinvoic AND

                              gsberf   = itab_zycbt209-gsberf   AND

                              nrparcf  = itab_zycbt209-nrparcf.

    itab_zycbt036-tcode   = 'F-30'.

    itab_zycbt036-tabela  = '/PWS/ZYCBT209'.

    itab_zycbt036-cpochv  = itab_zycbe033-cpochv.

    itab_zycbt036-belnr   = itab_zycbt030-belnr_d.

    IF itab_zycbt030-belnr_d EQ itab_zycbt030-belnr   OR

       itab_zycbt030-belnr_d EQ itab_zycbt030-belnr6.

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

      v_gjahr = itab_zycbt030-budat(4).

* << Fim da exclusão

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

        PERFORM determina_ano USING itab_zycbt030-budat

                                    itab_zycbt209-bukrs

                           CHANGING v_ano.

      v_gjahr = v_ano.

* << Fim da inclusão

      itab_zycbt036-dtdocto = itab_zycbt030-budat.

      CLEAR itab_zycbe033-c_zuonr.

      SELECT wrbtr

        FROM bsid

          UP TO 1 ROWS

        INTO itab_zycbe033-wrbtr

       WHERE belnr  = itab_zycbt030-belnr_d

       AND   gjahr  = v_gjahr

       AND   kunnr  = itab_zycbt209-kunnr

       AND   bukrs  = itab_zycbt209-bukrs.

...

 

...

      SELECT belnr

             FROM /pws/zycbt030

               UP TO 1 ROWS

             INTO v_belnr

             WHERE nrinvoic EQ itab_zycbt209-nrinvoic AND

                   gsberf   EQ itab_zycbt209-gsberf   AND

                   nrparcf  EQ itab_zycbt209-nrparcf.

     ENDSELECT.

      IF NOT v_belnr IS INITIAL AND

         NOT v_dtemb IS INITIAL.

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

         PERFORM determina_ano USING v_dtemb

                                    itab_zycbt209-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

        SELECT SINGLE kursf FROM bkpf INTO itab_zycbe033-kursf

          WHERE bukrs = itab_zycbt209-bukrs AND

                belnr = v_belnr             AND

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

                gjahr = v_dtemb(4).

* << Fim da exclusão

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

                gjahr = v_ano.

* << Fim da inclusão

      ENDIF.

...

 

...

              msgty = 'I'

              msgv1 = text-062

              msgv2 = itab_zycbt209-nrinvoic

              msgv3 = text-065

              msgv4 = text-066

              txtnr = '061'

              zeile = v_zeile.

    v_zeile = v_zeile + 1.

  ENDIF.

  itab_zycbe033-wrbtr = itab_zycbt030-v_kwert.

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

  v_gjahr = itab_zycbt030-budat(4).

* << Fim da exclusão

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

        PERFORM determina_ano USING itab_zycbt030-budat

                                    itab_zycbt209-bukrs

                           CHANGING v_ano.

  v_gjahr = v_ano.

* << Fim da inclusão

  SELECT SINGLE budat

         FROM bkpf

         INTO itab_zycbe033-dtdocto

         WHERE bukrs = itab_zycbt209-bukrs

           AND belnr = itab_zycbt030-v_belnr

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

           AND gjahr = itab_zycbt030-budat(4).

* << Fim da exclusão

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

           AND gjahr = v_ano.

* << Fim da inclusão

  PERFORM verify_null_field USING itab_zycbt030-kunag

                                  'KUNNR'

                                  text-045.

  itab_zycbe033-d_newko  = itab_zycbt030-kunag.

  IF itab_zycbt030-flag <> 'X'.

    itab_zycbe033-newbs = '01'.

  ELSE.

    itab_zycbe033-newbs = '12'.

  ENDIF.

  itab_zycbe033-augtx   = /pws/zycbt011-txtdesc.

...

 

...

      v_subrc = 4.

    ENDIF.

  ELSE.

    v_subrc = 4.

  ENDIF.

  sy-subrc = v_subrc.

ENDFORM.

FORM anula_desmembramento USING p_bukrs

                                p_belnr

                                p_budat.

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

  DATA: v_monat  LIKE t001b-frpe1,

        v_ano    TYPE gjahr,

* << Fim da exclusão

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

  DATA:

* << Fim da inclusão

        v_subrc  LIKE sy-subrc,

        v_cpochv LIKE /pws/zycbe033-cpochv.

  PERFORM clear_dados_batch.

  itab_zycbe033-tcode  = 'FBRA'.

  itab_zycbe033-tabela = '/PWS/ZYCBT209'.

  CONCATENATE itab_zycbt209-nrinvoic

              itab_zycbt209-gsberf

              itab_zycbt209-nrparcf

              INTO v_cpochv.

  itab_zycbe033-cpochv = v_cpochv.

...

 

...

       EXPORTING

            v_bukrs = p_bukrs

            v_date  = p_budat

       IMPORTING

            v_year  = p_ano.

ENDFORM.

FORM verifica_data USING value(p_data)

                         value(p_bukrs)

                         value(p_nrinv)

                         value(p_mensg)."#EC *

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

  DATA: v_monat  LIKE t001b-frpe1,

        v_ano    TYPE gjahr.

* << Fim da exclusão

  PERFORM determina_periodo USING p_data

                                  p_bukrs

                          CHANGING v_monat.

  PERFORM determina_ano USING p_data

                              p_bukrs

                     CHANGING v_ano.

  CALL FUNCTION 'FI_PERIOD_CHECK'

       EXPORTING

            i_bukrs          = p_bukrs

            i_gjahr          = v_ano

...

 

...

           INTO TABLE itab_zyglt321

           WHERE ktosl   = 'FTE'

             AND codeven = '023'.

  PERFORM clear_dados_batch.

  READ TABLE itab_zycbt030 INDEX 1.

  READ TABLE itab_zycbt017

    WITH KEY

      nrinvoic = itab_zycbt030-nrinvoic

      nrparcf  = itab_zycbt030-nrparcf

      gsberf   = itab_zycbt030-gsberf.

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

        PERFORM determina_ano USING itab_zycbt030-budat

                                    itab_zycbt209-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

  SELECT wrbtr

         FROM bsid

           UP TO 1 ROWS

         INTO v_wrbtr

         WHERE belnr = itab_zycbt030-belnr6   AND

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

               gjahr = itab_zycbt030-budat(4) AND

* << Fim da exclusão

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

               gjahr = v_ano AND

* << Fim da inclusão

               bukrs = itab_zycbt209-bukrs.

 ENDSELECT.

  IF sy-subrc NE 0.

    v_total = 'X'.

  ENDIF.

  itab_zycbe033-tcode  = 'F-30'.

  itab_zycbe033-tabela = '/PWS/ZYCBT209'.

  CONCATENATE itab_zycbt030-nrinvoic

              itab_zycbt030-gsberf

              itab_zycbt030-nrparcf

...

 

...

            zeile = v_zeile.

  v_zeile = v_zeile + 1.

ENDFORM.

FORM limpa_saldo."#EC CALLED

  IF  /pws/zycbe209-waers ='JPY'.

    CLEAR /pws/zycbe209-saldo.

  ENDIF.

ENDFORM.

FORM verifica_prorrogacao.

  CLEAR: v_buzei, v_zterm, v_zbd1t, v_ztag1.

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

        PERFORM determina_ano USING itab_zycbt030-budat

                                    itab_zycbt209-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

  SELECT buzei zterm zbd1t

         FROM bsid

           UP TO 1 ROWS

         INTO (v_buzei, v_zterm, v_zbd1t)

         WHERE belnr  = itab_zycbt030-v_belnr

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

         AND   gjahr  = itab_zycbt030-budat(4)

* << Fim da exclusão

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

         AND   gjahr  = v_ano

* << Fim da inclusão

         AND   kunnr  = itab_zycbt030-kunag

         AND   bukrs  = itab_zycbt209-bukrs

         AND   shkzg  = 'S'.

  ENDSELECT.

  SELECT ztag1 FROM t052

      UP TO 1 ROWS

    INTO v_ztag1

    WHERE zterm = v_zterm.

  ENDSELECT.

  IF v_zbd1t = 0.

...

 

...

    ENDIF.

    LOOP AT itab_zycbt045 WHERE nrinvoic = itab_zycbt030-nrinvoic.

      v_zbd1t = v_zbd1t + itab_zycbt045-nrdias.

    ENDLOOP.

  ENDIF.

  itab_zycbe033-zbd1t  = v_zbd1t.

  itab_zycbe033-ebene  = v_buzei+1(2).

ENDFORM.

FORM verifica_prorrogacao_est.

  CLEAR: v_buzei, v_zterm, v_zbd1t, v_ztag1.

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

         PERFORM determina_ano USING itab_zycbt030-budat

                                      itab_zycbt209-bukrs

                              CHANGING v_ano.

* << Fim da inclusão

  SELECT buzei zterm zbd1t

         FROM bsid

           UP TO 1 ROWS

         INTO (v_buzei, v_zterm, v_zbd1t)

         WHERE belnr  = itab_zycbt030-belnr

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

         AND   gjahr  = itab_zycbt030-budat(4)

* << Fim da exclusão

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

         AND   gjahr  = v_ano

* << Fim da inclusão

         AND   kunnr  = itab_zycbt030-kunag

         AND   bukrs  = itab_zycbt209-bukrs

         AND   shkzg  = 'S'.

    ENDSELECT.

  IF sy-subrc NE 0.

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

        PERFORM determina_ano USING itab_zycbt030-budat

                                    itab_zycbt209-bukrs

                           CHANGING v_ano.

* << Fim da inclusão

    SELECT buzei zterm zbd1t

           FROM bsad

             UP TO 1 ROWS

           INTO (v_buzei, v_zterm, v_zbd1t)

           WHERE belnr  = itab_zycbt030-belnr

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

           AND   gjahr  = itab_zycbt030-budat(4)

* << Fim da exclusão

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

           AND   gjahr  = v_ano

* << Fim da inclusão

           AND   kunnr  = itab_zycbt030-kunag

           AND   bukrs  = itab_zycbt209-bukrs

           AND   shkzg  = 'S'.

    ENDSELECT.

  ENDIF.

  SELECT ztag1 FROM t052

      UP TO 1 ROWS

    INTO v_ztag1

    WHERE zterm = v_zterm.

  ENDSELECT.

...

 

 

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

Modificações efetuadas em REPS /PWS/MZYCB031TOP

 

...

data:   v_nrinvoic      VALUE space,

        v_gsberf        VALUE space,

        v_fkdat         VALUE space,

        v_kunag         VALUE space,

        v_dtvencto      VALUE space,

        v_dtbl          VALUE space,

        v_inco1         VALUE space,

        v_re            VALUE space,

        v_sd            VALUE space,

        v_nrre_ate      LIKE /pws/zycbe017-nrre,

* >> Início da inclusão:

        v_ano               LIKE t009b-bdatj,

        v_monat             LIKE t001b-frpe1,

* << Fim da inclusão

        v_select        type c,

        v_index         TYPE i.

DATA:  BEGIN OF itab_nrinvoic OCCURS 1,

         sign(1)   TYPE c,

         option(2) TYPE c,

         low       LIKE /pws/zycbe017-nrinvoic,

         high      LIKE /pws/zycbe017a-nrinvoic,

       END OF itab_nrinvoic.

DATA:  BEGIN OF itab_gsberf OCCURS 1,

         sign(1)   TYPE c,

...

 

 

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

Modificações efetuadas em REPS /PWS/LZYCBGF2TOP

 

...

 

DATA: BEGIN OF itab_int OCCURS 0,

        sconrf LIKE j_1bam-sconrf,

      END OF itab_int.

DATA: BEGIN OF itab_j1 OCCURS 0,

        sconrf LIKE j_1bam-sconrf,

        scrcon LIKE j_1bam-scrcon,

      END OF itab_j1.

DATA: BEGIN OF t_msg_aux OCCURS 5.

        INCLUDE STRUCTURE /pws/zycee006.

DATA: END   OF t_msg_aux.

* Fim

DATA:  v_num LIKE itab_zycbt036-belnr.

DATA:  v_xnops.

 

* >> Início da inclusão:

DATA:   v_gjahr     LIKE bkpf-gjahr,

        v_ano       LIKE t009b-bdatj.

* << Fim da inclusão

 

DATA: itab_t041b    LIKE t041b    OCCURS 10 WITH HEADER LINE.

DATA: BEGIN OF itab_empresas OCCURS 10,

      bukrs  LIKE skb1-bukrs,

      conta  LIKE skb1-saknr,

      END OF itab_empresas.

 

DATA: v_input              LIKE screen-input,

      v_output             LIKE screen-output,

      v_required           LIKE screen-required,

      v_invisible          LIKE screen-invisible.

 

...

 

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

Modificações efetuadas em REPS /PWS/LZYCBGF2F01

 

...

 

FORM  obter_taxa_cambial USING value(p_belnr)

                               value(p_bukrs)

                               value(p_budat)  "Elaine Omine 03/04/03

*                               value(p_waers)

                         CHANGING    p_taxa."#EC *

  DATA: wa_bkpf LIKE bkpf.

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

         PERFORM determina_ano USING p_budat

                                     p_bukrs

                              CHANGING v_ano.

         v_gjahr = v_ano.

* << Fim da inclusão

 

 

  " Verifica qual é a taxa do cabeçalho do documento a ser baixado

  CALL FUNCTION 'READ_DOCUMENT_HEADER'

       EXPORTING

            belnr          = p_belnr

*           BSTAT          = ' '

            bukrs          = p_bukrs

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

            gjahr          = p_budat(4)        "Elaine Omine 03/04/03

* << Fim da exclusão

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

            gjahr          = v_gjahr

* << Fim da inclusão

*           XBSTV          = ' '

*           XBSTD          = ' '

*           XBSTM          = ' '

*           XARCH          = 'X'

       IMPORTING

            e_bkpf         = wa_bkpf

       EXCEPTIONS

            exit           = 1

            not_found      = 2

            archive_cancel = 3

            OTHERS         = 4.

  IF sy-subrc EQ 0.

    p_taxa = wa_bkpf-kursf.

  ENDIF.

...

 

...

 

  ELSEIF v_string+16(1) = '-'.                "Entrada OCULTA

    p_itab_oculto-campo = 'BSEG-EBELN'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

    p_itab_oculto-campo = 'BSEG-EBELP'.

    p_itab_oculto-chave = 'C'.

    APPEND p_itab_oculto.

  ENDIF.

 

ENDFORM.                    " trata_string_credito3

* >> Início da inclusão:

*&---------------------------------------------------------------------*

*&      Form  determina_ano

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM determina_ano USING    p_budat

                            p_bukrs

                   CHANGING p_ano.

  CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'

       EXPORTING

            v_bukrs = p_bukrs

            v_date  = p_budat

       IMPORTING

            v_year  = p_ano

       EXCEPTIONS

          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 = 0. else. ENDIF.

 

ENDFORM.                    " determina_ano

* << Fim da inclusão

 

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

Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_V

 

...

        PERFORM bdc_screen USING 'SAPDF05X'   '2000'.

        PERFORM bdc_field USING 'BDC_CURSOR'  v_xpos_awkey.

        PERFORM bdc_field  USING v_xpos_awkey 'X'.

        PERFORM bdc_field  USING 'BDC_OKCODE'  '=GO'.

 

*       Tela Entrar condições de seleção (Chave de Referência) - 0731

        PERFORM bdc_screen USING 'SAPDF05X'   '0731'.

        PERFORM bdc_field USING 'BDC_CURSOR'  'RF05A-SEL01(01)'.

 

        CLEAR v_cont.

 

        CLEAR v_awkey.

 

* >> Início da inclusão:

         clear v_gjahr.

         PERFORM determina_ano USING  t_dados-dtdocto

                                      t_dados-bukrs

                              CHANGING v_ano.

         v_gjahr = v_ano.

* << Fim da inclusão

 

        SELECT SINGLE awkey

               FROM bkpf

               INTO v_awkey

               WHERE belnr = t_dados-belnr AND

                     bukrs = t_dados-bukrs AND

* >> Início da exclusão:

                    gjahr = t_dados-dtdocto(4).

* << Fim da exclusão

* >> Início da inclusão:

                     gjahr = v_gjahr.

* << Fim da inclusão

        ADD 1 TO v_cont.

        CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.

        CONCATENATE 'RF05A-SEL02(' v_cont ')' INTO v_campo2.

        PERFORM bdc_field USING v_campo  v_awkey.

        PERFORM bdc_field USING v_campo2 v_awkey.

 

        LOOP AT t_zycbt036 WHERE tcode  = t_dados-tcode

                             AND tabela = t_dados-tabela

                             AND cpochv = t_dados-cpochv.

 

          CLEAR v_awkey.

 

* >> Início da inclusão:

         clear v_gjahr.

         PERFORM determina_ano USING t_zycbt036-dtdocto

                                     t_dados-bukrs

                              CHANGING v_ano.

         v_gjahr = v_ano.

* << Fim da inclusão

 

          SELECT SINGLE awkey

                 FROM bkpf

                 INTO v_awkey

                 WHERE belnr = t_zycbt036-belnr AND

                       bukrs = t_dados-bukrs  AND

* >> Início da exclusão:

                    gjahr = t_dados-dtdocto(4).

* << Fim da exclusão

* >> Início da inclusão:

                     gjahr = v_gjahr.

* << Fim da inclusão

 

          ADD 1 TO v_cont.

          CONCATENATE 'RF05A-SEL01(' v_cont ')' INTO v_campo.

          CONCATENATE 'RF05A-SEL02(' v_cont ')' INTO v_campo2.

          PERFORM bdc_field USING v_campo  v_awkey.

          PERFORM bdc_field USING v_campo2 v_awkey.

...