18
DICIONÁRIO ___________________________________________ Resumo ABAP/4.5 SAP - Sistema que manipula e armazena valores de controle de processos utilizando um número muito grande de tabelas. ABAP - Linguagem do sistema SAP, isto é, uma linguagem proprietária. Utilizada somente no SAP. Concorrentes do SAP - JD edwards People software Microsiga Magnus - linguagem progress Client - unidade independente do r/3 em termos comerciais, organizacionais e técnicos. Possuem sua própria configuração, dados de aplicação e cadastrais. Instância - ambiente R/3 que agrupa 1 ou + clients, onde se executa determinado trabalho. Uma instância de trabalho normalmente possui + de 1 client onde são trabalhados simultaneamente diferentes frentes de trabalho. Entidades - objeto que existe e é distinguível de outros objetos, ou seja, identifica agrupamentos de objetos do mesmo tipo. Ex. Clientes, bancos, agência, conta-corrente. Atributos - representam o que uma entidade pode ser. Ex. Nome, RG, CPF, Endereço. Domínio - conjunto de valores permissíveis para um atributo. Ex. Est. Civil, sexo, cor, mês do ano. Relacionamento - representa a maneira como duas entidades estão relacionadas. Ex. Conta-corrente de um cliente, agências de m banco, conta corrente de uma agência.

comados SAP e ABAP.doc

Embed Size (px)

Citation preview

Page 1: comados SAP e ABAP.doc

DICIONÁRIO___________________________________________

Resumo ABAP/4.5

SAP - Sistema que manipula e armazena valores de controle de processos utilizando um número muito grande de tabelas.

ABAP - Linguagem do sistema SAP, isto é, uma linguagem proprietária. Utilizada somente no SAP.

Concorrentes do SAP - JD edwards

People software Microsiga Magnus - linguagem progress

Client - unidade independente do r/3 em termos comerciais, organizacionais e técnicos. Possuem sua própria configuração, dados de aplicação e cadastrais.

Instância - ambiente R/3 que agrupa 1 ou + clients, onde se executa determinado trabalho. Uma instância de trabalho normalmente possui + de 1 client onde são trabalhados simultaneamente diferentes frentes de trabalho.

Entidades - objeto que existe e é distinguível de outros objetos, ou seja, identifica agrupamentos de objetos do mesmo tipo. Ex. Clientes, bancos, agência, conta-corrente.

Atributos - representam o que uma entidade pode ser. Ex. Nome, RG, CPF, Endereço.

Domínio - conjunto de valores permissíveis para um atributo. Ex. Est. Civil, sexo, cor, mês do ano.

Relacionamento - representa a maneira como duas entidades estão relacionadas. Ex. Conta-corrente de um cliente, agências de m banco, conta corrente de uma agência.

Restrições de Mapeamento - representam o modo como as diferentes entidades de um modelo se relacionam. São determinadas pela cardinalidade dos relacionamentos entre as entidades.

Transações - código alfanumérico de até 20 caracteres utilizado para iniciar um processo dentro do SAP. São atalhos para execução das tarefas.

S000 Menu principal do sistema (Tela inicial)S001 Tela do Workbench ABAP/4SA38 Execução de programa report

Page 2: comados SAP e ABAP.doc

