Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 05/12/2007 00:00:00
Data/Hora Última Alteração: 03/03/2010 17:37:28
Descrição da Nota: COMPLEMENTO DO BOLETO PROCESSAR BOLETO-DESPESA-EXIT CBI006 CBF004 PBI004
Sintoma
Incluir pontos de exit para permitir alterar mapeamento das contabilizações de boleto-despesa
importação/financeiro.
Solução
Inclusão ponto de exit: complemento do boleto CBI006(despesa importação) e CBF004(despesa
financeiro); Processar Boleto(despesa importação/financeiro) PBI004
7.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05388 Data: 05/12/2007 Hora: 11:36:46
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05388
Categoria : Melhoria
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00003
Agrupamento : 00024
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
COMPLEMENTO DO BOLETO PROCESSAR BOLETO-DESPESA-EXIT CBI006 CBF004 PBI004
----------------------------------------------------------------------------------------------------
Palavras Chave:
COMPLEMENTO DO BOLETO PROCESSAR BOLETO-DESPESA-EXIT CBI006 CBF004 PBI004
DESPESA IMPORTAÇÃO DESPESA FINANCEIRO /PWS/ZYCBT118
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCA110F01
REPS /PWS/MZYCM110F01
REPS /PWS/MZYGL110TOP
REPS /PWS/MZYGL110X01
REPS /PWS/ZYCBI102
REPS /PWS/ZYCBN102
REPS /PWS/ZYCBR102
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA110F01
...
AND gjahr EQ wa_zycbt118-dtincl(4).
ENDIF.
APPEND itab_zycbt036.
ENDIF.
LOOP AT itab_zycbt034.
MESSAGE i127 WITH itab_zycbt034-descricao v_evento.
ENDLOOP.
CLEAR sy-subrc.
IF itab_zycbt034 IS INITIAL.
IF wa_zycbt118-frpagto = 'R'.
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD
v_syrepid = sy-repid.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'F'
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.
READ TABLE itab_zyglt100 WITH KEY zexit = 'CBF004' 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.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_TRANSACAO_F_02'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD
ENDIF.
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-02'
tabela = '/PWS/ZYCBT031'
cpochv = /pws/zycbe031-nrseq
tpmsg = 'S'.
IF sy-subrc = 0.
wa_zycbt118-statusp = 'C'.
/pws/zycbe031-statusp = 'C'.
wa_zycbt118-belnr_p = itab_zycbt032-belnr.
/pws/zycbe031-belnr_p = itab_zycbt032-belnr.
...
...
MODIFY /pws/zycbt031 FROM wa_zycbt031.
erro_bi = 'X'.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i127 WITH itab_zycbt034-descricao v_evento.
ENDLOOP.
erro_bi = 'X'.
ENDIF.
ELSEIF wa_zycbt118-frpagto = 'C'.
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD
v_syrepid = sy-repid.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'F'
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.
READ TABLE itab_zyglt100 WITH KEY zexit = 'CBF004' 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.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_51D'
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.
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD
ENDIF.
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-51'
tabela = '/PWS/ZYCBT031'
cpochv = /pws/zycbe031-nrseq
tpmsg = 'S'.
IF sy-subrc = 0.
wa_zycbt118-statusp = 'P'.
/pws/zycbe031-statusp = 'C'.
wa_zycbt118-belnr_p = itab_zycbt032-belnr.
/pws/zycbe031-belnr_p = itab_zycbt032-belnr.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM110F01
...
AND gjahr EQ wa_zycbt118-dtincl(4).
ENDIF.
APPEND itab_zycbt036.
ENDIF.
LOOP AT itab_zycbt034.
MESSAGE i127 WITH itab_zycbt034-descricao v_evento.
ENDLOOP.
CLEAR sy-subrc.
IF itab_zycbt034 IS INITIAL.
IF wa_zycbt118-frpagto = 'R'.
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID
v_syrepid = sy-repid.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'I'
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.
READ TABLE itab_zyglt100 WITH KEY zexit = 'CBI006' 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.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_TRANSACAO_F_02'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID
ENDIF.
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-02'
tabela = '/PWS/ZYCBT031'
cpochv = /pws/zycbe031-nrseq
tpmsg = 'S'.
IF sy-subrc = 0.
wa_zycbt118-statusp = 'C'.
/pws/zycbe031-statusp = 'C'.
wa_zycbt118-belnr_p = itab_zycbt032-belnr.
/pws/zycbe031-belnr_p = itab_zycbt032-belnr.
...
...
MODIFY /pws/zycbt031 FROM wa_zycbt031.
erro_bi = 'X'.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i127 WITH itab_zycbt034-descricao v_evento.
ENDLOOP.
erro_bi = 'X'.
ENDIF.
ELSEIF wa_zycbt118-frpagto = 'C'.
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID
v_syrepid = sy-repid.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = 'I'
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.
READ TABLE itab_zyglt100 WITH KEY zexit = 'CBI006' 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.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_51D'
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.
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID
ENDIF.
* << Fim da inclusão
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-51'
tabela = '/PWS/ZYCBT031'
cpochv = /pws/zycbe031-nrseq
tpmsg = 'S'.
IF sy-subrc = 0.
wa_zycbt118-statusp = 'P'.
/pws/zycbe031-statusp = 'C'.
wa_zycbt118-belnr_p = itab_zycbt032-belnr.
/pws/zycbe031-belnr_p = itab_zycbt032-belnr.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL110TOP
...
.
CONTROLS:
tc_fatura TYPE TABLEVIEW USING SCREEN 0400,
tc_banco TYPE TABLEVIEW USING SCREEN 0900,
tc_cont TYPE TABLEVIEW USING SCREEN 0100,
tc_dados TYPE TABLEVIEW USING SCREEN 0101.
DATA: wa_t001w LIKE t001w,
wa_zycbt089 LIKE /pws/zycbt089,
wa_zycbt011 LIKE /pws/zycbt011,
wa_zycbt031a LIKE /pws/zycbe031,
* >> Início da exclusão:
wa_zycbt118 LIKE /pws/zycbt118,
* << Fim da exclusão
wa_zycbt124 LIKE /pws/zycbt124,
wa_zycet010 LIKE /pws/zycet010,
wa_cols TYPE cxtab_column,
wa_zycbt048 LIKE /pws/zycbe048,
wa_zycbt128 LIKE /pws/zycbt128,
wa_zycbt129 LIKE /pws/zycbt129,
wa_tcurx LIKE tcurx.
DATA: BEGIN OF wa_despesa,
tabela LIKE /pws/zycbt013-tabela,
codeven LIKE /pws/zycbt012-codeven,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL110X01
...
DATA: BEGIN OF COMMON PART c.
DATA: wa_zycbt004 LIKE /pws/zycbt004,
wa_zycbe004 LIKE /pws/zycbt004,
wa_zycbe031 LIKE /pws/zycbe031,
wa_zycbt031 LIKE /pws/zycbe031,
wa_zycbe031c LIKE /pws/zycbe031,
wa_zycbt145 LIKE /pws/zycbt145,
wa_zycbt119 LIKE /pws/zycbt119,
wa_zycbt112 LIKE /pws/zycbt112,
wa_zycbt113 LIKE /pws/zycbt113,
* >> Início da exclusão:
wa_zycbt117 LIKE /pws/zycbt117.
* << Fim da exclusão
* >> Início da inclusão:
wa_zycbt117 LIKE /pws/zycbt117,
wa_zycbt118 LIKE /pws/zycbt118.
* << Fim da inclusão
DATA: itab_item LIKE /pws/zycbe033 OCCURS 20 WITH HEADER LINE,
itab_zycbt032 LIKE /pws/zycbt032 OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF itab_zycbt031 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt031.
DATA: nrcontr LIKE /pws/zycbt048-nrcontr.
DATA: v_checked_flg(1) TYPE c.
DATA: v_process(1) TYPE c.
DATA: END OF itab_zycbt031.
DATA: BEGIN OF itab_zycbt031a OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt031.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBI102
...
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.
DATA: itab_selreg_aux LIKE itab_selreg OCCURS 100 WITH HEADER LINE.
DATA: v_gera_boleto TYPE c,
* >> Início da exclusão:
v_codretorno TYPE c.
* << Fim da exclusão
* >> Início da inclusão:
v_codretorno TYPE c,
v_modo_bi_ TYPE /pws/zycbt039-modo,
itab_zycbt032_ TYPE /pws/zycbt032 OCCURS 0 WITH HEADER LINE,
itab_zycbe033_ TYPE /pws/zycbe033 OCCURS 0 WITH HEADER LINE,
itab_zycbt034_ TYPE /pws/zycbt034 OCCURS 0 WITH HEADER LINE,
BEGIN OF wa_despesa,
tabela TYPE /pws/zycbt013-tabela,
codeven TYPE /pws/zycbt012-codeven,
codmod TYPE /pws/zycbt012-codmod,
cpochv TYPE /pws/zycbe033-cpochv,
tpdesp TYPE /pws/zycbt015-tpdesp,
benefic TYPE /pws/zycbt118-benefic,
frpagto TYPE /pws/zycbt118-frpagto,
bukrs TYPE /pws/zycbt118-bukrs,
waers TYPE /pws/zycbt118-waers,
kursf TYPE /pws/zycbt118-kursf,
ftaxa TYPE /pws/zycbt118-ftaxa,
gsber TYPE /pws/zycbt118-gsber,
kostl TYPE /pws/zycbt118-kostl,
prctr TYPE /pws/zycbt118-prctr,
fipos TYPE /pws/zycbt118-fipos,
fictr TYPE /pws/zycbt118-fictr,
ftxt TYPE /pws/zycbt118-ftxt,
txtinf TYPE /pws/zycbt118-txtinf,
bcocred TYPE /pws/zycbt028-bcocred,
nrseq TYPE /pws/zycbt028-nrseq,
txcneg TYPE /pws/zycbt004-txcneg,
dtincl TYPE /pws/zycbt004-dtincl,
dtpagto TYPE /pws/zycbt028-dtpagto,
nrdesp TYPE /pws/zycbt028-nrccred,
statusp TYPE /pws/zycbt028-statusp,
belnr TYPE /pws/zycbt028-belnr,
nrseqd TYPE /pws/zycbt156-nrseqd,
j_1bbranch TYPE /pws/zycbt004-j_1bbranch,
belnrdesp TYPE /pws/zycbt118-belnrdesp,
cod_area TYPE /pws/zycbt004-cod_area,
bcoavisa TYPE /pws/zycbt156-bcoavisa,
vlme TYPE /pws/zycbt156-vlme,
werks TYPE /pws/zycbt004-werks,
END OF wa_despesa.
* << Fim da inclusão
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/ZYCBN102
...
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
PERFORM limpa_selreg.
PERFORM retorna_flag.
ENDLOOP.
ENDIF.
CLEAR sy-subrc.
IF itab_zycbt034 IS INITIAL OR /pws/zycbt031-frgzu = '1'.
IF itab_selreg_aux-frpagto = 'R'.
IF /pws/zycbt031-frgzu = '2'.
* >> Início da inclusão: FORM DADOS_BATCH_DESPESA
MOVE sy-repid TO v_rep.
v_codmod = wa_despesa-codmod.
CALL FUNCTION '/PWS/ZYGL_BUSCA_EXIT_CLIENTE'
EXPORTING
i_codmod = v_codmod
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.
READ TABLE itab_zyglt100 WITH KEY zexit = 'PBI004'.
IF sy-subrc EQ 0 AND
NOT itab_zyglt100-zexit_ativa IS INITIAL.
v_modo_bi_ = v_modo_bi.
itab_zycbe033_[] = itab_zycbe033[].
PERFORM (itab_zyglt100-formulario)
IN PROGRAM (itab_zyglt100-programa).
itab_zycbt032[] = itab_zycbt032_[].
itab_zycbt034[] = itab_zycbt034_[].
ELSE.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYGL_TRANSACAO_F_02'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
* >> Início da inclusão: FORM DADOS_BATCH_DESPESA
ENDIF.
* << Fim da inclusão
v_agkon = p_wa_despesa-benefic.
v_belnr = itab_zycbe033-belnr.
v_cpochv = itab_zycbe033-cpochv.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = v_transacao
tabela = p_wa_despesa-tabela
cpochv = p_wa_despesa-cpochv
tpmsg = 'S'.
IF sy-subrc = 0.
PERFORM get_zycbt031.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR102
...
INCLUDE STRUCTURE /pws/zygle500.
DATA: END OF itab_dados.
DATA: fatura2,
remessa2.
DATA itab_zyglt321
TYPE STANDARD TABLE OF /pws/zyglt321 WITH HEADER LINE.
DATA: wa_thead LIKE thead,
wa_zycbt011 LIKE /pws/zycbt011,
wa_zycbt009 LIKE /pws/zycbt009,
wa_zyglt009 LIKE /pws/zyglt009,
* >> Início da exclusão:
wa_zycbt089 LIKE /pws/zycbt089,
* << Fim da exclusão
* >> Início da inclusão:
wa_zycbt089 LIKE /pws/zycbt089.
* << Fim da inclusão
* >> Início da exclusão:
BEGIN OF wa_despesa,
tabela LIKE /pws/zycbt013-tabela,
codeven LIKE /pws/zycbt012-codeven,
codmod LIKE /pws/zycbt012-codmod,
cpochv LIKE /pws/zycbe033-cpochv,
tpdesp LIKE /pws/zycbt015-tpdesp,
benefic LIKE /pws/zycbt118-benefic,
frpagto LIKE /pws/zycbt118-frpagto,
bukrs LIKE /pws/zycbt118-bukrs,
waers LIKE /pws/zycbt118-waers,
kursf LIKE /pws/zycbt118-kursf,
ftaxa LIKE /pws/zycbt118-ftaxa,
gsber LIKE /pws/zycbt118-gsber,
kostl LIKE /pws/zycbt118-kostl,
prctr LIKE /pws/zycbt118-prctr,
fipos LIKE /pws/zycbt118-fipos,
fictr LIKE /pws/zycbt118-fictr,
ftxt LIKE /pws/zycbt118-ftxt,
txtinf LIKE /pws/zycbt118-txtinf,
bcocred LIKE /pws/zycbt028-bcocred,
nrseq LIKE /pws/zycbt028-nrseq,
txcneg LIKE /pws/zycbt004-txcneg,
dtincl LIKE /pws/zycbt004-dtincl,
dtpagto LIKE /pws/zycbt028-dtpagto,
nrdesp LIKE /pws/zycbt028-nrccred,
statusp LIKE /pws/zycbt028-statusp,
belnr LIKE /pws/zycbt028-belnr,
nrseqd LIKE /pws/zycbt156-nrseqd,
j_1bbranch LIKE /pws/zycbt004-j_1bbranch,
belnrdesp LIKE /pws/zycbt118-belnrdesp,
cod_area LIKE /pws/zycbt004-cod_area,
bcoavisa LIKE /pws/zycbt156-bcoavisa,
vlme LIKE /pws/zycbt156-vlme,
werks LIKE /pws/zycbt004-werks,
END OF wa_despesa.
* << Fim da exclusão
DATA: itab_tline LIKE tline OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF itab_thol OCCURS 0.
INCLUDE STRUCTURE thol.
DATA: END OF itab_thol.
DATA: BEGIN OF itab_nrpgfat OCCURS 0,
nrpgfat LIKE /pws/zycit006-nrseq_pgfat.
DATA: END OF itab_nrpgfat.
DATA: BEGIN OF itab_zyglt316 OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt316.
DATA: END OF itab_zyglt316.
...