Módulo: CÂMBIO EXPORTAÇÃO
Funcionalidade: Vinculação
Data/Hora da Publicação: 25/11/2005 00:00:00
Data/Hora Última Alteração: 18/02/2011 14:42:04
Descrição da Nota: VINCULAÇÃO E LIQUIDAÇÃO COM PERFORMANCE - EMPRESA/DIVISÃO
Sintoma
Na vinculação com perfomance não estão aparecendo todas faturas das
empresas que estão no contrato. Erro também no estorno dos documentos e
drill-down, devido a empresa.
Na liquidação com performance não esta levando corretamente a empresa
e divisão para os contábeis de abertura da fatura, abertura do
contrato, estorno e busca conta incorreta devido a empresa.
Solução
Retirar do matchcode de vinculação o id BUKRS e tratar na exit, para
aparecer apenas as faturas das empresas relacionadas no contrato.
Ajustar a empresa que é passada ao estorno os documentos.
Na liquidação também é necessário ajustar a passagem da empresa e da
divisão, de acordo com o contrato e com a fatura.
6.0
Produto:
Nota
Descrição
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 00342 Data: 25/11/2005 Hora: 11:01:54
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 00342
Categoria : Erro de Programa
Prioridade : Média
Versão PW.CE : 6.0
Pacote : 00021
Agrupamento : 00089
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
00197 - 00001 - 6.0 - 00021 - MATCHCODE DINÂMICO VINCULAÇÃO E LIQUIDAÇÃO EM ANDAMENTO
----------------------------------------------------------------------------------------------------
VINCULAÇÃO E LIQUIDAÇÃO COM PERFORMANCE - EMPRESA/DIVISÃO
----------------------------------------------------------------------------------------------------
Palavras Chave:
VINCULAÇÃO E LIQUIDAÇÃO COM PERFORMANCE - EMPRESA
DIVISÃO MATCHCODE FATURAS
----------------------------------------------------------------------------------------------------
Objetos da nota:
DYNP /PWS/SAPMZYCB004 0001
REPS /PWS/MZYCB004F01
REPS /PWS/MZYCB004F02
REPS /PWS/MZYCB009F01
REPS /PWS/MZYCB009F03
REPS /PWS/MZYCB009F08
REPS /PWS/MZYCB009I01
REPS /PWS/ZZYCBGF3U01
SHLD /PWS/ZYCBA008
SHLD /PWS/ZYCBA068
----------------------------------------------------------------------------------------------------
Modificações efetuadas em DYNP /PWS/SAPMZYCB004 0001
MODIFICAR CAMPO: V_NRINVOIC
DICIONÁRIO:
(X) - LETRAS MAIÚSCULAS/MINÚSCULAS
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F01
Contexto: FORM carrega_itab_zycbt005.
...
IF sy-subrc EQ 0.
CLEAR itab_zycbt005.
CLEAR: v_fipos, v_dtpagto, v_ftxt,
v_txtinf.
READ TABLE itab_zycbt005 INDEX 1.
* Se bukrs_f estiver preenchido é porque a Vinculação foi
* com Performance
IF NOT itab_zycbt005-bukrs_f IS INITIAL
AND sy-tcode EQ c_transacao_c.
MESSAGE i061 WITH text-135 text-136 text-137.
EXIT.
ELSEIF NOT itab_zycbt005-bukrs_f IS INITIAL
AND ( sy-tcode EQ c_transacao_a OR
sy-tcode EQ '/PWS/ZYCB004_CAP' ).
MESSAGE i061 WITH text-135 text-138 text-137.
EXIT.
ELSEIF NOT itab_zycbt005-bukrs_f IS INITIAL
AND sy-tcode EQ c_transacao_e.
MESSAGE i061 WITH text-135 text-139 text-137.
EXIT.
ENDIF.
/pws/zycbe005-nrcontr = itab_zycbt005-nrcontr.
/pws/zycbe005-nrseqc = itab_zycbt005-nrseqc.
/pws/zycbe005-bconegoc = itab_zycbt005-bconegoc.
/pws/zycbe005-tpcontr = itab_zycbt005-tpcontr.
*<<Inicio exclusão>>
* /pws/zycbe005-bukrs = itab_zycbt005-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
/pws/zycbe005-bukrs = /pws/zycbe001-bukrs.
*<<Fim inclusão>>
/pws/zycbe005-bcofinan = itab_zycbt005-bcofinan.
/pws/zycbe005-gsber = itab_zycbt005-gsber.
/pws/zycbe005-dtvincul = v_dtvincul.
/pws/zycbe005-j_1bbranch = /pws/zycbe001-j_1bbranch.
/pws/zycbe005-werks = /pws/zycbe001-werks .
/pws/zycbe006-dtpagext = itab_zycbt005-dtpagext.
v_dtpagto = itab_zycbt005-dtpagto.
...
endform.
Contexto: FORM get_parameters_003.
* Texto do cabeçalho
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
* Empresa
*<<Inicio inclusão>>
if itab_zycbt006-v_performance = 'X'.
perform verify_null_field using /pws/zycbt001-bukrs
'BUKRS'
text-004.
itab_zycbe033-bukrs = /pws/zycbt001-bukrs.
else.
*<<Fim inclusão>>
perform verify_null_field using itab_zycbt006-bukrs
'BUKRS'
text-004.
itab_zycbe033-bukrs = itab_zycbt006-bukrs.
*<<Inicio inclusão>>
endif.
*<<Fim inclusão>>
...
endform.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB004F02
Contexto: FORM desmembra_ace.
...
ELSEIF itab_zyglt321-cpocb = 'NRSEQ'.
itab_zycbe033-d_zuonr = /pws/zycbe001-nrseqc.
* chamado 218459 - AnaB - 07/03/2005 - fim
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ENDIF.
WHEN 'ZTERM'.
IF itab_zyglt321-cpocb = 'ZTERM'.
itab_zycbe033-zterm = itab_zycbt017-zterm.
ENDIF.
ENDCASE.
ENDLOOP.
* Chamado - 170348 - Eduardo - 11.06.2004 - Fim
* Texto do cabeçalho
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
* Empresa
*<<Inicio exclusão>>
* PERFORM verify_null_field USING itab_zycbt006-bukrs
* 'BUKRS'
* text-004.
* itab_zycbe033-bukrs = itab_zycbt006-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
PERFORM verify_null_field
USING /pws/zycbt001-bukrs 'BUKRS' text-004.
itab_zycbe033-bukrs = /pws/zycbt001-bukrs.
*<<Fim inclusão>>
* Moeda
PERFORM verify_null_field USING itab_zycbt006-waers
'WAERS'
text-005.
itab_zycbe033-waers = itab_zycbt006-waers.
* Arbitragem de Moeda
IF itab_zycbt006-v_armda EQ 'X'.
PERFORM verify_null_field USING wa_zycbt011_d-blart
'BLART'
text-006.
itab_zycbe033-blart = wa_zycbt011_d-blart.
ELSE.
PERFORM verify_null_field USING wa_zycbt011-blart
'BLART'
text-006.
itab_zycbe033-blart = wa_zycbt011-blart.
ENDIF.
*<<Inicio exclusão>>
* itab_zycbe033-d_gsber = itab_zycbt006-gsberf.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_zycbe033-d_gsber = /pws/zycbt001-gsber.
*<<Fim inclusão>>
itab_zycbe033-c_gsber = itab_zycbe033-d_gsber.
* Verifica com qual taxa será feita a contabilização
IF /pws/zycbt089-tx_desm_ace = 'DTFECH' OR
/pws/zycbt089-tx_desm_ace = 'DTFECH1' .
IF wa_zycbt007-dtjuros = 'DTPAGEXT'.
v_dtliquid = itab_zycbt006-dtpagext.
ELSEIF wa_zycbt007-dtliquid = 'DTPAGTO'.
v_dtliquid = itab_zycbt006-dtpagto.
* elseif wa_zycbt007-dtliquid = 'DTVENCTO'.
ENDIF.
CASE v_zycbe001-fdtlanc.
WHEN 'O'.
v_dtcontr = v_zycbe001-dtcontr.
WHEN 'D'.
v_dtcontr = v_zycbe001-dtdesem.
WHEN OTHERS.
v_dtcontr = v_zycbe001-dtcred.
ENDCASE.
v_dtliquid+6(2) = '01'.
v_dtcontr+6(2) = '01'.
...
IF itab_zycbt006-tpcontr(1) CA 'CE'.
IF v_zycbe001-belnr2 IS INITIAL.
CASE v_zycbe001-fdtlanc.
WHEN 'O'.
v_data = v_zycbe001-dtcontr.
WHEN 'D'.
v_data = v_zycbe001-dtdesem.
WHEN OTHERS.
v_data = v_zycbe001-dtcred.
ENDCASE.
* Chamado 203491 - AnaB - 15/12/2004 - Início
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
*<<Inicio exclusão>>
* v_bukrs = itab_zycbt006-bukrs
*<<Fim exclusão>>
*<<Inicio inclusão>>
v_bukrs = /pws/zycbt001-bukrs
*<<Fim inclusão>>
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.
* Chamado 203491 - AnaB - 15/12/2004 - Fim
SELECT wrbtr shkzg
FROM bseg
INTO (v_wrbtr1, v_shkzg)
WHERE belnr = v_zycbe001-belnr AND
*<<Inicio exclusão>>
* bukrs = itab_zycbt006-bukrs AND
*<<Fim exclusão>>
*<<Inicio inclusão>>
bukrs = /pws/zycbt001-bukrs and
*<<Fim inclusão>>
gjahr = v_year AND "v_data(4)
hkont = itab_zycbe033-d_newko AND
augbl = ' '.
IF v_shkzg EQ 'H'.
v_wrbtr = v_wrbtr + v_wrbtr1.
ELSE.
v_wrbtr = v_wrbtr - v_wrbtr1.
ENDIF.
ENDSELECT.
ELSE.
* Chamado 203491 - AnaB - 15/12/2004 - Início
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
*<<Inicio exclusão>>
* v_bukrs = itab_zycbt006-bukrs
*<<Fim exclusão>>
*<<Inicio inclusão>>
v_bukrs = /pws/zycbt001-bukrs
*<<Fim inclusão>>
v_date = v_zycbe001-dtvincul
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.
* Chamado 203491 - AnaB - 15/12/2004 - Fim
SELECT wrbtr shkzg
FROM bseg
INTO (v_wrbtr1, v_shkzg)
WHERE belnr = v_zycbe001-belnr2 AND
*<<Inicio exclusão>>
* bukrs = itab_zycbt006-bukrs AND
*<<Fim exclusão>>
*<<Inicio inclusão>>
bukrs = /pws/zycbt001-bukrs and
*<<Fim inclusão>>
gjahr = v_year AND "v_zycbe001-dtvincul(4)
hkont = itab_zycbe033-d_newko AND
augbl = ' '.
IF v_shkzg EQ 'H'.
v_wrbtr = v_wrbtr + v_wrbtr1.
ELSE.
v_wrbtr = v_wrbtr - v_wrbtr1.
ENDIF.
ENDSELECT.
ENDIF.
ELSE.
* Chamado 203491 - AnaB - 15/12/2004 - Início
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
*<<Inicio exclusão>>
* v_bukrs = itab_zycbt006-bukrs
*<<Fim exclusão>>
*<<Inicio inclusão>>
v_bukrs = /pws/zycbt001-bukrs
*<<Fim inclusão>>
v_date = itab_zycbt005-dtbelnr
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.
* Chamado 203491 - AnaB - 15/12/2004 - Fim
SELECT wrbtr shkzg
FROM bseg
INTO (v_wrbtr1, v_shkzg)
WHERE belnr = itab_zycbt006-belnr5 AND
*<<Inicio exclusão>>
* bukrs = itab_zycbt006-bukrs AND
*<<Fim exclusão>>
*<<Inicio inclusão>>
bukrs = /pws/zycbt001-bukrs and
*<<Fim inclusão>>
gjahr = v_year AND "itab_zycbt005-dtbelnr(4)
hkont = itab_zycbe033-d_newko AND
augbl = ' '.
IF v_shkzg EQ 'H'.
v_wrbtr = v_wrbtr + v_wrbtr1.
ELSE.
v_wrbtr = v_wrbtr - v_wrbtr1.
ENDIF.
ENDSELECT.
ENDIF.
ENDIF.
* Textos do item e de compensação
IF itab_zycbt006-ftxt IS INITIAL. " Usa param. geral
itab_zycbe033-augtx = wa_zycbt011-txtdesc.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
ELSE. " Usa texto do usuário
itab_zycbe033-augtx = itab_zycbt006-txtinf.
itab_zycbe033-d_sgtxt = itab_zycbt006-txtinf.
itab_zycbe033-c_sgtxt = itab_zycbt006-txtinf.
ENDIF.
IF itab_zycbt006-tpcontr(1) CA 'PS'.
READ TABLE itab_zycbt069 WITH KEY nrseqc = itab_zycbt006-nrseqc
nrinvoic = itab_zycbt006-nrinvoic
dtvincul = itab_zycbt006-dtvincul
gsberf = itab_zycbt006-gsberf
nrparcf = itab_zycbt006-nrparcf.
IF sy-subrc EQ 0.
itab_zycbe033-belnr = itab_zycbt069-belnr.
itab_zycbe033-dtdocto = itab_zycbt005-dtbelnr.
ENDIF.
ELSE.
IF itab_zycbt006-tpcontr(1) CA 'CE' AND
/pws/zycbe001-desc_receb IS INITIAL.
IF v_zycbe001-belnr2 IS INITIAL.
CASE v_zycbe001-fdtlanc.
WHEN 'O'.
v_data = v_zycbe001-dtcontr.
WHEN 'D'.
v_data = v_zycbe001-dtdesem.
WHEN OTHERS.
v_data = v_zycbe001-dtcred.
ENDCASE.
itab_zycbe033-belnr = v_zycbe001-belnr.
itab_zycbe033-dtdocto = v_data.
ELSE.
itab_zycbe033-belnr = v_zycbe001-belnr2.
* PWS40239276 - Início
SELECT SINGLE * FROM /pws/zycbt074
WHERE nrseqc = v_zycbe001-nrseqc.
IF sy-subrc = 0.
itab_zycbe033-dtdocto = /pws/zycbt074-dtcont.
ELSE.
itab_zycbe033-dtdocto = v_zycbe001-dtvincul.
ENDIF.
* PWS40239276 - Fim
* ITAB_ZYCBE033-DTDOCTO = V_ZYCBE001-DTVINCUL.
ENDIF.
* ELSE itab_zycbt006-tpcontr(1) = 'E' AND
* /PWSZYCBE001-DESC_RECEB = 'X'.
* itab_zycbe033-belnr = itab_zycbt006-belnr5.
* itab_zycbe033-dtdocto = itab_zycbt005-dtbelnr.
ELSE.
itab_zycbe033-belnr = itab_zycbt006-belnr5.
itab_zycbe033-dtdocto = itab_zycbt005-dtbelnr.
ENDIF.
ENDIF.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = 'ZYCBT006'.
itab_zycbt036-cpochv = itab_zycbe033-cpochv.
itab_zycbt036-residuo = itab_zycbt006-vlme.
* Atribuição Fixa
CONCATENATE 'Des.' itab_zycbt006-nrinvoic itab_zycbt006-nrparcf
INTO itab_zycbt036-zuonr
SEPARATED BY space.
IF itab_zycbt006-tpcontr(1) CA 'CE' AND
/pws/zycbe001-desc_receb IS INITIAL.
itab_zycbt036-belnr = itab_zycbe033-belnr.
* Chamado 203491 - AnaB - 15/12/2004 - Início
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
*<<Inicio exclusão>>
* v_bukrs = itab_zycbt006-bukrs
*<<Fim exclusão>>
*<<Inicio inclusão>>
v_bukrs = /pws/zycbt001-bukrs
*<<Fim inclusão>>
v_date = itab_zycbe033-dtdocto
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.
* Chamado 203491 - AnaB - 15/12/2004 - Fim
SELECT SINGLE * FROM bkpf
*<<Inicio exclusão>>
* WHERE bukrs = itab_zycbt006-bukrs
*<<Fim exclusão>>
*<<Inicio inclusão>>
where bukrs = /pws/zycbt001-bukrs
*<<Fim inclusão>>
AND belnr = itab_zycbt036-belnr
AND gjahr = v_year. "itab_zycbe033-dtdocto(4).
itab_zycbt036-dtdocto = bkpf-budat.
ELSE.
itab_zycbt036-belnr = itab_zycbt006-belnr5.
* Chamado 203491 - AnaB - 15/12/2004 - Início
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
*<<Inicio exclusão>>
* v_bukrs = itab_zycbt006-bukrs
*<<Fim exclusão>>
*<<Inicio inclusão>>
v_bukrs = /pws/zycbt001-bukrs
*<<Fim inclusão>>
v_date = itab_zycbt005-dtbelnr
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.
* Chamado 203491 - AnaB - 15/12/2004 - Fim
SELECT SINGLE * FROM bkpf
*<<Inicio exclusão>>
* WHERE bukrs = itab_zycbt006-bukrs
*<<Fim exclusão>>
*<<Inicio inclusão>>
where bukrs = /pws/zycbt001-bukrs
*<<Fim inclusão>>
AND belnr = itab_zycbt036-belnr
AND gjahr = v_year. "itab_zycbt005-dtbelnr(4).
itab_zycbt036-dtdocto = bkpf-budat.
ENDIF.
APPEND itab_zycbt036.
LOOP AT itab_zycbt069 WHERE nrseqc = itab_zycbt006-nrseqc
AND nrinvoic = itab_zycbt006-nrinvoic
AND dtvincul = itab_zycbt006-dtvincul
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparc...
...
LOOP AT itab_zycbt069 WHERE nrseqc = itab_zycbt006-nrseqc
AND nrinvoic = itab_zycbt006-nrinvoic
AND dtvincul = itab_zycbt006-dtvincul
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparcf.
itab_zycbt069-belnr_d = itab_zycbt032-belnr.
MODIFY itab_zycbt069.
ENDLOOP.
IF itab_zycbt006-tpcontr(1) CA 'CE'.
MODIFY itab_zycbt006.
v_zycbe001-belnr2 = itab_zycbt006-belnr_d.
v_zycbe001-dtvincul = itab_zycbt006-dtpagto.
ENDIF.
* Preenche itab com doc.contábil gerado p/ Desmemb. Fatura
itab_contabil-nrinvoic = itab_zycbt006-nrinvoic.
CLEAR itab_contabil-vbeln.
itab_contabil-nrparcf = itab_zycbt006-nrparcf.
*<<Inicio exclusão>>
* itab_contabil-gsberf = itab_zycbt006-gsberf.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_contabil-gsberf = itab_zycbe033-c_gsber.
*<<Fim inclusão>>
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-180.
* PWS41734312 - Início - 11/05/2005 - Sidnei
* Chamado 226454 - Busca a Data do Período aberto do contrato
READ TABLE itab_zycbt074 WITH KEY nrseqc = itab_zycbt006-nrseqc.
IF sy-subrc EQ 0.
IF itab_zycbt074-dtcont IS INITIAL OR
itab_zycbt074-dtcont EQ '00000000'.
itab_contabil-dtdocto = itab_zycbt006-dtpagto.
ELSE.
itab_contabil-dtdocto = itab_zycbt074-dtcont.
ENDIF.
ENDIF.
* itab_contabil-dtdocto = itab_zycbt006-dtpagto.
* PWS41734312 - Fim - 11/05/2005 - Sidnei
*<<Inicio exclusão>>
* itab_contabil-bukrs = itab_zycbt006-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_contabil-bukrs = itab_zycbe033-bukrs.
*<<Fim inclusão>>
APPEND itab_contabil.
v_subrc = 0.
* Daniela Nunes - Chamado 154351 - 29/04/2004 - INICIO
/pws/zycbt084-nrseqc = itab_zycbt006-nrseqc.
/pws/zycbt084-tpdesp = itab_zycbt006-tpdesp.
/pws/zycbt084-nrparc = itab_zycbt006-nrparc.
/pws/zycbt084-dtincl = itab_zycbt006-dtincl.
/pws/zycbt084-nrinvoic = itab_zycbt006-nrinvoic.
/pws/zycbt084-nrparcf = itab_zycbt006-nrparcf.
/pws/zycbt084-gsberf = itab_zycbt006-gsberf.
/pws/zycbt084-dtvincul = itab_zycbt006-dtvincul.
/pws/zycbt084-dtvencto = itab_zycbt006-dtvencto.
/pws/zycbt084-dtpagto = itab_zycbt006-dtpagto.
/pws/zycbt084-vbeln = itab_zycbt030-vbeln.
/pws/zycbt084-belnr = itab_zycbt032-belnr.
/pws/zycbt084-liq_and = space.
/pws/zycbt084-tdesmemb = 'E'.
MODIFY /pws/zycbt084 FROM /pws/zycbt084.
* Daniela Nunes - Chamado 154351 - 29/04/2004 - FIM
ELSE.
LOOP AT itab_zycbt032 WHERE tcode = 'F-30'
AND tabela = 'ZYCBT006'
AND cpochv = itab_zycbe033-cpochv.
itab_erro-vbeln = itab_zycbt006-belnr5.
itab_erro-msg = itab_zycbt032-msg.
APPEND itab_erro.
ENDLOOP.
v_subrc = 4.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
v_subrc = 4.
ENDIF.
ELSE.
v_subrc = 4.
ENDIF.
sy-subrc = v_subrc.
ENDFORM. " desmembra_ace
Contexto: Form baixa_ace_performance.
...
IF itab_zycbt034 IS INITIAL.
* Efetua Call Transacion da transação F-30_P
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_F_30_Q'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
t_partidas = itab_partidas
EXCEPTIONS
campo_em_branco = 1
periodo_fechado = 2
OTHERS = 3.
* Campos da tela OK, porém resultado igual 'S' ou 'E'
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = 'ZYCBT006'
cpochv = itab_zycbe033-cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
itab_zycbt006-belnr_perf = itab_zycbt032-belnr.
MODIFY itab_zycbt006.
* Preenche itab com doc.contábil gerado p/ Desmemb. Fatura
itab_contabil-nrinvoic = itab_zycbt006-nrinvoic.
itab_contabil-nrparcf = itab_zycbt006-nrparcf.
CLEAR itab_contabil-vbeln.
*<<Inicio exclusão>>
* itab_contabil-gsberf = itab_zycbt006-gsberf.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_contabil-gsberf = /pws/zycbt001-gsber.
*<<Fim inclusão>>
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-212.
itab_contabil-dtdocto = itab_zycbt006-dtpagto.
*<<Inicio exclusão>>
* itab_contabil-bukrs = itab_zycbt006-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_contabil-bukrs = /pws/zycbt001-bukrs.
*<<Fim inclusão>>
APPEND itab_contabil.
v_subrc = 0.
ELSE.
LOOP AT itab_zycbt032 WHERE tcode = 'F-30'
AND tabela = 'ZYCBT006'
AND cpochv = v_cpochv.
CLEAR itab_erro-vbeln.
itab_erro-msg = itab_zycbt032-msg.
APPEND itab_erro.
ENDLOOP.
v_subrc = 4.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
v_subrc = 4.
ENDIF.
ELSE.
v_subrc = 4.
ENDIF.
sy-subrc = v_subrc.
ENDFORM. " baixa_ace_performance
Contexto: FORM anula_liquidacao_perf.
DATA: v_monat LIKE t001b-frpe1,
v_ano TYPE gjahr,
v_subrc LIKE sy-subrc.
PERFORM clear_date_batch.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = 'FBRA'.
itab_zycbe033-tabela = 'ZYCBT006'.
CONCATENATE itab_zycbt006-nrseqc
itab_zycbt006-nrinvoic
itab_zycbt006-dtpagto
itab_zycbt006-nrparcf
INTO v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
itab_zycbe033-belnr = itab_zycbt006-belnr_perf.
*<<Inicio exclusão>>
* itab_zycbe033-bukrs = itab_zycbt006-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_zycbe033-bukrs = /pws/zycbt001-bukrs.
*<<Fim inclusão>>
itab_zycbe033-bldat = itab_zycbt006-dtpagto.
itab_zycbe033-budat = itab_zycbt006-dtpagto.
*Determina o Período em que se encontra o ano contábil
PERFORM determina_periodo USING itab_zycbe033-bldat
itab_zycbe033-bukrs
CHANGING v_monat.
...
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_FBRA'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
CONCATENATE itab_zycbt006-nrseqc
itab_zycbt006-nrinvoic
itab_zycbt006-dtpagto
itab_zycbt006-nrparcf
INTO v_cpochv.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FBRA'
tabela = 'ZYCBT006'
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
itab_zycbe033-tcode = 'FB08'.
MODIFY itab_zycbe033 INDEX 1 TRANSPORTING tcode.
* Preenche itab com doc.contábil gerado p/ Desmemb. Fatura
itab_contabil-nrinvoic = itab_zycbt006-nrinvoic.
itab_contabil-nrparcf = itab_zycbt006-nrparcf.
CLEAR itab_contabil-vbeln.
*<<Inicio exclusão>>
* itab_contabil-gsberf = itab_zycbt006-gsberf.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_contabil-gsberf = /pws/zycbt001-gsber.
*<<Fim inclusão>>
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-210.
itab_contabil-dtdocto = itab_zycbt006-dtpagto.
itab_contabil-bukrs = itab_zycbe033-bukrs.
APPEND itab_contabil.
CALL FUNCTION '/PWS/ZYCB_TRANSACAO_FB08'
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
t_zycbt032 = itab_zycbt032
EXCEPTIONS
campo_em_branco = 1
OTHERS = 2.
IF sy-subrc = 0.
READ TABLE itab_zycbt032 WITH KEY tcode = 'FB08'
tabela = 'ZYCBT006'
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc EQ 0.
CLEAR itab_zycbt006-belnr.
MODIFY itab_zycbt006 TRANSPORTING belnr
WHERE nrinvoic = itab_zycbt006-nrinvoic
AND gsberf = itab_zycbt006-gsberf
AND nrparcf = itab_zycbt006-nrparcf
AND belnr_d = itab_zycbt006-belnr_d.
* Preenche itab com doc.contábil gerado p/ Desmemb. Fatura
itab_contabil-nrinvoic = itab_zycbt006-nrinvoic.
itab_contabil-nrparcf = itab_zycbt006-nrparcf.
CLEAR itab_contabil-vbeln.
*<<Inicio exclusão>>
* itab_contabil-gsberf = itab_zycbt006-gsberf.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_contabil-gsberf = /pws/zycbt001-gsber.
*<<Fim inclusão>>
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-211.
itab_contabil-dtdocto = itab_zycbt006-dtpagto.
itab_contabil-bukrs = itab_zycbe033-bukrs.
APPEND itab_contabil.
...
endform.
Contexto: FORM clearing_perf USING value(p_conta)
value(p_umskz)
value(p_budat)
value(p_kursf)
value(p_agkoa)
value(p_belnr_ref)
value(p_budat_ref)
value(p_texto)
CHANGING p_belnr.
...
ELSEIF itab_zyglt321-cpocb IS INITIAL AND
NOT itab_zyglt321-descr IS INITIAL.
itab_zycbe033-d_zuonr = itab_zyglt321-descr.
ENDIF.
WHEN 'ZTERM'.
IF itab_zyglt321-cpocb = 'ZTERM'.
itab_zycbe033-zterm = itab_zycbt017-zterm.
ENDIF.
ENDCASE.
ENDLOOP.
* Ana Paula - Chamado 161364 - 10/05/2004
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
itab_zycbe033-d_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-c_sgtxt = wa_zycbt011-txtdesc.
itab_zycbe033-augtx = wa_zycbt011-txtdesc.
* Texto do cabeçalho
itab_zycbe033-bktxt = wa_zycbt007-bktxt.
* Empresa
*<<Inicio exclusão>>
* PERFORM verify_null_field USING itab_zycbt006-bukrs
* 'BUKRS'
* text-004.
* itab_zycbe033-bukrs = itab_zycbt006-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
perform verify_null_field
using /pws/zycbt001-bukrs 'BUKRS' text-004.
itab_zycbe033-bukrs = /pws/zycbt001-bukrs.
*<<Fim inclusão>>
* Moeda
PERFORM verify_null_field USING itab_zycbt006-waers
'WAERS'
text-005.
itab_zycbe033-waers = itab_zycbt006-waers.
* Arbitragem de Moeda
IF itab_zycbt006-v_armda EQ 'X'.
PERFORM verify_null_field USING wa_zycbt011_d-blart
'BLART'
text-006.
itab_zycbe033-blart = wa_zycbt011_d-blart.
ELSE.
" Tipo de documento
PERFORM verify_null_field USING wa_zycbt011-blart
'BLART'
text-006.
itab_zycbe033-blart = wa_zycbt011-blart.
ENDIF.
*<<Inicio exclusão>>
* itab_zycbe033-d_gsber = itab_zycbt006-gsberf.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_zycbe033-d_gsber = /pws/zycbt001-gsber.
*<<Fim inclusão>>
itab_zycbe033-c_gsber = itab_zycbe033-d_gsber.
* Taxa de Câmbio
itab_zycbe033-kursf = p_kursf.
* Documento a ser compensado, através de PA
PERFORM verify_null_field USING p_conta
'AGKON'
text-025.
itab_zycbe033-d_newko = p_conta.
itab_zycbe033-agkoa = p_agkoa.
itab_zycbe033-umskz = p_umskz.
...
endform.
Contexto: clearing_perf.
...
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = 'ZYCBT006'
cpochv = v_cpochv
tpmsg = 'S'.
IF sy-subrc = 0. " Contabiliz. com sucesso
p_belnr = itab_zycbt032-belnr.
* Preenche itab com doc.contábil gerado
itab_contabil-nrinvoic = itab_zycbt006-nrinvoic.
itab_contabil-nrparcf = itab_zycbt006-nrparcf.
itab_contabil-vbeln = itab_zycbt030-vbeln.
*<<Inicio exclusão>>
* itab_contabil-gsberf = itab_zycbt006-gsberf.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_contabil-gsberf = itab_zycbe033-c_gsber.
*<<Fim inclusão>>
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = p_texto.
itab_contabil-dtdocto = p_budat.
itab_contabil-bukrs = itab_zycbe033-bukrs.
APPEND itab_contabil.
ELSE.
LOOP AT itab_zycbt032 WHERE tcode = 'F-30'
AND tabela = 'ZYCBT006'
AND cpochv = v_cpochv.
itab_erro-vbeln = p_belnr_ref.
itab_erro-msg = itab_zycbt032-msg.
APPEND itab_erro.
ENDLOOP.
sy-subrc = 4.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
sy-subrc = 4.
ENDIF.
ELSE.
LOOP AT itab_zycbt034.
MESSAGE i016 WITH itab_zycbt034-descricao.
ENDLOOP.
sy-subrc = 4.
ENDIF.
ENDFORM. " clearing_perf
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F01
Contexto: FORM fill_date1_f02 TABLES itab_vinc LIKE itab_zycbt005[].
...
itab_zycbe033-kursf = v_kursf.
PERFORM verify_null_field USING wa_zycbt011-blart
'BLART'
text-006.
itab_zycbe033-blart = wa_zycbt011-blart.
PERFORM verify_null_field USING itab_vinc-vlvinc
'VLVINC'
text-007.
* No caso de exclusão, o valor da diferença é igual
* ao valor vinculado.
itab_zycbe033-wrbtr = abs( itab_vinc-vldif ).
* Verifica se Projeto está ativado
* Se retornar X para a Variável 'V_RETEXIT' o programa executa, passa
* a divisão do Contrato /PWS/ZYCBT001-GSBER
CALL CUSTOMER-FUNCTION '001'
IMPORTING
v_subrc = v_retexit.
IF v_retexit = 'X'
*<<Inicio inclusão>>
* Se for com performance, passa divisão correta
OR itab_zycbt005_ant-bukrs NE /pws/zycbe001-bukrs.
*<<Fim inclusão>>
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
itab_zycbe033-c_gsber = /pws/zycbe001-gsber.
ELSE.
* Verifica se houve inversão de contas contábeis; em caso positivo,
* inverte as divisões do contrato e da fatura.
IF v_ind_invert IS INITIAL.
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
itab_zycbe033-c_gsber = itab_vinc-gsberf.
ELSE. " Inverte divisões do contrato e fatura
itab_zycbe033-d_gsber = itab_vinc-gsberf.
itab_zycbe033-c_gsber = /pws/zycbe001-gsber.
ENDIF.
ENDIF.
* Centro de Custo, Centro de Lucro e Item Financeiro
itab_zycbe033-d_kostl = /pws/zycbe005-kostl.
itab_zycbe033-d_prctr = /pws/zycbe005-prctr.
itab_zycbe033-d_fipos = /pws/zycbe005-fipos.
itab_zycbe033-c_kostl = /pws/zycbe005-kostl.
itab_zycbe033-c_prctr = /pws/zycbe005-prctr.
itab_zycbe033-c_fipos = /pws/zycbe005-fipos.
...
DELETE FROM /pws/zycbt084
WHERE nrseqc = itab_vinc-nrseqc AND
nrparc = itab_vinc-nrparc AND
dtincl = itab_vinc-dtincl AND
nrinvoic = itab_vinc-nrinvoic AND
nrparcf = itab_vinc-nrparcf AND
gsberf = itab_vinc-gsberf AND
dtvincul = itab_vinc-dtvincul AND
tdesmemb = 'C'.
COMMIT WORK.
* Preenche itab com doc.contábil gerado p/ Desmemb. Fatura
itab_contabil-nrinvoic = itab_vinc-nrinvoic.
itab_contabil-nrparcf = itab_vinc-nrparcf.
itab_contabil-gsberf = itab_vinc-gsberf.
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-298.
itab_contabil-dtdocto = itab_vinc-dtbelnr.
*<<Inicio exclusão>>
* itab_contabil-bukrs = itab_vinc-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
* Carrega empresa correta, sendo ou não com performance
itab_contabil-bukrs = /pws/zycbe001-bukrs.
*<<Fim inclusão>>
APPEND itab_contabil.
* Seta v_status_s = 0 para fechar todos os campos e
* a vinculação permanece na tela
v_status_s = '0'.
* Exibe mensagem de erro
ELSE.
LOOP AT itab_zycbt032 WHERE tcode = 'F-02'
AND tabela = '/PWS/ZYCBT005'
AND cpochv = v_cpochv
AND tpmsg = 'E'.
* Armazena mensagens de erro em uma itab para mostrá-las
* posteriormente em um report
itab_erro-vbeln = itab_vinc-belnr.
itab_erro-msg = itab_zycbt032-msg.
APPEND itab_erro.
ENDLOOP.
IF sy-subrc EQ 0. "CHAMADO 218588 - 08/03/2005
v_erro_estorno = 'X'. "212219 - Luciana - 10/02/2005
ENDIF.
...
endform.
Contexto: FORM fill_date1_f30 TABLES itab_vinc LIKE itab_zycbt005[].
...
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = '/PWS/ZYCBT005'
cpochv = v_cpochv
tpmsg = 'S'.
* Contabilização (F-30) da conta de ACE com SUCESSO:
* Atualiza tabela de vinculações com o número de documento
* gerado e com o o status da transação, se executada com sucesso
IF sy-subrc EQ 0.
* Comentado em 17/03/2005 - 206393 - Luciana
* CALL CUSTOMER-FUNCTION '005'.
* Verifica se o número de documento a ser gravado é valido
IF NOT itab_zycbt032-belnr IS INITIAL.
itab_vinc-belnr = itab_zycbt032-belnr.
itab_vinc-belnr_vinc = itab_zycbt032-belnr.
READ TABLE itab_zycbe033b WITH
KEY cpochv = v_cpochv. "Maurício - 19/02/02
itab_vinc-dtbelnr = itab_zycbe033b-budat. "Maurício - 19/02/02
ENDIF.
itab_vinc-statrans = 'F-30'.
MODIFY itab_vinc.
* Histórico Doc. Contábeis
READ TABLE itab_zycbe033 WITH KEY cpochv = v_cpochv.
itab_zycbt077-belnr = itab_zycbt032-belnr.
itab_zycbt077-bukrs = itab_zycbe033-bukrs.
itab_zycbt077-gjahr = itab_zycbe033-budat(4).
itab_zycbt077-status = 'E'.
itab_zycbt077-tcode = itab_zycbt032-tcode.
CONCATENATE text-198 /pws/zycbe001-tpcontr INTO
itab_zycbt077-codeven.
itab_zycbt077-codmod = 'E'.
itab_zycbt077-nrseqc = /pws/zycbe001-nrseqc.
itab_zycbt077-gsberf = itab_vinc-gsberf.
itab_zycbt077-dtvincul = itab_vinc-dtvincul.
itab_zycbt077-nrinvoic = itab_vinc-nrinvoic.
itab_zycbt077-nrparcf = itab_vinc-nrparcf.
* Ch. 213594 - KB - 14/02/2005 - Início
* MODIFY /pws/zycbt077 FROM itab_zycbt077.
* Ch. 213594 - KB - 14/02/2005 - Fim
* Preenche itab com doc.contábil gerado p/ Desmemb. Fatura
itab_contabil-nrinvoic = itab_vinc-nrinvoic.
itab_contabil-nrparcf = itab_vinc-nrparcf.
itab_contabil-gsberf = itab_vinc-gsberf.
itab_contabil-docto = itab_vinc-belnr.
itab_contabil-msg = text-302.
itab_contabil-dtdocto = itab_vinc-dtbelnr.
*<<Inicio exclusão>>
* itab_contabil-bukrs = itab_vinc-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
* Carrega empresa correta, sendo ou não com performance
itab_contabil-bukrs = /pws/zycbe001-bukrs.
*<<Fim inclusão>>
APPEND itab_contabil.
ELSE.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = '/PWS/ZYCBT005'
cpochv = v_cpochv
tpmsg = 'E'.
IF sy-subrc EQ 0.
* Contabilização (F-30) da conta de ACE com ERRO
IF itab_vinc-flag EQ 'A'.
* Estorna lançamentos da F-02 nas 2 contas: ACE e ACC
PERFORM estorna_lanctos_f02 USING itab_vinc-nrinvoic
itab_vinc-nrparcf
v_cpochv
/pws/zycbe001-bukrs
itab_vinc-dtvincul
CHANGING itab_vinc-belnr_f02.
* Volta ao saldo do contrato anterior a mudança
/pws/zycbe001-slvinc = /pws/zycbe001-slvinc - itab_vinc-vldif.
MODIFY /pws/zycbt001 FROM /pws/zycbe001.
* Armazena mensagens de erro em uma itab para mostrá-las
* posteriormente em um report
CONCATENATE text-053 itab_vinc-nrinvoic text-075 INTO v_msg
SEPARATED BY space.
itab_erro-msg = v_msg.
APPEND itab_erro.
READ TABLE itab_zycbt005_ant
...
APPEND itab_zycbe033.
ENDIF.
* Carrega os dados das vinculações alteradas na tabela T036
* CLEAR itab_vinc. "Comentado em 04/02/2005 - Luciana - 212219
LOOP AT itab_vinc
WHERE flag = 'A' OR flag = 'E'
* CHAMADO 176697 - 27/09/2004 - David Pietroniro - INICIO
OR flag EQ 'S'.
* CHAMADO 176697 - 27/09/2004 - David Pietroniro - FIM
* Verifica se ocorreu erro na vinculação.
IF itab_vinc-status EQ 'I'.
EXIT.
ENDIF.
CLEAR itab_zycbt036.
itab_zycbt036-tcode = 'F-30'.
itab_zycbt036-tabela = '/PWS/ZYCBT005'.
itab_zycbt036-cpochv = v_cpochv.
*<<Inicio inclusão>>
IF NOT itab_vinc-belnr_vinc IS INITIAL AND
itab_vinc-belnr_vinc GT itab_vinc-belnr_f02.
itab_zycbt036-belnr = itab_vinc-belnr_vinc.
ELSE.
*<<Fim inclusão>>
itab_zycbt036-belnr = itab_vinc-belnr_f02.
*<<Inicio inclusão>>
ENDIF.
*<<Fim inclusão>>
* Chamado 203491 - AnaB - 15/12/2004 - Início
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = /pws/zycbe001-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.
* Chamado 203491 - AnaB - 15/12/2004 - Fim
SELECT SINGLE * FROM bkpf
WHERE bukrs EQ /pws/zycbe001-bukrs
AND belnr EQ itab_vinc-belnr_f02
AND gjahr EQ v_year. "itab_zycbe033-budat(4).
itab_zycbt036-dtdocto = bkpf-budat.
APPEND itab_zycbt036.
IF /pws/zycbe001-tpcontr+0(1) = 'D'.
CLEAR itab_ace_aux.
REFRESH itab_ace_aux.
...
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = '/PWS/ZYCBT005'
cpochv = v_cpochv
tpmsg = 'S'.
* Atualiza a variável com o número do documento que
* será gravado na tabela de contratos - SUCESSO
IF sy-subrc EQ 0.
* Comentado em 17/03/2005 - 206393 - Luciana
* CALL CUSTOMER-FUNCTION '009'.
v_slvinc = /pws/zycbe001-slvinc.
v_belnr_001 = itab_zycbt032-belnr. "Guarda último
"doc. gerado
/pws/zycbe001-belnr2 = itab_zycbt032-belnr. "na variável
"e na estrutura
v_dtdocto = itab_zycbe033-budat.
MODIFY /pws/zycbt221 FROM TABLE itab_zycbt221.
COMMIT WORK.
* Se a transação foi executada com sucesso, apaga o campo Flag,
* que controla se houve Inclusão, Alteração ou Exclusão
LOOP AT itab_vinc
WHERE flag = 'A'.
itab_vinc-flag = ' '.
MODIFY itab_vinc.
ENDLOOP.
itab_zycbt077-belnr = itab_zycbt032-belnr.
itab_zycbt077-bukrs = itab_zycbe033-bukrs.
itab_zycbt077-gjahr = itab_zycbe033-budat(4).
itab_zycbt077-status = 'E'.
itab_zycbt077-tcode = itab_zycbt032-tcode.
CONCATENATE text-198 /pws/zycbe001-tpcontr INTO
itab_zycbt077-codeven.
itab_zycbt077-codmod = 'E'.
itab_zycbt077-nrseqc = /pws/zycbe001-nrseqc.
itab_zycbt077-gsberf = /pws/zycbe001-gsber.
itab_zycbt077-dtvincul = itab_vinc-dtvincul.
* Ch. 213594 - KB - 14/02/2005 - Início
* MODIFY /pws/zycbt077 FROM itab_zycbt077.
* Ch. 213594 - KB - 14/02/2005 - Fim
* Preenche itab com doc.contábil gerado p/ Desmemb. Fatura
itab_contabil-nrinvoic = itab_vinc-nrinvoic.
itab_contabil-nrparcf = itab_vinc-nrparcf.
itab_contabil-gsberf = itab_vinc-gsberf.
itab_contabil-docto = itab_zycbt032-belnr.
itab_contabil-msg = text-341.
itab_contabil-dtdocto = itab_vinc-dtbelnr.
*<<Inicio exclusão>>
* itab_contabil-bukrs = itab_vinc-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
itab_contabil-bukrs = /pws/zycbe001-bukrs.
*<<Fim inclusão>>
APPEND itab_contabil.
ELSE.
* Exibe mensagem de erro
LOOP AT itab_zycbt032 WHERE tcode = 'F-30'
AND tabela = '/PWS/ZYCBT005'
AND cpochv = v_cpochv
AND tpmsg = 'E'.
* Armazena mensagens de erro em uma itab para mostrá-las
* posteriormente em um report
itab_erro-vbeln = itab_vinc-belnr.
itab_erro-msg = itab_zycbt032-msg.
APPEND itab_erro.
ENDLOOP.
LOOP AT itab_vinc WHERE flag = 'A'
OR flag = 'E'.
READ TABLE itab_zycbt032 WITH KEY tcode = 'F-30'
tabela = '/PWS/ZYCBT005'
cpochv = v_cpochv
tpmsg = 'E'.
IF sy-subrc EQ 0.
* Contabilização (F-30) da conta de ACC com ERRO
* ALTERAÇÃO
IF itab_vinc-flag EQ 'A'. " Alteração
* Anula compensação da F-30 na conta de ACE
PERFORM anula_compens_f30 USING itab_vinc-nrinvoic
itab_vinc-nrparcf
v_cpochv
/pws/zycbe001-bukrs
itab_vinc-dtvincul
CHANGING itab_vinc-belnr
itab_vinc-belnr_f02.
...
endform.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F03
Contexto: FORM preenche_itab_zycbt005.
LOOP AT itab_zycbt005.
* CHAMADO 241280 - 29/06/2005 - INICIO
* Cálculo foi inserido fora do Loop do PAI porquê
* só atualizava as faturas que apareciam na tela
LOOP AT itab_zycbt006 WHERE nrinvoic = itab_zycbt005-nrinvoic
AND gsberf = itab_zycbt005-gsberf
AND nrparcf = itab_zycbt005-nrparcf.
ENDLOOP.
IF sy-subrc NE 0.
itab_zycbt005-slpagar = itab_zycbt005-vlvinc.
ELSE.
itab_zycbt005-slpagar = itab_zycbt005-slpagar.
ENDIF.
* CHAMADO 241280 - 29/06/2005 - FIM
* Dados do cabeçalho
itab_zycbt005-kostl = /pws/zycbe005-kostl.
itab_zycbt005-prctr = /pws/zycbe005-prctr.
itab_zycbt005-fipos = /pws/zycbe005-fipos.
itab_zycbt005-frcont = /pws/zycbe005-frcont.
itab_zycbt005-ftxt = /pws/zycbe005-ftxt.
itab_zycbt005-txtinf = /pws/zycbe005-txtinf.
itab_zycbt005-txtobs = /pws/zycbe005-txtobs.
itab_zycbt005-dtvincul = /pws/zycbe005-dtvincul.
itab_zycbt005-nrseqc = /pws/zycbe001-nrseqc.
itab_zycbt005-nrcontr = /pws/zycbe001-nrcontr.
itab_zycbt005-tpcontr = /pws/zycbe001-tpcontr.
itab_zycbt005-bconegoc = /pws/zycbe001-bconegoc.
itab_zycbt005-bcofinan = /pws/zycbe001-bcofinan.
*<<Inicio exclusão>>
* itab_zycbt005-bukrs = /pws/zycbe001-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
read table itab_zycbt017 with key nrinvoic = itab_zycbt005-nrinvoic
nrparcf = itab_zycbt005-nrparcf
gsberf = itab_zycbt005-gsberf.
if sy-subrc = 0.
itab_zycbt005-bukrs = itab_zycbt017-bukrs.
else.
itab_zycbt005-bukrs = /pws/zycbe001-bukrs.
endif.
*<<Fim inclusão>>
itab_zycbt005-gsber = /pws/zycbe001-gsber.
itab_zycbt005-j_1bbranch = /pws/zycbe005-j_1bbranch.
itab_zycbt005-werks = /pws/zycbe005-werks.
* Chamado 260933 - Renato - 21.10.2005 - Inicio inclusão
IF itab_zycbt005-vlslf EQ 0 AND itab_zycbt005-v_fsaldo IS INITIAL.
SELECT SINGLE vlslf FROM /pws/zycbt017
INTO itab_zycbt005-vlslf
WHERE nrinvoic = itab_zycbt005-nrinvoic
AND nrparcf = itab_zycbt005-nrparcf
AND gsberf = itab_zycbt005-gsberf.
itab_zycbt005-v_fsaldo = 'X'.
ENDIF.
* Chamado 260933 - Renato - 21.10.2005 - Fim inclusão
MODIFY itab_zycbt005 TRANSPORTING kostl
prctr
fipos
frcont
ftxt
txtinf
txtobs
dtvincul
parid
vlme_p
nrseqc
nrcontr
tpcontr
bconegoc
bcofinan
bukrs
gsber
j_1bbranch
werks
* CHAMADO 241280 - 29/06/2005 - INICIO
slpagar
* CHAMADO 241280 - 29/06/2005 - FIM
* Chamado 260933 - Renato - 21.10.2005 - Inicio inclusão
vlslf.
* Chamado 260933 - Renato - 21.10.2005 - Fim inclusão
ENDLOOP.
ENDFORM. " PREENCHE_ITAB_ZYCBT005
Contexto: FORM atualiza_itab_zycbt005.
* Dados do cabeçalho
itab_zycbt005-kostl = /pws/zycbe005-kostl.
itab_zycbt005-prctr = /pws/zycbe005-prctr.
itab_zycbt005-fipos = /pws/zycbe005-fipos.
itab_zycbt005-frcont = /pws/zycbe005-frcont.
itab_zycbt005-ftxt = /pws/zycbe005-ftxt.
itab_zycbt005-txtinf = /pws/zycbe005-txtinf.
itab_zycbt005-txtobs = /pws/zycbe005-txtobs.
itab_zycbt005-dtvincul = /pws/zycbe005-dtvincul.
itab_zycbt005-nrseqc = /pws/zycbe001-nrseqc.
itab_zycbt005-nrcontr = /pws/zycbe001-nrcontr.
itab_zycbt005-tpcontr = /pws/zycbe001-tpcontr.
itab_zycbt005-bconegoc = /pws/zycbe001-bconegoc.
itab_zycbt005-bcofinan = /pws/zycbe001-bcofinan.
*<<Inicio exclusão>>
* itab_zycbt005-bukrs = /pws/zycbe001-bukrs.
*<<Fim exclusão>>
*<<Inicio inclusão>>
read table itab_zycbt017 with key nrinvoic = /pws/zycbe005-nrinvoic
nrparcf = /pws/zycbe005-nrparcf
gsberf = /pws/zycbe005-gsberf.
if sy-subrc = 0.
itab_zycbt005-bukrs = itab_zycbt017-bukrs.
else.
itab_zycbt005-bukrs = /pws/zycbe001-bukrs.
endif.
*<<Fim inclusão>>
itab_zycbt005-gsber = /pws/zycbe001-gsber.
itab_zycbt005-j_1bbranch = /pws/zycbe005-j_1bbranch.
itab_zycbt005-werks = /pws/zycbe005-werks.
itab_zycbt005-nrinvoic = /pws/zycbe005-nrinvoic.
itab_zycbt005-nrparcf = /pws/zycbe005-nrparcf.
itab_zycbt005-gsberf = /pws/zycbe005-gsberf.
itab_zycbt005-dtvencto = /pws/zycbe005-dtvencto.
itab_zycbt005-vlvinc = /pws/zycbe005-vlvinc.
endform.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009F08
Contexto: FORM fill_date1_f30_vinc.
...
IF sy-subrc EQ 0.
READ TABLE itab_zyglt316 INDEX 1.
itab_zycbe033-d_newko = itab_zyglt316-konth.
ENDIF.
PERFORM verify_null_field USING itab_zycbe033-d_newko
'NEWKO'
text-014.
ENDIF.
itab_zycbe033-mandt = sy-mandt.
itab_zycbe033-tcode = text-041. " Transação F-30
itab_zycbe033-tabela = text-002. " Tabela ZYCBT001
* Chamado 203491 - AnaB - 15/12/2004 - Início
CLEAR v_year.
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = itab_zycbt005-bukrs
v_date = v_dtdocto
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.
* Chamado 203491 - AnaB - 15/12/2004 - Fim
SELECT SINGLE * FROM bkpf
*<<Inicio exclusão>>
* WHERE bukrs EQ itab_zycbt005-bukrs
*<<Fim exclusão>>
*<<Inicio inclusão>>
WHERE bukrs EQ /pws/zycbe001-bukrs
*<<Fim inclusão>>
AND belnr EQ /pws/zycbe001-belnr2
AND gjahr EQ v_year. "v_dtdocto(4).
itab_zycbe033-dtdocto = bkpf-budat.
CONCATENATE itab_zycbt005-nrseqc itab_zycbt005-tpdesp
itab_zycbt005-nrparc itab_zycbt005-dtincl
itab_zycbt005-nrinvoic itab_zycbt005-gsberf
itab_zycbt005-nrparcf
itab_zycbt005-dtvincul itab_zycbt005-dtvencto 'A'
INTO v_cpochv.
itab_zycbe033-cpochv = v_cpochv.
itab_zycbe033-newbs = '50'.
PERFORM verify_null_field USING itab_zycbt005-dtvincul
'DTVINCUL'
text-003.
itab_zycbe033-budat = itab_zycbt005-dtvincul.
IF wa_zycbt007-fdtdoc = 'D'.
itab_zycbe033-bldat = sy-datum.
ELSE.
itab_zycbe033-bldat = itab_zycbe033-budat.
ENDIF.
CONCATENATE '002' /pws/zycbe001-tpcontr INTO v_codeven.
REFRESH itab_zyglt321.
SELECT * FROM /pws/zyglt321
INTO TABLE itab_zyglt321
WHERE ktosl = 'CPT'
AND codeven = v_codeven.
READ TABLE itab_zycbt017 WITH KEY nrinvoic = itab_zycbt005-nrinvoic
gsberf = itab_zycbt005-gsberf
nrparcf = itab_zycbt005-nrparcf.
LOOP AT itab_zyglt321.
...
* Empresa
PERFORM verify_null_field USING /pws/zycbe001-bukrs
'BUKRS'
text-004.
itab_zycbe033-bukrs = /pws/zycbe001-bukrs.
* Moeda
PERFORM verify_null_field USING /pws/zycbe001-waers
'WAERS'
text-005.
itab_zycbe033-waers = /pws/zycbe001-waers.
* Tipo Documento Contábil
PERFORM verify_null_field USING wa_zycbt011-blart
'BLART'
text-006.
itab_zycbe033-blart = wa_zycbt011-blart.
* Funçao que verifica se Projeto está ativado
* Se retornar X para a Variável 'V_RETEXIT' o programa executa, passa a
* divisão do Contrato ZYCBT001-GSBER
CALL CUSTOMER-FUNCTION '001'
IMPORTING
v_subrc = v_retexit.
IF v_retexit = 'X'
*<<Inicio inclusão>>
OR itab_zycbt005-bukrs NE /pws/zycbe001-bukrs.
*<<Fim inclusão>>
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
itab_zycbe033-c_gsber = /pws/zycbe001-gsber.
ELSE.
itab_zycbe033-d_gsber = /pws/zycbe001-gsber.
itab_zycbe033-c_gsber = itab_zycbt005-gsberf.
ENDIF.
itab_zycbe033-wrbtr = itab_zycbt005-vlvinc. "Vl Vinculação
itab_zycbe033-wrbtr1 = /pws/zycbe001-slvinc.
itab_zycbe033-wrbtr2 = /pws/zycbe001-slvinc + itab_zycbt005-vlvinc.
itab_zycbe033-d_kostl = /pws/zycbe005-kostl.
itab_zycbe033-werks = /pws/zycbe005-werks. "Ch. 249575
itab_zycbe033-d_prctr = /pws/zycbe005-prctr.
itab_zycbe033-d_fipos = /pws/zycbe005-fipos.
itab_zycbe033-c_kostl = /pws/zycbe005-kostl.
itab_zycbe033-c_prctr = /pws/zycbe005-prctr.
itab_zycbe033-c_fipos = /pws/zycbe005-fipos.
...
endform.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCB009I01
Contexto: MODULE get_invoice INPUT.
...
SELECT SINGLE * FROM /pws/zycbt089 INTO wa_zycbt089
WHERE bukrs = /pws/zycbe001-bukrs.
IF /pws/zycbe001-desc_receb IS INITIAL.
IF NOT wa_zycbt089-controle_ov IS INITIAL AND
/pws/zycbe001-tpcontr(1) = 'D'.
v_searchhelp = '/PWS/ZYCBA263'.
v_nrseqc = /pws/zycbe001-nrseqc.
ELSE.
CLEAR v_nrseqc.
v_searchhelp = '/PWS/ZYCBA068'.
ENDIF.
ELSE.
CLEAR v_nrseqc.
v_searchhelp = '/PWS/ZYCBA266'.
ENDIF.
EXPORT v_nrseqc TO MEMORY ID '111'.
*<<Inicio inclusão>>
SET PARAMETER ID '/PWS/ZYCBP019' FIELD /pws/zycbe001-nrseqc.
*<<Fim inclusão>>
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
EXPORTING
tabname = '/PWS/ZYCBE005'
fieldname = 'NRINVOIC'
searchhelp = v_searchhelp
shlpparam = 'NRINVOIC'
* Chamado 260933 - Renato - 21.10.2005 - Inicio inclusão
multiple_choice = 'X'
* Chamado 260933 - Renato - 21.10.2005 - Fim inclusão
display = l_display
TABLES
return_tab = itab_result
EXCEPTIONS
OTHERS = 5.
*<<Inicio exclusão>>
* CHECK sy-subrc EQ 0 AND l_display EQ space.
*<<Fim exclusão>>
*<<Inicio inclusão>>
CHECK sy-subrc EQ 0 AND l_display EQ space and v_status_s = 1.
*<<Fim inclusão>>
IMPORT record_tab FROM MEMORY ID 'mcx_record_tab'.
IMPORT shlp_curr FROM MEMORY ID 'mcx_shlp_curr'.
CHECK sy-subrc EQ 0.
CALL FUNCTION 'DYNP_GET_STEPL'
IMPORTING
povstepl = v_line.
* Chamado 260933 - Renato - 21.10.2005 - Inicio inclusão
* Verifica se existe linhas anteriores não preenchidas, para não deixar
* espaço entre as mesmas
DO v_line TIMES.
CLEAR tdynpread.
REFRESH tdynpread.
tdynpread-fieldname = '/PWS/ZYCBE005-NRINVOIC'.
tdynpread-stepl = v_line - 1.
APPEND tdynpread.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = '/PWS/SAPMZYCB009'
dynumb = '0100'
TABLES
dynpfields = tdynpread.
IF sy-subrc EQ 0 AND
tdynpread-fieldvalue IS INITIAL AND
tdynpread-stepl GT 0.
v_line = tdynpread-stepl.
ELSEIF sy-subrc EQ 0 AND
NOT tdynpread-fieldvalue IS INITIAL.
EXIT.
ENDIF.
ENDDO.
...
endmodule.
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/ZZYCBGF3U01
TABLES: /pws/zycbt017,
/pws/zycbt219.
DATA: BEGIN OF itab_faturas OCCURS 0.
INCLUDE STRUCTURE record_tab.
DATA: END OF itab_faturas.
DATA: BEGIN OF itab_zycet002 OCCURS 0.
INCLUDE STRUCTURE /pws/zycet002.
DATA: END OF itab_zycet002.
DATA: BEGIN OF itab_zycbt221 OCCURS 0.
INCLUDE STRUCTURE /pws/zycbt221.
DATA: END OF itab_zycbt221.
*<<Inicio inclusão>>
data: begin of itab_bukrs occurs 0,
bukrs like /pws/zycbt001-bukrs,
end of itab_bukrs.
*<<Fim inclusão>>
DATA: v_string LIKE record_tab-string,
v_zterm LIKE /pws/zycbt017-zterm,
v_desc_receb LIKE /pws/zycbt001-desc_receb, " AP - 163462
v_tabix LIKE sy-tabix,
v_nrinvoic LIKE /pws/zycbt017-nrinvoic,
v_nrinvoic1 LIKE /pws/zycbt017-nrinvoic,
* Chamado 260933 - Renato - 20.10.2005 - Inicio inclusão
ask_activex(10) TYPE c,
shlp_curr TYPE shlp_descr_t,
* Chamado 260933 - Renato - 20.10.2005 - Fim inclusão
*<<Inicio inclusão>>
v_nrseqc2 like /pws/zycbt001-nrseqc.
*<Fim inclusão>>
* Traz da memória a condição de pagamento da captação
IMPORT v_zterm FROM MEMORY ID '009'.
IMPORT v_desc_receb FROM MEMORY ID '010'.
IMPORT v_nrseqc FROM MEMORY ID '111'.
* A tabela record_tab contém todos os dados da tabela ZYCBT005.
CLEAR v_nrinvoic.
*<<Inicio inclusão>>
* Tratamento para trazer somente faturas de empresa do contrato
* Retirado valores propostos no id BUK da ajuda e visão
get parameter id '/PWS/ZYCBP019' field v_nrseqc2.
if not record_tab[] is initial and not v_nrseqc2 is initial.
select bukrs from /pws/zycbt001
into table itab_bukrs
where nrseqc = v_nrseqc2.
select bukrs_perf from /pws/zycbt074
appending table itab_bukrs
where nrseqc = v_nrseqc2.
select bukrs_perf from /pws/zycbt223
appending table itab_bukrs
where nrseqc = v_nrseqc2.
delete itab_bukrs where bukrs is initial.
endif.
*<<Fim inclusão>>
LOOP AT record_tab.
*<<Inicio inclusão>>
v_tabix = sy-tabix.
if record_tab-string(3) = sy-mandt.
read table itab_bukrs with key bukrs = record_tab-string+23(4).
else.
read table itab_bukrs with key bukrs = record_tab-string+20(4).
endif.
if sy-subrc ne 0.
delete record_tab index v_tabix.
continue.
endif.
*<<Fim inclusão>>
v_string = record_tab-string.
* Ana Paula - Chamado 163462 - 14/07/2004 - Início
IF NOT v_desc_receb IS INITIAL.
* Incluído - Fábio Kazuo Hatanaka - 05.10.2004
* Chamado 189334 - Caso tenha sido criada o Desconto de Recebíveis
* mais de uma vez para a mesma fatura, será exibido na tela apenas
* um registro.
IF record_tab-string+3(10) EQ v_nrinvoic.
CONTINUE.
ENDIF.
v_nrinvoic = record_tab-string+3(10).
* Fim da Inclusão - Fábio Kazuo Hatanaka - 05.10.2004
SELECT SINGLE * FROM /pws/zycbt219
WHERE nrinvoic = record_tab-string+3(10)
AND gsberf = record_tab-string+27(04)
AND nrparcf = record_tab-string+31(02)
AND belnr = record_tab-string+150(10)
AND saldo GT 0.
IF sy-subrc EQ 0 AND
/pws/zycbt219-saldo GT 0.
MOVE v_string TO itab_faturas.
APPEND itab_faturas.
ELSE.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em SHLD /PWS/ZYCBA008
MODIFICAR AJUDA DE PESQUISA: /PWS/ZYCBA008
DESCRIÇÃO BREVE: CB - Faturas c/ Embarque
*Retirar valor proposto BUK
PARÂMETROS:
PARAM. IMP EXP POSL ISEL EXAJ ELEM. DADOS MOD VALOR PROPOSTO
*<<Inicio exclusão>>
*BUKRS 'X' 2 2 BUKRS BUK
*<<Fim exclusão>>
*<<Inicio inclusão>>
BUKRS 'X' 2 2 BUKRS
*<<Fim inclusão>>
----------------------------------------------------------------------------------------------------
Modificações efetuadas em SHLD /PWS/ZYCBA068
MODIFICAR AJUDA DE PESQUISA: /PWS/ZYCBA068
DESCRIÇÃO BREVE: CB - Faturas com e sem Embarque
*Retirar valor proposto BUK
PARÂMETROS:
PARAM. IMP EXP ELEM. DADOS VALOR PROPOSTO
*<<Inicio exclusão>>
*BUKRS 'X' BUKRS BUK
*<<Fim exclusão>>
*<<Inicio inclusão>>
BUKRS 'X' BUKRS
*<<Fim inclusão>>