SD11 Modelo de DadosSDBE Explorar SQLSE01 Correção e manutenção do sistema de transportesSE03 Utilitários do sistema de transporteSE05 Informações sobre transportesSE07 Tela de status do sistema de transporteSE09 Organizador do WorkbenchSE11 Edição e manutenção de tabelas Serve também para pesquisar dados de maneira rápida em uma tabela do SAPSE12 Apenas edição tabelas SE14 utilitários de DtabaseSE15 Informações do sistema do Dicionário de dadosSE16 Visualização e manutenção de tabelasSE17 Visualização de tabelasSE30 ABAP/4 Trace - serve para verificar a performance de uma parte do programaSE32 Manutenção de elementos de textosSE35 Módulos de diálogosSE36 Base de dados lógicasSE37 Biblioteca de funções ABAP/4SE38 Editor de programa ABAPSE41 Manu PainterSE51 Screen PainterSE63 Tradução de rótulos de campos para outros idiomasSE71 SapScript - layout de telaSE73 Manutenção de fontyesSE80 Desenvolvimento de ObjetosSE84 Informações do repositórioSE91 Manutenção de mensagensSE93 Manutenção de Códigos de transaçãoSHDBMapeamento de campos e telas para programas batch inputSHDGValores GlobaisSM01 Travar transaçõesSM02 Enviar mensagens de sistemaSM04 Usuários - visualizaçãoSM12 Exibição de transações travadasSM13 Atualizações de requestsSM21 Visualização do log do sistemaSM30 Gerenciador de visualização de tabelasSM31 Gerenciador de tabelasSM35 Monitoramento de JOBs em backgroundSM36 Definição de JOBsSM37 Status de JOBsSM50 Visualização de processos em andamentoSM51 Servidores do SAPSM59 Visualização e Manutenção de RFCSP01 Manutenção do SPOOLSPAD Administração do SPOOLSQ01 ABAP/4 Query - Desenvolvimento e execuçãoSQ02 ABAP/4 Query - Áreas funcionaisSQ03 ABAP/4 Query - Grupos de usuários

Page 3: comados SAP e ABAP.doc

ST01 Trace do sistema (System Trace)ST05 SQL TraceST22 Análise de erros (dumps) em ABAPSU01 Manutenção de Usuários (master)SU02 Manutenção de "Profiles" de UsuáriosSU20 Manutenção de autorizações em camposSU21 Manutenção de autorizações em objetosSU50 Manutenção de definições de usuáriosSU51 Manutenção de endereços de usuáriosSU52 Manutenção dos parâmetros do usuárioSU53 Checagem das mais recentes autorizações do usuárioSU54 Menu de usuáriosSU56 Exibição das autorizações do usuário

GAP - coisas a mais colocadas no SAP.

Os objetos criados em um sistema SAP podem ser divididos em 2 grupos:

- Client Independent - aqueles que uma vez criados podem ser utilizados por tosos os clients de uma mesma instância, sem que exista a necessidade de alguma articulação adicional. Ex. Um report criado.

- Client Dependent - não podem ser executados em nenhum outro a - que seja transportado ou copiado para seu destino. Ex. Típico nos formularios sapscript.

Nomes de desenvolvimento sempre se iniciam com Z ou Y.

Dentro da estrutura SYST.

SY-LANGU - linguagem (idioma de acesso)SY-UZEIT - horaSY-DATUM - diaSY-PA GNO - páginaSY-SUBRC - para testa se houveram entradas.SY-TABIX - aponta a linha da tabela que está no lendo.SY-UCOMM - entrada de função no OKCODE. User command. código do comando do usuário. NEW-PAGE - nova páginaTOP-OF-PAGE - topo da páginaULINE - para traçar uma linhaPARAMETER - Pode-se usar os parameters para passar os valores contidos na ' selection-screen' no report chamado.NE - not existentOCCOURS - deixar espaço para dados da tabela interna.MESSAGE-ID XX - chama a classe de mensagensSKIP - pular linha/O - volta uma janela/N - posição zero (tela inicial do sap)/H - depurador.APPEND - anexar dados

Page 4: comados SAP e ABAP.doc

UPDATE 'S' = pode ser assincrono ou sincrono. o 's' joga direto e o 'as' aguarda no buffer.

BD

Um BANCO DE DADOS RELACIONAL é a implementação física do modelo Entidade-Relacionamento e traduz corretamente o que o modelo conceitual procura representar. É uma coleção de tabelas, cada uma associada a um nome único e que possuem relacionamentos entre si. As tabelas representam fisicamente as entidades.

