Módulo: CÂMBIO FINANCEIRO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 17/03/2009 00:00:00
Data/Hora Última Alteração: 18/02/2011 14:03:44
Descrição da Nota: ROTINA DE PAGAMENTO, COMPLEMENTO DO BOLETO, IMPRESSÃO DO BOLETO
Sintoma
Ao tentar criar o processamento do boleto, na tela de impressão do boleto, onde apresentam as
remessas que serão contabilizadas a partir do 6º número ele não aparece, ficando apenas os cinco
primeiros e os demais ficam sem ser informadas.
Solução
Ajustado relatório da impressão do boleto, para apresentar corretamente o sequencial, o cliente e o
tipo de operação.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 08203 Data: 17/03/2009 Hora: 14:33:18
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 08203
Categoria : Erro de Programa
Prioridade : Baixa
Versão PW.CE : 7.0
Pacote : 00009
Agrupamento : 00090
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
07167 - 00001 - 7.0 - 00006 - PROCESSAMENTO DE BOLETO E RELATÓRIO DO BOLETO NA REMESSA DE PGTO
----------------------------------------------------------------------------------------------------
ROTINA DE PAGAMENTO, COMPLEMENTO DO BOLETO, IMPRESSÃO DO BOLETO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ROTINA DE PAGAMENTO PROCESSAR BOLETO EXIBIÇÃO SEQUENCIAIS AGRUPADOS
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYGL110F01
REPS /PWS/MZYGL110TOP
REPS /PWS/ZYCBR102
REPS /PWS/ZYCBR105
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL110F01
...
CLEAR: wa_line.
MOVE itab_boleto TO wa_line.
wa_line-vlme = itab_zycbt031-vlme.
SELECT SINGLE * FROM /pws/zycbt031
WHERE nrseq EQ itab_zycbt031-nrseq
AND dtboleto EQ itab_zycbt031-dtboleto
AND nrcorresp EQ itab_zycbt031-nrcorresp.
CLEAR: itab_zycbt064_aux2, v_nrchave, v_docto, v_tipo2,
v_lifnr2, v_total, itab_nrpgfat, itab_selreg.
REFRESH: itab_zycbt064_aux2, itab_nrpgfat, itab_selreg.
* >> Início da inclusão: FORM IMPRIME_BOLETO
clear: itab_sequencia,
itab_remetente,
itab_tipos.
refresh: itab_sequencia,
itab_remetente,
itab_tipos.
* << Fim da inclusão
FREE MEMORY: ID '003',
ID '004',
ID '005',
ID '006',
ID '010',
ID '093',
ID 'E011',
* >> Início da exclusão: FORM IMPRIME_BOLETO
ID 'E021' .
* << Fim da exclusão
* >> Início da inclusão: FORM IMPRIME_BOLETO
id 'E021',
id 'E024',
id 'E025',
id 'E026'.
* << Fim da inclusão
SELECT * FROM /pws/zycbt064
INTO TABLE itab_zycbt064_aux2
WHERE nrboleto EQ itab_zycbt031-nrseq. "#EC CI_NOFIRST
IF NOT itab_zycbt064_aux2[] IS INITIAL.
CLEAR itab_zycbt119.
REFRESH itab_zycbt119.
SELECT * FROM /pws/zycbt119
INTO TABLE itab_zycbt119
FOR ALL ENTRIES IN itab_zycbt064_aux2
WHERE nrseq = itab_zycbt064_aux2-nrchave.
ENDIF.
DESCRIBE TABLE itab_zycbt064_aux2 LINES v_linhas.
IF v_linhas > 1.
LOOP AT itab_zycbt064_aux2.
IF v_nrchave IS INITIAL.
v_nrchave = itab_zycbt064_aux2-nrchave.
ELSE.
CONCATENATE v_nrchave '-' itab_zycbt064_aux2-nrchave
INTO v_nrchave.
ENDIF.
* >> Início da inclusão: FORM IMPRIME_BOLETO
move itab_zycbt064_aux2-nrchave to itab_sequencia-nrchave.
append itab_sequencia.
* << Fim da inclusão
IF v_docto IS INITIAL.
v_docto = itab_zycbt064_aux2-nrinvoic.
ELSE.
CONCATENATE v_docto itab_zycbt064_aux2-nrinvoic
INTO v_docto SEPARATED BY '-'.
ENDIF.
IF v_tipo2 IS INITIAL.
v_tipo2 = itab_zycbt064_aux2-tipo.
ELSE.
CONCATENATE v_tipo2 itab_zycbt064_aux2-tipo
INTO v_tipo2 SEPARATED BY '-'.
ENDIF.
* >> Início da inclusão: FORM IMPRIME_BOLETO
move itab_zycbt064_aux2-tipo to itab_tipos-tipo.
append itab_tipos.
* << Fim da inclusão
SELECT SINGLE name1 INTO (lfa1-name1)
FROM lfa1
WHERE lifnr EQ itab_zycbt064_aux2-lifnr.
IF sy-subrc = 0.
* >> Início da inclusão: FORM IMPRIME_BOLETO
move lfa1-name1 to itab_remetente-name1.
append itab_remetente.
* << Fim da inclusão
IF v_lifnr2 IS INITIAL.
v_lifnr2 = lfa1-name1.
...
...
EXPORT: v_vlir TO MEMORY ID '007' ,
v_vlcide TO MEMORY ID '008' ,
v_vliof TO MEMORY ID 'I001',
v_vliss TO MEMORY ID 'I002',
v_vlpis TO MEMORY ID 'I003',
v_vlcofins TO MEMORY ID 'I004'.
EXPORT itab_tline[] TO MEMORY ID 'E020'.
EXPORT wa_line TO MEMORY ID 'E021'.
EXPORT /pws/zycbt031 TO MEMORY ID 'E022'.
EXPORT /pws/zycbt124 TO MEMORY ID 'E023'.
* >> Início da inclusão: FORM IMPRIME_BOLETO
export itab_sequencia to memory id 'E024'.
export itab_remetente to memory id 'E025'.
export itab_tipos to memory id 'E026'.
* << Fim da inclusão
DATA: v_nrpgfat LIKE /pws/zycbt119-nrseq,
v_lifnr LIKE lfa1-lifnr.
IF itab_zycbt031-mdcorresp = 'IP'.
v_nrpgfat = itab_zycbt031-nrcorresp.
SELECT SINGLE lifnr FROM /pws/zycbt119 INTO v_lifnr
WHERE nrseq = v_nrpgfat.
ELSEIF itab_zycbt031-mdcorresp = 'IA'.
v_nrpgfat = itab_zycbt031-nrcorresp.
SELECT SINGLE lifnr FROM /pws/zycbt117 INTO v_lifnr
WHERE nrseq = v_nrpgfat.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL110TOP
...
DATA: END OF itab_thol.
DATA: v_syrepid LIKE sy-repid,
v_sydynnr LIKE sy-dynnr,
v_visivel LIKE /pws/zyglt319-visivel,
v_tcodebotao LIKE /pws/zyglt319-tcode,
v_f02_trava LIKE /pws/zycbe033-belnr,
v_lib(1) TYPE c.
DATA: wa_log TYPE char4000,
wa_zycbt031_log LIKE /pws/zycbt031,
wa_zycbt002_log LIKE /pws/zycbt002.
* >> Início da inclusão:
data: begin of itab_sequencia occurs 10,
nrchave(10) type c,
end of itab_sequencia.
data: begin of itab_remetente occurs 10,
name1(35) type c,
end of itab_remetente.
data: begin of itab_tipos occurs 10,
tipo(30) type c,
end of itab_tipos.
* << Fim da inclusão
SELECTION-SCREEN BEGIN OF SCREEN 0500.
SELECT-OPTIONS: s_forn FOR lfa1-lifnr,
s_moed FOR /pws/zycbe124-waers,
s_reme FOR /pws/zycbe124-nrseq MATCHCODE OBJECT
/pws/zygla006,
s_desp FOR /pws/zycbe118-nrseq MATCHCODE OBJECT
/pws/zygla004,
s_empr FOR /pws/zycbe128-nrseq MATCHCODE OBJECT
/pws/zygla007.
SELECTION-SCREEN END OF SCREEN 0500.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR102
...
include structure rs_result.
data: colinfo type kkblo_t_specialcol,
end of i_final.
data: begin of itab_dados occurs 0.
include structure /pws/zygle500.
data: end of itab_dados.
data: fatura2,
remessa2.
data itab_zyglt321
type standard table of /pws/zyglt321 with header line.
* >> Início da inclusão:
data: begin of itab_sequencia occurs 10,
nrchave(10) type c,
end of itab_sequencia.
data: begin of itab_remetente occurs 10,
name1(35) type c,
end of itab_remetente.
data: begin of itab_tipos occurs 10,
tipo(30) type c,
end of itab_tipos.
* << Fim da inclusão
data: wa_thead like thead,
wa_zycbt011 like /pws/zycbt011,
wa_zycbt009 like /pws/zycbt009,
wa_zyglt009 like /pws/zyglt009,
wa_zycbt089 like /pws/zycbt089.
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,
...
...
v_vlir,
v_vlcide,
v_vlpis,
v_vlcofins,
v_vliof,
v_vliss,
v_nrfat,
v_lifnr2,
v_boleto,
itab_boleto,
* >> Início da exclusão: FORM IMPRIME_BOLETO
v_total_usd.
* << Fim da exclusão
* >> Início da inclusão: FORM IMPRIME_BOLETO
v_total_usd,
itab_sequencia,
itab_remetente,
itab_tipos.
refresh: itab_sequencia,
itab_remetente,
itab_tipos.
* << Fim da inclusão
exit.
endif.
if itab_selreg_aux-codp ne 'G' or
itab_selreg_aux-codp ne 'D'.
export wa_line to memory id 'E021'.
export /pws/zycbt031 to memory id 'E022'.
export itab_tline[] to memory id 'E020'.
* >> Início da inclusão: FORM IMPRIME_BOLETO
export itab_sequencia[] to memory id 'E024'.
export itab_remetente[] to memory id 'E025'.
export itab_tipos[] to memory id 'E026'.
* << Fim da inclusão
export v_nrchave to memory id '003'.
export v_docto to memory id '004'.
export v_tipo2 to memory id '005'.
export v_total to memory id '006'.
export v_vlir to memory id '007'.
export v_vlcide to memory id '008'.
export: v_vliof to memory id 'I001',
v_vliss to memory id 'I002',
v_vlpis to memory id 'I003',
v_vlcofins to memory id 'I004'.
...
...
v_vlir,
v_vlcide,
v_vlpis,
v_vlcofins,
v_vliof,
v_vliss,
v_nrfat,
v_lifnr2,
v_boleto,
itab_boleto,
* >> Início da exclusão: FORM IMPRIME_BOLETO
v_total_usd.
* << Fim da exclusão
* >> Início da inclusão: FORM IMPRIME_BOLETO
v_total_usd,
itab_sequencia,
itab_remetente,
itab_tipos.
refresh: itab_sequencia,
itab_remetente,
itab_tipos.
* << Fim da inclusão
endform.
form verifica_vinculacao.
select nrinvoic
nrparcf
gsberf vlvinc
into table itab_zycbt005
from /pws/zycbt005
where nrseqc eq itab_selreg-nrchave
and tpdesp eq itab_selreg-tpdesp
and nrparc eq itab_selreg-nrparc
...
...
perform comparacao.
endif.
endform.
form totaliza_valores.
clear: v_nrchave,
v_docto,
v_tipo2,
v_total,
v_vlir,
v_nrfat,
* >> Início da exclusão: FORM TOTALIZA_VALORES
v_lifnr2.
* << Fim da exclusão
* >> Início da inclusão: FORM TOTALIZA_VALORES
v_lifnr2,
itab_sequencia,
itab_remetente,
itab_tipos.
refresh: itab_sequencia,
itab_remetente,
itab_tipos.
* << Fim da inclusão
loop at itab_selreg_aux.
if v_nrchave is initial.
v_nrchave = itab_selreg_aux-nrchave.
else.
concatenate v_nrchave '-' itab_selreg_aux-nrchave
into v_nrchave.
endif.
* >> Início da inclusão: FORM TOTALIZA_VALORES
move itab_selreg_aux-nrchave to itab_sequencia-nrchave.
append itab_sequencia.
* << Fim da inclusão
if v_docto is initial.
v_docto = itab_selreg_aux-docto.
else.
concatenate v_docto itab_selreg_aux-docto
into v_docto separated by '-'.
endif.
if v_tipo2 is initial.
v_tipo2 = itab_selreg_aux-tipo.
else.
concatenate v_tipo2 itab_selreg_aux-tipo
into v_tipo2 separated by '-'.
endif.
* >> Início da inclusão: FORM TOTALIZA_VALORES
move itab_selreg_aux-tipo to itab_tipos-tipo.
append itab_tipos.
* << Fim da inclusão
if v_nrfat is initial.
v_nrfat = itab_selreg_aux-nrfat.
else.
concatenate v_nrfat itab_selreg_aux-nrfat
into v_nrfat separated by '-'.
endif.
* >> Início da inclusão: FORM TOTALIZA_VALORES
if not itab_selreg-lifnr is initial.
* << Fim da inclusão
read table itab_lfa1 with key lifnr = itab_selreg-lifnr.
if sy-subrc = 0.
* >> Início da inclusão: FORM TOTALIZA_VALORES
move itab_lfa1-name1 to itab_remetente-name1.
append itab_remetente.
* << Fim da inclusão
if v_lifnr2 is initial.
v_lifnr2 = itab_lfa1-name1.
else.
concatenate v_nrfat itab_lfa1-name1
* >> Início da inclusão: FORM TOTALIZA_VALORES
into v_lifnr2 separated by '-'.
endif.
endif.
else.
read table itab_lfa1_aux with key lifnr = itab_selreg-benefic.
if sy-subrc = 0.
move itab_lfa1_aux-name1 to itab_remetente-name1.
append itab_remetente.
if v_lifnr2 is initial.
v_lifnr2 = itab_lfa1_aux-name1.
else.
concatenate v_nrfat itab_lfa1_aux-name1
* << Fim da inclusão
into v_lifnr2 separated by '-'.
* >> Início da inclusão: FORM TOTALIZA_VALORES
endif.
* << Fim da inclusão
endif.
endif.
v_total = v_total + itab_selreg_aux-vlme.
v_vlir = v_vlir + itab_selreg_aux-vlir.
v_vlcide = v_vlcide + itab_selreg_aux-vlcide.
v_vlpis = v_vlpis + itab_selreg_aux-vlpis.
...
...
v_tipo2,
v_total,
v_vlir,
v_vlcide,
v_vlpis,
v_vlcofins,
v_nrfat,
v_lifnr2,
v_boleto,
itab_boleto,
* >> Início da exclusão: FORM IMPRIME_PREVIA_BOLETO
v_total_usd.
* << Fim da exclusão
* >> Início da inclusão: FORM IMPRIME_PREVIA_BOLETO
v_total_usd,
itab_sequencia,
itab_remetente,
itab_tipos.
refresh: itab_sequencia,
itab_remetente,
itab_tipos.
* << Fim da inclusão
exit.
endif.
if itab_selreg_aux-codp ne 'G' or
itab_selreg_aux-codp ne 'D'.
export wa_line to memory id 'E021'.
export /pws/zycbt031 to memory id 'E022'.
* >> Início da inclusão: FORM IMPRIME_PREVIA_BOLETO
export itab_sequencia[] to memory id 'E024'.
export itab_remetente[] to memory id 'E025'.
export itab_tipos[] to memory id 'E026'.
* << Fim da inclusão
export v_nrchave to memory id '003'.
export v_docto to memory id '004'.
export v_tipo2 to memory id '005'.
export v_total to memory id '006'.
export v_vlir to memory id '007'.
export v_vlcide to memory id '008'.
export: v_vliof to memory id 'I001',
v_vliss to memory id 'I002',
v_vlpis to memory id 'I003',
v_vlcofins to memory id 'I004'.
...
...
message i015 with text-133 /pws/zycbt031-nrseq.
if not sy-binpt is initial.
import itab_boleto[] from memory id 'AGILES'.
itab_boleto-nrseq = /pws/zycbt031-nrseq.
append itab_boleto.
export itab_boleto[] to memory id 'AGILES'.
endif.
endif.
clear: /pws/zycbt031, v_nrchave, v_docto, v_tipo2, v_total, v_vlir,
v_vlcide, v_nrfat, v_lifnr2, v_boleto, itab_boleto,
* >> Início da exclusão: FORM IMPRIME_PREVIA_BOLETO
v_total_usd, v_identheader.
* << Fim da exclusão
* >> Início da inclusão: FORM IMPRIME_PREVIA_BOLETO
v_total_usd, v_identheader,
itab_sequencia, itab_remetente, itab_tipos.
refresh: itab_sequencia,
itab_remetente,
itab_tipos.
* << Fim da inclusão
export v_identheader to memory id 'E013'.
if v_contador = 0.
refresh itab_selreg[].
else.
loop at i_final where selk = 'X'.
if sy-subrc = 0 .
i_final-selk = ''.
modify i_final.
endif.
endloop.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR105
...
v_cabecalho(30) TYPE c,
v_data(10) TYPE c,
v_nrfat(60) TYPE c,
v_lifnr2(80) TYPE c,
v_textadic(60) TYPE c,
v_cnpj LIKE j_1bwfield-cgc_number,
v_cgc(20),
v_branch LIKE j_1bwfield-cgc_branch,
v_sort2 LIKE j_1bwfield-cgc_compan,
v_endereco_completo(55) TYPE c.
* >> Início da inclusão:
data: begin of itab_sequencia occurs 10,
nrchave(10) type c,
end of itab_sequencia.
data: begin of itab_remetente occurs 10,
name1(35) type c,
end of itab_remetente.
data: begin of itab_tipos occurs 10,
tipo(30) type c,
end of itab_tipos.
data: v_nrchave_imp(70) type c,
v_lifnr_imp(75) type c,
v_tipos_imp(70) type c,
v_seq type i,
v_reg type i,
v_imprime type c.
* << Fim da inclusão
INCLUDE /pws/zycbi102.
IMPORT:
itab_tline[] FROM MEMORY ID 'E020',
wa_line FROM MEMORY ID 'E021',
/pws/zycbt031 FROM MEMORY ID 'E022',
v_nrchave FROM MEMORY ID '003',
v_docto FROM MEMORY ID '004',
v_tipo2 FROM MEMORY ID '005',
v_total FROM MEMORY ID '006',
v_vlir FROM MEMORY ID '007',
...
...
v_vlpis FROM MEMORY ID 'I003',
v_vlcofins FROM MEMORY ID 'I004',
v_nrfat FROM MEMORY ID '009',
v_lifnr2 FROM MEMORY ID '010',
v_boleto FROM MEMORY ID '011',
v_lifnr FROM MEMORY ID '091',
itab_boleto FROM MEMORY ID '012',
v_total_usd FROM MEMORY ID '013',
itab_nrpgfat FROM MEMORY ID '093',
itab_selreg_aux[] FROM MEMORY ID 'E014',
* >> Início da exclusão:
itab_selreg FROM MEMORY ID 'E011'.
* << Fim da exclusão
* >> Início da inclusão:
itab_selreg from memory id 'E011',
itab_sequencia from memory id 'E024',
itab_remetente from memory id 'E025',
itab_tipos from memory id 'E026'.
* << Fim da inclusão
SELECT *
FROM /pws/zycbt134
UP TO 1 ROWS
INTO wa_zycbt134
WHERE nrseq EQ /pws/zycbt031-nrseq
AND dtboleto EQ /pws/zycbt031-dtboleto.
ENDSELECT.
SET PF-STATUS '0200'.
SET TITLEBAR '0001'.
IF wa_line-mod(3) = 'IMP'.
...
...
ENDIF.
IF ( /pws/zycbt031-mdcorresp EQ 'IP' OR
/pws/zycbt031-mdcorresp EQ 'IA' ) AND
NOT v_cgc IS INITIAL.
WRITE : 45 text-085, v_cgc.
ENDIF.
SKIP.
IF v_nrchave IS INITIAL.
WRITE: 02 text-029, 13 wa_line-nrchave.
ELSE.
* >> Início da exclusão: FORM BOLETO_VENDA_IMP
WRITE: 02 text-029, 13 v_nrchave.
* << Fim da exclusão
* >> Início da inclusão: FORM BOLETO_VENDA_IMP
v_seq = 0.
v_imprime = 'S'.
loop at itab_sequencia.
v_seq = v_seq + 1.
if v_nrchave_imp is initial.
v_nrchave_imp = itab_sequencia-nrchave.
else.
concatenate v_nrchave_imp '-' itab_sequencia-nrchave
into v_nrchave_imp.
endif.
if v_seq = 6.
if v_imprime = 'S'.
write: /02 text-029, 13 v_nrchave_imp.
else.
write: /02 '', 13 v_nrchave_imp.
endif.
v_seq = 0.
v_nrchave_imp = ''.
v_imprime = 'N'.
endif.
endloop.
if not v_nrchave_imp is initial.
if v_imprime = 'S'.
write: /02 text-029, 13 v_nrchave_imp.
else.
write: /02 '', 13 v_nrchave_imp.
endif.
endif.
clear itab_sequencia.
refresh itab_sequencia.
* << Fim da inclusão
ENDIF.
SKIP.
IF v_nrchave IS INITIAL.
WRITE: 02 text-030, 20 wa_line-tipo.
* >> Início da inclusão: FORM BOLETO_VENDA_IMP
else.
delete adjacent duplicates from itab_tipos comparing tipo.
v_seq = 0.
v_imprime = 'S'.
loop at itab_tipos.
v_seq = v_seq + 1.
if v_tipos_imp is initial.
v_tipos_imp = itab_tipos-tipo.
else.
concatenate v_tipos_imp '-' itab_tipos-tipo
into v_tipos_imp.
endif.
if v_seq = 2.
if v_imprime = 'S'.
write: /02 text-030, 20 v_tipos_imp.
else.
write: /02 '', 20 v_tipos_imp.
endif.
v_seq = 0.
v_tipos_imp = ''.
v_imprime = 'N'.
endif.
endloop.
if not v_tipos_imp is initial.
if v_imprime = 'S'.
write: /02 text-030, 20 v_tipos_imp.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM BOLETO_VENDA_IMP
WRITE: 02 text-030, 20 v_tipo2.
* << Fim da exclusão
* >> Início da inclusão: FORM BOLETO_VENDA_IMP
write: /02 '', 20 v_tipos_imp.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM BOLETO_VENDA_IMP
endif.
clear itab_tipos.
refresh itab_tipos.
endif.
* << Fim da inclusão
SKIP.
READ TABLE itab_zycbt108. "#EC *
IF sy-subrc EQ 0.
WRITE: /02 text-031.
LOOP AT itab_zycbt108.
v_count = v_count + 1.
IF v_count = 4.
WRITE: /11 itab_zycbt108-belnr.
v_count = 1.
ELSE.
...
...
IF v_nrfat IS INITIAL.
WRITE: /02 text-031, wa_line-nrfat.
ELSE.
WRITE: /02 text-031, 13 v_nrfat.
ENDIF.
ENDIF.
SKIP.
CLEAR: v_count.
IF v_nrchave IS INITIAL.
WRITE: /02 text-032, v_lifnr NO-GAP, v_fornec+0(30) NO-GAP.
* >> Início da inclusão: FORM BOLETO_VENDA_IMP
else.
delete adjacent duplicates from itab_remetente comparing
name1.
v_seq = 0.
v_imprime = 'S'.
loop at itab_remetente.
v_seq = v_seq + 1.
if v_lifnr_imp is initial.
v_lifnr_imp = itab_remetente-name1.
else.
concatenate v_lifnr_imp '-' itab_remetente-name1
into v_lifnr_imp.
endif.
if v_seq = 2.
if v_imprime = 'S'.
write: /02 text-032, v_lifnr_imp.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM BOLETO_VENDA_IMP
WRITE: /02 text-032, v_lifnr2 NO-GAP, v_fornec+0(30) NO-GAP.
* << Fim da exclusão
* >> Início da inclusão: FORM BOLETO_VENDA_IMP
write: /02 '', 13 v_lifnr_imp.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM BOLETO_VENDA_IMP
v_seq = 0.
v_lifnr_imp = ''.
v_imprime = 'N'.
endif.
endloop.
if not v_lifnr_imp is initial.
if v_imprime = 'S'.
write: /02 text-032, v_lifnr_imp.
else.
write: /02 '', 13 v_lifnr_imp.
endif.
endif.
write: /02 '', 13 v_fornec+0(30) no-gap.
clear: itab_remetente.
refresh: itab_remetente.
endif.
* << Fim da inclusão
SKIP.
IF /pws/zycbt031-mdcorresp EQ 'IP'.
IF NOT itab_nrpgfat[] IS INITIAL.
CLEAR v_count.
LOOP AT itab_selreg_aux.
v_count = v_count + 1.
READ TABLE itab_zycbt111
WITH KEY codmod = itab_selreg_aux-modalidade
TRANSPORTING descricao.
IF v_count EQ 1.
...
...
WRITE: /02 text-027, /pws/zycbt031-nrseq.
SKIP.
IF v_nrchave IS INITIAL.
WRITE: 02 text-028, wa_line-docto.
ELSE.
WRITE: 02 text-028, 22 v_docto.
ENDIF.
SKIP.
IF v_nrchave IS INITIAL.
WRITE: 02 text-029, 13 wa_line-nrchave.
* >> Início da inclusão: FORM BOLETO_VENDA_EXP
else.
v_seq = 0.
v_imprime = 'S'.
loop at itab_sequencia.
v_seq = v_seq + 1.
if v_nrchave_imp is initial.
v_nrchave_imp = itab_sequencia-nrchave.
else.
concatenate v_nrchave_imp '-' itab_sequencia-nrchave
into v_nrchave_imp.
endif.
if v_seq = 6.
if v_imprime = 'S'.
write: /02 text-029, 13 v_nrchave_imp.
else.
write: /02 '', 13 v_nrchave_imp.
endif.
v_seq = 0.
v_nrchave_imp = ''.
v_imprime = 'N'.
endif.
endloop.
if not v_nrchave_imp is initial.
if v_imprime = 'S'.
write: /02 text-029, 13 v_nrchave_imp.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM BOLETO_VENDA_EXP
WRITE: 02 text-029, 13 v_nrchave.
* << Fim da exclusão
* >> Início da inclusão: FORM BOLETO_VENDA_EXP
write: /02 '', 13 v_nrchave_imp.
endif.
endif.
clear itab_sequencia.
refresh itab_sequencia.
* << Fim da inclusão
ENDIF.
SKIP.
IF v_nrchave IS INITIAL.
WRITE: 02 text-030, 20 wa_line-tipo.
* >> Início da inclusão: FORM BOLETO_VENDA_EXP
else.
delete adjacent duplicates from itab_tipos comparing tipo.
v_seq = 0.
v_imprime = 'S'.
loop at itab_tipos.
v_seq = v_seq + 1.
if v_tipos_imp is initial.
v_tipos_imp = itab_tipos-tipo.
else.
concatenate v_tipos_imp '-' itab_tipos-tipo
into v_tipos_imp.
endif.
if v_seq = 2.
if v_imprime = 'S'.
write: /02 text-030, 20 v_tipos_imp.
else.
write: /02 '', 20 v_tipos_imp.
endif.
v_seq = 0.
v_tipos_imp = ''.
v_imprime = 'N'.
endif.
endloop.
if not v_tipos_imp is initial.
if v_imprime = 'S'.
write: /02 text-030, 20 v_tipos_imp.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM BOLETO_VENDA_EXP
WRITE: 02 text-030, 20 v_tipo2.
* << Fim da exclusão
* >> Início da inclusão: FORM BOLETO_VENDA_EXP
write: /02 '', 20 v_tipos_imp.
endif.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM BOLETO_VENDA_EXP
clear itab_tipos.
refresh itab_tipos.
endif.
* << Fim da inclusão
WRITE: /17 /pws/zycbt016-txtdesc.
SKIP.
IF wa_line-fmd = 'EL'.
IF v_nrchave IS INITIAL.
WRITE: /02 text-031, wa_line-docto.
ELSE.
WRITE: /02 text-031, v_docto.
ENDIF.
ELSE.
WRITE: /02 text-031.
...
...
INTO v_cabecalho SEPARATED BY space.
WRITE: /24 text-006, v_cabecalho.
WRITE: /30 text-073.
WRITE: /36 text-074.
SKIP 2.
WRITE: /02 text-027, /pws/zycbt031-nrseq,
045 text-065, wa_line-bukrs.
SKIP.
IF v_nrchave IS INITIAL.
WRITE: /02 text-029, 13 wa_line-nrchave.
* >> Início da inclusão: FORM BOLETO_VENDA_EXP_CJ
else.
v_seq = 0.
v_imprime = 'S'.
loop at itab_sequencia.
v_seq = v_seq + 1.
if v_nrchave_imp is initial.
v_nrchave_imp = itab_sequencia-nrchave.
else.
concatenate v_nrchave_imp '-' itab_sequencia-nrchave
into v_nrchave_imp.
endif.
if v_seq = 6.
if v_imprime = 'S'.
write: /02 text-029, 13 v_nrchave_imp.
else.
write: /02 '', 13 v_nrchave_imp.
endif.
v_seq = 0.
v_nrchave_imp = ''.
v_imprime = 'N'.
endif.
endloop.
if not v_nrchave_imp is initial.
if v_imprime = 'S'.
write: /02 text-029, 13 v_nrchave_imp.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM BOLETO_VENDA_EXP_CJ
WRITE: /02 text-029, 13 v_nrchave.
* << Fim da exclusão
* >> Início da inclusão: FORM BOLETO_VENDA_EXP_CJ
write: /02 '', 13 v_nrchave_imp.
endif.
endif.
clear itab_sequencia.
refresh itab_sequencia.
* << Fim da inclusão
ENDIF.
SKIP.
IF v_docto IS INITIAL.
WRITE: /02 text-008, wa_line-docto.
ELSE.
WRITE: 02 text-031, 22 v_docto.
ENDIF.
SKIP 2.
WRITE: /02 text-075, /pws/zycbt017-nrre,
45 text-077, /pws/zycbt017-nrsd.
...
...
WRITE /26 text-091.
ELSE.
WRITE /26 text-007.
ENDIF.
SKIP.
WRITE: /02 text-027, /pws/zycbt031-nrseq.
WRITE: 45 text-065, wa_line-bukrs.
SKIP.
IF v_nrchave IS INITIAL.
WRITE: 02 text-029, 13 wa_line-nrchave.
* >> Início da inclusão: FORM BOLETO_COMPRA
else.
v_seq = 0.
v_imprime = 'S'.
loop at itab_sequencia.
v_seq = v_seq + 1.
if v_nrchave_imp is initial.
v_nrchave_imp = itab_sequencia-nrchave.
else.
concatenate v_nrchave_imp '-' itab_sequencia-nrchave
into v_nrchave_imp.
endif.
if v_seq = 6.
if v_imprime = 'S'.
write: /02 text-029, 13 v_nrchave_imp.
else.
write: /02 '', 13 v_nrchave_imp.
endif.
v_seq = 0.
v_nrchave_imp = ''.
v_imprime = 'N'.
endif.
endloop.
if not v_nrchave_imp is initial.
if v_imprime = 'S'.
write: /02 text-029, 13 v_nrchave_imp.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM BOLETO_COMPRA
WRITE: 02 text-029, 13 v_nrchave.
* << Fim da exclusão
* >> Início da inclusão: FORM BOLETO_COMPRA
write: /02 '', 13 v_nrchave_imp.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM BOLETO_COMPRA
endif.
clear itab_sequencia.
refresh itab_sequencia.
endif.
* << Fim da inclusão
SKIP.
IF wa_line-fmd EQ 'CP'.
WRITE 02 text-028.
SKIP.
ENDIF.
IF v_nrchave IS INITIAL.
WRITE: /02 text-008, wa_line-nrfat.
ELSE.
WRITE: /02 text-008, v_nrfat.
ENDIF.
SKIP.
IF v_nrchave IS INITIAL.
IF wa_line-oper = 'R'.
WRITE: /02 text-009, wa_line-lifnr, v_cliente.
ELSEIF wa_line-oper = 'P'.
WRITE: /02 text-032, wa_line-lifnr, v_cliente.
ENDIF.
ELSE.
IF wa_line-oper = 'R'.
* >> Início da exclusão: FORM BOLETO_COMPRA
WRITE: /02 text-009, v_lifnr2, v_cliente.
* << Fim da exclusão
* >> Início da inclusão: FORM BOLETO_COMPRA
delete adjacent duplicates from itab_remetente comparing
name1.
v_seq = 0.
v_imprime = 'S'.
loop at itab_remetente.
v_seq = v_seq + 1.
if v_lifnr_imp is initial.
v_lifnr_imp = itab_remetente-name1.
else.
concatenate v_lifnr_imp '-' itab_remetente-name1
into v_lifnr_imp.
endif.
if v_seq = 2.
if v_imprime = 'S'.
write: /02 text-009, v_lifnr_imp.
else.
write: /02 '', 13 v_lifnr_imp.
endif.
v_seq = 0.
v_lifnr_imp = ''.
v_imprime = 'N'.
endif.
endloop.
if not v_lifnr_imp is initial.
if v_imprime = 'S'.
write: /02 text-009, v_lifnr_imp.
else.
write: /02 '', 13 v_lifnr_imp.
endif.
endif.
write: /02 '', 13 v_cliente.
clear: itab_remetente.
refresh: itab_remetente.
* << Fim da inclusão
ELSEIF wa_line-oper = 'P'.
WRITE: /02 text-032, wa_line-lifnr, v_cliente.
ENDIF.
ENDIF.
SKIP.
IF wa_line-fmd EQ 'CP'.
WRITE 02 text-013.
SKIP.
WRITE 02 text-033.
SKIP.
ENDIF.
IF v_nrchave IS INITIAL.
WRITE: 02 text-030, wa_line-tipo.
* >> Início da inclusão: FORM BOLETO_COMPRA
else.
delete adjacent duplicates from itab_tipos comparing tipo.
v_seq = 0.
v_imprime = 'S'.
loop at itab_tipos.
v_seq = v_seq + 1.
if v_tipos_imp is initial.
v_tipos_imp = itab_tipos-tipo.
else.
concatenate v_tipos_imp '-' itab_tipos-tipo
into v_tipos_imp.
endif.
if v_seq = 2.
if v_imprime = 'S'.
write: /02 text-030, 20 v_tipos_imp.
else.
write: /02 '', 20 v_tipos_imp.
endif.
v_seq = 0.
v_tipos_imp = ''.
v_imprime = 'N'.
endif.
endloop.
if not v_tipos_imp is initial.
if v_imprime = 'S'.
write: /02 text-030, 20 v_tipos_imp.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM BOLETO_COMPRA
WRITE: 02 text-030, 20 v_tipo2.
* << Fim da exclusão
* >> Início da inclusão: FORM BOLETO_COMPRA
write: /02 '', 20 v_tipos_imp.
endif.
endif.
clear itab_tipos.
refresh itab_tipos.
* << Fim da inclusão
ENDIF.
SKIP.
IF wa_line-fmd EQ 'CP'.
WRITE: 02 text-035, 45 text-052.
SKIP.
WRITE: 02 text-037, v_rof.
SKIP.
WRITE 02 text-038.
SKIP.
WRITE 02 text-039.
...