quarta-feira, 30 de abril de 2014

ABAP OLE Excel

*ABAP OLE - Excel.application

REPORT z_abap_excel.
*----------------------------------------------------------------------*
*  Conjunto de tipos
*----------------------------------------------------------------------*
"  Tem um include que a maioria trabalho mas eu prefiro o Grupo de tipo.
TYPE-POOLS ole2.

*----------------------------------------------------------------------*
*  Tabelas transparentes
*----------------------------------------------------------------------*
TABLES :
  sflight.

*----------------------------------------------------------------------*
*  Tabelas internas
*----------------------------------------------------------------------*
DATA :
 it_spfli   TYPE TABLE OF spfli,
 it_sflight TYPE TABLE OF sflight
.
*----------------------------------------------------------------------*
*  Estruturas
*----------------------------------------------------------------------*
DATA :
 st_spfli   TYPE spfli,
 st_sflight TYPE sflight
.

*----------------------------------------------------------------------*
*  Declarações de variáveis
*----------------------------------------------------------------------*
DATA : linha   TYPE i,      " Atribui Valor Linha
       coluna  TYPE i,
       v_texto TYPE string            " Conteudo das celulas
       .
*----------------------------------------------------------------------*
*  Definições de objetos OLE2
*----------------------------------------------------------------------*
DATA: gs_excel        TYPE ole2_object,       " Objeto Excel
      gs_workbook     TYPE ole2_object,       " Workbook 'Area de trabalho'
      gs_sheet        TYPE ole2_object,       " Planilha
      gs_cell1        TYPE ole2_object,                     " Celula 1
      gs_cell2        TYPE ole2_object,                     " Celula 2
      gs_cells        TYPE ole2_object,       " Células
      gs_range        TYPE ole2_object,       " Grupo de células
      gs_font         TYPE ole2_object,       " Fonte da célula
      gs_column       TYPE ole2_object.       " Coluna da célula


SELECTION-SCREEN BEGIN OF BLOCK b1.
PARAMETERS:
  p_carrid TYPE sflight-carrid OBLIGATORY.
SELECT-OPTIONS:
  s_connid FOR sflight-connid,
  s_fldate FOR sflight-fldate.
SELECTION-SCREEN END OF BLOCK   b1.

START-OF-SELECTION.

* select dos dados
  PERFORM selects.

  IF it_sflight IS NOT INITIAL.

* Cria o objeto Excel com area de trabalho e planilhas.
    PERFORM f_gera_excel.

* Agora com a planilha pronta vamos formatar as colunas do excel.
    PERFORM formata_colunas.

* Eu criei um perform só pra trata o cabeçalho pra fica mais legível.
    PERFORM gera_cabecalho.

* Gera linhas
    PERFORM gera_linhas.

* Encerra planilha Excel
    PERFORM encerra_planilha_excel.

  ELSE.

    MESSAGE 'Não foi encontrado dados na tabela conforme críterios da tela de seleção'
      TYPE 'I'.

  ENDIF.

END-OF-SELECTION.




*&---------------------------------------------------------------------*
*&      Form  F_GERA_EXCEL
*&---------------------------------------------------------------------*
FORM f_gera_excel .

  " Criação do objeto Excel.
  CREATE OBJECT gs_excel 'Excel.Application'.

  "  É um parametro do objeto Excel para que seja mostrado o arquivo excel
  " somente quando carregar por completo.
  SET PROPERTY OF gs_excel 'ScreenUpdating'   = 0.

  " Deixa ativo o excel
  SET PROPERTY OF gs_excel 'Visible'   = 1.
  "  Aqui é pego a parametro area de trabalho do Excel e passado para uma
  " variável.
  GET PROPERTY OF gs_excel 'Workbooks' = gs_workbook.
  " Agora com essa variavel você chama um método da classe para que seja
  " adicionado uma área de trabalho.
  CALL METHOD OF gs_workbook 'Add'.
  " Perform para verificação de erros.
  PERFORM err_hdl.
  " Toda essa parte acima é só pra abilitar e abrir o excel.

  " Entrando no nivel planila do excel passada para uma variável.
  CALL METHOD OF gs_excel 'Worksheets' = gs_sheet.
  " Criação de uma aba de planilha para área de trabalho.
  CALL METHOD OF gs_sheet 'Add' = gs_sheet.
  " Modifica a propriedade nome da aba para 'ABA Nova'
  SET PROPERTY OF gs_sheet 'Name' = 'ABA Nova'.
  " Perform para verificação de erros.
  PERFORM err_hdl.