A cada linha de tabela, chamamos de OCORRÊNCIA e o conjunto de ocorrências pode ou não estar relacionado com ocorrências de outras tabelas.

CHAVE PRIMÁRIA - conunto de atributos que garante a unidade de cada ocorrência da tabela. Ex. RG, CPF, n.o. chassis.

NORMALIZAÇÃO - processo de reconhecimento da chave primária.

CHAVE ESTRANGEIRA - quando a chave primária de uma tabela é um atributo em outra(s) tabela(s).

SQL - utilizado no R/3 e proprietário, seguindo a regulamentação internacional para esta. Seus comandos podem ser divididos em:

DDL - DATA DEFINITION LANGUAGE - comandos específicos para definição de objetos do banco de dados. Ex. Create Table, Create View, etc.

DML - DATA MANIPULATION LANGUAGE - commandos específicos para o tratamento dos dados armazenados nos objetos do banco. Ex. Select, Insert, Delete, Uptade, etc.

Funções desempenhadas pelo DATA DICTIONARY:

Ø Gerenciamento das definições de dados - criação e manutenção das definições de dados num repositório central.

Ø Provisão de informações para avalizações - permite obter informações sobre o modo como os objetos estão relacionados.

Ø Suporte ao desenvolvimento.Ø Suporte à documentação.Ø Garantia de que as definições de dados sejam flexíveis e atualizadas.

Transporte

ORDENS (CHANGE REQUEST) - recurso através do qual um conjunto de objetos CD ou CI podem ser transferidos de um client para outro ou de uma instância para outra.

ORDENS E TAREFAS (TASKS) - cada ordem pode possuir uma ou + TASKS. Cada TASK possui os objetos agrupados de acordo com seu tipo e ordem na qual deverão ser criados no cliente de destino (TASK - inf. A respeito do que está sendo executado.

Page 5: comados SAP e ABAP.doc

Pacote que guarda os objetos).

MODIFIABLE - quando uma ordem ainda permanece associada a um usuário, dizemos que está sob o status MODIFIABLE.

RELEASE (LIBERADA) - ocorre quando 1 ordem é encerrada, deixando de estar associada a um usuário, ou seja, os objetos a ela associados são liberados para alteração por outros usuários.

ORDEM TRANSPORTÁVEL - permite que as ordens possam ser enviadas aos demais ambientes do SAP. Cada ordem gerada para um objeto ABAP/4 consiste em uma nova versão para este objeto, permitindo comparar, verificar e consolidar as alterações entre os ambientes de desenvolvimento e produção.

ORDEM LOCAL - alterações não transportáveis são gravadas em ordens locais. Isto garante qe as ordens estão sujeitas ao mesmo tipo de controle aplicado aos objetos transportáveis. Quando 1 ordem local é liberada são criadas versões para o objeto.

REPORT

Programas que exibem mais informações do que simples relatórios.

Comando Select - usado para acessar as tabelas internas do sap.

1) Select * from... <tabela> … Endselect - quando não existe restrição alguma, ocorrendo uma varredura sequencial dos registros da tabela. Afeta o runtime quando se utiliza tabelas grandes.

2) Select * from<tabela>where<campo>eq<conteúdo>. Le todos os registros da tabela especificada, onde o campo é igual ao conteúdo especificado. Deve-se sempre especificar as colunas para não afetar o runtime.

3) Select * from <table> where <field table> between <field1> and <field2>. Ex. Field1 = 100 e field2 = 500. Pega inclusive o 100 e o 500. Trabalha com o range.

4) Select * from <table> where <table field> like ‘_R%’. _ = a primeira letra não importa R = a segunda deve ser R % não importa a sequencia.

5) Select * from <table> where <field table> in (123, 1000). Especificando se o field table é 123 ou 1000.

6) Select * from <table> where < table field> in < internal table>.

Ex: data: begin of itab occurs 10, Sign(1), option(2), low like sflight-price, high like sflight-price, end of itab.

