Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Fatura Mercadoria
Data/Hora da Publicação: 04/10/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 13:04:01
Descrição da Nota: TRATAMENTO PARA MOTIVO DE ESTORNO DA FB08 NA FATURA
Sintoma
Ao estornar a FB08 não está tratando o motivo de acordo com o parâmetro da /PWS/ZYCBT007.
Periodo contábil fechado tem que levar o motivo de estorno 02 e a data do dia. Periodo Aberto tem
que levar o motivo de estorno 01 e a data do lançamento.
Solução
Fazer tratamento para motivo de estorno da FB08 na Fatura
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02200 Data: 04/10/2006 Hora: 09:19:40
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02200
Categoria : Erro de Programa
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00134
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Versão - Pacote - Descrição Breve
02033 - 00001 - 6.0 - 00024 - ESTORNO DE UMA FATURA, SE O MÊS DE LANÇAMENTO ORIGINAL ESTIVER FE
02158 - 00002 - 6.0 - 00025 - SISTEMA ACUSA ERRO DE MOTIVO AO ESTORNAR FB08 EM VÁRIAS FUNCIONAL
----------------------------------------------------------------------------------------------------
TRATAMENTO PARA MOTIVO DE ESTORNO DA FB08 NA FATURA
----------------------------------------------------------------------------------------------------
Palavras Chave:
MOTIVO DE ESTORNO - FB08 - FATURA - PARÂMETROS - /PWS/ZYCBT007
PERÍODO CONTÁBIL ABERTO / FECHADO
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_TRANSACAO_FB08_A
FUNC /PWS/ZYGL_MOTIVO_ESTORNO
REPS /PWS/MZYCI003F01
REPS /PWS/MZYCI003F02
REPS /PWS/MZYCI003TOP
REPS /PWS/MZYCI003X01
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_FB08_A
...
PERFORM bdc_field USING:
'BSIS-BUDAT' v_data_est.
ENDIF.
PERFORM bdc_field USING:
'RF05A-BELNS' t_dados-belnr,
* >> Início da exclusão: FUNCTION /PWS/ZYCI_TRANSACAO_FB08_A
'RF05A-GJAHS' v_date,
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYCI_TRANSACAO_FB08_A
'RF05A-GJAHS' t_dados-gjahr,
* << Fim da inclusão
'BKPF-BUKRS' t_dados-bukrs,
'UF05A-STGRD' t_dados-stgrd,
'BDC_OKCODE' '=BU'.
IF t_dados-budat <> '00000000'.
WRITE: t_dados-budat TO v_data_lanc_char.
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYGL_MOTIVO_ESTORNO
MODIFICAR MÓDULO DE FUNÇÃO: /PWS/ZYGL_MOTIVO_ESTORNO
CARACTERÍSTICAS
CLASSIFICAÇÃO:
GRUPO DE FUNÇÕES: /PWS/ZYGLGF
TEXTO BREVE: GL -Verifica período antes de atribuir motivo de estorno
TIPO DE EXECUÇÃO:
(X) - MÓDULO DE FUNÇÃO NORMAL
(X) - INÍCIO IMEDIATO
IMPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA VL. PROPOSTO OPCIONAL TRANSF. TEXT
V_DATA TYPE BUDAT X Data de lançamento no documento
V_BUKRS TYPE BUKRS X Empresa
V_KOART TYPE T001B-MKOAR X Tp de conta ou entrada genérica
EXPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA TRANSF. TEXTO BREVE
V_SUBRC TYPE SY-SUBRC X Valor retorno, valor de retorno após instruções ABAP
V_GJAHR TYPE /PWS/ZYCBE033-GJAHR X Exercício
Texto fonte:
FUNCTION /PWS/ZYGL_MOTIVO_ESTORNO.
* >> Início da exclusão: FUNCTION /PWS/ZYGL_MOTIVO_ESTORNO
data : v_gjahr type t001b-frye1,
* << Fim da exclusão
* >> Início da inclusão: FUNCTION /PWS/ZYGL_MOTIVO_ESTORNO
data :
* << Fim da inclusão
v_monat type T001B-FRPE1,
v_ano type bkpf-gjahr .
v_gjahr = v_data+0(4).
v_monat = v_data+4(2).
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
...
...
v_date = v_data
IMPORTING
V_YEAR = v_ano .
IF sy-subrc eq 0.
v_gjahr = v_ano.
* >> Início da exclusão: FUNCTION /PWS/ZYGL_MOTIVO_ESTORNO
else.
v_gjahr = v_data+0(4).
* << Fim da exclusão
ENDIF.
CALL FUNCTION 'FI_PERIOD_CHECK'
EXPORTING
I_BUKRS = v_bukrs
i_gjahr = v_gjahr
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F01
...
SELECT MAX( nrseq ) INTO (v_nrseq) FROM /pws/zycbt119.
v_count = v_nrseq+0(8) + 1.
CONCATENATE v_count sy-datum+2(2) INTO /pws/zycbt119-nrseq.
ENDFORM.
FORM reverse_document_fb08.
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FB08
DATA: v_monat LIKE bsis-monat,
v_belnr_ant LIKE /pws/zycie006-belnr_p,
v_subrc TYPE sy-subrc.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FB08
DATA:
v_monat LIKE bsis-monat,
v_belnr_ant LIKE /pws/zycie006-belnr_p.
* << Fim da inclusão
CLEAR v_erro.
IF v_parcela = 'X'.
itab_zycbe033-tabela = '/PWS/ZYCIT132'.
itab_zycbe033-cpochv = itab_zycit132-nrseq.
itab_zycbe033-belnr = itab_zycit132-belnr_p.
...
...
EXPORTING
v_data = /pws/zycie006-dtlanc
v_bukrs = /pws/zycie006-bukrs
v_koart = 'K'
IMPORTING
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FB08
v_subrc = v_subrc.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FB08
v_subrc = v_subrc
v_gjahr = itab_zycbe033-gjahr.
* << Fim da inclusão
IF v_subrc = 0.
itab_zycbe033-budat = itab_zycit132-dt_belnrp.
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
ELSE.
itab_zycbe033-budat = sy-datum.
...
...
EXPORTING
v_data = /pws/zycie006-dtlanc
v_bukrs = /pws/zycie006-bukrs
v_koart = 'K'
IMPORTING
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FB08
v_subrc = v_subrc.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FB08
v_subrc = v_subrc
v_gjahr = itab_zycbe033-gjahr.
* << Fim da inclusão
IF v_subrc = 0.
itab_zycbe033-budat = /pws/zycie006-dtlanc.
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
ELSE.
itab_zycbe033-budat = sy-datum.
...
...
EXPORTING
v_data = itab_zycit132-dt_belnrp
v_bukrs = /pws/zycie006-bukrs
v_koart = 'K'
IMPORTING
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FB08
v_subrc = v_subrc.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FB08
v_subrc = v_subrc
v_gjahr = itab_zycbe033-gjahr.
* << Fim da inclusão
IF v_subrc = 0.
itab_zycbe033-budat = itab_zycit132-dt_belnrp.
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
else.
itab_zycbe033-budat = sy-datum.
...
...
EXPORTING
v_data = /pws/zycie006-dtlanc
v_bukrs = /pws/zycie006-bukrs
v_koart = 'K'
IMPORTING
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FB08
v_subrc = v_subrc.
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FB08
v_subrc = v_subrc
v_gjahr = itab_zycbe033-gjahr.
* << Fim da inclusão
IF v_subrc = 0.
itab_zycbe033-budat = /pws/zycie006-dtlanc.
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
ELSE.
itab_zycbe033-budat = sy-datum.
...
...
itab_zycbe033-tcode = 'FB08'.
itab_zycbe033-bukrs = /pws/zycie006-bukrs.
itab_zycbe033-gjahs = itab_zycbe033-budat+0(4).
v_monat = itab_zycbe033-budat+4(2).
APPEND itab_zycbe033.
* >> Início da inclusão: FORM REVERSE_DOCUMENT_FB08
CALL FUNCTION '/PWS/ZYCI_TRANSACAO_FB08_A'
* << Fim da inclusão
* >> Início da exclusão: FORM REVERSE_DOCUMENT_FB08
CALL FUNCTION '/PWS/ZYCI_TRANSACAO_FB08'
* << Fim da exclusão
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003F02
...
itab_zycbe033-tabela = '/PWS/ZYCIT006'.
itab_zycbe033-cpochv = v_cpochv_fb08.
itab_zycbe033-belnr = v_belnr_fb08.
itab_zycbe033-bukrs = /pws/zycie006-bukrs.
itab_zycbe033-bldat = v_bldat_fb08.
* >> Início da exclusão: FORM REVERSE_COCUMENTO_CONTAB_FB08
itab_zycbe033-budat = v_bldat_fb08.
itab_zycbe033-gjahs = v_bldat_fb08+0(4).
* << Fim da exclusão
v_belnr_ant = v_docant_fb08.
* >> Início da inclusão: FORM REVERSE_COCUMENTO_CONTAB_FB08
CALL FUNCTION '/PWS/ZYGL_MOTIVO_ESTORNO'
EXPORTING
v_data = /pws/zycie006-dtlanc
v_bukrs = /pws/zycie006-bukrs
v_koart = 'K'
IMPORTING
v_subrc = v_subrc
v_gjahr = itab_zycbe033-gjahr .
IF v_subrc = 0.
itab_zycbe033-budat = itab_zycit132-dt_belnrp.
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
ELSE.
itab_zycbe033-budat = sy-datum.
itab_zycbe033-stgrd = /pws/zycbt007-perencer .
ENDIF.
* << Fim da inclusão
* >> Início da exclusão: FORM REVERSE_COCUMENTO_CONTAB_FB08
itab_zycbe033-stgrd = /pws/zycbt007-percorr.
* << Fim da exclusão
APPEND itab_zycbe033.
* >> Início da exclusão: FORM REVERSE_COCUMENTO_CONTAB_FB08
CALL FUNCTION '/PWS/ZYCI_TRANSACAO_FB08'
* << Fim da exclusão
* >> Início da inclusão: FORM REVERSE_COCUMENTO_CONTAB_FB08
CALL FUNCTION '/PWS/ZYCI_TRANSACAO_FB08_A'
* << Fim da inclusão
EXPORTING
v_modo = v_modo_bi
TABLES
t_dados = itab_zycbe033
t_campo = itab_zycbt034
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003TOP
...
v_existe VALUE 'N',
v_contabilizou,
v_flag_sequencial,
v_total_desp(18),
v_refer,
* >> Início da exclusão:
v_subrc,
* << Fim da exclusão
v_flag_sele,
e_status,
v_sele_zycit003,
v_tot_deducoes LIKE /pws/zycie006-vltotal,
v_banco(3),
...
----------------------------------------------------------------------------------------------------
Modificações efetuadas em REPS /PWS/MZYCI003X01
...
v_zuonr like bseg-zuonr,
v_xblnr like itab_zycbe033-xblnr,
v_sgtxt like bseg-sgtxt ,
v_bktxt LIKE /pws/zycbt007-bktxt,
v_resposta .
* >> Início da inclusão:
DATA: v_monat TYPE bsis-monat,
v_subrc TYPE sy-subrc,
v_gjahr TYPE /pws/zycbe033-gjahr .
* << Fim da inclusão
data: end of common part.