Módulo: DOC. IMPORTAÇÃO
Funcionalidade: Função
Data/Hora da Publicação: 27/09/2006 00:00:00
Data/Hora Última Alteração: 20/06/2011 12:53:49
Descrição da Nota: SISTEMA ACUSA ERRO DE MOTIVO AO ESTORNAR FB08 EM VÁRIAS FUNCIONALIDADES.
Sintoma
Sistema acusa erro de motivo de estorno ao estornar FB08 em várias funcionalidades.
Solução
Tratar motivo do estorno de acordo com a /PWS/ZYCBT007.
6.0
Informações Complementares
----------------------------------------------------------------------------------------------------
Nota Número 02158 Data: 27/09/2006 Hora: 14:25:26
----------------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------------
Nota Número : 02158
Categoria : Melhoria
Prioridade : Alta
Versão PW.CE : 6.0
Pacote : 00025
Agrupamento : 00132
----------------------------------------------------------------------------------------------------
Referência às notas relacionadas:
Número - Ordem - Descrição Breve
----------------------------------------------------------------------------------------------------
SISTEMA ACUSA ERRO DE MOTIVO AO ESTORNAR FB08 EM VÁRIAS FUNCIONALIDADES.
----------------------------------------------------------------------------------------------------
Palavras Chave:
PERÍODO CONTÁBIL ABERTO / FECHADO
MOTIVO DE ESTORNO - FB08 - PARÂMETROS - /PWS/ZYCBT007
----------------------------------------------------------------------------------------------------
Objetos da nota:
FUNC /PWS/ZYCI_TRANSACAO_FB08_A
REPS /PWS/LZYCIGF2UXX
----------------------------------------------------------------------------------------------------
Modificações efetuadas em FUNC /PWS/ZYCI_TRANSACAO_FB08_A
*Criada a função abaixo:
/PWS/ZYCI_TRANSACAO_FB08_A
MODIFICAR MÓDULO DE FUNÇÃO: GL - Call Transaction FB08_A
CARACTERÍSTICAS
*CLASSIFICAÇÃO:
GRUPO DE FUNÇÕES: /PWS/ZYCIGF2
TEXTO BREVE: GL - Call Transaction FB08_A
TIPO DE EXECUÇÃO:
(X) - MÓDULO DE FUNÇÃO NORMAL
(_) - MÓDULO DE ACESSO REMOTO
(_) - MÓDULO DE ATUALIZAÇÃO
(X) - INÍCIO IMEDIATO
(_) - INÍCIO IMEDIATO-SEM ATUAL.POSTER.
(_) - INÍC. RETARDADO
(_) - PROCES. CLOETIVO
*IMPORTAÇÃO:
NOME PARAM. ATRIB. TIPO REFERÊNCIA VL. PROPOSTO OPCIONAL TRANSF.TEXT
V_MODO LIKE /PWS/ZYCBT039-MODO X X Campo de texto do comprimento 1
*TABELAS:
NOME PARAM. ATRIB. TIPO REFERÊNCIA OPCIONAL TEXTO BREVE
T_DADOS LIKE /PWS/ZYCBE033 GL - Estrutura Auxiliar para Batch Input.
T_CAMPO LIKE /PWS/ZYCBT034 X GL - Estrutura Auxiliar para Batch Input - Campos.
T_ZYCBT032 LIKE /PWS/ZYCIT032 X GL - Log de Execução de Transações.
*EXCEÇÕES:
EXCEÇÃO TEXTO BREVE
CAMPO_EM_BRANCO
*TEXTO FONTE
FUNCTION /pws/zyci_transacao_fb08_a.
*"----------------------------------------------------------------------
*"*"Interface local:
*" IMPORTING
*" VALUE(V_MODO) LIKE /PWS/ZYCBT039-MODO OPTIONAL
*" TABLES
*" T_DADOS STRUCTURE /PWS/ZYCBE033
*" T_CAMPO STRUCTURE /PWS/ZYCBT034 OPTIONAL
*" T_ZYCBT032 STRUCTURE /PWS/ZYCIT032 OPTIONAL
*" EXCEPTIONS
*" CAMPO_EM_BRANCO
*"----------------------------------------------------------------------
*-----------------------------------------------------------------------
* Descrição : Função - Call transaction da transação F-B08
* Os dados serão fornecidos pela tabela T_DADOS.
* O retorno será gravado na tabela T_ZYCBT032
* Se algum campo obrigatório não for preenchido
* ele será guardado na tabela T_CAMPO
*-----------------------------------------------------------------------
* Variáveis
DATA:
v_data_lanc_char(10) TYPE c,
v_nrmsg TYPE i VALUE 0,
v_transacao(4) TYPE c,
v_mode TYPE c,
v_update TYPE c,
v_msgid LIKE t100-arbgb,
v_date LIKE t009b-bdatj, "ano Contábil
v_data_est(10) TYPE c,
v_ano LIKE t001b-frye1,
v_monat LIKE t001b-frpe1,
v_msgno LIKE t100-msgnr.
*-----------------------------------------------------------------------
* Processamento
*-----------------------------------------------------------------------
* Lê dados da tabela t_dados
LOOP AT t_dados.
* obtem o ano contábil
CALL FUNCTION '/PWS/ZYGL_OBTEM_ANO_CONTABIL'
EXPORTING
v_bukrs = t_dados-bukrs
v_date = t_dados-budat
IMPORTING
v_year = v_date.
IF sy-subrc <> 0.
ENDIF.
CHECK t_dados-tcode = 'FB08'.
* Tela inicial - 0105
PERFORM bdc_screen USING 'SAPMF05A' '0105'.
IF NOT v_data_est IS INITIAL.
PERFORM bdc_field USING:
'BSIS-BUDAT' v_data_est.
ENDIF.
PERFORM bdc_field USING:
'RF05A-BELNS' t_dados-belnr, "No. documento
* 333261 inicio
* comentado o v_date pq estava vindo com o exercicio errado, pois vem
* com o sy-datum.
'RF05A-GJAHS' t_dados-gjahr, "Ano Contábil
* 'RF05A-GJAHS' v_date, "Ano Contábil
* 333261 fim
'BKPF-BUKRS' t_dados-bukrs, "Empresa
'UF05A-STGRD' t_dados-stgrd, "Motivo estorno
'BDC_OKCODE' '=BU'.
IF t_dados-budat <> '00000000'.
WRITE: t_dados-budat TO v_data_lanc_char.
PERFORM bdc_field USING:
'BSIS-BUDAT' v_data_lanc_char, "Data lançamento
'BSIS-MONAT' t_dados-budat+4(2). "Período contábil
ENDIF.
* Limpa a itab_msg
REFRESH itab_msg.
CLEAR itab_msg.
* Definição dos parâmetros p/ a sub-rotina CALL_TRANSACTION
v_transacao = 'FB08'.
v_update = 'S'.
v_msgid = 'F5'.
v_msgno = '312'.
"Modo pode vir do programa de batch input.
IF v_modo IS INITIAL.
v_mode = 'N'. "N - BACKGROUND A - FOREGROUND
ELSE.
v_mode = v_modo.
ENDIF.
* Executa o Call Transaction e monta as mensagens de retorno
PERFORM call_transaction TABLES itab_msg
itab_bdc
t_zycbt032
t_dados
USING v_transacao
v_mode
v_update
v_msgid
v_msgno
CHANGING v_nrmsg.
ENDLOOP.
FREE:
itab_bdc,
itab_msg.
ENDFUNCTION.