Page 6: comados SAP e ABAP.doc

Ranges: itab for sflight-table.

Move: ‘I’ to itab-sign, ‘bt’ to itab-option, ‘500’to itab-low, ‘1000’ to itab-high.Append itab. Move: ‘I’ to itab-sign, ‘bt’to itab-option, ‘440’ to itab-low.Append itab.

7) Select * from < table> order by < field1> < field2>… primary key. Classifica a tabela interna numa área auxiliar sem afetar a tabela original. Evitar o uso de sorts dentro de um select.

8) Select * from < table> by passing buffer. (para ler diretamente de uma tabela original)

9) Select * from <table> appending table < internal table>. - le os registros e os inclui (sem sobrepor) em um internal table.

10) Select... from <table> into table < internal table>. A estrutora da tab. Interna deve correponder à estrutura da tabela que está sendo acessada. Le os registros em conjunto e os coloca dentro de uma internal table. É mais rápido que ler individualmente através de um loop.

11) Select ... into corresponding fields of table <itab>. Neste caso, não precisa corresponder a estrutura da tabela acessada. Movimentará os registros para as colunas definidas na internal table que possuam nome igual ao da tabela acessada. Corresponding ou appending corresponding não exigem endselect.

12) Select… appending corresponding fields of table < itab>. Le e grava, sem sobrepor os dados em uma internal table que possua nomes identicos aos nomes da tabela que está sendo lida.

13) Select single * from spfli where... <campo> … eq… <conteúdo>. Toda vez que o select single * é utilizado a chave primária completa deve ser especificada. Se a chave não for qualificada, receberá uma mensagem de warning e afetará a performance.

14) Select <a1><a2>... into (<f1>, <f2>,…) from…<tabela> where Le as colunas especificadas a1 e a2. Após into deverão ser especificadas as áreas de trabalho auxiliares (f1, f2). O número de colunas deverá ser igual ao numero de workareas especificadas.

15) Select max (campo) min (campo) avg (campo) count (*) from < table> into (...,…,…). Where… Avg e sum : somente para campos alfanuméricos. Sem usar o endselect.16) Select * from spflight where price in itab.

17) Select * from (<table>) into <workarea> . Ex. Data: begin of wa,

Page 7: comados SAP e ABAP.doc

Line (100), End of wa. Parameters: tabname(10) default ‘SPFLI’. Especificando o nome da tabela em tempo dinamicamente no select statement sempre consome mais tempo no processamento.

18) Select * from <table> for all entries in < internal table> where campo1 = < conteudo> and campo 2 = < conteudo>Define-se uma tab. Int. Alimenta-se os campos desta tab. Int. (move e append). No select campo1 e campo 2 serão os campos definidos e alimentados na tab. Interna.

19) Select carrid Min (price) max (price) into (carrid, minimum, maximum) from sflight group by carrid. Todos os campos que devem ser mostrados na lista, precisa-se especificar após a cláusula group by.(carrid, maximum e minimum sÃo campos auxiliares).Se o nome do database não é conhecido até runtime, não se pode especificar a cláusula group by).

ESPECIFICAÇÃO TÉCNICA

Auxilia o programador durante o desenvolvimento (codificação) de um produto. São descritas todas as etapas do programa, todas as tabelas q deverão ser acessadas, variáveis e constantes que deverão ser declaradas, tabelas internas que deverão ser criadas, descrição dos selects, layout com a distribuição dos campos a serem listados.

CRIANDO TRANSAÇÕES

Transação: SE93

1 - Digitar o nome da transação a ser criada (ver padrões) e clicar em criar.2 - Preencher uma descrição para a transação e selecionar o tipo adequado. Ex. Para reports, selecionar “programa” e tela de seleção “trans_report’.3 - Preencher o nome do programa e salvar a transação.

INTERFACE BATCH OU CONVERSÕES

