Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Recebimento
Data/Hora da Publicação: 04/04/2008 00:00:00
Data/Hora Última Alteração: 23/02/2011 09:55:49
Descrição da Nota: ERRO AO LANÇAR ANO CONTÁBIL NA MIRO
Sintoma
Erro ao fazer lançamento na MIRO. Dava a mensagem
Solução
Verificaer ano contábil antes de fazer a MIRO
7.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 06319 Data: 04/04/2008 Hora: 11:18:30
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 06319
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 7.0
Pacote : 00005
Agrupamento : 00041
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
04338 - 00001 - 7.0 - 00002 - NÃO ATUALIZA AS TABELAS DO CÂMBIO AO ESTORNAR FATURAS PARCELADAS.
05562 - 00002 - 7.0 - 00004 - FALHA NO RECEBIMENTO NA FATURA DE SERVIÇO
05592 - 00003 - 7.0 - 00004 - NÃO PERMITE ESTORNAR FATURAS CRIADAS NO ANO ANTERIOR
06155 - 00004 - 7.0 - 00004 - TRATAMENTO PARA DOCUMENTOS ESTORNADOS POR FORA DO PWCE
----------------------------------------------------------------------------------------------------
ERRO AO LANÇAR ANO CONTÁBIL NA MIRO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ERRO - ANO CONTÁBIL - MIRO - RECEBIMENTO
ERRO: "M8 278 NÃO É PERMITIDO TER SÓ LINHAS ZERO"
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/MZYCI003F02
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
FORM eliminar_fatura.
DATA: v_data LIKE /pws/zycie006-dtincl.
* >> Início da inclusão: FORM ELIMINAR_FATURA
PERFORM verifica_ano_contabil USING /pws/zycie006-dtincl
CHANGING v_ano .
* << Fim da inclusão
IF /pws/zycie006-tpfatura = '04'.
DELETE FROM /pws/zycit047 WHERE nrseq = /pws/zycie006-nrseq AND
nrfat = /pws/zycie006-nrfat.
PERFORM atualiza_despesas.
ENDIF.
IF v_existe_di NE 'S'.
IF ( NOT itab_zycit132[] IS INITIAL
AND /pws/zycie006-waers NE /pws/zycbt007-waersb
AND ( /pws/zycie006-tpfatura = '01' OR
/pws/zycie006-tpfatura = '11' )
...
...
OR ( NOT itab_zycit132[] IS INITIAL
AND /pws/zycie006-waers NE /pws/zycbt007-waersb
AND ( /pws/zycie006-tpfatura = '01'
OR /pws/zycie006-tpfatura = '11' )
AND /pws/zycie006-frpagto = 'P' ).
v_parcela = 'X'.
LOOP AT itab_zycit132 WHERE belnr_p NE space.
SELECT SINGLE *
FROM bkpf
WHERE belnr EQ itab_zycit132-belnr_p
* >> Início da exclusão: FORM ELIMINAR_FATURA
AND gjahr EQ /pws/zycie006-dtincl+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
AND gjahr EQ v_ano
* << Fim da inclusão
AND bukrs EQ /pws/zycie006-bukrs.
SELECT SINGLE * FROM bsak
WHERE bukrs EQ /pws/zycie006-bukrs
AND lifnr EQ /pws/zycie006-lifnr
AND belnr EQ itab_zycit132-belnr_p
* >> Início da exclusão: FORM ELIMINAR_FATURA
AND gjahr EQ /pws/zycie006-dtincl+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
AND gjahr EQ v_ano.
* << Fim da inclusão
IF ( sy-subrc = 0 AND itab_zycit132-status NE 'X' ) OR
NOT bkpf-stblg IS INITIAL.
IF itab_zycit132-status NE '2'.
itab_zycit132-compensado = 'X'.
MODIFY itab_zycit132.
ELSE.
CLEAR itab_zycit132-compensado.
MODIFY itab_zycit132.
ENDIF.
ELSE.
...
...
ENDLOOP.
IF v_erro = 'X'.
EXIT.
ENDIF.
/pws/zycie006-eliminado = 'X'.
MODIFY /pws/zycit006 FROM /pws/zycie006.
LOOP AT itab_zycit132 .
UPDATE /pws/zycbt108 SET status = 'E'
WHERE bukrs = /pws/zycie006-bukrs
AND belnr = /pws/zycie006-nrseq
* >> Início da exclusão: FORM ELIMINAR_FATURA
AND gjahr = /pws/zycie006-dtincl+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
AND gjahr = v_ano
* << Fim da inclusão
AND belnr_co = itab_zycit132-belnr_p.
UPDATE /pws/zycbt119 SET status = 'E'
WHERE nrseq = itab_zycit132-nrseq_pgfat.
IF NOT /pws/zycie006-nrseqre IS INITIAL.
DELETE FROM /pws/zycbt124
WHERE nrseq = /pws/zycie006-nrseqre.
ENDIF.
ENDLOOP.
CLEAR: v_dbanco, v_dforn, v_dmoeda, v_dmoeda_emb,
v_dtpfatura, v_dfrpagto, v_livre.
...
...
ENDIF.
ENDIF.
ENDIF.
ELSE.
IF NOT /pws/zycie006-statusp IS INITIAL
AND /pws/zycie006-frpagto NE 'A'
AND v_pag_antecipado IS INITIAL.
SELECT SINGLE *
FROM bkpf
WHERE belnr EQ /pws/zycie006-belnr_p
* >> Início da exclusão: FORM ELIMINAR_FATURA
AND gjahr EQ /pws/zycie006-dtincl+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
AND gjahr EQ v_ano
* << Fim da inclusão
AND bukrs EQ /pws/zycie006-bukrs.
IF NOT /pws/zycie006-dtlanc IS INITIAL.
v_data = /pws/zycie006-dtlanc.
ELSE.
v_data = /pws/zycie006-dtincl.
ENDIF.
SELECT SINGLE * FROM bsak
WHERE bukrs EQ /pws/zycie006-bukrs
AND lifnr EQ /pws/zycie006-lifnr
AND belnr EQ /pws/zycie006-belnr_p
* >> Início da exclusão: FORM ELIMINAR_FATURA
AND gjahr EQ v_data+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
AND gjahr EQ v_ano.
* << Fim da inclusão
IF sy-subrc NE 0 OR NOT bkpf-stblg IS INITIAL.
REFRESH it_zycit270.
PERFORM hist_contabil.
PERFORM reverse_document_fb08.
ELSE.
MESSAGE s015 WITH text-043.
EXIT.
ENDIF.
ENDIF.
IF v_erro = 'X'.
EXIT.
ENDIF.
IF NOT v_pag_antecipado IS INITIAL.
PERFORM hist_contabil.
ENDIF.
/pws/zycie006-eliminado = 'X'.
MODIFY /pws/zycit006 FROM /pws/zycie006.
UPDATE /pws/zycbt108 SET status = 'E'
WHERE bukrs = /pws/zycie006-bukrs
AND belnr = /pws/zycie006-nrseq
* >> Início da exclusão: FORM ELIMINAR_FATURA
AND gjahr = /pws/zycie006-dtincl+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
AND gjahr = v_ano.
* << Fim da inclusão
UPDATE /pws/zycbt119 SET status = 'E'
WHERE nrseq = /pws/zycie006-nrseq_pgfat.
IF NOT /pws/zycie006-nrseqre IS INITIAL.
IF NOT /pws/zycie006-tpfatura EQ '11'.
DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycie006-nrseqre.
ELSE.
UPDATE /pws/zycbt124 SET status = 'E'
WHERE nrseq = /pws/zycie006-nrseqre.
ENDIF.
ENDIF.
...
...
AND codmod = 'D'
AND origem = 'FAT'
AND nrseqori = /pws/zycie006-nrseq.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
UPDATE /pws/zycbt108 SET status = 'E'
WHERE bukrs = /pws/zycie006-bukrs
AND belnr = /pws/zycie006-nrseq
* >> Início da exclusão: FORM ELIMINAR_FATURA
AND gjahr = /pws/zycie006-dtincl+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
AND gjahr = v_ano.
* << Fim da inclusão
UPDATE /pws/zycbt119 SET status = 'E'
WHERE nrseq = /pws/zycie006-nrseq_pgfat.
IF NOT /pws/zycie006-nrseqre IS INITIAL.
DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycie006-nrseqre.
ENDIF.
ENDIF.
ELSEIF /pws/zycie006-tpfatura NE '01'.
IF /pws/zycie006-tpfatura = '09'.
SELECT SINGLE * FROM /pws/zycit094
WHERE nrseqce = /pws/zycie006-nrseqce.
...
...
cancel NE space.
IF sy-subrc EQ 0.
MESSAGE e015 WITH text-123.
EXIT.
ENDIF.
ELSE.
MESSAGE e015 WITH text-123.
EXIT.
ENDIF.
ENDIF.
IF NOT /pws/zycie006-statusp IS INITIAL AND
/pws/zycie006-frpagto NE 'A'.
IF NOT /pws/zycie006-dtlanc IS INITIAL.
v_data = /pws/zycie006-dtlanc.
ELSE.
v_data = /pws/zycie006-dtincl.
ENDIF.
SELECT SINGLE * FROM bsak
WHERE bukrs EQ /pws/zycie006-bukrs
AND lifnr EQ /pws/zycie006-lifnr
AND belnr EQ /pws/zycie006-belnr_p
* >> Início da exclusão: FORM ELIMINAR_FATURA
AND gjahr EQ v_data+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
AND gjahr EQ v_ano.
* << Fim da inclusão
IF sy-subrc NE 0.
REFRESH it_zycit270.
PERFORM hist_contabil.
PERFORM reverse_document_fb08.
ELSE.
MESSAGE s015 WITH text-043.
EXIT.
ENDIF.
ENDIF.
IF v_erro = 'X'.
EXIT.
ENDIF.
IF NOT v_pag_antecipado IS INITIAL.
PERFORM hist_contabil.
ENDIF.
/pws/zycie006-eliminado = 'X'.
MODIFY /pws/zycit006 FROM /pws/zycie006.
UPDATE /pws/zycbt108 SET status = 'E'
WHERE bukrs = /pws/zycie006-bukrs
AND belnr = /pws/zycie006-nrseq
* >> Início da exclusão: FORM ELIMINAR_FATURA
AND gjahr = /pws/zycie006-dtincl+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM ELIMINAR_FATURA
AND gjahr = v_ano.
* << Fim da inclusão
UPDATE /pws/zycbt119 SET status = 'E'
WHERE nrseq = /pws/zycie006-nrseq_pgfat.
IF NOT /pws/zycie006-nrseqre IS INITIAL.
IF NOT /pws/zycie006-tpfatura EQ '11'.
DELETE FROM /pws/zycbt124 WHERE nrseq = /pws/zycie006-nrseqre.
ELSE.
LOOP AT itab_zycit003.
UPDATE /pws/zycit263 SET eliminado = 'X' WHERE
nrseq = itab_zycit003-nrseq AND
ebeln = itab_zycit003-ebeln AND
...
...
FORM gravar_cambio.
DATA wa_zycbt119 LIKE /pws/zycbt119.
TABLES /pws/zycbt064.
* >> Início da inclusão: FORM GRAVAR_CAMBIO
PERFORM verifica_ano_contabil USING /pws/zycie006-dtincl
CHANGING v_ano .
* << Fim da inclusão
SELECT SINGLE * FROM /pws/zycbt064
WHERE nrchave = /pws/zycie006-nrseq_pgfat
AND mdcorresp = 'IP'.
IF sy-subrc EQ 0.
EXIT.
ENDIF.
SELECT SINGLE * FROM t001 WHERE bukrs EQ /pws/zycie006-bukrs.
SELECT SINGLE *
FROM /pws/zycit000
WHERE land1 EQ t001-land1.
...
...
ENDIF.
ENDIF.
DATA v_data_lanc.
CLEAR v_data_lanc.
IF /pws/zycie006-belnr_p NE /pws/zycbt108-belnr_co.
v_data_lanc = 'X'.
ENDIF.
MOVE-CORRESPONDING /pws/zycie006 TO /pws/zycbt108.
MOVE: /pws/zycie006-nrseq TO /pws/zycbt108-belnr,
/pws/zycie006-nrfat TO /pws/zycbt108-nrfat,
* >> Início da exclusão: FORM GRAVAR_CAMBIO
/pws/zycie006-dtincl+0(4) TO /pws/zycbt108-gjahr,
* << Fim da exclusão
* >> Início da inclusão: FORM GRAVAR_CAMBIO
v_ano TO /pws/zycbt108-gjahr,
* << Fim da inclusão
/pws/zycie006-lifnr TO /pws/zycbt108-lifnr.
IF v_data_lanc = 'X' OR /pws/zycbt108-bldat IS INITIAL.
/pws/zycbt108-bldat = sy-datum .
ENDIF.
IF v_parcela = 'X'.
MOVE: itab_zycit132-belnr_p TO /pws/zycbt108-belnr_co,
itab_zycit132-dtvencto TO /pws/zycbt108-dtvencto,
itab_zycit132-nrseq_pgfat TO /pws/zycbt108-nrseq_pgfat,
itab_zycit132-vlparc TO /pws/zycbt108-rmwwr,
itab_zycit132-vlparc TO /pws/zycbt108-slfatcc,
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
FORM cria_remessa.
DATA: v_count LIKE /pws/zycbt124-nrseq.
* >> Início da inclusão: FORM CRIA_REMESSA
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycie006-bukrs
v_date = /pws/zycie006-dtlanc
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 NE 0 OR v_ano IS INITIAL.
v_ano = /pws/zycie006-dtlanc+0(4).
ENDIF.
* << Fim da inclusão
IF v_parcela NE 'X'.
CLEAR /pws/zycbt124.
IF NOT /pws/zycie006-vlmerc IS INITIAL.
IF /pws/zycie006-nrseqre IS INITIAL.
PERFORM busca_sequencialre.
INSERT /pws/zycbt124 .
WHILE sy-subrc NE 0.
PERFORM busca_sequencialre.
ENDWHILE.
/pws/zycie006-nrseqre = /pws/zycbt124-nrseq.
...
...
MOVE v_kursf TO /pws/zycbt124-kursf.
ENDIF.
MOVE:
'D' TO /pws/zycbt124-criacao ,
'F' TO /pws/zycbt124-tprecrem ,
itab_zycit003-gsber TO /pws/zycbt124-gsber ,
itab_zycit003-werks TO /pws/zycbt124-werks ,
'001' TO /pws/zycbt124-buzei .
/pws/zycbt124-vlmi = /pws/zycbt124-vlme * v_kursf .
CONCATENATE /pws/zycie006-belnr_p /pws/zycie006-bukrs
* >> Início da exclusão: FORM CRIA_REMESSA
/pws/zycie006-dtlanc+0(4) INTO v_awkey.
* << Fim da exclusão
* >> Início da inclusão: FORM CRIA_REMESSA
v_ano INTO v_awkey.
* << Fim da inclusão
MOVE v_awkey TO /pws/zycbt124-nrfat .
MODIFY /pws/zycbt124 FROM /pws/zycbt124.
LOOP AT itab_zycbt035 WHERE bschl EQ '40'.
CLEAR /pws/zycbt141.
MOVE:
/pws/zycie006-nrseqre TO /pws/zycbt141-nrseq ,
itab_zycbt035-d_newko TO /pws/zycbt141-saknr1 ,
itab_zycbt035-d_kostl TO /pws/zycbt141-kostl ,
itab_zycbt035-d_prctr TO /pws/zycbt141-prctr ,
itab_zycbt035-aufnr TO /pws/zycbt141-aufnr ,
...
...
MOVE v_kursf TO /pws/zycbt124-kursf.
ENDIF.
MOVE:
'D' TO /pws/zycbt124-criacao ,
'F' TO /pws/zycbt124-tprecrem ,
itab_zycbe033-c_gsber TO /pws/zycbt124-gsber ,
itab_zycit003-werks TO /pws/zycbt124-werks ,
'001' TO /pws/zycbt124-buzei .
/pws/zycbt124-vlmi = /pws/zycbt124-vlme * v_kursf .
CONCATENATE itab_zycit132-belnr_p /pws/zycie006-bukrs
* >> Início da exclusão: FORM CRIA_REMESSA
/pws/zycie006-dtlanc+0(4) INTO v_awkey.
* << Fim da exclusão
* >> Início da inclusão: FORM CRIA_REMESSA
v_ano INTO v_awkey.
* << Fim da inclusão
MOVE v_awkey TO /pws/zycbt124-nrfat .
MODIFY /pws/zycbt124 FROM /pws/zycbt124.
LOOP AT itab_zycbt035 WHERE bschl EQ '40'.
CLEAR /pws/zycbt141.
MOVE:
itab_zycit132-nrseqre TO /pws/zycbt141-nrseq ,
itab_zycbt035-d_newko TO /pws/zycbt141-saknr1 ,
itab_zycbt035-d_kostl TO /pws/zycbt141-kostl ,
itab_zycbt035-d_prctr TO /pws/zycbt141-prctr ,
itab_zycbt035-aufnr TO /pws/zycbt141-aufnr ,
...
...
FORM fill_date_mr1m.
DATA: v_chave(10),
v_indice TYPE i,
v_iva(2),
v_cont2 LIKE sy-tabix,
* >> Início da exclusão: FORM FILL_DATE_MR1M
v_cont LIKE sy-tabix.
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_MR1M
v_cont LIKE sy-tabix,
v_year LIKE t009b-bdatj.
* << Fim da inclusão
DATA: wa_headerdata LIKE bapi_incinv_create_header,
v_belnr_mr1m LIKE /pws/zycie006-belnr_mr1m,
v_invoice LIKE rbkp-xrech,
v_gjahr LIKE rbkp-gjahr,
v_creditmemo LIKE rbkp-xrech.
DATA: itab_itemdata LIKE bapi_incinv_create_item
OCCURS 0 WITH HEADER LINE,
itab_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
itab_account LIKE bapi_incinv_create_account
OCCURS 0 WITH HEADER LINE,
...
...
LOOP AT itab_zycit003.
itab_zycit031-tcode = itab_zycie033-tcode.
itab_zycit031-tabela = itab_zycie033-tabela.
itab_zycit031-cpochv = itab_zycie033-cpochv.
itab_zycit031-ebeln = itab_zycit003-ebeln.
itab_zycit031-ebelp = itab_zycit003-ebelp.
itab_zycit031-wrbtr = itab_zycit003-total.
itab_zycit031-menge = itab_zycit003-qtd_iten.
itab_zycit031-meins = itab_zycit003-meins.
itab_zycit031-mwskz = itab_zycie033-mwskz.
* >> Início da inclusão: FORM FILL_DATE_MR1M
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycie006-bukrs
v_date = /pws/zycie006-dtlanc
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 NE 0 OR v_year IS INITIAL.
v_year = /pws/zycie006-dtlanc(4).
ENDIF.
* << Fim da inclusão
IF NOT /pws/zycie006-belnr_p IS INITIAL.
SELECT SINGLE * FROM bkpf WHERE
bukrs = /pws/zycie006-bukrs AND
belnr = /pws/zycie006-belnr_p AND
* >> Início da exclusão: FORM FILL_DATE_MR1M
gjahr = /pws/zycie006-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_MR1M
gjahr = v_year.
* << Fim da inclusão
itab_zycit031-wrbtr = itab_zycit031-wrbtr * bkpf-kursf.
ELSE.
SELECT SINGLE * FROM bkpf WHERE
bukrs = /pws/zycie006-bukrs AND
belnr = itab_zycit132-belnr_p AND
* >> Início da exclusão: FORM FILL_DATE_MR1M
gjahr = /pws/zycie006-dtlanc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM FILL_DATE_MR1M
gjahr = v_year.
* << Fim da inclusão
itab_zycit031-wrbtr = itab_zycit031-wrbtr * bkpf-kursf.
ENDIF.
APPEND itab_zycit031.
itab_zycie033-rmwwr = itab_zycit031-wrbtr + itab_zycie033-rmwwr.
itab_zycie033-waers = /pws/zycbt007-waersb.
ENDLOOP.
APPEND itab_zycie033.
IF NOT itab_zycit031[] IS INITIAL.
SELECT ebeln ebelp bprme twrkz FROM ekpo INTO TABLE itab_ekpo
FOR ALL ENTRIES IN itab_zycit031
...
FORM documento_contabil_mr1m.
* >> Início da exclusão: FORM DOCUMENTO_CONTABIL_MR1M
DATA: v_ano LIKE acchd-aworg,
* << Fim da exclusão
* >> Início da inclusão: FORM DOCUMENTO_CONTABIL_MR1M
DATA: v_ano2 LIKE acchd-aworg,
* << Fim da inclusão
v_awref LIKE acchd-awref,
v_dialog LIKE boole .
* >> Início da inclusão: FORM DOCUMENTO_CONTABIL_MR1M
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycie006-bukrs
v_date = /pws/zycie006-dt_mr1m
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 NE 0 OR v_ano IS INITIAL.
v_ano2 = /pws/zycie006-dt_mr1m+0(4).
ELSE.
v_ano2 = v_ano.
ENDIF.
* << Fim da inclusão
v_dialog = space.
v_awref = /pws/zycie006-belnr_mr1m.
* >> Início da exclusão: FORM DOCUMENTO_CONTABIL_MR1M
v_ano = /pws/zycie006-dt_mr1m+0(4).
* << Fim da exclusão
FREE itab_documents.
CLEAR: itab_documents, v_belnr.
CALL FUNCTION 'AC_DOCUMENT_RECORD'
EXPORTING
i_awtyp = 'RMRP'
i_awref = v_awref
* >> Início da exclusão: FORM DOCUMENTO_CONTABIL_MR1M
i_aworg = v_ano
* << Fim da exclusão
* >> Início da inclusão: FORM DOCUMENTO_CONTABIL_MR1M
i_aworg = v_ano2
* << Fim da inclusão
x_dialog = v_dialog
TABLES
t_documents = itab_documents
EXCEPTIONS
no_reference = 1
no_document = 2
OTHERS = 3.
IF sy-subrc EQ 0.
READ TABLE itab_documents WITH KEY awtyp = 'BKPF'
status = 'A'.
...
...
FORM preenche_t_doc.
CLEAR: itab_zycbt036.
itab_zycbt036-mandt = sy-mandt.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCIT006'.
itab_zycbt036-cpochv = /pws/zycie006-nrseq.
* >> Início da inclusão: FORM PREENCHE_T_DOC
PERFORM verifica_ano_contabil USING /pws/zycie006-dt_mr1m
CHANGING v_ano .
* << Fim da inclusão
SELECT SINGLE awkey
FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr = v_belnr AND
bukrs = /pws/zycie006-bukrs AND
* >> Início da exclusão: FORM PREENCHE_T_DOC
gjahr = /pws/zycie006-dt_mr1m+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_T_DOC
gjahr = v_ano.
* << Fim da inclusão
itab_zycbt036-belnr = v_belnr.
APPEND itab_zycbt036.
ENDFORM.
...
...
FORM atualiza_fb08_fat.
* >> Início da inclusão: FORM ATUALIZA_FB08_FAT
PERFORM verifica_ano_contabil USING /pws/zycie006-dtincl
CHANGING v_ano.
* << Fim da inclusão
IF v_parcela = 'X'.
SELECT SINGLE *
FROM bkpf
WHERE belnr EQ /pws/zycie006-belnr_p
* >> Início da exclusão: FORM ATUALIZA_FB08_FAT
AND gjahr EQ /pws/zycie006-dtincl+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_FB08_FAT
AND gjahr EQ v_ano
* << Fim da inclusão
AND bukrs EQ /pws/zycie006-bukrs.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FB08'
tabela = '/PWS/ZYCIT132'
cpochv = /pws/zycie006-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0 AND NOT bkpf-stblg IS INITIAL.
MESSAGE i030 WITH v_belnr_ant.
IF okcode NE 'DELE'.
CLEAR: /pws/zycie006-statusp , /pws/zycie006-belnr_p.
MODIFY /pws/zycit006 FROM /pws/zycie006.
...
...
IF v_estorno IS INITIAL.
IF itab_zycit132-mark NE 'X' AND itab_zycit132-status NE 'X'.
PERFORM dele_custo USING /pws/zycit031-inco1_ci space.
PERFORM fill_date_f-43_f-02.
ELSE.
itab_zycit132-status = 'X'.
MODIFY itab_zycit132.
UPDATE /pws/zycbt108 SET status = 'E'
WHERE bukrs = /pws/zycie006-bukrs
AND belnr = /pws/zycie006-nrseq
* >> Início da exclusão: FORM ATUALIZA_FB08_FAT
AND gjahr = /pws/zycie006-dtincl+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_FB08_FAT
AND gjahr = v_ano
* << Fim da inclusão
AND belnr_co = itab_zycit132-belnr_p.
UPDATE /pws/zycbt119 SET status = 'E'
WHERE nrseq = itab_zycit132-nrseq_pgfat.
ENDIF.
ENDIF.
ELSE.
itab_zycit132-status = 'X'.
itab_zycit132-eliminado = 'X'.
MODIFY itab_zycit132.
ENDIF.
...
...
MODIFY /pws/zycit006 FROM /pws/zycie006.
COMMIT WORK.
PERFORM dele_custo USING /pws/zycit031-inco1_ci space.
PERFORM fill_date_f-43_f-02.
ENDIF.
ENDIF.
ELSE.
SELECT SINGLE *
FROM bkpf
WHERE belnr EQ /pws/zycie006-belnr_p
* >> Início da exclusão: FORM ATUALIZA_FB08_FAT
AND gjahr EQ /pws/zycie006-dtincl+0(4)
* << Fim da exclusão
* >> Início da inclusão: FORM ATUALIZA_FB08_FAT
AND gjahr EQ v_ano
* << Fim da inclusão
AND bukrs EQ /pws/zycie006-bukrs.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FB08'
tabela = '/PWS/ZYCIT006'
cpochv = /pws/zycie006-nrseq
tpmsg = 'S'.
IF sy-subrc EQ 0 AND NOT bkpf-stblg IS INITIAL.
MESSAGE i030 WITH v_belnr_ant.
IF okcode NE 'DELE'.
CLEAR: /pws/zycie006-statusp , /pws/zycie006-belnr_p.
MODIFY /pws/zycit006 FROM /pws/zycie006.
...
...
FORM verifica_estorno_r3 CHANGING p_var
v_answer.
IF e_estorno = 'MR8M'.
* >> Início da inclusão: FORM VERIFICA_ESTORNO_R3
PERFORM verifica_ano_contabil USING /pws/zycie006-dt_mr1m
CHANGING v_ano .
* << Fim da inclusão
SELECT SINGLE * FROM rbkp
WHERE belnr EQ /pws/zycie006-belnr_mr1m
* >> Início da exclusão: FORM VERIFICA_ESTORNO_R3
AND gjahr EQ /pws/zycie006-dt_mr1m+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ESTORNO_R3
AND gjahr EQ v_ano.
* << Fim da inclusão
IF sy-subrc EQ 0 AND NOT rbkp-stblg IS INITIAL.
PERFORM popup_message USING text-026 text-025.
...
...
MESSAGE i015 WITH text-186.
ENDIF.
ELSE.
CLEAR: bkpf.
IF e_estorno = 'FBRA'.
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ /pws/zycie006-bukrs
AND belnr EQ /pws/zycie006-belnr_f_51
AND gjahr EQ /pws/zycie006-dt_f_51+0(4).
ELSE.
* >> Início da inclusão: FORM VERIFICA_ESTORNO_R3
PERFORM verifica_ano_contabil USING /pws/zycie006-dtincl
CHANGING v_ano .
* << Fim da inclusão
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ /pws/zycie006-bukrs
AND belnr EQ /pws/zycie006-belnr_p
* >> Início da exclusão: FORM VERIFICA_ESTORNO_R3
AND gjahr EQ /pws/zycie006-dtincl+0(4).
* << Fim da exclusão
* >> Início da inclusão: FORM VERIFICA_ESTORNO_R3
AND gjahr EQ v_ano.
* << Fim da inclusão
ENDIF.
...
...
* >> Início da inclusão:
FORM verifica_ano_contabil USING p_data
CHANGING p_ano.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycie006-bukrs
v_date = p_data
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 NE 0 OR v_ano IS INITIAL.
p_ano = p_data+0(4).
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003O01.
...
WHERE nrseq = /pws/zycie006-nrseq
AND nrfat = /pws/zycie006-nrfat
AND eliminado EQ 'X'.
ELSE.
SELECT * FROM /pws/zycit132 INTO TABLE itab_zycit132
WHERE nrseq = /pws/zycie006-nrseq
AND nrfat = /pws/zycie006-nrfat
AND eliminado NE 'X'.
ENDIF.
LOOP AT itab_zycit132 WHERE belnr_p NE space.
* >> Início da inclusão: MODULE LOAD_DATA
PERFORM verifica_ano_contabil USING /pws/zycie006-dtincl
CHANGING v_ano .
* << Fim da inclusão
SELECT SINGLE * FROM bsak
WHERE bukrs EQ /pws/zycie006-bukrs
AND lifnr EQ /pws/zycie006-lifnr
AND belnr EQ itab_zycit132-belnr_p
* >> Início da exclusão: MODULE LOAD_DATA
AND gjahr EQ /pws/zycie006-dtincl+0(4).
* << Fim da exclusão
* >> Início da inclusão: MODULE LOAD_DATA
AND gjahr EQ v_ano.
* << Fim da inclusão
IF sy-subrc = 0.
itab_zycit132-compensado = 'X'.
MODIFY itab_zycit132.
ELSE.
CLEAR itab_zycit132-compensado.
MODIFY itab_zycit132.
ENDIF.
ENDLOOP.
ENDIF.
IF v_livre NE 'S' AND NOT /pws/zycie006-lifnr IS INITIAL.
...