Academia SAP Abap_Interna

download Academia SAP Abap_Interna

of 239

description

Academia SAP Abap_Interna

Transcript of Academia SAP Abap_Interna

  • ACADEMIA INTERNA

    ABAP / SAP R3

  • CronogramaIntroduo SAP R/3Dicionrio de Dados*ProgramaoRelatriosALV*On Line*Batch-Input/Call Transaction*SapScript*Exits

    * exerccios

    www.softtek.com.brClick to edit Master title style**********

    INTRODUO SAP R/3

  • ObjetivosO que SAP R/3Funcionais e Basis ComponentsArquiteturaProjetosNavegao

  • O que o SAP R/3?

  • SAP - R/3Gesto Empresarial - ERPIntegraoAcesso a informao em tempo real e seguraTomada de decisoEvoluo e melhorias constantes

  • Funcionais e Basis Components

  • Funcionais e Basis Components

  • Sistema R/3Sales & Distribution : A soluo completa para o gerenciamento integrado de todas tarefas para vendas, faturamento e expedio.Materials Management : O processo completo de compras, com suporte integrado de resultados e planejamento de produo.Production Planning : O sistema de PCP ajustvel para todos os tipos de produo com suporte integrado de resultados e do gerenciamento de compras.Quality Management : O sistema para o controle da qualidade assegurada em todas as reas da cadeia logstica.Plant Maintenance : A soluo independente de indstria para a administrao da manuteno de sistemas produtivos.

  • Human Resources Management : Desde o processamento integrado de administrao RH, gerenciamento de tempo e despesas de viagens at a folha de pagamento.Human Resources Planning : Planejamento organizacional, posicionamento, desenvolvimento educacional e controle do custo de pessoal em um sistema totalmente integrado. Sistema R/3

  • Financial Accounting: Uma ampla viso do desempenho que inclui gerenciamento de caixa, banco eletrnico, controladoria financeira, oramento de caixa e consolidao.Controlling: Contabilidade de custos, desde a contabilidade de centros de custos e de elementos de custos at a anlise de lucratividade.Asset Management : O gerenciamento completo de todos os ativos fixos, desde da contabilidade tradicional de ativos e gerenciamento tcnico de ativos at a controladoria de investimentos. Project Information System : A integrao de todas as reas de servios para o planejamento de projetos, processamento e controle. Executive Information System (EIS) : Acesso rpido aos dados, fatos e representaes grficas para decises gerenciais. Sistema R/3

  • Estrutura Organizacional

  • Mdulo FI e suas funes

  • Contabilidade Empresarial

  • Contas a Pagar

  • Gesto de Materiais - Processo de Abastecimento

  • Logstica - R/3

  • Recursos Humanos

  • ABAP ?

  • ABAPdvancedusinesspplicationrogramming

    www.softtek.com.brClick to edit Master title style**********

    Arquitetura

  • Arquitetura em 3 camadas

  • Logon Balancing

  • Servidores

  • Mandantes

  • Requests

  • Transporte

    www.softtek.com.brClick to edit Master title style**********

    Projetos

  • FasesLevantamento - BCModelagem dos processos atuaisComo devero ser os processos - BCCustomizaoDesenvolvimentos - BCValidao - BCTestes individuais/integrados - BCProduo - BCMelhorias - BC

    www.softtek.com.brClick to edit Master title style**********

    Navegao

    www.softtek.com.brClick to edit Master title style**********

    DICIONRIO DE DADOS

  • ObjetivosO que dicionrio de dadosElementos do dicionrio de dadosComo utilizar o dicionrio de dadosLevantamento de informaes no R/3

  • Dicionrio de Dados

  • Tabela

  • Dicionrio ABAP/4

  • Elementos do Dicionrio de DadosTabelas - armazenam dadosEstruturas - no armazenam dadosVises - join de tabelas e restrio de camposCampos Elementos de dadosDomniosAjuda de pesquisa

  • Integrao do Dicionrio de Dados

    www.softtek.com.brClick to edit Master title style**********

    Tabelas

  • Elemento de Dados e Domnios

  • Generalizando

  • Foreign Key

  • EstruturasAs estruturas possuem os mesmos elementos das tabelas masno armazenam dados. S esto preenchidas em run-time.

    www.softtek.com.brClick to edit Master title style**********

    Vises

  • Vises

  • Trabalhando com a SE11

    www.softtek.com.brClick to edit Master title style**********

    Levantamento de Informaes

  • F1 - Ajuda (Help)

    F9 - Informao tcnicaFunes

  • Exerccio 1. Criar uma tabela Z no dicionrio de dados, com o nome ZTESTE_001.

    Layout :- DOCUMENTOchavenumrico10- ITEMchavenumrico05- TEXTOalfa40- MATERIALnumrico06- QUANTIDADEnumrico04- PRECO_UNITARIOnumrico15(02)- PRECO_TOTALnumrico15(02)

    Os desenvolvimentos devem ser amarrados em uma mesma request. A descrio da request deve comear por : TREIN ABAP ???? - ... ???? : Iniciais do nome, para identificar o usurio. Os elementos de dados e seus domnios devem ser criados. Objetos Z.

  • Preencher manualmente a tabela criada, com os registros abaixo, via dilogo de atualizao (SE11/SM30).

    Exerccio - continuao

    DocumentoItemTextoMaterialQtdePreo UnitPreo Tot100000000100001Documento teste 001 900001001010,00100000000100002Documento teste 001 900002001212,00100000000200001Documento teste 001 9000010009100,00100000000200002Documento teste 001 900003002025,00500,00100000000200003Documento teste 001 900003000950,00

  • PROGRAMAO

  • SE38/SE80 - Navegao

  • Tipos de progamas possveis

    Estrutura geral de um programa abap Criando um novo programa

  • Declarao de tabelasTabelas do dicionrio de dados

    TABLES : tabela01, tabela02, .

    Tabelas internas

    DATA: BEGIN OF t_tabela01 OCCURS 0, campo1(16) TYPE c, campo2 LIKE tabela01-campo, ... END OF t_tabela01.

    DATA: BEGIN OF t_tabela02 OCCURS 0. INCLUDE STRUCTURE tabela02.DATA: END OF t_tabela02.

  • Como funciona o Header LineHeader LineRegistros da TabelaObs.: os registros so trabalhados no Header e posteriormente levados tabela.

    1001ABCA90S23,001002DEFJ82J02,032003GHIKK8900,01

  • Declarao de estruturaEstrutura

    DATA: BEGIN OF e_tabela01, campo1(16) TYPE c, campo2 LIKE tabela01-campo, ... END OF e_tabela01.

    DATA: BEGIN OF e_tabela02. INCLUDE STRUCTURE tabela02.DATA: END OF e_tabela02.EstruturaObs.: a estrutura criada apenas em tempo de execuo, nunca gravada.

    1001ABCA90S23,00

  • Declarao de variveisVarivieis

    Por referncia a outro campo de tabela j existente :

    DATA: variavel01 LIKE tabela01-campo01.

    Pelo tipo que queremos :

    DATA: variavel02(04) TYPE i.

    Uma varivel com a estrutura de outra :

    DATA: variavel03 LIKE tabela02.

  • Tipos de dadosTipos

    I->inteiro (4 bytes c/ sinal)N->numrico (s nmeros)P->compactadoF->ponto flutuanteC->caracterD->data (AAAAMMDD)T->hora (HHMMSS)X->hexadecimal (sequncia de bytes)

    Obs.: se no for atribudo tipo a varivel, esta ser definida como caracter, automticamente.

  • Tela de seleo

  • Tela de seleo

  • Tela de seleo

  • Eventos de um programa AbapINITIALIZATION:Onde se pode setar variveis e preencheratributos ao se inicializar o programa.

    START-OF-SELECTION:Corpo principal do programa. Onde asselees de dados so feitas e informaestrabalhadas.

    END-OF-SELECTION:No obrigatrio, mas costuma-se utilizareste ponto para impresso de relatrios e finalizao do processo.

    TOP-OF-PAGE:Este evento se processa antes do primeirodado ser impresso em cada pgina. Pode serusado como cabealho, em companhia doNO STANDARD PAGE HEADING.

    END-OF-PAGE:Este evento ocorre quando se ultrapassa onmero de linhas da pgina corrente.Ou quando se passa de uma pgina outra.

  • IF

    IF ENDIF.Este comando permite que se desvie o fluxo do programa, dependendo da condio. Para encerrar usa-se: ENDIF, pode-se ainda ELSEIF e ELSE. O programa s ir executar a condiocorreta.

    IF . ENDIF.

    Exemplo: IF VBAP-VBELN IS INITIAL. MESSAGE E001(ZSSI). ENDIF.

    IF... ELSE... ENDIF.

    IF . ELSE. ENDIF.

    Exemplo.: IF VBAP-VBELN is INITIAL. MESSAGE E001(ZSSI). ElSE. MOVE VBAP-VBELN TO W_VBELN. ENDIF.Comandos bsicos - IF

  • -IF ELSEIFELSEIFENDIF.

    IF . ELSEIF . ...ELSEIF . ...ENDIF.

    Exemplo.: IF VBAP-VBELN is INITIAL. MESSAGE E001(ZSSI). ElSEIF not VBAP-VBELN is INITIAL . MOVE VBAP-VBELN TO W_PERNR. ELSEIF not VBAP-VBELN is INITIAL AND W_VBELN is INITIAL. MOVE VBAP-VBELN TO W_VBELN. ENDIF.Comandos bsicos - IF

  • LOOP

    LOOP ENDLOOP.

    LOOP AT . ENDLOOP.

    LOOP AT WHERE . ENDLOOP.

    Comandos bsicos - LOOP

  • CASE

    -CASE ENDCASE. um controle baseado em ndice de objeto de dados. Este controle deve ser concludo com ENDCASE.

    CASE . WHEN [OR OR ...]. ... WHEN .[OR OR ...] ... WHEN [OR OR ...]. ... WHEN ... ... WHEN OTHERS. ...ENDCASE.

    Exemplo: CASE W_DATA(02). When 01. W_DATA = W_DATA + 1. When 02. W_DATA = W_DATA + 2. When others. Clear W_DATA. ENDCASE. Comandos bsicos - CASE

  • DO

    -DO ENDDO.Repete o processamento que est dentro de DO e ENDDO.Terminando com os comandos EXIT, STOP e REJECT.Pode usar CONTINUE, para terminar o passo do DO e continuar o passo seguinte.

    DO < n > TIMES. ...ENDDO.

    Exemplo1: DO 10 TIMES. IF VBAK-VBELN eq VBAK-VBELN. W_VBELN = VBAK-VBELN. ENDIF. ENDDO.

    Exemplo2: DO. IF VBAK-VBELN is INITIAL. EXIT. ELSEIF VBAK-VBELN in P_VBELN. CONTINUE. ENDIF. ENDDO.Comandos bsicos - DO

  • WHILE

    -WHILE ENDWHILE.Repete o processamento que est dentro de WHILE e ENDWHILE, se a expresso verdadeira.A cada passagem a expresso verificada.Pode usar CONTINUE , para terminar o passo do WHILE e continuar o passo seguinte.

    WHILE expresso. ENDWHILE.

    Exemplo: WHILE W_WRITE

  • MOVE

    MOVE

    MOVE TO .

    = =

    -MOVE utilizando tabela interna

    MOVE TO .

    =

    A citao acima tem o mesmo efeito que = .

    MOVE-CORRESPONDING

    Este comando move os campos idnticos de uma estrutura para outra.

    MOVE-CORRESPONDING TO .

    Comandos bsicos MOVE

  • WRITE

    -WRITE comum os campos sarem justificados a esquerda. Os campos numricos so alinhados a direita.

    Exemplos: WRITE . WRITE: /TEXT-001, TEXT-002, TEXT-003+2(8). WRITE: /002 TEXT-004.

    Opes:... NO-ZERO.... NO-SIGN.... DD/MM/YY.... MM/DD/YY.... DD/MM/YYYY.... MM/DD/YYYY.... DDMMYY.... CURRENCY w.... DECIMALS d.... ROUND R.... UNIT u.... USING EDIT MASK mask.... UNDER g.... NO-GAP.... LEFT-JUSTIFIED.... CENTERED.... RIGHT-JUSTIFIED.Comandos bsicos WRITE

  • CLEAR

    -CLEARReseta o valor da varivel. Tambm aplica-se a estruturas e tabelas, limpando o header line,mas no interferindo nos dados no caso de tabelas.Se a varivel for alfanumrica, volta a ser branco. Se for numrica, retorna a zero.

    Exemplos:CLEAR .CLEAR .limpa o header line da tabela

    SKIP

    -SKIP nRealiza o salto de linhas. A varivel n identifica a quantidade de linhas a ser pulada.

    Exemplos:SKIP.Ir pular 1 linha mesmo efeito que SKIP 1SKIP 10.Ir pular 10 linhas

    ULINE

    -ULINEImprime uma linha corrente.

    Exemplos:ULINE.Imprime linha corrente da largura da pgina ULINE /35(50).Linha comear na posio 35 e ter comprimento de 50 bytesComandos bsicos CLEAR/SKIP/ULINE

  • COMENTRIOS

    Algumas das formas como podemos documentar um programa ABAP.

    * -> um asterisco na frente da linha, j serve para comenta-l toda.

    -> a aspas dupla, na mesma linha do cdigo, serve para comentar dali para frente.

    Exemplos:*IF t001-text IS INITIAL.* ADD 1 TO w_number.* ENDIF.

    IF t001-text IS INITIAL. continue. Comando para sair do Loop atualENDIF.

    Comandos bsicos Comentrios

  • FORM

    -FORM ENDFORM.Define uma subrotina dentro do programa ABAP. Pode ser executada a qualquer momento, dentrodo programa.

    Exemplos:FORM f_leitura_bseg. Instrues.EDFORM.Opes:FORM USING p_variavel_referencia CHANGING p_variavel_valor TABLES p_tabela. InstruesENDFORM.

    PERFORM

    -PERFORMExecuta chamadas de subrotinas do programa ABAP.

    Exemplos:PERFORM f_leitura_bseg.Opes:PERFORM USING v_variavel_referencia CHANGING v_variavel_valorTABLES t_tabela.

    Comandos bsicos FORM/PERFORM

  • CLEAR

    -CLEARLimpa/Inicializa a header line da tabela interna.

    Exemplo:CLEAR t_tabela01.

    REFRESH

    -REFRESHEste comando limpa os dados da tabela interna. No libera a memria carregada.

    Exemplo:REFRESH t_tabela01.

    FREE

    -FREEEste comando apaga os dados da tabela interna, liberando a memria onde ela estavacarregada.

    Exemplo:FREE t_tabela01.Tabela interna Limpeza e Inicializao

  • READ

    -READRealiza a leitura de dados de uma tabela interna.

    READ TABLE WITH KEY

    READ TABLE INDEX

    Exemplos:READ TABLE table01 WITH KEY nome = w_nome.Busca por campo especfico

    READ TABLE table02 INDEX w_index.Busca por posio do registro

    SY-SUBRC

    -SY-SUBRC um campo de sistema, que retorna o resultado do ltimo comando processado.Se estiver abaixo de um READ, retorna a condio de processamento do mesmo. Se SY-SUBRC = 0,Significa que foi processado corretamente. Diferente disso, ERRO.

    Exemplos:READ TABLE table WITH KEY nome = w_nome.

    IF sy-subrc 0. WRITE: /001 Erro na leitura do arquivo.ENDIF.Tabela interna READ / Leitura

  • Tabela interna APPEND / Gravando

  • MODIFY

    -MODIFYComando para alterar registro de uma tabela interna.

    MODIFY .

    Exemplos:MODIFY t_tabela01.

    Opes:MODIFY t_tabela02 INDEX sy-index.

    DELETE

    -DELETEComando para deleo de registro de uma tabela interna.

    DELETE .

    Exemplos:DELETE t_tabela01.

    Opes:DELETE t_tabela02 INDEX sy-index.DELETE t_tabela03 WHERE cracha = 3005.DELETE t_tabela04 FROM 3 to 5.

    Tabela interna MODIFY/DELETE

  • COLLECT

    -COLLECT .Este comando tambm insere registros na tabela interna. A particularidade que, ele analisaos campos alfanumricos. Estes sendo iguais, ele realiza a soma dos campos numricos.NAME PRICELH 100000AR 50000FL 10000000LH 50000Soma os campos numricos150000Tabela interna COLLECT

  • SORT

    -SORTComando utilizado para se sortear a tabela interna.

    SORT .

    Exemplos:SORT t_tabela01.

    Opes:SORT t_tabela02 BY campo2 campo3.SORT t_tabela03 BY campo4 ASCENDING campo5 DESCENDING.

    DESCRIBE

    -DESCRIBEComando para gerar informaes sobre determinada tabela interna.

    DESCRIBE TABLE LINES

    Exemplos:DESCRIBE TABLE t_tabela01 LINES LINHAS N linhas preenchidas OCCURS OCORRENCIA. N ocorrncias na def. da tabela

    Obs.: As variveis utilizadas para se obter o resultado (LINHAS/OCORRENCIA) devem ser definidas com tipo inteiro (I).Tabela interna SORT/DESCRIBE

  • Tabela DB SAP - SELECTSELECT

    -SELECTComando SQL utilizado para leitura das informaes de uma tabela do banco de dados SAP.Possui diversas variaes.

    -Select de todos os campos de uma tabela.

    SELECT * FROM . instrues.ENDSELECT.

    Obs.: O comando SELECT em si, pede um ENDSELECT para fech-lo. Em algumas variaes isto no se faz necessrio. Esta variao no um modo eficiente para acesso ao banco. No indicado, mesmo com incluso da clausula WHERE.

    -Select para variveis.

    SELECT campo1 campo2 campo3 INTO (var01, var02, var03, ) FROM WHERE .

    -Select inserindo em uma tabela interna.

    SELECT INTO TABLE FROM WHERE .

  • -Select inserindo dados em determinados campos de uma tabela interna.

    SELECT INTO CORRESPONDING FIELDS OF TABLE FROM WHERE .

    -Select inserindo dados em uma tabela, usando como base os dados de outra j preenchida.

    SELECT INTO TABLE FROM FOR ALL ENTRIES IN WHERE .

    Obs.1: Se ao buscar os registros com FOR ALL ENTRIES, e dois registros forem iguais, o sistema s ir trazer um. Portanto CUIDADO com este tipode select. Sempre buscar um campo que garanta a unicidade dos dados.

    Obs.2: Sempre verificar se a tabela interna, de referncia< tabela interna1>, contm dados e os mesmo estejam ordenados.

    Tabela DB SAP - SELECT

  • -Select para buscar apenas um registro especfico.

    SELECT SINGLE INTO TABLE FROM WHERE .

    Obs.: Para o uso do SELECT SINGLE, deve-se utilizar a chave completa da tabela. Se no possuir as chaves todas, utilizar a opo UP TO 1 ROWS.

    SELECT INTO TABLE FROM UP TO 1 ROW WHERE .ENDSELECT.

    -Select com range de valores.

    SELECT INTO TABLE FROM WHERE BETWEEN AND .

    -Select em um intervalo de valores

    SELECT INTO TABLE FROM WHERE IN (valor_mnimo,valor_mximo).Tabela DB SAP - SELECT

  • INSERT

    -INSERT1.Insere registros na tabela do dicionrio.

    INSERT INTO [ FROM ][ VALUES ] .

    Exemplos:TABLES: SPFLI.

    DATA: WA LIKE SPFLI.

    WA-CARRID = 'LH'.WA-CITYFROM = 'WASHINGTON'.INSERT INTO SPFLI VALUES WA.

    WA-CARRID = 'UA'.WA-CITYFROM = 'LONDON'.INSERT SPFLI FROM WA.

    Grava os valores da estrutura WA na tabela SPFLI.Mesmo feito do comando acima.Tabela DB SAP - INSERT

  • INSERT

    2.Insere registros na tabela do dicionrio, a partir de uma tabela interna.

    INSERT INTO FROM TABLE [ ACCEPTING DUPLICATE KEYS ].

    Exemplos:TABLES: SPFLI.

    DATA: ITAB LIKE SPFLI OCCURS 10 WITH HEADER LINE.

    ITAB-CARRID = 'UA'.ITAB-CONNID = '0011'.APPEND ITAB.

    ITAB-CARRID = 'LH'.ITAB-CONNID = '1245'.APPEND ITAB.

    ITAB-CARRID = 'AA'.ITAB-CONNID = '4574'.APPEND ITAB.INSERT SPFLI FROM TABLE ITAB.

    Tabela DB SAP - INSERT

  • UPDATE

    -UPDATE1.Modifica registros na tabela do dicionrio. Um registro por vez.

    UPDATE [ FROM ].

    Exemplos:TABLES: SPFLI.

    DATA: WA LIKE SPFLI.

    MOVE 'AA' TO WA-CARRID.MOVE '0064' TO WA-CONNID.MOVE 'WASHINGTON' TO WA-CITYFROM.UPDATE SPFLI FROM WA.

    MOVE 'LH' TO SPFLI-CARRID.MOVE '0017' TO SPFLI-CONNID.MOVE 'BERLIN' TO SPFLI-CITFROM.UPDATE SPFLI.

    Tabela DB SAP - UPDATE

  • UPDATE

    2.Modifica registros na tabela do dicionrio. Vrios registros por vez.

    UPDATE SET .. [ WHERE condio ].

    Exemplos:TABLES: SFLIGHT.UPDATE SFLIGHT SET PLANETYPE = 'A310' FLPRICE = FLPRICE - '10000' WHERE CARRID = 'LH'.

    3. Modifica registros na tabela do dicionrio, a partir de uma tabela interna.

    UPDATE FROM TABLE .

    Exemplos:TABLES: SPFLI.

    DATA: ITAB LIKE SPFLI OCCURS 10 WITH HEADER LINE.

    ITAB-CARRID = 'UA'. ITAB-CONNID = '0011'.APPEND ITAB.ITAB-CARRID = 'LH'. ITAB-CONNID = '1245'.APPEND ITAB.ITAB-CARRID = 'AA'. ITAB-CONNID = '4574'.APPEND ITAB.UPDATE SPFLI FROM TABLE ITAB.Tabela DB SAP - UPDATE

  • MODIFY

    -MODIFYEste comando tambm altera registros na tabela do dicionrio, mas contm uma diferenaimportante. Com este comando, se o registro a ser alterado no for encontrado, ele inserido na tabela do dicionrio.Segue o mesmo esquema do comando UPDATE.

    MODIFY [ FROM ].

    MODIFY FROM TABLE .

    Exemplos:TABLES: SPFLI.

    DATA: WA LIKE SPFLI.

    MOVE 'AA' TO WA-CARRID.MOVE '0064' TO WA-CONNID.MOVE 'WASHINGTON' TO WA-CITYFROM.MODIFY SPFLI FROM WA.

    TABLES: SPFLI.

    DATA ITAB LIKE SPFLI OCCURS 10 WITH HEADER LINE.

    ITAB-CARRID = 'UA'. ITAB-CONNID = '0011'.APPEND ITAB.ITAB-CARRID = 'LH'. ITAB-CONNID = '1245'.APPEND ITAB.ITAB-CARRID = 'AA'. ITAB-CONNID = '4574'.APPEND ITAB.MODIFY SPFLI FROM TABLE ITAB.Tabela DB SAP - MODIFY

  • DELETE

    -DELETE1.Deleta registros da tabela do dicionrio.

    DELETE FROM .

    Exemplos:TABLES: SPFLI.

    DATA: WA LIKE SPFLI.

    MOVE 'AA' TO WA-CARRID.MOVE '0064' TO WA-CONNID.

    DELETE SPFLI FROM WA.

    2.Deleta registros da tabela do dicionrio. Vrios registros por vez.

    DELETE FROM WHERE .

    Exemplos:TABLES: SFLIGHT.

    DELETE FROM SFLIGHT WHERE PLANETYPE = 'A310' AND CARRID = 'LH'.Sero deletados os registros na estrutura WA, de acordo com os campos chave.Tabela DB SAP - DELETE

  • DELETE

    3. Modifica registros na tabela do dicionrio, a partir de uma tabela interna.

    DELETE FROM TABLE .

    Exemplos:TABLES SPFLI.

    DATA ITAB LIKE SPFLI OCCURS 10 WITH HEADER LINE.

    ITAB-CARRID = 'UA'. ITAB-CONNID = '0011'.APPEND ITAB.ITAB-CARRID = 'LH'.ITAB-CONNID = '1245'.APPEND ITAB.ITAB-CARRID = 'AA'.ITAB-CONNID = '4574'.APPEND ITAB.

    DELETE SPFLI FROM TABLE ITAB.Os registros so deletados baseando-se nos campos chave.Tabela DB SAP - DELETE

  • COMMIT WORK

    Efetiva as operaes realizadas nas tabelas para o SAP.Enquanto o COMMIT no executado, o SAP trabalha em uma rea separada. S carrega as modificaes para o banco, quando o comando executado.

    ROLLBACK WORK

    Desfaz as modificaes efetuadas pelo programa, antes de ser executado o COMMIT.Aps a execuo do COMMIT, o ROLLBACK no mais consegue desfazer as modificaes.

    Exemplos:COMMIT WORK.DELETE FROM bkpf WHERE INSERT zteste_001 from zteste_001.

    IF sy-subrc 0. ROLLBACK WORK. continue.ELSE. COMMIT WORK.ENDIF.Primeira gravao.Insere registros na tabela.Se ocorrer erro na insero, desfaz tudo o que foi feito aps o primeiro COMMIT.Efetiva operaes realizadas at este COMMIT.Deleta registros da tabela.COMMIT WORK / ROLLBACK WORK

  • CONCATENATEUtilizado para concatenar/juntar vrias strings em uma s.

    CONCATENATE INTO [ SEPARATED BY ].

    CONDENSEUtilizado para eliminar os espaos em branco de uma string.

    CONDENSE [ NO-GAPS ].

    TRANSLATEUtilizado para transformar os caracteres em maisculos ou minsculos. E tambm paraconverter uma string a partir de outra.

    TRANSLATE TO UPPER CASE.TRANSLATE TO LOWER CASE.

    TRANSLATE USING .

    DATA: STRING1 (10) VALUE 'AbCdEfGhIj', STRING2 (20) VALUE 'AxbXCydYEzfZ'.

    TRANSLATE STRING1 USING STRING2.

    WRITE / STRING1.

    A sada ser a seguinte string : xXyYzZGhIjTrabalhando com cadeia de caracteresA string utilizada para o TRANSLATE, STRING2 tem a seguinte instruo :A xb XC yd YE zf Z

  • REPLACESubstitui o contedo de uma string por outra, em uma outra string destino.

    Exemplos:DATA: T(10) VALUE 'abcdefghij', STRING LIKE T, STR1(4) VALUE 'cdef', STR2(4) VALUE 'klmn', STR3(2) VALUE 'kl', STR4(6) VALUE 'klmnop'.

    STRING = T.REPLACE STR1 WITH STR2 INTO STRING.WRITE / STRING.

    A sada na string ser a seguinte : abklmnghij

    STRING = T.REPLACE STR1 WITH STR3 INTO STRING.WRITE / STRING.STRING = T.

    A sada na string ser a seguinte : abklghij

    REPLACE STR1 WITH STR4 INTO STRING.WRITE / STRING.

    A sada na string ser a seguinte : abklmnopghTrabalhando com cadeia de caracteres

  • SEARCHPermite que se busque uma string em uma cadeia de caracteres ou em uma tabela interna.

    SY-SUBRC = 0, string encontrada.SY-FDPOS = , retorna a posio em que foi encontrada.SY-SUBRC = 4, string no encontrada.

    SEARCH FROM .

    SEARCH FOR [ AND MARK ].

    Obs.: No caso de busca em tabela interna, a varivel SY-TABIX retorna a linha em que a string procurada foi encontrada.

    STRLENDevolve o tamanha da string referenciada.

    v_tamanho = STRLEN( IVAN RODRIGO ).

    v_tamanho = STRLEN( TEXT-001 ).Trabalhando com cadeia de caracteres

  • RELATRIOS

  • Formatando listas : OverviewComandos de sada/Opes de formatao :WRITEFORMATNEW-PAGE

    Eventos :TOP-OF-PAGEEND-OF-PAGE

    Elementos de texto :TEXT-SYMBOLSHEADINGSSELECTION TEXTS

    System fields

  • WRITE

    Formato de sada dos tipos de dados pr-definidos :

    Tipo DadoTamanho SadaPositioningCtamanho do campoesquerdaD8esquerdaF22direitaI11direitaNtamanho do campoesquerdaP2 * tamanho do campo + 1direitaT6esquerdaX2 * tamanho do campoesquerda

    Revendo as opes do comando WRITE:

    ... NO-ZERO.... NO-SIGN.... DD/MM/YY.... MM/DD/YY.... DD/MM/YYYY.... MM/DD/YYYY.... DDMMYY.... CURRENCY w.... DECIMALS d.... ROUND R.... UNIT u.... USING EDIT MASK mask.... UNDER g.... NO-GAP.... LEFT-JUSTIFIED.... CENTERED.... RIGHT-JUSTIFIED.Comando WRITE

  • WRITE

    Exemplos:

    WRITE: ****************.WRITE: Date, sy-datum.

    WRITE: Time, sy-uzeit.

    WRITE: 5 `****************.

    WRITE: /10 Usurio:, 30 sy-uname.

    SKIP 2.

    ULINE.

    ULINE /5(40).

    V_DATUM = SY-DATUM.V_UZEIT = SY-UZEIT.

    WRITE: 5 Datum, 20 V_DATUM DD/MM/YYYY.

    WRITE: /10 Time, 25 V_TIME USING EDIT MASK __:__:__.Comando WRITE

  • FORMAT

    -Trabalhando com cores.

    Opes para se modificar as cores da lista, via comando FORMAT.

    1. COLOR n [ON]or COLOR OFF2. INTENSIFIED [ON]or INTENSIFIED OFF3. INVERSE [ON]or INVERSE OFF4. HOTSPOT [ON]or HOTSPOT OFF5. INPUT [ON]or INPUT OFF RESET

    FORMAT INTENSIFIED OFF.FORMAT INTENSIFEID.FORMAT COLOR COL_KEY.FORMAT COLOR COL_TOTAL INTENSIFIED OFF.WRITE: /05 V_TOTAL COLOR COL_POSITIVE.Comando FORMAT

  • NEW-PAGE

    O comando NEW-PAGE inicia uma nova pgina, durante o processamento da lista.Ele no imprime pginas em branco. Ele as ignora.O comando incrementa o contador de pginas do sistema varivel SY-PAGNO.Para ser executado, a opo NO STANDARD PAGE HEADING deve ser colocada no programa.

    END-OF-PAGE

    O comando executado sempre a rea definida para impresso na pgina acaba.

    LINE-SIZE colCria o report com colunas por linha.

    LINE-COUNT n(m)Cria o report com linhas por pgina, das quais (m) linhas sero reservadas para o processamento do comando END-OF-PAGE.

    ALGUNS CAMPOS DO SISTEMA PARA CRIAO DE LISTAS

    SY-PAGNO : nmero da pgina corrente.SY-LINNO : nmero da linha corrente.SY-COLNO : nmero da coluna em que o cursor est posicionado.Comando NEW-PAGE / END-OF-PAGE

  • ALV

  • ALV GridO Alv (Abap List Viewer) Grid uma ferramenta flexvel para exibio de relatrios ou rvore.

    So disponibilizados botes que permitem ao usurio manipular os dados (classificar, filtrar e somar).

    Alm dos botes standards do sistema, possvel criar novos botes conforme a necessidade do usurio.

    Isto pode eliminar certas etapas no processo de gerenciamento de eventos para controles .

  • ALV GridO Abap List Viewer padroniza e simplifica o uso de listas e relatrios no sistema R/3. O Abap List Viewer fornece interfaces e formatos de lista padronizados para todas as listas e relatrios.

    Pode-se especificar os campos a serem exibidos no relatrio e modificar a seqncia em que esses campos so exibidos. Alm disso, pode-se ajustar a largura das colunas individuais para atender a requisitos especficos.

  • ALV GridO List Viewer permite :

    Usar variantes de exibio standard predefinidas pela SAP .

    Ordenar os dados : crescente e decrescente.Ordenar as linhas de acordo com os valores das colunas, em seqncia crescente ou decrescente.

    Definir um filtro.Exibir somente os campos desejados.

    Formar totais e subtotais.Em uma lista, possvel calcular totais e subtotais de uma ou mais colunas selecionadas.

  • ALV GridExibio de informaes detalhadas.Pode-se acessar informaes detalhadas de linhas individuais da lista.

    Pesquisa. possvel pesquisar informaes especficas.

    Impresso de listas e pr-visualizao.Pode-se imprimir as listas e chamar uma pr-exibio antes de imprimir.

  • ALV GridExportao de dados.Pode-se copiar as listas, por exemplo, para uma planilha ou grav-las como arquivo local.

    Deslocar colunas.

    O Alv Grid formado basicamente por :- Uma barra de ferramenta- Um ttulo- Uma lista de sada.

  • Um programa ALV simplesPrograma : Z_ALV_SIMPLE.

  • Estruturas de um programa ALVO programa endereado no link Exemplo ALV 01.doc contm as estruturas necessrias para se desenvolver um programa mais abrangente e formatado.

  • ExerccioRelatrio.

    Criar um relatrio que dever buscar os documentos contbeis (BSEG) e seus itens (BKPF), listando-os, ordenados por documento+item+datadocumento.

    Dever existir uma somatria por documento contbil, de todos os campos devalor. Incluir entre os documentos uma linha de separao.

    O relatrio dever conter um cabealho que identifique o ttulo do relatrio, a hora e data de execuo, alm do usurio.

    Incluir tambm indicador de pginas.

    O cabealho dever ter cor diferente das demais linhas do relatrio.

    J as linhas de detalhe devem se alterar entre duas cores, de mesma tonalidade, mas de intensidades diferentes.

  • Exerccio1.Dados para seleo das informaes :

    BSEG (documentos contbeis)Exerccio (GJAHR) = 2001Tipo de documento (BLART) = AB ou SA ou SBData do documento (BLDAT) = mes 09 e ano 2001Status do documento (BSTAT) = branco

    Buscar os itens na tabela BKPF, pela chave.

    Incluir ao final do relatrio um demonstrativo do total de registros lidos das tabelas.

    Campos a inserir no relatrio : BSEG (BUKRS, BELNR, GJAHR, BLART,BLDAT, BKTXT, BSTAT) e BSEG (BUZEI, AUGCP, AUGBL, WRBTR, PSWBT, PSWSL).

  • ExerccioTransformar o relatrio do item 1, em uma relatrio ALV Grid.

    Retirar os valores fixos para seleo dos dados e incluir uma tela de seleo,com os seguintes campos : Empresa, Documento, Exerccio, Tipo documentoe Data documento.

    Validar - ao menos um dos campos da tela de seleo dever estar preenchi-do.

    Incluir no cabealho, o logotipo da Softtek.

    Incluir sumarizador pelos campos de valor.

  • On Line / Module Pool

  • IntroduoOnline so tipos de programas que, como o prprio nome indica, funcionam online, ou seja, instantaneamente. Por isso, eles so dotados de uma maior capacidade de customizao das telas e maior flexibilidade para criarem uma interface mais amigvel com o usurio.

    Eles so especialmente teis na criao de aplicaes que necessitem de subtelas ou quando necessrio fornecer informaes aos usurios de outra maneira que no um relatrio. Na maioria dos casos, os programas standard funcionam assim.

  • Estrutura de um Module Pool

  • Estrutura de um Module PoolScreenDesenho da Tela (Definio dos Campos)Lista de campos para tratamento de errosDefinio dos mdulos PBO e PAI relacionados com a tela

    GUI Status e GUI TitleDefinio dos comandos de boto e menus disponveis:Definio do ttulo de telaHabilitao dos comandos standards existentesCriao de novos comandos necessrios

    Evento PBOEvento executado antes da exibio da tela para o usurio:Definio do GUI Status e GUI Title para a tela correspondenteSeleo inicial de dados e atribuio de valores a serem exibidos na tela

    Evento PAIEvento executado aps um comando do usurio (enter, click de um boto, etc...)Verificao do cdigo de comando executado (definido no GUI Status)Cdigo ABAP para execuo da lgica do comando

  • Desenvolvendo um Module PoolSE80A transao SE80 a mais adequada para se desenvolver um module pool, poispossibilita acesso dinmico a qualquer elemento do programa, bem como as estru-turas GUI, includes, modules e telas.Os programas desenvolvidos pelos clientes no SAP, devem iniciar com SAPMZ.Por exemplo, SAPMZABAP05.A tela desenhada no Screen Painter Grfico, que possui ferramentas de fcil utilizao.A programao das telas feita em uma rea da prpria tela, destinada a lgica deprogramao da mesma.As sub-rotinas chamadas a partir da lgica de programao das telas, recebem onome de mdulo MODULE... Os mdulos do PBO ficam armazenados em um include do prprio PBO. O mesmoacontecendo com os mdulos do PAI.

  • SE80

  • Module Pool Exemplo

  • Tela Lgica de Processamento

  • Module Pool Mais conceitos

  • Screen Painter Grfico

  • SubtelaA Subtela uma rea na Tela onde podemos variar os campos conforme a necessidade, no deixando fixo os campos numa tela e no havendo necessidade de replicar alguns campos e vrias telas.

    Podemos dividir a definio da Subtela em 2 Partes:

    Tela de Origem: onde definimos uma rea especfica para chamada da Subtela.

    Subtela: Tela onde sero definidos os campos da Subtela.

  • SubtelaNa criao da Tela em que ser feita a referncia Subtela, criamos uma rea especfica para esta Subtela. Tela de Origem

  • Subtela

  • Subtela Tela de OrigemNa PBO (PROCESS BEFORE OUTPUT) dever existir um comando para a execuo desta subtela, sendo: CALL SUBSCREEN sub1 INCLUDING programa dynpronr.SUB1 Seria o nome da rea definida para a SubtelaPROGRAMA Nome do Programa onde se encontra a Subtela. Normalmente, se refere ao mesmo programa da Tela NormalDYNPRONR Nmero da Subtela a ser executadaQuando este comando executado, a PBO desta Subtela executada, com todas as rotinas definidas nela.Na PAI (PROCESS AFTER INPUT) dever existir um comando para a execuo desta subtela, sendo:CALL SUBSCREEN sub1.Onde:SUB1 Seria o nome da rea definida para a Subtela (como na PBO)Quando este comando executado, a PAI desta subtela executada, com todas as rotinas definidas nela. A Subtela no tem PF-STATUS definido, utiliza-se as definies da Tela de Origem, de onde est sendo executada a Subtela.

  • Table Control

  • Table Control

  • Table Control

  • Table Control

  • Table Control Definies de CdigoPara utilizao de uma Table Control necessrio varivel tc1, que deve ter o mesmo nome da Table Control desenhada na Tela. A informao 9000 se refere ao cdigo da Tela onde est a Table Control. CONTROLS: tc1 TYPE TABLEVIEW USING SCREEN 9000.Na PBO deve exitir o seguinte comando: LOOP WITH CONTROL tc1.ENDLOOP.No PBO, sero feitos n loopings, conforme a quantidade de linhas que teremos da Table Control na Tela. No PAI, este Loop faz uma leitura de todas as linhas da Table Control que estiverem sendo exibidas na tela, tendo os campos contedo ou no. Dentro deste Looping (tanto na PBO como na PAI) podemos incluir quantos MODULEs forem necessrios. Lembrando que estes MODULEs sero executados para todas as linhas da Table Control que estiverem sendo exibidas na tela, como explicado acima.

  • Table Control Definies de CdigoSugere-se que estas informaes da Table Control sejam movimentadas para uma tabela interna, j que na PBO todos os dados da Tela so limpos para receberem os dados novamente. Ento, o que normalmente utiliza-se criar uma Tabela Interna com o mesmo formato da Table Control e na PAI feito um MODULE onde se grava os dados da Tela na Tabela Interna. Na PBO, estes dados so movimentados novamente para a Table Control.

    Comandos teis:CHAIN Verifica quando um campo alterado ou utilizado.

  • Table Control Atributos da Table ControlAlguns Atributos da Table Control podem ser alteradas conforme a necessidade do programa, sendo:

  • Table Control Atributos da Table Control(*1) O parmetro COLS uma outra estrutura que contm a definio de alguns dados por campo da Table Control.Para alterao destes parmetros, basta alterar o contedo dos campos, movimentando a informaes para a Table Control-Campo (Ex.: TC1-TOP_LINE = 5). Mltiplos Table Control Para cada Table Control desenhada na Tela, existir um Loop/Endloop no PAI e PBO; O Nome das Table Controls devem ser diferentes entre elas;

  • Table Control Inibir e Exibir CamposPara os campos da Tela, com excesso de Table Control, para inibir e exibir campos utilizado o seguinte comando:

    LOOP AT SCREEN. SCREEN-INVISIBLE = XENDLOOP.

    Onde X pode ser 0 para exibir e 1 para inibir.

    Caso seja necessrio escolher um campo em especfico, basta fazer o filtro atravs do campo SCREEN-NAME. Tambm podem ser utilizados os campos SCREEN-GROUP1, SCREEN-GROUP2, SCREEN-GROUP3 e SCREEN-GROUP4.

  • Table Control Inibir e Exibir CamposPara Table Control, caso haja necessidade de inibir uma coluna da Table Control, o comando deve ser outro: DATA: wa TYPE cxtab_column . LOOP AT tc1-COLS INTO wa . wa-INVISIBLE = X. MODIFY tab1-COLS FROM wa . ENDLOOP.Onde: TC1 Nome da Table ControlWA Varivel com tipo referenciando TYPE CXTAB_COLUMNX Se informado 0 o campo no ser inibido, se 1 o campo ser inibidoCom esse comando, todos os campos sero inibidos pois no h nenhuma checagem de qual campo dever ser inibido. Para escolher o campo, usar a varivel WA-SCREEN-NAME que contm o nome do campo. Tambm podem ser utilizados os campos WA-SCREEN-GROUP1, WA-SCREEN-GROUP2, WA-SCREEN-GROUP3 e WA-SCREEN-GROUP4.

  • ExerccioExerccio de Module Pool

    Utilizar o exerccio 2 do tpico anterior (ALV). Ser um programa com duastelas. A primeira se equivaler a tela de seleo dos dados. Na segunda tela, acima, os campos que foram digitados na primeira travados;abaixo, criar uma lista (table control), com os itens do documento solicitado.Para este programa, os campos da primeira tela documento e ano, deveroser obrigatrios.

  • Batch-Input

    Call Transaction

  • ObjetivosO que Batch-InputComo realizar uma carga atravs desta tcnicaCall TransactionDirect Input

  • Transferindo Dados Externos

  • Nunca gravar na base direto

  • Seqncia para codificao

  • Funes Para Batch-Input

  • Transao SHDB

  • REPORT Z_TESTE .

    DATA: BEGIN OF BDC_TAB OCCURS 0. INCLUDE STRUCTURE BDCDATA.DATA: END OF BDC_TAB.

    DATA: BEGIN OF REGISTRO OCCURS 0, ID LIKE SCUSTOM-ID, TEL LIKE SCUSTOM-TELEPHONE, END OF REGISTRO.

    Programa Modelo Batch-Input

  • SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001.

    PARAMETERS: ARQUIVO(80) TYPE C DEFAULT 'H:\TEAMSAP\ABAP\batch.txt LOWER CASE. SELECTION-SCREEN END OF BLOCK 1.

    SELECTION-SCREEN BEGIN OF BLOCK 2 WITH FRAME TITLE TEXT-002.

    PARAMETERS: TP_UNIX RADIOBUTTON GROUP TP, TP_WS RADIOBUTTON GROUP TP DEFAULT 'X'.

    SELECTION-SCREEN END OF BLOCK 2.

    DATA: NOME_ARQ LIKE RLGRAP-FILENAME.

    Programa Modelo Batch-Input - Continuao

  • START-OF-SELECTION.

    Nome_arq = arquivo.

    IF TP_UNIX = 'X'. PERFORM ABRE_ARQUIVO_UNIX. ELSE. PERFORM ABRE_ARQUIVO_WINDOWS. ENDIF.

    PERFORM OPEN_GROUP. PERFORM PREPARA_BDC. PERFORM FECHA_GROUP.

    END-OF-SELECTION.Programa Modelo Batch-Input - Continuao

  • FORM ABRE_ARQUIVO_UNIX.

    OPEN DATASET NOME_ARQ FOR INPUT IN TEXT MODE.

    DO. READ DATASET NOME_ARQ INTO REGISTRO. IF SY-SUBRC NE 0. EXIT. ENDIF. APPEND REGISTRO. ENDDO.

    ENDFORM.Programa Modelo Batch-Input - Continuao

  • FORM ABRE_ARQUIVO_WINDOWS.

    CALL FUNCTION 'WS_UPLOAD' EXPORTING FILENAME = NOME_ARQ FILETYPE = 'ASC' TABLES DATA_TAB = REGISTRO EXCEPTIONS CONVERSION_ERROR = 1 FILE_OPEN_ERROR = 2 FILE_READ_ERROR = 3 INVALID_TABLE_WIDTH = 4 INVALID_TYPE = 5 NO_BATCH = 6 UNKNOWN_ERROR = 7 GUI_REFUSE_FILETRANSFER = 8 OTHERS = 9. Programa Modelo Batch-Input - Continuao

  • IF SY-SUBRC NE 0. WRITE: / 'Erro Abrindo arquivo do Windows ', NOME_ARQ. EXIT. ENDIF.

    ENDFORM. ABRE_ARQUIVO_WINDOWSPrograma Modelo Batch-Input - Continuao

  • FORM OPEN_GROUP.

    CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING CLIENT = SY-MANDT GROUP = SAP_2' KEEP = 'X' USER = SY-UNAME EXCEPTIONS CLIENT_INVALID = 1 DESTINATION_INVALID = 2 GROUP_INVALID = 3 GROUP_IS_LOCKED = 4 HOLDDATE_INVALID = 5 INTERNAL_ERROR = 6 QUEUE_ERROR = 7 RUNNING = 8 SYSTEM_LOCK_ERROR = 9 USER_INVALID = 10 OTHERS = 11.Programa Modelo Batch-Input - Continuao

  • IF SY-SUBRC NE 0. WRITE: 'Erro no Open Group'. EXIT. ENDIF.

    ENDFORM. OPEN_GROUPPrograma Modelo Batch-Input - Continuao

  • FORM PREPARA_BDC.

    REFRESH BDC_TAB.

    LOOP AT REGISTRO.

    PERFORM PREENCHE_BDC USING: 'X' 'SAPMTFBA' '0100', ' ' 'SCUSTOM-ID' REGISTRO-ID, ' ' 'BDC_OKCODE' '/00',

    'X' 'SAPMTFBA' '0200', ' ' 'SCUSTOM-TELEPHONE' REGISTRO-TEL, ' ' 'BDC_OKCODE' '=SAVE'.

    PERFORM INSERT. REFRESH BDC_TAB. ENDLOOP.

    ENDFORM.Programa Modelo Batch-Input - Continuao

  • FORM PREENCHE_BDC USING DYNBEGIN NAME VALUE.

    IF DYNBEGIN = 'X'. MOVE: NAME TO BDC_TAB-PROGRAM, VALUE TO BDC_TAB-DYNPRO, 'X' TO BDC_TAB-DYNBEGIN. APPEND BDC_TAB. ELSE. MOVE: NAME TO BDC_TAB-FNAM, VALUE TO BDC_TAB-FVAL. APPEND BDC_TAB. ENDIF.

    CLEAR BDC_TAB.

    ENDFORM.Programa Modelo Batch-Input - Continuao

  • FORM INSERT.

    CALL FUNCTION 'BDC_INSERT' EXPORTING TCODE = 'TFBA' TABLES DYNPROTAB = BDC_TAB EXCEPTIONS INTERNAL_ERROR = 1 NOT_OPEN = 2 QUEUE_ERROR = 3 TCODE_INVALID = 4 PRINTING_INVALID = 5 POSTING_INVALID = 6 OTHERS = 7.

    IF SY-SUBRC NE 0. WRITE: 'Erro no Insert'. EXIT. ENDIF.ENDFORM.Programa Modelo Batch-Input - Continuao

  • FORM FECHA_GROUP.

    CALL FUNCTION 'BDC_CLOSE_GROUP' EXCEPTIONS NOT_OPEN = 1 QUEUE_ERROR = 2 OTHERS = 3.

    IF SY-SUBRC NE 0. WRITE: 'Erro no Open Group'. EXIT. ELSE. WRITE: 'Sesso Criada'. ENDIF.

    ENDFORM.Programa Modelo Batch-Input - Continuao

  • Batch-Input X Call Transaction

  • Pg. 01REPORT Z_TESTE .

    DATA: BEGIN OF BDC_TAB OCCURS 0. INCLUDE STRUCTURE BDCDATA.DATA: END OF BDC_TAB.

    DATA: BEGIN OF MSG_TAB OCCURS 0. INCLUDE STRUCTURE BDCMSGCOLL.DATA: END OF MSG_TAB.

    DATA: BEGIN OF REGISTRO OCCURS 0, ID LIKE SCUSTOM-ID, TEL LIKE SCUSTOM-TELEPHONE, END OF REGISTRO.Programa Modelo Call Transaction

  • Pg. 02SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001.PARAMETERS: ARQUIVO(80) TYPE C DEFAULT 'H:\TEAMSAP\ABAP\batch.txt' LOWER CASE.SELECTION-SCREEN END OF BLOCK 1.

    SELECTION-SCREEN BEGIN OF BLOCK 2 WITH FRAME TITLE TEXT-002.

    PARAMETERS: TP_UNIX RADIOBUTTON GROUP TP, TP_WS RADIOBUTTON GROUP TP DEFAULT 'X'.

    SELECTION-SCREEN END OF BLOCK 2.

    SELECTION-SCREEN BEGIN OF BLOCK 3 WITH FRAME TITLE TEXT-003.PARAMETERS: ALL RADIOBUTTON GROUP MODE DEFAULT 'X', ERRO RADIOBUTTON GROUP MODE, NADA RADIOBUTTON GROUP MODE.

    SELECTION-SCREEN END OF BLOCK 3.Programa Modelo Call Transaction Continuao

  • Pg. 03DATA: NOME_ARQ LIKE RLGRAP-FILENAME, MODO(1) TYPE C, CONT TYPE I VALUE 0, C_TEXTO(255) TYPE C.

    START-OF-SELECTION.

    NOME_ARQ = ARQUIVO.

    IF ALL = 'X'. MODO = 'A'.ELSEIF ERRO = 'X'. MODO = 'E'.ELSE. MODO = 'N'.ENDIF.Programa Modelo Call Transaction Continuao

  • Pg. 04IF TP_UNIX = 'X'. PERFORM ABRE_ARQUIVO_UNIX.ELSE. PERFORM ABRE_ARQUIVO_WINDOWS.ENDIF.

    PERFORM PREPARA_BDC.IF CONT > 0. PERFORM FECHA_BDC.ENDIF.Programa Modelo Call Transaction Continuao

  • Pg. 05FORM PREPARA_BDC. REFRESH BDC_TAB.LOOP AT REGISTRO. PERFORM PREENCHE_BDC USING: 'X' 'SAPMTFBA' '0100', ' ' 'SCUSTOM-ID' REGISTRO-ID, ' ' 'BDC_OKCODE' '/00',

    'X' 'SAPMTFBA' '0200', ' ' 'SCUSTOM-TELEPHONE' REGISTRO-TEL, ' ' 'BDC_OKCODE' '=SAVE'. WRITE: / REGISTRO-ID, REGISTRO-TEL. PERFORM INSERT. REFRESH BDC_TAB.ENDLOOP.ENDFORM.Programa Modelo Call Transaction Continuao

  • Pg. 06FORM PREENCHE_BDC USING DYNBEGIN NAME VALUE.

    IF DYNBEGIN = 'X'. MOVE: NAME TO BDC_TAB-PROGRAM, VALUE TO BDC_TAB-DYNPRO, 'X' TO BDC_TAB-DYNBEGIN. APPEND BDC_TAB. ELSE. MOVE: NAME TO BDC_TAB-FNAM, VALUE TO BDC_TAB-FVAL. APPEND BDC_TAB. ENDIF. CLEAR BDC_TAB.ENDFORM.Programa Modelo Call Transaction Continuao

  • Pg. 07FORM INSERT. CALL TRANSACTION 'TFBA' USING BDC_TAB MODE MODO UPDATE 'S' MESSAGES INTO MSG_TAB. IF SY-SUBRC NE 0. CONT = CONT + 1. PERFORM PREPARA_PASTA_ERRO. ENDIF. PERFORM MENSAGENS.ENDFORM.Programa Modelo Call Transaction Continuao

  • Pg. 08FORM ABRE_ARQUIVO_UNIX.

    OPEN DATASET NOME_ARQ FOR INPUT IN TEXT MODE.

    DO. READ DATASET NOME_ARQ INTO REGISTRO. IF SY-SUBRC NE 0. EXIT. ENDIF. APPEND REGISTRO.ENDDO.

    ENDFORM.Programa Modelo Call Transaction Continuao

  • Pg. 09FORM ABRE_ARQUIVO_WINDOWS.

    CALL FUNCTION 'WS_UPLOAD' EXPORTING FILENAME = NOME_ARQ FILETYPE = 'ASC' TABLES DATA_TAB = REGISTRO EXCEPTIONS CONVERSION_ERROR = 1 FILE_OPEN_ERROR = 2 FILE_READ_ERROR = 3 INVALID_TABLE_WIDTH = 4 INVALID_TYPE = 5 NO_BATCH = 6 UNKNOWN_ERROR = 7 GUI_REFUSE_FILETRANSFER = 8 OTHERS = 9.Programa Modelo Call Transaction Continuao

  • Pg.10 IF SY-SUBRC NE 0. WRITE: / 'Erro Abrindo arquivo do Windows ', NOME_ARQ. EXIT. ENDIF.

    ENDFORM.Programa Modelo Call Transaction Continuao

  • Pg.11FORM MENSAGENS.

    LOOP AT MSG_TAB.

    SELECT SINGLE TEXT INTO C_TEXTO FROM T100 WHERE SPRSL = 'PT' AND ARBGB = MSG_TAB-MSGID AND MSGNR = MSG_TAB-MSGNR.

    IF MSG_TAB-MSGV1 NE SPACE. REPLACE '&1' WITH MSG_TAB-MSGV1 INTO C_TEXTO. IF SY-SUBRC NE 0. REPLACE '&' WITH MSG_TAB-MSGV1 INTO C_TEXTO. ENDIF. CONDENSE C_TEXTO. ENDIF.Programa Modelo Call Transaction Continuao

  • Pg.12 IF MSG_TAB-MSGV2 NE SPACE. REPLACE '&2' WITH MSG_TAB-MSGV2 INTO C_TEXTO. IF SY-SUBRC NE 0. REPLACE '&' WITH MSG_TAB-MSGV2 INTO C_TEXTO. ENDIF. CONDENSE C_TEXTO. ENDIF. IF MSG_TAB-MSGV3 NE SPACE. REPLACE '&3' WITH MSG_TAB-MSGV3 INTO C_TEXTO. IF SY-SUBRC NE 0. REPLACE '&' WITH MSG_TAB-MSGV3 INTO C_TEXTO. ENDIF. CONDENSE C_TEXTO. ENDIF.Programa Modelo Call Transaction Continuao

  • Pg.13 IF MSG_TAB-MSGV4 NE SPACE. REPLACE '&4' WITH MSG_TAB-MSGV4 INTO C_TEXTO. IF SY-SUBRC NE 0. REPLACE '&' WITH MSG_TAB-MSGV4 INTO C_TEXTO. ENDIF. CONDENSE C_TEXTO. ENDIF. CONCATENATE MSG_TAB-MSGTYP ' - ' C_TEXTO INTO C_TEXTO. WRITE: C_TEXTO.

    ENDLOOP. REFRESH MSG_TAB.

    ENDFORM.Programa Modelo Call Transaction Continuao

  • Pg.14FORM PREPARA_PASTA_ERRO.

    IF CONT = 1. PERFORM ABRE_BDC. PERFORM INSERT_BDC. ELSE. PERFORM INSERT_BDC. ENDIF.

    ENDFORM.Programa Modelo Call Transaction Continuao

  • Pg.15FORM ABRE_BDC.CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING CLIENT = SY-MANDT GROUP = 'ERROS' KEEP = 'X' USER = SY-UNAME EXCEPTIONS CLIENT_INVALID = 1 DESTINATION_INVALID = 2 GROUP_INVALID = 3 GROUP_IS_LOCKED = 4 HOLDDATE_INVALID = 5 INTERNAL_ERROR = 6 QUEUE_ERROR = 7 RUNNING = 8 SYSTEM_LOCK_ERROR = 9 USER_INVALID = 10 OTHERS = 11.Programa Modelo Call Transaction Continuao

  • Pg.15FORM ABRE_BDC.CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING CLIENT = SY-MANDT GROUP = 'ERROS' KEEP = 'X' USER = SY-UNAME EXCEPTIONS CLIENT_INVALID = 1 DESTINATION_INVALID = 2 GROUP_INVALID = 3 GROUP_IS_LOCKED = 4 HOLDDATE_INVALID = 5 INTERNAL_ERROR = 6 QUEUE_ERROR = 7 RUNNING = 8 SYSTEM_LOCK_ERROR = 9 USER_INVALID = 10 OTHERS = 11.Programa Modelo Call Transaction Continuao

  • Pg.16 IF SY-SUBRC NE 0. WRITE: 'Erro no Open Group'. EXIT. ENDIF.

    ENDFORM.Programa Modelo Call Transaction Continuao

  • Pg.17FORM INSERT_BDC.CALL FUNCTION 'BDC_INSERT' EXPORTING TCODE = 'TFBA' TABLES DYNPROTAB = BDC_TAB EXCEPTIONS INTERNAL_ERROR = 1 NOT_OPEN = 2 QUEUE_ERROR = 3 TCODE_INVALID = 4 PRINTING_INVALID = 5 POSTING_INVALID = 6 OTHERS = 7. IF SY-SUBRC NE 0. WRITE: 'Erro no Insert'. EXIT. ENDIF.ENDFORM.Programa Modelo Call Transaction Continuao

  • Pg.18FORM FECHA_BDC.

    CALL FUNCTION 'BDC_CLOSE_GROUP' EXCEPTIONS NOT_OPEN = 1 QUEUE_ERROR = 2 OTHERS = 3.

    IF SY-SUBRC NE 0. WRITE: 'Erro no Open Group'. EXIT. ENDIF.ENDFORM.Programa Modelo Call Transaction Continuao

  • Exerccio1) Batch-Input

    a) Criar um programa que faa o batch input dos dados obrigatrios no cadastro de fornecedores: Transao FK01.

    b) Permitir como parmetro que o usurio informe se o arquivo vem do servidor ou local.

    2) Call Transaction

    a) Permitir como parmetro que o usurio informe se deseja executar a pasta automaticamente. Exibir as Mensagens do Processo, quebrando por Fornecedor.

  • SAPScript

  • O que Sapscript ?O SAPSCRIPT a ferramenta do SAP para criao de formulrios mais elaborados. A opo pela utilizao desta ferramenta se d pela necessidade de alguns recursos grficos que no podem ser obtidos atravs de cdigo de ABAP comum. Com o SAPSCRIP possvel criar um formulrio com logotipo, letras formatadas de vrios tamanhos, criao de grades, cdigo de barras, etc.Apesar de ser uma ferramenta poderosa na gerao de formulrios, o SAPscript ainda apresenta uma srie de limitaes, o seu verificador de erros e debug no possuem as mesmas caractersticas do editor ABAP. Caso, seja digitado um comando com grafia errada ou sem sentido lgico dentro de um formulrio, no ser detectado pelo mesmo e poder no ser executado, passando as vezes despercebido pelo programador. Para que o SAPSCRIPT funcione necessrio que um trabalho em conjunto com um programa ABAP que dever conter algumas funes de chamada e controle do SCRIPT. Sapscript

  • Deficincias da Ferramenta

    Debug

    -Checar erro de sintaxe

    -Client Dependent

    -Criar logotipos (.tif objeto no transportvel)Sapscript

  • Partes de um FormulrioSapscript

  • Sapscript

  • Sapscript

  • ESTRUTURA FORMULRIOCabealhoInformaes gerais do formulrio, ttulo, a classe de desenvolvimento e os idiomas.PargrafosSo elementos que podem ser criados e apresentam informaes dos textos de uma determinada janela. Caracter de SeleoSo informaes semelhantes s do pargrafo, no que diz respeito a formatao de textos, no entanto podem ser aplicados a trechos de textos e no necessariamente a linhas inteiras do formulrio.PginasSo os elementos responsveis pelo agrupamento das janelas durante certos momentos do relatrio. Sapscript

  • ESTRUTURA FORMULRIOElementos de TextoCorresponde lgica de processamento e comportamento de uma janela durante a execuo do formulrio. * Pargrafo Padro = Linha longa ( Linha Bruta / Avano de Linha / = Avano de Linha e Linha Longa /( Avano de Linha e Linha Bruta /: Linha de Comando /* Linha de Comentrio /E Elemento de Texto Sapscript

  • ESTRUTURA FORMULRIOJanelasPodem ser criadas sem limites e tem por finalidade dividir por espao as regies de um formulrio para operaes independentes.

    MAIN Somente permitido um tipo de janela MAIN por formulrio, e a nica janela obrigatria em uma pgina. VAREsse tipo de janela deve ser utilizado quando se pretende trabalhar com textos que variam.CONST Nesse tipo de janela so includo objetos e textos que permanecem os mesmos durante todo o relatrio, independente do nmero de pginas.Sapscript

  • CONDIESNO EXISTENTESNO SAPSCRIPTCN (Contains Not only)CO (Contains Only)CA (Contains Any)NA (Contains Not Any)CS (Contains String)NS (Contains No String)CP (Contains Pattern)NP (contains No Pattner)SapscriptCONDIESEXISTENTESNO SAPSCRIPT= EQ(Igual)< LT (Menor que) > GT (Maior que)= GE(Maior ou igual a) NE (Diferente)NOT(No)AND (E)OR (Ou)

  • SIMBOLOS UTILIZADOS

    DATE: DataDAY: DiaNAME_OF_DAY: Nome do DiaMONTH: MsNAME_OF_MOUNTH: Nome do MsYEAR: AnoTIME: Hora TotalHOURS: Hora AtualMINUTES: Minuto AtualSECONDS: Segundo AtualPAGE: Nmero da PaginaNEXTPAGE: Nmero da nova pginaSPACE: EspaoULINE: Linha HorizontalVLINE: Linha Vertical Sapscript

  • COMANDOSADDRESSBOTTOMBOXCASEDEFINEHEX IF INCLUDE NEW-PAGE NEW-WINDOW PERFORM POSITION

    PRINT-CONTROLPROTECTRESETSET COUNTRYSET DATE MASKSET SIGNSET TIME MASKSIZESTYLESUMMINGTOP

    Sapscript

  • PROGRAMA DE POVOAMENTO DE SAPSCRIPT

    Controla impresso formulrio atravs de:

    - Seleo e Processamento dos Dados- Abertura- Inicializao- Envio dados para formulrio Finalizao- FechamentoSapscript

  • ABERTURAA abertura de um formulrio gera automaticamente a inicializao de um formulrio.

    FUNO:Call function OPEN_FORM

    PARMETROS ESSNCIAIS:DEVICEFORM LANGUAGESapscript

  • - TDCOPIES (Nmero de Cpias)- TDDEST (Dispositivo de Sada)- TDPREVIEW (Print Preview)- TDIMMED (Sada Imediata)

    call function 'OPEN_FORM' exporting * APPLICATION = 'TX' * ARCHIVE_INDEX = ' ' * ARCHIVE_PARAMS = ' ' DEVICE = 'PRINTER' ou 'SCREEN' * DIALOG = 'X' ou '' (Tela de caractersticas de impresso) FORM = 'Z_SCRIPT' (Nome do Formulrio) LANGUAGE = 'P' (Idioma do Formulrio)* OPTIONS = ITCPO (Estrutura com todas as caractersticas) * importing * language = * new_archive_params = * result = exceptions canceled = 1 device = 2 form = 3 options = 4 unclosed = 5 others = 6.Sapscript OPEN_FORM

  • INICIALIZAOPermite a gerao de vrios formulrios diferentes, como se estivesse abrindo um novo formulrio para cada situao.

    FUNO:Call function START_FORM

    PARMETROS ESSNCIAIS:FORM LANGUAGESapscript

  • Este comando no obrigatrio e pode no ser utilizado caso no haja necessidade da quebra e criao de vrios formulrios para uma s seleo de dados.A funo muito similar funo OPEN_FORM, e novamente os parmetros mais importantes so o nome (FORM) e o idioma (LANGUAGE) do formulrio.Para que se possa utilizar um comando START_FORM obrigatrio que um comando de OPEN_FORM tenha sido executado. Caso isso no seja feito um erro de sintaxe ir aparecer.

    call function 'START_FORM' exporting * ARCHIVE_INDEX = ' ' FORM = ' ' LANGUAGE = ' ' * STARTPAGE = ' ' * PROGRAM = ' ' * importing * language = exceptions form = 1 format = 2 unended = 3 unopened = 4 unused = 5 others = 6.Sapscript START_FORM

  • ENVIO DADOS AO FORMULRIODepois da seleo e processamento dos dados, envia-se os dados ao formulrio.

    FUNO:Call function WRITE_FORM

    PARMETROS ESSNCIAIS:ELEMENTWINDOWSapscript

  • Um ponto importante que deve ser observado que no possvel utilizar tabelas internas e variveis do programa para a impresso dos dados no SAPSRIPT. Portanto, se algum dado que deva ser impresso estiver numa tabela interna ou varivel, este deve ser copiado para uma estrutura para que possa ser enviado ao SAPSCRIPT. A impresso dos dados nas janelas na maioria das vezes feita simultaneamente com a seleo dos dados, ou seja, a medida que os dados so selecionados, so enviados imediatamente para o formulrio.

    O comando para impresso dos dados a seguinte funo:

    call function 'WRITE_FORM' exporting ELEMENT = ' ' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'MAIN' * importing * pending_lines = exceptions element = 1 function = 2 type = 3 unopened = 4 unstarted = 5 window = 6 others = 7.Sapscript WRITE_FORM

  • Dois parmetros so os mais importantes:

    Element Determina qual Data Element ser utilizado dentro do SapscriptWindow Janela na qual os dados devem ser impressos.

    Neste ponto fica evidente a diferenciao entre os tipos de janela MAIN e demais janelas.Para as janelas do tipo MAIN, cada comando de escrita (write_form) significa uma nova linha no formulrio e o valor a ser impresso o valor que o campo armazena no momento do comando de impresso.Por exemplo, digamos que o campo MARA-MATNR tenha o valor 1234 e que um comando de impresso seja dado para a janela MAIN que ir imprimir este campo. Logo em seguida uma nova seleo da tabela MARA feita e o campo MATNR agora vale 5678. Se uma nova impresso na janela MAIN for executada o resultado ser o seguinte:

    12345678

    J as janelas que no forem do tipo MAIN imprimem os dados uma nica vez, no final da impresso do formulrio ou na quebra de pgina, com os valores armazenados nos campos no momento do encerramento ou no momento da quebra, e no no momento da escrita (write_form), ou seja, se no exemplo anterior fosse utilizada uma janela no-main, o resultado final seria somente 5678.Na realidade, a utilizao de um comando WRITE_FORM numa janela no-main utilizada para a escolha de qual elemento de texto ser utilizado para a impresso dos dados. Exemplo: Uma janela HEADER no-main contm dois elementos de texto chamados FRASE1 e FRASE2 da seguinte forma:/E FRASE1 &MARA-MATNR& Teste de Frase 1 /E FRASE2 &MARA-MATNR& Teste de Frase 2Sapscript WRITE_FORM

  • Se um comando WRITE_FORM for executado para a janela HEADER utilizando o elemento de texto FRASE1,

    call function 'WRITE_FORM' exporting ELEMENT = 'FRASE1' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'HEADER

    estar sendo indicado ao programa que, ao se encerrar o formulrio, deve ser impresso o elemento de texto FRASE1 para a janela HEADER (somente um elemento de texto utilizado para cada janela no-main).No caso do exemplo, se o campo MATNR for igual a 1234 no encerramento do formulrio, seria impressa a seguinte frase:

    Teste de Frase 1

    O elemento de texto a ser impresso ser sempre o ltimo a ser selecionado antes do final ou da quebra de pgina. Se nenhum for selecionado, ao encerrar o formulrio ou mudar de pgina sero impressos os dados que no pertenam a nenhum elemento de texto. Portanto no caso de um campo que deva ser impresso sempre em todasas pginas, como numero de pgina por exemplo, basta coloc-lo fora de qualquer elemento de texto e no selecionar nenhum elemento de texto para a janela que, automaticamente, este dado ser impresso em todas as pginas.Sapscript WRITE_FORM

  • FINALIZAO FORMULRIO

    FUNO:Call function END_FORM

    FECHAMENTO FORMULRIO

    FUNO:Call function CLOSE_FORM Sapscript

  • END FORM - Serve para finalizar um formulrio.

    call function 'END_FORM' importing RESULT = ' ' exceptions unopened = 1 others = 2.

    CLOSE FORM - Serve para fechar um formulrio.

    call function 'CLOSE_FORM' importing RESULT = ' ' Tables * OTFDATA = exceptions unopened = 1 others = 2.Sapscript END_FORM/CLOSE_FORM

  • INFORMAES TEISTransaoSE71Tabela TTXFPPrograma RSTXSCRP (download / upload) ProgramaRSTXLDMC (tipo .TIF)ProgramaRSTXPDFT4 (download .PDF quando gerar na sp01)

    DICAS* Nunca esquecer de ativar o formulrio no idioma original, caso contrrio ficar bloqueado as modificaes nos outros idiomas.* Visualizao x Impresso mesma mquina (impressora / basis SPAD)* Visualizao distinta em computadores distintos (verso Sapgui)* No deletar janelas e elementos de textos Sapscript

  • Exerccio

  • Exits

  • Definio

    Exist so pontos em locais pr-definidos pela SAP, onde o cliente pode incluir cdigos prprios, por alguma necessidade especfica.

    Tipos de exit :

    User-Exit

    Field-Exit

    Menu-Exit

    A chamada de uma exit no cdigo Abap, se assemelha a chamada de um mdulo de funes qualquer. Sintase : call customer-function .Exits

  • ExitsUser-Exit

    A criao de user-exit acontece pela transao CMOD/SMOD.O primeiro passo saber se existe uma user-exit, que se possa alterar.Isto pode ser feito, procurando-se no cdigo Abap uma chamada de um mdulo de funo customiz-vel

    call customer-function

    ou, atravs da execuo de um programa Abap que varre outros programas buscando user-exits

  • Exits CMOD / User-Exit

  • Exits CMOD / User-Exit

  • Exits CMOD / User-Exit

  • Exits CMOD / User-Exit

  • Field-Exit

    O Field-Exit se diferencia do user-exit, pois no existe uma entrada no meiodo cdigo fonte Abap onde este customizado. Ele existe atrelado a um campo/elemento de dados, alm de ser necessrio amarra-l a um programa e uma tela, especficos.

    Para se criar um Field-Exit, ou mesmo, saber se o elemento possibilita umaexit, utilizamos a execuo do programa RSMODPRF.

    Onde este, lista todos os Field-Exits j criados e nos d a opo de criao de outros.Exits

  • Exits Field-Exit

  • Exits Field-Exit

  • Exits Field-ExitField-exit Criar/Modificar

    Requisitos:a) nome do programa Standard onde se encontra o campo onde se quer colocar codificaob) nmero da telac) nome do elemento de dados do campo

    Transao CMOD

    1) Rodar o programa RSMODPRF, opo criar.2) Fornecer nome do elemento de dadosNa tela de Function Builder:3) Escolher um grupo de funces(customizado) de acordo com o mdulo4) Gravar o novo mdulo de funo (somente tela Adminstracao) e voltar (tela do passo 2)5) Flegar linha do elemento de dados6) No menu: Atribuir prog/tela7) Fornecer nome do programa e tela standard8) Flegar linha do elemento de dados9) No menu: Processar MF10) Codificar ABAP

    Obs.: Se um campo com field-exit codificado por alguma razo aparecer inibido, este field-exit no ser executado.Uso de SET/GET: se o campo da tela contiver um field-exit com SET, este SET ser limpo da memria se em telas posteriores existir o mesmo elemento de dados com o campo aberto.Field-Exit no funcionam em campos check-box ou radio-buttom.

  • SE09 Organizao de transporte (Utilizado para controlar as requests).SE11 Dicionrio ABAP (Utilizado para criar, alterar e apagar domnios, elemento de dados, campos, tabelas, estrutura).SE16 Data browserSE37 Mdulos de funo ABAP. (Utilizado para criar, alterar e apagar funes (Mdulos de funes).SE38 Editor de programas ABAP. (Utilizada para criar, alterar e apagar programas ABAP).SE39 Editor de tela divididaSE71 Formulrio SAPscript. (Utilizado para criar, alterar e apadar formulrios de SapScript).SE80 Repository Browser. (Utilizado para criar, alterar e apagar, Programas (On-Line ou Module Pool), grupos de funo, etc.).SE91 Atualizao de mensagemSE92 Mensagens do Log do sistemaSE93 Cdigos de transao (Utilizado para criar, alterar e apagar transaes).SM04 Visualiza e derruba sessesSM12 Exibir e eliminar bloqueios (Utilizado para desbloquear programas, transaes, etc.).SM35 Moritorar pasta de Batch-Input.SM37 Monitora os jobs colocados para processamentoST05 Possui vrias funes, a mais utilizada e para realizar o trace SQL.(Mostra todos acessos realizados no BD).ST22 ABAP anlise dump.SHDB Registrador transao - batch input. (Utilizado para criar o mapeamento para posteriormente criar os programas para gerar a pasta de batch input.).CMOD Gerenciamento de projetos (Exits)SMOD Definio de ampliaes (Exits)SMARTFORMS Formulrio SmartFormAlgumas Transaes teis

    www.softtek.com.brClick to edit Master title style**********

    F I M