ENDFORM.                    " F_GERA_EXCEL
*&---------------------------------------------------------------------*
*&      Form  ERR_HDL
*&---------------------------------------------------------------------*
FORM err_hdl .

  " Deu problema ?
  IF sy-subrc <> 0.
    " Erro ....
    WRITE: / 'Erro na abertura OLE-Automation(EXCEL):', sy-subrc.
    " Famoso João Kleber ---- Pára, Pára, Pára tuuudo..
    STOP.
  ENDIF.

ENDFORM.                    " ERR_HDL

*&---------------------------------------------------------------------*
*&      Form  FORMATA_COLUNAS
*&---------------------------------------------------------------------*
FORM formata_colunas .

  "  Eu criei um perform para que fique mais facil de trabalhar....
  " Aki estarei trabalhando inteiramente com a coluna 'E' passando o
  " tamanho '33'.
  PERFORM formata_largura USING 'E:E' '33'.

ENDFORM.                    " FORMATA_COLUNAS

*&---------------------------------------------------------------------*
*&      Form  FORMATA_LARGURA
*&---------------------------------------------------------------------*
FORM formata_largura  USING  coluna
                             largura.
  " Uso metodo para fazer um intervalo passando a coluna desejada.
  CALL METHOD OF gs_excel 'Range' = gs_range
    EXPORTING
    #1 = coluna.
  " Estou modificando uma das propriedades deste intervalo e informando a lagura.
  SET PROPERTY OF gs_range 'ColumnWidth' = largura.


ENDFORM.                    " FORMATA_LARGURA

*&---------------------------------------------------------------------*
*&      Form  GERA_CABECALHO
*&---------------------------------------------------------------------*
FORM gera_cabecalho .
*&---------------------------------------------------------------------*
  linha = linha + 1.

  "  Trata a primeira linha da planilha ( Cabeçalho ).
  v_texto = 'Titulo do Excel.'.
  PERFORM preenche_titulo USING linha 1 linha 5  v_texto.

*&---------------------------------------------------------------------*
  linha = linha + 2.

  " Trata um segundo cabeçalho.
  CONCATENATE : 'Dados Denominação breve da companhia aérea :' p_carrid
    INTO v_texto SEPARATED BY space.
  PERFORM preenche_titulo USING linha 1 linha 5  v_texto.


*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
  linha  = linha  + 2.

  coluna = coluna + 1.
  v_texto = 'Carrid'.
  PERFORM preenche_titulo USING linha coluna linha coluna  v_texto.
*&---------------------------------------------------------------------*
  coluna = coluna + 1.
  v_texto = 'Connid'.
  PERFORM preenche_titulo USING linha coluna linha coluna  v_texto.
*&---------------------------------------------------------------------*
  coluna = coluna + 1.
  v_texto = 'Fldate'.
  PERFORM preenche_titulo USING linha coluna linha coluna  v_texto.
*&---------------------------------------------------------------------*
  coluna = coluna + 1.
  v_texto = 'Price'.
  PERFORM preenche_titulo USING linha coluna linha coluna  v_texto.
*&---------------------------------------------------------------------*
  coluna = coluna + 1.
  v_texto = 'Paymentsum'.
  PERFORM preenche_titulo USING linha coluna linha coluna  v_texto.

ENDFORM.                    " GERA_CABECALHO

*&---------------------------------------------------------------------*
*&      Form  PREENCHE_TITULO
*&---------------------------------------------------------------------*
FORM preenche_titulo  USING linha1
                            coluna1
                            linha2
                            coluna2
                            texto.

