Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 27/06/2007 00:00:00
Data/Hora Última Alteração: 18/02/2011 13:56:58
Descrição da Nota: DESPESA EXPORTAÇÃO/COMPLEMENTO DO BOLETO-INVOICE E DADOS DESPESA
Sintoma
Ao criar uma despesa de exportação, esta permitindo preencher qualquer valor no Número de Invoice,
gerando erro no complemento do boleto que não salva as informações de documento contábil, status e
data de pagamento na tabela /PWS/ZYCBT004.
Solução
Consistir na despesa de exportação o campo número da invoice, onde só permite se o mesmo existir na
/pws/zycbt017. Passar o campo selreg-nrinvoic para o mesmo da /pws/zycbt031 e /pws/zycbt064, no
processar boleto. Consistir os dados da despesa no complemento do boleto, para que armazene as
informações corretamente.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04054 Data: 27/06/2007 Hora: 11:29:31
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04054
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00004
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01236 - 00001 - 6.0 - 00023 - COMPLEMENTO DO BOLETO - AGRUPAMENTO - DADOS CONTRATO
----------------------------------------------------------------------------------------------------
DESPESA EXPORTAÇÃO/COMPLEMENTO DO BOLETO-INVOICE E DADOS DESPESA
----------------------------------------------------------------------------------------------------
Palavras Chave:
DESPESA EXPORTAÇÃO COMPLEMENTO DO BOLETO INVOICE DADOS DESPESA
/PWS/ZYCBT004 BELNR STATUS DTPAGTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCB001 0204
REPS /PWS/MZYCB001F01
REPS /PWS/MZYCB001I01
REPS /PWS/MZYCB110F01
REPS /PWS/ZYCBN102
REPS /PWS/ZYCBR102
REPS /PWS/ZYGLR002
REPT /PWS/SAPMZYCB001
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB001 0204
...
PROCESS AFTER INPUT.
FIELD /pws/zycbe004-waers.
FIELD /pws/zycbe004-vlme.
CHAIN.
FIELD: /pws/zycbe004-ftxt,
/pws/zycbe004-txtinf.
MODULE ftxt_consistency_desp.
ENDCHAIN.
* >> Início da inclusão:
FIELD /pws/zycbe004-nrinvoic MODULE consiste_invoice.
* << Fim da inclusão
MODULE:
check_waers,
user_command_0204.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001F01
...
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
FORM ver_desp.
* >> Início da inclusão: FORM VER_DESP
CLEAR v_ind_desp.
IF /pws/zycbe004-vlme IS INITIAL.
MESSAGE i166.
v_ind_desp = 'X'.
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM VER_DESP
IF /pws/zycbe004-frpagto IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM VER_DESP
IF /pws/zycbe004-frpagto IS INITIAL
AND /pws/zycbe004-tppag ne 'R'.
* << Fim da inclusão
MESSAGE i015 WITH text-042.
v_ind_desp = 'X'.
ENDIF.
IF /pws/zycbe004-fcambio IS INITIAL.
MESSAGE i015 WITH text-043.
v_ind_desp = 'X'.
ENDIF.
IF /pws/zycbe004-tpdesp IS INITIAL.
MESSAGE i015 WITH text-044.
v_ind_desp = 'X'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB001I01
...
DESCRIBE TABLE itab_comissao LINES v_nrparc_comis.
IF /pws/zycbe074-nrparc_comis LT v_nrparc_comis.
MESSAGE e015 WITH text-440.
/pws/zycbe074-nrparc_comis = v_nrparc_comis.
ENDIF.
ENDMODULE.
MODULE limpa_zycbt002 INPUT.
CLEAR itab_zycbt002.
REFRESH itab_zycbt002.
ENDMODULE.
* >> Início da inclusão:
MODULE consiste_invoice INPUT.
IF NOT /pws/zycbe004-nrinvoic IS INITIAL.
SELECT SINGLE nrparcf gsberf FROM /pws/zycbt017
INTO (/pws/zycbt017-nrparcf,/pws/zycbt017-gsberf)
WHERE nrinvoic = /pws/zycbe004-nrinvoic
and nrparcf = /pws/zycbe004-nrparcf
and gsberf = /pws/zycbe004-gsberf.
IF sy-subrc NE 0.
MESSAGE e061 WITH text-066.
ENDIF.
ELSE.
CLEAR: /pws/zycbe004-nrparcf, /pws/zycbe004-gsberf.
ENDIF.
ENDMODULE.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB110F01
...
ELSE.
READ TABLE itab_zycbt004_aux WITH KEY
nrseqc = itab_zycbt064_aux-nrchave(8)
nrinvoic = itab_zycbt064_aux-nrinvoic
nrparc = itab_zycbt064_aux-nrparc
dtliquid = itab_zycbt064_aux-dtliquid
tpjuros = itab_zycbt064_aux-tpjuros
tpdesp = itab_zycbt064_aux-tpdesp
dtincl = itab_zycbt064_aux-dtincl.
ENDIF.
* >> Início da inclusão: FORM ATUALIZA_DESPESA
IF sy-subrc = 0.
* << Fim da inclusão
UPDATE /pws/zycbt004 SET status = wa_despesa-statusp
belnr = wa_despesa-belnr
dtpagto = wa_despesa-dtpagto
WHERE nrseqc = itab_zycbt004_aux-nrseqc
AND tpdesp = itab_zycbt004_aux-tpdesp
AND nrparc = itab_zycbt004_aux-nrparc
AND dtincl = itab_zycbt004_aux-dtincl
AND dtliquid = itab_zycbt004_aux-dtliquid
AND tpjuros = itab_zycbt004_aux-tpjuros.
IF ( itab_zycbt004_aux-tpcontr+0(1) EQ 'P'
OR itab_zycbt004_aux-tpcontr+0(1) EQ 'S' )
AND /pws/zycbt004-tpdesp EQ 'J'.
UPDATE /pws/zycbt002 SET belnr = wa_despesa-belnr
dtpagto = wa_despesa-dtpagto
WHERE nrseqc = itab_zycbt004_aux-nrseqc
AND nrparc = itab_zycbt004_aux-nrparc
AND tpparc = 'J'.
* >> Início da inclusão: FORM ATUALIZA_DESPESA
ENDIF.
* << Fim da inclusão
ENDIF.
ENDLOOP.
ELSEIF NOT /pws/zycbe031-tpdesp IS INITIAL.
UPDATE /pws/zycbt028 SET statusp = wa_despesa-statusp
belnr = wa_despesa-belnr
dtpagto = wa_despesa-dtpagto
WHERE nrseqc = wa_despesa-cpochv+0(8)
AND nrseq = wa_despesa-cpochv+8(8)
AND tpdesp = wa_despesa-cpochv+16(3)
AND dtincl = wa_despesa-cpochv+19(8).
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBN102
...
itab_selreg_aux-tipo TO /pws/zycbt031-tipo,
itab_selreg_aux-tab TO /pws/zycbt031-tabela,
v_waers TO /pws/zycbt031-waers,
itab_selreg_aux-vlcomis TO /pws/zycbt031-vlme,
itab_selreg_aux-vlir TO /pws/zycbt031-vlir,
itab_selreg_aux-vlcide TO /pws/zycbt031-vlcide,
itab_selreg_aux-dtincl TO /pws/zycbt031-dtincl,
itab_selreg_aux-tpdesp TO /pws/zycbt031-tpdesp,
itab_selreg_aux-nrseq TO /pws/zycbt031-nrseq_de,
itab_selreg_aux-tpcontr TO /pws/zycbt031-tpcontr,
* >> Início da exclusão: FORM GERA_BOLETO_IU
itab_selreg_aux-docto TO /pws/zycbt031-nrinvoic,
* << Fim da exclusão
* >> Início da inclusão: FORM GERA_BOLETO_IU
itab_selreg_aux-nrinvoic TO /pws/zycbt031-nrinvoic,
* << Fim da inclusão
itab_selreg_aux-codmodul TO /pws/zycbt031-codmodul,
itab_selreg_aux-nrparcf TO /pws/zycbt031-nrparcf,
itab_selreg_aux-gsberf TO /pws/zycbt031-gsberf,
itab_selreg_aux-dtvencto TO /pws/zycbt031-dtvencto,
itab_selreg_aux-dtliquid TO /pws/zycbt031-dtliquid,
itab_selreg_aux-tpjuros TO /pws/zycbt031-tpjuros.
IF /pws/zycbt031-frgzu IS INITIAL.
MOVE: itab_selreg_aux-frgzu TO /pws/zycbt031-frgzu,
itab_selreg_aux-estrat TO /pws/zycbt031-estrat,
itab_selreg_aux-frgsx1 TO /pws/zycbt031-frgsx1,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYCBR102
...
itab_selreg_aux-tipo TO /pws/zycbt031-tipo,
itab_selreg_aux-tab TO /pws/zycbt031-tabela,
itab_selreg_aux-waers TO /pws/zycbt031-waers,
itab_selreg_aux-vlme TO /pws/zycbt031-vlme,
itab_selreg_aux-vlir TO /pws/zycbt031-vlir,
itab_selreg_aux-vlcide TO /pws/zycbt031-vlcide,
itab_selreg_aux-dtincl TO /pws/zycbt031-dtincl,
itab_selreg_aux-tpdesp TO /pws/zycbt031-tpdesp,
itab_selreg_aux-nrseq TO /pws/zycbt031-nrseq_de,
itab_selreg_aux-tpcontr TO /pws/zycbt031-tpcontr,
* >> Início da exclusão: FORM IMPRIME_BOLETO
itab_selreg_aux-docto TO /pws/zycbt031-nrinvoic,
* << Fim da exclusão
* >> Início da inclusão: FORM IMPRIME_BOLETO
itab_selreg_aux-nrinvoic TO /pws/zycbt031-nrinvoic,
* << Fim da inclusão
itab_selreg_aux-codmodul TO /pws/zycbt031-codmodul,
itab_selreg_aux-nrparcf TO /pws/zycbt031-nrparcf,
itab_selreg_aux-gsberf TO /pws/zycbt031-gsberf,
itab_selreg_aux-dtvencto TO /pws/zycbt031-dtvencto,
itab_selreg_aux-dtliquid TO /pws/zycbt031-dtliquid,
itab_selreg_aux-tpjuros TO /pws/zycbt031-tpjuros,
itab_selreg_aux-vlpis TO /pws/zycbt031-vlpis,
itab_selreg_aux-vlcofins TO /pws/zycbt031-vlcofins.
IF /pws/zycbt031-frgzu IS INITIAL.
MOVE: itab_selreg_aux-frgzu TO /pws/zycbt031-frgzu,
...
...
v_vlpis = v_vlpis + itab_selreg_aux-vlpis.
v_vlcofins = v_vlcofins + itab_selreg_aux-vlcofins.
v_vliss = v_vliss + itab_selreg_aux-vliss.
v_vliof = v_vliof + itab_selreg_aux-vliof.
v_total_usd = v_total_usd + itab_selreg_aux-vlusd.
ENDLOOP.
ENDFORM.
FORM preenche_itab_zycbt064.
LOOP AT itab_selreg_aux.
MOVE: itab_selreg_aux-nrchave TO itab_zycbt064-nrchave,
* >> Início da exclusão: FORM PREENCHE_ITAB_ZYCBT064
itab_selreg_aux-docto TO itab_zycbt064-nrinvoic,
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ITAB_ZYCBT064
itab_selreg_aux-nrinvoic TO itab_zycbt064-nrinvoic,
* << Fim da inclusão
itab_selreg_aux-nrparcf TO itab_zycbt064-nrparcf,
itab_selreg_aux-tipo TO itab_zycbt064-tipo,
itab_selreg_aux-dtvencto TO itab_zycbt064-dtvencto,
itab_selreg_aux-dtliquid TO itab_zycbt064-dtliquid.
IF NOT itab_selreg_aux-lifnr IS INITIAL.
MOVE itab_selreg_aux-lifnr TO itab_zycbt064-lifnr.
ELSE.
MOVE itab_selreg_aux-benefic TO itab_zycbt064-lifnr.
ENDIF.
MOVE:
...
...
itab_zycbt064-gsberf TO /pws/zycbt064-gsberf,
itab_zycbt064-prctr TO /pws/zycbt064-prctr.
INSERT INTO /pws/zycbt064 VALUES /pws/zycbt064.
ENDLOOP.
CLEAR itab_zycbt064.
REFRESH itab_zycbt064.
ELSEIF sy-ucomm = 'PROC'.
MOVE: v_count TO /pws/zycbt064-nrboleto,
sy-datum TO /pws/zycbt064-dtboleto,
itab_selreg_aux-nrchave TO /pws/zycbt064-nrchave,
* >> Início da exclusão: FORM GRAVA_ZYCBT064
itab_selreg_aux-docto TO /pws/zycbt064-nrinvoic,
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_ZYCBT064
itab_selreg_aux-nrinvoic TO /pws/zycbt064-nrinvoic,
* << Fim da inclusão
itab_selreg_aux-nrparcf TO /pws/zycbt064-nrparcf,
itab_selreg_aux-tipo TO /pws/zycbt064-tipo,
itab_selreg_aux-dtvencto TO /pws/zycbt064-dtvencto,
itab_selreg_aux-dtliquid TO /pws/zycbt064-dtliquid.
IF NOT itab_selreg_aux-lifnr IS INITIAL.
MOVE itab_selreg_aux-lifnr TO /pws/zycbt064-lifnr.
ELSE.
MOVE itab_selreg_aux-benefic TO /pws/zycbt064-lifnr.
ENDIF.
MOVE:
...
...
itab_selreg_aux-tipo TO /pws/zycbt031-tipo,
itab_selreg_aux-tab TO /pws/zycbt031-tabela,
itab_selreg_aux-waers TO /pws/zycbt031-waers,
itab_selreg_aux-vlme TO /pws/zycbt031-vlme,
itab_selreg_aux-vlir TO /pws/zycbt031-vlir,
itab_selreg_aux-vlcide TO /pws/zycbt031-vlcide,
itab_selreg_aux-dtincl TO /pws/zycbt031-dtincl,
itab_selreg_aux-tpdesp TO /pws/zycbt031-tpdesp,
itab_selreg_aux-nrseq TO /pws/zycbt031-nrseq_de,
itab_selreg_aux-tpcontr TO /pws/zycbt031-tpcontr,
* >> Início da exclusão: FORM GET_ZYCBT031
itab_selreg_aux-docto TO /pws/zycbt031-nrinvoic,
* << Fim da exclusão
* >> Início da inclusão: FORM GET_ZYCBT031
itab_selreg_aux-nrinvoic TO /pws/zycbt031-nrinvoic,
* << Fim da inclusão
itab_selreg_aux-nrparcf TO /pws/zycbt031-nrparcf,
itab_selreg_aux-codmodul TO /pws/zycbt031-codmodul,
itab_selreg_aux-gsberf TO /pws/zycbt031-gsberf,
itab_selreg_aux-dtvencto TO /pws/zycbt031-dtvencto,
itab_selreg_aux-dtliquid TO /pws/zycbt031-dtliquid,
itab_selreg_aux-tpjuros TO /pws/zycbt031-tpjuros,
itab_selreg_aux-vlpis TO /pws/zycbt031-vlpis,
itab_selreg_aux-vlcofins TO /pws/zycbt031-vlcofins.
IF /pws/zycbt031-frgzu IS INITIAL.
MOVE: itab_selreg_aux-frgzu TO /pws/zycbt031-frgzu,
...
...
itab_selreg_aux-tipo TO /pws/zycbt031-tipo,
itab_selreg_aux-tab TO /pws/zycbt031-tabela,
itab_selreg_aux-waers TO /pws/zycbt031-waers,
itab_selreg_aux-vlme TO /pws/zycbt031-vlme,
itab_selreg_aux-vlir TO /pws/zycbt031-vlir,
itab_selreg_aux-vlcide TO /pws/zycbt031-vlcide,
itab_selreg_aux-dtincl TO /pws/zycbt031-dtincl,
itab_selreg_aux-tpdesp TO /pws/zycbt031-tpdesp,
itab_selreg_aux-nrseq TO /pws/zycbt031-nrseq_de,
itab_selreg_aux-tpcontr TO /pws/zycbt031-tpcontr,
* >> Início da exclusão: FORM IMPRIME_PREVIA_BOLETO
itab_selreg_aux-docto TO /pws/zycbt031-nrinvoic,
* << Fim da exclusão
* >> Início da inclusão: FORM IMPRIME_PREVIA_BOLETO
itab_selreg_aux-nrinvoic TO /pws/zycbt031-nrinvoic,
* << Fim da inclusão
itab_selreg_aux-codmodul TO /pws/zycbt031-codmodul,
itab_selreg_aux-gsberf TO /pws/zycbt031-gsberf,
itab_selreg_aux-dtvencto TO /pws/zycbt031-dtvencto,
itab_selreg_aux-dtliquid TO /pws/zycbt031-dtliquid,
itab_selreg_aux-tpjuros TO /pws/zycbt031-tpjuros,
itab_selreg_aux-vlpis TO /pws/zycbt031-vlpis,
itab_selreg_aux-vlcofins TO /pws/zycbt031-vlcofins.
IF NOT itab_selreg_aux-lifnr IS INITIAL OR
NOT itab_selreg_aux-lifnr EQ '0000000000'.
MOVE itab_selreg_aux-lifnr TO /pws/zycbt031-lifnr.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZYGLR002
...
ELSEIF sy-subrc = 0.
CONCATENATE text-025 itab_zycbt015-txtdesc INTO v_tipo
SEPARATED BY space.
ENDIF.
CLEAR: v_me, v_usd.
v_me = itab_zycbt004-vlme.
MOVE:
text-032 TO itab_selreg-mod,
itab_zycbt004-nrseqc TO itab_selreg-nrchave,
itab_zycbt004-nrinvoic TO itab_selreg-docto,
* >> Início da inclusão: FORM SELECIONA_DESPESA
itab_zycbt004-nrinvoic TO itab_selreg-nrinvoic,
* << Fim da inclusão
itab_zycbt004-nrparcf TO itab_selreg-nrparcf ,
itab_zycbt004-tpcontr TO itab_selreg-tpcontr,
'/PWS/ZYCBT004' TO itab_selreg-tab,
v_tipo TO itab_selreg-tipo,
itab_zycbt004-tpcontr TO itab_selreg-tpcontr,
itab_zycbt004-bukrs TO itab_selreg-bukrs,
itab_zycbt004-dtvencto TO itab_selreg-dtvencto,
v_taxa_dia TO itab_selreg-txdia,
itab_zycbt004-waers TO itab_selreg-waers,
itab_zycbt004-vlme TO itab_selreg-vlme,
...
...
itab_selreg-vlme = v_me =
itab_zycbt086-vlme - itab_zycbt086-vlir.
ELSE.
itab_selreg-vlme = v_me = itab_zycbt086-vlme.
ENDIF.
v_me = itab_zycbt086-vlme.
MOVE:
text-032 TO itab_selreg-mod,
itab_zycbt086-nrseq TO itab_selreg-nrchave,
itab_zycbt086-nrinvoic TO itab_selreg-docto,
* >> Início da inclusão: FORM SELECIONA_JUROS
itab_zycbt086-nrinvoic TO itab_selreg-nrinvoic,
* << Fim da inclusão
itab_zycbt086-nrparcf TO itab_selreg-nrparcf,
'/PWS/ZYCBT086' TO itab_selreg-tab,
v_tipo TO itab_selreg-tipo,
itab_zycbt086-bukrs TO itab_selreg-bukrs,
itab_zycbt086-dtvencto TO itab_selreg-dtvencto,
v_taxa_dia TO itab_selreg-txdia,
itab_zycbt086-waers TO itab_selreg-waers,
v_me TO itab_selreg-vlme,
v_usd TO itab_selreg-vlusd,
itab_zycbt086-vlir TO itab_selreg-vlir,
...
...
IF sy-subrc = 0.
CONCATENATE text-044 itab_zycbt015-txtdesc text-045 INTO v_tipo
SEPARATED BY space.
ENDIF.
CLEAR: v_me, v_usd.
v_me = itab_zycbt004-vlme.
MOVE:
text-032 TO itab_selreg-mod,
itab_zycbt004-nrseqc TO itab_selreg-nrchave,
itab_zycbt004-nrinvoic TO itab_selreg-docto,
* >> Início da inclusão: FORM SELECIONA_TRAVA
itab_zycbt004-nrinvoic TO itab_selreg-nrinvoic,
* << Fim da inclusão
itab_zycbt004-nrparcf TO itab_selreg-nrparcf ,
itab_zycbt004-tpcontr TO itab_selreg-tpcontr,
'/PWS/ZYCBT004' TO itab_selreg-tab,
v_tipo TO itab_selreg-tipo,
itab_zycbt004-tpcontr TO itab_selreg-tpcontr,
itab_zycbt004-bukrs TO itab_selreg-bukrs,
itab_zycbt004-dtvencto TO itab_selreg-dtvencto,
v_taxa_dia TO itab_selreg-txdia,
itab_zycbt004-waers TO itab_selreg-waers,
itab_zycbt004-vlme TO itab_selreg-vlme,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPT /PWS/SAPMZYCB001
------------------------------------------------------------------------
Incluído símbolo de texto:
Idioma: PT
Símbolo: 066
Texto: (27 caracteres)
"Número de Invoice inválido!"
Comprimento máximo: 27