Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Pagamento de Juros
Data/Hora da Publicação: 08/09/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 17:10:57
Descrição da Nota: PAGAMENTO DE JUROS - MATCHCODE - EXIBIÇÃO JUROS A SEREM PAGOS
Sintoma
Problema para efetuar pagamento de juros sobre os contratos de câmbio. Se entrarmos no programa de
pagamento de juros e buscarmos no match code as parcelas de juros a serem pagas, o sistema não
retorna nenhum dado a ser selecionado.
Solução
Ajustar o posicionamento dos campos na record_tab, verificando o mandante. Alterar o posicionamento
dos campos na ajuda de pesquisa e na visão da mesma.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02068 Data: 08/09/2006 Hora: 11:34:37
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02068
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00133
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01934 - 00001 - 6.0 - 00024 - PAGTO DE JUROS (MATCHCODE)
----------------------------------------------------------------------------------------------------
PAGAMENTO DE JUROS - MATCHCODE - EXIBIÇÃO JUROS A SEREM PAGOS
----------------------------------------------------------------------------------------------------
Palavras Chave:
PAGAMENTO DE JUROS MATCHCODE EXIBIÇÃO JUROS A SEREM PAGOS
AJUDA DE PESQUISA
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/ZZYCBGF3U02
SHLD /PWS/ZYCBA016
VIED /PWS/ZYCBV044
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZZYCBGF3U02
* >> Início da inclusão:
CHECK callcontrol-step = 'DISP'.
* << Fim da inclusão
...
v_subrc = v_subrc.
CLEAR callcontrol-maxrecords.
READ TABLE record_tab INDEX 1.
SELECT SINGLE nrseqc FROM /pws/zycbt001
INTO v_nrseqc
* >> Início da exclusão:
WHERE nrseqc = record_tab+0(08).
* << Fim da exclusão
* >> Início da inclusão:
WHERE nrseqc = record_tab+3(08).
* << Fim da inclusão
IF sy-subrc NE 0.
IF NOT v_subrc IS INITIAL.
DELETE record_tab WHERE string+11(1) NE 'J' AND
string+11(1) NE 'D'.
ENDIF.
...
...
WHERE nrseqc EQ v_string+3(08) AND
tpdesp EQ v_string+11(1) AND
nrparc EQ v_string+14(3) AND
dtincl EQ v_string+21(8) AND
(
* >> Início da exclusão:
dtliquid EQ v_string+104(8) OR
dtliquid EQ v_string+83(8)
* << Fim da exclusão
* >> Início da inclusão:
dtliquid EQ v_string+92(8) OR
dtliquid EQ v_string+71(8)
* << Fim da inclusão
) AND
(
* >> Início da exclusão:
tpjuros EQ v_string+141(1) OR
tpjuros EQ v_string+119(1)
* << Fim da exclusão
* >> Início da inclusão:
tpjuros EQ v_string+122(1) OR
tpjuros EQ v_string+100(1)
* << Fim da inclusão
).
IF sy-subrc EQ 0.
DELETE record_tab INDEX sy-tabix.
CONTINUE.
ENDIF.
...
...
WHERE nrseqc EQ v_string+3(08) AND
tpdesp EQ v_string+11(1) AND
nrparc EQ v_string+14(3) AND
dtincl EQ v_string+21(8) AND
(
* >> Início da exclusão:
dtliquid EQ v_string+104(8) OR
dtliquid EQ v_string+83(8)
* << Fim da exclusão
* >> Início da inclusão:
dtliquid EQ v_string+92(8) OR
dtliquid EQ v_string+71(8)
* << Fim da inclusão
).
IF sy-subrc EQ 0.
IF NOT /pws/zycbt004-vlir IS INITIAL AND
/pws/zycbt004-tpcontr(1) EQ 'D'.
CONTINUE.
ENDIF.
ENDIF.
SELECT SINGLE * FROM /pws/zycbt064
* >> Início da exclusão:
WHERE nrchave EQ record_tab+3(10)
* << Fim da exclusão
* >> Início da inclusão:
WHERE nrchave EQ record_tab+3(8)
* << Fim da inclusão
AND nrparc EQ record_tab+14(3)
AND
(
* >> Início da exclusão:
dtliquid EQ v_string+104(8) OR
dtliquid EQ v_string+83(8)
* << Fim da exclusão
* >> Início da inclusão:
dtliquid EQ v_string+92(8) OR
dtliquid EQ v_string+71(8)
* << Fim da inclusão
).
IF sy-subrc NE 0.
IF v_subrc IS INITIAL.
SELECT SINGLE * FROM /pws/zycbt006
INTO /pws/zycbt006
WHERE nrseqc = record_tab+3(8) AND
nrparc = record_tab+14(3) AND
dtvincul = record_tab+21(8) AND
(
* >> Início da exclusão:
nrinvoic = record_tab+64(10) OR
nrinvoic = record_tab+61(10) OR
nrinvoic = record_tab+58(10)
* << Fim da exclusão
* >> Início da inclusão:
nrinvoic = record_tab+52(10) OR
nrinvoic = record_tab+49(10) OR
nrinvoic = record_tab+46(10)
* << Fim da inclusão
) AND
(
* >> Início da exclusão:
gsberf = record_tab+112(4) OR
gsberf = record_tab+109(4) OR
gsberf = record_tab+88(4)
* << Fim da exclusão
* >> Início da inclusão:
gsberf = record_tab+100(4) OR
gsberf = record_tab+97(4) OR
gsberf = record_tab+76(4)
* << Fim da inclusão
) AND
(
* >> Início da exclusão:
dtpagto = record_tab+104(8) OR
dtpagto = record_tab+80(8)
* << Fim da exclusão
* >> Início da inclusão:
dtpagto = record_tab+92(8) OR
dtpagto = record_tab+60(8)
* << Fim da inclusão
).
IF sy-subrc EQ 0 OR
v_string+11(1) EQ 'D' OR
v_string+11(2) EQ 'JC'.
CLEAR itab_despesas.
...
...
INTO wa_zycbt005
WHERE nrseqc = record_tab+3(8) AND
nrparc = record_tab+14(3) AND
dtvincul = record_tab+21(8) AND
(
* >> Início da exclusão:
nrinvoic = record_tab+64(10) OR
nrinvoic = record_tab+61(10) OR
nrinvoic = record_tab+58(10)
* << Fim da exclusão
* >> Início da inclusão:
nrinvoic = record_tab+52(10) OR
nrinvoic = record_tab+49(10) OR
nrinvoic = record_tab+46(10)
* << Fim da inclusão
) AND
(
* >> Início da exclusão:
gsberf = record_tab+112(4) OR
gsberf = record_tab+109(4) OR
gsberf = record_tab+88(4)
* << Fim da exclusão
* >> Início da inclusão:
gsberf = record_tab+100(4) OR
gsberf = record_tab+97(4) OR
gsberf = record_tab+76(4)
* << Fim da inclusão
).
IF sy-subrc EQ 0 AND NOT
wa_zycbt005-dtcredext IS INITIAL.
CLEAR itab_despesas.
MOVE v_string TO itab_despesas.
APPEND itab_despesas.
ENDIF.
ENDIF.
ELSE.
CLEAR itab_despesas.
* >> Início da exclusão:
IF v_string+102(8) = '00000000'.
v_string+102(8) = ' '.
* << Fim da exclusão
* >> Início da inclusão:
IF v_string+95(8) = '00000000'.
v_string+95(8) = ' '.
* << Fim da inclusão
ENDIF.
MOVE v_string TO itab_despesas.
APPEND itab_despesas.
ENDIF.
ENDIF.
ENDLOOP.
ELSE.
IF NOT v_subrc IS INITIAL.
* >> Início da exclusão:
DELETE record_tab WHERE string+8(1) NE 'J' AND
string+8(1) NE 'D'.
* << Fim da exclusão
* >> Início da inclusão:
DELETE record_tab WHERE string+11(1) NE 'J' AND
string+11(1) NE 'D'.
* << Fim da inclusão
ENDIF.
LOOP AT record_tab.
v_string = record_tab-string.
SELECT SINGLE * FROM /pws/zycbt044
* >> Início da exclusão:
WHERE nrseqc EQ v_string+0(08) AND
tpdesp EQ v_string+8(1) AND
nrparc EQ v_string+11(3) AND
dtincl EQ v_string+18(8) AND
* << Fim da exclusão
* >> Início da inclusão:
WHERE nrseqc EQ v_string+3(8) AND
tpdesp EQ v_string+11(1) AND
nrparc EQ v_string+14(3) AND
dtincl EQ v_string+21(8) AND
* << Fim da inclusão
(
* >> Início da exclusão:
dtliquid EQ v_string+101(8) OR
dtliquid EQ v_string+80(8)
* << Fim da exclusão
* >> Início da inclusão:
dtliquid EQ v_string+92(8) OR
dtliquid EQ v_string+71(8)
* << Fim da inclusão
) AND
(
* >> Início da exclusão:
tpjuros EQ v_string+138(1) OR
tpjuros EQ v_string+116(1)
* << Fim da exclusão
* >> Início da inclusão:
tpjuros EQ v_string+122(1) OR
tpjuros EQ v_string+100(1)
* << Fim da inclusão
).
IF sy-subrc EQ 0.
DELETE record_tab INDEX sy-tabix.
CONTINUE.
ENDIF.
SELECT SINGLE tpcontr vlir FROM /pws/zycbt004
INTO (/pws/zycbt004-tpcontr, /pws/zycbt004-vlir)
* >> Início da exclusão:
WHERE nrseqc EQ v_string+0(08) AND
tpdesp EQ v_string+8(1) AND
nrparc EQ v_string+11(3) AND
dtincl EQ v_string+18(8) AND
* << Fim da exclusão
* >> Início da inclusão:
WHERE nrseqc EQ v_string+3(8) AND
tpdesp EQ v_string+11(1) AND
nrparc EQ v_string+14(3) AND
dtincl EQ v_string+21(8) AND
* << Fim da inclusão
(
* >> Início da exclusão:
dtliquid EQ v_string+101(8) OR
dtliquid EQ v_string+80(8)
* << Fim da exclusão
* >> Início da inclusão:
dtliquid EQ v_string+92(8) OR
dtliquid EQ v_string+71(8)
* << Fim da inclusão
).
IF sy-subrc EQ 0.
IF NOT /pws/zycbt004-vlir IS INITIAL AND
/pws/zycbt004-tpcontr(1) EQ 'D'.
CONTINUE.
ENDIF.
ENDIF.
SELECT SINGLE * FROM /pws/zycbt064
* >> Início da exclusão:
WHERE nrchave EQ record_tab+0(10)
AND nrparc EQ record_tab+11(3)
* << Fim da exclusão
* >> Início da inclusão:
WHERE nrchave EQ record_tab+3(8)
AND nrparc EQ record_tab+14(3)
* << Fim da inclusão
AND
(
* >> Início da exclusão:
dtliquid EQ record_tab+123(8) OR
dtliquid EQ record_tab+102(8)
* << Fim da exclusão
* >> Início da inclusão:
dtliquid EQ record_tab+92(8) OR
dtliquid EQ record_tab+71(8)
* << Fim da inclusão
).
IF sy-subrc NE 0.
IF v_subrc IS INITIAL.
SELECT SINGLE * FROM /pws/zycbt006
INTO /pws/zycbt006
* >> Início da exclusão:
WHERE nrseqc = record_tab+0(8) AND
nrparc = record_tab+11(3) AND
dtvincul = record_tab+18(8) AND
* << Fim da exclusão
* >> Início da inclusão:
WHERE nrseqc = record_tab+3(8) AND
nrparc = record_tab+14(3) AND
dtvincul = record_tab+21(8) AND
* << Fim da inclusão
(
* >> Início da exclusão:
nrinvoic = record_tab+61(10) OR
nrinvoic = record_tab+58(10)
* << Fim da exclusão
* >> Início da inclusão:
nrinvoic = record_tab+52(10) OR
nrinvoic = record_tab+49(10)
* << Fim da inclusão
) AND
(
* >> Início da exclusão:
gsberf = record_tab+91(4) OR
gsberf = record_tab+88(4)
* << Fim da exclusão
* >> Início da inclusão:
gsberf = record_tab+100(4) OR
gsberf = record_tab+97(4)
* << Fim da inclusão
) AND
(
* >> Início da exclusão:
dtpagto = record_tab+83(8) OR
dtpagto = record_tab+80(8)
* << Fim da exclusão
* >> Início da inclusão:
dtpagto = record_tab+92(8) OR
dtpagto = record_tab+81(8)
* << Fim da inclusão
).
IF sy-subrc EQ 0 OR
* >> Início da exclusão:
v_string+8(1) EQ 'D' OR
v_string+8(2) EQ 'JC'.
* << Fim da exclusão
* >> Início da inclusão:
v_string+11(1) EQ 'D' OR
v_string+11(2) EQ 'JC'.
* << Fim da inclusão
CLEAR itab_despesas.
MOVE v_string TO itab_despesas.
APPEND itab_despesas.
ELSEIF sy-subrc NE 0.
SELECT SINGLE * FROM /pws/zycbt005
INTO wa_zycbt005
* >> Início da exclusão:
WHERE nrseqc = record_tab+0(8) AND
nrparc = record_tab+11(3) AND
dtvincul = record_tab+18(8) AND
nrinvoic = record_tab+61(10) AND
gsberf = record_tab+91(4).
* << Fim da exclusão
* >> Início da inclusão:
WHERE nrseqc = record_tab+3(8) AND
nrparc = record_tab+14(3) AND
dtvincul = record_tab+21(8) AND
nrinvoic = record_tab+52(10) AND
gsberf = record_tab+100(4).
* << Fim da inclusão
IF sy-subrc EQ 0 AND NOT
wa_zycbt005-dtcredext IS INITIAL.
CLEAR itab_despesas.
MOVE v_string TO itab_despesas.
APPEND itab_despesas.
ENDIF.
ENDIF.
ELSE.
CLEAR itab_despesas.
* >> Início da exclusão:
IF v_string+99(8) = '00000000'.
v_string+99(8) = ' '.
* << Fim da exclusão
* >> Início da inclusão:
IF v_string+92(8) = '00000000'.
v_string+92(8) = ' '.
* << Fim da inclusão
ENDIF.
MOVE v_string TO itab_despesas.
APPEND itab_despesas.
ENDIF.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em SHLD /PWS/ZYCBA016
MODIFICAR AJUDA DE PESQUISA: /PWS/ZYCBA016
DESCRIÇÃO BREVE: CB - Parcelas de Despesas
PARÂMETROS:
PARAM. IMP EXP POSL ISEL EXAJ ELEM. DADOS MOD VALOR PROPOSTO
De:
BUKRS X 12 12 BUKRS
DTVENCTO X 4 4 /PWS/ZYCBL034
NRPARC X 3 3 /PWS/ZYCBL047
NRSEQC X 1 1 /PWS/ZYCBL019
TPDESP X 2 2 /PWS/ZYCBL014
TPJUROS X 15 15 /PWS/ZYCBL451
VLIR /PWS/ZYCBL258
BCONEGOC X 9 9 /PWS/ZYCBL021
DTINCL X 11 11 /PWS/ZYCBL033
DTLIQUID X 13 13 /PWS/ZYCBL036
GSBERF X 14 14 GSBER
NRCONTR X 10 10 /PWS/ZYCBL020
NRINVOIC X 7 7 /PWS/ZYCBL084
NRPARCF X 8 8 RATNR
VLME 6 6 WRBTR
WAERS X 5 5 WAERS
Para:
NRSEQC X 1 1 /PWS/ZYCBL019
TPDESP X 2 2 /PWS/ZYCBL014
NRPARC X 3 3 /PWS/ZYCBL047
TPJUROS X 13 13 /PWS/ZYCBL451
BUKRS X 10 10 BUKRS
DTVENCTO X 4 4 /PWS/ZYCBL034
NRCONTR X 8 8 /PWS/ZYCBL020
NRINVOIC X 5 5 /PWS/ZYCBL084
NRPARCF X 6 6 RATNR
BCONEGOC X 7 7 /PWS/ZYCBL021
DTINCL X 9 9 /PWS/ZYCBL033
DTLIQUID X 11 11 /PWS/ZYCBL036
GSBERF X 12 12 GSBER
WAERS X 15 15 WAERS
VLME 14 14 WRBTR
VLIR /PWS/ZYCBL258
----------------------------------------------------------------------------------------------------
Modificações efetuadas em VIED /PWS/ZYCBV044
MODIFICAR VISAO : /PWS/ZYCBV044
DESCRIÇÃO BREVE: CB - Cadastro de Faturas com Nome Cliente
CAMPO VISÃO: NOME TAB: NOME CAMPO: MOD:
De:
MANDT /PWS/ZYCBT004 MANDT MANDT
NRSEQC /PWS/ZYCBT004 NRSEQC /PWS/ZYCBL019
TPDESP /PWS/ZYCBT004 TPDESP /PWS/ZYCBL014
NRPARC /PWS/ZYCBT004 NRPARC /PWS/ZYCBL047
BUKRS /PWS/ZYCBT004 BUKRS BUKRS
DTINCL /PWS/ZYCBT004 DTINCL /PWS/ZYCBL033
NRCONTR /PWS/ZYCBT004 NRCONTR /PWS/ZYCBL020
WAERS /PWS/ZYCBT004 WAERS WAERS
VLME /PWS/ZYCBT004 VLME WRBTR
DTVENCTO /PWS/ZYCBT004 DTVENCTO /PWS/ZYCBL034
NRINVOIC /PWS/ZYCBT005 NRINVOIC /PWS/ZYCBL084
NRPARCF /PWS/ZYCBT005 NRPARCF RATNR
BELNR /PWS/ZYCBT004 BELNR BELNR_D
DTPAGTO /PWS/ZYCBT004 DTPAGTO /PWS/ZYCBL036
DTLIQUID /PWS/ZYCBT004 DTLIQUID /PWS/ZYCBL036
GSBERF /PWS/ZYCBT004 GSBERF GSBER
BCONEGOC /PWS/ZYCBT005 BCONEGOC /PWS/ZYCBL021
DTVINCUL /PWS/ZYCBT005 DTVINCUL /PWS/ZYCBL035
VLIR /PWS/ZYCBT004 VLIR /PWS/ZYCBL258
TPJUROS /PWS/ZYCBT004 TPJUROS /PWS/ZYCBL451
Para:
MANDT /PWS/ZYCBT004 MANDT MANDT
NRSEQC /PWS/ZYCBT004 NRSEQC /PWS/ZYCBL019
TPDESP /PWS/ZYCBT004 TPDESP /PWS/ZYCBL014
NRPARC /PWS/ZYCBT004 NRPARC /PWS/ZYCBL047
BUKRS /PWS/ZYCBT004 BUKRS BUKRS
DTINCL /PWS/ZYCBT004 DTINCL /PWS/ZYCBL033
NRCONTR /PWS/ZYCBT004 NRCONTR /PWS/ZYCBL020
DTVENCTO /PWS/ZYCBT004 DTVENCTO /PWS/ZYCBL034
NRINVOIC /PWS/ZYCBT005 NRINVOIC /PWS/ZYCBL084
NRPARCF /PWS/ZYCBT005 NRPARCF RATNR
BELNR /PWS/ZYCBT004 BELNR BELNR_D
DTPAGTO /PWS/ZYCBT004 DTPAGTO /PWS/ZYCBL036
DTLIQUID /PWS/ZYCBT004 DTLIQUID /PWS/ZYCBL036
GSBERF /PWS/ZYCBT004 GSBERF GSBER
BCONEGOC /PWS/ZYCBT005 BCONEGOC /PWS/ZYCBL021
DTVINCUL /PWS/ZYCBT005 DTVINCUL /PWS/ZYCBL035
TPJUROS /PWS/ZYCBT004 TPJUROS /PWS/ZYCBL451
WAERS /PWS/ZYCBT004 WAERS WAERS
VLME /PWS/ZYCBT004 VLME WRBTR
VLIR /PWS/ZYCBT004 VLIR /PWS/ZYCBL258