* Mescla células selecionadas
  " Primeiro seleciona a primeira celula
  PERFORM seleciona_celula USING linha1 coluna1 gs_cell1.
  " Depois seleciona a segunda celula
  PERFORM seleciona_celula USING linha2 coluna2 gs_cell2.
  " Mescla as duas celulas juntamente com seu intervalo caso tenha
  PERFORM mescla_celulas.

* Coloca borda
  PERFORM cria_borda USING gs_cell1 gs_cell2 gs_cells.

* Preenche célula
  PERFORM preenche_celula USING gs_cell1 1 3 0 12 texto.


ENDFORM.                    " PREENCHE_TITULO

*&---------------------------------------------------------------------*
*&      Form  SELECIONA_CELULA
*&---------------------------------------------------------------------*
FORM seleciona_celula  USING    linha
                                coluna
                                celula.

* Seleciona célula
  CALL METHOD OF gs_excel 'Cells' = celula
    EXPORTING
    #1 = linha
    #2 = coluna.

ENDFORM.                    " SELECIONA_CELULA

*&---------------------------------------------------------------------*
*&      Form  MESCLA_CELULAS
*&---------------------------------------------------------------------*
FORM mescla_celulas .

* Passa que é um intervalo entre estes dois campos.
  CALL METHOD OF gs_excel 'Range' = gs_cells
    EXPORTING
    #1 = gs_cell1
    #2 = gs_cell2.

* Mescla células do intevalos acima.
  CALL METHOD OF gs_cells 'Merge' = gs_cells.

ENDFORM.                    " MESCLA_CELULAS
*&---------------------------------------------------------------------*
*&      Form  CRIA_BORDA
*&---------------------------------------------------------------------*
FORM cria_borda  USING    celula1
                          celula2
                          celula.

* Seleciona o intervalo de células
  CALL METHOD OF gs_excel 'Range' = celula
    EXPORTING
    #1 = celula1
    #2 = celula2.

* Cria borda e os valores de exportação são cor e intensidade.
  CALL METHOD OF celula 'BorderAround'
    EXPORTING
    #1 = 1
    #2 = 3.


ENDFORM.                    " CRIA_BORDA

*&---------------------------------------------------------------------*
*&      Form  PREENCHE_CELULA
*&---------------------------------------------------------------------*
FORM preenche_celula  USING celula
                            bold
                            alinhamento
                            largura
                            tam
                            valor.

* Formata célula
  GET PROPERTY OF celula  'Font' = gs_font.
  SET PROPERTY OF gs_font 'Bold' = bold.
  SET PROPERTY OF gs_font 'Size' = tam.
  SET PROPERTY OF celula  'HorizontalAlignment' = alinhamento.
  SET PROPERTY OF celula  'NumberFormat' = '@'.
* Preenche célula
  SET PROPERTY OF celula  'Value' = valor.


ENDFORM.                    " PREENCHE_CELULA

*&---------------------------------------------------------------------*
*&      Form  SELECTS
*&---------------------------------------------------------------------*
FORM selects .

  SELECT *
    FROM sflight
    INTO TABLE it_sflight
    WHERE carrid =  p_carrid
      AND connid IN s_connid
      AND fldate IN s_fldate
    .

ENDFORM.                    " SELECTS

*&---------------------------------------------------------------------*
*&      Form  MONTA_LINHAS
*&---------------------------------------------------------------------*
FORM monta_linhas .

  " 1ª coluna de dados da linha correspondente
  PERFORM preenche_detalhe USING linha 1 0 0 7 3 st_sflight-carrid.
  " 2ª coluna de dados da linha correspondente
  PERFORM preenche_detalhe USING linha 2 0 0 7 3 st_sflight-connid.
  " 3ª coluna de dados da linha correspondente
  PERFORM preenche_detalhe USING linha 3 0 0 7 3 st_sflight-fldate.
  " 4ª coluna de dados da linha correspondente
  PERFORM preenche_detalhe USING linha 4 0 0 7 3 st_sflight-price.
  " 5ª coluna de dados da linha correspondente
  PERFORM preenche_detalhe USING linha 5 0 0 7 3 st_sflight-paymentsum.

