Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Captação
Data/Hora da Publicação: 06/10/2009 00:00:00
Data/Hora Última Alteração: 18/02/2011 16:35:58
Descrição da Nota: CAPTAÇÃO - CAMPO MONTANTE MI OCULTO NA TELA(DMBTR) - ERRO F-02/F-30
Sintoma
Ao criar uma captação, esta ocorrendo erro na F-02 e F-30(quando contrato tipo PT ou ST), pois o
campo Montante MI não esta na tela e o sistema tenta mapeá-lo.
Solução
Antes de mapear o campo BSEG-DMBTR, analisar se o mesmo não se encontra na itab_oculto, se sim, não
deve mapear.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 09148 Data: 06/10/2009 Hora: 12:21:32
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 09148
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 8.0
Pacote : 00001
Agrupamento : 00001
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00622 - 00001 - 6.0 - 00022 - VINCULAÇÃO - O SISTEMA ESTÁ ASSUMINDO A DATA BASE INCORRETA AO ES
----------------------------------------------------------------------------------------------------
CAPTAÇÃO - CAMPO MONTANTE MI OCULTO NA TELA(DMBTR) - ERRO F-02/F-30
----------------------------------------------------------------------------------------------------
Palavras Chave:
CAPTAÇÃO CAMPO MONTANTE MI OCULTO NA TELA DMBTR ERRO F-02 F-30
BSEG-DMBTR
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCB_TRANSACAO_F_02
FUNC /PWS/ZYCB_TRANSACAO_F_30_A
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_02
...
'BKPF-BKTXT' t_dados-bktxt,
'RF05A-NEWBS' '40',
'RF05A-NEWKO' t_dados-d_newko,
'BDC_OKCODE' '/00'.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING 'BKPF-BRNCH' t_dados-brnch.
ENDIF.
WRITE: t_dados-d_valut TO v_data_val_char,
t_dados-wrbtr TO v_wrbtr CURRENCY t_dados-waers.
PERFORM bdc_screen USING 'SAPMF05A' '0300'.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02
IF NOT t_dados-dmbtr IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02
read table itab_oculto with key campo = 'BSEG-DMBTR' chave = 'D'.
if not t_dados-dmbtr is initial and sy-subrc ne 0.
* << Fim da inclusão
WRITE : t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.
PERFORM bdc_field USING:
'BSEG-DMBTR' v_dmbtr.
ENDIF.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'RF05A-NEWKO' t_dados-c_newko,
'BDC_OKCODE' '/00'.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING: 'BSEG-BUPLA' t_dados-brnch.
...
...
CLEAR v_emprsa.
CALL CUSTOMER-FUNCTION '001'
IMPORTING
v_processa = v_emprsa.
IF v_emprsa = 'X'.
PERFORM bdc_screen USING 'SAPLKEAK' v_tela.
PERFORM bdc_field USING 'BDC_OKCODE' 'WEIT'.
ENDIF.
WRITE: t_dados-c_valut TO v_data_val_char.
PERFORM bdc_screen USING 'SAPMF05A' v_tela.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02
IF NOT t_dados-dmbtr IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_02
read table itab_oculto with key campo = 'BSEG-DMBTR' chave = 'C'.
if not t_dados-dmbtr is initial and sy-subrc ne 0.
* << Fim da inclusão
WRITE : t_dados-dmbtr TO v_dmbtr CURRENCY t_dados-waersb.
PERFORM bdc_field USING:
'BSEG-DMBTR' v_dmbtr.
ENDIF.
PERFORM bdc_field USING:
'BSEG-WRBTR' '*'.
IF t_dados-agkoa <> 'D' AND t_dados-agkoa <> 'K'.
IF NOT t_dados-c_valut IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT' chave = 'C'.
IF sy-subrc <> 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCB_TRANSACAO_F_30_A
...
IF t_dados-newbs EQ '21' OR
t_dados-newbs EQ '31'.
PERFORM bdc_screen USING 'SAPMF05A' '0302'.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'BSEG-SGTXT' t_dados-d_sgtxt,
'BSEG-ZUONR' t_dados-d_zuonr.
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING: 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
IF NOT v_dmbtr IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
read table itab_oculto with key campo = 'BSEG-DMBTR' chave = 'D'.
if not v_dmbtr is initial and sy-subrc ne 0.
* << Fim da inclusão
PERFORM bdc_field USING:
'BSEG-DMBTR' v_dmbtr.
ENDIF.
IF NOT t_dados-d_gsber IS INITIAL.
PERFORM bdc_field USING:
'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-BUPLA' chave = 'D'.
IF sy-subrc <> 0.
IF NOT t_dados-brnch IS INITIAL.
...
...
chave = 'D'.
IF sy-subrc NE 0.
PERFORM bdc_field USING:
'BSEG-GSBER' t_dados-d_gsber.
ENDIF.
ENDIF.
PERFORM bdc_field USING:
'BSEG-WRBTR' v_wrbtr,
'BSEG-SGTXT' t_dados-d_sgtxt,
'BSEG-ZUONR' t_dados-d_zuonr.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
IF NOT v_dmbtr IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
read table itab_oculto with key campo = 'BSEG-DMBTR' chave = 'D'.
if not v_dmbtr is initial and sy-subrc ne 0.
* << Fim da inclusão
PERFORM bdc_field USING:
'BSEG-DMBTR' v_dmbtr.
ENDIF.
IF NOT t_dados-zfbdt IS INITIAL.
PERFORM bdc_field USING:
'BSEG-ZFBDT' v_zfbdt.
ENDIF.
IF NOT t_dados-zterm IS INITIAL.
PERFORM bdc_field USING:
'BSEG-ZTERM' t_dados-zterm.
...
...
IF NOT t_dados-brnch IS INITIAL.
PERFORM bdc_field USING: 'BSEG-BUPLA' t_dados-brnch.
ENDIF.
IF t_dados-newbs = '50'.
PERFORM bdc_field USING:
'BSEG-SGTXT' t_dados-c_sgtxt.
ELSE.
PERFORM bdc_field USING:
'BSEG-SGTXT' t_dados-d_sgtxt.
ENDIF.
* >> Início da exclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
IF NOT v_dmbtr IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCB_TRANSACAO_F_30_A
read table itab_oculto with key campo = 'BSEG-DMBTR' chave = 'C'.
if not v_dmbtr is initial and sy-subrc ne 0.
* << Fim da inclusão
if t_dados-waers ne 'BRL'.
PERFORM bdc_field USING:
'BSEG-DMBTR' v_dmbtr.
ENDIF.
ENDIF.
IF NOT t_dados-d_valut IS INITIAL.
READ TABLE itab_oculto WITH KEY campo = 'BSEG-VALUT' chave = 'C'.
IF sy-subrc <> 0.
IF t_dados-agkoa = 'S' OR
t_dados-agkoa = 'D'.
...