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.
7.0
Produto:
Nota
Descrição
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.
...