Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Relatórios
Data/Hora da Publicação: 23/01/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 15:48:56
Descrição da Nota: RELATÓRIO DE COMISSÃO DE AGENTE
Sintoma
No relatório de comissão de agente, filtrar para algumas faturas filtradas como 'Não Pagas,
as colunas "Dt Pagto Fat", "Dt Vencto" e "Perc Comiss" aparecem em branco, não considera considerar
o Valor do Saldo da Fatura da tabela /PWS/ZYCBT017 e não consiste datas e valores referenciando
Liquidação em Andamento e Valores Mantidos no Exterior.
Solução
Alterado programa /PWS/ZYCBR027 para que a seja informado corretamento no relatório os campos 'Data
de Vencimento' e 'Data de Pagamento de Fatura', considerar o Valor do Saldo da Fatura da tabela
/PWS/ZYCBT017 e verificar também as datas e valores das tabelas /PWS/ZYCBT209 e /PWS/ZYCBT226.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 05718 Data: 23/01/2008 Hora: 09:54:16
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 05718
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00004
Agrupamento : 00031
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01866 - 00001 - 6.0 - 00024 - DUPLICAÇÃO DE VALORES DO CAMPO VLCOMIS.
01879 - 00002 - 6.0 - 00024 - REALTORIO DE COMISSÃO DE AGENTE CAMPO VLCOMIS
05619 - 00003 - 7.0 - 00004 - RELATÓRIO DE COMISSÃO DE AGENTE - DUPLICADE DO VALOR DA FATURA E
----------------------------------------------------------------------------------------------------
RELATÓRIO DE COMISSÃO DE AGENTE
----------------------------------------------------------------------------------------------------
Palavras Chave:
RELATÓRIO DE COMISSÃO DE AGENTE
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZYCBR027
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR027
...
nrseqc TYPE /pws/zycbt006-nrseqc,
tpdesp TYPE /pws/zycbt006-tpdesp,
nrparc TYPE /pws/zycbt006-nrparc,
dtincl TYPE /pws/zycbt006-dtincl,
nrinvoic TYPE /pws/zycbt006-nrinvoic,
nrparcf TYPE /pws/zycbt006-nrparcf,
gsberf TYPE /pws/zycbt006-gsberf,
dtvincul TYPE /pws/zycbt006-dtvincul,
dtvencto TYPE /pws/zycbt006-dtvencto,
dtpagto TYPE /pws/zycbt006-dtpagto,
* >> Início da inclusão:
vlme TYPE /pws/zycbt006-vlme,
* << Fim da inclusão
END OF t_zycbt006,
* >> Início da inclusão:
BEGIN OF t_zycbt209,
nrinvoic TYPE /pws/zycbt209-nrinvoic,
nrparcf TYPE /pws/zycbt209-nrparcf,
gsberf TYPE /pws/zycbt209-gsberf,
saldo TYPE /pws/zycbt209-saldo,
dtbelnr TYPE /pws/zycbt209-dtbelnr,
END OF t_zycbt209,
BEGIN OF t_zycbt226,
nrinvoic TYPE /pws/zycbt226-nrinvoic,
nrparcf TYPE /pws/zycbt226-nrparcf,
gsberf TYPE /pws/zycbt226-gsberf,
sld_exterior TYPE /pws/zycbt226-sld_exterior,
dtlancto TYPE /pws/zycbt226-dtlancto,
END OF t_zycbt226,
* << Fim da inclusão
BEGIN OF t_zycbt017,
nrinvoic TYPE /pws/zycbt017-nrinvoic,
nrparcf TYPE /pws/zycbt017-nrparcf,
gsberf TYPE /pws/zycbt017-gsberf,
bukrs TYPE /pws/zycbt017-bukrs,
kunag TYPE /pws/zycbt017-kunag,
waers TYPE /pws/zycbt017-waers,
vlavinc TYPE /pws/zycbt017-vlavinc,
vlslf TYPE /pws/zycbt017-vlslf,
vlfob TYPE /pws/zycbt017-vlfob,
...
...
dtpagto TYPE /pws/zycet010-dtpagto,
dtlanc TYPE /pws/zycet010-dtlanc,
END OF t_zycet010,
BEGIN OF t_zycet013,
nrseq TYPE /pws/zycet013-nrseq,
lifnr TYPE /pws/zycet013-lifnr,
gsber TYPE /pws/zycet013-gsber,
prctr TYPE /pws/zycet013-prctr,
vlme TYPE /pws/zycet013-vlme,
dtpagto TYPE /pws/zycet013-dtpagto,
* >> Início da inclusão:
dtvencto TYPE /pws/zycet010-dtvencto,
* << Fim da inclusão
END OF t_zycet013,
BEGIN OF t_registro,
parvw TYPE /pws/zycbt017-parvw,
nrseq TYPE /pws/zycet001-nrseq,
nremb TYPE /pws/zycet001-nremb,
kunag TYPE /pws/zycet002-kunag,
benefic TYPE /pws/zycet010-lifnr,
gsber TYPE /pws/zycet013-gsber,
prctr TYPE /pws/zycet013-prctr,
nbconeg TYPE lfa1-name1,
...
...
WITH HEADER LINE,
itab_kna1 TYPE STANDARD TABLE OF t_kna1
WITH HEADER LINE,
itab_vbak TYPE STANDARD TABLE OF t_vbak
WITH HEADER LINE,
itab_vbkd TYPE STANDARD TABLE OF t_vbkd
WITH HEADER LINE,
itab_zycbt005 TYPE STANDARD TABLE OF t_zycbt005
WITH HEADER LINE,
itab_zycbt006 TYPE STANDARD TABLE OF t_zycbt006
* >> Início da inclusão:
WITH HEADER LINE,
itab_zycbt209 TYPE STANDARD TABLE OF t_zycbt209
WITH HEADER LINE,
itab_zycbt226 TYPE STANDARD TABLE OF t_zycbt226
* << Fim da inclusão
WITH HEADER LINE,
itab_zycbt017 TYPE STANDARD TABLE OF t_zycbt017
WITH HEADER LINE,
itab_zycbt031 TYPE STANDARD TABLE OF t_zycbt031
WITH HEADER LINE,
itab_zycbt045 TYPE STANDARD TABLE OF t_zycbt045
WITH HEADER LINE,
itab_zycbt048 TYPE STANDARD TABLE OF t_zycbt048
WITH HEADER LINE,
itab_zycbt064 TYPE STANDARD TABLE OF t_zycbt064
...
...
v_nrseq(20) TYPE c,
v_dia(2) TYPE c,
v_mes(2) TYPE c,
v_ano(4) TYPE c,
v_dir TYPE rlgrap-filename,
v_dir2 TYPE rlgrap-filename,
v_dir3 TYPE rlgrap-filename,
v_data(10) TYPE c,
v_flag2(1) TYPE c,
v_cont(3) TYPE n,
* >> Início da inclusão:
wa_zycbt017 TYPE t_zycbt017,
v_vlslf TYPE /pws/zycbt017-vlslf,
v_liq_tot TYPE /pws/zycbt006-vlme,
v_sum_vl_006 TYPE /pws/zycbt006-vlme,
v_sum_vl_209 TYPE /pws/zycbt209-saldo,
v_sum_vl_226 TYPE /pws/zycbt226-sld_exterior,
v_dtpagfat TYPE /pws/zycbt006-dtpagto,
* << Fim da inclusão
v_percomis TYPE p DECIMALS 2.
SELECTION-SCREEN BEGIN OF BLOCK tela1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: empresa FOR /pws/zycbt017-bukrs,
divisao FOR /pws/zycbt017-gsberf,
embarque FOR /pws/zycet001-nrseq,
benefi FOR /pws/zycet010-lifnr,
cliente FOR /pws/zycet002-kunag,
tipcomis FOR /pws/zycbt017-parvw,
dt_averb FOR /pws/zycet001-dtaverb,
dt_pagto FOR /pws/zycet010-dtpagto.
...
...
ENDCASE.
TOP-OF-PAGE.
END-OF-PAGE.
ULINE.
FORM selec_dados_010.
DATA: v_slpagar TYPE /pws/zycbt005-slpagar,
v_lin_re TYPE i,
v_lin_bco TYPE i,
v_index TYPE sy-tabix,
v_zlspr TYPE bseg-zlspr,
* >> Início da exclusão: FORM SELEC_DADOS_010
wa_zycbt017 TYPE t_zycbt017,
v_vlslf TYPE /pws/zycbt017-vlslf,
* << Fim da exclusão
itab_nrseq TYPE STANDARD TABLE OF t_nrseq
WITH HEADER LINE,
itab_re TYPE STANDARD TABLE OF t_re
WITH HEADER LINE,
itab_bconegoc TYPE STANDARD TABLE OF t_bconegoc
WITH HEADER LINE.
SELECT nrseq lifnr dtvencto vlcomis belnr dtpagto dtlanc
FROM /pws/zycet010
INTO TABLE itab_zycet010
WHERE
...
...
gsberf EQ itab_zycbt017-gsberf. "#EC CI_NOFIRST
IF sy-subrc EQ 0.
SELECT lifnr name1
FROM lfa1
APPENDING TABLE itab_lfa1
FOR ALL ENTRIES IN itab_zycbt005
WHERE lifnr EQ itab_zycbt005-bconegoc.
SELECT
nrseqc tpdesp nrparc dtincl nrinvoic nrparcf gsberf dtvincul
dtvencto dtpagto
* >> Início da inclusão: FORM SELEC_DADOS_010
vlme
* << Fim da inclusão
FROM /pws/zycbt006
INTO TABLE itab_zycbt006
FOR ALL ENTRIES IN itab_zycbt005
WHERE
nrseqc EQ itab_zycbt005-nrseqc AND
tpdesp EQ itab_zycbt005-tpdesp AND
nrparc EQ itab_zycbt005-nrparc AND
dtincl EQ itab_zycbt005-dtincl AND
nrinvoic EQ itab_zycbt005-nrinvoic AND
nrparcf EQ itab_zycbt005-nrparcf AND
gsberf EQ itab_zycbt005-gsberf AND
dtvincul EQ itab_zycbt005-dtvincul AND
dtvencto EQ itab_zycbt005-dtvencto.
SORT itab_zycbt006 BY nrinvoic nrparcf gsberf dtpagto DESCENDING.
ENDIF.
* >> Início da inclusão: FORM SELEC_DADOS_010
PERFORM f_sel_209_226.
* << Fim da inclusão
ENDIF.
SELECT
nrchave nrinvoic nrparcf nrboleto dtboleto tpparc nrparc dtliquid
dtvencto lifnr gsberf prctr tpjuros
FROM /pws/zycbt064
INTO TABLE itab_zycbt064
FOR ALL ENTRIES IN itab_nrseq
WHERE
nrchave EQ itab_nrseq-nrseq2 AND
lifnr EQ itab_nrseq-lifnr AND
...
...
CONTINUE.
ENDIF.
CLEAR: itab_bconegoc,
v_slpagar,
v_lin_bco.
REFRESH: itab_bconegoc.
LOOP AT itab_zycbt005 WHERE nrinvoic = itab_zycbt017-nrinvoic AND
nrparcf = itab_zycbt017-nrparcf AND
gsberf = itab_zycbt017-gsberf AND
belnr <> ' '.
* >> Início da exclusão: FORM SELEC_DADOS_010
v_slpagar = v_slpagar + itab_zycbt005-slpagar.
* << Fim da exclusão
IF itab_zycbt005-bconegoc IS INITIAL.
CONTINUE.
ENDIF.
itab_bconegoc-bconegoc = itab_zycbt005-bconegoc.
APPEND itab_bconegoc.
ENDLOOP.
IF sy-subrc EQ 0.
SORT itab_bconegoc.
DELETE ADJACENT DUPLICATES FROM itab_bconegoc.
DESCRIBE TABLE itab_bconegoc LINES v_lin_bco.
...
...
v_lin_re.
REFRESH: itab_re.
LOOP AT itab_zycet003 WHERE nrseq = itab_zycet010-nrseq
AND NOT nrre IS initial.
itab_re-nrre = itab_zycet003-nrre.
APPEND itab_re.
v_lin_re = v_lin_re + 1.
ENDLOOP.
LOOP AT itab_bconegoc.
v_index = sy-tabix.
* >> Início da exclusão: FORM SELEC_DADOS_010
IF v_slpagar EQ 0 AND
itab_zycbt017-vlslf EQ 0.
READ TABLE itab_zycbt006
WITH KEY nrinvoic = itab_zycbt017-nrinvoic
nrparcf = itab_zycbt017-nrparcf
gsberf = itab_zycbt017-gsberf.
IF sy-subrc EQ 0.
itab_registro-dtpgtofat = itab_zycbt006-dtpagto.
ENDIF.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM SELEC_DADOS_010
PERFORM: f_verifica_dtpagfat.
* << Fim da inclusão
CLEAR itab_zycbt064.
READ TABLE itab_zycbt064 WITH KEY
nrchave = itab_zycet010-nrseq
lifnr = itab_zycet010-lifnr
dtvencto = itab_zycet010-dtvencto.
IF sy-subrc EQ 0.
READ TABLE itab_zycbt031 WITH KEY nrseq = itab_zycbt064-nrboleto
lifnr = itab_zycet010-lifnr.
IF sy-subrc EQ 0.
itab_registro-nrseq_ = itab_zycbt031-nrseq.
...
...
DATA: v_slpagar LIKE /pws/zycbt005-slpagar,
v_lin_re TYPE i,
v_lin_bco TYPE i,
v_index LIKE sy-tabix.
DATA: BEGIN OF itab_nrseq OCCURS 5,
nrseq LIKE /pws/zycbt017-nrinvoic,
nrseq2 LIKE /pws/zycet010-nrseq,
lifnr LIKE /pws/zycet013-lifnr,
gsber LIKE /pws/zycet013-gsber,
prctr LIKE /pws/zycet013-prctr,
* >> Início da inclusão: FORM SELEC_DADOS_013
dtvencto LIKE /pws/zycet010-dtvencto,
dtpror LIKE /pws/zycbt045-dtpror,
* << Fim da inclusão
END OF itab_nrseq.
DATA: BEGIN OF itab_re OCCURS 2,
nrre LIKE /pws/zycet003-nrre,
END OF itab_re.
DATA: BEGIN OF itab_bconegoc OCCURS 3,
bconegoc LIKE /pws/zycbt005-bconegoc,
END OF itab_bconegoc.
* >> Início da exclusão: FORM SELEC_DADOS_013
SELECT nrseq lifnr gsber prctr vlme dtpagto
FROM /pws/zycet013
* << Fim da exclusão
* >> Início da inclusão: FORM SELEC_DADOS_013
SELECT t013~nrseq t013~lifnr t013~gsber t013~prctr t013~vlme
t013~dtpagto t010~dtvencto
FROM /pws/zycet013 AS t013 INNER JOIN /pws/zycet010 AS t010
ON t013~nrseq = t010~nrseq AND
t013~lifnr = t010~lifnr
* << Fim da inclusão
INTO TABLE itab_zycet013
WHERE
* >> Início da exclusão: FORM SELEC_DADOS_013
nrseq IN embarque AND
dtpagto IN dt_pagto AND
lifnr IN benefi AND
gsber IN divisao
ORDER BY NRSEQ.
* << Fim da exclusão
* >> Início da inclusão: FORM SELEC_DADOS_013
t013~nrseq IN embarque AND
t013~dtpagto IN dt_pagto AND
t013~lifnr IN benefi AND
t013~gsber IN divisao
ORDER BY T013~NRSEQ.
* << Fim da inclusão
IF NOT paga IS INITIAL.
DELETE itab_zycet013 WHERE dtpagto IS initial.
ELSEIF NOT npaga IS INITIAL.
DELETE itab_zycet013 WHERE NOT dtpagto IS initial.
ENDIF.
IF itab_zycet013[] IS INITIAL.
EXIT.
* >> Início da inclusão: FORM SELEC_DADOS_013
ELSE.
SELECT
nrinvoic nrparcf gsberf dtpror
FROM /pws/zycbt045
INTO TABLE itab_zycbt045
WHERE nrinvoic IN embarque.
SORT itab_zycbt045 BY nrinvoic nrparcf dtpror DESCENDING.
DELETE ADJACENT DUPLICATES FROM itab_zycbt045 COMPARING nrinvoic
nrparcf .
* << Fim da inclusão
ENDIF.
SELECT lifnr name1
FROM lfa1
INTO TABLE itab_lfa1
FOR ALL ENTRIES IN itab_zycet013
WHERE lifnr EQ itab_zycet013-lifnr.
SELECT
nrseq bukrs dtaverb dtemb nremb nrsd
FROM /pws/zycet001
INTO TABLE itab_zycet001
...
...
FROM /pws/zycet003
INTO TABLE itab_zycet003
FOR ALL ENTRIES IN itab_zycet013
WHERE nrseq EQ itab_zycet013-nrseq.
LOOP AT itab_zycet013.
MOVE: itab_zycet013-nrseq TO itab_nrseq-nrseq,
itab_zycet013-nrseq TO itab_nrseq-nrseq2,
itab_zycet013-lifnr TO itab_nrseq-lifnr,
itab_zycet013-gsber TO itab_nrseq-gsber,
itab_zycet013-prctr TO itab_nrseq-prctr.
* >> Início da inclusão: FORM SELEC_DADOS_013
CLEAR itab_zycbt045.
READ TABLE itab_zycbt045
WITH KEY nrinvoic = itab_zycet010-nrseq.
IF sy-subrc EQ '0'.
itab_nrseq-dtpror = itab_zycbt045-dtpror.
ENDIF.
itab_nrseq-dtvencto = itab_zycet013-dtvencto.
* << Fim da inclusão
APPEND itab_nrseq.
* >> Início da inclusão: FORM SELEC_DADOS_013
CLEAR itab_nrseq.
* << Fim da inclusão
ENDLOOP.
SELECT
nrinvoic nrparcf gsberf bukrs kunag waers vlavinc vlslf vlfob
vlcomis parvw
FROM /pws/zycbt017
INTO TABLE itab_zycbt017
...
...
gsberf EQ itab_zycbt017-gsberf. "#EC CI_NOFIRST
IF sy-subrc EQ 0.
SELECT lifnr name1
FROM lfa1
APPENDING TABLE itab_lfa1
FOR ALL ENTRIES IN itab_zycbt005
WHERE lifnr EQ itab_zycbt005-bconegoc.
SELECT
nrseqc tpdesp nrparc dtincl nrinvoic nrparcf gsberf dtvincul
dtvencto dtpagto
* >> Início da inclusão: FORM SELEC_DADOS_013
vlme
* << Fim da inclusão
FROM /pws/zycbt006
INTO TABLE itab_zycbt006
* >> Início da inclusão: FORM SELEC_DADOS_013
FOR ALL ENTRIES IN itab_zycbt005
* << Fim da inclusão
WHERE
nrseqc EQ itab_zycbt005-nrseqc AND
tpdesp EQ itab_zycbt005-tpdesp AND
nrparc EQ itab_zycbt005-nrparc AND
dtincl EQ itab_zycbt005-dtincl AND
nrinvoic EQ itab_zycbt005-nrinvoic AND
nrparcf EQ itab_zycbt005-nrparcf AND
gsberf EQ itab_zycbt005-gsberf AND
dtvincul EQ itab_zycbt005-dtvincul AND
dtvencto EQ itab_zycbt005-dtvencto.
SORT itab_zycbt006 BY nrinvoic nrparcf gsberf dtpagto DESCENDING.
ENDIF.
* >> Início da inclusão: FORM SELEC_DADOS_013
PERFORM f_sel_209_226.
* << Fim da inclusão
ENDIF.
SELECT
nrchave nrinvoic nrparcf nrboleto dtboleto tpparc nrparc dtliquid
dtvencto lifnr gsberf prctr tpjuros
FROM /pws/zycbt064
INTO TABLE itab_zycbt064
FOR ALL ENTRIES IN itab_nrseq
WHERE
nrchave EQ itab_nrseq-nrseq2 AND
lifnr EQ itab_nrseq-lifnr AND
...
...
CONTINUE.
ENDIF.
CLEAR: itab_bconegoc,
v_slpagar,
v_lin_bco.
REFRESH: itab_bconegoc.
LOOP AT itab_zycbt005 WHERE nrinvoic = itab_zycbt017-nrinvoic AND
nrparcf = itab_zycbt017-nrparcf AND
gsberf = itab_zycbt017-gsberf AND
belnr <> ' '.
* >> Início da exclusão: FORM SELEC_DADOS_013
v_slpagar = v_slpagar + itab_zycbt005-slpagar.
* << Fim da exclusão
IF itab_zycbt005-bconegoc IS INITIAL.
CONTINUE.
ENDIF.
itab_bconegoc-bconegoc = itab_zycbt005-bconegoc.
APPEND itab_bconegoc.
ENDLOOP.
IF sy-subrc EQ 0.
SORT itab_bconegoc.
DELETE ADJACENT DUPLICATES FROM itab_bconegoc.
DESCRIBE TABLE itab_bconegoc LINES v_lin_bco.
...
...
v_lin_re.
REFRESH: itab_re.
LOOP AT itab_zycet003 WHERE nrseq = itab_zycet013-nrseq
AND NOT nrre IS initial.
itab_re-nrre = itab_zycet003-nrre.
APPEND itab_re.
v_lin_re = v_lin_re + 1.
ENDLOOP.
LOOP AT itab_bconegoc.
v_index = sy-tabix.
* >> Início da exclusão: FORM SELEC_DADOS_013
IF v_slpagar EQ 0 AND
itab_zycbt017-vlslf EQ 0.
READ TABLE itab_zycbt006
WITH KEY nrinvoic = itab_zycbt017-nrinvoic
nrparcf = itab_zycbt017-nrparcf
gsberf = itab_zycbt017-gsberf.
IF sy-subrc EQ 0.
itab_registro-dtpgtofat = itab_zycbt006-dtpagto.
ENDIF.
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: FORM SELEC_DADOS_013
PERFORM: f_verifica_dtpagfat.
* << Fim da inclusão
CLEAR itab_zycbt064.
READ TABLE itab_zycbt064 WITH KEY
nrchave = itab_zycet013-nrseq
lifnr = itab_zycet013-lifnr
gsberf = itab_zycet013-gsber
prctr = itab_zycet013-prctr.
IF sy-subrc EQ 0.
READ TABLE itab_zycbt031 WITH KEY
nrseq = itab_zycbt064-nrboleto
lifnr = itab_zycet013-lifnr
...
...
itab_registro-dtpagto = itab_zycet013-dtpagto.
itab_registro-gsber = itab_zycet013-gsber.
itab_registro-prctr = itab_zycet013-prctr.
READ TABLE itab_registroa WITH KEY nrseq = itab_zycet001-nrseq
vlfob = itab_zycbt017-vlavinc
vlavinc = itab_zycbt017-vlfob.
IF sy-subrc NE 0.
itab_registro-vlfob = itab_zycbt017-vlfob.
itab_registro-vlavinc = itab_zycbt017-vlavinc.
ENDIF.
* >> Início da inclusão: FORM SELEC_DADOS_013
LOOP AT itab_zycbt017 INTO wa_zycbt017
WHERE nrinvoic = itab_registro-nrseq
AND gsberf = itab_registro-gsber.
v_vlslf = v_vlslf + wa_zycbt017-vlslf.
ENDLOOP.
* << Fim da inclusão
ON CHANGE OF itab_registro-nrseq OR itab_registro-gsber
OR itab_registro-prctr
OR itab_zycet013-lifnr.
itab_registro-vlcomis = itab_zycet013-vlme.
* >> Início da inclusão: FORM SELEC_DADOS_013
itab_registro-vlslf = v_vlslf.
* << Fim da inclusão
ENDON.
* >> Início da inclusão: FORM SELEC_DADOS_013
CLEAR itab_nrseq.
READ TABLE itab_nrseq WITH KEY nrseq2 = itab_zycet010-nrseq.
IF sy-subrc EQ '0' AND NOT itab_nrseq-dtpror IS INITIAL.
itab_registro-dtvencto = itab_nrseq-dtpror.
ELSE.
itab_registro-dtvencto = itab_zycet013-dtvencto.
ENDIF.
* << Fim da inclusão
APPEND itab_registro.
AT LAST.
IF v_lin_re GT v_lin_bco.
v_index = v_index + 1.
LOOP AT itab_re FROM v_index.
itab_registro-nrre = itab_re-nrre.
CLEAR: itab_registro-vlcomis,
itab_registro-waers .
APPEND itab_registro.
ENDLOOP.
ENDIF.
ENDAT.
itab_registroa[] = itab_registro[].
CLEAR itab_registro.
CLEAR itab_zycet010-vlcomis.
* >> Início da inclusão: FORM SELEC_DADOS_013
CLEAR v_vlslf.
* << Fim da inclusão
ENDLOOP.
ENDLOOP.
ENDLOOP.
ENDFORM.
FORM impri_dados.
DATA: v_flag(1) TYPE c,
v_subtot LIKE /pws/zycbt017-vlcomis,
v_waers LIKE /pws/zycbt017-waers,
status LIKE sy-subrc,
line LIKE sy-tabix,
...
...
ENDIF.
ENDFORM.
FORM f_filtra_dados.
LOOP AT itab_registro.
IF itab_registro-vlcomis = 0.
DELETE itab_registro WHERE nrseq = itab_registro-nrseq AND
vlcomis = 0.
ENDIF.
ENDLOOP.
ENDFORM.
* >> Início da inclusão:
FORM f_sel_209_226.
SELECT nrinvoic
nrparcf
gsberf
saldo
dtbelnr
FROM /pws/zycbt209
INTO TABLE itab_zycbt209
FOR ALL ENTRIES IN itab_zycbt017
WHERE nrinvoic = itab_zycbt017-nrinvoic
AND nrparcf = itab_zycbt017-nrparcf
AND gsberf = itab_zycbt017-gsberf.
SORT itab_zycbt209 BY nrinvoic nrparcf gsberf dtbelnr DESCENDING.
SELECT nrinvoic
nrparcf
gsberf
sld_exterior
dtlancto
FROM /pws/zycbt226
INTO TABLE itab_zycbt226
FOR ALL ENTRIES IN itab_zycbt017
WHERE nrinvoic = itab_zycbt017-nrinvoic
AND nrparcf = itab_zycbt017-nrparcf
AND gsberf = itab_zycbt017-gsberf.
SORT itab_zycbt226 BY nrinvoic nrparcf gsberf dtlancto DESCENDING.
ENDFORM.
FORM f_verifica_dtpagfat.
CLEAR: v_sum_vl_006,
v_sum_vl_209,
v_sum_vl_226,
v_liq_tot,
v_dtpagfat.
LOOP AT itab_zycbt006 WHERE nrinvoic = itab_zycbt017-nrinvoic
AND nrparcf = itab_zycbt017-nrparcf
AND gsberf = itab_zycbt017-gsberf.
IF v_dtpagfat < itab_zycbt006-dtpagto.
v_dtpagfat = itab_zycbt006-dtpagto.
ENDIF.
v_sum_vl_006 = v_sum_vl_006 + itab_zycbt006-vlme.
ENDLOOP.
LOOP AT itab_zycbt209 WHERE nrinvoic = itab_zycbt017-nrinvoic
AND nrparcf = itab_zycbt017-nrparcf
AND gsberf = itab_zycbt017-gsberf.
IF v_dtpagfat < itab_zycbt209-dtbelnr.
v_dtpagfat = itab_zycbt209-dtbelnr.
ENDIF.
v_sum_vl_209 = v_sum_vl_209 + itab_zycbt209-saldo.
ENDLOOP.
LOOP AT itab_zycbt226 WHERE nrinvoic = itab_zycbt017-nrinvoic
AND nrparcf = itab_zycbt017-nrparcf
AND gsberf = itab_zycbt017-gsberf.
IF v_dtpagfat < itab_zycbt226-dtlancto.
v_dtpagfat = itab_zycbt226-dtlancto.
ENDIF.
v_sum_vl_226 = v_sum_vl_226 + itab_zycbt226-sld_exterior.
ENDLOOP.
v_liq_tot = v_sum_vl_006 + v_sum_vl_209 + v_sum_vl_226.
IF v_liq_tot = itab_zycbt017-vlavinc.
itab_registro-dtpgtofat = v_dtpagfat.
ENDIF.
ENDFORM.
* << Fim da inclusão