ENDFORM.                    " MONTA_LINHAS

*&---------------------------------------------------------------------*
*&      Form  PREENCHE_DETALHE
*&---------------------------------------------------------------------*
FORM preenche_detalhe  USING linha
                             coluna
                             bold
                             largura
                             tam
                             alinhamento
                             conteudo.

* Seleciona célula
  PERFORM seleciona_celula USING linha coluna gs_cell1.

* Preenche célula
  PERFORM preenche_celula USING gs_cell1 bold alinhamento
                                largura tam conteudo.

ENDFORM.                    " PREENCHE_DETALHE

*&---------------------------------------------------------------------*
*&      Form  GERA_LINHAS
*&---------------------------------------------------------------------*
FORM gera_linhas .

  LOOP AT it_sflight INTO st_sflight.

    " Cada registro da tabela será uma linha do excel.
    linha = linha + 1.
    PERFORM monta_linhas.

  ENDLOOP.

ENDFORM.                    " GERA_LINHAS

*&---------------------------------------------------------------------*
*&      Form  ENCERRA_PLANILHA_EXCEL
*&---------------------------------------------------------------------*
FORM encerra_planilha_excel .

  " Faz com que a planilha só aparece quando terminar de ser alimentada.
  SET PROPERTY OF gs_excel 'ScreenUpdating'   = 1.

  " Libera os cara aee.
  FREE OBJECT gs_sheet.
  FREE OBJECT gs_workbook.
  FREE OBJECT gs_excel.


ENDFORM.                    " ENCERRA_PLANILHA_EXCEL

ALV Editável / Atualização Tab. Transparente

* & ------------------------------------------------ --------------------- *
* & Report Z_AFL_ALV_ATUALIZAVEL
* &
* & ------------------------------------------------ --------------------- *
* &
* &
* & ------------------------------------------------ --------------------- *

RELATÓRIO Z_AFL_ALV_ATUALIZAVEL.


* ALV Editável / Tab Atualização. Transparente

"Conjunto de TIPOS
TIPO-PISCINAS: SLIS.

"TIPOS
TIPOS:
  COMEÇAR DE ty_selfield,
    índice TYPE slis_selfield-tabindex,
  FIM DO ty_selfield.

"Estruturas e Tabelas Internas
DATA:
  it_out TYPE TABLE OF SFLIGHT,
  st_out TIPO SFLIGHT,
  it_index TYPE TABLE OF ty_selfield,
  st_index TIPO ty_selfield.

"Estruturas e Tabelas intenas (ALV)
DATA:
  it_fieldcat TYPE TABLE OF slis_fieldcat_alv,
  st_layout TIPO slis_layout_alv.

"fiels-símbolos
* O campo-símbolos:
* TIPO slis_fieldcat_alv.

START-OF-SELECTION.

  "Faz o seleccionar da Tabela.
  EXECUTAR: f_select,
"Mostra ALV com sistema operacional Dados
            f_alv.

FIM DE SELEÇÃO.



* & ------------------------------------------------ --------------------- *
* & Form F_SELECT
* & ------------------------------------------------ --------------------- *
F_select FORM.

  SELECIONE *
    DE SFLIGHT
    INTO TABLE it_out
    ONDE carrid = 'AA'.

ENDFORM. "F_SELECT

* & ------------------------------------------------ --------------------- *
* & Form F_ALV
* & ------------------------------------------------ --------------------- *
F_alv FORM.

  "Criação da Tabela Contendo como Informations dos Campos Que Serao mostrados não ALV
  EXECUTAR: f_fieldcat,
