Módulo: CÂMBIO IMPORTAÇÃO
Funcionalidade: Associação
Data/Hora da Publicação: 31/08/2007 00:00:00
Data/Hora Última Alteração: 18/02/2011 09:51:31
Descrição da Nota: ASSOCIAÇÃO DE FATURAS - ATUALIZAÇÃO INCORRETA DATA E DOCTO DE ASSOCIAÇÃO
Sintoma
Ao efetuar a associação de faturas com pagamento antecipado ou financiamento ou pagamento de fatura,
mesmo não havendo desmembramento do documento original, esta gravando data de associação e documento
de associação nas tabelas /pws/zycbt117 ou /pws/zycbt119 ou /pws/zycbt112. Outro problema é que ao
lançar associação total, onde faz apenas uma F-51, se der erro na mesma, o sistema lança doctos.
para voltar o saldo do processo(antecipado,fatura,financiamento) e da fatura sem necessidade.
Solução
1º erro - somente atualizar a data e o documento após o lançamento contábil de desemembramento.
2º erro - somente lançar volta do saldo quando houver desmembramento.
No criar associação, alterar o ícone de excluir fatura para o padrão do pw.CE(sinal de menos em
vermelho), pois a lixeira é de exclusão do processo todo.
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 04588 Data: 31/08/2007 Hora: 15:51:32
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 04588
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 7.0
Pacote : 00002
Agrupamento : 00010
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00350 - 00001 - 6.0 - 00021 - VERIFICAÇÃO DO STATUS DE CAMPO NO BATCH INPUT
01988 - 00002 - 6.0 - 00024 - ASSOCIAÇÃO DE FATURAS - DA RATEIO POR ITEM DOC. COMPRA
02166 - 00003 - 6.0 - 00025 - ASSOCIAÇÃO DE FATURAS - ANO FISCAL - CHAVE REFERÊNCIA F-51
----------------------------------------------------------------------------------------------------
ASSOCIAÇÃO DE FATURAS - ATUALIZAÇÃO INCORRETA DATA E DOCTO DE ASSOCIAÇÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
ASSOCIAÇÃO DE FATURAS ATUALIZAÇÃO INCORRETA DATA E DOCTO DE ASSOCIAÇÃO
DTASSOC BELNR_AS BELNRAS ANTECIPADO FINANCIAMENTO FATURA
----------------------------------------------------------------------------------------------------
Objetos da nota:
CUAD /PWS/SAPMZYCB113
REPS /PWS/LZYCMGF2F01
REPS /PWS/LZYCMGF2TOP
----------------------------------------------------------------------------------------------------
Modificações efetuadas em CUAD /PWS/SAPMZYCB113
Barra de Botões
CÓDIGO DE FUNÇÃO: DELE
Alterar ícone de:
NOME DE ÍCONE: ICON_DELETE
Para:
NOME DE ÍCONE: ICON_DELETE_ROW
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCMGF2F01
...
ENDIF.
ENDFORM.
FORM selec_contab.
DATA: v_tabix LIKE sy-tabix.
CASE v_tpdoc.
WHEN 'I'.
IF /pws/zycbe112-waers EQ itab_zycbt131-waers.
v_moedadif = 'S'.
ENDIF.
LOOP AT itab_zycbt108.
* >> Início da inclusão: FORM SELEC_CONTAB
CLEAR: v_fin_cont, v_fat_cont, v_belnr_as, v_dtdocto,
v_belnr_as2, v_dtdocto2.
* << Fim da inclusão
v_tabix = sy-tabix.
SELECT SINGLE * FROM /pws/zycbt131
WHERE nrseq = /pws/zycbe117-nrseq
AND belnr = itab_zycbt108-belnr
AND nrseq_pgfat = itab_zycbt108-nrseq_pgfat
AND bukrs = itab_zycbt108-bukrs
AND gjahr = itab_zycbt108-gjahr
AND mdcorresp = 'IF'.
IF sy-subrc EQ 0.
MESSAGE i061(/pws/zycmm) WITH text-059 itab_zycbt108-belnr
...
...
AND nrseq_pgfat EQ itab_zycbt131-nrseq_pgfat.
DELETE itab_zycbt131.
CONTINUE.
ENDLOOP.
v_ok = 'X'.
WHEN 'A'.
IF /pws/zycbe117-waers EQ itab_zycbt131-waers.
v_moedadif = 'S'.
ENDIF.
LOOP AT itab_zycbt108.
* >> Início da inclusão: FORM SELEC_CONTAB
CLEAR: v_pant_cont, v_fat_cont, v_belnr_as, v_dtdocto,
v_belnr_as2, v_dtdocto2.
* << Fim da inclusão
v_tabix = sy-tabix.
SELECT SINGLE * FROM /pws/zycbt131
WHERE nrseq = /pws/zycbe117-nrseq
AND belnr = itab_zycbt108-belnr
AND nrseq_pgfat = itab_zycbt108-nrseq_pgfat
AND bukrs = itab_zycbt108-bukrs
AND gjahr = itab_zycbt108-gjahr
AND mdcorresp = 'IA'.
IF sy-subrc EQ 0.
MESSAGE i061(/pws/zycmm) WITH text-060 itab_zycbt108-belnr
...
...
AND nrseq_pgfat EQ itab_zycbt131-nrseq_pgfat.
DELETE itab_zycbt131.
CONTINUE.
ENDLOOP.
v_ok = 'X'.
WHEN 'P'.
IF /pws/zycbe119-waers EQ itab_zycbt131-waers.
v_moedadif = 'S'.
ENDIF.
LOOP AT itab_zycbt108.
* >> Início da inclusão: FORM SELEC_CONTAB
CLEAR: v_pfat_cont, v_fat_cont, v_belnr_as, v_dtdocto,
v_belnr_as2, v_dtdocto2.
* << Fim da inclusão
READ TABLE itab_zycbt131
WITH KEY belnr = itab_zycbt108-belnr
nrseq_pgfat = itab_zycbt108-nrseq_pgfat
bukrs = itab_zycbt108-bukrs
gjahr = itab_zycbt108-gjahr.
PERFORM executa_f_51_pgfat.
IF v_ok EQ ' '.
EXIT.
ENDIF.
ENDLOOP.
...
...
AND v_linhas EQ 1.
READ TABLE itab_zycbt036 INDEX 1.
itab_zycbt131-belnr_rfin = itab_zycbt036-belnr.
MODIFY itab_zycbt131 TRANSPORTING belnr_rfin
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
/pws/zycbe112-belnr_as = itab_zycbt036-belnr.
READ TABLE itab_zycbe033 INDEX 1.
/pws/zycbe112-dtassoc = itab_zycbt036-dtdocto.
/pws/zycbe112-fassoc = 'X'.
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_FINANCIAMENTO
UPDATE /pws/zycbt112 SET fassoc = 'X'
belnr_as = itab_zycbt036-belnr
dtassoc = itab_zycbt036-dtdocto
WHERE nrseq EQ /pws/zycbe112-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_FINANCIAMENTO
v_belnr_as = itab_zycbt036-belnr.
v_dtdocto = itab_zycbt036-dtdocto.
* << Fim da inclusão
PERFORM verifica_ano_fiscal USING /pws/zycbe112-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
SELECT SINGLE zuonr FROM bseg
INTO v_zuonr_fi
WHERE bukrs EQ /pws/zycbe112-bukrs
AND belnr EQ itab_zycbt036-belnr
AND gjahr EQ v_gjahr
AND augbl EQ ' '
AND koart EQ 'K'.
...
...
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
/pws/zycbe112-belnr_as = itab_zycbt032-belnr.
READ TABLE itab_zycbe033 INDEX 1.
/pws/zycbe112-dtassoc = itab_zycbe033-budat.
/pws/zycbe112-fassoc = 'X'.
UPDATE /pws/zycbt112 SET fassoc = 'X'
belnr_as = itab_zycbt032-belnr
dtassoc = itab_zycbe033-budat
WHERE nrseq EQ /pws/zycbe112-nrseq.
v_ok = 'X'.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_FINANCIAMENTO
v_fin_cont = 'X'.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
v_ok = ' '.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.
...
...
MODIFY itab_zycbt131 TRANSPORTING belnr_rfat
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
itab_zycbt108-belnr_as = itab_zycbt036-belnr.
itab_zycbt108-belnr_lq = itab_zycbt036-belnr.
READ TABLE itab_zycbe033 INDEX 1.
itab_zycbt108-dtassoc = itab_zycbt036-dtdocto.
MODIFY itab_zycbt108 TRANSPORTING belnr_as dtassoc belnr_lq
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_FATURA
v_belnr_as2 = itab_zycbt036-belnr.
v_dtdocto2 = itab_zycbt036-dtdocto.
* << Fim da inclusão
* >> Início da exclusão: 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.
* << Fim da exclusão
PERFORM verifica_ano_fiscal USING itab_zycbt108-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
SELECT SINGLE zuonr FROM bseg
INTO v_zuonr_fa
WHERE bukrs EQ itab_zycbt108-bukrs
AND belnr EQ itab_zycbt036-belnr
AND gjahr EQ v_gjahr
AND augbl EQ ' '
AND koart EQ 'K'.
...
...
itab_zycbt108-dtassoc = itab_zycbe033-budat.
MODIFY itab_zycbt108 TRANSPORTING belnr_as dtassoc belnr_lq
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
UPDATE /pws/zycbt108 SET dtassoc = itab_zycbe033-budat
belnr_as = itab_zycbt032-belnr
belnr_lq = itab_zycbt032-belnr
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
v_ok = 'X'.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_FATURA
v_fat_cont = 'X'.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
v_ok = ' '.
ENDLOOP.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.
...
...
WHERE belnr EQ itab_zycbt036-belnr
AND bukrs EQ itab_zycbt108-bukrs
AND gjahr EQ v_gjahr.
ENDIF.
ENDIF.
ENDIF.
APPEND itab_zycbt036.
ENDFORM.
FORM reclassifica_financiamento.
DATA : v_codeven LIKE /pws/zycbt011-codeven.
* >> Início da exclusão: FORM RECLASSIFICA_FINANCIAMENTO
IF NOT itab_zycbt131-belnr_rfin IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_FINANCIAMENTO
IF NOT itab_zycbt131-belnr_rfin IS INITIAL
AND ( NOT v_fin_cont IS INITIAL OR ok_code NE 'SAVE' ).
* << Fim da inclusão
IF ok_code NE 'SAVE'.
CHECK v_estorno_ok = 'X'.
ENDIF.
PERFORM limpa_itabs_contabil.
CLEAR wa_zycbt007.
SELECT SINGLE * FROM /pws/zycbt007
INTO wa_zycbt007
WHERE bukrs EQ /pws/zycbe112-bukrs.
CONCATENATE '001' /pws/zycbe112-codint INTO v_codeven.
SELECT SINGLE * FROM /pws/zycbt011
...
...
tabela = '/PWS/ZYCBT108'
cpochv = v_chave
tpmsg = 'S'.
IF sy-subrc = 0.
v_ok = 'X'.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.
itab_zycbt131-belnr_as = itab_zycbt032-belnr.
MODIFY itab_zycbt131 TRANSPORTING belnr_as
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
* >> Início da inclusão: FORM F51_FINANC_MOEDAS_IGUAIS
PERFORM atualiza_dados_processos.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
v_ok = ' '.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.
...
...
tabela = '/PWS/ZYCBT108'
cpochv = v_chave
tpmsg = 'S'.
IF sy-subrc = 0.
v_ok = 'X'.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.
itab_zycbt131-belnr_as = itab_zycbt032-belnr.
MODIFY itab_zycbt131 TRANSPORTING belnr_as
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
* >> Início da inclusão: FORM F51_FINANC_MOEDAS_DIF
PERFORM atualiza_dados_processos.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
v_ok = ' '.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.
...
...
local_amount = v_wrbtr.
WRITE v_wrbtr TO v_wrbtr_c CURRENCY wa_zycbt007-waersb.
TRANSLATE v_wrbtr_c USING '. '.
CONDENSE v_wrbtr_c NO-GAPS.
TRANSLATE v_wrbtr_c USING ',.'.
v_reais_fa = v_wrbtr_c.
v_variacao = v_reais_fi - v_reais_fa.
ENDFORM.
FORM reclassifica_fatura.
DATA : v_codeven LIKE /pws/zycbt011-codeven.
* >> Início da exclusão: FORM RECLASSIFICA_FATURA
IF NOT itab_zycbt131-belnr_rfat IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_FATURA
IF NOT itab_zycbt131-belnr_rfat IS INITIAL
AND ( NOT v_fat_cont IS INITIAL OR ok_code NE 'SAVE' ).
* << Fim da inclusão
IF ok_code NE 'SAVE'.
CHECK v_estorno_ok = 'X'.
ENDIF.
READ TABLE itab_zycbt108 WITH KEY belnr = itab_zycbt131-belnr
nrseq_pgfat = itab_zycbt131-nrseq_pgfat.
PERFORM limpa_itabs_contabil.
SELECT SINGLE * FROM /pws/zycbt119 INTO /pws/zycbt119
WHERE nrseq = itab_zycbt108-nrseq_pgfat.
CONCATENATE '010' /pws/zycbt119-codint INTO v_codeven.
CLEAR wa_zycbt011.
...
...
PERFORM preenche_doc_pgant.
IF v_vlres EQ itab_zycbt131-vlmefin.
READ TABLE itab_zycbt036 INDEX 1.
itab_zycbt131-belnr_rfin = itab_zycbt036-belnr.
MODIFY itab_zycbt131 TRANSPORTING belnr_rfin
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
/pws/zycbe117-belnr_as = itab_zycbt036-belnr.
READ TABLE itab_zycbe033 INDEX 1.
/pws/zycbe117-dtassoc = itab_zycbt036-dtdocto.
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_PGANT
UPDATE /pws/zycbt117 SET belnr_as = itab_zycbt036-belnr
dtassoc = itab_zycbt036-dtdocto
WHERE nrseq EQ /pws/zycbe117-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PGANT
v_belnr_as = itab_zycbt036-belnr.
v_dtdocto = itab_zycbt036-dtdocto.
* << Fim da inclusão
PERFORM verifica_ano_fiscal USING /pws/zycbe117-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
SELECT SINGLE zuonr FROM bseg
INTO v_zuonr_fi
WHERE bukrs EQ /pws/zycbe117-bukrs
AND belnr EQ itab_zycbt036-belnr
AND gjahr EQ v_gjahr
AND augbl EQ ' '
AND koart EQ 'K'
...
...
MODIFY itab_zycbt131 TRANSPORTING belnr_rfin
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
/pws/zycbe117-belnr_as = itab_zycbt032-belnr.
READ TABLE itab_zycbe033 INDEX 1.
/pws/zycbe117-dtassoc = itab_zycbe033-budat.
UPDATE /pws/zycbt117 SET belnr_as = itab_zycbt032-belnr
dtassoc = itab_zycbe033-budat
WHERE nrseq EQ /pws/zycbe117-nrseq.
v_ok = 'X'.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PGANT
v_pant_cont = 'X'.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
v_ok = ' '.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.
...
...
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
AND gjahr EQ v_gjahr.
APPEND itab_zycbt036.
ENDIF.
ENDFORM.
FORM reclassifica_pgtoant.
DATA : v_codeven LIKE /pws/zycbt011-codeven.
* >> Início da exclusão: FORM RECLASSIFICA_PGTOANT
IF NOT itab_zycbt131-belnr_rfin IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_PGTOANT
IF NOT itab_zycbt131-belnr_rfin IS INITIAL
AND ( NOT v_pant_cont IS INITIAL OR ok_code NE 'SAVE' ).
* << Fim da inclusão
IF ok_code NE 'SAVE'.
CHECK v_estorno_ok = 'X'.
ENDIF.
PERFORM limpa_itabs_contabil.
CLEAR wa_zycbt007.
SELECT SINGLE * FROM /pws/zycbt007
INTO wa_zycbt007
WHERE bukrs EQ /pws/zycbe117-bukrs.
CONCATENATE '005' /pws/zycbe117-codint INTO v_codeven.
SELECT SINGLE * FROM /pws/zycbt011
...
...
itab_zycbt131-belnr_as = itab_zycbt032-belnr.
MODIFY itab_zycbt131 TRANSPORTING belnr_as
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
IF ( /pws/zyglt009-contpa = 'Y' AND
/pws/zycbe117-codint = 'IM' ) OR
( /pws/zyglt009-contpa = 'Y' AND
/pws/zycbe117-codint = 'ES' AND v_trans IS INITIAL ).
/pws/zycbe117-slpgant = v_saldo_pa.
ENDIF.
* >> Início da inclusão: FORM F51_PGANT_MOEDAS_IGUAIS
PERFORM atualiza_dados_processos.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
v_ok = ' '.
ENDIF.
ELSE.
IF ( /pws/zyglt009-contpa = 'Y' AND /pws/zycbe117-codint = 'IM' )
OR
...
...
tabela = '/PWS/ZYCBT108'
cpochv = v_chave
tpmsg = 'S'.
IF sy-subrc = 0.
v_ok = 'X'.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.
itab_zycbt131-belnr_as = itab_zycbt032-belnr.
MODIFY itab_zycbt131 TRANSPORTING belnr_as
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
* >> Início da inclusão: FORM F51_PGANT_MOEDAS_DIF
PERFORM atualiza_dados_processos.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
v_ok = ' '.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.
...
...
itab_zycbe033-ftela = 'X'.
IF v_vlres EQ itab_zycbt131-vlmefin.
READ TABLE itab_zycbt036 INDEX 1.
itab_zycbt131-belnr_rfin = itab_zycbt036-belnr.
MODIFY itab_zycbt131 TRANSPORTING belnr_rfin
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
/pws/zycbe119-belnr_as = itab_zycbt036-belnr.
READ TABLE itab_zycbe033 INDEX 1.
/pws/zycbe119-dtassoc = itab_zycbt036-dtdocto.
* >> Início da exclusão: FORM DESMEMBRA_DOCTO_PGFAT
UPDATE /pws/zycbt119 SET belnr_as = itab_zycbt036-belnr
dtassoc = itab_zycbt036-dtdocto
WHERE nrseq EQ /pws/zycbe119-nrseq.
* << Fim da exclusão
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PGFAT
v_belnr_as = itab_zycbt036-belnr.
v_dtdocto = itab_zycbt036-dtdocto.
* << Fim da inclusão
PERFORM verifica_ano_fiscal USING /pws/zycbe119-bukrs
itab_zycbt036-dtdocto
CHANGING v_gjahr.
SELECT SINGLE zuonr FROM bseg
INTO v_zuonr_fi
WHERE bukrs EQ /pws/zycbe119-bukrs
AND belnr EQ itab_zycbt036-belnr
AND gjahr EQ v_gjahr
AND augbl EQ ' '
AND koart EQ 'K'
...
...
MODIFY itab_zycbt131 TRANSPORTING belnr_rfin
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
/pws/zycbe119-belnr_as = itab_zycbt032-belnr.
READ TABLE itab_zycbe033 INDEX 1.
/pws/zycbe119-dtassoc = itab_zycbe033-budat.
UPDATE /pws/zycbt119 SET belnr_as = itab_zycbt032-belnr
dtassoc = itab_zycbe033-budat
WHERE nrseq EQ /pws/zycbe119-nrseq.
v_ok = 'X'.
* >> Início da inclusão: FORM DESMEMBRA_DOCTO_PGFAT
v_pfat_cont = 'X'.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
v_ok = ' '.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.
...
...
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
AND gjahr EQ v_gjahr.
APPEND itab_zycbt036.
ENDIF.
ENDFORM.
FORM reclassifica_pgtofat.
DATA : v_codeven LIKE /pws/zycbt011-codeven.
* >> Início da exclusão: FORM RECLASSIFICA_PGTOFAT
IF NOT itab_zycbt131-belnr_rfin IS INITIAL.
* << Fim da exclusão
* >> Início da inclusão: FORM RECLASSIFICA_PGTOFAT
IF NOT itab_zycbt131-belnr_rfin IS INITIAL
AND ( NOT v_pant_cont IS INITIAL OR ok_code NE 'SAVE' ).
* << Fim da inclusão
IF ok_code NE 'SAVE'.
CHECK v_estorno_ok = 'X'.
ENDIF.
PERFORM limpa_itabs_contabil.
CLEAR wa_zycbt007.
SELECT SINGLE * FROM /pws/zycbt007
INTO wa_zycbt007
WHERE bukrs EQ /pws/zycbe119-bukrs.
CONCATENATE '007' 'A' INTO v_codeven.
SELECT SINGLE * FROM /pws/zycbt011
...
...
tabela = '/PWS/ZYCBT108'
cpochv = v_chave
tpmsg = 'S'.
IF sy-subrc = 0.
v_ok = 'X'.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.
itab_zycbt131-belnr_as = itab_zycbt032-belnr.
MODIFY itab_zycbt131 TRANSPORTING belnr_as
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
* >> Início da inclusão: FORM F51_PGFAT_MOEDAS_IGUAIS
PERFORM atualiza_dados_processos.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
v_ok = ' '.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.
...
...
tabela = '/PWS/ZYCBT108'
cpochv = v_chave
tpmsg = 'S'.
IF sy-subrc = 0.
v_ok = 'X'.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg.
itab_zycbt131-belnr_as = itab_zycbt032-belnr.
MODIFY itab_zycbt131 TRANSPORTING belnr_as
WHERE belnr EQ itab_zycbt108-belnr
AND nrseq_pgfat EQ itab_zycbt108-nrseq_pgfat.
* >> Início da inclusão: FORM F51_PGFAT_MOEDAS_DIF
PERFORM atualiza_dados_processos.
* << Fim da inclusão
ELSE.
LOOP AT itab_zycbt032.
MESSAGE i015(/pws/zycmm) WITH itab_zycbt032-msg+0(50)
itab_zycbt032-msg+50(50).
ENDLOOP.
v_ok = ' '.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016(/pws/zycmm) WITH itab_zycbt034-descricao.
...
...
CHANGING p_brnch.
IF p_brnch IS INITIAL.
SELECT SINGLE j_1bbranch FROM t001w INTO p_brnch
WHERE werks = p_werks.
IF sy-subrc EQ 0.
PERFORM verifica_pais_filial USING p_bukrs
p_brnch.
ENDIF.
ENDIF.
ENDFORM.
* >> Início da inclusão:
FORM atualiza_dados_processos.
IF v_tpdoc = 'I' AND v_fin_cont IS INITIAL.
UPDATE /pws/zycbt112 SET fassoc = 'X'
belnr_as = v_belnr_as
dtassoc = v_dtdocto
WHERE nrseq EQ /pws/zycbe112-nrseq.
ELSEIF v_tpdoc = 'A' AND v_pant_cont IS INITIAL.
UPDATE /pws/zycbt117 SET belnr_as = v_belnr_as
dtassoc = v_dtdocto
WHERE nrseq EQ /pws/zycbe117-nrseq.
ELSEIF v_tpdoc = 'P' AND v_pfat_cont IS INITIAL.
UPDATE /pws/zycbt119 SET belnr_as = v_belnr_as
dtassoc = v_dtdocto
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.
ENDIF.
ENDFORM.
* << Fim da inclusão
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/LZYCMGF2TOP
...
v_saldo_estorno TYPE /pws/zycmt020-saldo,
v_reais_fi_rateio TYPE /pws/zycbt117-vlme,
v_tabix TYPE sy-tabix,
v_syrepid LIKE sy-repid,
e_subrc LIKE sy-subrc,
v_input LIKE screen-input,
v_output LIKE screen-output,
v_required LIKE screen-required,
v_invisible LIKE screen-invisible,
v_tela LIKE sy-dynnr,
* >> Início da exclusão:
v_programa(40) TYPE c VALUE 'SAPMF05A'.
* << Fim da exclusão
* >> Início da inclusão:
v_programa(40) TYPE c VALUE 'SAPMF05A',
v_pant_cont type c,
v_pfat_cont type c,
v_fin_cont type c,
v_fat_cont type c,
v_belnr_as type /pws/zycbt036-belnr,
v_dtdocto type /pws/zycbt036-dtdocto,
v_belnr_as2 type /pws/zycbt036-belnr,
v_dtdocto2 type /pws/zycbt036-dtdocto.
* << Fim da inclusão
DATA:
t_telas TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE,
wa_rpy_dyfatc TYPE rpy_dyfatc OCCURS 0 WITH HEADER LINE.