Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Captação
Data/Hora da Publicação: 20/08/2008 00:00:00
Data/Hora Última Alteração: 22/02/2011 13:07:37
Descrição da Nota: TRAZER OS AJUSTES DO CHAMADO 392344 PARA O PRODUTO
Sintoma
Cenário: Na vinculação de uma fatura com 2 registros de desconto de recebíveis, o sistema está
compensando somente um dos registros do desconto na vinculação com captação ACE.
Solução
Trazer os ajustes para o produto
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07169 Data: 20/08/2008 Hora: 11:39:28
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07169
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00006
Agrupamento : 00061
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
01499 - 00007 - 6.0 - 00023 - EXIT VINCULAÇÃO / LIQUIDAÇÃO - ALTERAÇÃO DOCUMENTOS CONTÁBEIS
02216 - 00006 - 6.0 - 00025 - NA VINCULAÇÃO NÃO RESPEITA O FLAG E A INFORMAÇÃO DO TEXTO INFORMA
03287 - 00005 - 6.0 - 00026 - DESCONTO DE RECEBÍVEIS - EXIT DES002
04862 - 00004 - 7.0 - 00003 - DA LIQUIDAÇÃO - COMPENSAÇÃO AUTOMÁTICA CONTA CORRENTE ME
05486 - 00003 - 7.0 - 00003 - SELECIONAR RECURSO PARA LIQUIDAÇÃO DE FATURAS
06017 - 00002 - 7.0 - 00004 - CB - 442639 - CODE INSPECTOR
06914 - 00001 - 7.0 - 00006 - LIQUIDAÇÃO - TAXAS CONTÁBEIS DE ACORDO COM /PWS/ZYGL007
----------------------------------------------------------------------------------------------------
TRAZER OS AJUSTES DO CHAMADO 392344 PARA O PRODUTO
----------------------------------------------------------------------------------------------------
Palavras Chave:
TRAZER OS AJUSTES DO CHAMADO 392344 PARA O PRODUTO
SADIA -> PRODUTO
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCB004F02
REPS /PWS/MZYCB009F09
REPS /PWS/MZYCB009TOP
REPS /PWS/MZYCB033F01
REPS /PWS/MZYCB033TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
...
EXIT.
ENDIF.
ELSEIF sy-subrc NE 0 AND /pws/zyglt009-comp_aut_cc IS INITIAL.
PERFORM atualiza_saldo_ordem.
ENDIF.
ENDIF.
ENDLOOP.
ENDIF.
PERFORM clear_date_batch.
CLEAR: v_belnr.
* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO
IF /pws/zycbe001-desc_receb IS INITIAL.
* << Fim da inclusão
LOOP AT itab_ace.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = 'ZYCBT006'.
CONCATENATE itab_zycbt006-nrinvoic itab_zycbt006-nrparcf
INTO itab_zycbt036-cpochv.
itab_zycbt036-dtdocto = itab_ace-budat.
itab_zycbt036-belnr = itab_ace-belnr.
APPEND itab_zycbt036.
ENDLOOP.
LOOP AT itab_zycbt069 WHERE nrseqc = itab_zycbt006-nrseqc
...
...
PERFORM verifica_data2 USING /pws/zycbt089-tx_cl_ace_liq
itab_zycbt006-dtpagto.
ENDIF.
IF NOT v_databl IS INITIAL.
PERFORM define_cambio USING v_databl
itab_zycbt006-waers
wa_zycbt007-waersb
itab_zycbe033-kursf.
ENDIF.
v_kursf = itab_zycbe033-kursf.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
IF /pws/zycbe001-desc_receb IS INITIAL.
* << Fim da exclusão
PERFORM clearing USING v_saknr_ace
' '
itab_zycbt006-dtpagto
v_kursf
'S'
v_belnr
v_dtlanc
text-189
CHANGING v_belnr.
ELSE.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
PERFORM clearing USING v_saknr_ace
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO
LOOP at itab_zycbt219.
PERFORM clear_date_batch.
CLEAR: v_belnr.
LOOP AT itab_ace where belnr eq itab_zycbt219-belnr_cli.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = 'ZYCBT006'.
CONCATENATE itab_zycbt006-nrinvoic itab_zycbt006-nrparcf
INTO itab_zycbt036-cpochv.
itab_zycbt036-dtdocto = itab_ace-budat.
itab_zycbt036-belnr = itab_ace-belnr.
APPEND itab_zycbt036.
ENDLOOP.
LOOP AT itab_zycbt069 WHERE nrseqc = itab_zycbt006-nrseqc
AND nrinvoic = itab_zycbt006-nrinvoic
AND dtvincul = itab_zycbt006-dtvincul
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparcf.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = 'ZYCBT006'.
CONCATENATE itab_zycbt006-nrinvoic itab_zycbt006-nrparcf
INTO itab_zycbt036-cpochv.
itab_zycbt036-dtdocto = itab_zycbt005_ant-dtbelnr.
itab_zycbt036-belnr = itab_zycbt069-belnr.
COLLECT itab_zycbt036.
IF v_belnr IS INITIAL.
v_belnr = itab_zycbt069-belnr_vinc.
ENDIF.
ENDLOOP.
CLEAR itab_zycbt030-vbeln.
PERFORM verifica_data2 USING /pws/zycbt089-tx_cl_ace_liq
itab_zycbt006-dtpagto.
IF NOT v_databl IS INITIAL.
PERFORM define_cambio USING v_databl
itab_zycbt006-waers
wa_zycbt007-waersb
itab_zycbe033-kursf.
ENDIF.
v_kursf = itab_zycbe033-kursf.
PERFORM clearing USING itab_zycbt219-kunnr
* << Fim da inclusão
itab_zycbt219-umskz
itab_zycbt006-dtpagto
v_kursf
'D'
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
v_belnr
v_dtlanc
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO
itab_zycbt219-belnr_cli
itab_zycbt219-dt_cli
* << Fim da inclusão
text-189
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
CHANGING v_belnr.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNO_PERIODO_ABERTO
CHANGING itab_zycbt219-belnr_cli.
itab_zycbt219-saldo_liq = itab_ace-WRBTR.
MODIFY itab_zycbt219.
endloop.
* << Fim da inclusão
ENDIF.
IF sy-subrc NE 0.
v_subrc = 4.
EXIT.
ENDIF.
LOOP AT itab_zycbt069 WHERE nrseqc = itab_zycbt006-nrseqc
AND nrinvoic = itab_zycbt006-nrinvoic
AND dtvincul = itab_zycbt006-dtvincul
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparcf.
...
...
dtvincul = itab_zycbt006-dtvincul AND
gsberf = itab_zycbt006-gsberf AND
nrparcf = itab_zycbt006-nrparcf.
ENDLOOP.
itab_zycbt005_ant-belnr = v_belnr.
itab_zycbt005_ant-dtbelnr = itab_zycbt006-dtpagto.
itab_zycbt005_ant-slpagar = itab_zycbt005_ant-slpagar -
itab_zycbt006-v_vldif.
MODIFY itab_zycbt005_ant TRANSPORTING belnr dtbelnr slpagar
WHERE nrinvoic = itab_zycbt006-nrinvoic
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparcf.
IF NOT /pws/zycbe001-desc_receb IS INITIAL.
LOOP AT itab_zycbt220 WHERE nrinvoic = itab_zycbt006-nrinvoic AND
gsberf = itab_zycbt006-gsberf AND
nrparcf = itab_zycbt006-nrparcf AND
nrseqc = itab_zycbt006-nrseqc AND
dtvincul = itab_zycbt006-dtvincul.
READ TABLE itab_zycbt219
WITH KEY bukrs = itab_zycbt006-bukrs
nrinvoic = itab_zycbt006-nrinvoic
belnr = itab_zycbt220-belnr
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
itab_zycbt219-belnr_cli = v_belnr.
itab_zycbt219-dtbelnr = itab_zycbt006-dtpagto.
itab_zycbt219-saldo_liq = itab_zycbt219-saldo_liq -
itab_zycbt006-v_vldif.
MODIFY itab_zycbt219
TRANSPORTING belnr_cli dtbelnr saldo_liq
WHERE bukrs = itab_zycbt006-bukrs
AND nrinvoic = itab_zycbt006-nrinvoic
AND belnr = itab_zycbt220-belnr
* << Fim da exclusão
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparcf.
* >> Início da exclusão: FORM ESTORNO_PERIODO_ABERTO
ENDLOOP.
ENDIF.
* << Fim da exclusão
MODIFY /pws/zycbt219 FROM TABLE itab_zycbt219.
COMMIT WORK.
IF itab_zycbt006-v_status EQ 'A'.
itab_zycbt006-v_status = 'I'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F09
...
IF itab_zycbt219-saldo LT v_sldesc.
IF itab_zycbt219-belnr2 IS INITIAL.
itab_zycbt219-belnr_d = itab_zycbt219-belnr.
ELSE.
itab_zycbt219-belnr_d = itab_zycbt219-belnr2.
ENDIF.
itab_zycbt219-budat_d = itab_zycbt219-dtbelnr.
itab_zycbt219-baixa = 'X'.
itab_zycbt219-vlbaixa = itab_zycbt219-saldo.
v_sldesc = v_sldesc - itab_zycbt219-saldo.
* >> Início da inclusão: FORM CONT_DESC_RECEBIVEIS
PERFORM desmembra_desc_receb.
* << Fim da inclusão
MODIFY itab_zycbt219.
ELSE.
itab_zycbt219-baixa = 'X'.
itab_zycbt219-vlbaixa = v_sldesc.
PERFORM desmembra_desc_receb.
IF sy-subrc EQ 0.
CLEAR v_sldesc.
MODIFY itab_zycbt219.
ELSE.
v_subrc = 4.
...
...
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
itab_zycbt036-residuo = itab_zycbe033-wrbtr.
itab_zycbt036-zuonr = itab_zycbe033-d_zuonr.
APPEND itab_zycbt036.
itab_doctos-tcode = itab_zycbe033-tcode.
itab_doctos-tabela = itab_zycbe033-tabela.
itab_doctos-cpochv = itab_zycbe033-cpochv.
itab_doctos-belnr = itab_zycbe033-belnr.
itab_doctos-dtdocto = itab_zycbe033-dtdocto.
APPEND itab_doctos.
* >> Início da inclusão: FORM DESMEMBRA_DESC_RECEB
if itab_zycbe033-belnr is initial.
* << Fim da inclusão
itab_zycbe033-belnr = itab_zycbt219-belnr.
itab_zycbe033-dtdocto = itab_zycbt219-dtcredext.
* >> Início da inclusão: FORM DESMEMBRA_DESC_RECEB
endif.
* << Fim da inclusão
IF NOT /pws/zycbe005-j_1bbranch IS INITIAL.
PERFORM verifica_pais_filial USING /pws/zycbe005-bukrs
/pws/zycbe005-j_1bbranch.
itab_zycbe033-brnch = /pws/zycbe005-j_1bbranch.
ELSE.
...
...
itab_erro-msg = itab_zycbt034-descricao.
APPEND itab_erro.
ENDLOOP.
ENDIF.
ENDFORM.
FORM est_desc_recebiveis TABLES itab_vinc STRUCTURE itab_zycbt005.
DATA:
v_cpochv LIKE /pws/zycbe033-cpochv,
v_vlslf LIKE /pws/zycbt017-vlslf.
DATA: v_dtliquid LIKE /pws/zycbt006-dtpagto,
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
v_desm_ok,
* << Fim da inclusão
v_dtemb LIKE /pws/zycet001-dtemb.
IF NOT itab_vinc[] IS INITIAL.
SELECT * FROM /pws/zycbt219 INTO TABLE itab_zycbt219
FOR ALL ENTRIES IN itab_vinc
WHERE bukrs = itab_vinc-bukrs
AND nrinvoic = itab_vinc-nrinvoic
AND gsberf = itab_vinc-gsberf
AND nrparcf = itab_vinc-nrparcf.
ENDIF.
PERFORM clear_date_batch.
...
...
IF itab_vinc-status NE 'C'.
itab_vinc-flag = 'I'.
MODIFY itab_vinc.
ENDIF.
ENDLOOP.
PERFORM get_parameters_001.
LOOP AT itab_vinc
WHERE flag = 'A' OR
( flag = 'E' AND status EQ 'C' ).
v_pos_itab = sy-tabix.
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
LOOP AT itab_zycbt219
WHERE bukrs = itab_vinc-bukrs
AND nrinvoic = itab_vinc-nrinvoic
AND gsberf = itab_vinc-gsberf
AND nrparcf = itab_vinc-nrparcf.
* << Fim da inclusão
IF NOT itab_vinc-statrans IS INITIAL.
CONTINUE.
ENDIF.
CLEAR v_ind_invert.
v_prazo = /pws/zycbe001-przcontr.
CONCATENATE /pws/zycbe001-tpcontr v_prazo
INTO v_codaux1 SEPARATED BY space.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = /pws/zycbe001-bukrs
...
...
READ TABLE itab_zyglt316 INDEX 1.
itab_zycbe033-c_newko = itab_zyglt316-konts.
itab_zycbe033-d_newko = itab_zyglt316-konts.
ENDIF.
itab_zycbe033-tcode = 'F-02'.
itab_zycbe033-tabela = '/PWS/ZYCBT005'.
CONCATENATE itab_vinc-nrseqc itab_vinc-tpdesp
itab_vinc-nrparc itab_vinc-dtincl
itab_vinc-nrinvoic itab_vinc-gsberf
itab_vinc-dtvincul itab_vinc-dtvencto
* >> Início da exclusão: FORM EST_DESC_RECEBIVEIS
itab_vinc-nrparcf
* << Fim da exclusão
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
itab_vinc-nrparcf itab_zycbt219-belnr
* << Fim da inclusão
INTO v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
PERFORM data_estorno USING itab_vinc-dtvincul
/pws/zycbe001-bukrs
itab_vinc-dtvincul
itab_vinc-dtvincul
CHANGING itab_zycbe033-budat.
IF wa_zycbt007-fdtdoc = 'D'.
itab_zycbe033-bldat = sy-datum.
ELSE.
...
...
wa_zycbt007-waersb
itab_zycbe033-kursf.
ENDIF.
PERFORM verify_null_field USING wa_zycbt011-blart
'BLART'
text-006.
itab_zycbe033-blart = wa_zycbt011-blart.
PERFORM verify_null_field USING itab_vinc-vlvinc
'VLVINC'
text-007.
* >> Início da exclusão: FORM EST_DESC_RECEBIVEIS
itab_zycbe033-wrbtr = abs( itab_vinc-vldif ).
* << Fim da exclusão
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
itab_zycbe033-wrbtr = abs( itab_zycbt219-saldo_liq ).
* << Fim da inclusão
CALL CUSTOMER-FUNCTION '001'
IMPORTING
v_subrc = v_retexit.
IF v_retexit = 'X'.
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
itab_zycbe033-c_gsber = /pws/zycbe001-gsber.
ELSE.
IF v_ind_invert IS INITIAL.
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
itab_zycbe033-c_gsber = itab_vinc-gsberf.
...
...
ELSE.
PERFORM local_negocio.
PERFORM verifica_pais_filial USING /pws/zycbe005-bukrs
wa_t001w-j_1bbranch.
itab_zycbe033-brnch = wa_t001w-j_1bbranch.
ENDIF.
CALL CUSTOMER-FUNCTION '003'
TABLES
t_dados = itab_zycbe033.
APPEND itab_zycbe033.
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
ENDLOOP.
clear v_desm_ok.
* << Fim da inclusão
CHECK sy-subrc EQ 0.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
IF itab_zycbt034[] IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_02'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
LOOP AT itab_zycbt219
WHERE bukrs = itab_vinc-bukrs
AND nrinvoic = itab_vinc-nrinvoic
AND gsberf = itab_vinc-gsberf
AND nrparcf = itab_vinc-nrparcf.
* << Fim da inclusão
CLEAR v_cpochv.
CONCATENATE itab_vinc-nrseqc itab_vinc-tpdesp
itab_vinc-nrparc itab_vinc-dtincl
itab_vinc-nrinvoic itab_vinc-gsberf
itab_vinc-dtvincul itab_vinc-dtvencto
* >> Início da exclusão: FORM EST_DESC_RECEBIVEIS
itab_vinc-nrparcf
* << Fim da exclusão
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
itab_vinc-nrparcf itab_zycbt219-belnr
* << Fim da inclusão
INTO v_cpochv.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-02'
tabela = '/PWS/ZYCBT005'
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
* >> Início da exclusão: FORM EST_DESC_RECEBIVEIS
itab_vinc-belnr_f02 = itab_zycbt032-belnr.
* << Fim da exclusão
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
v_desm_ok = '1'.
itab_zycbt219-belnr2 = itab_zycbt032-belnr.
modify itab_zycbt219.
itab_docto_219-belnr = itab_zycbt032-belnr.
append itab_docto_219.
* << Fim da inclusão
itab_vinc-statrans = itab_zycbt032-tcode.
MODIFY itab_vinc.
READ TABLE itab_zycbe033 WITH KEY cpochv = v_cpochv.
itab_contabil-nrinvoic = itab_vinc-nrinvoic.
itab_contabil-nrparcf = itab_vinc-nrparcf.
itab_contabil-gsberf = itab_vinc-gsberf.
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-308.
itab_contabil-dtdocto = itab_vinc-dtbelnr.
itab_contabil-bukrs = itab_vinc-bukrs.
APPEND itab_contabil.
PERFORM clearing_desc_receb TABLES itab_vinc.
* >> Início da exclusão: FORM EST_DESC_RECEBIVEIS
PERFORM clearing_ace_receb TABLES itab_vinc.
* << Fim da exclusão
DELETE FROM /pws/zycbt220
WHERE bukrs = itab_vinc-bukrs AND
nrinvoic = itab_vinc-nrinvoic AND
nrseqc = itab_vinc-nrseqc AND
dtvincul = itab_vinc-dtvincul AND
gsberf = itab_vinc-gsberf AND
nrparcf = itab_vinc-nrparcf .
v_status_s = '0'.
ELSE.
LOOP AT itab_zycbt032 WHERE tcode = 'F-02'
...
...
MODIFY itab_zycbt017 TRANSPORTING vlslf
WHERE nrinvoic = itab_vinc-nrinvoic
AND nrparcf = itab_vinc-nrparcf
AND gsberf = itab_vinc-gsberf.
CLEAR itab_vinc-vldif.
CLEAR itab_vinc-flag.
MODIFY itab_vinc.
ENDIF.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
ENDLOOP.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
ENDIF.
* << Fim da inclusão
ENDIF.
* >> Início da inclusão: FORM EST_DESC_RECEBIVEIS
IF v_desm_ok eq '1'.
PERFORM clearing_ace_receb TABLES itab_vinc.
* << Fim da inclusão
ENDIF.
PERFORM limpa_itabs_contabil.
ENDLOOP.
PERFORM grava_contabilizacao.
PERFORM executa_exit USING 'VNC016'.
IF NOT itab_contabil[] IS INITIAL.
EXPORT itab_contabil TO MEMORY ID '040'.
EXPORT text-059 TO MEMORY ID '050'.
SUBMIT /pws/zycbr040 AND RETURN.
REFRESH itab_contabil.
v_status_s = '0'.
ENDIF.
ENDFORM.
FORM clearing_desc_receb TABLES itab_vinc LIKE itab_zycbt005[].
DATA:
v_cpochv LIKE /pws/zycbe033-cpochv,
v_kursf LIKE /pws/zycbe033-kursf,
v_grava(1),
v_desc_receb,
v_desc_receb_aux.
* >> Início da exclusão: FORM CLEARING_DESC_RECEB
PERFORM limpa_itabs_contabil.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_DESC_RECEB
CLEAR: itab_zycbe033, itab_zycbt036.
REFRESH: itab_zycbe033, itab_zycbt036.
* << Fim da inclusão
PERFORM get_parameters_001.
IF itab_vinc-status EQ 'I'.
v_grava = 'N'.
EXIT.
ENDIF.
CHECK itab_vinc-statrans EQ 'F-02'.
CLEAR v_ind_invert.
IF itab_vinc-vldif GT 0.
v_ind_invert = 'X'.
ENDIF.
...
...
PERFORM verify_null_field USING itab_zycbe033-c_newko
'SAKNR'
text-010.
ENDIF.
itab_zycbe033-tcode = 'F-30'.
itab_zycbe033-tabela = '/PWS/ZYCBT005'.
CONCATENATE itab_vinc-nrseqc itab_vinc-tpdesp
itab_vinc-nrparc itab_vinc-dtincl
itab_vinc-nrinvoic itab_vinc-gsberf
itab_vinc-dtvincul itab_vinc-dtvencto
* >> Início da exclusão: FORM CLEARING_DESC_RECEB
itab_vinc-nrparcf
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_DESC_RECEB
itab_vinc-nrparcf itab_zycbt219-belnr
* << Fim da inclusão
INTO v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
PERFORM data_estorno USING itab_vinc-dtvincul
/pws/zycbe001-bukrs
itab_vinc-dtvincul
itab_vinc-dtvincul
CHANGING itab_zycbe033-budat.
IF wa_zycbt007-fdtdoc = 'D'.
itab_zycbe033-bldat = sy-datum.
ELSE.
...
...
PERFORM define_cambio USING v_data_taxa
/pws/zycbe001-waers
wa_zycbt007-waersb
v_kursf.
ENDIF.
itab_zycbe033-kursf = v_kursf.
PERFORM verify_null_field USING wa_zycbt011-blart
'BLART'
text-006.
itab_zycbe033-blart = wa_zycbt011-blart.
* >> Início da exclusão: FORM CLEARING_DESC_RECEB
PERFORM verify_null_field USING itab_vinc-vldif
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_DESC_RECEB
PERFORM verify_null_field USING itab_zycbt219-saldo_liq
* << Fim da inclusão
'VLDIF'
text-007.
* >> Início da exclusão: FORM CLEARING_DESC_RECEB
itab_zycbe033-wrbtr = abs( itab_vinc-vldif ).
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_DESC_RECEB
itab_zycbe033-wrbtr = abs( itab_zycbt219-saldo_liq ).
* << Fim da inclusão
CALL CUSTOMER-FUNCTION '001'
IMPORTING
...
...
PERFORM verifica_pais_filial USING /pws/zycbe005-bukrs
/pws/zycbe005-j_1bbranch.
itab_zycbe033-brnch = /pws/zycbe005-j_1bbranch.
ELSE.
PERFORM local_negocio.
PERFORM verifica_pais_filial USING /pws/zycbe005-bukrs
wa_t001w-j_1bbranch.
itab_zycbe033-brnch = wa_t001w-j_1bbranch.
ENDIF.
APPEND itab_zycbe033.
* >> Início da exclusão: FORM CLEARING_DESC_RECEB
LOOP AT itab_zycbt219 WHERE nrinvoic = itab_vinc-nrinvoic AND
gsberf = itab_vinc-gsberf AND
nrparcf = itab_vinc-nrparcf.
* << Fim da exclusão
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT005'.
itab_zycbt036-cpochv = v_cpochv.
itab_zycbt036-belnr = itab_zycbt219-belnr2.
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = itab_vinc-bukrs
v_date = itab_zycbt219-dtbelnr
...
...
SELECT SINGLE * FROM bkpf
WHERE bukrs = itab_vinc-bukrs
AND belnr = itab_zycbt219-belnr2
AND gjahr = v_year.
itab_zycbt036-dtdocto = bkpf-budat.
APPEND itab_zycbt036.
IF NOT itab_zycbt219-belnr2 IS INITIAL.
itab_zycbt219-vlbaixa = itab_zycbe033-wrbtr.
MODIFY itab_zycbt219.
ENDIF.
* >> Início da exclusão: FORM CLEARING_DESC_RECEB
ENDLOOP.
* << Fim da exclusão
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT005'.
itab_zycbt036-cpochv = v_cpochv.
itab_zycbt036-belnr = itab_vinc-belnr_f02.
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = itab_vinc-bukrs
v_date = itab_zycbe033-budat
...
...
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
SELECT SINGLE * FROM bkpf
WHERE bukrs = itab_vinc-bukrs
AND belnr = itab_vinc-belnr_f02
AND gjahr = v_year.
itab_zycbt036-dtdocto = bkpf-budat.
APPEND itab_zycbt036.
* >> Início da exclusão: FORM CLEARING_DESC_RECEB
LOOP AT itab_zycbt219 WHERE nrinvoic = itab_vinc-nrinvoic
AND gsberf = itab_vinc-gsberf
AND nrparcf = itab_vinc-nrparcf.
IF itab_zycbt219-belnr2 NE '0000000000' AND
itab_zycbt219-belnr2 NE ' '.
EXIT.
ENDIF.
ENDLOOP.
* << Fim da exclusão
IF NOT itab_zycbt219-saldo IS INITIAL.
v_desc_receb = 'X'.
ELSE.
v_desc_receb_aux = 'X'.
ENDIF.
IF itab_zycbt034[] IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30'
EXPORTING
v_modo = v_modo_bi
v_desc_rec = v_desc_receb
...
...
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = '/PWS/ZYCBT005'
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
CLEAR v_desc_receb.
* >> Início da exclusão: FORM CLEARING_DESC_RECEB
LOOP AT itab_zycbt219 WHERE nrinvoic = itab_vinc-nrinvoic AND
gsberf = itab_vinc-gsberf AND
nrparcf = itab_vinc-nrparcf AND
NOT vlbaixa IS initial.
* << Fim da exclusão
itab_zycbt219-belnr2 = itab_zycbt032-belnr.
itab_zycbt219-saldo = itab_zycbt219-saldo +
itab_zycbe033-wrbtr.
itab_zycbt219-saldo_liq = itab_zycbt219-saldo -
itab_zycbe033-wrbtr.
itab_zycbt219-dtbelnr = itab_zycbe033-budat.
MODIFY itab_zycbt219.
UPDATE /pws/zycbt219 SET belnr2 = itab_zycbt219-belnr2
dtbelnr = itab_zycbt219-dtbelnr
saldo = itab_zycbt219-saldo
...
...
dtincl = itab_zycbt219-dtincl AND
gsberf = itab_zycbt219-gsberf AND
nrparcf = itab_zycbt219-nrparcf .
DELETE FROM /pws/zycbt220
WHERE bukrs = itab_zycbt219-bukrs AND
nrinvoic = itab_zycbt219-nrinvoic AND
belnr = itab_zycbt219-belnr AND
gsberf = itab_zycbt219-gsberf AND
nrparcf = itab_zycbt219-nrparcf AND
nrseqc = itab_vinc-nrseqc AND
* >> Início da exclusão: FORM CLEARING_DESC_RECEB
dtvincul = itab_vinc-dtvincul
.
ENDLOOP.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_DESC_RECEB
dtvincul = itab_vinc-dtvincul.
* << Fim da inclusão
COMMIT WORK.
itab_contabil-nrinvoic = itab_vinc-nrinvoic.
itab_contabil-nrparcf = itab_vinc-nrparcf.
itab_contabil-gsberf = itab_vinc-gsberf.
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-345.
itab_contabil-dtdocto = itab_zycbe033-budat.
itab_contabil-bukrs = itab_vinc-bukrs.
APPEND itab_contabil.
ELSE.
...
...
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
SELECT SINGLE * FROM bkpf
WHERE bukrs = itab_vinc-bukrs
AND belnr = /pws/zycbe001-belnr2
AND gjahr = v_year.
itab_zycbt036-dtdocto = bkpf-budat.
APPEND itab_zycbt036.
* >> Início da inclusão: FORM CLEARING_ACE_RECEB
loop at itab_docto_219.
* << Fim da inclusão
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT005'.
itab_zycbt036-cpochv = v_cpochv.
* >> Início da exclusão: FORM CLEARING_ACE_RECEB
itab_zycbt036-belnr = itab_vinc-belnr_f02.
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_ACE_RECEB
itab_zycbt036-belnr = itab_docto_219-belnr.
* << Fim da inclusão
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = itab_vinc-bukrs
v_date = itab_zycbe033-budat
IMPORTING
v_year = v_year
EXCEPTIONS
variante_de_exercicio = 1
data_nao_encontrada = 2
empresa_nao_encontrada = 3
period_in_not_valid = 4
period_not_assigned = 5
version_undefined = 6
OTHERS = 7.
SELECT SINGLE * FROM bkpf
WHERE bukrs = itab_vinc-bukrs
* >> Início da exclusão: FORM CLEARING_ACE_RECEB
AND belnr = itab_vinc-belnr_f02
* << Fim da exclusão
* >> Início da inclusão: FORM CLEARING_ACE_RECEB
AND belnr = itab_docto_219-belnr
* << Fim da inclusão
AND gjahr = v_year.
itab_zycbt036-dtdocto = bkpf-budat.
APPEND itab_zycbt036.
* >> Início da inclusão: FORM CLEARING_ACE_RECEB
endloop.
refresh itab_docto_219.
* << Fim da inclusão
IF itab_zycbt034[] IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30'
EXPORTING
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009TOP
...
gsberf LIKE /pws/zycbt017-gsberf,
budat LIKE /pws/zycbt030-budat.
DATA: END OF itab_belnr.
DATA: itab_thead LIKE thead OCCURS 50 WITH HEADER LINE,
itab_tline LIKE tline OCCURS 50 WITH HEADER LINE.
DATA: itab_zycbt035 LIKE /pws/zycbe035 OCCURS 10 WITH HEADER LINE.
DATA: BEGIN OF itab_t320 OCCURS 0,
campo(35) TYPE c,
flag,
END OF itab_t320.
* >> Início da inclusão:
DATA: BEGIN OF itab_docto_219 ocCurs 0,
belnr type /pws/zycbt219-belnr,
END OF itab_docto_219.
* << Fim da inclusão
DATA: BEGIN OF itab_nome_campo OCCURS 0,
nome_campo_tela(35) TYPE c,
modif,
END OF itab_nome_campo.
DATA: BEGIN OF itab_zycbt051_aux3 OCCURS 10.
INCLUDE STRUCTURE /pws/zycbt051.
DATA: mark(1),
END OF itab_zycbt051_aux3.
DATA: BEGIN OF itab_zycbt221 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt221.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB033F01
...
SET TITLEBAR '0100' WITH v_descricao.
ENDFORM.
FORM modify_line.
DATA: BEGIN OF itab_zycbt219_aux OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt219.
DATA: vlsltrans LIKE /pws/zycbt030-vlsltrans,
oper(1) TYPE c,
mark(1),
END OF itab_zycbt219_aux.
CHECK NOT /pws/zycbe219-nrinvoic IS INITIAL.
* >> Início da exclusão: FORM MODIFY_LINE
IF /pws/zycbe219-belnr2 EQ /pws/zycbe219-belnr.
CLEAR /pws/zycbe219-belnr2.
* << Fim da exclusão
* >> Início da inclusão: FORM MODIFY_LINE
IF NOT itab_zycbt219-belnr2 IS INITIAL.
/pws/zycbe219-belnr2 = itab_zycbt219-belnr2.
* << Fim da inclusão
ENDIF.
MOVE-CORRESPONDING /pws/zycbe219 TO itab_zycbt219.
IF itab_zycbt219-belnr IS INITIAL AND
itab_zycbt219-oper IS INITIAL.
MOVE v_vlsltrans TO itab_zycbt219-vlsltrans.
ENDIF.
MODIFY itab_zycbt219 INDEX tc_desrec-current_line.
IF sy-subrc NE 0.
MOVE itab_zycbt219[] TO itab_zycbt219_aux[].
LOOP AT itab_zycbt219_aux
...
...
ENDIF.
v_agrupada = 'X'.
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt219-nrinvoic AND
gsberf = itab_zycbt219-gsberf AND
nrparcf = itab_zycbt219-nrparcf.
IF sy-tabix GT 1.
v_agrupada = space.
EXIT.
ENDIF.
ENDLOOP.
* >> Início da inclusão: FORM PROC_ESTORNO
perform executa_F02_inversa.
* << Fim da inclusão
IF v_agrupada EQ 'X'.
* >> Início da exclusão: FORM PROC_ESTORNO
PERFORM estorna_agrupamento.
* << Fim da exclusão
* >> Início da inclusão: FORM PROC_ESTORNO
PERFORM estorna_agrupamento using space.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM PROC_ESTORNO
PERFORM estorna_sem_agrupamento.
* << Fim da exclusão
* >> Início da inclusão: FORM PROC_ESTORNO
PERFORM estorna_sem_agrupamento using space.
* << Fim da inclusão
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM ESTORNA_AGRUPAMENTO
FORM estorna_agrupamento.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
FORM estorna_agrupamento using p_flag.
* << Fim da inclusão
DATA: BEGIN OF itab_contas OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt316.
DATA: END OF itab_contas.
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
DATA: BEGIN OF itab_partidas OCCURS 0.
INCLUDE STRUCTURE /pws/zycbe033.
DATA: END OF itab_partidas.
DATA: v_belnr_temp type /pws/zycbt219-belnr.
* << Fim da inclusão
DATA: v_subrc LIKE sy-subrc, "#EC *
v_dtliquid LIKE sy-datum,
v_dtemb LIKE sy-datum,
v_kurrf_bl LIKE /pws/zycet001-kurrf_bl,
v_cpochv LIKE /pws/zycbe033-cpochv,
v_desm LIKE /pws/zycbt089-tx_desm_cli,
v_vlsltrans LIKE /pws/zycbt030-vlsltrans.
CLEAR itab_zyglt321.
REFRESH itab_zyglt321.
SELECT * FROM /pws/zyglt321
...
...
ktosl = 'CPT'
codaux1 = 'DR'
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 0
rules_not_found = 0
OTHERS = 0.
READ TABLE itab_contas INDEX 1.
itab_zycbe033-d_newko = itab_contas-konts.
* >> Início da exclusão: FORM ESTORNA_AGRUPAMENTO
IF itab_zycbt030-flag <> 'X'.
itab_zycbe033-newbs = '50'.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
if p_flag is initial.
itab_partidas-agkon = itab_zycbt030-kunag.
itab_partidas-agkoa = 'D'.
itab_partidas-agums = /pws/zycbt011-agums.
itab_partidas-bukrs = itab_zycbt219-bukrs.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM ESTORNA_AGRUPAMENTO
itab_zycbe033-newbs = '12'.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
itab_partidas-agkon = itab_contas-konts.
itab_partidas-agkoa = 'S'.
clear itab_partidas-agums.
itab_partidas-bukrs = itab_zycbt219-bukrs.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM ESTORNA_AGRUPAMENTO
itab_zycbe033-zumsk = /pws/zycbt011-agums.
itab_zycbe033-augtx = /pws/zycbt011-txtdesc.
itab_zycbe033-d_sgtxt = /pws/zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = itab_zycbt030-nrinvoic.
itab_zycbe033-d_zuonr = itab_zycbt030-vbeln.
itab_zycbe033-agkon = itab_zycbt030-kunag.
itab_zycbe033-agkoa = 'D'.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
itab_zycbe033-flag_nc = 'X'.
* << Fim da inclusão
CLEAR itab_zycbe033-c_zuonr.
APPEND itab_zycbe033.
* >> Início da exclusão: FORM ESTORNA_AGRUPAMENTO
itab_zycbt036-tabela = itab_zycbe033-tabela.
itab_zycbt036-tcode = itab_zycbe033-tcode.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
IF itab_zycbt219-belnr_cli IS INITIAL.
itab_zycbt036-belnr = itab_zycbt219-belnr.
itab_zycbt036-dtdocto = itab_zycbt219-dtbelnr.
ELSE.
itab_zycbt036-belnr = itab_zycbt219-belnr_cli.
itab_zycbt036-dtdocto = itab_zycbt219-dt_cli.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
itab_partidas-v_sinal = '+'.
itab_partidas-shkzg = 'H'.
itab_partidas-tcode = itab_zycbe033-tcode.
itab_partidas-tabela = itab_zycbe033-tabela.
itab_partidas-cpochv = v_cpochv.
itab_partidas-belnr = v_belnr_inv.
itab_partidas-dtdocto = sy-datum.
APPEND itab_partidas.
itab_partidas-belnr = itab_zycbt219-belnr.
itab_partidas-dtdocto = itab_zycbt219-dtincl.
APPEND itab_partidas.
itab_partidas-belnr = itab_zycbt219-belnr2.
itab_partidas-dtdocto = itab_zycbt219-dtbelnr.
APPEND itab_partidas.
IF NOT itab_zycbt219-belnr_cli is initial.
itab_partidas-belnr = itab_zycbt219-belnr_cli.
itab_partidas-dtdocto = itab_zycbt219-dt_cli.
append itab_partidas.
* << Fim da inclusão
ENDIF.
* >> Início da exclusão: FORM ESTORNA_AGRUPAMENTO
APPEND itab_zycbt036.
* << Fim da exclusão
LOOP AT itab_zycbt034.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
msgty = 'I'
msgv1 = itab_zycbt034-descricao
txtnr = '061'
zeile = v_zeile.
v_zeile = v_zeile + 1.
ENDLOOP.
IF itab_zycbt034 IS INITIAL.
* >> Início da exclusão: FORM ESTORNA_AGRUPAMENTO
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_V'
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_W'
* << Fim da inclusão
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
* >> Início da exclusão: FORM ESTORNA_AGRUPAMENTO
t_zycbt036 = itab_zycbt036
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
t_partidas = itab_partidas
* << Fim da inclusão
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = '/PWS/ZYCBT219'
cpochv = itab_zycbe033-cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
...
...
msgv1 = itab_zycbt032-msgv1
msgv2 = itab_zycbt032-msgv2
msgv3 = itab_zycbt032-msgv3
msgv4 = itab_zycbt032-msgv4
txtnr = itab_zycbt032-nrmsg
zeile = v_zeile.
v_zeile = v_zeile + 1.
itab_zycbt030-vlsltrans = itab_zycbt030-vlsltrans +
itab_zycbt219-vlme.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM ESTORNA_AGRUPAMENTO
v_belnr_temp = itab_zycbt032-belnr.
IF p_flag is initial.
perFORM estorna_agrupamento using v_belnr_temp.
ENDIF.
* << Fim da inclusão
UPDATE /pws/zycbt030 SET vlsltrans = itab_zycbt030-vlsltrans
WHERE nrinvoic = itab_zycbt030-nrinvoic AND
nrparcf = itab_zycbt030-nrparcf AND
vbeln = itab_zycbt030-vbeln AND
gsberf = itab_zycbt030-gsberf.
DELETE FROM /pws/zycbt219
WHERE bukrs = itab_zycbt219-bukrs AND
nrinvoic = itab_zycbt219-nrinvoic AND
gsberf = itab_zycbt219-gsberf AND
nrparcf = itab_zycbt219-nrparcf AND
...
...
txtnr = '061'
zeile = v_zeile.
v_zeile = v_zeile + 1.
ENDLOOP.
v_subrc = 4.
ENDIF.
ELSE.
v_subrc = 4.
ENDIF.
ENDFORM.
* >> Início da exclusão: FORM ESTORNA_SEM_AGRUPAMENTO
FORM estorna_sem_agrupamento.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
FORM estorna_sem_agrupamento using p_flag.
* << Fim da inclusão
DATA: v_subrc LIKE sy-subrc,
v_wrbtr LIKE bsid-wrbtr, "#EC *
v_dtliquid LIKE sy-datum,
v_dtemb LIKE sy-datum,
v_kurrf_bl LIKE /pws/zycet001-kurrf_bl,
v_cpochv LIKE /pws/zycbe033-cpochv,
v_desm LIKE /pws/zycbt089-tx_desm_cli,
v_belnr LIKE bkpf-belnr, "#EC *
v_dtbelnr LIKE sy-datum, "#EC *
v_vlsltrans LIKE /pws/zycbt030-vlsltrans,
...
...
ENDIF.
ENDLOOP.
itab_zycbe033-augtx = /pws/zycbt011-txtdesc.
itab_zycbe033-d_sgtxt = /pws/zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = itab_zycbt030-nrinvoic.
itab_zycbe033-zumsk = itab_zycbt219-umskz.
itab_zycbe033-agkon = itab_zycbt219-hkont.
itab_zycbe033-agkoa = itab_zycbt219-koart.
CLEAR itab_zycbe033-c_zuonr.
APPEND itab_zycbe033.
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
IF p_flag is initial.
* << Fim da inclusão
itab_zycbt036-tabela = itab_zycbe033-tabela.
itab_zycbt036-tcode = itab_zycbe033-tcode.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
IF itab_zycbt219-belnr_cli IS INITIAL.
itab_zycbt036-belnr = itab_zycbt219-belnr.
* >> Início da exclusão: FORM ESTORNA_SEM_AGRUPAMENTO
itab_zycbt036-dtdocto = itab_zycbt219-dtbelnr.
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
itab_zycbt036-dtdocto = itab_zycbt219-dtincl.
* << Fim da inclusão
ELSE.
itab_zycbt036-belnr = itab_zycbt219-belnr_cli.
itab_zycbt036-dtdocto = itab_zycbt219-dt_cli.
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
ENDIF.
APPEND itab_zycbt036.
ELSE.
itab_zycbt036-tabela = itab_zycbe033-tabela.
itab_zycbt036-tcode = itab_zycbe033-tcode.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
itab_zycbt036-belnr = p_flag.
itab_zycbt036-dtdocto = sy-datum.
APPEND itab_zycbt036.
itab_zycbt036-tabela = itab_zycbe033-tabela.
itab_zycbt036-tcode = itab_zycbe033-tcode.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
IF itab_zycbt219-belnr2 IS INITIAL.
itab_zycbt036-belnr = itab_zycbt219-belnr.
itab_zycbt036-dtdocto = itab_zycbt219-dtincl.
ELSE.
itab_zycbt036-belnr = itab_zycbt219-belnr2.
itab_zycbt036-dtdocto = itab_zycbt219-dtbelnr.
* << Fim da inclusão
ENDIF.
APPEND itab_zycbt036.
* >> Início da inclusão: FORM ESTORNA_SEM_AGRUPAMENTO
ENDIF.
* << Fim da inclusão
LOOP AT itab_zycbt034.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
msgty = 'I'
...
...
APPEND tdynpread.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = '0001'
TABLES
dynpfields = tdynpread
EXCEPTIONS
OTHERS = 0.
ENDFORM.
* >> Início da inclusão:
form executa_F02_inversa.
DATA: v_cpochv LIKE /pws/zycbe033-cpochv,
v_wrbtr LIKE bsid-wrbtr,
v_kunnr TYPE kunnr,
v_kurrf_bl LIKE /pws/zycet001-kurrf_bl,
v_dtliquid LIKE sy-datum,
v_dtemb LIKE /pws/zycet001-dtemb,
v_desm LIKE /pws/zycbt089-tx_desm_cli,
v_codaux LIKE /pws/zyglt316-codaux1,
v_desmemb TYPE c,
v_gjahr LIKE bkpf-gjahr,
v_erro TYPE c,
v_saldo LIKE /pws/zycbt030-vlsltrans.
DATA: BEGIN OF itab_contas OCCURS 0.
INCLUDE STRUCTURE /pws/zyglt316.
DATA: END OF itab_contas.
PERFORM verifica_data USING itab_zycbt219-dtcredext
itab_zycbt219-bukrs
itab_zycbt219-nrinvoic
'X'.
IF sy-subrc NE 0.
EXIT.
ENDIF.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
msgty = 'S'
msgv1 = text-034
msgv2 = itab_zycbt219-nrinvoic
msgv3 = text-035
txtnr = '061'
zeile = v_zeile.
v_zeile = v_zeile + 1.
v_desmemb = space.
v_erro = space.
itab_zycbt030-v_kwert =
( itab_zycbt030-kwert / itab_zycbt030-s_kwert )
* itab_zycbt219-vlme.
CHECK sy-subrc EQ 0.
PERFORM clear_dados_batch.
itab_zycbe033-tcode = 'F-02'.
itab_zycbe033-tabela = '/PWS/ZYCBT219'.
CONCATENATE itab_zycbt219-nrinvoic
itab_zycbt219-gsberf
itab_zycbt219-nrparcf
itab_zycbt219-dtincl
INTO v_cpochv.
CLEAR itab_zyglt321.
REFRESH itab_zyglt321.
SELECT * FROM /pws/zyglt321
INTO TABLE itab_zyglt321
WHERE ktosl = 'FTE'
AND codeven = '027'.
itab_zycbe033-cpochv = v_cpochv.
LOOP AT itab_zyglt321.
CASE itab_zyglt321-cpor3.
WHEN 'SGTXT'.
IF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_sgtxt = itab_zyglt321-descr.
itab_zycbe033-augtx = itab_zyglt321-descr.
ENDIF.
WHEN 'XBLNR'.
IF itab_zyglt321-cpocb = 'NRSEQ' OR
itab_zyglt321-cpocb = 'NRSEQC'.
SELECT SINGLE nrseq FROM /pws/zycet001
INTO itab_zycbe033-xblnr
WHERE nrseq = itab_zycbt030-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'NRINVOIC'.
itab_zycbe033-xblnr = itab_zycbt030-nrinvoic.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-xblnr = itab_zyglt321-descr.
ENDIF.
WHEN 'ZFBDT'.
IF itab_zyglt321-cpocb = 'DTBL'.
itab_zycbe033-zfbdt = itab_zycbt030-dtbl.
ELSEIF itab_zyglt321-cpocb = 'DTINCL'.
SELECT SINGLE dtincl FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt030-nrinvoic.
ELSEIF itab_zyglt321-cpocb = 'DTEMB'.
SELECT SINGLE dtemb FROM /pws/zycet001
INTO itab_zycbe033-zfbdt
WHERE nrseq = itab_zycbt030-nrinvoic.
ENDIF.
WHEN 'VALUT'.
IF itab_zyglt321-cpocb = 'DTVENCTO'.
ENDIF.
WHEN 'ZUONR'.
IF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-d_zuonr = itab_zycbt030-nrinvoic.
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ENDIF.
WHEN 'ZTERM'.
IF itab_zyglt321-cpocb = 'ZTERM'.
itab_zycbe033-zterm = itab_zycbt030-zterm.
ENDIF.
ENDCASE.
ENDLOOP.
PERFORM verify_null_field USING itab_zycbt219-dtcredext
'BUDAT'
text-039.
itab_zycbe033-budat = itab_zycbt219-dtcredext.
itab_zycbe033-bldat = itab_zycbt219-dtcredext.
itab_zycbe033-d_valut = itab_zycbe033-budat.
itab_zycbe033-bktxt = /pws/zycbt007-bktxt.
itab_zycbe033-bukrs = itab_zycbt219-bukrs.
itab_zycbe033-waers = itab_zycbt219-waers.
PERFORM verify_null_field USING /pws/zycbt011-blart
'BLART'
text-040.
itab_zycbe033-blart = /pws/zycbt011-blart.
itab_zycbe033-d_gsber = itab_zycbt219-gsberf.
itab_zycbe033-c_gsber = itab_zycbt219-gsberf.
SELECT SINGLE dtemb kurrf_bl
FROM /pws/zycet001
INTO (v_dtemb, v_kurrf_bl)
WHERE nrseq EQ itab_zycbt219-nrinvoic.
v_desm = /pws/zycbt089-tx_c_desc_receb.
PERFORM verifica_data2 USING v_desm
itab_zycbt219-dtcredext.
IF NOT v_databl IS INITIAL.
PERFORM define_cambio USING v_databl
itab_zycbt219-waers
/pws/zycbt007-waersb
itab_zycbe033-kursf.
ENDIF.
itab_zycbe033-wrbtr = itab_zycbt219-vlme.
itab_zycbe033-c_newko = itab_zycbt219-kunnr.
itab_zycbe033-agums = /pws/zycbt011-agums.
itab_zycbe033-umskz = /pws/zycbt011-agums.
itab_zycbe033-newbs = '09'.
itab_zycbe033-newbs1 = '50'.
PERFORM verify_null_field USING /pws/zycbt011-agums
'AGUMS'
text-041.
itab_zycbt219-koart = 'D'.
itab_zycbt219-umskz = /pws/zycbt011-agums.
itab_zycbt219-hkont = itab_zycbt219-kunnr.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = itab_zycbt219-bukrs
ktosl = 'CPT'
codaux1 = 'DR'
TABLES
account = itab_contas
EXCEPTIONS
key_not_found = 1
rules_not_found = 2
OTHERS = 3.
READ TABLE itab_contas INDEX 1.
itab_zycbe033-d_newko = itab_contas-konts.
itab_zycbt219-hkont = itab_contas-konts.
PERFORM verify_null_field USING itab_zycbe033-d_newko
'NEWKO'
text-042.
itab_zycbe033-augtx = /pws/zycbt011-txtdesc.
itab_zycbe033-d_sgtxt = /pws/zycbt011-txtdesc.
LOOP AT itab_zycbt030 WHERE nrinvoic = itab_zycbt219-nrinvoic AND
gsberf = itab_zycbt219-gsberf AND
nrparcf = itab_zycbt219-nrparcf.
itab_zycbt036-tcode = 'F-02'.
itab_zycbt036-tabela = '/PWS/ZYCBT219'.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
itab_zycbt036-belnr = itab_zycbt030-belnr_d.
IF itab_zycbt030-belnr_d EQ itab_zycbt030-belnr OR
itab_zycbt030-belnr_d EQ itab_zycbt030-belnr6.
v_gjahr = itab_zycbt030-budat(4).
itab_zycbt036-dtdocto = itab_zycbt030-budat.
CLEAR itab_zycbe033-c_zuonr.
SELECT SINGLE wrbtr FROM bsid INTO itab_zycbe033-wrbtr
WHERE belnr = itab_zycbt030-belnr_d
AND gjahr = v_gjahr
AND kunnr = itab_zycbt219-kunnr
AND bukrs = itab_zycbt219-bukrs.
ELSE.
itab_zycbt036-dtdocto = itab_zycbt219-dtcredext.
ENDIF.
APPEND itab_zycbt036.
ENDLOOP.
itab_zycbe033-brnch = itab_zycbt030-j_1bbranch.
itab_zycbe033-werks = itab_zycbt030-werks.
itab_zycbe033-zfbdt = sy-datum.
IF sy-subrc EQ 0.
APPEND itab_zycbe033.
ENDIF.
LOOP AT itab_zycbt034.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
msgty = 'I'
msgv1 = itab_zycbt034-descricao
txtnr = '061'
zeile = v_zeile.
v_zeile = v_zeile + 1.
ENDLOOP.
IF itab_zycbt034 IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_02H'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_zycbt036 = itab_zycbt036
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-02'
tabela = '/PWS/ZYCBT219'
cpochv = itab_zycbe033-cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
v_belnr_inv = itab_zycbt032-belnr.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = itab_zycbt032-msgid
msgty = itab_zycbt032-tpmsg
msgv1 = itab_zycbt032-msgv1
msgv2 = itab_zycbt032-msgv2
msgv3 = itab_zycbt032-msgv3
msgv4 = itab_zycbt032-msgv4
txtnr = itab_zycbt032-nrmsg
zeile = v_zeile.
v_zeile = v_zeile + 1.
ELSE.
LOOP AT itab_zycbt032 WHERE tcode = 'F-02'
AND tabela = '/PWS/ZYCBT219'
AND cpochv = v_cpochv.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = itab_zycbt032-msgid
msgty = itab_zycbt032-tpmsg
msgv1 = itab_zycbt032-msgv1
msgv2 = itab_zycbt032-msgv2
msgv3 = itab_zycbt032-msgv3
msgv4 = itab_zycbt032-msgv4
txtnr = itab_zycbt032-nrmsg
zeile = v_zeile.
v_zeile = v_zeile + 1.
ENDLOOP.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
CALL FUNCTION 'MESSAGE_STORE'
EXPORTING
arbgb = '/PWS/ZYCBM'
msgty = 'I'
msgv1 = itab_zycbt034-descricao
txtnr = '061'
zeile = v_zeile.
v_zeile = v_zeile + 1.
ENDLOOP.
ENDIF.
ENDIF.
endform.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB033TOP
...
CONTROLS: tc_desrec TYPE TABLEVIEW USING SCREEN '0100'.
DATA:
v_oper LIKE icons-text,
v_status(1) TYPE c VALUE '1',
v_vlsltrans LIKE /pws/zycbt030-vlsltrans,
v_line_ini TYPE i VALUE 1,
v_databl LIKE sy-datum,
v_zeile(5) TYPE n,
v_name1 LIKE kna1-name1,
v_vlavinc LIKE /pws/zycbt017-vlavinc,
* >> Início da exclusão:
v_syrepid LIKE sy-repid.
* << Fim da exclusão
* >> Início da inclusão:
v_syrepid LIKE sy-repid,
v_belnr_inv type /pws/zycbt219-belnr.
* << Fim da inclusão
SELECTION-SCREEN BEGIN OF SCREEN 0001.
SELECT-OPTIONS: s_nrinv FOR /pws/zycbt219-nrinvoic,
s_bukrs FOR /pws/zycbt219-bukrs,
s_gsber FOR /pws/zycbt219-gsberf,
s_werks FOR /pws/zycbt219-werks,
s_nparc FOR /pws/zycbt219-nrparcf,
s_kunnr FOR /pws/zycbt219-kunnr,
s_dtinc FOR /pws/zycbt219-dtincl.
SELECTION-SCREEN END OF SCREEN 0001.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR s_nrinv-low.
...