Módulo: CÂMBIO IMPORTAÇÃO
Funcionalidade: Associação
Data/Hora da Publicação: 28/09/2006 00:00:00
Data/Hora Última Alteração: 18/02/2011 09:45:14
Descrição da Nota: ASSOCIAÇÃO DE FATURAS - ANO FISCAL - CHAVE REFERÊNCIA F-51
Sintoma
Erro ao associar Fatura/Antecipado/Financiamento quando esta parametrizado o ano fiscal diferente,
ou seja, ao invés do mês iniciar em janeiro, inicia em setembro, por exemplo. Não esta sendo levada
a chave de referência nas F-51¿s e no estorno de antecipado esta se perdendo na segunda tela do
desemembramento
Solução
Ao buscar as informações da tabela BSEG e BKPF, verificar qual o ano fiscal correto, para que as
informações sejam encontradas. Utilizar função DETERMINE_PERIOD.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02166 Data: 28/09/2006 Hora: 09:50:32
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02166
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00133
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
ASSOCIAÇÃO DE FATURAS - ANO FISCAL - CHAVE REFERÊNCIA F-51
----------------------------------------------------------------------------------------------------
Palavras Chave:
ASSOCIAÇÃO DE FATURAS ANO FISCAL CHAVE REFERÊNCIA
F-51 OBY6 OX06
----------------------------------------------------------------------------------------------------
Objetos da nota:
REPS /PWS/LZYCMGF2F01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCMGF2F01
...
/pws/zycbe112-fassoc = 'X'.
UPDATE /pws/zycbt112 SET fassoc = 'X'
belnr_as = itab_zycbt036-belnr
dtassoc = itab_zycbt036-dtdocto
WHERE nrseq EQ /pws/zycbe112-nrseq.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_FINANCIAMENTO
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE zuonr FROM bseg
INTO v_zuonr_fi
WHERE bukrs EQ /pws/zycbe112-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_FINANCIAMENTO
AND gjahr EQ itab_zycbt036-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_FINANCIAMENTO
AND gjahr EQ v_gjahr
* << Fim da inclusão
AND augbl EQ ' '
AND koart EQ 'K'.
LOOP AT itab_zycmt020.
itab_zycmt020-vlassoc = itab_zycmt020-saldo.
itab_zycmt020-saldo = space.
...
...
itab_zycbt036-tabela = '/PWS/ZYCBT112'.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-waers = /pws/zycbe112-waers.
itab_zycbt036-belnr = /pws/zycbe112-belnr_as.
itab_zycbt036-dtdocto = /pws/zycbe112-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
/pws/zycbe112-dtassoc
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_FINANCIAMENTO
AND gjahr EQ /pws/zycbe112-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
EXIT.
ENDIF.
IF /pws/zycbe112-belnr IS INITIAL.
CLEAR itab_zycbt036.
...
...
SORT itab_zycbt131f BY dtassoc belnr_as DESCENDING.
LOOP AT itab_zycbt131f WHERE belnr_as NE ' ' AND
belnr_as NE '0000000000'.
itab_zycbt036-belnr = itab_zycbt131f-belnr_as.
itab_zycbt036-dtdocto = itab_zycbt131f-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbt131f-dtassoc
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_FINANCIAMENTO
AND gjahr EQ itab_zycbt131f-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
AND gjahr EQ v_gjahr.
* << Fim da inclusão
EXIT.
ENDLOOP.
APPEND itab_zycbt036.
ELSE.
CLEAR itab_zycbt113f.
...
...
AND status NE 'E'.
LOOP AT itab_zycbt113f.
itab_zycbt036-belnr = itab_zycbt113f-belnr_ori.
IF NOT /pws/zycbe112-dtcont IS INITIAL.
itab_zycbt036-dtdocto = /pws/zycbe112-dtcont.
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey
FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr AND
bukrs EQ /pws/zycbe112-bukrs AND
* >> Início da exclusão: FORM PREENCHE_DOC_FINANCIAMENTO
gjahr EQ /pws/zycbe112-dtcont(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
gjahr EQ v_gjahr.
* << Fim da inclusão
ELSE.
itab_zycbt036-dtdocto = /pws/zycbe112-dtdesem.
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_FINANCIAMENTO
AND gjahr EQ /pws/zycbe112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
AND gjahr EQ v_gjahr.
* << Fim da inclusão
ENDIF.
APPEND itab_zycbt036.
ENDLOOP.
ENDIF.
ELSE.
...
...
SORT itab_zycbt131f BY dtassoc belnr_as DESCENDING.
LOOP AT itab_zycbt131f WHERE belnr_as NE ' ' AND
belnr_as NE '0000000000'.
itab_zycbt036-belnr = itab_zycbt131f-belnr_as.
itab_zycbt036-dtdocto = itab_zycbt131f-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_FINANCIAMENTO
AND gjahr EQ itab_zycbt131f-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
AND gjahr EQ v_gjahr.
* << Fim da inclusão
EXIT.
ENDLOOP.
APPEND itab_zycbt036.
ELSE.
itab_zycbt036-belnr = /pws/zycbe112-belnr.
itab_zycbt036-dtdocto = /pws/zycbe112-dtdesem.
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_FINANCIAMENTO
AND gjahr EQ /pws/zycbe112-dtdesem(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_FINANCIAMENTO
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
ENDIF.
ENDFORM.
FORM desmembra_docto_fatura.
...
...
UPDATE /pws/zycbt108 SET dtassoc = itab_zycbt036-dtdocto
belnr_as = itab_zycbt036-belnr
belnr_lq = itab_zycbt036-belnr
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_FATURA
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE zuonr FROM bseg
INTO v_zuonr_fa
WHERE bukrs EQ itab_zycbt108-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_FATURA
AND gjahr EQ itab_zycbt036-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_FATURA
AND gjahr EQ v_gjahr
* << Fim da inclusão
AND augbl EQ ' '
AND koart EQ 'K'.
v_ok = 'X'.
EXIT.
ENDIF.
...
...
itab_zycbt036-tabela = '/PWS/ZYCBT108'.
itab_zycbt036-cpochv = /pws/zycbt119-nrseq.
IF NOT itab_zycbt108-belnr_as IS INITIAL .
itab_zycbt036-belnr = itab_zycbt108-belnr_as.
itab_zycbt036-dtdocto = itab_zycbt108-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_FATURA
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_FATURA
AND gjahr EQ itab_zycbt108-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_FATURA
AND gjahr EQ v_gjahr.
* << Fim da inclusão
ELSE.
READ TABLE itab_zycmt005 INDEX 1.
IF sy-subrc = 0.
itab_zycbt036-belnr = itab_zycmt005-belnr_resid.
ELSE.
...
...
WHERE mdcorresp EQ 'IP'
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat
AND belnr_as EQ itab_zycbt036-belnr.
IF sy-subrc EQ 0.
itab_zycbt036-dtdocto = /pws/zycbt131-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_FATURA
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_FATURA
AND gjahr EQ /pws/zycbt131-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_FATURA
AND gjahr EQ v_gjahr.
* << Fim da inclusão
ELSE.
IF NOT itab_zycbt108-bldat IS INITIAL AND
NOT itab_zycbt108-bldat EQ '00000000'.
itab_zycbt036-dtdocto = itab_zycbt108-bldat.
* >> Início da inclusão: FORM PREENCHE_DOC_FATURA
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_FATURA
AND gjahr EQ itab_zycbt108-bldat(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_FATURA
AND gjahr EQ v_gjahr.
* << Fim da inclusão
ELSE.
CLEAR /pws/zycbt119-dtincl.
SELECT SINGLE dtincl FROM /pws/zycbt119
INTO /pws/zycbt119-dtincl
WHERE nrseq EQ itab_zycbt108-nrseq_pgfat.
itab_zycbt036-dtdocto = /pws/zycbt119-dtincl.
* >> Início da inclusão: FORM PREENCHE_DOC_FATURA
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_FATURA
AND gjahr EQ /pws/zycbt119-dtincl(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_FATURA
AND gjahr EQ v_gjahr.
* << Fim da inclusão
ENDIF.
ENDIF.
ENDIF.
APPEND itab_zycbt036.
ENDFORM.
...
...
itab_zycbe033-newbs = '29'.
READ TABLE itab_zycbt036 INDEX 1.
CLEAR itab_zycbe033-wrbtr.
IF /pws/zycbe112-belnr_as EQ itab_zycbt131-belnr_rfin.
REFRESH itab_bseg.
* >> Início da inclusão: FORM RECLASSIFICA_FINANCIAMENTO
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT * FROM bseg
INTO TABLE itab_bseg
WHERE bukrs EQ /pws/zycbe112-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM RECLASSIFICA_FINANCIAMENTO
AND gjahr EQ itab_zycbt036-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_FINANCIAMENTO
AND gjahr EQ v_gjahr
* << Fim da inclusão
AND augbl EQ ' '
AND koart EQ 'K'.
LOOP AT itab_bseg.
itab_zycbe033-wrbtr = itab_zycbe033-wrbtr + itab_bseg-wrbtr.
ENDLOOP.
ELSE.
* >> Início da inclusão: FORM RECLASSIFICA_FINANCIAMENTO
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE wrbtr FROM bseg
INTO bseg-wrbtr
WHERE bukrs EQ /pws/zycbe112-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM RECLASSIFICA_FINANCIAMENTO
AND gjahr EQ itab_zycbt036-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_FINANCIAMENTO
AND gjahr EQ v_gjahr
* << Fim da inclusão
AND augbl EQ ' '
AND koart EQ 'K'.
itab_zycbe033-wrbtr = bseg-wrbtr + itab_zycbt131-vlmefin.
ENDIF.
itab_zycbe033-waers = /pws/zycbe112-waers.
...
...
itab_zycbt036-tabela = '/PWS/ZYCBT112'.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-waers = /pws/zycbe112-waers.
itab_zycbt036-belnr = /pws/zycbe112-belnr_as.
itab_zycbt036-dtdocto = /pws/zycbe112-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_FINAN
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
/pws/zycbe112-dtassoc
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_ASSOC_FINAN
AND gjahr EQ /pws/zycbe112-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_FINAN
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
IF /pws/zycbe112-belnr_as NE itab_zycbt131-belnr_rfin.
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT112'.
itab_zycbt036-cpochv = /pws/zycbe112-nrseq.
itab_zycbt036-waers = /pws/zycbe112-waers.
itab_zycbt036-belnr = itab_zycbt131-belnr_rfin.
itab_zycbt036-dtdocto = itab_zycbt131-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_FINAN
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbt131-dtassoc
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe112-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_ASSOC_FINAN
AND gjahr EQ itab_zycbt131-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_FINAN
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
ENDFORM.
FORM f51_financ_moedas_iguais.
DATA : v_codeven LIKE /pws/zycbt011-codeven.
...
...
IF NOT itab_zycbt108-dtassoc IS INITIAL.
v_data_docto = itab_zycbt108-dtassoc.
ELSE.
v_data_docto = itab_zycbt108-bldat.
ENDIF.
* >> Início da inclusão: FORM PREENCHE_DOCTOS_ASSOC
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
v_data_docto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM PREENCHE_DOCTOS_ASSOC
AND gjahr EQ v_data_docto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOCTOS_ASSOC
AND gjahr EQ v_gjahr(4).
* << Fim da inclusão
APPEND itab_zycbt036.
CLEAR itab_zycbt036.
itab_zycbt036-mandt = sy-mandt.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT108'.
...
...
SELECT SINGLE bldat FROM /pws/zycbt108
INTO v_data_docto
WHERE nrseq_pgfat = /pws/zycbe119-nrseq.
ENDIF.
ENDIF.
* >> Início da inclusão: FORM PREENCHE_DOCTOS_ASSOC
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
v_data_docto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE awkey FROM bkpf
INTO itab_zycbt036-awkey
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM PREENCHE_DOCTOS_ASSOC
AND gjahr EQ v_data_docto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOCTOS_ASSOC
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
ENDFORM.
FORM f51_financ_moedas_dif.
DATA : v_codeven LIKE /pws/zycbt011-codeven,
...
...
itab_zycbt036-tabela = '/PWS/ZYCBT108'.
itab_zycbt036-cpochv = /pws/zycbt119-nrseq.
itab_zycbt036-waers = itab_zycbt108-waers.
itab_zycbt036-belnr = itab_zycbt108-belnr_as.
itab_zycbt036-dtdocto = itab_zycbt108-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_FAT
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt108-dtassoc
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_ASSOC_FAT
AND gjahr EQ itab_zycbt108-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_FAT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
IF itab_zycbt108-belnr_as NE itab_zycbt131-belnr_rfat.
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT108'.
itab_zycbt036-cpochv = /pws/zycbt119-nrseq.
itab_zycbt036-waers = itab_zycbt108-waers.
itab_zycbt036-belnr = itab_zycbt131-belnr_rfat.
itab_zycbt036-dtdocto = itab_zycbt131-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_FAT
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt131-dtassoc
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt108-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_ASSOC_FAT
AND gjahr EQ itab_zycbt131-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_FAT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
ENDFORM.
FORM reclassifica_pgant.
CLEAR v_belnr_f43.
...
...
READ TABLE itab_zycbe033 INDEX 1.
/pws/zycbe117-dtassoc = itab_zycbt036-dtdocto.
UPDATE /pws/zycbt117 SET belnr_as = itab_zycbt036-belnr
dtassoc = itab_zycbt036-dtdocto
WHERE nrseq EQ /pws/zycbe117-nrseq.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PGANT
PERFORM verifica_ano_fiscal USING /pws/zycbe117-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE zuonr FROM bseg
INTO v_zuonr_fi
WHERE bukrs EQ /pws/zycbe117-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_PGANT
AND gjahr EQ itab_zycbt036-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PGANT
AND gjahr EQ v_gjahr
* << Fim da inclusão
AND augbl EQ ' '
AND koart EQ 'K'
AND bschl EQ '29'.
LOOP AT itab_zycmt020.
itab_zycmt020-vlassoc = itab_zycmt020-saldo.
...
...
itab_zycbt036-tabela = '/PWS/ZYCBT112'.
itab_zycbt036-cpochv = /pws/zycbe117-nrseq.
itab_zycbt036-waers = /pws/zycbe117-waers.
itab_zycbt036-belnr = /pws/zycbe117-belnr_as.
itab_zycbt036-dtdocto = /pws/zycbe117-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_PGANT
PERFORM verifica_ano_fiscal USING /pws/zycbe117-bukrs
/pws/zycbe117-dtassoc
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe117-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_PGANT
AND gjahr EQ /pws/zycbe117-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_PGANT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
EXIT.
ENDIF.
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-51'.
...
...
SORT itab_zycbt131f BY dtassoc belnr_as DESCENDING.
LOOP AT itab_zycbt131f WHERE belnr_as NE ' ' AND
belnr_as NE '0000000000'.
itab_zycbt036-belnr = itab_zycbt131f-belnr_as.
itab_zycbt036-dtdocto = itab_zycbt131f-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_PGANT
PERFORM verifica_ano_fiscal USING /pws/zycbe117-bukrs
itab_zycbt131f-dtassoc
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe117-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_PGANT
AND gjahr EQ itab_zycbt131f-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_PGANT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
EXIT.
ENDLOOP.
APPEND itab_zycbt036.
ELSE.
itab_zycbt036-belnr = /pws/zycbe117-belnr_p.
itab_zycbt036-dtdocto = /pws/zycbe117-dtpagto.
* >> Início da inclusão: FORM PREENCHE_DOC_PGANT
PERFORM verifica_ano_fiscal USING /pws/zycbe117-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe117-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_PGANT
AND gjahr EQ /pws/zycbe117-dtpagto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_PGANT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
ENDFORM.
FORM reclassifica_pgtoant.
DATA : v_codeven LIKE /pws/zycbt011-codeven.
...
...
text-021.
itab_zycbe033-bukrs = /pws/zycbe117-bukrs.
itab_zycbe033-newbs = '29'.
READ TABLE itab_zycbt036 INDEX 1.
CLEAR itab_zycbe033-wrbtr.
* >> Início da inclusão: FORM RECLASSIFICA_PGTOANT
PERFORM verifica_ano_fiscal USING /pws/zycbe117-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
IF /pws/zycbe117-belnr_as EQ itab_zycbt131-belnr_rfin.
REFRESH itab_bseg.
SELECT * FROM bseg
INTO TABLE itab_bseg
WHERE bukrs EQ /pws/zycbe117-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM RECLASSIFICA_PGTOANT
AND gjahr EQ itab_zycbt036-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_PGTOANT
AND gjahr EQ v_gjahr
* << Fim da inclusão
AND augbl EQ ' '
AND shkzg EQ 'S'
AND koart EQ 'K'.
LOOP AT itab_bseg.
itab_zycbe033-wrbtr = itab_zycbe033-wrbtr + itab_bseg-wrbtr.
...
...
ELSE.
SELECT SINGLE wrbtr FROM bseg
INTO bseg-wrbtr
WHERE bukrs EQ /pws/zycbe117-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM RECLASSIFICA_PGTOANT
AND gjahr EQ itab_zycbt036-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_PGTOANT
AND gjahr EQ v_gjahr
* << Fim da inclusão
AND augbl EQ ' '
AND koart EQ 'K'.
itab_zycbe033-wrbtr = bseg-wrbtr + itab_zycbt131-vlmefin.
ENDIF.
itab_zycbe033-waers = /pws/zycbe117-waers.
...
...
itab_zycbt036-tabela = '/PWS/ZYCBT112'.
itab_zycbt036-cpochv = /pws/zycbe117-nrseq.
itab_zycbt036-waers = /pws/zycbe117-waers.
itab_zycbt036-belnr = /pws/zycbe117-belnr_as.
itab_zycbt036-dtdocto = /pws/zycbe117-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_PGTOANT
PERFORM verifica_ano_fiscal USING /pws/zycbe117-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe117-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_ASSOC_PGTOANT
AND gjahr EQ /pws/zycbe117-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_PGTOANT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
IF /pws/zycbe117-belnr_as NE itab_zycbt131-belnr_rfin.
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT112'.
itab_zycbt036-cpochv = /pws/zycbe117-nrseq.
itab_zycbt036-waers = /pws/zycbe117-waers.
itab_zycbt036-belnr = itab_zycbt131-belnr_rfin.
itab_zycbt036-dtdocto = itab_zycbt131-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_PGTOANT
PERFORM verifica_ano_fiscal USING /pws/zycbe117-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe117-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_ASSOC_PGTOANT
AND gjahr EQ itab_zycbt131-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_PGTOANT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
ENDFORM.
FORM f51_pgant_moedas_iguais.
DATA : v_codeven LIKE /pws/zycbt011-codeven.
...
...
READ TABLE itab_zycbe033 INDEX 1.
/pws/zycbe119-dtassoc = itab_zycbt036-dtdocto.
UPDATE /pws/zycbt119 SET belnr_as = itab_zycbt036-belnr
dtassoc = itab_zycbt036-dtdocto
WHERE nrseq EQ /pws/zycbe119-nrseq.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PGFAT
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE zuonr FROM bseg
INTO v_zuonr_fi
WHERE bukrs EQ /pws/zycbe119-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_PGFAT
AND gjahr EQ itab_zycbt036-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PGFAT
AND gjahr EQ v_gjahr
* << Fim da inclusão
AND augbl EQ ' '
AND koart EQ 'K'
AND bschl EQ '29'.
LOOP AT itab_zycmt020.
itab_zycmt020-vlassoc = itab_zycmt020-saldo.
...
...
itab_zycbt036-tabela = '/PWS/ZYCBT112'.
itab_zycbt036-cpochv = /pws/zycbe119-nrseq.
itab_zycbt036-waers = /pws/zycbe119-waers.
itab_zycbt036-belnr = /pws/zycbe119-belnr_as.
itab_zycbt036-dtdocto = /pws/zycbe119-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_PGFAT
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe119-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_PGFAT
AND gjahr EQ /pws/zycbe119-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_PGFAT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
EXIT.
ENDIF.
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-51'.
...
...
SORT itab_zycbt131f BY dtassoc belnr_as DESCENDING.
LOOP AT itab_zycbt131f WHERE belnr_as NE ' ' AND
belnr_as NE '0000000000'.
itab_zycbt036-belnr = itab_zycbt131f-belnr_as.
itab_zycbt036-dtdocto = itab_zycbt131f-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_PGFAT
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe119-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_PGFAT
AND gjahr EQ itab_zycbt131f-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_PGFAT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
EXIT.
ENDLOOP.
APPEND itab_zycbt036.
ELSE.
itab_zycbt036-belnr = /pws/zycbe119-belnr_p.
itab_zycbt036-dtdocto = /pws/zycbe119-dtpagto.
* >> Início da inclusão: FORM PREENCHE_DOC_PGFAT
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe119-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_PGFAT
AND gjahr EQ /pws/zycbe119-dtpagto(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_PGFAT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
ENDFORM.
FORM reclassifica_pgtofat.
DATA : v_codeven LIKE /pws/zycbt011-codeven.
...
...
itab_zycbe033-ftela = 'X'.
READ TABLE itab_zycbt036 INDEX 1.
CLEAR itab_zycbe033-wrbtr.
IF /pws/zycbe119-belnr_as EQ itab_zycbt131-belnr_rfin.
REFRESH itab_bseg.
* >> Início da inclusão: FORM RECLASSIFICA_PGTOFAT
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT * FROM bseg
INTO TABLE itab_bseg
WHERE bukrs EQ /pws/zycbe119-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM RECLASSIFICA_PGTOFAT
AND gjahr EQ itab_zycbt036-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_PGTOFAT
AND gjahr EQ v_gjahr
* << Fim da inclusão
AND augbl EQ ' '
AND shkzg EQ 'S'
AND koart EQ 'K'.
LOOP AT itab_bseg.
itab_zycbe033-wrbtr = itab_zycbe033-wrbtr + itab_bseg-wrbtr.
ENDLOOP.
ELSE.
* >> Início da inclusão: FORM RECLASSIFICA_PGTOFAT
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE wrbtr FROM bseg
INTO bseg-wrbtr
WHERE bukrs EQ /pws/zycbe119-bukrs
AND belnr EQ itab_zycbt036-belnr
* >> Início da exclusão: FORM RECLASSIFICA_PGTOFAT
AND gjahr EQ itab_zycbt036-dtdocto(4)
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_PGTOFAT
AND gjahr EQ v_gjahr
* << Fim da inclusão
AND augbl EQ ' '
AND koart EQ 'K'.
itab_zycbe033-wrbtr = bseg-wrbtr + itab_zycbt131-vlmefin.
ENDIF.
itab_zycbe033-waers = /pws/zycbe119-waers.
...
...
itab_zycbt036-tabela = '/PWS/ZYCBT112'.
itab_zycbt036-cpochv = /pws/zycbe119-nrseq.
itab_zycbt036-waers = /pws/zycbe119-waers.
itab_zycbt036-belnr = /pws/zycbe119-belnr_as.
itab_zycbt036-dtdocto = /pws/zycbe119-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_PGTOFAT
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe119-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_ASSOC_PGTOFAT
AND gjahr EQ /pws/zycbe119-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_PGTOFAT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
IF /pws/zycbe119-belnr_as NE itab_zycbt131-belnr_rfin.
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-51'.
itab_zycbt036-tabela = '/PWS/ZYCBT112'.
itab_zycbt036-cpochv = /pws/zycbe119-nrseq.
itab_zycbt036-waers = /pws/zycbe119-waers.
itab_zycbt036-belnr = itab_zycbt131-belnr_rfin.
itab_zycbt036-dtdocto = itab_zycbt131-dtassoc.
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_PGTOFAT
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
* << Fim da inclusão
SELECT SINGLE kursf awkey FROM bkpf
INTO (itab_zycbe033-kursf, itab_zycbt036-awkey)
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ /pws/zycbe119-bukrs
* >> Início da exclusão: FORM PREENCHE_DOC_ASSOC_PGTOFAT
AND gjahr EQ itab_zycbt131-dtassoc(4).
* << Fim da exclusão
* >> Início da inclusão: FORM PREENCHE_DOC_ASSOC_PGTOFAT
AND gjahr EQ v_gjahr.
* << Fim da inclusão
APPEND itab_zycbt036.
ENDIF.
ENDFORM.
FORM f51_pgfat_moedas_iguais.
DATA : v_codeven LIKE /pws/zycbt011-codeven.
...
...
MODIFY itab_zycbe035 INDEX v_tabix.
itab_zycmt020-saldo = itab_zycmt020-saldo + v_dif_rateio.
MODIFY itab_zycmt020 INDEX v_tabix.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM verifica_ano_fiscal USING p_bukrs
p_data
CHANGING p_gjahr.
SELECT SINGLE periv FROM t001 INTO t001-periv
WHERE bukrs = p_bukrs.
CALL FUNCTION 'DETERMINE_PERIOD'
EXPORTING
date = p_data
version = t001-periv
IMPORTING
year = p_gjahr
EXCEPTIONS
period_in_not_valid = 1
period_not_assigned = 2
version_undefined = 3
OTHERS = 4.
IF sy-subrc NE 0 OR v_gjahr IS INITIAL.
p_gjahr = p_data(4).
ENDIF.
ENDFORM.
* << Fim da inclusão