DIRECT IMPUT - é um dos métodos para transformação de dados do sistema legado p/ o sistema R/3. é o método mais rápido. Um arquivo sequencial c/ dados é gerado como um arquivo txt para processamento por alguns functions modules especiais. Estas funções fazem as checagens para garantir a integridade dos dados. Quando são processados com sucesso, são gravados diretamente nas correspondentes tabelas de banco de dados nas aplicações. Quando ocorrem erros, os dados errados são passados para uma rotina de mensagens de excessão.

CALL TRANSACTION - neste caso, o programa de transferência de dados do arquivo sequencial processa os dados e chama a transação desejada, usando um comando abap. Os dados são processados via telas de aplicação para uma única

Page 8: comados SAP e ABAP.doc

transação. A lógica da aplicação executa os checks e a validação dos dados. Processamento síncrono: usa-se este metodo em todos os casos em que não exista um programa direct imput. Somente em situações de lidar com erros, recomenda-se que o batch-imput seja realizado para posterior processamento.

BATCH INPUT - usado tradicionalmente como um método de implementação de programas de transferencia de dados. Benefício sobre o call-transaction é que em um utilitário responsável pela administração e gerenciamento das funções batch-input. Não há a necessiidade de nenhuma programação adicional p/ análise de excessões e funções de protocolo. As sessões batch-input são fisicamentes armazenadas pelo sistema num banco de dados como uma fila, podendo conter registros de dados corretos e incorretos. Em contraste com o call-transaction, pode transferir dados de um sistema legado para o sistema r/3 p/ múltiplas transações da aplicação. No entanto, nenhuma transação é iniciada até que a transação anterior tenha sido gravada no correspondente banco de dados durante o processamento das sessões de batch-input.

BDC - BATCH DATA COMUNICATION SESSION

PASSOS PAR A A CRIAÇÃO DE UM BDC SESSION:

1 - IDENTIFICAR AS TELAS QUE A TRANSAÇÃO PROCESSARÁ2 - ESCREVER O PROGRAMA EM ABAP P/ GERAR A TABELA BCD QUE SUBMETERÁ OS DADOS NA TRANSAÇÃO3 - SUBMETER A TELA BDC PARA O SISTEMA EM MODO BATCH OU CALL-TRANSACTION.

Tab BDC é uma tabela interna, com uma estrutura específica no qual é preenchida para ser enviada para a sessão batch-input. Esta estrutura chama-se bdc data.

TRANSAÇÃO SHDB - monitora todos os passos que o usuário faz, quando utiliza uma transação e a resposta é uma listagem com os campos e telas que foram utilizados, permitindo a criação da tabela bdc.

COMANDO CALL-TRANSACTION

Possibilita o processamento de uma bdc imediatamente pelo sistema. Os dados da tabela bdc são utilizados para executar a transação e o RETURN CODE mostra se a transação foi efetuada com sucesso ou não.

SINTAXE: CALL TRANSACTION trans [using bdctab mode mode]

PROCESSANDO DADOS COM O BDC_INSERT

2.o. modo é via processamento batch. Ao contra’rio do CALL TRANSACTION, estas transações não serão executadas imediatamente, serão alocadas em uma pasta batch input que pode ser executada na transação SM35.

Há 3 módulos de função que podem ser executados par este tipo de processamento:

Page 9: comados SAP e ABAP.doc

BDC_OPEN_GROUP (abre o BDC e necessita ser chamado antes de qualquer processamento).

BDC_INSERT (é chamado para cada transação no processamento).

BCD_CLOSE_GROUP (deve ser chamada após todo o processamento para que a pasta de process. Batch seja criada).

COMANDOS

