Módulo: CÂMBIO IMPORTAÇÃO
Funcionalidade: Financiamento
Data/Hora da Publicação: 18/11/2008 00:00:00
Data/Hora Última Alteração: 18/02/2011 10:00:56
Descrição da Nota: ANO FISCAL FINANCIAMENTO - ANTECIPADO - FATURA - ASSOCIAÇÃO
Sintoma
Financiamento - Antecipado - Fatura - Associação não estão analisando o ano fiscal.
Solução
Incluir as funções de ano fiscal em todos os pontos que utilizam busca por ano/período.
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 07600 Data: 18/11/2008 Hora: 20:03:52
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 07600
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
04552 - 00001 - 7.0 - 00002 - ASSOCIAÇÃO DE FATURAS - MOEDAS DIFERENTES - DIFERENÇA EM REAIS
04941 - 00002 - 7.0 - 00003 - REFINANCIAMENTO - CONTAS IGUAIS DE LP/CP/CURTÍSSIMO
06910 - 00003 - 7.0 - 00006 - FATURA - DRILL-DOWN DO DOCUMENTO CONTÁBIL
07346 - 00004 - 7.0 - 00007 - FINANCIAMENTO DE IMPORTAÇÃO
07487 - 00005 - 7.0 - 00007 - ASSOCIAÇÃO - DATA DA ASSOCIAÇÃO OBRIGATÓRIA E SEM VALOR PROPOSTO
----------------------------------------------------------------------------------------------------
ANO FISCAL FINANCIAMENTO - ANTECIPADO - FATURA - ASSOCIAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ANO FISCAL FINANCIAMENTO - ANTECIPADO - FATURA - ASSOCIAÇÃO
GJAHR
----------------------------------------------------------------------------------------------------
Objetos da nota:
RELE F6DK966428 20081118 194418 PWSCB
REPS /PWS/LZYCMGF2F01
REPS /PWS/MZYCB104F01
REPS /PWS/MZYCB104TOP
REPS /PWS/MZYCB106F01
REPS /PWS/MZYCB106I01
REPS /PWS/MZYCM101F01
REPS /PWS/MZYCM101I01
REPS /PWS/MZYCM101TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCMGF2F01
...
text-021.
itab_zycbe033-bukrs = itab_zycbt131-bukrs.
itab_zycbe033-bldat = itab_zycbt131-dtincl.
IF v_tpdoc EQ 'I'.
itab_zycbe033-budat = itab_zycbt131-dtassoc.
ELSEIF v_tpdoc EQ 'A'.
itab_zycbe033-budat = itab_zycbt131-dtassoc.
ELSEIF v_tpdoc EQ 'P'.
itab_zycbe033-budat = itab_zycbt131-dtassoc.
ENDIF.
* >> Início da exclusão: FORM EXECUTA_FBRA
itab_zycbe033-gjahs = itab_zycbt131-gjahr.
v_monat = itab_zycbe033-budat+4(2).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_FBRA
PERFORM verifica_ano_fiscal USING itab_zycbe033-bukrs
itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
PERFORM determina_periodo USING itab_zycbe033-budat
itab_zycbe033-bukrs
CHANGING v_monat.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
* >> Início da exclusão: FORM EXECUTA_FBRA
i_gjahr = itab_zycbe033-budat+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_FBRA
i_gjahr = itab_zycbe033-gjahs
* << Fim da inclusão
i_koart = '+'
...
...
AND bukrs = itab_zycbt108-bukrs
AND gjahr = itab_zycbt108-gjahr.
ENDIF.
ENDLOOP.
ENDFORM.
FORM grava_assoc_pgant.
IF /pws/zycbe117-belnr_p IS INITIAL.
MESSAGE w015(/pws/zycmm) WITH text-087 text-088.
EXIT.
ENDIF.
* >> Início da inclusão: FORM GRAVA_ASSOC_PGANT
PERFORM verifica_ano_fiscal USING /pws/zycbe117-bukrs
/pws/zycbe117-dtincl
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE ausbk bukrs belnr gjahr
FROM vbkpf
INTO (vbkpf-ausbk, vbkpf-bukrs, vbkpf-belnr, vbkpf-gjahr)
WHERE ausbk = /pws/zycbe117-bukrs
AND bukrs = /pws/zycbe117-bukrs
AND belnr = /pws/zycbe117-belnr_p
* >> Início da exclusão: FORM GRAVA_ASSOC_PGANT
AND gjahr = /pws/zycbe117-dtincl+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_ASSOC_PGANT
AND gjahr = v_gjahr.
* << Fim da inclusão
IF sy-subrc EQ 0.
MESSAGE w015(/pws/zycmm) WITH text-089 text-088.
EXIT.
ENDIF.
IF v_ind_errocont IS INITIAL.
DELETE itab_zycbt131 WHERE vlme EQ ' '.
IF NOT v_ind_delecao IS INITIAL.
DELETE FROM /pws/zycbt131
WHERE mdcorresp = c_mod_pgant
AND nrseq = v_nrseq.
...
...
ENDIF.
ENDIF.
ENDIF.
CLEAR ok_code.
ENDFORM.
FORM grava_assoc_pgfat.
IF /pws/zycbe119-belnr_p IS INITIAL.
MESSAGE w015(/pws/zycmm) WITH text-087 text-088.
EXIT.
ENDIF.
* >> Início da inclusão: FORM GRAVA_ASSOC_PGFAT
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
/pws/zycbe119-dtincl
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE ausbk bukrs belnr gjahr
FROM vbkpf
INTO (vbkpf-ausbk, vbkpf-bukrs, vbkpf-belnr, vbkpf-gjahr)
WHERE ausbk = /pws/zycbe119-bukrs
AND bukrs = /pws/zycbe119-bukrs
AND belnr = /pws/zycbe119-belnr_p
* >> Início da exclusão: FORM GRAVA_ASSOC_PGFAT
AND gjahr = /pws/zycbe119-dtincl+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_ASSOC_PGFAT
AND gjahr = v_gjahr.
* << Fim da inclusão
IF sy-subrc EQ 0.
MESSAGE w015(/pws/zycmm) WITH text-089 text-088.
EXIT.
ENDIF.
IF v_ind_errocont IS INITIAL.
DELETE itab_zycbt131 WHERE vlme EQ ' '.
IF NOT v_ind_delecao IS INITIAL.
DELETE FROM /pws/zycbt131
WHERE mdcorresp = c_mod_pgfat
AND nrseq = v_nrseq.
...
...
ENDIF.
IF sy-subrc NE 0 OR v_belnras IS INITIAL.
SELECT * FROM /pws/zycbt031
UP TO 1 ROWS
INTO /pws/zycbt031
WHERE nrcorresp = /pws/zycbe117-nrseq
AND mdcorresp = 'IA'.
ENDSELECT.
IF sy-subrc = 0.
v_belnras = /pws/zycbt031-belnr_p.
* >> Início da exclusão: FORM PREENCHE_DOCTOS_ASSOC
v_gjahr = /pws/zycbt031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOCTOS_ASSOC
PERFORM verifica_ano_fiscal USING /pws/zycbt031-bukrs
/pws/zycbt031-dtcredpr
CHANGING v_gjahr.
* << Fim da inclusão
ENDIF.
ENDIF.
SELECT * FROM bseg
INTO TABLE itab_bseg
WHERE bukrs = /pws/zycbe117-bukrs
AND belnr = v_belnras
AND gjahr = v_gjahr
AND shkzg = 'S'
AND bschl = '29'.
SELECT SINGLE * FROM /pws/zycit006 INTO /pws/zycit006 WHERE
...
...
INTO t001a-kurst
WHERE bukrs EQ /pws/zycbe112-bukrs.
ENDIF.
CLEAR t001.
SELECT SINGLE xslta FROM t001
INTO t001-xslta
WHERE bukrs = /pws/zycbe112-bukrs.
IF NOT skb1-xsalh IS INITIAL OR
NOT t001-xslta IS INITIAL.
CLEAR bkpf.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbe033-budat
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ itab_zycbt131-belnr_rfin
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
AND gjahr EQ itab_zycbe033-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
AND gjahr EQ v_gjahr.
* << Fim da inclusão
IF NOT bkpf-kursf IS INITIAL AND
NOT bkpf-kursf EQ '0.00000'.
CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
EXPORTING
date = itab_zycbe033-budat
foreign_amount = itab_zycbt131-vlmefin
foreign_currency = /pws/zycbe112-waers
local_currency = wa_zycbt007-waersb
rate = bkpf-kursf
IMPORTING
...
...
INTO t001a-kurst
WHERE bukrs EQ itab_zycbt108-bukrs.
ENDIF.
CLEAR t001.
SELECT SINGLE xslta FROM t001
INTO t001-xslta
WHERE bukrs = itab_zycbt108-bukrs.
IF NOT skb1-xsalh IS INITIAL OR
NOT t001-xslta IS INITIAL.
CLEAR bkpf.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbe033-budat
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ itab_zycbt131-belnr_rfat
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS
AND gjahr EQ itab_zycbe033-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS
AND gjahr EQ v_gjahr.
* << Fim da inclusão
IF NOT bkpf-kursf IS INITIAL AND
NOT bkpf-kursf EQ '0.00000'.
CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
EXPORTING
date = itab_zycbe033-budat
foreign_amount = itab_zycbt131-vlme
foreign_currency = itab_zycbt108-waers
local_currency = wa_zycbt007-waersb
type_of_rate = t001a-kurst
rate = bkpf-kursf
...
...
ELSE.
ENDIF.
SELECT SINGLE * FROM tcurx
WHERE currkey = /pws/zycbe117-waers.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
IF NOT skb1-xsalh IS INITIAL OR
NOT t001-xslta IS INITIAL.
CLEAR bkpf.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGANT
PERFORM verifica_ano_fiscal USING /pws/zycbe117-bukrs
itab_zycbe033-budat
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ itab_zycbt131-belnr_rfin
AND bukrs EQ /pws/zycbe117-bukrs
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_PGANT
AND gjahr EQ itab_zycbe033-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGANT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
IF NOT bkpf-kursf IS INITIAL AND
NOT bkpf-kursf EQ '0.00000'.
IF NOT itab_zycmt020[] IS INITIAL.
CLEAR v_reais_fi_rateio.
LOOP AT itab_zycmt020.
v_reais_fi_rateio = itab_zycmt020-vlassoc
/ ( 10 ** ( tcurx-currdec - 2 ) ).
v_reais_fi_rateio = ( ( bkpf-kursf / v_defator )
* v_parafator ) * v_reais_fi_rateio.
v_reais_fi = v_reais_fi + v_reais_fi_rateio.
...
...
ENDIF.
SELECT SINGLE * FROM tcurx
WHERE currkey = itab_zycbt108-waers.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
IF NOT skb1-xsalh IS INITIAL OR
NOT t001-xslta IS INITIAL.
CLEAR bkpf.
IF NOT itab_zycbt108-dtassoc IS INITIAL.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGANT
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt108-dtassoc
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ itab_zycbt131-belnr_rfat
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_PGANT
AND gjahr EQ itab_zycbt108-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGANT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGANT
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt108-bldat
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ itab_zycbt131-belnr_rfat
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_PGANT
AND gjahr EQ itab_zycbt108-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGANT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
ENDIF.
IF NOT bkpf-kursf IS INITIAL AND
NOT bkpf-kursf EQ '0.00000'.
v_reais_fa = itab_zycbt131-vlme /
( 10 ** ( tcurx-currdec - 2 ) ).
v_reais_fa = ( ( bkpf-kursf / v_defator )
* v_parafator ) * v_reais_fa.
ENDIF.
ELSE.
v_reais_fa = itab_zycbt131-vlme /
...
...
ELSE.
ENDIF.
SELECT SINGLE * FROM tcurx
WHERE currkey = /pws/zycbe119-waers.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
IF NOT skb1-xsalh IS INITIAL OR
NOT t001-xslta IS INITIAL.
CLEAR bkpf.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGFAT
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
itab_zycbe033-budat
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ itab_zycbt131-belnr_rfin
AND bukrs EQ /pws/zycbe119-bukrs
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_PGFAT
AND gjahr EQ itab_zycbe033-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGFAT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
IF NOT bkpf-kursf IS INITIAL AND
NOT bkpf-kursf EQ '0.00000'.
IF NOT itab_zycmt020[] IS INITIAL.
CLEAR v_reais_fi_rateio.
LOOP AT itab_zycmt020.
v_reais_fi_rateio = itab_zycmt020-vlassoc
/ ( 10 ** ( tcurx-currdec - 2 ) ).
v_reais_fi_rateio = ( ( bkpf-kursf / v_defator )
* v_parafator ) * v_reais_fi_rateio.
v_reais_fi = v_reais_fi + v_reais_fi_rateio.
...
...
ENDIF.
SELECT SINGLE * FROM tcurx
WHERE currkey = itab_zycbt108-waers.
IF sy-subrc <> 0.
tcurx-currdec = 2.
ENDIF.
IF NOT skb1-xsalh IS INITIAL OR
NOT t001-xslta IS INITIAL.
CLEAR bkpf.
IF NOT itab_zycbt108-dtassoc IS INITIAL.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGFAT
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt108-dtassoc
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ itab_zycbt131-belnr_rfat
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_PGFAT
AND gjahr EQ itab_zycbt108-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGFAT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGFAT
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt108-bldat
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ itab_zycbt131-belnr_rfat
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM CALCULA_DIFERENCA_REAIS_PGFAT
AND gjahr EQ itab_zycbt108-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_DIFERENCA_REAIS_PGFAT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
ENDIF.
IF NOT bkpf-kursf IS INITIAL AND
NOT bkpf-kursf EQ '0.00000'.
v_reais_fa = itab_zycbt131-vlme /
( 10 ** ( tcurx-currdec - 2 ) ).
v_reais_fa = ( ( bkpf-kursf / v_defator )
* v_parafator ) * v_reais_fa.
ENDIF.
ELSE.
v_reais_fa = itab_zycbt131-vlme /
...
...
WHERE nrseq EQ /pws/zycbe119-nrseq.
ENDIF.
IF v_fat_cont IS INITIAL.
UPDATE /pws/zycbt108 SET dtassoc = v_dtdocto2
belnr_as = v_belnr_as2
belnr_lq = v_belnr_as2
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat. "#EC CI_NOFIRST
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM determina_periodo USING value(p_data)
value(p_bukrs)
CHANGING p_periodo.
DATA v_periv(2).
SELECT SINGLE periv
FROM t001
INTO v_periv
WHERE bukrs EQ p_bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = p_data
version = v_periv
IMPORTING
period = p_periodo
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
IF sy-subrc NE 0.
CLEAR p_periodo.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB104F01
...
FORM visualiza_documento.
. GET CURSOR FIELD v_campo VALUE v_valor.
IF v_campo EQ '/PWS/ZYCBE117-BELNR_P'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_valor
IMPORTING
output = i_belnr
EXCEPTIONS
OTHERS = 0.
* >> Início da inclusão: FORM VISUALIZA_DOCUMENTO
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe117-bukrs
v_date = /pws/zycbe117-dtpagto
IMPORTING
v_year = v_ano
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.
IF sy-subrc <> 0.
ELSE.
ENDIF.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs = /pws/zycbe117-bukrs
AND belnr = i_belnr
* >> Início da exclusão: FORM VISUALIZA_DOCUMENTO
AND gjahr = /pws/zycbe117-dtpagto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM VISUALIZA_DOCUMENTO
AND gjahr = v_ano.
* << Fim da inclusão
IF sy-subrc EQ 0.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB104TOP
...
v_sydynnr LIKE sy-dynnr,
v_visivel LIKE /pws/zyglt319-visivel,
v_tcodebotao LIKE /pws/zyglt319-tcode,"#EC NEEDED
v_line TYPE i,
v_campo1(22) TYPE c,
v_valor1 LIKE ekko-ebeln,
v_ped LIKE ekpo-ebeln,
v_lines TYPE i,
v_saldo LIKE /pws/zycmt020-vlpago,
v_tot_pedido LIKE /pws/zycmt020-netwr,
* >> Início da exclusão:
v_ebeln LIKE /pws/zycbe117-ebeln.
* << Fim da exclusão
* >> Início da inclusão:
v_ebeln LIKE /pws/zycbe117-ebeln,
v_ano type bkpf-gjahr.
* << Fim da inclusão
DATA: v_nome_campo(35) TYPE c,
v_comp(35) TYPE c,
v_cod_grupo LIKE /pws/zyglt320-cod_grupo,
wa_zycbe117_aux LIKE /pws/zycbe117."#EC NEEDED
RANGES: r_doccompra FOR ekko-ebeln,
r_empresa FOR ekko-bukrs,
r_tpcod FOR ekko-bsart,
r_dtcriacao FOR ekko-aedat,
r_fornec FOR ekko-lifnr,
r_condpgto FOR ekko-zterm,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB106F01
...
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
ENDIF.
ENDIF.
PERFORM carrega_zycbt108.
PERFORM clear_date_batch.
ENDFORM.
FORM carrega_zycbt108.
* >> Início da inclusão: FORM CARREGA_ZYCBT108
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe119-bukrs
v_date = /pws/zycbe119-dtincl
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.
* << Fim da inclusão
/pws/zycbt108-belnr = /pws/zycbe119-nrpagto.
MOVE-CORRESPONDING /pws/zycbe119 TO /pws/zycbt108.
MOVE: 'I' TO /pws/zycbt108-status,
'' TO /pws/zycbt108-statusp,
/pws/zycbe119-vlme TO /pws/zycbt108-rmwwr,
/pws/zycbe119-vlme TO /pws/zycbt108-slfat,
/pws/zycbe119-vlme TO /pws/zycbt108-slfatcc,
/pws/zycbe119-nrseq TO /pws/zycbt108-nrseq_pgfat,
* >> Início da exclusão: FORM CARREGA_ZYCBT108
/pws/zycbe119-dtincl+0(4) TO /pws/zycbt108-gjahr.
* << Fim da exclusão
* >> Início da inclusão: FORM CARREGA_ZYCBT108
v_year TO /pws/zycbt108-gjahr.
* << Fim da inclusão
IF /pws/zycbt108-bldat IS INITIAL OR
/pws/zycbt108-bldat EQ ' ' OR
/pws/zycbt108-bldat EQ '00000000'.
MOVE itab_zycbe033-budat TO /pws/zycbt108-bldat.
ENDIF.
IF NOT itab_zycbt032-belnr IS INITIAL.
MOVE itab_zycbt032-belnr TO /pws/zycbt108-belnr_co.
MOVE itab_zycbt032-belnr TO /pws/zycbe108-belnr_co.
ENDIF.
MODIFY /pws/zycbt108.
ENDFORM.
FORM estorna_doc_pag.
DATA: v_monat LIKE t001b-frpe1.
* >> Início da inclusão: FORM ESTORNA_DOC_PAG
DATA: v_periv(2).
* << Fim da inclusão
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = text-022.
itab_zycbe033-tabela = text-021.
itab_zycbe033-cpochv = /pws/zycbe119-nrseq.
itab_zycbe033-belnr = /pws/zycbe108-belnr_co.
itab_zycbe033-bukrs = wa_zycbt119-bukrs.
itab_zycbe033-budat = wa_zycbt119-dtincl.
* >> Início da exclusão: FORM ESTORNA_DOC_PAG
itab_zycbe033-gjahs = itab_zycbe033-budat+0(4).
v_monat = itab_zycbe033-budat+4(2).
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DOC_PAG
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe119-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.
IF sy-subrc = 0. ELSE. ENDIF.
itab_zycbe033-gjahs = v_year.
CLEAR v_monat.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ /pws/zycbe119-bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = itab_zycbe033-budat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
* >> Início da exclusão: FORM ESTORNA_DOC_PAG
i_gjahr = itab_zycbe033-budat+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DOC_PAG
i_gjahr = v_year
* << Fim da inclusão
i_koart = '+'
...
...
itab_zycbe033-stgrd = '01'.
ELSE.
itab_zycbe033-stgrd = '02'.
itab_zycbe033-budat = sy-datum.
ENDIF.
APPEND itab_zycbe033.
IF NOT itab_zycbe033-belnr IS INITIAL.
CALL FUNCTION '/PWS/ZYCM_TRANSACAO_FB08'
EXPORTING
v_modo = v_modo_bi
* >> Início da exclusão: FORM ESTORNA_DOC_PAG
v_gjahs = wa_zycbt119-dtincl+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DOC_PAG
v_gjahs = v_year
* << Fim da inclusão
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FB08'
tabela = text-021
...
...
WHERE nrseq EQ /pws/zycbe119-nrpagto.
IF sy-subrc EQ 0 AND NOT /pws/zycbe108-belnr_co IS INITIAL.
IF v_kursfd IS INITIAL OR
v_kursfd EQ text-074.
CLEAR bkpf.
IF /pws/zycbe108-belnr_ori IS INITIAL.
v_docto_cont = /pws/zycbe108-belnr_co.
ELSE.
v_docto_cont = /pws/zycbe108-belnr_ori.
ENDIF.
* >> Início da inclusão: FORM CALCULA_MOEDA_INTERNA
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe119-bukrs
v_date = /pws/zycbe108-bldat
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.
IF sy-subrc = 0. ELSE. ENDIF.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO bkpf-kursf
WHERE belnr EQ v_docto_cont
AND bukrs EQ wa_zycbt119-bukrs
* >> Início da exclusão: FORM CALCULA_MOEDA_INTERNA
AND gjahr EQ /pws/zycbe108-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM CALCULA_MOEDA_INTERNA
AND gjahr EQ v_year.
* << Fim da inclusão
IF sy-subrc EQ 0.
v_kursfd = bkpf-kursf.
IF v_kursfd < 0.
v_kursfd = v_kursfd * -1.
/pws/zycbe119-vlmi =
v_vlmeaux / ( ( v_kursfd / v_dfact ) * v_pfact ).
IF wa_tcurx-currdec = 0.
/pws/zycbe119-vlmi = /pws/zycbe119-vlmi *
( 10 ** ( wa_tcurx-currdec - 2 ) ).
ENDIF.
...
...
REFRESH itab_zycmt008_excluidos.
CLEAR itab_zycmt008_excluidos.
DELETE ADJACENT DUPLICATES FROM itab_zycmt008
COMPARING nrseq motivo numdesc.
SORT itab_zycmt008 BY numdesc.
ENDFORM.
FORM estorna_descontos.
DATA: v_monat LIKE t001b-frpe1,
v_nrseqce LIKE /pws/zycit006-nrseqce,
v_identify LIKE /pws/zycit093-identify.
* >> Início da inclusão: FORM ESTORNA_DESCONTOS
DATA: v_periv(2).
* << Fim da inclusão
PERFORM clear_date_batch.
PERFORM get_parameters_estorno.
PERFORM preenche_documento_estorno.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'F-51'.
itab_zycbe033-tabela = '/PWS/ZYCBT108'.
itab_zycbe033-cpochv = itab_zycbt108_desconto-nrseq_pgfat.
itab_zycbe033-bldat = itab_zycmt008_excluidos-dtdes.
* >> Início da exclusão: FORM ESTORNA_DESCONTOS
itab_zycbe033-gjahs = itab_zycbe033-bldat(4).
v_monat = itab_zycbe033-bldat+4(2).
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DESCONTOS
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe119-bukrs
v_date = itab_zycbe033-bldat
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.
IF sy-subrc = 0. ELSE. ENDIF.
itab_zycbe033-gjahs = v_year.
CLEAR v_monat.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ /pws/zycbe119-bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = itab_zycbe033-bldat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbt108_desconto-bukrs
* >> Início da exclusão: FORM ESTORNA_DESCONTOS
i_gjahr = itab_zycbe033-bldat+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DESCONTOS
i_gjahr = v_year
* << Fim da inclusão
i_koart = '+'
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM ESTORNA_DESCONTOS
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = itab_zycbt108_desconto-bukrs
v_date = itab_zycmt008_excluidos-dtdes
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.
IF sy-subrc = 0. ELSE. ENDIF.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO (v_taxacambial)
WHERE bukrs EQ itab_zycbt108_desconto-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM ESTORNA_DESCONTOS
AND gjahr EQ itab_zycmt008_excluidos-dtdes(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DESCONTOS
AND gjahr EQ v_year.
* << Fim da inclusão
IF sy-subrc EQ 0.
itab_zycbe033-kursf = v_taxacambial.
ENDIF.
ELSE.
* >> Início da inclusão: FORM ESTORNA_DESCONTOS
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = itab_zycbt108_desconto-bukrs
v_date = itab_zycmt008_excluidos-dtdes
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.
IF sy-subrc = 0. ELSE. ENDIF.
* << Fim da inclusão
itab_zycbe033-bldat = sy-datum.
SELECT SINGLE kursf FROM bkpf
INTO (v_taxacambial)
WHERE bukrs EQ itab_zycbt108_desconto-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM ESTORNA_DESCONTOS
AND gjahr EQ itab_zycmt008_excluidos-dtdes(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DESCONTOS
AND gjahr EQ v_year.
* << Fim da inclusão
IF sy-subrc EQ 0.
itab_zycbe033-kursf = v_taxacambial.
ENDIF.
ENDIF.
PERFORM verify_null_field USING v_taxacambial
'TAXA'
text-092.
itab_zycbe033-blart = wa_zycbt011-blart.
IF /pws/zycbe119-slpgfat IS INITIAL.
itab_zycbe033-newbs = '31'.
...
...
WHERE mdcorresp = 'IP' AND
nrseq = /pws/zycbe119-nrseq AND
bukrs = /pws/zycbe119-bukrs.
ENDSELECT.
IF sy-subrc NE 0.
CLEAR v_belnr.
ENDIF.
ENDIF.
CHECK v_belnr NE ' ' AND
v_belnr NE '0000000000'.
* >> Início da inclusão: FORM GRAVA_DIAS_COND_PAGTO
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe119-bukrs
v_date = v_data
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.
IF sy-subrc = 0. ELSE. ENDIF.
* << Fim da inclusão
SELECT buzei zterm zbd1t
FROM bsik
UP TO 1 ROWS
INTO (v_buzei, v_zterm, v_zbd1t)
WHERE belnr = v_belnr AND
bukrs = /pws/zycbe119-bukrs AND
* >> Início da exclusão: FORM GRAVA_DIAS_COND_PAGTO
gjahr = v_data(4) AND
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_DIAS_COND_PAGTO
gjahr = v_year AND
* << Fim da inclusão
shkzg = 'H'.
ENDSELECT.
CHECK sy-subrc EQ 0.
v_zbd1t = v_zbd1t + v_pror.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FB02'.
itab_zycbe033-tabela = '/PWS/ZYCBT119'.
itab_zycbe033-cpochv = /pws/zycbe119-nrpagto.
itab_zycbe033-bukrs = /pws/zycbe119-bukrs.
* >> Início da exclusão: FORM GRAVA_DIAS_COND_PAGTO
itab_zycbe033-gjahs = v_data(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVA_DIAS_COND_PAGTO
itab_zycbe033-gjahs = v_year.
* << Fim da inclusão
itab_zycbe033-belnr = v_belnr.
itab_zycbe033-ebene = v_buzei+1(2).
itab_zycbe033-zbd1t = v_zbd1t.
itab_zycbe033-agkoa = 'K'.
APPEND itab_zycbe033.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_FB02'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
...
...
EXIT.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM.
FORM estorna_descontos_cr.
DATA: v_monat LIKE t001b-frpe1,
v_nrseqce LIKE /pws/zycit006-nrseqce,
v_identify LIKE /pws/zycit093-identify,
v_belnr LIKE /pws/zycbt108-belnr.
* >> Início da inclusão: FORM ESTORNA_DESCONTOS_CR
DATA: v_periv(2).
* << Fim da inclusão
PERFORM clear_date_batch.
PERFORM get_parameters_estorno.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'F-43'.
itab_zycbe033-tabela = '/PWS/ZYCBT108'.
itab_zycbe033-cpochv = itab_zycbt108_desconto-nrseq_pgfat.
itab_zycbe033-bldat = itab_zycmt008_excluidos-dtdes.
* >> Início da exclusão: FORM ESTORNA_DESCONTOS_CR
itab_zycbe033-gjahs = itab_zycbe033-bldat(4).
v_monat = itab_zycbe033-bldat+4(2).
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DESCONTOS_CR
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe119-bukrs
v_date = itab_zycbe033-bldat
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.
IF sy-subrc = 0. ELSE. ENDIF.
itab_zycbe033-gjahs = v_year.
CLEAR v_monat.
SELECT SINGLE periv FROM t001
INTO v_periv
WHERE bukrs EQ /pws/zycbe119-bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = itab_zycbe033-bldat
version = v_periv
IMPORTING
period = v_monat
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbt108_desconto-bukrs
* >> Início da exclusão: FORM ESTORNA_DESCONTOS_CR
i_gjahr = itab_zycbe033-bldat+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DESCONTOS_CR
i_gjahr = v_year
* << Fim da inclusão
i_koart = '+'
i_monat = v_monat
EXCEPTIONS
error_period = 1
error_period_acc = 2
OTHERS = 3.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM ESTORNA_DESCONTOS_CR
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe119-bukrs
v_date = itab_zycmt008_excluidos-dtdes
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.
IF sy-subrc = 0. ELSE. ENDIF.
* << Fim da inclusão
SELECT SINGLE kursf FROM bkpf
INTO (v_taxacambial)
WHERE bukrs EQ itab_zycbt108_desconto-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM ESTORNA_DESCONTOS_CR
AND gjahr EQ itab_zycmt008_excluidos-dtdes(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DESCONTOS_CR
AND gjahr EQ v_year.
* << Fim da inclusão
IF sy-subrc EQ 0.
itab_zycbe033-kursf = v_taxacambial.
ENDIF.
ELSE.
* >> Início da inclusão: FORM ESTORNA_DESCONTOS_CR
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe119-bukrs
v_date = itab_zycmt008_excluidos-dtdes
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.
IF sy-subrc = 0. ELSE. ENDIF.
* << Fim da inclusão
itab_zycbe033-bldat = sy-datum.
IF itab_zycbt108_desconto-belnr_lq IS INITIAL.
v_belnr = itab_zycbt108_desconto-belnr_co.
ELSE.
v_belnr = itab_zycbt108_desconto-belnr_lq.
ENDIF.
SELECT SINGLE kursf FROM bkpf
INTO (v_taxacambial)
WHERE bukrs EQ itab_zycbt108_desconto-bukrs
AND belnr EQ v_belnr
* >> Início da exclusão: FORM ESTORNA_DESCONTOS_CR
AND gjahr EQ itab_zycmt008_excluidos-dtdes(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DESCONTOS_CR
AND gjahr EQ v_year.
* << Fim da inclusão
IF sy-subrc EQ 0.
itab_zycbe033-kursf = v_taxacambial.
ENDIF.
ENDIF.
PERFORM verify_null_field USING v_taxacambial
'TAXA'
text-092.
itab_zycbe033-blart = wa_zycbt011-blart.
IF /pws/zycbe119-slpgfat IS INITIAL.
itab_zycbe033-newbs = '31'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB106I01
...
IF v_campo EQ '/PWS/ZYCME008-BELNR_DES'.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
input = v_valor
IMPORTING
output = i_belnr
EXCEPTIONS
OTHERS = 0.
IF /pws/zycbe108-bldat NE ' ' AND
/pws/zycbe108-bldat NE '00000000'.
* >> Início da inclusão: MODULE USER_COMMAND_0108
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe119-bukrs
v_date = /pws/zycbe108-bldat
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.
IF sy-subrc = 0. ELSE. ENDIF.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs = wa_zycbt119-bukrs
AND belnr = i_belnr
* >> Início da exclusão: MODULE USER_COMMAND_0108
AND gjahr = /pws/zycbe108-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0108
AND gjahr = v_year.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: MODULE USER_COMMAND_0108
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe119-bukrs
v_date = wa_zycbt119-dtincl
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.
IF sy-subrc = 0. ELSE. ENDIF.
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs = wa_zycbt119-bukrs
AND belnr = i_belnr
* >> Início da exclusão: MODULE USER_COMMAND_0108
AND gjahr = wa_zycbt119-dtincl(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0108
AND gjahr = v_year.
* << Fim da inclusão
ENDIF.
IF sy-subrc EQ 0.
SET PARAMETER ID 'BUK' FIELD wa_zycbt119-bukrs.
SET PARAMETER ID 'BLN' FIELD i_belnr.
* >> Início da exclusão: MODULE USER_COMMAND_0108
IF /pws/zycbe108-bldat NE ' ' AND
/pws/zycbe108-bldat NE '00000000'.
SET PARAMETER ID 'GJR' FIELD /pws/zycbe108-bldat.
ELSE.
SET PARAMETER ID 'GJR' FIELD wa_zycbt119-dtincl(4).
ENDIF.
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0108
SET PARAMETER ID 'GJR' FIELD v_year.
* << Fim da inclusão
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'FB03'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
ENDIF.
ENDIF.
ENDIF.
WHEN 'CLEAR'.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM101F01
...
IF NOT itab_zycbt113p-dtcont IS INITIAL.
itab_zycbe033-budat = itab_zycbt113p-dtcont.
ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.
itab_zycbe033-budat = wa_zycbt112-dtcont.
ELSE.
itab_zycbe033-budat = /pws/zycbe112-dtdesem.
ENDIF.
PERFORM determina_periodo
USING itab_zycbe033-budat
CHANGING v_monat.
* >> Início da inclusão: FORM ESTORNA_DOCUMENTO_ZYCBT112
PERFORM determina_ano
USING itab_zycbe033-budat
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_DOCUMENTO_ZYCBT112
i_gjahr = itab_zycbe033-budat+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ESTORNA_DOCUMENTO_ZYCBT112
i_gjahr = v_ano
* << Fim da inclusão
i_koart = '+'
...
...
ELSE.
itab_zycbe033-budat = wa_zycbt112-dtdesem.
ENDIF.
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
v_monat = itab_zycbe033-budat+2(2).
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT113
i_gjahr = itab_zycbe033-budat+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT113
i_gjahr = itab_zycbe033-gjahs
* << Fim da inclusão
i_koart = '+'
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.
ENDLOOP.
IF NOT /pws/zycbe112-belnr IS INITIAL.
PERFORM clear_date_batch.
REFRESH itab_zycbt036.
CLEAR itab_zycbt036.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-belnr = /pws/zycbe112-belnr.
* >> Início da inclusão: FORM FILL_DATE_F51_REFIN
PERFORM determina_ano
USING /pws/zycbe112-dtdesem
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ /pws/zycbe112-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM FILL_DATE_F51_REFIN
AND gjahr EQ /pws/zycbe112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_F51_REFIN
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
v_vlres = /pws/zycbe112-vlme.
PERFORM gera_novas_parcelas.
ENDIF.
ENDFORM.
FORM preenche_documentos.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = itab_zycbt112-nrseq.
LOOP AT itab_zycbt116 WHERE nrfinanc = itab_zycbt112-nrseq.
...
...
SELECT dtcont
FROM /pws/zycbt154
UP TO 1 ROWS
INTO /pws/zycbt154-dtcont
WHERE nrcorresp EQ itab_zycbt112-nrseq
AND tpcontr EQ itab_zycbt116-nrparc+1(2)
AND codmod EQ 'I'
AND codmodul EQ 'T'.
ENDSELECT.
IF sy-subrc EQ 0.
* >> Início da inclusão: FORM PREENCHE_DOCUMENTOS
PERFORM determina_ano
USING /pws/zycbt154-dtcont
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ /pws/zycbt113-belnr
AND bukrs EQ itab_zycbt112-bukrs
* >> Início da exclusão: FORM PREENCHE_DOCUMENTOS
AND gjahr EQ /pws/zycbt154-dtcont(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOCUMENTOS
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
ELSE.
* >> Início da inclusão: FORM PREENCHE_DOCUMENTOS
PERFORM determina_ano
USING itab_zycbt112-dtdesem
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ /pws/zycbt113-belnr
AND bukrs EQ itab_zycbt112-bukrs
* >> Início da exclusão: FORM PREENCHE_DOCUMENTOS
AND gjahr EQ itab_zycbt112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOCUMENTOS
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
ENDLOOP.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = itab_zycbt112-nrseq.
itab_zycbt036-belnr = /pws/zycbe112-belnr.
* >> Início da inclusão: FORM PREENCHE_DOCUMENTOS
PERFORM determina_ano
USING /pws/zycbe112-dtdesem
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ /pws/zycbe112-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM PREENCHE_DOCUMENTOS
AND gjahr EQ /pws/zycbe112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOCUMENTOS
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDFORM.
FORM calcula_montante.
DATA: v_difer LIKE /pws/zycbt116-vlme,
v_parcela_brl LIKE /pws/zycbt116-vlme,
v_txcbrl LIKE tcurr-ukurs, "#EC NEEDED
v_vlrme LIKE /pws/zycbt116-vlme,
v_msg1(30),
v_msg2(30),
v_ctmoed TYPE /pws/zycbt011-ctmoed.
...
...
ENDIF.
ENDFORM.
FORM associacao.
ENDFORM.
FORM drill_down_cabecalho.
GET CURSOR FIELD v_campo VALUE v_valor.
IF v_campo EQ '/PWS/ZYCBE112-BELNR'.
IF NOT v_valor IS INITIAL.
i_belnr = v_valor.
i_bukrs = /pws/zycbe112-bukrs.
* >> Início da exclusão: FORM DRILL_DOWN_CABECALHO
i_gjahr = wa_zycbt112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM DRILL_DOWN_CABECALHO
PERFORM determina_ano
USING wa_zycbt112-dtdesem
CHANGING v_ano.
i_gjahr = v_ano.
* << Fim da inclusão
SET PARAMETER ID 'BUK' FIELD i_bukrs.
SET PARAMETER ID 'BLN' FIELD i_belnr.
SET PARAMETER ID 'GJR' FIELD i_gjahr.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'FB03'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
ENDIF.
...
...
itab_zycbe033-budat = wa_zycbt112-dtcont.
ELSE.
itab_zycbe033-budat = wa_zycbt112-dtdesem.
ENDIF.
ELSE.
itab_zycbe033-budat = wa_zycbt112-dtdesem.
ENDIF.
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING itab_zycbe033-gjahs.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT112_CAB
v_monat = itab_zycbe033-budat+2(2).
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT112_CAB
PERFORM determina_periodo
USING itab_zycbe033-budat
CHANGING v_monat.
* << Fim da inclusão
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
i_bukrs = itab_zycbe033-bukrs
* >> Início da exclusão: FORM REVERSE_DOCUMENT_ZYCBT112_CAB
i_gjahr = itab_zycbe033-budat+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_ZYCBT112_CAB
i_gjahr = itab_zycbe033-gjahs
* << Fim da inclusão
i_koart = '+'
...
...
v_flag = 'X'.
CONTINUE.
ENDIF.
v_vlres = v_vlres + itab_zycbt113pa-vlme.
IF v_prazo1 EQ 'L' AND
itab_zycbt113pa-ftransf EQ 'L'.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-belnr = itab_zycbt113pa-belnr.
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
PERFORM determina_ano
USING wa_zycbt112-dtdesem
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt113pa-belnr
AND bukrs EQ wa_zycbt112-bukrs
* >> Início da exclusão: FORM RECONTABILIZA_PARCELAS
AND gjahr EQ wa_zycbt112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
CONTINUE.
ENDIF.
PERFORM busca_conta_parcela.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = text-083.
itab_zycbe033-tabela = text-008.
itab_zycbe033-cpochv = /pws/zycbe112-nrseq.
CASE wa_zycbt007-fdtdoc.
WHEN 'D'.
...
...
PERFORM verify_null_field USING /pws/zycbe112-sldesem
'SLDESEM'
text-015.
itab_zycbe033-wrbtr = itab_zycbt113pa-vlme.
itab_zycbe033-newbs = '50'.
itab_zycbe033-c_newko = v_newkof.
itab_zycbe033-d_newko = v_newkof.
itab_zycbe033-agkon = itab_zyglt316-konth.
itab_zycbe033-agkoa = 'S'.
itab_zycbe033-belnr = itab_zycbt113pa-belnr.
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
PERFORM determina_ano
USING wa_zycbt112-dtdesem
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbe033-awkey
WHERE belnr EQ itab_zycbt113pa-belnr
AND bukrs EQ wa_zycbt112-bukrs
* >> Início da exclusão: FORM RECONTABILIZA_PARCELAS
AND gjahr EQ itab_zycbe033-gjahs.
* << Fim da exclusão
* >> Início da inclusão: FORM RECONTABILIZA_PARCELAS
AND gjahr EQ v_ano.
* << Fim da inclusão
IF /pws/zycbe112-bco_forn IS INITIAL.
PERFORM verify_null_field USING /pws/zycbe112-lifnr
'LIFNR'
text-022.
ELSE.
PERFORM verify_null_field USING /pws/zycbe112-bcofinan
'LIFNR'
text-022.
ENDIF.
itab_zycbe033-d_gsber = /pws/zycbe112-gsber.
...
...
CONCATENATE text-058
itab_zycbt032-msg
INTO wa_mensagem-msg
SEPARATED BY space.
APPEND wa_mensagem TO itab_mensagem.
REFRESH itab_zycbt036.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-belnr = itab_zycbt032-belnr.
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
PERFORM determina_ano
USING v_budat
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt032-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM GERA_NOVAS_PARCELAS
AND gjahr EQ v_budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM GERA_NOVAS_PARCELAS
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
itab_zycbt113p-belnr = itab_zycbt032-belnr.
IF v_prazo EQ c_prazo_l.
itab_zycbt113p-belnr_lp = itab_zycbt032-belnr.
itab_zycbt113p-ftransf = c_prazo_l.
ELSEIF v_prazo EQ c_prazo_c.
itab_zycbt113p-ftransf = c_prazo_c.
ELSE.
itab_zycbt113p-ftransf = c_prazo_s.
ENDIF.
...
...
CONCATENATE text-058
itab_zycbt032-msg
INTO wa_mensagem-msg
SEPARATED BY space.
APPEND wa_mensagem TO itab_mensagem.
REFRESH itab_zycbt036.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = wa_zycbt112r-nrseq.
itab_zycbt036-belnr = itab_zycbt032-belnr.
* >> Início da inclusão: FORM RECLASSIFICA_FINANC_ORIGINAL
PERFORM determina_ano
USING itab_zycbe033-budat
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE bukrs = itab_zycbe033-bukrs
AND belnr = itab_zycbt032-belnr
* >> Início da exclusão: FORM RECLASSIFICA_FINANC_ORIGINAL
AND gjahr = itab_zycbe033-budat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_FINANC_ORIGINAL
AND gjahr = v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
CLEAR v_zuonr.
IF NOT v_flag IS INITIAL.
CONCATENATE wa_zycbt112r-nrseq 'R' INTO v_zuonr.
ENDIF.
wa_zycbt113-belnr = itab_zycbt032-belnr.
IF v_prazo EQ 'L'.
wa_zycbt113-belnr_lp = itab_zycbt032-belnr.
ENDIF.
wa_zycbt112r-slrefin = wa_zycbt112r-slrefin +
...
...
FORM finaliza_processo_contabil.
DATA:
wa_mensagem LIKE LINE OF itab_mensagem.
SORT itab_zycbt113p BY nrparc DESCENDING.
LOOP AT itab_zycbt113p WHERE belnr NE ' '.
REFRESH itab_zycbt036.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-belnr = itab_zycbt113p-belnr.
* >> Início da inclusão: FORM FINALIZA_PROCESSO_CONTABIL
PERFORM determina_ano
USING /pws/zycbe112-dtdesem
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt113p-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM FINALIZA_PROCESSO_CONTABIL
AND gjahr EQ /pws/zycbe112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FINALIZA_PROCESSO_CONTABIL
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
EXIT.
ENDLOOP.
CLEAR:
v_nrdias.
SORT itab_zycbt113p BY nrparc ASCENDING.
LOOP AT itab_zycbt113p WHERE dtpagto EQ ' ' OR
dtpagto EQ '00000000'.
IF itab_zycbt113p-belnr IS INITIAL.
v_vlres = v_vlres + itab_zycbt113p-vlme.
...
...
CONCATENATE text-058
itab_zycbt032-msg
INTO wa_mensagem-msg
SEPARATED BY space.
APPEND wa_mensagem TO itab_mensagem.
REFRESH itab_zycbt036.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-belnr = itab_zycbt032-belnr.
* >> Início da inclusão: FORM FINALIZA_PROCESSO_CONTABIL
PERFORM determina_ano
USING /pws/zycbe112-dtdesem
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt032-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM FINALIZA_PROCESSO_CONTABIL
AND gjahr EQ /pws/zycbe112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FINALIZA_PROCESSO_CONTABIL
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
itab_zycbt113p-belnr = itab_zycbt032-belnr.
IF v_prazo EQ 'L'.
itab_zycbt113p-belnr_lp = itab_zycbt032-belnr.
itab_zycbt113p-ftransf = 'L'.
ELSE.
itab_zycbt113p-ftransf = 'S'.
ENDIF.
MODIFY itab_zycbt113p.
UPDATE /pws/zycbt113 SET belnr = itab_zycbt032-belnr
...
...
wa_mensagem LIKE LINE OF itab_mensagem,
v_codeven LIKE /pws/zycbt011-codeven.
PERFORM clear_date_batch.
PERFORM get_parameters_f_51_estorno.
CLEAR itab_zycbt036.
REFRESH itab_zycbt036.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-belnr = /pws/zycbe112-belnr_as.
* >> Início da inclusão: FORM EXECUTA_F51F_ESTORNO
PERFORM determina_ano
USING /pws/zycbe112-dtassoc
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ /pws/zycbe112-belnr_as
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM EXECUTA_F51F_ESTORNO
AND gjahr EQ /pws/zycbe112-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_F51F_ESTORNO
AND gjahr EQ v_ano.
* << Fim da inclusão
APPEND itab_zycbt036.
LOOP AT itab_zycbt113p.
itab_zycbt036-tcode = text-083.
itab_zycbt036-tabela = text-008.
itab_zycbt036-cpochv = itab_zycbt113p-nrseq.
itab_zycbt036-belnr = itab_zycbt113p-belnr.
itab_zycbt036-zuonr = itab_zycbt113p-ftransf.
IF NOT wa_zycbt112-dtcont IS INITIAL.
* >> Início da inclusão: FORM EXECUTA_F51F_ESTORNO
PERFORM determina_ano
USING wa_zycbt112-dtcont
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey
FROM bkpf
INTO (itab_zycbt036-dtdocto, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt113p-belnr AND
bukrs EQ /pws/zycbe112-bukrs AND
* >> Início da exclusão: FORM EXECUTA_F51F_ESTORNO
gjahr EQ wa_zycbt112-dtcont(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_F51F_ESTORNO
gjahr EQ v_ano.
* << Fim da inclusão
ELSE.
* >> Início da inclusão: FORM EXECUTA_F51F_ESTORNO
PERFORM determina_ano
USING wa_zycbt112-dtdesem
CHANGING v_ano.
* << Fim da inclusão
SELECT SINGLE budat awkey FROM bkpf
INTO (itab_zycbt036-dtdocto,itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt113p-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM EXECUTA_F51F_ESTORNO
AND gjahr EQ wa_zycbt112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM EXECUTA_F51F_ESTORNO
AND gjahr EQ v_ano.
* << Fim da inclusão
ENDIF.
APPEND itab_zycbt036.
ENDLOOP.
IF sy-subrc EQ 0.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = text-083.
itab_zycbe033-tabela = text-008.
itab_zycbe033-cpochv = /pws/zycbe112-nrseq.
CASE wa_zycbt007-fdtdoc.
WHEN 'D'.
...
...
DATA: END OF itab_processados.
DATA: BEGIN OF itab_processados2 OCCURS 0.
INCLUDE STRUCTURE bseg.
DATA: END OF itab_processados2.
DATA: v_processado(1) TYPE c,
wa_zycbt113p LIKE itab_zycbt113p.
CLEAR: itab_bseg, itab_processados, itab_processados2.
REFRESH: itab_bseg, itab_processados, itab_processados2.
SORT itab_zycmt020 BY ebeln ebelp.
LOOP AT itab_zycbt113p INTO wa_zycbt113p WHERE belnr <> ' '.
* >> Início da inclusão: FORM CONTABILIZA_ITEM
PERFORM determina_ano
USING wa_zycbt112-dtdesem
CHANGING v_ano.
* << Fim da inclusão
CALL FUNCTION 'BBP_FI_DOCUMENT_READ'
EXPORTING
i_bukrs = /pws/zycbe112-bukrs
i_belnr = wa_zycbt113p-belnr
* >> Início da exclusão: FORM CONTABILIZA_ITEM
i_gjahr = wa_zycbt112-dtdesem(4)
* << Fim da exclusão
* >> Início da inclusão: FORM CONTABILIZA_ITEM
i_gjahr = v_ano
* << Fim da inclusão
TABLES
t_bseg = itab_bseg
EXCEPTIONS
wrong_input = 1
not_found = 2
OTHERS = 3.
IF sy-subrc = 0.
ELSE.
ENDIF.
LOOP AT itab_bseg WHERE ebeln <> ' '.
...
...
SELECT dtcont
FROM /pws/zycbt154
UP TO 1 ROWS
INTO /pws/zycbt154-dtcont
WHERE nrcorresp EQ /pws/zycbe112-nrseq
AND tpcontr EQ itab_zycbt113p-nrparc+1(2)
AND codmod EQ 'I'
AND codmodul EQ 'T'.
ENDSELECT.
IF sy-subrc = 0.
* >> Início da exclusão: FORM FILL_DATE_FB02
itab_zycbe033-gjahs = /pws/zycbt154-dtcont.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
PERFORM determina_ano
USING /pws/zycbt154-dtcont
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
* >> Início da exclusão: FORM FILL_DATE_FB02
itab_zycbe033-gjahs = itab_zycbt113p-dtcont.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
PERFORM determina_ano
USING itab_zycbt113p-dtcont
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
* >> Início da exclusão: FORM FILL_DATE_FB02
itab_zycbe033-gjahs = /pws/zycbe112-dtcont.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
PERFORM determina_ano
USING /pws/zycbe112-dtcont
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM FILL_DATE_FB02
itab_zycbe033-gjahs = /pws/zycbe112-dtdesem.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
PERFORM determina_ano
USING /pws/zycbe112-dtdesem
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
ENDIF.
ENDIF.
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
* >> Início da exclusão: FORM FILL_DATE_FB02
itab_zycbe033-gjahs = itab_zycbt113p-dtcont.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
PERFORM determina_ano
USING itab_zycbt113p-dtcont
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
ELSEIF NOT /pws/zycbe112-dtcont IS INITIAL.
* >> Início da exclusão: FORM FILL_DATE_FB02
itab_zycbe033-gjahs = /pws/zycbe112-dtcont.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
PERFORM determina_ano
USING /pws/zycbe112-dtcont
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: FORM FILL_DATE_FB02
itab_zycbe033-gjahs = /pws/zycbe112-dtdesem.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_FB02
PERFORM determina_ano
USING /pws/zycbe112-dtdesem
CHANGING itab_zycbe033-gjahs.
* << Fim da inclusão
ENDIF.
ENDIF.
PERFORM verify_null_field
USING itab_zycbe033-gjahs 'GJAHS' text-464.
LOOP AT itab_zyglt321.
CASE itab_zyglt321-cpor3.
WHEN 'ZFBDT'.
CASE itab_zyglt321-cpocb.
WHEN 'DTFINAL'.
itab_zycbe033-zfbdt = itab_zycbt113p-dtfinal.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM101I01
...
CLEAR /pws/zycbt031.
SELECT *
FROM /pws/zycbt031
up to 1 rows
WHERE nrcorresp EQ /pws/zycbe112-nrseq
AND mdcorresp EQ 'IF'
AND tpparc EQ 'P'
AND nrparc EQ itab_zycbt113p-nrparc.
endselect.
ENDIF.
* >> Início da exclusão: MODULE USER_COMMAND_0102
i_gjahr = /pws/zycbt031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0102
PERFORM determina_ano
USING /pws/zycbt031-dtcredpr
CHANGING i_gjahr.
* << Fim da inclusão
ELSE.
READ TABLE itab_zycbt113p WITH KEY belnr = v_valor.
IF itab_zycbt113p-ftransf EQ 'C'.
CLEAR /pws/zycbt154.
SELECT dtcont
FROM /pws/zycbt154
up to 1 rows
INTO /pws/zycbt154-dtcont
WHERE codmod EQ 'I'
AND codmodul EQ 'T'
AND nrcorresp EQ /pws/zycbe112-nrseq
AND belnr_cl EQ v_valor.
endselect.
IF sy-subrc = 0.
* >> Início da exclusão: MODULE USER_COMMAND_0102
i_gjahr = /pws/zycbt154-dtcont(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0102
PERFORM determina_ano
USING /pws/zycbt154-dtcont
CHANGING i_gjahr.
* << Fim da inclusão
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
* >> Início da exclusão: MODULE USER_COMMAND_0102
i_gjahr = itab_zycbt113p-dtcont(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0102
PERFORM determina_ano
USING itab_zycbt113p-dtcont
CHANGING i_gjahr.
* << Fim da inclusão
ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.
* >> Início da exclusão: MODULE USER_COMMAND_0102
i_gjahr = wa_zycbt112-dtcont(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0102
PERFORM determina_ano
USING wa_zycbt112-dtcont
CHANGING i_gjahr.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: MODULE USER_COMMAND_0102
i_gjahr = wa_zycbt112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0102
PERFORM determina_ano
USING wa_zycbt112-dtdesem
CHANGING i_gjahr.
* << Fim da inclusão
ENDIF.
ENDIF.
ELSE.
IF NOT itab_zycbt113p-dtcont IS INITIAL.
* >> Início da exclusão: MODULE USER_COMMAND_0102
i_gjahr = itab_zycbt113p-dtcont(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0102
PERFORM determina_ano
USING itab_zycbt113p-dtcont
CHANGING i_gjahr.
* << Fim da inclusão
ELSEIF NOT wa_zycbt112-dtcont IS INITIAL.
* >> Início da exclusão: MODULE USER_COMMAND_0102
i_gjahr = wa_zycbt112-dtcont(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0102
PERFORM determina_ano
USING wa_zycbt112-dtcont
CHANGING i_gjahr.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: MODULE USER_COMMAND_0102
i_gjahr = wa_zycbt112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0102
PERFORM determina_ano
USING wa_zycbt112-dtdesem
CHANGING i_gjahr.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
SET PARAMETER ID 'BUK' FIELD i_bukrs.
SET PARAMETER ID 'BLN' FIELD i_belnr.
SET PARAMETER ID 'GJR' FIELD i_gjahr.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'FB03'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
...
...
CLEAR /pws/zycbt031.
SELECT *
FROM /pws/zycbt031
up to 1 rows
WHERE nrcorresp EQ /pws/zycbe112-nrseq
AND mdcorresp EQ 'IF'
AND tpparc EQ 'J'
AND nrparc EQ itab_zycbt113j-nrparc.
endselect.
ENDIF.
* >> Início da exclusão: MODULE USER_COMMAND_0103
i_gjahr = /pws/zycbt031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0103
PERFORM determina_ano
USING /pws/zycbt031-dtcredpr
CHANGING i_gjahr.
* << Fim da inclusão
SET PARAMETER ID 'BUK' FIELD i_bukrs.
SET PARAMETER ID 'BLN' FIELD i_belnr.
SET PARAMETER ID 'GJR' FIELD i_gjahr.
AUTHORITY-CHECK OBJECT 'S_TCODE'
ID 'TCD' FIELD 'FB03'.
IF sy-subrc EQ 0.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ELSE.
MESSAGE e261(sf) WITH 'FB03'.
ENDIF.
...
...
CLEAR /pws/zycbt031.
SELECT *
FROM /pws/zycbt031
up to 1 rows
WHERE nrcorresp EQ /pws/zycbe112-nrseq
AND mdcorresp EQ 'IF'
AND tpparc EQ 'J'
AND nrparc EQ itab_zycbt113c-nrparc.
endselect.
ENDIF.
* >> Início da exclusão: MODULE USER_COMMAND_0104
i_gjahr = /pws/zycbt031-dtcredpr(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0104
PERFORM determina_ano
USING /pws/zycbt031-dtcredpr
CHANGING i_gjahr.
* << Fim da inclusão
ELSE.
* >> Início da exclusão: MODULE USER_COMMAND_0104
i_gjahr = wa_zycbt112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE USER_COMMAND_0104
PERFORM determina_ano
USING wa_zycbt112-dtdesem
CHANGING i_gjahr.
* << Fim da inclusão
ENDIF.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCM101TOP
...
v_mdparc,
v_nrdias TYPE i,
v_newkof LIKE /pws/zycbt012-saknr1,
v_vlres LIKE /pws/zycbt113-vlme,
v_zuonr LIKE bseg-zuonr,
v_budat TYPE /pws/zycbt113-dtcont,
v_dias(1),
v_jurpg(1),
norma LIKE /pws/zyglt214-norma,
v_pedido,
* >> Início da inclusão:
v_ano type bkpf-gjahr,
* << Fim da inclusão
v_display,
v_exclui(1) TYPE c,
v_relevante,
v_errof(1) TYPE c,
v_modifp ,"#EC NEEDED
txtmodalidade(25) TYPE c,
v_syrepid LIKE sy-repid,
v_sydynnr LIKE sy-dynnr,"#EC NEEDED
v_nrseq_agrp LIKE /pws/zycbt112-nrseq,
v_codaux1 LIKE /pws/zyglt316-codaux1,
...