"Criação da Estrutura Contendo Informations que fazer o layout ALV
            f_layout.
  "Criação fazer ALV
  EXECUTAR: f_relatorio TABELAS it_fieldcat
                               it_out
                        UTILIZAÇÃO sy-repid
                               'F_SET_PF_STATUS'
                               'F_USER_COMMAND'
                               st_layout.

ENDFORM. "F_ALV

* & ------------------------------------------------ --------------------- *
* & Form F_FIELDCAT
* & ------------------------------------------------ --------------------- *
F_fieldcat FORM.
  "Função de para trazer OS Dados dos Campos fazer ALV baseada n'uma Tabela transparente.
  Função de chamada de 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTAÇÃO
      i_structure_name = 'SFLIGHT'
    MUDANÇA
      ct_fieldcat = it_fieldcat
    EXCEÇÕES
      inconsistent_interface = 1
      Program_Error = 2
      OUTROS = 3.

  IF sy-SUBRC <> 0.
    MENSAGEM ID sy-msgid tipo de número sy-MSGTY sy-MSGNO
            COM sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

ENDFORM. "F_FIELDCAT

* & ------------------------------------------------ --------------------- *
* & Form F_LAYOUT
* & ------------------------------------------------ --------------------- *
F_layout FORM.

  st_layout-zebra = 'X'.
  st_layout-colwidth_optimize = 'X'.

ENDFORM. "F_LAYOUT

* & ------------------------------------------------ --------------------- *
* & Form F_FUNCTION
* & ------------------------------------------------ --------------------- *
FORMULÁRIO f_relatorio TABELAS fieldcat
                        outtab
                 UTILIZAÇÃO repid
                        estado
                        comando
                        traçado
    .

  Função de chamada de 'REUSE_ALV_GRID_DISPLAY'
    EXPORTAÇÃO
      i_callback_program = repid
      i_callback_pf_status_set = Estado
      i_callback_user_command = comando
      is_layout = disposição
      it_fieldcat fieldcat = []
      i_save = 'X'
    TABELAS
      t_outtab = outtab
    EXCEÇÕES
      Program_Error = 1
      OUTROS = 2.
  IF sy-SUBRC <> 0.
    MENSAGEM ID sy-msgid tipo de número sy-MSGTY sy-MSGNO
            COM sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.



ENDFORM. "F_FUNCTION

* & ------------------------------------------------ --------------------- *
* & Form SET_PF_STATUS
* & ------------------------------------------------ --------------------- *
* Ajuste personalizado PF-Estado
* ------------------------------------------------- --------------------- *
* -> Mesa RT_EXTAB Excluindo
* ------------------------------------------------- --------------------- *
FORMULÁRIO DE USAR f_set_pf_status rt_extab TIPO slis_t_extab.

  SET PF-STATUS 'Z_STANDARD'.

ENDFORM. "SET_PF_STATUS


* & ------------------------------------------------ --------------------- *
* & Form user_command
* & ------------------------------------------------ --------------------- *
* Códigos de função personalizado Manipulação
* ------------------------------------------------- --------------------- *
* -> Valor de código R_UCOMM Função
* -> RS_SELFIELD Info. da posição do cursor em ALV
* ------------------------------------------------- --------------------- *
FORMULÁRIO f_user_command USAR COMO vl_ucomm sy-ucomm
                           st_selfield TIPO slis_selfield.
  "Declarações das Variáveis ​​CRP
  DATA:
    it_out_temp TYPE TABLE OF SFLIGHT,
    st_out_temp TIPO SFLIGHT,
    it_fieldcat_temp TYPE TABLE OF slis_fieldcat_alv,
    st_fieldcat_temp TIPO slis_fieldcat_alv.

  BREAK-POINT.
  "Verifica uma Ação Favoritos Looks Favoritos.
  Vl_ucomm CASE.
      "Caso o Looks Favoritos tenha selecionado hum Registro não ALV.
    QUANDO 'e IC1.
* Trata fieldcat parágrafos corrediças abertas parágrafos Edição de Todos os campos EXCETO OS campos chaves
      it_fieldcat_temp = it_fieldcat.
      st_fieldcat_temp-edit = 'X'.
      MODIFICAR it_fieldcat_temp DE st_fieldcat_temp
      TRANSPORTE edição
      ONDE ESTÁ chave inicial.