Write --> para escrever.Uline --> aciona uma linha horizontal.Skip --> saltar linha.Under --> em baixo "a baixo"occurs --> controle de registro na tabela. Delimita as linhas da tabela, para melhorar a performance do programa.E000 --> esta expressão é usada para mensagem de erro.I000 --> esta expressão é usada para mensagem de informação.Vline --> vertical " insere uma linha vertical". " | " --> igual ao V_line.Clear V_Var1 --> "Limpa" zera uma variável. [ ] --> compara o conteúdo total da tabela.Select --> Selecionar. " Varre o banco de New-Page --> abrir uma nova pagina. Standard Page Heading --> desabilita cabeçalho padrão. Top - Of - Page --> para desenvolver um novo cabeçalho.End-of-page --> encerra a página "Rodapé".Format Color 1 --> Insere uma nova cor que é selecionada pelo numero.Format Intensified off --> desabilita o formato padrão da letra. Format Intensifiel on --> ativa o formato padrão.Data --> Dados.Like --> como. Move --> mover.Move Correspond --> Is Initial --> comparação do vazio.... Testa se a tabela interna esta vazia...No IFRefresh --> Limpa todo o conteúdo da tabela interna.Clear --> apaga o cabeçalho (limpa) de uma tabela interna.. Ex: clear i_tapp .Parameter --> "são os texts boxes" --> entrada de dados.Default --> Padrão. At First --> Primeiro registro da tabela.At New --> Primeiro registro da quebrar.At Last --> Ultimo registro da quebrar.At And Of --> Ultimo registro da quebra.Order --> Ordenar. Append --> Gravar um registro após a execução " Select * From". " Nunca deixando-o subescrever". **** Gravar o cabeçabelho de uma tabela interna *** ON CHANGE-->

Page 10: comados SAP e ABAP.doc

Describe --> mostra o total do registro na tabela.Condense --> Comando que serve para juntar as palavras de forma ordenada. Ex: Impressão.Using --> usar.OkCode --> Como se fosse Enter - "Isto um codigo interno do abap". Ws - Download --> Envia "Arquivo". Upload --> Importa "Arquivo".Loop --> comando execução. " Varre o banco de dados" é utilizado para varre a tabela interna.Exceptions --> Headlen --> Trunclen -->At selection screen --> At line selection --> At user command --> Form --> Subrotinas ...Perform --> Com o comando perform executamos uma rotina que esta fora do fluxo normal do programa. * É um comando que faz um acesso na tabela e retorna.Call Transaction --> possibilita o processamento de uma tabela BDC, * Bach Input --> método de entrada de dados.

VARIÁVEIS DO SISTEMA.

Sy-Datum --> variável data. Sy-Uzeit --> variável hora.Sy-Uname --> variável nome.Sy-Subrc --> se a expressão for verdadeira " ele confirma ". Valor de retorna de acordo com determinada intrução do ABAP.Sy-Langu --> Linguagem Padrão.Sy-Pagno --> insere numero de paginas.Sy-tabix --> Contador da tabela interna, Apontador, Cursor.

TABELAS PADRÃO (SISTEMA). Definições:

BKPF, BSEG --> Financeiro.EKKO, EKPO --> Pedidos.VBAK, VBAP --> Fatura.MKPF, MSEG --> Docuemntos contábeis.J_1BNFDOC --> Notas fiscais.J_1BNFLIN --> Itens N.F.VBPA --> Parceiros.

BDC - BATCH DATA COMUNICATION SESSION

Page 11: comados SAP e ABAP.doc

T_BDC - quando se faz um batch input coloca-se num formato para inserir os dados no sistema. Ver programa e tela, transação, campo e dado. Estrutura ja pronta no bcd_data, cria sua t_bdc e coloca que deve ter os mesmos dados que a tabela já existente no sap. sempre terá os seguintes campos:

CAMPO TIPO DESCRIÇÃO

program char(40) nome do programa da transação dynpro numc(4) número da tela da transação dynbegin char(1) indicador de uma nova tela fnam char(132) nome do campo da tela fval char(132) valor a ser colocado no campo PASSOS PAR A A CRIAÇÃO DE UM BDC SESSION:

