Módulo: CÂMBIO IMPORTAÇÃO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 07/11/2007 00:00:00
Data/Hora Última Alteração: 04/03/2010 14:03:10
Descrição da Nota: PROCESSAR BOLETO - PONTO DE EXIT PBI003
Sintoma
Criar ponto de exit no processar boleto para permitir manipular dados da itab_selteg.
Solução
Inserir ponto de exit PBI003
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05166 Data: 07/11/2007 Hora: 15:08:43
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05166
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00020
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
PROCESSAR BOLETO - PONTO DE EXIT PBI003
----------------------------------------------------------------------------------------------------
Palavras Chave:
PROCESSAR BOLETO - PONTO DE EXIT PBI003
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBI102
REPS /PWS/ZYCBR102
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI102
* >> Início da inclusão:
DATA: BEGIN OF COMMON PART c.
* << Fim da inclusão
DATA:
BEGIN OF itab_selreg OCCURS 100,
flag TYPE c,
mod(15) TYPE c,
nrchave(10) TYPE c,
docto(10) TYPE c,
tab(30) TYPE c,
tpparc LIKE /pws/zycbt113-tpparc,
nrparc LIKE /pws/zycbt113-nrparc,
tipo(30) TYPE c,
...
...
dtbname LIKE /pws/zycbt118-dtbname,
hrbname LIKE /pws/zycbt118-hrbname,
frggr LIKE /pws/zycbt118-frggr,
vliss like /pws/zycat025-vlimpme,
vlpis like /pws/zycat025-vlimpme,
vlcofins like /pws/zycat025-vlimpme,
vliof like /pws/zycat025-vlimpme,
dtpagtoir like /pws/zycbt002-dtpagtoir,
dtemb LIKE /pws/zycbt119-dtemb,
END OF itab_selreg.
* >> Início da exclusão:
DATA: BEGIN OF COMMON part c.
* << Fim da exclusão
DATA: itab_selreg_aux LIKE itab_selreg OCCURS 100 WITH HEADER LINE.
DATA: v_gera_boleto type c,
v_codretorno TYPE c.
DATA: END OF COMMON part.
DATA:
itab_selreg_aux2 LIKE itab_selreg OCCURS 100 WITH HEADER LINE,
itab_selreg_aux3 LIKE itab_selreg OCCURS 100 WITH HEADER LINE,
wa_line LIKE itab_selreg_aux,
itab_boleto LIKE /pws/zycbt031 OCCURS 100 WITH HEADER
LINE.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR102
...
WRITE: /01(123) sy-uline.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
AT LINE-SELECTION.
GET CURSOR FIELD v_cursor.
GET CURSOR VALUE v_valor.
PERFORM carrega_tela.
FORM processa_dados.
* >> Início da inclusão: FORM PROCESSA_DADOS
MOVE sy-repid TO v_rep.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'I'
i_func = v_rep
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
IF sy-subrc EQ 0.
READ TABLE itab_zyglt100 WITH KEY zexit = 'PBI003'.
IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ENDIF.
ENDIF.
* << Fim da inclusão
CASE sy-ucomm.
WHEN 'MARC'.
PERFORM marcar_desmarcar USING 'X'.
WHEN 'DESM'.
PERFORM marcar_desmarcar USING ' '.
WHEN 'PROC'.
PERFORM marcar_campo_check.
PERFORM seleciona_selreg_aux.
LOOP AT itab_selreg_aux.
IF itab_selreg_aux-controle EQ 'X' AND
...
...
ELSE.
IF exit = space.
p_varian = locl_variant-variant.
p_vartxt = locl_variant-text.
MOVE locl_variant TO g_variant.
ENDIF.
ENDIF.
ENDFORM.
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
* >> Início da inclusão: FORM USER_COMMAND
MOVE sy-repid TO v_rep.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'I'
i_func = v_rep
TABLES
itab_zyglt100 = itab_zyglt100
EXCEPTIONS
i_codmod_nao_encontrado = 1
i_func_nao_encontrado = 2
i_zexit_nao_encontrado = 3
OTHERS = 4.
IF sy-subrc EQ 0.
READ TABLE itab_zyglt100 WITH KEY zexit = 'PBI003'.
IF sy-subrc EQ 0 AND NOT itab_zyglt100-zexit_ativa IS INITIAL.
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
ENDIF.
ENDIF.
* << Fim da inclusão
sy-ucomm = ucomm.
CASE ucomm.
WHEN 'COMPLEMENT'.
FREE: MEMORY ID '001',
MEMORY ID '002'.
IF NOT itab_boleto[] IS INITIAL.
READ TABLE itab_boleto INDEX 1.
v_pri_nrseq = itab_boleto-nrseq.
SORT itab_boleto BY nrseq DESCENDING.
READ TABLE itab_boleto INDEX 1.
...