* Dados Trata do Registro selecionado.
      Ler a tabela it_out INTO st_out
        ÍNDICE st_selfield-tabindex.
      APPEND st_out TO it_out_temp.

* Cria hum novo ALV usando o MESMO executar tão Que da SEM User_command e Com. Tabelas <>.
      EXECUTAR: f_relatorio TABELAS it_fieldcat_temp
                                   it_out_temp
                            UTILIZAÇÃO sy-repid
                                   ''
                                   ''
                                   st_layout.
      BREAK-POINT.
      Não "Se o Botão 'SALVAR' para pressionado entao uma modificação Localidade: Não Ira serviços
      "Atualizado na Tabela 'IT_OUT_TEMP'.
      "Verifica O Primeiro (e Unico) Registro da Tabela
      Ler a tabela it_out_temp INTO st_out_temp
        ÍNDICE 1.

      "Verifica se ESSE FOI Registro Modificado.
      IF st_out_temp <> st_out.
        "Atualiza com a Tabela interna como Informations modificadas
        MODIFICAR it_out DE st_out_temp
          ÍNDICE st_selfield-tabindex.
        "Mover A Informação da Linha do Registro parágrafo UMA Estrutura Opaco aliemnta uma Tabela
        MOVER st_selfield-tabindex TO st_index-index.
        APPEND st_index TO it_index.
      ENDIF.
      "Muito Importante Este Comando POIs ISSO atualiza como alterações feitas na Tabela,
      "Mostra e não ALV.
      st_selfield-refresh = 'X'.
      "Caso o Looks Favoritos tenha clicado no Botão" SALVAR ".
    QUANDO "SAVE".
      "Verifica se alteração Teve.
      SE NÃO É it_index INICIAL.
        LOOP AT it_index INTO st_index.
          "Lê a principal Tabela não Informado Registro na Tabela de Registros modiicados.
          Ler a tabela it_out INTO st_out
            ÍNDICE st_index-index.
          "Mover OS Dados da Estrutura Modificada parágrafo UMA Estrutura Temporária local.
          Move-CORRESPONDENTE AO st_out st_out_temp.
          "Alimenta UMA TABELA COM REGISTROS auxiliar OS ALTERADOS.
          APPEND st_out_temp TO it_out_temp.
        ENDLOOP.

        "Usa uma Tabela alimentada com sistema operacional Registros Modificados e atualiza a Tabela transparente.
        "Muito Cuidado EM USAR essas Coisas de atualizar, Incluir e excluir Dados de Tabelas
        "Transparente.
        MODIFICAR SFLIGHT DE TABELA it_out_temp.
        MENSAGEM 'A Tabela SFLIGHT FOI alterada com Sucesso' TYPE 'S'.
        "Caso nao Teve alteração - Mostra uma MENSAGEM
      MAIS.
        MENSAGEM 'A Tabela SFLIGHT Localidade: Não Teve alteração! TIPO 'W'.
      ENDIF.
      "Caso o Looks Favoritos tenha clicado no Botão 'SAIR' 'BACK' UO
    QUANDO 'BACK' OR 'SAIR'.
      Sair do programa.
      "QUALQUÉR Outro Caso.
    QUANDO OUTROS.

  ENDCASE.


ENDFORM. "User_command

quarta-feira, 2 de abril de 2014

Instalação do SAPgui - Ambiente de acesso ao SAP


Instalando o SAP GUI

Neste tutorial veremos como fazer o download do SAP GUI e sua instalação.

1.       Faça o download do SAP GUI neste link:

2.       Em seguida descompacte o arquivo em um diretório de sua preferência.

3.       Execute o arquivo “SetupALL”.

4.       Clique em “Next”

5.       Selecione conforme abaixo e clique em “Next”:











         

         Conclua o instalador e pronto.
     