1 - IDENTIFICAR AS TELAS QUE A TRANSAÇÃO PROCESSARÁ 2 - ESCREVER O PROGRAMA EM ABAP P/ GERAR A TABELA BCD QUE SUBMETERÁ OS DADOS NA TRANSAÇÃO 3 - SUBMETER A TELA BDC PARA O SISTEMA EM MODO BATCH OU CALL-TRANSACTION.

Tab BDC é uma tabela interna, com uma estrutura específica no qual é preenchida para ser enviada para a sessão batch-input. Esta estrutura chama-se bdc data.

TRANSAÇÃO SHDB - monitora todos os passos que o usuário faz, quando utiliza uma transação e a resposta é uma listagem com os campos e telas que foram utilizados, permitindo a criação da tabela bdc.

COMANDO CALL-TRANSACTION

Possibilita o processamento de uma bdc imediatamente pelo sistema. Os dados da tabela bdc são utilizados para executar a transação e o RETURN CODE mostra se a transação foi efetuada com sucesso ou não.

SINTAXE: CALL TRANSACTION trans [using bdctab mode mode]

PROCESSANDO DADOS COM O BDC_INSERT

2.o. modo é via processamento batch. Ao contra’rio do CALL TRANSACTION, estas transações não serão executadas imediatamente, serão alocadas em uma pasta batch input que pode ser executada na transação SM35.

Há 3 módulos de função que podem ser executados par este tipo de processamento:

BDC_OPEN_GROUP (abre o BDC e necessita ser chamado antes de qualquer processamento).

BDC_INSERT (é chamado para cada transação no processamento).

BCD_CLOSE_GROUP (deve ser chamada após todo o processamento para que a pasta de process. Batch seja criada).

Page 12: comados SAP e ABAP.doc

ON CHANGE

on change off v_beln* enquanto estiver fazendo um loop de impressão, olha a variável. uline.

* continua a ordenação para a saida do relatorio.

AT END E AT NEW

at new - efetua mudanças na leitura do relatorio. at end - ex|: at new werks... on change off especifico para um campo

MODIFY USA O SY-TABIX

EX: LOOP AT I_TAB1. CLEAR V_TOTAL V_TABIX = SY-TABIX. LOOP AT I_TAB2 WHERE C1 EQ I_TAB1-C1. V_TOTAL = V_TOTAL + I_TAB2-VAL. ENDLOOP. I_TAB1 - TOTAL = V_TOTAL. MODIFY I_TAB1 INDEX V_TABIX. ENDLOOP.

Ordenação da esquerda para a direita - é definida quando se seleciona os campos da tabela interna no data.

PERFORMANCE

Principais problemas que podem ter:

1 - ninhos de select2 - select... endselect3 - select * em vez de especificar os campos4 - select single sem a chave completa em vez de select up to 1 row 5 - indices não utlizados ou falta de indices6 - select em tabelas com alto número de registros, utilizando a clausula where baseada em tela de seleção onde o preenchimento não é obrigatório. 7 - falha na definição funcional8 - utilização de grandes tabelas como : bseg, bkpf, etc9 - funções genéricas, sem especificação. 10 - sempre verificar a ordem das colunas das tabelas internas e bd, elas devem coincidir.

BUFFER - memória

Page 13: comados SAP e ABAP.doc

bufferização - selecionar da memória. by passing buffer - só utilizado para verificação de performance. a bufferização é preferível me tabelas que não mudam muito. existem tres tipos de bufferização: - full - resident buffer (100%), onde todo o conteúdo é buferizado - generic - uma chave genérica (primeiros n campos chaves) é especificada quando há a criação da tabela. esta chave genérica divide o conteúdo da tabela em áreas genéricas. Quando se acessa qualquer dado em uma determinada chave genérica, toda a área genérica é carregada no buffer. - partial (single record): somente alguns registros são lidos no banco de dados e armazenados no buffer.

