CE PLUS - Nota 002158

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.

 

Versões Tratadas

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.