Agora você já esta quase pronto para utilizar o SAP, em nosso próximo tutorial veja
como "Configurar o servidor de acesso ao SAP IDES Grátis".

Configurando o SAP GUI

Após a instalação do SAP GUI e com o usuário para acesso ao servidor SAP oferecido pela 
Consolut gratuitamente, vamos configurar o servidor para que possamos começar:
1.       Clique no ícone do SAP Logon que foi criado em sua área de trabalho:







2.       Você verá uma tela como essa:





















3.       Clique em Entrada nova e em continuar
4.       Em Descrição coloque Ambiente SAP Grátis ou qualquer outro nome de sua escolha:


















5.       Em Servidor de aplicação coloque: i62external
6.       Em Nº Sistema coloque: 09
7.       Em ID Sist: I62
8.       Em Cadeia de SAP Router: /H/ides.consolut.eu/W/consolut/H/
9.       Você vera uma tela como abaixo:



















10.   Clique em completar, você verá que foi criado uma nova entrada no SAP Logon: 



















11.   Selecione a entrada criada e clique em “Logon”
12.   Entre com as credencias fornecidas pela Consolut:















Ambiente SAP Grátis - Para Funcional e ABAPers

Ambiente SAP para treinamento Grátis

O mundo SAP é extremamente restrito e existem diversas dificuldades para as pessoas
que querem conhecer o sistema mais utilizado no mundo pelas gigantes globais.

O SAP diferente das tecnologias comercializadas pelas gigantes: Microsoft, Oracle e IBM
entre outras não se encontra em versões “Express” ou “beta” onde você pode fazer o 
download da tecnologia e estudar em casa por conta.

Para ter acesso ao sistema SAP é necessário trabalhar em uma empresa que tenha o
sistema e neste caso com diversas restrições que não te permitirão estudar sobre algum 
módulo ou aprender alguma tarefa de customizing.

A SAP disponibiliza o MINI SAP para download e treinamento, entretanto ele não contempla
as atividades funcionais, é simplesmente um ambiente para treinar ABAP e Web Dynpro e 
também não tem as tabelas standard do SAP que são utilizadas no dia-dia por consultores 
funcionais e técnicos.

A forma mais utilizada para se ter o acesso a um sistema SAP e conhecer suas funcionalidades
é ingressando em um treinamento oferecido pela própria  SAP e também por escolas parceiras 
que vendem academias funcionais e técnicas do SAP.

O investimento em uma academia é bem alto e o conteúdo passado é bem dinâmico desta
forma eu afirmo que o nível de entendimento  de um treinamento deste tipo para uma pessoa 
que nunca teve contato com o SAP é bem fraco.

Desta forma creio que se as pessoas que tem interesse em aprender sobre o SAP mais
especificamente sobre a parte funcional deveriam ter um primeiro contato com o sistema
antes de investir em uma academia, e pesquisando pela internet em “Alemão” descobri uma 
solução para quem quer aprender um modulo funcional e não trabalha em uma empresa que 
tem o SAP.

A Consolut “http://www.consolut.com/” consultoria alemã parceira da SAP disponibiliza um
ambiente SAP IDES para treinamento gratuitamente, onde você poderá conhecer o sistema, 
aprender a navegar e também dar os primeiros passos na customização com os tutoriais que 
irei postar para vocês.

Segue abaixo o procedimento para conseguir o seu usuário para começar a conhecer o mundo
SAP.

1.       Acesse o seguinte link e preencha as informações conforme solicitado: 



Em seguida clique em Executar.

2.       Você verá uma mensagem como essa:











   3.    Em aproximadamente dois dias você estará recebendo o seu usuário para que possa
começar a utilizar o SAP.

Agora que sabemos que temos um servidor grátis para conhecer e treinar SAP devemos
nos preparar para utilizar este beneficio e qual é nosso próximo passo?

Você pode fazer logon no site direto:  "Logon SAP"

 ou instalar o SAPGUI

Veja em nosso próximo tutorial  “Instalando o SAP GUI”.