ONLINE

Online são tipos de programas que, como o próprio nome indica, funcionam online, ou seja, instantaneamente. São dotados de uma maior capacidade de customização das telas e maior flexibilidade para criarem uma interface mais amigavel com o usuário. Pode-se fazer a manutenção de tabelas pelo online, incluindo novos dados.

São úteis na criação de aplicações que necessitem de subtelas ou quando é necessário fornecer informações aos usuários de outra maneira, que não seja um relatório.

- SCREEN - desenho da tela, lista de campos para tratamento de erros e definições dos módulos PBO e PAI relacionados com a tela. - GUI STATUS E GUI TITLE - definição dos comandos de botão e menus disponíveis: - definição de títulos, habilitação dos comandos standards existentes, criação de novos comandos necessários. - EVENTO PBO: evento executado antes da exibição da tela para o usuário: definição do GUI Status e GUI Title para a tela correspondente, seleção inicial de dados e atribuição de valores a serem exibidos na tela.

Ex: MODULE STATUS_0100 OUTPUT. SET PF-STATUS ' TELA100'. SET TITLEBAR 'Z10'. ENDMODULE.

- EVENTO PAI: evento executado após um comando do usuário (enter, click, etc); verificação do código de comando executado (definido no GUI Status), codigo abap para execução da lógica do comando.

Ex: MODULE USER_COMMAND_0100 INPUT. CASE SY-UCOMM. WHEN 'EXIT'. SET SCREEN 0. LEAVE SCREEN. ENDCASE. ENDMODULE.

SAPSCRIPT

Page 14: comados SAP e ABAP.doc

Ferramenta para a criação de formulários. A opção para utilização desta ferramenta geralmente se dá pela necessidde de alguns recursos que não podem ser obtidos através dos reports, tais como inserção de logotipos, fontes de tamanhos e tipos diferentes, etc. Os formularios sao client dependent, ou seja, podem ser transportados para todos os clientes em que se deseja executá-lo, independente de estar na mesma instância que já o tenha. Recomenda-se que todos os números das change requests sejam inseridos como comentário no corpo do formulário, pois não há administração de versões para Sapscripts, como há nos reports. No transporte, é importante salientar que no momento do transporte de um formulário Sapscript, é necessário assegurar que todas as estruturas utilizadas por ele, tenham sido transportadas anteriormente, assegurando que tudo que será utilizado pelo formulario já esteja no client, no momento em que este for introduzido. A ordem mais aconselhada para os transportes são: - estrutura, - layout, - programa de povoamento

o Programa de Povoamento é responsável pelo controle da impressão do formulário. Através dele o formulário é aberto, que os dados são enviados para as janelas corretas, que é feito o controle de quebra de paginas que é feito o fechamento do formulário, etc. é nele também que são feitas as seleções de dados que deverão aparecer no relatório. é apenas um dispositivo para o output dos dados. a construção de um programa de povoamento deve seguir a seguinte estrutura:

- abertura de um formulário, * call function/open form - incialização de um formulario, * start form - seleção dos dados do formulário, - impressão dos dados nas janelas do formulário, - encerramento do formulário, * endform - fechamento do formulario * closeform

* Abertura de formulários

O primeiro passao para a impressão de um sapscript é abertura de um formulário para fazer o povoamento. é obrigatória a presença de um comando de abertura num programa de povoamento. os principais parametros para abertura de formulários são: Device - dispositivo onde sera gerado o formulario (geralmente PRINTER).

Tabela Cluster - tem a chave primária e os campos estao em outras tabelas compactados. Ex. tabela bseg q possui muitos campos e eles estao compactados. CRIAR INDICE - SE11 1 - NOME DA TABELA. 2 - BOTÃO INDICES DA TRANSAÇÃO JÁ DENTRO DA TABELA.

SM30 - Popular e manutenção da tabela.

Page 15: comados SAP e ABAP.doc