Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Liquidação em Andamento
Data/Hora da Publicação: 29/06/2007 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:07:31
Descrição da Nota: LIQUIDAÇÃO EM ANDAMENTO - PONTOS DE EXIT LIQ001 E LIQ002
Sintoma
Ao executar uma função de contabilização dentro da exit LIQ001, após voltar ao programa standard não
esta salvando os dados na tabela /PWS/ZYCBT209.
Solução
Ajustar a verificação do sy-subrc para que atenda a execução da contabilização pelo programa
standard e pelo programa específico.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04063 Data: 29/06/2007 Hora: 09:45:13
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04063
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00004
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03487 - 00001 - 7.0 - 00001 - EXIT¿S LIQ001 E LIQ002.
----------------------------------------------------------------------------------------------------
LIQUIDAÇÃO EM ANDAMENTO - PONTOS DE EXIT LIQ001 E LIQ002
----------------------------------------------------------------------------------------------------
Palavras Chave:
LIQUIDAÇÃO EM ANDAMENTO PONTOS DE EXIT LIQ001 E LIQ002
ATUALIZAÇÃO TABELA /PWS/ZYCBT209 SALVAR DADOS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB031F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB031F01
...
IF itab_zycbt034 IS INITIAL.
IF itab_zyglt100-zexit_ativa IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_V'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_zycbt036 = itab_zycbt036
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
ENDIF.
* >> Início da exclusão: FORM PROC_INCLUSAO
IF sy-subrc = 0.
* << Fim da exclusão
* >> Início da inclusão: FORM PROC_INCLUSAO
IF sy-subrc = 0
or ( not itab_zyglt100-zexit_ativa is initial and
itab_zycbt034[] is initial ).
* << Fim da inclusão
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = '/PWS/ZYCBT209'
cpochv = itab_zycbe033-cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
itab_zycbt209-belnr = itab_zycbt032-belnr.
LOOP AT itab_zycbt030
WHERE nrinvoic = itab_zycbt209-nrinvoic AND
gsberf = itab_zycbt209-gsberf AND
nrparcf = itab_zycbt209-nrparcf.
...
...
v_syrepid = sy-repid.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'E'
i_func = v_syrepid
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
clear itab_zyglt100.
READ TABLE itab_zyglt100 WITH KEY zexit = 'LIQ002' BINARY SEARCH.
IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ELSE.
ENDIF.
LOOP AT itab_zycbt034.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
msgty = 'I'
msgv1 = itab_zycbt034-descricao
txtnr = '061'
zeile = v_zeile.
v_zeile = v_zeile + 1.
ENDLOOP.
IF itab_zycbt034 IS INITIAL.
IF itab_zyglt100-zexit_ativa IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_P'
EXPORTING
v_modo = v_modo_bi
v_vinc_tot = v_vinc_tot
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_zycbt036 = itab_zycbt036
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
ENDIF.
* >> Início da exclusão: FORM DESMEMBRA_CLIENTE
IF sy-subrc = 0.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_CLIENTE
IF sy-subrc = 0
or ( not itab_zyglt100-zexit_ativa is initial and
itab_zycbt034[] is initial ).
* << Fim da inclusão
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = '/PWS/ZYCBT209'
cpochv = itab_zycbe033-cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
itab_zycbt030-belnr_d = itab_zycbt032-belnr.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = itab_zycbt032-msgid
msgty = itab_zycbt032-tpmsg
...