Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 05/07/2007 00:00:00
Data/Hora Última Alteração: 21/02/2011 10:23:20
Descrição da Nota: VINCULAÇÃO - LIQUIDAÇÃO AUTOMÁTICA CP - CONTA LIQ. ANDAMENTO
Sintoma
Ao efetuar uma vinculação com liquidação automática, onde a fatura passou por liquidação em
andamento na conta do razão, esta buscando a partida do documento contábil na conta do cliente.
Solução
Inserir tratamento para verificar o parâmetro da /PWS/ZYGL007, quando a fatura passou por liquidação
em andamento, para buscar a conta correta.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04109 Data: 05/07/2007 Hora: 10:16:59
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04109
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00002
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
03538 - 00001 - 7.0 - 00001 - VINCULAÇÃO - LIQUIDAÇÃO CAMBIO PRONTO
----------------------------------------------------------------------------------------------------
VINCULAÇÃO - LIQUIDAÇÃO AUTOMÁTICA CP - CONTA LIQ. ANDAMENTO
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO LIQUIDAÇÃO AUTOMÁTICA CP CONTA LIQ. ANDAMENTO
CONTA DO RAZÃO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB009F03
REPS /PWS/MZYCB009F07
REPS /PWS/MZYCB009TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F03
...
IF /pws/zycbe005-vlslf EQ 0 AND itab_zycbt005-v_fsaldo IS INITIAL.
itab_zycbt005-vlslf = /pws/zycbt017-vlslf.
itab_zycbt005-v_fsaldo = 'X'.
MODIFY itab_zycbt005 INDEX v_index.
ELSE.
itab_zycbt005-vlslf = /pws/zycbe005-vlslf.
ENDIF.
itab_zycbt005-dtcredext = /pws/zycbe005-dtcredext.
ENDFORM.
FORM encontra_documento.
* >> Início da exclusão: FORM ENCONTRA_DOCUMENTO
DATA: v_belnr LIKE bseg-belnr,
v_data LIKE /pws/zycbt030-budat(4),
v_conta LIKE /pws/zycbt017-kunag,
* << Fim da exclusão
* >> Início da inclusão: FORM ENCONTRA_DOCUMENTO
DATA: v_belnr LIKE bseg-belnr,
v_data LIKE /pws/zycbt030-budat(4),
v_conta LIKE /pws/zycbt017-kunag,
* << Fim da inclusão
v_modulo LIKE bseg-koart.
CHECK itab_zycbt030-v_belnr IS INITIAL.
v_modulo = 'D'.
IF wa_zycbt007-liq_trans IS INITIAL.
IF itab_zycbt030-belnr6 IS INITIAL.
v_belnr = itab_zycbt030-belnr.
ELSE.
v_belnr = itab_zycbt030-belnr6.
ENDIF.
v_data = itab_zycbt030-budat(4).
...
...
ELSE.
IF itab_zycbt030-belnr6 IS INITIAL.
v_belnr = itab_zycbt030-belnr.
ELSE.
v_belnr = itab_zycbt030-belnr6.
ENDIF.
v_data = itab_zycbt030-budat(4).
v_conta = itab_zycbt017-kunag.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM ENCONTRA_DOCUMENTO
IF /pws/zycbe001-tpcontr(1) = 'C'.
READ TABLE itab_zycbt209 WITH KEY nrinvoic = itab_zycbt030-nrinvoic
nrparcf = itab_zycbt030-nrparcf
gsberf = itab_zycbt030-gsberf.
IF sy-subrc = 0.
IF /pws/zycbt089-tp_liq_and EQ 'Z'.
SELECT SINGLE agums FROM /pws/zycbt011
INTO itab_zycbe033-umskz
WHERE codeven = '023' AND
codmod = 'E' AND
bukrs = itab_zycbt017-bukrs.
itab_zycbe033-agums = itab_zycbe033-umskz.
itab_zycbe033-agkoa = 'D'.
itab_zycbe033-newbs = '09'.
ELSEIF /pws/zycbt089-tp_liq_and EQ 'D'.
IF NOT /pws/zycbt089-liq_and_cod_cli IS INITIAL.
v_conta = /pws/zycbt089-liq_and_cod_cli.
ELSE.
SELECT * FROM /pws/zyglt368 INTO TABLE itab_zyglt368
WHERE bukrs = itab_zycbt017-bukrs.
READ TABLE itab_zyglt368 INDEX 1.
IF sy-subrc = 0 AND itab_zyglt368-kunag IS INITIAL.
SELECT SINGLE ktokd FROM kna1 INTO v_ktokd
WHERE kunnr EQ itab_zycbt017-kunag.
READ TABLE itab_zyglt368 WITH KEY ktokd = v_ktokd.
IF sy-subrc EQ 0.
v_conta = itab_zyglt368-codtrans.
ENDIF.
ELSEIF sy-subrc = 0 AND itab_zyglt368-ktokd IS INITIAL.
READ TABLE itab_zyglt368
WITH KEY kunag = itab_zycbt017-kunag.
IF sy-subrc EQ 0.
v_conta = itab_zyglt368-codtrans.
ENDIF.
ENDIF.
ENDIF.
ELSEIF /pws/zycbt089-tp_liq_and EQ 'S'.
itab_zycbe033-koart = 'S'.
itab_zycbe033-agkoa = 'S'.
itab_zycbe033-newbs = '40'.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_zycbt017-bukrs
ktosl = 'TRE'
codaux1 = 'BAIXA CLIENTE'
TABLES
account = itab_zyglt316
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
READ TABLE itab_zyglt316 INDEX 1.
v_conta = itab_zyglt316-konts.
ENDIF.
itab_zycbe033-d_newko = v_conta.
ENDIF.
ENDIF.
IF /pws/zycbe001-tpcontr(1) = 'C' AND /pws/zycbt089-tp_liq_and EQ 'S'.
v_modulo = 'S'.
* << Fim da inclusão
CALL FUNCTION '/PWS/ZYCB_DOCUMENTO_VERIFICA'
EXPORTING
i_modulo = v_modulo
i_bukrs = /pws/zycbe001-bukrs
* >> Início da inclusão: FORM ENCONTRA_DOCUMENTO
i_hkont = v_conta
i_gjahr = v_data
CHANGING
c_belnr = v_belnr
EXCEPTIONS
documento_compensado = 1
OTHERS = 2.
ELSE.
CALL FUNCTION '/PWS/ZYCB_DOCUMENTO_VERIFICA'
EXPORTING
i_modulo = v_modulo
i_bukrs = /pws/zycbe001-bukrs
* << Fim da inclusão
i_kunnr = v_conta
i_gjahr = v_data
CHANGING
c_belnr = v_belnr
EXCEPTIONS
documento_compensado = 1
OTHERS = 2.
* >> Início da inclusão: FORM ENCONTRA_DOCUMENTO
ENDIF.
* << Fim da inclusão
IF sy-subrc = 0.
itab_zycbt030-v_belnr = v_belnr.
MODIFY itab_zycbt030 TRANSPORTING v_belnr
WHERE belnr = itab_zycbt030-belnr.
ELSE.
itab_erro1-vbeln = itab_zycbt030-vbeln.
CONCATENATE text-120 v_belnr text-154 INTO itab_erro1-msg
SEPARATED BY space.
APPEND itab_erro1.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F07
...
v_kunnr TYPE kunnr,
v_dtliquid LIKE /pws/zycbt006-dtpagto,
v_dtemb LIKE /pws/zycet001-dtemb.
DATA: BEGIN OF itab_bsid OCCURS 0.
INCLUDE STRUCTURE bsid.
DATA: END OF itab_bsid.
check itab_zycbt034[] is initial.
READ TABLE itab_zycbt017 WITH KEY nrinvoic = wa_zycbt005-nrinvoic
nrparcf = wa_zycbt005-nrparcf
gsberf = wa_zycbt005-gsberf.
* >> Início da inclusão: FORM LANCA_CP
PERFORM clear_date_batch.
* << Fim da inclusão
PERFORM encontra_documento.
* >> Início da exclusão: FORM LANCA_CP
PERFORM clear_date_batch.
* << Fim da exclusão
CONCATENATE wa_zycbt005-nrseqc wa_zycbt005-tpdesp
wa_zycbt005-nrparc wa_zycbt005-dtincl
wa_zycbt005-nrinvoic wa_zycbt005-gsberf
wa_zycbt005-dtvincul wa_zycbt005-dtvencto
wa_zycbt005-nrparcf
itab_zycbt030-budat itab_zycbt030-vbeln
...
...
itab_zycbe033-budat = wa_zycbt005-dtvincul.
IF /pws/zycbe001-tpcontr EQ 'C ' AND
wa_zycbt007-liq_cp EQ 'X'.
MOVE /pws/zycbe006-dtpagto TO itab_zycbe033-budat.
ENDIF.
IF wa_zycbt007-fdtdoc = 'D'.
itab_zycbe033-bldat = sy-datum.
ELSE.
itab_zycbe033-bldat = itab_zycbe033-budat.
ENDIF.
* >> Início da exclusão: FORM LANCA_CP
IF NOT wa_zycbt011-agums IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM LANCA_CP
IF NOT wa_zycbt011-agums IS INITIAL
AND itab_zycbe033-agums IS INITIAL.
* << Fim da inclusão
itab_zycbe033-agums = wa_zycbt011-agums.
ENDIF.
IF itab_zycbt006-ftxt IS INITIAL.
itab_zycbe033-augtx = wa_zycbt011-txtdesc.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
ELSE.
itab_zycbe033-augtx = itab_zycbt005-txtinf.
itab_zycbe033-d_sgtxt = itab_zycbt005-txtinf.
ENDIF.
itab_zycbe033-c_sgtxt = itab_zycbt006-nrinvoic.
...
...
SELECT SINGLE budat
FROM bkpf
INTO itab_zycbe033-dtdocto
WHERE bukrs = itab_zycbt005-bukrs
AND belnr = itab_zycbt030-belnr
AND gjahr = v_year.
PERFORM verify_null_field USING wa_zycbt011-blart
'BLART'
text-006.
itab_zycbe033-blart = wa_zycbt011-blart.
* >> Início da inclusão: FORM LANCA_CP
IF itab_zycbe033-d_newko IS INITIAL.
* << Fim da inclusão
itab_zycbe033-d_newko = itab_zycbt005-kunnr.
* >> Início da inclusão: FORM LANCA_CP
ENDIF.
* << Fim da inclusão
IF wa_zycbt007-dtliqcp NE 'DTCONTR' AND
wa_zycbt007-dtliqcp NE 'TXCONTR'.
itab_zycbe033-kursf = wa_zycbt005-txcamb.
ELSE.
itab_zycbe033-kursf = /pws/zycbe001-txcneg.
ENDIF.
PERFORM verify_null_field USING itab_zycbe033-kursf
'TXCAMB'
text-080.
itab_zycbe033-wrbtr = itab_zycbt030-v_kwert.
itab_zycbe033-c_gsber = wa_zycbt005-gsberf.
itab_zycbe033-d_gsber = wa_zycbt005-gsberf.
* >> Início da inclusão: FORM LANCA_CP
IF itab_zycbe033-agkoa IS INITIAL.
* << Fim da inclusão
itab_zycbe033-agkoa = 'D'.
* >> Início da inclusão: FORM LANCA_CP
ENDIF.
IF itab_zycbe033-newbs IS INITIAL.
* << Fim da inclusão
IF itab_zycbt030-flag <> 'X'.
itab_zycbe033-newbs = '01'.
ELSE.
itab_zycbe033-newbs = '12'.
ENDIF.
* >> Início da inclusão: FORM LANCA_CP
ENDIF.
* << Fim da inclusão
itab_zycbt036-tcode = itab_zycbe033-tcode.
itab_zycbt036-tabela = itab_zycbe033-tabela.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
itab_zycbt036-residuo = itab_zycbe033-wrbtr.
CONCATENATE 'Des.' itab_zycbt005-nrinvoic itab_zycbt005-nrparcf
INTO itab_zycbt036-zuonr
SEPARATED BY space.
APPEND itab_zycbt036.
itab_doctos-tcode = itab_zycbe033-tcode.
itab_doctos-tabela = itab_zycbe033-tabela.
...
...
itab_zycbe033-kursf.
ENDIF.
ENDIF.
IF wa_zycbt007-dtliquid EQ 'VIATRANS' AND
itab_zycbe033-kursf IS INITIAL.
MESSAGE i061 WITH text-215 wa_zycbt005-nrinvoic text-216 text-217.
PERFORM verify_null_field USING itab_zycbe033-kursf
'KURSF'
text-051.
ENDIF.
* >> Início da inclusão: FORM CLEARING_030_CP
READ TABLE itab_zycbt209 WITH KEY nrinvoic = itab_zycbt030-nrinvoic
nrparcf = itab_zycbt030-nrparcf
gsberf = itab_zycbt030-gsberf.
IF sy-subrc = 0.
IF /pws/zycbt089-tp_liq_and EQ 'Z'.
SELECT SINGLE agums FROM /pws/zycbt011
INTO itab_zycbe033-agums
WHERE codeven = '023' AND
codmod = 'E' AND
bukrs = itab_zycbt017-bukrs.
itab_zycbe033-agkoa = 'D'.
itab_zycbe033-agkon = wa_zycbt005-kunnr.
ELSEIF /pws/zycbt089-tp_liq_and EQ 'D'.
itab_zycbe033-agkoa = 'D'.
IF NOT /pws/zycbt089-liq_and_cod_cli IS INITIAL.
itab_zycbe033-agkon = /pws/zycbt089-liq_and_cod_cli.
ELSE.
SELECT * FROM /pws/zyglt368 INTO TABLE itab_zyglt368
WHERE bukrs = itab_zycbt017-bukrs.
READ TABLE itab_zyglt368 INDEX 1.
IF sy-subrc = 0 AND itab_zyglt368-kunag IS INITIAL.
SELECT SINGLE ktokd FROM kna1 INTO v_ktokd
WHERE kunnr EQ itab_zycbt017-kunag.
READ TABLE itab_zyglt368 WITH KEY ktokd = v_ktokd.
IF sy-subrc EQ 0.
itab_zycbe033-agkon = itab_zyglt368-codtrans.
ENDIF.
ELSEIF sy-subrc = 0 AND itab_zyglt368-ktokd IS INITIAL.
READ TABLE itab_zyglt368
WITH KEY kunag = itab_zycbt017-kunag.
IF sy-subrc EQ 0.
itab_zycbe033-agkon = itab_zyglt368-codtrans.
ENDIF.
ENDIF.
ENDIF.
ELSEIF /pws/zycbt089-tp_liq_and EQ 'S'.
itab_zycbe033-agkoa = 'S'.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_zycbt017-bukrs
ktosl = 'TRE'
codaux1 = 'BAIXA CLIENTE'
TABLES
account = itab_zyglt316
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
READ TABLE itab_zyglt316 INDEX 1.
itab_zycbe033-agkon = itab_zyglt316-konts.
ENDIF.
ELSE.
* << Fim da inclusão
itab_zycbe033-agkoa = 'D'.
itab_zycbe033-agkon = wa_zycbt005-kunnr.
* >> Início da inclusão: FORM CLEARING_030_CP
ENDIF.
* << Fim da inclusão
IF itab_zycbe033-d_sgtxt IS INITIAL.
IF wa_zycbt005-ftxt IS INITIAL.
itab_zycbe033-augtx = wa_zycbt011-txtdesc.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009TOP
...
INCLUDE STRUCTURE /pws/zycbt221.
DATA: END OF itab_zycbt221_aux.
DATA: BEGIN OF itab_zycbt223 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt223.
DATA: END OF itab_zycbt223.
DATA: BEGIN OF itab_performance OCCURS 0.
DATA: nrseqc LIKE /pws/zycbt001-nrseqc,
bukrs LIKE /pws/zycbt005-bukrs,
nrinvoic LIKE /pws/zycbt017-nrinvoic.
DATA: END OF itab_performance.
* >> Início da inclusão:
DATA: itab_zyglt368 LIKE /pws/zyglt368 OCCURS 0 WITH HEADER LINE.
* << Fim da inclusão
TYPE-POOLS: sydes.
DATA: t_sydes TYPE sydes_desc,
wa_types TYPE sydes_typeinfo,
v_len TYPE i.
DATA: v_contad LIKE /pws/zyglt316-konts,
v_contac LIKE /pws/zyglt316-konth,
v_vlslf LIKE /pws/zycbe017-vlslf.
DATA:
wa_zycbt011t LIKE /pws/zycbt011,
wa_t001w LIKE t001w,
...
...
v_pag_jur(1),
v_budat LIKE sy-datum,
belnr2 LIKE /pws/zycbt001-belnr,
v_codaux1 LIKE /pws/zyglt316-codaux1,
v_mensagem(1) TYPE c,
v_nrinvoic_perf LIKE /pws/zycbt017-nrinvoic,
v_bukrs_perf LIKE /pws/zycbt005-bukrs,
v_buzei LIKE bseg-buzei,
v_zbd1t LIKE bsid-zbd1t,
v_ztag1 LIKE t052-ztag1,
* >> Início da exclusão:
v_doc_and LIKE /pws/zycbt209-belnr.
* << Fim da exclusão
* >> Início da inclusão:
v_doc_and LIKE /pws/zycbt209-belnr,
v_ktokd TYPE /pws/zyglt368-ktokd.
* << Fim da inclusão
DATA: icc_ TYPE c,
conta_ LIKE /pws/zycbt012-saknr1,
belnr_ LIKE /pws/zycbt030-belnr,
v_exec(1) TYPE c,
v_slliq LIKE /pws/zycbt005-vlme_p,
v_kurrf_bl LIKE /pws/zycet001-kurrf_bl,
v_linha1(2) TYPE n,
v_sldesc LIKE /pws/zycbt005-vlme_p,
v_repid LIKE sy-repid VALUE '/PWS/SAPMZYCB009',
v_codmod TYPE c VALUE 'E',
...