Módulo: CÂMBIO IMPORTAÇÃO
Funcionalidade: Rotina de Pagamento
Data/Hora da Publicação: 19/11/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 10:00:50
Descrição da Nota: COMPLEMENTO DO BOLETO - ANO FISCAL
Sintoma
Ao salvar o complemento do boleto, qualquer ponto que necessite o ano contábil ou período contábil
correto(ano fiscal diferente do padrão), ocorre erro.
Solução
Incluir em todos os pontos que necessitam ano contábil/período contábil, as funções para analisar o
ano fiscal da empresa.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07606 Data: 19/11/2008 Hora: 11:17:46
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07606
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00007
Agrupamento : 00074
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02184 - 00001 - 6.0 - 00025 - COMPLEMENTO DO BOLETO - ESTORNO - PAGAMENTO FATURA
04625 - 00002 - 7.0 - 00003 - COMPLEMENTO DO BOLETO - ESTORNO - DESPESA EXP. COM ESTRATÉGIA
04634 - 00003 - 7.0 - 00003 - COMPLEMENTO DO BOLETO - ESTORNO PERÍODO FECHADO - FB08
04712 - 00004 - 7.0 - 00003 - COMPLEMENTO DO BOLETO
05312 - 00005 - 7.0 - 00003 - COMPLEMENTO DO BOLETO - EMPRÉSTIMO-PRINCIPAL- F-51 - COMPENSA DOC
----------------------------------------------------------------------------------------------------
COMPLEMENTO DO BOLETO - ANO FISCAL
----------------------------------------------------------------------------------------------------
Palavras Chave:
COMPLEMENTO DO BOLETO ANO FISCAL GJAHR
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCA110F01
REPS /PWS/MZYCB110F01
REPS /PWS/MZYCB110I01
REPS /PWS/MZYCM110F01
REPS /PWS/MZYGL110F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCA110F01
...
CLEAR itab_zycbt036.
REFRESH itab_zycbt036.
IF wa_zycbt118-frpagto EQ 'C'.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT031'.
itab_zycbt036-cpochv = /pws/zycbe031-nrseq.
itab_zycbt036-belnr = wa_zycbt118-belnrdesp.
IF t021r IS INITIAL.
itab_zycbt036-dtdocto = wa_zycbt118-dtincl.
ELSE.
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD
PERFORM determina_ano USING wa_zycbt118-dtincl
wa_zycbt118-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ wa_zycbt118-belnrdesp
AND bukrs EQ wa_zycbt118-bukrs
* >> Início da exclusão: FORM FILL_DATE_F-63OUF-02_CD
AND gjahr EQ wa_zycbt118-dtincl(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_CD
AND gjahr EQ v_ano.
* << Fim da inclusão
ENDIF.
APPEND itab_zycbt036.
ENDIF.
LOOP AT itab_zycbt034.
MESSAGE i127 WITH itab_zycbt034-descricao v_evento.
ENDLOOP.
CLEAR sy-subrc.
IF itab_zycbt034 IS INITIAL.
IF wa_zycbt118-frpagto = 'R'.
v_syrepid = sy-repid.
...
...
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 REVERSE_DOCUMENT_FBV0_CD
PERFORM determina_ano USING sy-datum
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0_CD
AND gjahr EQ sy-datum+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0_CD
AND gjahr EQ v_ano.
* << Fim da inclusão
IF bkpf-bstat NE 'Z'.
...
...
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 REVERSE_DOCUMENT_FBV0_CE
PERFORM determina_ano USING sy-datum
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0_CE
AND gjahr EQ sy-datum+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0_CE
AND gjahr EQ v_ano.
* << Fim da inclusão
IF bkpf-bstat NE 'Z'.
...
...
ENDIF.
IF wa_zycbt129-ftransf EQ 'C' AND
itab_zycbt064-tpparc EQ 'P'.
CLEAR /pws/zycbt154-dtcont.
SELECT SINGLE dtcont FROM /pws/zycbt154
INTO /pws/zycbt154-dtcont
WHERE codmod EQ 'F'
AND codmodul EQ 'T'
AND nrcorresp EQ itab_zycbt064-nrchave
AND belnr_cl EQ itab_zycbt036-belnr.
* >> Início da inclusão: FORM EXECUTA_CLEARING_EMP
PERFORM determina_ano USING /pws/zycbt154-dtcont
/pws/zycbt128-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbt128-bukrs
* >> Início da exclusão: FORM EXECUTA_CLEARING_EMP
AND gjahr EQ /pws/zycbt154-dtcont(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_EMP
AND gjahr EQ v_ano.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: FORM EXECUTA_CLEARING_EMP
PERFORM determina_ano USING /pws/zycbt128-dtdesem
/pws/zycbt128-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbt128-bukrs
* >> Início da exclusão: FORM EXECUTA_CLEARING_EMP
AND gjahr EQ /pws/zycbt128-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_EMP
AND gjahr EQ v_ano.
* << Fim da inclusão
ENDIF.
APPEND itab_zycbt036.
ENDLOOP.
READ TABLE itab_zycbt036 WITH KEY belnr = ' '.
IF sy-subrc EQ 0.
EXIT.
ENDIF.
itab_zycbt036-tcode = text-066.
itab_zycbt036-tabela = text-110.
itab_zycbt036-cpochv = /pws/zycbe031-nrseq.
IF ( /pws/zycbe031-tpparc EQ 'C' AND sy-index NE '2' )
OR /pws/zycbe031-tpparc EQ 'P'.
itab_zycbt036-belnr = /pws/zycbe031-belnr_p.
ELSE.
itab_zycbt036-belnr = /pws/zycbe031-belnr_pi.
ENDIF.
* >> Início da inclusão: FORM EXECUTA_CLEARING_EMP
PERFORM determina_ano USING /pws/zycbe031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe031-bukrs
* >> Início da exclusão: FORM EXECUTA_CLEARING_EMP
AND gjahr EQ /pws/zycbe031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_EMP
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
IF /pws/zycbe031-tpparc EQ 'P'.
CONCATENATE wa_zycbt128-tpemprest wa_zycbt129-ftransf
INTO v_codaux1 SEPARATED BY space.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = /pws/zycbe031-bukrs
ktosl = 'EPP'
codaux1 = v_codaux1
TABLES
...
...
WHEN 'NRDESP'.
itab_zycbe033-d_zuonr = wa_zycbt118-nrdesp.
itab_zycbe033-c_zuonr = wa_zycbt118-nrdesp.
ENDCASE.
ENDCASE.
ENDLOOP.
PERFORM determina_ano USING itab_zycbe033-budat
/pws/zycbe031-bukrs
CHANGING v_ano.
itab_zycbe033-gjahs = v_ano.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FB08R_CD
PERFORM determina_periodo USING itab_zycbe033-budat
/pws/zycbe031-bukrs
CHANGING v_monat.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = v_ano
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FB08R_CD
i_koart = 'S'
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FB08R_CD
i_koart = '+'
* << Fim da inclusão
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc = 0.
itab_zycbe033-stgrd = '01'.
ELSE.
itab_zycbe033-stgrd = '02'.
ENDIF.
...
...
IF NOT /pws/zycbe145-belnrcomp_tc IS INITIAL.
PERFORM estorna_doc_compensacao_f04_tc.
PERFORM clear_date_batch.
ENDIF.
ENDIF.
IF v_belnr IS INITIAL.
CONTINUE.
ENDIF.
IF v_erro_fbra_tc IS INITIAL AND v_erro_fb08_tc IS INITIAL AND
v_erro_fbra_cash IS INITIAL AND v_erro_fb08_cash IS INITIAL.
* >> Início da inclusão: FORM ESTORNA_DOCTOS_TV
PERFORM determina_ano USING /pws/zycbe031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf INTO wa_bkpf
WHERE bukrs = /pws/zycbe031-bukrs
AND belnr = v_belnr
* >> Início da exclusão: FORM ESTORNA_DOCTOS_TV
AND gjahr = /pws/zycbe031-dtcredpr+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DOCTOS_TV
AND gjahr = v_ano.
* << Fim da inclusão
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-tabela = '/PWS/ZYCBT031'.
itab_zycbe033-cpochv = /pws/zycbe031-nrseq.
itab_zycbe033-belnr = v_belnr.
itab_zycbe033-bukrs = /pws/zycbe031-bukrs.
itab_zycbe033-budat = wa_bkpf-budat.
itab_zycbe033-gjahs = itab_zycbe033-budat+0(4).
* >> Início da exclusão: FORM ESTORNA_DOCTOS_TV
v_monat = itab_zycbe033-budat+4(2).
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DOCTOS_TV
PERFORM determina_periodo USING itab_zycbe033-budat
/pws/zycbe031-bukrs
CHANGING v_monat.
PERFORM determina_ano USING itab_zycbe033-budat
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
* >> Início da exclusão: FORM ESTORNA_DOCTOS_TV
i_gjahr = itab_zycbe033-budat+0(4)
i_koart = 'S'
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DOCTOS_TV
i_gjahr = v_ano
i_koart = '+'
* << Fim da inclusão
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc = 0.
itab_zycbe033-stgrd = '01'.
ELSE.
itab_zycbe033-stgrd = '02'.
ENDIF.
...
...
SELECT SINGLE * FROM /pws/zycbt145
INTO /pws/zycbt145
WHERE nrseq EQ wa_zycbe031c-nrseq.
IF /pws/zyglt009-comp_trans EQ 'C'.
itab_zycbe033-belnr = /pws/zycbt145-belnrcomp_tc.
itab_zycbe033-belnr2 = /pws/zycbt145-belnrcomp_cash.
ELSE.
itab_zycbe033-belnr = /pws/zycbt145-belnr_tc.
itab_zycbe033-belnr2 = /pws/zycbt145-belnr_cash.
ENDIF.
* >> Início da inclusão: FORM CONTABILIZA_F_04_CP_REVENDA
PERFORM determina_ano USING wa_zycbe031c-dtcredpr
wa_zycbe031c-bukrs
CHANGING v_ano.
* << Fim da inclusão
IF NOT itab_zycbe033-belnr IS INITIAL.
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbe033-awkey
WHERE belnr EQ itab_zycbe033-belnr
AND bukrs EQ wa_zycbe031c-bukrs
* >> Início da exclusão: FORM CONTABILIZA_F_04_CP_REVENDA
AND gjahr EQ wa_zycbe031c-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CONTABILIZA_F_04_CP_REVENDA
AND gjahr EQ v_ano.
* << Fim da inclusão
ENDIF.
IF NOT itab_zycbe033-belnr2 IS INITIAL.
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbe033-awkey2
WHERE belnr EQ itab_zycbe033-belnr2
AND bukrs EQ wa_zycbe031c-bukrs
* >> Início da exclusão: FORM CONTABILIZA_F_04_CP_REVENDA
AND gjahr EQ wa_zycbe031c-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CONTABILIZA_F_04_CP_REVENDA
AND gjahr EQ v_ano.
* << Fim da inclusão
ENDIF.
itab_zycbe033-wrbtr = /pws/zycbe031-vlme.
PERFORM verify_null_field USING /pws/zycbe031-bukrs
'BUKRS'
text-010.
itab_zycbe033-bukrs = /pws/zycbe031-bukrs.
PERFORM verify_null_field USING /pws/zycbe031-waers
'WAERS'
text-011.
itab_zycbe033-waers = /pws/zycbe031-waers.
...
...
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT031'.
itab_zycbt036-cpochv = /pws/zycbe031-nrseq.
IF itab_zycbt124_aux-buzei > 0.
itab_zycbt036-belnr = itab_zycbt124_aux-belnr_f51.
ELSEIF NOT itab_zycbt124_aux-belnr_assoc IS INITIAL.
itab_zycbt036-belnr = itab_zycbt124_aux-belnr_assoc.
ELSE.
itab_zycbt036-belnr = itab_zycbt124_aux-belnr.
ENDIF.
* >> Início da inclusão: FORM FILL_DATE_F-30_CP
PERFORM determina_ano USING itab_zycbt124_aux-dtdocto
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe031-bukrs
* >> Início da exclusão: FORM FILL_DATE_F-30_CP
AND gjahr EQ itab_zycbt124_aux-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F-30_CP
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
PERFORM verify_null_field USING itab_zycbt036-belnr
'BELNR'
text-035.
ENDLOOP.
LOOP AT itab_zyglt321.
CASE itab_zyglt321-cpor3.
WHEN 'SGTXT'.
IF itab_zyglt321-cpocb = 'NRFAT'.
itab_zycbe033-c_sgtxt = wa_zycbt124-nrfat.
...
...
WITH KEY koart = 'F'
shkzg = 'C'.
itab_zycbe033-newbs = itab_zycat027-bschl.
v_koart_bi = 'F'.
v_shkzg_bi = 'C'.
itab_zycbe033-agkoa = 'K'.
ENDIF.
ENDIF.
v_buzei = itab_zycbt124_aux-buzei.
itab_zycbe033-belnr = itab_zycbt124_aux-belnr.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PROVISAO_CP
PERFORM determina_ano USING itab_zycbt124_aux-dtdocto
itab_zycbt124_aux-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat kursf awkey FROM bkpf
INTO (itab_zycbe033-dtdocto,itab_zycbe033-kursf,
itab_zycbe033-awkey)
WHERE bukrs EQ itab_zycbt124_aux-bukrs
AND belnr EQ itab_zycbt124_aux-belnr
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_PROVISAO_CP
AND gjahr EQ itab_zycbt124_aux-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PROVISAO_CP
AND gjahr EQ v_ano.
* << Fim da inclusão
itab_zycbe033-c_gsber = itab_zycbt124_aux-gsber.
LOOP AT itab_zyglt321.
CASE itab_zyglt321-cpor3.
WHEN 'SGTXT'.
IF itab_zyglt321-cpocb = 'NRFAT'.
itab_zycbe033-c_sgtxt = itab_zycbt124_aux-nrfat.
itab_zycbe033-d_sgtxt = itab_zycbt124_aux-nrfat.
ELSEIF itab_zyglt321-cpocb = 'NRCONTR'.
itab_zycbe033-c_sgtxt = itab_zycbt124_aux-nrcontr.
itab_zycbe033-d_sgtxt = itab_zycbt124_aux-nrcontr.
...
...
itab_zycbt154-nrcorresp = /pws/zycbe031-nrcorresp .
itab_zycbt154-tpcontr = /pws/zycbe031-nrparc+1(02).
itab_zycbt154-codmodul = v_codmod_aux .
itab_zycbt154-bukrs = /pws/zycbe031-bukrs .
itab_zycbt154-codmod = 'F' .
itab_zycbt154-waers = /pws/zycbe031-waers .
itab_zycbt154-c_newko = itab_zycbe033a-c_newko .
itab_zycbt154-d_newko = itab_zycbe033a-d_newko .
itab_zycbt154-dtcont = itab_zycbe033a-budat .
itab_zycbt154-gsber = wa_zycbt128-gsber .
* >> Início da exclusão: FORM EXECUTA_F02_TRAVA_CE
itab_zycbt154-gjahr = itab_zycbe033a-budat(4) .
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_F02_TRAVA_CE
PERFORM determina_ano USING itab_zycbe033a-budat
/pws/zycbe031-bukrs
CHANGING v_ano.
itab_zycbt154-gjahr = v_ano.
* << Fim da inclusão
itab_zycbt154-vlme = itab_zycbe033a-wrbtr .
itab_zycbt154-kursf = itab_zycbe033a-kursf .
itab_zycbt154-belnr_pr = itab_zycbt032a-belnr .
APPEND itab_zycbt154.
MOVE itab_zycbt154 TO wa_zycbt154.
INSERT INTO /pws/zycbt154 VALUES wa_zycbt154.
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
...
...
ELSE.
/pws/zycbe031-belnr_p = itab_zycbt124_aux-belnr.
ENDIF.
IF /pws/zycbe031-belnr_p IS INITIAL.
erro_bi = 'X'.
ENDIF.
UPDATE /pws/zycbt124 SET statusp = itab_zycbt124_aux-statusp
WHERE nrseq = itab_zycbt124_aux-nrseq.
CLEAR v_total_mi.
LOOP AT itab_zycbt124_aux.
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
PERFORM determina_ano USING itab_zycbt124_aux-dtdocto
itab_zycbt124_aux-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr
WHERE bukrs = itab_zycbt124_aux-bukrs
AND belnr = itab_zycbt124_aux-belnr_f51p
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycbt124_aux-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
IF sy-subrc = 0.
v_total_mi = v_total_mi + bseg-dmbtr.
ELSE.
SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr
WHERE bukrs = itab_zycbt124_aux-bukrs
AND belnr = itab_zycbt124_aux-belnr_f51
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycbt124_aux-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
IF sy-subrc = 0.
v_total_mi = v_total_mi + bseg-dmbtr.
ELSE.
SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr
WHERE bukrs = itab_zycbt124_aux-bukrs
AND belnr = itab_zycbt124_aux-belnr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycbt124_aux-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
IF sy-subrc = 0.
v_total_mi = v_total_mi + bseg-dmbtr.
ENDIF.
ENDIF.
ENDIF.
SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf
WHERE bukrs = itab_zycbt124_aux-bukrs
AND belnr = itab_zycbt124_aux-belnr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycbt124_aux-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano.
* << Fim da inclusão
IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe031-kursf.
CLEAR v_total_mi.
EXIT.
ENDIF.
ENDLOOP.
IF NOT /pws/zycbe031-vlmi IS INITIAL AND
NOT v_total_mi IS INITIAL AND
/pws/zycbe031-vlmi < v_total_mi.
/pws/zycbe031-vlmi = v_total_mi.
itab_dados_tc-vlmi = v_total_mi.
...
...
ELSE.
/pws/zycbe031-statuspi = 'C'.
/pws/zycbe031-belnr_pi = itab_zycat025-belnr_pr.
ENDIF.
IF /pws/zycbe031-belnr_pi IS INITIAL AND
NOT itab_zycat024-cont_imp IS INITIAL.
erro_bi = 'X'.
ENDIF.
CLEAR v_total_mi.
LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
PERFORM determina_ano USING itab_zycat025-dtlanc
itab_zycat025-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4)
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
IF sy-subrc = 0.
v_total_mi = v_total_mi + bseg-dmbtr.
ENDIF.
SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano.
* << Fim da inclusão
IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe031-taxair.
CLEAR v_total_mi.
EXIT.
ENDIF.
ENDLOOP.
IF NOT /pws/zycbe031-vlmiir IS INITIAL AND
NOT v_total_mi IS INITIAL AND
/pws/zycbe031-vlmiir < v_total_mi.
/pws/zycbe031-vlmiir = v_total_mi.
itab_dados_tc-vlmi = v_total_mi.
...
...
ELSE.
/pws/zycbe031-statuspc = 'C'.
/pws/zycbe031-belnr_cide = itab_zycat025-belnr_pr.
ENDIF.
IF /pws/zycbe031-belnr_cide IS INITIAL AND
NOT itab_zycat024-cont_imp IS INITIAL.
erro_bi = 'X'.
ENDIF.
CLEAR v_total_mi.
LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
PERFORM determina_ano USING itab_zycat025-dtlanc
itab_zycat025-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4)
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
IF sy-subrc = 0.
v_total_mi = v_total_mi + bseg-dmbtr.
ENDIF.
SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano.
* << Fim da inclusão
IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe031-taxacide.
CLEAR v_total_mi.
EXIT.
ENDIF.
ENDLOOP.
IF NOT /pws/zycbe031-vlmicide IS INITIAL AND
NOT v_total_mi IS INITIAL AND
/pws/zycbe031-vlmicide < v_total_mi.
/pws/zycbe031-vlmicide = v_total_mi.
itab_dados_tc-vlmi = v_total_mi.
MODIFY itab_dados_tc TRANSPORTING vlmi WHERE tpimp = p_tpimp.
ENDIF.
ELSEIF p_tpimp(3) = 'IOF'.
/pws/zycbe145-belnr_iof = itab_zycat025-belnr_pr.
IF /pws/zycbe145-belnr_iof IS INITIAL AND
NOT itab_zycat024-cont_imp IS INITIAL.
erro_bi = 'X'.
ENDIF.
CLEAR v_total_mi.
LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
PERFORM determina_ano USING itab_zycat025-dtlanc
itab_zycat025-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4)
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
IF sy-subrc = 0.
v_total_mi = v_total_mi + bseg-dmbtr.
ENDIF.
SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano.
* << Fim da inclusão
IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe145-taxaiof.
CLEAR v_total_mi.
EXIT.
ENDIF.
ENDLOOP.
IF NOT /pws/zycbe145-vlmiiof IS INITIAL AND
NOT v_total_mi IS INITIAL AND
/pws/zycbe145-vlmiiof < v_total_mi.
/pws/zycbe145-vlmiiof = v_total_mi.
itab_dados_tc-vlmi = v_total_mi.
MODIFY itab_dados_tc TRANSPORTING vlmi WHERE tpimp = p_tpimp.
ENDIF.
ELSEIF p_tpimp(3) = 'ISS'.
/pws/zycbe145-belnr_iss = itab_zycat025-belnr_pr.
IF /pws/zycbe145-belnr_iss IS INITIAL AND
NOT itab_zycat024-cont_imp IS INITIAL.
erro_bi = 'X'.
ENDIF.
CLEAR v_total_mi.
LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
PERFORM determina_ano USING itab_zycat025-dtlanc
itab_zycat025-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4)
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
IF sy-subrc = 0.
v_total_mi = v_total_mi + bseg-dmbtr.
ENDIF.
SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano.
* << Fim da inclusão
IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe145-taxaiss.
CLEAR v_total_mi.
EXIT.
ENDIF.
ENDLOOP.
IF NOT /pws/zycbe145-vlmiiss IS INITIAL AND
NOT v_total_mi IS INITIAL AND
/pws/zycbe145-vlmiiss < v_total_mi.
/pws/zycbe145-vlmiiss = v_total_mi.
itab_dados_tc-vlmi = v_total_mi.
MODIFY itab_dados_tc TRANSPORTING vlmi WHERE tpimp = p_tpimp.
ENDIF.
ELSEIF p_tpimp(3) = 'PIS'.
/pws/zycbe145-belnr_pis = itab_zycat025-belnr_pr.
IF /pws/zycbe145-belnr_pis IS INITIAL AND
NOT itab_zycat024-cont_imp IS INITIAL.
erro_bi = 'X'.
ENDIF.
CLEAR v_total_mi.
LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
PERFORM determina_ano USING itab_zycat025-dtlanc
itab_zycat025-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4)
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
IF sy-subrc = 0.
v_total_mi = v_total_mi + bseg-dmbtr.
ENDIF.
SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano.
* << Fim da inclusão
IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe145-taxapis.
CLEAR v_total_mi.
EXIT.
ENDIF.
ENDLOOP.
IF NOT /pws/zycbe145-vlmipis IS INITIAL AND
NOT v_total_mi IS INITIAL AND
/pws/zycbe145-vlmipis < v_total_mi.
/pws/zycbe145-vlmipis = v_total_mi.
itab_dados_tc-vlmi = v_total_mi.
MODIFY itab_dados_tc TRANSPORTING vlmi WHERE tpimp = p_tpimp.
ENDIF.
ELSEIF p_tpimp(6) = 'COFINS'.
/pws/zycbe145-belnr_cofins = itab_zycat025-belnr_pr.
IF /pws/zycbe145-belnr_cofins IS INITIAL AND
NOT itab_zycat024-cont_imp IS INITIAL.
erro_bi = 'X'.
ENDIF.
CLEAR v_total_mi.
LOOP AT itab_zycat025 WHERE tpimp = p_tpimp.
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
PERFORM determina_ano USING itab_zycat025-dtlanc
itab_zycat025-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE dmbtr FROM bseg INTO bseg-dmbtr
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4)
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
IF sy-subrc = 0.
v_total_mi = v_total_mi + bseg-dmbtr.
ENDIF.
SELECT SINGLE kursf FROM bkpf INTO bkpf-kursf
WHERE bukrs = itab_zycat025-bukrs
AND belnr = itab_zycat025-belnr_pr
* >> Início da exclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = itab_zycat025-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_REG_COMPET_CP
AND gjahr = v_ano.
* << Fim da inclusão
IF sy-subrc = 0 AND bkpf-kursf NE /pws/zycbe145-taxacofins.
CLEAR v_total_mi.
EXIT.
ENDIF.
ENDLOOP.
IF NOT /pws/zycbe145-vlmicofins IS INITIAL AND
NOT v_total_mi IS INITIAL AND
/pws/zycbe145-vlmicofins < v_total_mi.
/pws/zycbe145-vlmicofins = v_total_mi.
itab_dados_tc-vlmi = v_total_mi.
...
...
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FBV0'
tabela = '/PWS/ZYCBT031'
cpochv = /pws/zycbe031-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM EXECUTA_APROVACAO_CP
PERFORM determina_ano USING p_data
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM EXECUTA_APROVACAO_CP
AND gjahr EQ p_data+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_APROVACAO_CP
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat EQ 'V'.
...
...
p_motivo
p_recuperar.
IF /pws/zycbe145-cod_fech = 'TR' AND p_recuperar IS INITIAL.
LOOP AT itab_zycbt031_tc1 WHERE dtliquida NE '00000000'
AND dtliquida NE ' '.
PERFORM anula_estorna_trava_cp USING p_tpimp.
ENDLOOP.
ENDIF.
CHECK NOT p_belnr IS INITIAL.
CLEAR bkpf.
* >> Início da inclusão: FORM ESTORNA_DOCTO_CP
PERFORM determina_ano USING p_data
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ /pws/zycbe031-bukrs
AND belnr EQ p_belnr
* >> Início da exclusão: FORM ESTORNA_DOCTO_CP
AND gjahr EQ p_data(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DOCTO_CP
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat EQ 'V'.
...
...
ENDIF.
EXIT.
ENDIF.
PERFORM clear_date_batch.
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-tabela = '/PWS/ZYCBT031'.
itab_zycbe033-cpochv = /pws/zycbe031-nrseq.
itab_zycbe033-belnr = p_belnr.
itab_zycbe033-bukrs = /pws/zycbe031-bukrs.
itab_zycbe033-budat = p_data.
* >> Início da exclusão: FORM ESTORNA_DOCTO_CP
itab_zycbe033-gjahs = p_data(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DOCTO_CP
itab_zycbe033-gjahs = v_ano.
* << Fim da inclusão
PERFORM determina_periodo USING itab_zycbe033-budat
itab_zycbe033-bukrs
CHANGING v_monat.
PERFORM determina_ano USING itab_zycbe033-budat
itab_zycbe033-bukrs
CHANGING v_ano.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = v_ano
...
...
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 ELIMINA_DOC_FBV0_CP
PERFORM determina_ano USING p_data
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ p_belnr
* >> Início da exclusão: FORM ELIMINA_DOC_FBV0_CP
AND gjahr EQ p_data(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINA_DOC_FBV0_CP
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat NE 'Z'.
...
...
p_dtvencto.
PERFORM clear_date_batch.
READ TABLE itab_zycbt124_aux WITH KEY nrseq = p_nrseq.
CHECK sy-subrc = 0.
PERFORM get_parameters_cp USING p_tpimp.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FB02'.
itab_zycbe033-tabela = '/PWS/ZYCBT031'.
itab_zycbe033-cpochv = /pws/zycbe031-nrseq.
itab_zycbe033-bukrs = p_bukrs.
* >> Início da exclusão: FORM ATUALIZA_DTVENCTO_FB02_CP
itab_zycbe033-gjahs = p_dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_DTVENCTO_FB02_CP
PERFORM determina_ano USING p_dtlanc
p_bukrs
CHANGING v_ano.
itab_zycbe033-gjahs = v_ano.
* << Fim da inclusão
itab_zycbe033-belnr = p_belnr.
itab_zycbe033-c_valut = p_dtvencto.
itab_zycbe033-zfbdt = p_dtvencto.
itab_zycbe033-zterm = wa_zycbt007-condpgvista.
itab_zycbe033-c_gsber = itab_zycbt124_aux-gsber.
itab_zycbe033-c_kostl = itab_zycbt124_aux-kostl.
itab_zycbe033-c_prctr = itab_zycbt124_aux-prctr.
itab_zycbe033-c_fipos = itab_zycbt124_aux-fipos.
itab_zycbe033-c_fictr = itab_zycbt124_aux-fictr.
LOOP AT itab_zyglt321.
...
...
PERFORM verify_null_field USING itab_zycbe033-c_newko
'C_NEWKO'
text-018.
CLEAR itab_zycbt036.
REFRESH itab_zycbt036.
IF sy-index <= 1.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT124'.
itab_zycbt036-cpochv = itab_zycbt124_aux-nrseq.
itab_zycbt036-belnr = itab_zycbt124_aux-belnr_f51.
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR_CP
PERFORM determina_ano USING itab_zycbt124_aux-dtdocto
itab_zycbt124_aux-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt124_aux-bukrs
* >> Início da exclusão: FORM FILL_DATE_F_51_PRINC_IR_CP
AND gjahr EQ itab_zycbt124_aux-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR_CP
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
PERFORM verify_null_field USING itab_zycbt036-belnr
'BELNR'
text-141.
ELSEIF sy-index = 2.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT124'.
itab_zycbt036-cpochv = itab_zycbt124_aux-nrseq.
itab_zycbt036-belnr = itab_zycbt124_aux-belnr_f51p.
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR_CP
PERFORM determina_ano USING itab_zycbt124_aux-dtdocto
itab_zycbt124_aux-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt124_aux-belnr_f51p
AND bukrs EQ itab_zycbt124_aux-bukrs
* >> Início da exclusão: FORM FILL_DATE_F_51_PRINC_IR_CP
AND gjahr EQ itab_zycbt124_aux-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F_51_PRINC_IR_CP
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
PERFORM verify_null_field USING itab_zycbt036-belnr
'BELNR'
text-141.
ENDIF.
CONCATENATE itab_zycbt124_aux-nrseq 'R-IR' INTO v_zuonr.
PERFORM verify_null_field USING itab_zycbt124_aux-bukrs
'BUKRS'
text-010.
itab_zycbe033-bukrs = itab_zycbt124_aux-bukrs.
...
...
PERFORM ano_contabil_estorna.
PERFORM determina_periodo USING itab_zycbe033-budat
/pws/zycbe031-bukrs
CHANGING v_monat.
itab_zycbe033a-gjahs = v_date_est.
ENDIF.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033a-bukrs
i_gjahr = v_date_est
* >> Início da exclusão: FORM ANULA_ESTORNA_TRAVA_CP
i_koart = 'S'
* << Fim da exclusão
* >> Início da inclusão: FORM ANULA_ESTORNA_TRAVA_CP
i_koart = '+'
* << Fim da inclusão
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc = 0.
itab_zycbe033a-stgrd = '01'.
ELSE.
itab_zycbe033a-stgrd = '02'.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB110F01
...
itab_zycbe033-xblnr = /pws/zycbe031-nrinvoic.
ENDCASE.
WHEN 'ZUONR'.
CASE itab_zycbt013-cpocb.
WHEN 'NRINVOIC'.
itab_zycbe033-d_zuonr = /pws/zycbe031-nrinvoic.
itab_zycbe033-c_zuonr = /pws/zycbe031-nrinvoic.
ENDCASE.
ENDCASE.
ENDLOOP.
* >> Início da exclusão: FORM ESTORNA_COMIS_CG
PERFORM data_estorno_com USING /pws/zycbe031-dtboleto+4(2)
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_COMIS_CG
PERFORM determina_ano USING /pws/zycbe031-dtboleto
* << Fim da inclusão
/pws/zycbe031-bukrs
* >> Início da exclusão: FORM ESTORNA_COMIS_CG
/pws/zycbe031-dtboleto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_COMIS_CG
CHANGING v_ano.
PERFORM determina_periodo USING /pws/zycbe031-dtboleto
/pws/zycbe031-bukrs
CHANGING v_monat.
PERFORM data_estorno_com USING v_monat
/pws/zycbe031-bukrs
v_ano
* << Fim da inclusão
/pws/zycbe031-dtboleto
/pws/zycbe031-lifnr
CHANGING itab_zycbe033-budat.
itab_zycbe033-bldat = itab_zycbe033-budat.
itab_zycbe033-d_newko = itab_zycbt017-kunag.
PERFORM verify_null_field USING itab_zycbe033-d_newko
'KONTO'
text-116.
IF /pws/zycbt007-comis = 'C'.
itab_zycbe033-c_newko = itab_zycbt012a-saknr1.
...
...
ENDIF.
v_monat = p_monat.
v_gjahr = p_gjahr.
v_conta = p_konto.
WHILE v_ok <> 'S'.
ADD 1 TO v_cont.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = p_bukrs
i_gjahr = v_gjahr
* >> Início da exclusão: FORM DATA_ESTORNO_COM
i_koart = 'K'
* << Fim da exclusão
* >> Início da inclusão: FORM DATA_ESTORNO_COM
i_koart = '+'
* << Fim da inclusão
i_konto = v_conta
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc <> 0.
IF v_monat EQ 12.
v_monat = 1.
ELSE.
...
...
APPEND itab_zycbe033.
REFRESH itab_zycbt036.
LOOP AT itab_aux2
WHERE nrinvoic EQ itab_zycbt030_a-nrinvoic
AND vbeln EQ itab_zycbt030_a-vbeln.
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = text-094.
itab_zycbt036-cpochv = v_cpochv.
itab_zycbt036-belnr = itab_aux2-belnr22.
* >> Início da inclusão: FORM EXECUTA_CLEARING_CLIENTE
PERFORM determina_ano USING itab_aux2-budat
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT * FROM bkpf
WHERE bukrs = /pws/zycbe031-bukrs
AND belnr = itab_zycbt036-belnr
* >> Início da exclusão: FORM EXECUTA_CLEARING_CLIENTE
AND gjahr = itab_aux2-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_CLIENTE
AND gjahr = v_ano.
* << Fim da inclusão
ENDSELECT.
...
...
APPEND itab_zycbt036.
ENDLOOP.
IF sy-subrc EQ 0.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = text-094.
itab_zycbt036-cpochv = v_cpochv.
itab_zycbt036-belnr = itab_aux2-belnr6.
SELECT * FROM bkpf
WHERE bukrs = /pws/zycbe031-bukrs
AND belnr = itab_zycbt036-belnr
* >> Início da exclusão: FORM EXECUTA_CLEARING_CLIENTE
AND gjahr = itab_aux2-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_CLIENTE
AND gjahr = v_ano.
* << Fim da inclusão
ENDSELECT.
itab_zycbt036-dtdocto = bkpf-budat.
APPEND itab_zycbt036.
v_belnr6 = itab_aux2-belnr6.
ENDIF.
IF itab_zycbt034 IS INITIAL.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30'
EXPORTING
v_modo = v_modo_bi
TABLES
...
...
itab_zycbe033-agkoa = 'K'.
ELSE.
itab_zycbe033-agkoa = 'S'.
itab_zycbe033-agkon = itab_zycbt012a-saknr1.
ENDIF.
APPEND itab_zycbe033.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = text-094.
itab_zycbt036-cpochv = v_cpochv.
itab_zycbt036-belnr = itab_zycet010-belnr51.
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
PERFORM determina_ano USING itab_zycet010-dtlanc
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT * FROM bkpf
WHERE bukrs = /pws/zycbe031-bukrs
AND belnr = itab_zycet010-belnr51
* >> Início da exclusão: FORM EXECUTA_CLEARING_AGENTE
AND gjahr = itab_zycet010-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
AND gjahr = v_ano.
* << Fim da inclusão
ENDSELECT.
itab_zycbt036-dtdocto = bkpf-budat.
APPEND itab_zycbt036.
LOOP AT itab_aux2
WHERE nrinvoic EQ itab_zycet010-nrseq
AND lifnr EQ itab_zycet010-lifnr
AND dtvencto EQ itab_zycet010-dtvencto.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = text-094.
itab_zycbt036-cpochv = v_cpochv.
itab_zycbt036-belnr = itab_aux2-belnr22.
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
PERFORM determina_ano USING itab_aux2-budat
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT * FROM bkpf
WHERE bukrs = /pws/zycbe031-bukrs
AND belnr = itab_aux2-belnr22
* >> Início da exclusão: FORM EXECUTA_CLEARING_AGENTE
AND gjahr = itab_aux2-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
AND gjahr = v_ano.
* << Fim da inclusão
ENDSELECT.
...
...
itab_zycbe033-agkoa = 'K'.
ELSE.
itab_zycbe033-agkoa = 'S'.
itab_zycbe033-agkon = itab_zycbt012a-saknr1.
ENDIF.
APPEND itab_zycbe033.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = text-094.
itab_zycbt036-cpochv = v_cpochv.
itab_zycbt036-belnr = itab_zycet013-belnr_cl.
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
PERFORM determina_ano USING itab_zycet013-dtlanc
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT * FROM bkpf
WHERE bukrs = /pws/zycbe031-bukrs
AND belnr = itab_zycet013-belnr_cl
* >> Início da exclusão: FORM EXECUTA_CLEARING_AGENTE
AND gjahr = itab_zycet013-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
AND gjahr = v_ano.
* << Fim da inclusão
ENDSELECT.
...
...
APPEND itab_zycbt036.
LOOP AT itab_aux2
WHERE nrinvoic EQ itab_zycet013-nrseq
AND lifnr EQ itab_zycet013-lifnr
AND gsberf EQ itab_zycet013-gsber
AND prctr EQ itab_zycet013-prctr.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = text-094.
itab_zycbt036-cpochv = v_cpochv.
itab_zycbt036-belnr = itab_aux2-belnr22.
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
PERFORM determina_ano USING itab_aux2-budat
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT * FROM bkpf
WHERE bukrs = /pws/zycbe031-bukrs
AND belnr = itab_aux2-belnr22
* >> Início da exclusão: FORM EXECUTA_CLEARING_AGENTE
AND gjahr = itab_aux2-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_AGENTE
AND gjahr = v_ano.
* << Fim da inclusão
ENDSELECT.
...
...
WHEN 'D'.
v_dtdocto = wa_zycbe001-dtdesem.
WHEN 'C'.
v_dtdocto = wa_zycbe001-dtcred.
WHEN 'O'.
v_dtdocto = wa_zycbe001-dtcontr.
ENDCASE.
ELSE.
v_dtdocto = wa_zycbe001-dt_lcto_tr.
ENDIF.
* >> Início da inclusão: FORM FILL_DATE1_F30
PERFORM determina_ano USING v_dtdocto
wa_zycbe001-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs = wa_zycbe001-bukrs
AND belnr = wa_zycbe001-belnr_tr
* >> Início da exclusão: FORM FILL_DATE1_F30
AND gjahr = v_dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE1_F30
AND gjahr = v_ano.
* << Fim da inclusão
itab_zycbe033-dtdocto = bkpf-budat.
...
...
AND nrcorresp = /pws/zycbe031-nrcorresp
AND nrseq <> /pws/zycbe031-nrseq.
CLEAR itab_zycbt036.
REFRESH itab_zycbt036.
LOOP AT itab_zycbt031_tr.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT001'.
itab_zycbt036-cpochv = /pws/zycbe031-nrseq.
itab_zycbt036-belnr = itab_zycbt031_tr-belnr_p.
itab_zycbt036-dtdocto = itab_zycbt031_tr-dtcredpr.
* >> Início da inclusão: FORM FILL_DATE1_F30
PERFORM determina_ano USING itab_zycbt036-dtdocto
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe031-bukrs
* >> Início da exclusão: FORM FILL_DATE1_F30
AND gjahr EQ itab_zycbt036-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE1_F30
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDLOOP.
itab_zycbe033-d_gsber = wa_zycbe001-gsber.
itab_zycbe033-d_kostl = wa_zycbe001-kostl.
itab_zycbe033-d_prctr = wa_zycbe001-prctr.
itab_zycbe033-d_fipos = wa_zycbe001-fipos.
itab_zycbe033-c_gsber = wa_zycbe001-gsber.
itab_zycbe033-c_kostl = wa_zycbe001-kostl.
itab_zycbe033-c_prctr = wa_zycbe001-prctr.
itab_zycbe033-c_fipos = wa_zycbe001-fipos.
...
...
itab_zycbe033-agkoa = 'S'.
MODIFY itab_zycbe033 INDEX 1.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT001'.
itab_zycbt036-cpochv = /pws/zycbe031-nrseq.
IF wa_zycbe001-belnr_tr IS INITIAL.
itab_zycbt036-belnr = wa_zycbe001-belnr.
ELSE.
itab_zycbt036-belnr = wa_zycbe001-belnr_tr.
ENDIF.
* >> Início da inclusão: FORM FILL_DATE_1_F-30_TR
PERFORM determina_ano USING wa_zycbe001-dt_lcto_tr
wa_zycbe001-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs = wa_zycbe001-bukrs
AND belnr = itab_zycbt036-belnr
* >> Início da exclusão: FORM FILL_DATE_1_F-30_TR
AND gjahr = wa_zycbe001-dt_lcto_tr(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_1_F-30_TR
AND gjahr = v_ano.
* << Fim da inclusão
itab_zycbt036-dtdocto = bkpf-budat.
APPEND itab_zycbt036.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT001'.
itab_zycbt036-cpochv = /pws/zycbe031-nrseq.
itab_zycbt036-belnr = p_belnr_p.
* >> Início da inclusão: FORM FILL_DATE_1_F-30_TR
PERFORM determina_ano USING itab_zycbe033-budat
wa_zycbe001-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs = wa_zycbe001-bukrs
AND belnr = p_belnr_p
* >> Início da exclusão: FORM FILL_DATE_1_F-30_TR
AND gjahr = itab_zycbe033-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_1_F-30_TR
AND gjahr = v_ano.
* << Fim da inclusão
itab_zycbt036-dtdocto = bkpf-budat.
...
...
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FBV0'
tabela = '/PWS/ZYCBT031'
cpochv = /pws/zycbe031-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM EXEC_APROV_IR_PREMIO
PERFORM determina_ano USING sy-datum
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ /pws/zycbe031-belnr_pi
* >> Início da exclusão: FORM EXEC_APROV_IR_PREMIO
AND gjahr EQ sy-datum+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM EXEC_APROV_IR_PREMIO
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat EQ 'V'.
...
...
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao v_evento.
ENDLOOP.
ENDIF.
ENDFORM.
FORM estorna_ir.
PERFORM clear_date_batch.
CHECK NOT /pws/zycbe031-belnr_pi IS INITIAL.
* >> Início da inclusão: FORM ESTORNA_IR
PERFORM determina_ano USING /pws/zycbe031-dtcredir
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ /pws/zycbe031-bukrs
AND belnr EQ /pws/zycbe031-belnr_pi
* >> Início da exclusão: FORM ESTORNA_IR
AND gjahr EQ /pws/zycbe031-dtcredir(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_IR
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat EQ 'V'.
...
...
PERFORM ano_contabil_estorna.
PERFORM determina_periodo USING itab_zycbe033-budat
/pws/zycbe031-bukrs
CHANGING v_monat.
itab_zycbe033-gjahs = v_date_est.
ENDIF.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = v_date_est
* >> Início da exclusão: FORM FB08_IR
i_koart = 'S'
* << Fim da exclusão
* >> Início da inclusão: FORM FB08_IR
i_koart = '+'
* << Fim da inclusão
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc = 0.
itab_zycbe033-stgrd = '01'.
ELSE.
itab_zycbe033-stgrd = '02'.
ENDIF.
...
...
PERFORM ano_contabil_estorna.
PERFORM determina_periodo USING itab_zycbe033-budat
/pws/zycbe031-bukrs
CHANGING v_monat.
itab_zycbe033-gjahs = v_date_est.
ENDIF.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = v_date_est
* >> Início da exclusão: FORM EST_FB08
i_koart = 'S'
* << Fim da exclusão
* >> Início da inclusão: FORM EST_FB08
i_koart = '+'
* << Fim da inclusão
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc = 0.
itab_zycbe033-stgrd = '01'.
ELSE.
itab_zycbe033-stgrd = '02'.
ENDIF.
...
...
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 REVERSE_DOCUMENT_FBV0_IR
PERFORM determina_ano USING sy-datum
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ /pws/zycbe031-belnr_pi
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0_IR
AND gjahr EQ sy-datum+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0_IR
AND gjahr EQ v_ano.
* << Fim da inclusão
IF bkpf-bstat NE 'Z'.
...
...
itab_zycbe033-d_fipos = wa_zycbt124-fipos.
itab_zycbe033-d_fictr = wa_zycbt124-fictr.
itab_zycbe033-c_gsber = wa_zycbt124-gsber.
itab_zycbe033-c_kostl = wa_zycbt124-kostl.
itab_zycbe033-c_prctr = wa_zycbt124-prctr.
itab_zycbe033-c_fipos = wa_zycbt124-fipos.
itab_zycbe033-c_fictr = wa_zycbt124-fictr.
itab_zycbe033-agkoa = 'S'.
itab_zycbe033-agkon = itab_zycbt012-saknr1.
itab_zycbe033-belnr = wa_zycbt124-belnr_p.
* >> Início da inclusão: FORM FILL_DATE_F04
PERFORM determina_ano USING /pws/zycbe031-dtcredir
wa_zycbt124-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbe033-awkey
WHERE belnr EQ wa_zycbt124-belnr_p
AND bukrs EQ wa_zycbt124-bukrs
* >> Início da exclusão: FORM FILL_DATE_F04
AND gjahr EQ /pws/zycbe031-dtcredir(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F04
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbe033.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
IF itab_zycbt034[] IS INITIAL.
CALL FUNCTION '/PWS/ZYCA_TRANSACAO_F_04'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
...
...
PERFORM ano_contabil_estorna.
PERFORM determina_periodo USING itab_zycbe033-budat
/pws/zycbe031-bukrs
CHANGING v_monat.
itab_zycbe033-gjahs = v_date_est.
ENDIF.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = v_date_est
* >> Início da exclusão: FORM EST_FBRA_COMP
i_koart = 'S'
* << Fim da exclusão
* >> Início da inclusão: FORM EST_FBRA_COMP
i_koart = '+'
* << Fim da inclusão
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc = 0.
itab_zycbe033-stgrd = '01'.
ELSE.
itab_zycbe033-stgrd = '02'.
ENDIF.
...
...
/pws/zycbe031-statuspg = 'C'.
/pws/zycbe031-belnr_p = itab_zycbt032-belnr.
itab_zycbt031_tc-belnr_c = itab_zycbt032-belnr.
MODIFY itab_zycbt031_tc TRANSPORTING belnr_c
WHERE nrseq = /pws/zycbe031-nrseq.
IF NOT /pws/zycbe145-bukrs_p IS INITIAL AND
/pws/zycbe145-bukrs_p NE /pws/zycbe031-bukrs.
READ TABLE itab_zycbt108 INDEX 1.
IF sy-subrc = 0 AND
NOT itab_zycbt108-belnr_lq IS INITIAL.
* >> Início da inclusão: FORM EXECUTA_F53
PERFORM determina_ano USING itab_zycbt108-dtassoc
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE augbl FROM bseg
INTO /pws/zycbe145-belnr_saida
WHERE bukrs = /pws/zycbe031-bukrs
AND belnr = itab_zycbt108-belnr_lq
* >> Início da exclusão: FORM EXECUTA_F53
AND gjahr = itab_zycbt108-dtassoc(4)
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_F53
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
ELSEIF sy-subrc = 0 AND
NOT itab_zycbt108-belnr_co IS INITIAL.
* >> Início da inclusão: FORM EXECUTA_F53
PERFORM determina_ano USING itab_zycbt108-dtincl
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE augbl FROM bseg
INTO /pws/zycbe145-belnr_saida
WHERE bukrs = /pws/zycbe031-bukrs
AND belnr = itab_zycbt108-belnr_co
* >> Início da exclusão: FORM EXECUTA_F53
AND gjahr = itab_zycbt108-dtincl
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_F53
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'H'.
ENDIF.
UPDATE /pws/zycbt145 SET
belnr_saida = /pws/zycbe145-belnr_saida
WHERE nrseq = /pws/zycbe031-nrseq.
ENDIF.
LOOP AT itab_zycbt031_tc.
CLEAR v_slpgfat.
READ TABLE itab_zycbt119 WITH KEY
nrseq = itab_zycbt031_tc-nrcorresp.
...
...
OTHERS = 3.
IF sy-subrc = 0.
itab_zycbe033-stgrd = '01'.
ELSE.
itab_zycbe033-stgrd = '02'.
ENDIF.
SELECT SINGLE * FROM bsas
WHERE bukrs = itab_zycbt134-bukrs
AND hkont = v_newko
AND belnr = itab_zycbe033-belnr
* >> Início da exclusão: FORM FBRA_FB08
AND gjahr = itab_zycbt134-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FBRA_FB08
AND gjahr = v_ano.
* << Fim da inclusão
IF sy-subrc = 0.
MESSAGE i061 WITH text-141 itab_zycbe033-belnr text-244 text-245.
EXIT.
ENDIF.
CLEAR v_data_mes.
IF itab_zycbe033-stgrd = '02'.
v_dias = '01'.
CONCATENATE sy-datum(6) v_dias INTO v_data_mes.
PERFORM calendario CHANGING v_data_mes.
ENDIF.
...
...
itab_zycbt036-tcode = 'F-53'.
itab_zycbt036-tabela = '/PWS/ZYCBT134'.
itab_zycbt036-cpochv = v_cpochv.
IF itab_zycbt108-belnr_lq IS INITIAL.
itab_zycbt036-belnr = itab_zycbt108-belnr_co.
ELSE.
itab_zycbt036-belnr = itab_zycbt108-belnr_lq.
ENDIF.
itab_zycbt036-lifnr = itab_zycbt108-lifnr.
IF NOT itab_zycbt108-belnr_co IS INITIAL.
* >> Início da inclusão: FORM SELECIONA_FATURAS
PERFORM determina_ano USING itab_zycbt108-bldat
itab_zycbt119-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt119-bukrs
* >> Início da exclusão: FORM SELECIONA_FATURAS
AND gjahr EQ itab_zycbt108-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM SELECIONA_FATURAS
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM.
FORM atualiza_fatura.
CLEAR: v_slpgfat, v_slfat.
IF itab_zycbt064[] IS INITIAL.
SELECT * FROM /pws/zycbt064
INTO TABLE itab_zycbt064
...
...
ENDFORM.
FORM verifica_documento_eo.
IF sy-index = 2.
v_belnr = /pws/zycbe031-belnr_pi.
ELSEIF sy-index = 1 OR sy-index = 0.
v_belnr = /pws/zycbe031-belnr_p.
ELSEIF sy-index = 3.
v_belnr = /pws/zycbe031-belnr_cide.
ENDIF.
CLEAR bseg-augbl.
* >> Início da inclusão: FORM VERIFICA_DOCUMENTO_EO
PERFORM determina_ano USING wa_zycbt031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE augbl FROM bseg INTO bseg-augbl
WHERE belnr = v_belnr
AND bukrs = /pws/zycbe031-bukrs
* >> Início da exclusão: FORM VERIFICA_DOCUMENTO_EO
AND gjahr = wa_zycbt031-dtcredpr(4)
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_DOCUMENTO_EO
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'S'.
...
...
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 REVERSE_DOCUMENT_FBV0_EO
PERFORM determina_ano USING sy-datum
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0_EO
AND gjahr EQ sy-datum+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0_EO
AND gjahr EQ v_ano.
* << Fim da inclusão
IF bkpf-bstat NE 'Z'.
...
...
wa_zycbe033-werks = wa_zycbt117-werks.
wa_zycbe033-brnch = wa_zycbt117-j_1bbranch.
PERFORM busca_filial
USING wa_zycbe033-bukrs
wa_zycbe033-werks
CHANGING wa_zycbe033-brnch.
wa_zycbt036-mandt = sy-mandt.
wa_zycbt036-cpochv = wa_zycbe033-cpochv.
wa_zycbt036-tcode = wa_zycbe033-tcode.
wa_zycbt036-tabela = wa_zycbe033-tabela.
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
v_ano = wa_zycbe033-bldat(4).
v_monat = wa_zycbe033-bldat+4(2).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
PERFORM determina_ano USING wa_zycbe033-bldat
wa_zycbe033-bukrs
CHANGING v_ano.
PERFORM determina_periodo USING wa_zycbe033-bldat
wa_zycbe033-bukrs
CHANGING v_monat.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = wa_zycbe033-bukrs
i_gjahr = v_ano
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
i_koart = 'K'
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
i_koart = '+'
* << Fim da inclusão
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc NE '0'.
wa_zycbe033-bldat = sy-datum.
wa_zycbe033-budat = sy-datum.
ENDIF.
CASE p_processo.
...
...
wa_zycbe033-d_newko 'D_NEWKO' 'Conta débito'(016),
wa_zycbe033-c_newko 'C_NEWKO' 'Conta crédito'(018).
WHEN c_f51lfn.
wa_zycbe033-d_newko = 132456789.
wa_zycbe033-agkon = wa_zycbt117-lifnr.
wa_zycbe033-agkoa = 'K'.
READ TABLE itab_mensagem INTO wa_mensagem
WITH KEY transacao = c_f02.
wa_zycbt036-belnr = wa_mensagem-belnr.
wa_zycbt036-dtdocto = wa_mensagem-bldat.
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
PERFORM determina_ano USING wa_mensagem-bldat
wa_zycbt117-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)
WHERE belnr EQ wa_mensagem-belnr
AND bukrs EQ wa_zycbt117-bukrs
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
AND gjahr EQ wa_mensagem-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND wa_zycbt036 TO itab_zycbt036.
wa_zycbt036-belnr = wa_zycbt117-belnr_p.
wa_zycbt036-dtdocto = wa_zycbt117-dtpagto.
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
PERFORM determina_ano USING wa_zycbt036-dtdocto
wa_zycbt117-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)
WHERE belnr EQ wa_zycbt036-belnr
AND bukrs EQ wa_zycbt117-bukrs
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
AND gjahr EQ wa_zycbt036-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND wa_zycbt036 TO itab_zycbt036.
WHEN c_f51rze.
wa_zycbe033-d_newko = 132456789.
wa_zycbe033-agkon = wa_zycbt117-lifnr.
wa_zycbe033-agkoa = 'K'.
wa_zycbe033-agums = /pws/zycbt011-agums.
READ TABLE itab_mensagem INTO wa_mensagem
WITH KEY transacao = c_f02.
wa_zycbt036-belnr = wa_mensagem-belnr.
wa_zycbt036-dtdocto = wa_mensagem-bldat.
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
PERFORM determina_ano USING wa_mensagem-bldat
wa_zycbt117-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)
WHERE belnr EQ wa_mensagem-belnr
AND bukrs EQ wa_zycbt117-bukrs
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
AND gjahr EQ wa_mensagem-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND wa_zycbt036 TO itab_zycbt036.
wa_zycbt036-belnr = wa_zycbt117-belnr_as.
wa_zycbt036-dtdocto = wa_zycbt117-dtassoc.
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
PERFORM determina_ano USING wa_zycbt036-dtdocto
wa_zycbt117-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)
WHERE belnr EQ wa_zycbt036-belnr
AND bukrs EQ wa_zycbt117-bukrs
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
AND gjahr EQ wa_zycbt036-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IA
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND wa_zycbt036 TO itab_zycbt036.
ENDCASE.
PERFORM busca_parametros321_ia
CHANGING wa_zycbe033.
PERFORM verifica_campo_vazio USING:
wa_zycbe033-bukrs 'BUKRS' 'Empresa'(010),
wa_zycbe033-waers 'WAERS' 'Moeda'(011),
wa_zycbe033-blart 'BLART' 'Tipo de documento'(268),
wa_zycbe033-bldat 'BLDAT' 'Data documento'(267),
wa_zycbe033-budat 'BUDAT' 'Data lançamento'(269).
...
...
wa_zycbe033-werks = wa_zycbt119-werks.
wa_zycbe033-brnch = wa_zycbt119-j_1bbranch.
PERFORM busca_filial
USING wa_zycbe033-bukrs
wa_zycbe033-werks
CHANGING wa_zycbe033-brnch.
wa_zycbt036-mandt = sy-mandt.
wa_zycbt036-cpochv = wa_zycbe033-cpochv.
wa_zycbt036-tcode = wa_zycbe033-tcode.
wa_zycbt036-tabela = wa_zycbe033-tabela.
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
v_ano = wa_zycbe033-bldat(4).
v_monat = wa_zycbe033-bldat+4(2).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
PERFORM determina_ano USING wa_zycbe033-bldat
wa_zycbe033-bukrs
CHANGING v_ano.
PERFORM determina_periodo USING wa_zycbe033-bldat
wa_zycbe033-bukrs
CHANGING v_monat.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = wa_zycbe033-bukrs
i_gjahr = v_ano
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
i_koart = 'K'
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
i_koart = '+'
* << Fim da inclusão
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc NE '0'.
wa_zycbe033-bldat = sy-datum.
wa_zycbe033-budat = sy-datum.
ENDIF.
CASE p_processo.
...
...
wa_zycbe033-d_newko 'D_NEWKO' 'Conta débito'(016),
wa_zycbe033-c_newko 'C_NEWKO' 'Conta crédito'(018).
WHEN c_f51lfn.
wa_zycbe033-d_newko = 132456789.
wa_zycbe033-agkon = wa_zycbt119-lifnr.
wa_zycbe033-agkoa = 'K'.
READ TABLE itab_mensagem INTO wa_mensagem
WITH KEY transacao = c_f02.
wa_zycbt036-belnr = wa_mensagem-belnr.
wa_zycbt036-dtdocto = wa_mensagem-bldat.
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
PERFORM determina_ano USING wa_mensagem-bldat
wa_zycbt119-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)
WHERE belnr EQ wa_mensagem-belnr
AND bukrs EQ wa_zycbt119-bukrs
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
AND gjahr EQ wa_mensagem-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND wa_zycbt036 TO itab_zycbt036.
wa_zycbt036-belnr = wa_zycbt119-belnr_p.
wa_zycbt036-dtdocto = wa_zycbt119-dtpagto.
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
PERFORM determina_ano USING wa_zycbt036-dtdocto
wa_zycbt119-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)
WHERE belnr EQ wa_zycbt036-belnr
AND bukrs EQ wa_zycbt119-bukrs
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
AND gjahr EQ wa_zycbt036-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND wa_zycbt036 TO itab_zycbt036.
WHEN c_f51rze.
wa_zycbe033-d_newko = 132456789.
wa_zycbe033-agkon = wa_zycbt119-lifnr.
wa_zycbe033-agkoa = 'K'.
wa_zycbe033-agums = /pws/zycbt011-agums.
READ TABLE itab_mensagem INTO wa_mensagem
WITH KEY transacao = c_f02.
wa_zycbt036-belnr = wa_mensagem-belnr.
wa_zycbt036-dtdocto = wa_mensagem-bldat.
SELECT SINGLE budat awkey FROM bkpf
INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)
WHERE belnr EQ wa_mensagem-belnr
AND bukrs EQ wa_zycbt119-bukrs
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
AND gjahr EQ wa_mensagem-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND wa_zycbt036 TO itab_zycbt036.
wa_zycbt036-belnr = wa_zycbt119-belnr_as.
wa_zycbt036-dtdocto = wa_zycbt119-dtassoc.
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
PERFORM determina_ano USING wa_zycbt036-dtdocto
wa_zycbt119-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (wa_zycbt036-dtdocto,wa_zycbt036-awkey)
WHERE belnr EQ wa_zycbt036-belnr
AND bukrs EQ wa_zycbt119-bukrs
* >> Início da exclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
AND gjahr EQ wa_zycbt036-dtdocto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_ZYCBE033_ESTORNO_IP
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND wa_zycbt036 TO itab_zycbt036.
ENDCASE.
PERFORM busca_parametros321_ip
USING v_codeven
CHANGING wa_zycbe033.
PERFORM verifica_campo_vazio USING:
wa_zycbe033-bukrs 'BUKRS' 'Empresa'(010),
wa_zycbe033-waers 'WAERS' 'Moeda'(011),
wa_zycbe033-blart 'BLART' 'Tipo de documento'(268),
wa_zycbe033-bldat 'BLDAT' 'Data documento'(267),
...
...
USING 'FBRA' c_zycbt117 p_cpochv
'Cancelamento do documento'(265)
CHANGING wa_mensagem.
IF NOT wa_mensagem IS INITIAL.
ENDIF.
ENDIF.
ENDFORM.
FORM contabiliza_repatriacao_cp.
PERFORM clear_date_batch.
PERFORM get_parameters_repatriacao_cp.
* >> Início da inclusão: FORM CONTABILIZA_REPATRIACAO_CP
PERFORM determina_ano USING itab_dados_tc-dtlanc
itab_zycbt124_aux-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbe033-awkey
WHERE belnr EQ wa_zycat028-belnr_as
AND bukrs EQ itab_zycbt124_aux-bukrs
* >> Início da exclusão: FORM CONTABILIZA_REPATRIACAO_CP
AND gjahr EQ itab_dados_tc-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CONTABILIZA_REPATRIACAO_CP
AND gjahr EQ v_ano.
* << Fim da inclusão
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'F-51'.
itab_zycbe033-tabela = '/PWS/ZYCBT031'.
itab_zycbe033-cpochv = itab_zycbt124_aux-nrseq.
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
itab_zycbe033-budat = itab_dados_tc-dtlanc.
IF wa_zycbt007-fdtdoc = 'D'.
itab_zycbe033-bldat = sy-datum.
ELSE.
itab_zycbe033-bldat = itab_zycbe033-budat.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB110I01
...
WHEN 'MODO'.
PERFORM modo_batch_input.
WHEN 'CS'.
GET CURSOR FIELD v_campo VALUE v_valor.
IF v_campo EQ '/PWS/ZYCBE145-BELNR_CASH' OR
v_campo EQ '/PWS/ZYCBE145-BELNR_TC'.
IF NOT v_valor IS INITIAL.
i_belnr = v_valor.
i_bukrs = /pws/zycbe031-bukrs.
IF v_campo EQ '/PWS/ZYCBE031-NRCORRESP'.
* >> Início da exclusão: MODULE USER_COMMAND_0800
i_gjahr = /pws/zycbe031-dtincl(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0800
PERFORM determina_ano USING /pws/zycbe031-dtincl
/pws/zycbe031-bukrs
CHANGING i_gjahr.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: MODULE USER_COMMAND_0800
i_gjahr = /pws/zycbe031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0800
PERFORM determina_ano USING /pws/zycbe031-dtcredpr
/pws/zycbe031-bukrs
CHANGING i_gjahr.
* << Fim da inclusão
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM110F01
...
ENDIF.
IF wa_zycbt113-ftransf EQ 'C' AND
itab_zycbt064-tpparc EQ 'P'.
CLEAR /pws/zycbt154-dtcont.
SELECT SINGLE dtcont FROM /pws/zycbt154
INTO /pws/zycbt154-dtcont
WHERE codmod EQ 'I'
AND codmodul EQ 'T'
AND nrcorresp EQ itab_zycbt064-nrchave
AND belnr_cl EQ itab_zycbt036-belnr.
* >> Início da inclusão: FORM EXECUTA_CLEARING_FINANC
PERFORM determina_ano USING /pws/zycbt154-dtcont
/pws/zycbt112-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbt112-bukrs
* >> Início da exclusão: FORM EXECUTA_CLEARING_FINANC
AND gjahr EQ /pws/zycbt154-dtcont(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_FINANC
AND gjahr EQ v_ano.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: FORM EXECUTA_CLEARING_FINANC
PERFORM determina_ano USING /pws/zycbt112-dtdesem
/pws/zycbt112-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbt112-bukrs
* >> Início da exclusão: FORM EXECUTA_CLEARING_FINANC
AND gjahr EQ /pws/zycbt112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_FINANC
AND gjahr EQ v_ano.
* << Fim da inclusão
ENDIF.
APPEND itab_zycbt036.
ENDLOOP.
READ TABLE itab_zycbt036 WITH KEY belnr = ' '.
IF sy-subrc EQ 0.
EXIT.
ENDIF.
CLEAR itab_zycbt036.
itab_zycbt036-tcode = text-066.
itab_zycbt036-tabela = text-092.
itab_zycbt036-cpochv = /pws/zycbe031-nrseq.
itab_zycbt036-belnr = /pws/zycbe031-belnr_p.
* >> Início da inclusão: FORM EXECUTA_CLEARING_FINANC
PERFORM determina_ano USING /pws/zycbe031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe031-bukrs
* >> Início da exclusão: FORM EXECUTA_CLEARING_FINANC
AND gjahr EQ /pws/zycbe031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING_FINANC
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
IF /pws/zycbe031-tpparc EQ 'P'.
CONCATENATE wa_zycbt112-codint wa_zycbt113-ftransf
INTO v_tipo_prazo SEPARATED BY space.
CALL FUNCTION '/PWS/ZYGL_READ_ACCOUNT_NUMBER'
EXPORTING
bukrs = /pws/zycbe031-bukrs
ktosl = 'PFI'
codaux1 = v_tipo_prazo
TABLES
...
...
WHERE event = 'SU-AG'
AND feldn = 'AWKEY'.
IF wa_zycbt118-frpagto EQ 'C'.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT031'.
itab_zycbt036-cpochv = /pws/zycbe031-nrseq.
itab_zycbt036-belnr = wa_zycbt118-belnrdesp.
IF t021r IS INITIAL.
itab_zycbt036-dtdocto = wa_zycbt118-dtincl.
ELSE.
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID
PERFORM determina_ano USING wa_zycbt118-dtincl
wa_zycbt118-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ wa_zycbt118-belnrdesp
AND bukrs EQ wa_zycbt118-bukrs
* >> Início da exclusão: FORM FILL_DATE_F-63OUF-02_ID
AND gjahr EQ wa_zycbt118-dtincl(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F-63OUF-02_ID
AND gjahr EQ v_ano.
* << Fim da inclusão
ENDIF.
APPEND itab_zycbt036.
ENDIF.
LOOP AT itab_zycbt034.
MESSAGE i127 WITH itab_zycbt034-descricao v_evento.
ENDLOOP.
CLEAR sy-subrc.
IF itab_zycbt034 IS INITIAL.
IF wa_zycbt118-frpagto = 'R'.
v_syrepid = sy-repid.
...
...
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 REVERSE_DOCUMENT_FBV0_IA
PERFORM determina_ano USING sy-datum
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0_IA
AND gjahr EQ sy-datum+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0_IA
AND gjahr EQ v_ano.
* << Fim da inclusão
IF bkpf-bstat NE 'Z'.
...
...
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 REVERSE_DOCUMENT_FBV0_ID
PERFORM determina_ano USING sy-datum
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0_ID
AND gjahr EQ sy-datum+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0_ID
AND gjahr EQ v_ano.
* << Fim da inclusão
IF bkpf-bstat NE 'Z'.
...
...
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 REVERSE_DOCUMENT_FBV0_IF
PERFORM determina_ano USING sy-datum
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0_IF
AND gjahr EQ sy-datum+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0_IF
AND gjahr EQ v_ano.
* << Fim da inclusão
IF bkpf-bstat NE 'Z'.
...
...
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 REVERSE_DOCUMENT_FBV0_IP
PERFORM determina_ano USING sy-datum
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FBV0_IP
AND gjahr EQ sy-datum+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FBV0_IP
AND gjahr EQ v_ano.
* << Fim da inclusão
IF bkpf-bstat NE 'Z'.
...
...
itab_zycbe033-agums = wa_zycbt011-agums.
itab_zycbe033-agkoa = wa_zycbt011-koart.
itab_zycbe033-agkon = wa_zycbt119-lifnr.
PERFORM verify_null_field USING itab_zycbe033-agkon
'AGKON'
text-061.
itab_zycbt036-tcode = text-066.
itab_zycbt036-tabela = text-067.
itab_zycbt036-cpochv = /pws/zycbe031-nrseq.
itab_zycbt036-belnr = /pws/zycbe031-belnr_p.
* >> Início da inclusão: FORM EXECUTA_CLEARING
PERFORM determina_ano USING /pws/zycbe031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ /pws/zycbe031-belnr_p
AND bukrs EQ /pws/zycbe031-bukrs
* >> Início da exclusão: FORM EXECUTA_CLEARING
AND gjahr EQ /pws/zycbe031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
CLEAR itab_zycbt064.
REFRESH itab_zycbt064.
SELECT *
FROM /pws/zycbt064
INTO TABLE itab_zycbt064
WHERE nrboleto EQ /pws/zycbe031-nrseq AND
dtboleto EQ /pws/zycbe031-dtboleto. "#EC CI_NOFIRST
LOOP AT itab_zycbt064.
SELECT SINGLE bldat belnr_co belnr_lq
...
...
ELSE.
itab_zycbt036-belnr = /pws/zycbt108-belnr_co.
ENDIF.
CLEAR /pws/zycbt131.
SELECT SINGLE dtassoc FROM /pws/zycbt131
INTO /pws/zycbt131-dtassoc
WHERE mdcorresp EQ 'IP'
AND nrseq_pgfat EQ itab_zycbt064-nrchave
AND belnr_as EQ itab_zycbt036-belnr.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM EXECUTA_CLEARING
PERFORM determina_ano USING /pws/zycbt131-dtassoc
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe031-bukrs
* >> Início da exclusão: FORM EXECUTA_CLEARING
AND gjahr EQ /pws/zycbt131-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING
AND gjahr EQ v_ano.
* << Fim da inclusão
ELSE.
IF NOT /pws/zycbt108-bldat IS INITIAL AND
NOT /pws/zycbt108-bldat EQ '00000000'.
* >> Início da inclusão: FORM EXECUTA_CLEARING
PERFORM determina_ano USING /pws/zycbt108-bldat
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe031-bukrs
* >> Início da exclusão: FORM EXECUTA_CLEARING
AND gjahr EQ /pws/zycbt108-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING
AND gjahr EQ v_ano.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: FORM EXECUTA_CLEARING
PERFORM determina_ano USING wa_zycbt119-dtincl
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe031-bukrs
* >> Início da exclusão: FORM EXECUTA_CLEARING
AND gjahr EQ wa_zycbt119-dtincl(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_CLEARING
AND gjahr EQ v_ano.
* << Fim da inclusão
ENDIF.
ENDIF.
APPEND itab_zycbt036.
ENDLOOP.
SELECT SINGLE * FROM /pws/zycit006 INTO /pws/zycit006
WHERE nrseq EQ wa_zycbt119-nrpagto.
IF sy-subrc NE 0.
READ TABLE itab_zyglt009 INDEX 1.
IF itab_zyglt009-docprov IS INITIAL AND
/pws/zycbt108-belnr_co IS INITIAL AND
...
...
itab_zycbe033-agkoa = 'S'.
itab_zycbe033-newbs = '50'.
itab_zycbe033-agkon = itab_zycbt012-saknr1.
PERFORM verify_null_field USING itab_zycbt012-saknr1
'AGKON'
text-012.
itab_zycbe033-d_newko = itab_zycbt012-saknr2.
PERFORM verify_null_field USING itab_zycbt012-saknr2
'NEWKO'
text-016.
* >> Início da inclusão: FORM F04_TV_TC
PERFORM determina_ano USING /pws/zycbe031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbe033-awkey
WHERE belnr EQ itab_zycbe033-belnr
AND bukrs EQ /pws/zycbe031-bukrs
* >> Início da exclusão: FORM F04_TV_TC
AND gjahr EQ /pws/zycbe031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: FORM F04_TV_TC
AND gjahr EQ v_ano.
* << Fim da inclusão
PERFORM converte_moeda.
MODIFY itab_zycbe033 INDEX 1.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
IF itab_zycbt034[] IS INITIAL.
CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_04'
EXPORTING
v_modo = v_modo_bi
TABLES
...
...
itab_zycbe033-newbs = '50'.
PERFORM converte_moeda.
itab_zycbe033-agkon = itab_zycbt012-saknr1.
PERFORM verify_null_field USING itab_zycbt012-saknr1
'AGKON'
text-012.
itab_zycbe033-d_newko = itab_zycbt012-saknr2.
PERFORM verify_null_field USING itab_zycbt012-saknr2
'NEWKO'
text-016.
* >> Início da inclusão: FORM F04_TV_CASH
PERFORM determina_ano USING /pws/zycbe031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbe033-awkey
WHERE belnr EQ itab_zycbe033-belnr
AND bukrs EQ /pws/zycbe031-bukrs
* >> Início da exclusão: FORM F04_TV_CASH
AND gjahr EQ /pws/zycbe031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: FORM F04_TV_CASH
AND gjahr EQ v_ano.
* << Fim da inclusão
MODIFY itab_zycbe033 INDEX 1.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
IF itab_zycbt034[] IS INITIAL.
CALL FUNCTION '/PWS/ZYCM_TRANSACAO_F_04'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
...
...
itab_zycbt036-belnr = /pws/zycbt108-belnr_lq.
ENDIF.
itab_zycbt036-cpochv = /pws/zycbe031-nrseq.
CLEAR /pws/zycbt131.
SELECT SINGLE dtassoc FROM /pws/zycbt131
INTO /pws/zycbt131-dtassoc
WHERE mdcorresp EQ 'IP'
AND nrseq_pgfat EQ /pws/zycbt108-nrseq_pgfat
AND belnr_as EQ itab_zycbt036-belnr.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM DADOS_BI
PERFORM determina_ano USING /pws/zycbt131-dtassoc
/pws/zycbt108-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbt108-bukrs
* >> Início da exclusão: FORM DADOS_BI
AND gjahr EQ /pws/zycbt131-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM DADOS_BI
AND gjahr EQ v_ano.
* << Fim da inclusão
ELSE.
IF /pws/zycbt108-bldat NE ' ' AND
/pws/zycbt108-bldat NE '00000000'.
* >> Início da inclusão: FORM DADOS_BI
PERFORM determina_ano USING /pws/zycbt108-bldat
/pws/zycbt108-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbt108-bukrs
* >> Início da exclusão: FORM DADOS_BI
AND gjahr EQ /pws/zycbt108-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM DADOS_BI
AND gjahr EQ v_ano.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: FORM DADOS_BI
PERFORM determina_ano USING wa_zycbt119-dtincl
/pws/zycbt108-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbt108-bukrs
* >> Início da exclusão: FORM DADOS_BI
AND gjahr EQ wa_zycbt119-dtincl(4).
* << Fim da exclusão
* >> Início da inclusão: FORM DADOS_BI
AND gjahr EQ v_ano.
* << Fim da inclusão
ENDIF.
ENDIF.
APPEND itab_zycbt036.
itab_zycbe033-c_newko = /pws/zycbe031-bcooper.
itab_zycbe033-d_newko = wa_zycbt119-lifnr.
itab_zycbe033-agkoa = 'K'.
v_exec_f51 = 'X'.
ENDFORM.
FORM contabiliza_ia_f_43.
CHECK /pws/zycbe031-belnr_p IS INITIAL.
...
...
itab_zycbt154-nrcorresp = /pws/zycbe031-nrcorresp .
itab_zycbt154-tpcontr = /pws/zycbe031-nrparc+1(02).
itab_zycbt154-codmodul = v_codmod_aux .
itab_zycbt154-bukrs = /pws/zycbe031-bukrs .
itab_zycbt154-codmod = 'I' .
itab_zycbt154-waers = /pws/zycbe031-waers .
itab_zycbt154-c_newko = itab_zycbe033a-c_newko .
itab_zycbt154-d_newko = itab_zycbe033a-d_newko .
itab_zycbt154-dtcont = itab_zycbe033a-budat .
itab_zycbt154-gsber = wa_zycbt112-gsber .
* >> Início da exclusão: FORM EXECUTA_F02_TRAVA
itab_zycbt154-gjahr = itab_zycbe033a-budat(4) .
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_F02_TRAVA
PERFORM determina_ano USING itab_zycbe033a-budat
/pws/zycbe031-bukrs
CHANGING itab_zycbt154-gjahr.
* << Fim da inclusão
itab_zycbt154-vlme = itab_zycbe033a-wrbtr .
itab_zycbt154-kursf = itab_zycbe033a-kursf .
itab_zycbt154-belnr_pr = itab_zycbt032a-belnr .
APPEND itab_zycbt154.
MOVE itab_zycbt154 TO wa_zycbt154.
INSERT INTO /pws/zycbt154 VALUES wa_zycbt154.
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015 WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
...
...
PERFORM ano_contabil_estorna.
PERFORM determina_periodo USING itab_zycbe033-budat
/pws/zycbe031-bukrs
CHANGING v_monat.
itab_zycbe033-gjahs = v_date_est.
ENDIF.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
i_gjahr = v_date_est
* >> Início da exclusão: FORM ESTORNA_IF_CL
i_koart = 'S'
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_IF_CL
i_koart = '+'
* << Fim da inclusão
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc = 0.
itab_zycbe033-stgrd = '01'.
ELSE.
itab_zycbe033-stgrd = '02'.
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYGL110F01
...
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
ENDIF.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FBV0'
tabela = '/PWS/ZYCBT031'
cpochv = /pws/zycbe031-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM EXECUTA_APROVACAO
PERFORM determina_ano USING sy-datum
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM EXECUTA_APROVACAO
AND gjahr EQ sy-datum+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_APROVACAO
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat EQ 'V'.
...
...
IF /pws/zycbe031-belnr_p IS INITIAL AND sy-index EQ 1.
EXIT.
ELSEIF sy-index = 1.
v_belnr = /pws/zycbe031-belnr_p.
ENDIF.
IF /pws/zycbe031-belnr_pi IS INITIAL AND sy-index EQ 2.
EXIT.
ELSEIF sy-index = 2.
v_belnr = /pws/zycbe031-belnr_pi.
ENDIF.
* >> Início da inclusão: FORM MARCA_EXCLUSAO
PERFORM determina_ano USING /pws/zycbe031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf WHERE bukrs EQ /pws/zycbe031-bukrs
AND belnr EQ v_belnr
AND gjahr EQ
* >> Início da exclusão: FORM MARCA_EXCLUSAO
/pws/zycbe031-dtcredpr(4)
* << Fim da exclusão
* >> Início da inclusão: FORM MARCA_EXCLUSAO
v_ano
* << Fim da inclusão
AND bstat EQ 'V'.
...
...
value(p_fieldname)
value(p_description).
IF p_field IS INITIAL.
itab_zycbt034-campo = p_fieldname.
itab_zycbt034-descricao = p_description.
APPEND itab_zycbt034.
ENDIF.
ENDFORM.
FORM verif_aprov.
CLEAR v_est_aprov.
* >> Início da inclusão: FORM VERIF_APROV
PERFORM determina_ano USING /pws/zycbe031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ /pws/zycbe031-bukrs
AND ( belnr EQ /pws/zycbe031-belnr_p OR
belnr EQ /pws/zycbe031-belnr_pi OR
belnr EQ /pws/zycbe031-belnr_cide )
* >> Início da exclusão: FORM VERIF_APROV
AND gjahr EQ /pws/zycbe031-dtcredpr(4)
* << Fim da exclusão
* >> Início da inclusão: FORM VERIF_APROV
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat EQ 'V'.
IF sy-subrc EQ 0.
v_est_aprov = 'N'.
ELSE.
v_est_aprov = 'S'.
ENDIF.
ENDFORM.
FORM verifica_pagtoirrf.
IF /pws/zycbe031-vlir GT 0 AND /pws/zycbe031-pagtoirrf IS INITIAL.
MESSAGE e015 WITH text-084.
...
...
IF sy-index = 2.
v_belnr = /pws/zycbe031-belnr_pi.
ELSEIF sy-index = 1 OR sy-index = 0.
v_belnr = /pws/zycbe031-belnr_p.
ELSEIF sy-index = 3.
v_belnr = /pws/zycbe031-belnr_cide.
ENDIF.
IF wa_zycbt124-frpagto NE 'C' AND /pws/zycbt125-tprem NE '2'
AND /pws/zycbe031-mdcorresp = 'CP'.
CLEAR bseg-augbl.
* >> Início da inclusão: FORM VERIFICA_DOCUMENTO_COMPENSADO
PERFORM determina_ano USING wa_zycbt031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE augbl FROM bseg INTO bseg-augbl
WHERE belnr = v_belnr
AND bukrs = /pws/zycbe031-bukrs
* >> Início da exclusão: FORM VERIFICA_DOCUMENTO_COMPENSADO
AND gjahr = wa_zycbt031-dtcredpr(4)
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_DOCUMENTO_COMPENSADO
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'S'.
ELSE.
CLEAR bseg-augbl.
* >> Início da inclusão: FORM VERIFICA_DOCUMENTO_COMPENSADO
PERFORM determina_ano USING wa_zycbt031-dtcredpr
/pws/zycbe031-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE augbl FROM bseg INTO bseg-augbl
WHERE belnr = v_belnr
AND bukrs = /pws/zycbe031-bukrs
* >> Início da exclusão: FORM VERIFICA_DOCUMENTO_COMPENSADO
AND gjahr = wa_zycbt031-dtcredpr(4)
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_DOCUMENTO_COMPENSADO
AND gjahr = v_ano
* << Fim da inclusão
AND shkzg = 'S'.
...
...
CHECK /pws/zycbe145-cod_fech = 'TR' AND
/pws/zycbe031-frgzu = '2' AND
( NOT /pws/zycbt048-dtliquida IS INITIAL OR
NOT itab_zycbt031_tc-dtliquida IS INITIAL ).
CHECK /pws/zycbe145-cod_fech = 'TR' AND
/pws/zycbe031-frgzu = '2'.
IF /pws/zycbe031-statusp = 'C' OR
/pws/zycbe031-statusp = 'A'.
v_aprovado = 'X'.
ELSEIF /pws/zycbe031-status = 'P'.
* >> Início da inclusão: FORM EXECUTA_F51
PERFORM determina_ano USING /pws/zycbe031-dtcredpr
itab_zycbe033-bukrs
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ itab_zycbe033-bukrs
AND belnr EQ /pws/zycbe031-belnr_p
* >> Início da exclusão: FORM EXECUTA_F51
AND gjahr EQ /pws/zycbe031-dtcredpr(4)
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_F51
AND gjahr EQ v_ano
* << Fim da inclusão
AND bstat EQ 'V'.
...
...
PERFORM ano_contabil_estorna.
PERFORM determina_periodo USING itab_zycbe033-budat
/pws/zycbe031-bukrs
CHANGING v_monat.
itab_zycbe033a-gjahs = v_date_est.
ENDIF.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033a-bukrs
i_gjahr = v_date_est
* >> Início da exclusão: FORM EST_FB08_TR
i_koart = 'S'
* << Fim da exclusão
* >> Início da inclusão: FORM EST_FB08_TR
i_koart = '+'
* << Fim da inclusão
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc = 0.
itab_zycbe033a-stgrd = '01'.
ELSE.
itab_zycbe033a-stgrd = '02'.
ENDIF.
...