Academia ABAP
Aluno: __________________________________________________
by BBKO Consulting
Academia SAP/ABAP R3
ndice
CAPTULO 1 MYSAP ERP __________________________________________________ 3 CAPTULO 2 CONCEITO DE BANCO DE DADOS RELACIONAL _______________ 9 CAPTULO 3 DICIONRIO DE DADOS _____________________________________ 10 CAPTULO 4 ABAP OPEN SQL ____________________________________________ 36 CAPTULO 5 TELA DE SELEO __________________________________________ 47 CAPTULO 6 LISTAS _____________________________________________________ 54 CAPTULO 7 LISTAS SECUNDRIAS ______________________________________ 64 CAPTULO 8 MODULARIZAO __________________________________________ 73 CAPTULO 9 DATA TRANSFER____________________________________________ 80 CAPTULO 10 PROGRAMAO ON-LINE __________________________________ 95 APNDICE A PROGRAMAO ON-LINE __________________________________ 128 OS COMPONENTES PRINCIPAIS DE UM DIALOG PROGRAM (ON-LINE) __________________ SCREEN PAINTER - ABAP/4 _________________________________________________ COMUNICAO: TELA ABAP/4 MODULE POOL ________________________________ DEFININDO O LAYOUT (GRAPHICAL SCREEN PAINTER) _____________________________ VISUALIZAES DE LISTAS DE CAMPO (FIELD LIST VIEWS) _________________________ DEFININDO O CONTROLE DO FLUXO ____________________________________________ PROCESSANDO O MODULE POOL ____________________________________________ DEFININDO CAMPOS NO MODULE POOL ______________________________________ DEFININDO CHAMADAS (CDIGOS DE TRANSAO) _______________________________ CHECAGEM AUTOMTICA DE CAMPO DE ENTRADA ________________________________ CHECANDO CAMPO DE ENTRADA NO MODULE POOL COM DILOGO DE ERRO __________ CHECANDO GRUPO DE CAMPOS _______________________________________________ LENDO CDIGOS DE FUNO EM PROGRAMAS ___________________________________ SEQNCIA DINMICA DE TELA: OVERVIEW _____________________________________ AJUSTANDO A PRXIMA TELA DINAMICAMENTE _________________________________ MENU PAINTER - OVERVIEW _________________________________________________ DEFININDO A INTERFACE I ___________________________________________________ DEFININDO A INTERFACE II __________________________________________________ DEFINIO AUTOMTICA DE CONES PARA TECLAS DE FUNO ______________________ DEFININDO MENUS DE REA _________________________________________________ 128 128 128 128 130 130 130 131 131 131 132 132 133 133 133 133 133 134 134 134
by BBKO Consulting
Academia SAP/ABAP R3
O que o mySAP ERP ? Funes do mySAP ERP . Arquitetura trs camadas. Landscape. Sistema de Transporte.
O mySAP ERP um conjunto integrado de aplicativos para tratar o processamento de dados de grandes corporaes. Foi desenvolvido na Alemanha pela empresa SAP (Systems Applications and Products for data processingAplicativos e produtos de sistemas para processamento de dados).
3
by BBKO Consulting
Academia SAP/ABAP R3
BASIS
4
Oferece uma soluo integrada de aplicativos empresariais. Todos os mdulos de aplicativos do mySAP ERP 2005 (ECC 6.0 Atual) so escritos em ABAP (Advanced Business Application Programing), que interpretado pelo Application Server que fica localizado na camada SAP NetWeaver, que por sua vez, so executadas no sistema Operacional.
(SAP NetWeaver como um sistema operacional para o mySAP ERP 2005 (ECC 6.0). Ele fica entre o cdigo ABAP e o sistema operacional.). Mdulos Localizados no MySAP ERP MM (Materials Management Gerenciamento de Materiais) SD (Sales and Distribution Vendas e Distribuio) FI (Financial Accounting Contabilidade Financeira) PP (Production Planning Planejamento da Produo) HR (Human Resources Recursos Humanos) WF (Workflow Fluxo de Trabalho) PS (Project System Sistema de Projeto) e outros.
by BBKO Consulting
Academia SAP/ABAP R3
Papis e Responsabilidades
Basis Responsvel pela instalao do ERP e configuraes do mesmo (ex. impressoras, links, administrao de usurios e etc.) ABAP Programador Funcionais Responsvel pela parametrizao e adequao dos processos de um determinado mdulo.
by BBKO Consulting
Academia SAP/ABAP R3
O Sistema R/3 baseado na arquitetura cliente/servidor com 3 camadas: Servidor de dados, servidor de aplicaes e servidor de apresentao. A arquitetura de 3 (trs) camadas faz o sistema facilmente escalvel. Para adicionar usurios, voc precisa instalar mais servidores de apresentao. Voc pode tambm aumentar a eficincia do todo o sistema adicionando mais servidores de aplicao associados aos seus work processes. Servidor de aplicativos consiste em um dispatcher e mltiplos processos de trabalho (work process). Todas as solicitaes provenientes de servidores de apresentao so dirigidas primeiro ao dispatcher. O dispatcher grava-as primeiro na camada do dispatcher. O dispatcher extrai as solicitaes da camada utilizando o algoritmo primeiro a entrar, primeiro a sair (FIFO). Cada solicitao ento alocada para o primeiro work process disponvel. Um work process trata uma solicitao por vez.
Tipo de processo D (Dialog) V (Update) B (Background) S (Spool) E (Enqueue) M (Message) G (Gateway) Tipo de solicitao de trabalho Solicitaes de dilogo. Solicitaes para atualizar dados no banco de dados. Trabalhos de segundo plano. Imprime solicitaes do spool. Solicitaes de bloqueio lgico. Roteia as msgs. entre os serv. de aplicativo dentro do sistema R/3. Afunila as mensagens dentro e fora do sistema R/3.
by BBKO Consulting
Academia SAP/ABAP R3
System Landscape
Sistema de Desenvolvimento Sistema de QA Sistema de Produo
PROD
DEV
QTST
Client Copy Client Client Transport
Client Copy
MAST
Transport
MAST
Client Copy
Client Copy
SBOX
TRAI
Workbench Request
Workbench Request
by BBKO Consulting
Academia SAP/ABAP R3
O Workbench Organizer permite ao usurio desenvolver o software de maneira organizada. O Sistema de transporte prove a execuo do transporte. Os objetos de repositrio so conectados para o sistema de transporte pela classe de desenvolvimento e associaes com change requests. Depois que as requests foram liberadas no sistema de desenvolvimento, ela ento transportada para a rota pr determinada: sistema de qualidade ou para o sistema de produo.
by BBKO Consulting
Academia SAP/ABAP R3
by BBKO Consulting
Academia SAP/ABAP R3
Dicionrio de Dados
by BBKO Consulting
10
Academia SAP/ABAP R3
Dicionrio de Dados
Domnio Elemento de Dados Campos Registros Tabelas
Transparentes Interna
O Dicionrio Abap permite um gerenciamento central de todas as definies de dados usada no sistema R/3 No Dicionrio voc pode criar tipos definidos pelo usurio (data elements, estruturas e table types). Objetos de banco de dados, tais como tabelas e views de banco de dados, tambm podem ser definidas no Dicionrio ABAP e criada com estas definies no banco de dados. O Dicionrio ABAP tambm prov um nmero de servio que apiam o desenvolvimento de programas. Por exemplo, lock de tabelas, search help (F4) e ajuda de campo (F1 help) usados nos campos de uma tela.
by BBKO Consulting
11
Academia SAP/ABAP R3
10
String de caractere (mximo de 255 caracteres) DEC Valores decimais DATS Campo Date TIMS Campo Time INT1, INT2, INT4 Valores inteiros NUMC Campo de caractere que pode conter apenas numricos
11
by BBKO Consulting
12
Academia SAP/ABAP R3
T1 TYPE I.
T2(5) TYPE P.
DATA D1 TYPE T1
Grupo de Tipos
12
Data types: Apenas descrio do type No ocupa memria Caracteriza os atributos tcnicos de todos os data objects que possuem um type especificado Data Objects: uma concreta representao do type Cada data object tem um type especfico e ocupa espao em memria
by BBKO Consulting
13
Academia SAP/ABAP R3
Tabela 2 ...
Uma tabela composta de campos
....
...
Elemento de Dados
Elemento de Dados
Para criar um Campo, voc precisa de um Elemento de Dados
MATNR
MATNR
Domnio MATNR
Domnio MATNR
13
Os objetos bsicos do Dicionrio ABAP so: tabelas, data elements e domnios Domnio descreve os atributos tcnicos dos campos das tabelas (ex: tipo, tamanho do campo), enquanto os data elements contm a definio semntica (descrio curta)
by BBKO Consulting
14
Academia SAP/ABAP R3
14
Dica: ao criar a tabela e seus data elements, associar a mesma Change Request, para no dar problema durante o transporte de Desenvolvimento para QA
by BBKO Consulting
15
Academia SAP/ABAP R3
15
16
by BBKO Consulting
16
Academia SAP/ABAP R3
17
18
by BBKO Consulting
17
Academia SAP/ABAP R3
19
Tabelas Transparentes
- Uma tabela transparente tem relacionamento um-para-um com uma tabela no banco de dados. - Ns criamos somente tabelas transparentes
23
by BBKO Consulting
18
Academia SAP/ABAP R3
Tabelas de Cluster
- Uma tabela de Cluster tem um relacionamento de muitos-paraum com uma tabela no banco de dados. Para uma tabela no banco de dados, h muitas tabelas no Dicionrio. Muitas tabelas de cluster de cluster so armazenadas em uma nica tabela no banco de dados chamada de cluster de tabelas. Os clusters de tabela armazenam dados de vrias tabelas baseadas nos campos de chave primria que elas tm em comum.
24
21
by BBKO Consulting
19
Academia SAP/ABAP R3
22
27
by BBKO Consulting
20
Academia SAP/ABAP R3
24
O primeiro campo de uma tabela sempre deve ser o mandante; O campo Num_documento, utiliza o data element ZNUM_DOCUMENTO O Campo Usuario, utiliza o data element UNAME O Campo Data, utiliza o data element DATUM O Campo Material, utiliza o data element MATNR O Campo Valor, utiliza o data element BWERT O Campo Quantidade, utiliza o data element BSTMG O Campo Material possui check table, ou seja durante qualquer manuteno da tabela Z ou Y, checado se o material gravado nesta tabela, existe na tabela Mestre de Material (MARA)
by BBKO Consulting
21
Academia SAP/ABAP R3
25
26
Para campos do tipo moeda (valores) e quantidade, necessrio definir tabela e campo de referncia.
by BBKO Consulting
22
Academia SAP/ABAP R3
27
28
by BBKO Consulting
23
Academia SAP/ABAP R3
29
Atribuir uma mensagem de erro para este check table. Neste caso foi criada uma classe de mensagem ZCURSO_00, com nmero de mensagem 001, atravs da Transao SE91
by BBKO Consulting
24
Academia SAP/ABAP R3
Chave Estrangira
34
Tabela Mand
ZFUNC
Salario Area
ZDEPTO
Fone Fax
31
by BBKO Consulting
25
Academia SAP/ABAP R3
32
by BBKO Consulting
26
Academia SAP/ABAP R3
33
Opes Tcnicas: Data Class Define a rea fsica do banco de dados, na qual a tabela deve ser armazenada (no Oracle o tablespace). Size category Define o tamanho do armazenamento esperado para esta tabela no banco de dados. Buffering define se e como a tabela deve ser bufferizada. Logging Modificaes na entrada da tabela so armazenadas, mas tambm tem que setar o parmetro rec/client (pode provocar gargalos no sistema (devido a esses adicionais acessos).
by BBKO Consulting
27
Academia SAP/ABAP R3
34
Ao selecionar o cone ativar no ABAP Dicitionary, a tabela transparente automaticamente criada no banco de dados. A tabela no banco de dados possui o mesmo nome da tabela no ABAP Dictionary. O campo tem tambm os mesmos nomes e os tipos do campo no ABAP Dicitionary so convertidos para os tipos de dados correspondentes no sistema do banco de dados.
by BBKO Consulting
28
Academia SAP/ABAP R3
35
36
by BBKO Consulting
29
Academia SAP/ABAP R3
37
Na criao da estrutura no precisa definir o mandante, pois armazena os dados somente em tempo de execuo.
38
by BBKO Consulting
30
Academia SAP/ABAP R3
Tabela Interna
43
reas de memria chamadas Tabelas Internas, so utilizada para realizar alguns processamentos no ABAP. Nessas reas de memria so alocados dados que existem (ou existiro) apenas em tempo de execuo do programa, e que podem variar de uma execuo para outra ou ainda durante a mesma execuo.
44
by BBKO Consulting
31
Academia SAP/ABAP R3
No dia-a-dia do programador as tabelas internas tm um papel fundamental, pois atravs delas que se manipula a maior parte dos dados de um programa. Alm disso, so de fcil manuseio, sendo sua declarao (de tipos, estrutura) e atribuio de contedo (valores) muito simples. possvel, por exemplo, declarar uma tabela interna com a mesma estrutura (tipos, campos, etc.) de uma tabela do banco de dados (fsico tabelas transparentes), e, atravs de um comando SELECT, copiar todo o contedo da tabela do banco de dados para a tabela interna.
45
As tabelas internas possuem uma rea de trabalho chamada Header (cabealho), que permite o acesso e uso mais flexvel dos registros da mesma. O comando LOOP, por exemplo, ao varrer/ler uma tabela interna registro a registro, envia o registro corrente para o Header, permitindo que o programador manipule esse registro de diversas maneiras. Exemplo: Imprim-los na tela(comando WRITE), utilizando seus campos para executar clculos, comparar valores, etc.
46
by BBKO Consulting
32
Academia SAP/ABAP R3
Cidade
Rua
Bairro
Cidade
Rua
Bairro
47
by BBKO Consulting
33
Academia SAP/ABAP R3
49
1.READ TABLE TG_CLIENTES INTO ST_CLIENTES INDEX 2. READ TABLE TG_CLIENTES INTO ST_CLIENTES WITH KEY kunnr = v_codcli.
3.ST_CLIENTES-name1 = Phonecell telefonia celular. MODIFY tg_clientes FROM st_clientes WHERE kunnr = vg_codcliente.
50
by BBKO Consulting
34
Academia SAP/ABAP R3
6. COLLECT st_clientes INTO tg_clientes. 7. SORT tg_clientes BY kunnr name1 . (Ordena a tabela interna) 8. CLEAR st_clientes. (Limpa todo o contedo da estrutura) 9. REFRESH tg_clientes.(Deleta todos os registros da tabela interna, porem o espao de memria ainda fica ocupada) 10.FREE tg_clientes. Deleta todos os registros da tabela interna, limpa a memria) 11. DESCRIBE TABLE tg_clientes LINES vg_linhas (carrega o nmero de registros da tabela interna na varivel vg_linhas)
51
APPEND <TAB>
COLLECT <TAB>
Cod Depto HR
Salrio 1000,00
Cod Depto HR
Salrio 1000,00
HR INFO FINAN
HR INFO FINAN
2000,00 52
by BBKO Consulting
35
Academia SAP/ABAP R3
Open SQL
47
base de dados
SELECT INSERT DELETE UPDATE MODIFY
48
by BBKO Consulting
36
Academia SAP/ABAP R3
SELECT matnr INTO TABLE tg_mara FROM mara WHERE matnr = p_matnr.
TYPES: BEGIN OF type_mara, matnr TYPE mara-matnr, END OF type_mara. TYPES: BEGIN OF type_mara, matnr TYPE mara-matnr, flag(1) TYPE c, END OF type_mara.
Campos Selecionados Destino dos dados (Tabela Interna) Origem dos dados (Tabela Transparente) Condio para a seleo dos dados
by BBKO Consulting
37
Academia SAP/ABAP R3
Open SQL
Banco de Dados
Relatrio
49
- Para ler os dados das tabelas do banco de dados, voc precisa utilizar o comando SELECT - O ABAP contm comandos similares ao do SQL padro, na qual voc pode acessar seu banco de dados. ABAP OPEN SQL tem as seguintes caractersticas: - Sintaxe corresponde sintaxe do SQL padro - O ABAP SQL um subconjunto do SQL padro - O ABAP SQL contm SAP short forms - As tabelas devem ser definidas no Repositrio ABAP e tem chave primria.
by BBKO Consulting
38
Academia SAP/ABAP R3
Para fazer SELECT SINGLE, voc precisa passar como parmetro na condio WHERE a chave completa da tabela transparente. Neste exemplo acima, os campos selecionados foram armazenados em variveis de memria, declarados no comando DATA
57
Acessa a tabela e a cada registro encontrado, atendendo a condio WHERE os dados so movidos para uma tabela interna.
58
by BBKO Consulting
39
Academia SAP/ABAP R3
INTO TABLE: L os registros da tabela e move para uma tabela interna. Sobrepe os registros existentes. APPENDING TABLE: no sobrepe os registros existentes, ele move para o fim da tabela interna.
59
MAKT
MATNR MAKTX
Check Table Mand
MARA
MATNR
mara~matnr makt~maktx TABLE tg_materiais mara JOIN makt ON makt~matnr = mara~matnr AND makt~spras = sy-langu WHERE mara~matnr = p_matnr.
60
by BBKO Consulting
40
Academia SAP/ABAP R3
IF sy-subrc = 0. SELECT matnr maktx INTO TABLE tg_makt FROM makt FOR ALL ENTRIES IN tg_mara WHERE matnr = tg_mara-matnr. ENDIF.
Obs. A tabela interna utilizada no FOR ALL ENTRIES NUNCA deve estar vazia no momento da seleo. Pois isso ir acarretar a seleo de todos os registros da tabela utilizada na clausula FROM.
61
Acesso: Insert
TABLES ZTABELA ZTABELA-MATNR ZTABELA-CAMPO2 ZTABELA-CAMPO3 = 10'. = 002'. = INSERT'.
53
by BBKO Consulting
41
Academia SAP/ABAP R3
Acesso: Delete
TABLES ZTABELA. DELETE FROM ZTABELA WHERE MATNR = 10'.
54
Acesso: Update
UPDATE ZTABELA SET CAMPO2 = '002 CAMPO3 = UPDATE' WHERE MATNR = 20'.
64
by BBKO Consulting
42
Academia SAP/ABAP R3
Acesso: Modify
TABLES ZTABELA. ZTABELA-MATNR ZTABELA-CAMPO2 ZTABELA-CAMPO3 MODIFY ZTABELA. = 30'. = 002'. = MODIFY'.
Comando MODIFY: ou altera um registro com a chave j existente ou se no existe, adiciona um novo.
65
by BBKO Consulting
43
Academia SAP/ABAP R3
Tipos de Programas
66
Relatrios
- O programa consiste em duas telas, a primeira tela chamada de tela de seleo (selection screen) , nesta tela voc define os critrios do relatrio e filtros. A segunda tela a tela de sada, contm a lista.
Includes
58
by BBKO Consulting
44
Academia SAP/ABAP R3
59
-Os relatrios consistem em cinco componentes: - Cdigo Fonte - As Caractersticas - Os elementos de texto - A documentao - As variantes
by BBKO Consulting
45
Academia SAP/ABAP R3
Exemplo:
Report Zteste. Tables: Mara. Types: type_campo2(2) type c, type_documento like bseg-ebeln. Data: vg_campo1 type type_campo2 value XX, vg_campo2 type type_documento. Constants c_X(1) type c value X.
69
by BBKO Consulting
46
Academia SAP/ABAP R3
Tela de Seleo
63
Tela de Seleo
62
by BBKO Consulting
47
Academia SAP/ABAP R3
63
by BBKO Consulting
48
Academia SAP/ABAP R3
64
-Internamente gerada uma tabela interna so_func com 4 colunas: - SIGN ( I Include / E Exclude) - OPTION (EQ,NE,CP,NP,GE,LT,LE,GT, BT ) - LOW ( Intervalo menor valor) - HIGH ( Intervalo maior valor) -Voc pode inicializar os valores do select-option no evento initialization, por exemplo: INITIALIZATION. MOVE: 'I' TO SO_FUNC-SIGN, 'EQ' TO SO_FUNC-OPTION, 1 TO SO_FUNC-LOW. APPEND SO_FUNC.
by BBKO Consulting
49
Academia SAP/ABAP R3
SELECTION-SCREEN BEGIN OF BLOCK entre WITH FRAME TITLE text-001. parameters: * Nome do arquivo entrada p_arqori like rlgrap-filename obligatory. parameters : p_asc radiobutton group g1 default 'X', " Tipo ASC p_dat radiobutton group g1. " Tipo DAT parameters : p_pc p_unix
66
67
by BBKO Consulting
50
Academia SAP/ABAP R3
A seqncia dos eventos no cdigo fonte no tem efeito na sequencia na qual eles so chamados pelo ABAP Runtime System
68
Dicas
71
by BBKO Consulting
51
Academia SAP/ABAP R3
Example DATA letters(3) TYPE C. MOVE 'abc' TO letters. TRANSLATE letters TO UPPER CASE. letters now has the contents 'ABC'
Example DATA: letters(20) TYPE C VALUE 'abcabcabcXabc', change(15) TYPE C VALUE 'aXbaYBabZacZB'. TRANSLATE letters USING change. letters now contains 'XaZXaZXaZXXaZ'
70
Exemplo:
Alinha o material a direita e preenche com zeros a esquerda
SHIFT V_MATNR RIGHT DELETING TRAILING SPACE. REPLACE ' ' WITH '0' INTO V_MATNR.
71
by BBKO Consulting
52
Academia SAP/ABAP R3
Dicas LOOPs
DO WHILE LOOP
72
by BBKO Consulting
53
Academia SAP/ABAP R3
Captulo 6 Listas
Listas
84
Listas
Formatao de Sada das Listas Definir o Formato das listas Armazenar Listas Imprimir Listas Controle de Nvel das Listas, utilizando tabela Interna
82
by BBKO Consulting
54
Academia SAP/ABAP R3
Parmetros de Sada:
Write ... Format ... New-Page ...
Eventos
TOP-OF-PAGE. END-OF-PAGE.
Elementos de Texto
Text Symbols Heading Selection texts
by BBKO Consulting
55
Academia SAP/ABAP R3
84
-WRITE: -Comando que gera sada de dados no relatrio. -Exemplo: WRITE 'Hello, here I am!'. -System fields (tabela SYST): -Alguns campos da tabela SYST so interessantes para uso em
by BBKO Consulting
56
Academia SAP/ABAP R3
85
-FORMAT: -Atravs do FORMAT pode-se manipular o formato dos dados a serem apresentados com WRITE. Pode-se controlar a cor, intensidade, etc.
by BBKO Consulting
57
Academia SAP/ABAP R3
by BBKO Consulting
58
Academia SAP/ABAP R3
foi chamada por um evento NEW -PAGE. O tamanho da Pgina deve ser determinado pelo parmetro do line-count Para chamar o bloco do processamento do END-OF-PAGE
87
prprio nome do evento. Eles terminam onde o bloco do prximo evento comea. O prximo bloco deve ser uma outra palavra-chave de evento, ou algum outro bloco de processamento valido no contexto, como uma sub-rotina ou modulo de dialogo. Os principais eventos para processamento de relatrios so:
-INITIALIZATION: -Prprio para inicializar os campos da tela de seleo. E
apresentao da lista.
by BBKO Consulting
59
Academia SAP/ABAP R3
88
by BBKO Consulting
60
Academia SAP/ABAP R3
89
Obs.: O campo da tabela interna utilizado nos comandos AT NEW e AT END OF tem que ser o primeiro campo da tabela interna e a mesma deve estar ordenada.
91
by BBKO Consulting
61
Academia SAP/ABAP R3
LOOP AT ITAB ... ... ... ... ENDAT. ENDAT. ENDAT. ENDAT.
FIRST. SORT TG_ITAB BY ORT01 NAME1 ADDRNR . AT AT NEW < campo> LOOP AT TG_ITAB INTO ST_ITAB. AT END OF < campo> AT NEW ORT01. AT LAST. WRITE: / ST_ITAB-ORT01. ENDLOOP ENDAT. AT END OF ORT01. ULINE. WRITE: / ST_ITAB-ORT01. ENDAT. ENDLOOP.
Obs.: O campo ORT01 neste exemplo tem que ser o primeiro campo da tabela interna ITAB.
92
by BBKO Consulting
62
Academia SAP/ABAP R3
Dicas
96
No parmetro REPORT pode-se acrescentar o parmetro MESSAGE-ID. Exemplo: REPORT ZSDR0010 NO STANDARD PAGE HEADING LINE-SIZE 132 LINE-COUNT 65 MESSAGE-ID ZSD.
94
by BBKO Consulting
63
Academia SAP/ABAP R3
Listas Secundrias
98
by BBKO Consulting
64
Academia SAP/ABAP R3
Listas Secundrias
96
-O ABAP runtime system : - Exibe a lista bsica. A varivel de sistema SY-LSIND = 0 (contador de lista) - Neste exemplo, se voc clicar duas vezes sobre uma linha da lista bsica, ser exibido detalhes desta linha, isso atravs do evento AT-LINE-SELECTION
by BBKO Consulting
65
Academia SAP/ABAP R3
97
Hide Area
Line
98
by BBKO Consulting
66
Academia SAP/ABAP R3
99
by BBKO Consulting
67
Academia SAP/ABAP R3
100
Lista Bsica
Lista Secundria
101
by BBKO Consulting
68
Academia SAP/ABAP R3
102
103
by BBKO Consulting
69
Academia SAP/ABAP R3
104
105
by BBKO Consulting
70
Academia SAP/ABAP R3
106
107
by BBKO Consulting
71
Academia SAP/ABAP R3
108
AT USER-COMMAND. CASE sy-ucomm. WHEN 'TEXTO'. SET pf-status 'LIST' excluding 'TEXTO'. DATA: tg_mara TYPE TABLE OF TYPE_MARA, SET titlebar 'LIST1'. st_mara TYPE TYPE_MARA, st_makt TUPE TYPE_MAKT. SELECT single matnr maktx INTO (st_makt-matnr,st_makt-maktx) select-options: so_matnr for mara-matnr. FROM makt **************************************** WHERE matnr = t_mara-matnr AND * Evento START-OF-SELECTION spras = 'P '. **************************************** start-of-selection. WRITE: 'Material lista secundria', set pf-status 'LIST'. st_makt-matnr, st_makt-maktx. set titlebar 'LIST'. ENDCASE.
110
by BBKO Consulting
72
Academia SAP/ABAP R3
Captulo 8 Modularizao
Modularizao
75
Modularizao
Sub-rotinas Grupo de Funes Funes
74
by BBKO Consulting
73
Academia SAP/ABAP R3
Modularizao - Subrotinas
Inicio do Programa
....
75
Se no programa ABAP uma sub-rotina chamada por um comando PERFORM, o sistema interrompe o processamento corrente para processar a sub-rotina. Quando a ultima linha da sub-rotina (ENDFORM), executada, o sistema continua o processamento do programa, aps a linha do comando PERFORM.
by BBKO Consulting
74
Academia SAP/ABAP R3
76
Os parmetros podem ser enviados por referncia ou por valor: - Por referencia: o parmetro destino faz referencia ao endereo do parmetro origem. - Por valor: Quando a sub-rotina chamada, uma varivel local criada e o contedo copiado, existem dois tipos de chamadas por valor: - chamada por valor: passa apenas os contedos - chamada por valor e resultado: passa o contedo do campo e toda alterao efetuada no campo, na sub-rotina e passada de volta.
by BBKO Consulting
75
Academia SAP/ABAP R3
77
Mdulo de funo so unidades modulares com a interface. A interface pode conter os seguintes elementos: Parmetros de Importao: so parmetros passados para o mdulo de funo. Em geral, estes so associados aos tipos do Dicionrio ABAP. Podem ser opcionais. Parmetros de Exportao: so passados do mdulo de funo para o programa chamador. Parmetros de exportao so sempre opcionais. Parmetros Modificveis: so passados para o mdulo de funo e podem ser alterados pela funo. Podem ser opcionais. Excees: So usados para interceptar erros. Se um erro aciona uma exceo na funo, esta funo pra. Voc pode associar nmeros a exceo no programa, na qual so verificados pelos valores do sy-subrc. Cada mdulo de funo pode conter dados locais e acessar dados globais, pertencentes ao grupo de funo.
by BBKO Consulting
76
Academia SAP/ABAP R3
78
- Um grupo de funo um programa ABAP do tipo F, na qual o programa criado exclusivamente para conter mdulos de funo. Os mdulos de funo podem ser chamados de qualquer programa ABAP.
by BBKO Consulting
77
Academia SAP/ABAP R3
Crie grupo de funo por assunto, evite utilizar vrios mdulos de funo num mesmo grupo, pois se algum estiver codificando um mdulo, e voc quiser transportar a sua funo e eles pertencerem ao mesmo grupo, voc s vai conseguir transportar no momento que todos as funes deste grupo estiverem sem erro de sintaxe.
79
80
by BBKO Consulting
78
Academia SAP/ABAP R3
'01'. 'X'. 'T_ALV'. = 'COL_01'. = 'Material'. = 'Material'. = 'Material'. fieldcat-fix_column = 'X'. Append fieldcat.
119
by BBKO Consulting
79
Academia SAP/ABAP R3
Transferncia de Dados
114
Transferncia de Dados
Processando Arquivo Seqencial Call Transaction Batch Input
111
by BBKO Consulting
80
Academia SAP/ABAP R3
IF p_unix = 'X'. OPEN DATASET p_arqori FOR INPTU IN text MODE MESSAGE v_msg. DO. READ DATASET P_ARQORI INTO T_DATA_LOAD. IF SY-SUBRC NE 0. EXIT. ENDIF. APPEND T_DATA_LOAD. ENDDO. ENDIF.
112
113
by BBKO Consulting
81
Academia SAP/ABAP R3
IF P_UNIX EQ 'X'. OPEN DATASET V_ARQSAIDA FOR OUTPUT IN TEXT MODE MESSAGE V_MSG. IF SY-SUBRC NE 0. MESSAGE E001(ZI) WITH V_ARQSAIDA V_MSG. ENDIF. LOOP AT T_SAIDA. TRANSFER T_SAIDA TO V_ARQSAIDA. ENDLOOP. CLOSE DATASET V_ARQSAIDA. IF SY-SUBRC NE 0. MESSAGE E011(ZI) WITH V_ARQSAIDA. ENDIF. ELSEIF P_PC EQ 'X'. .....
114
115
by BBKO Consulting
82
Academia SAP/ABAP R3
116
117
by BBKO Consulting
83
Academia SAP/ABAP R3
118
Dados Externos
SAP INTERFACES
BANCO SAP
119
by BBKO Consulting
84
Academia SAP/ABAP R3
READ DATASET
Programa de BATCH INPUT
Dicionrio ABAP/4
Estrutura BDCDATA
Tabela BDC INCLUDE STRUCTURE
CALL FUNCTION
FILA
120
121
by BBKO Consulting
85
Academia SAP/ABAP R3
Update no deve ser utilizado para atualizar dados de tabelas Standard do SAP. Toda a atualizao deve ser feita atravs das transaes que garantam a integridade da base de dados. Esta atualizao feita atravs do comando Call Transaction.
Call Transaction
WA_BDCDATA-PROGRAM = 'SAPMS38M'. Informa o nome/numero da tela WA_BDCDATA-DYNPRO = '0100'. WA_BDCDATA-DYNBEGIN = 'X'. APPEND WA_BDCDATA TO BDCDATA. CLEAR WA_BDCDATA. WA_BDCDATA-FNAM = 'RS38M-PROGRAMM'. Preenche campos da tela WA_BDCDATA-FVAL = PROGRAM. APPEND WA_BDCDATA TO BDCDATA. ... * Chama a transao com os dados de tela e campos definidos CALL TRANSACTION 'SE38' USING BDCDATA MODE 'N' MESSAGES INTO ITAB.
122
by BBKO Consulting
86
Academia SAP/ABAP R3
W_MESS = T100-TEXT. STRAUX4 = T_MESS-MSGV1. REPLACE '&' WITH STRAUX4 INTO W_MESS. CONDENSE W_MESS. STRAUX4 = T_MESS-MSGV2. REPLACE '&' WITH STRAUX4 INTO W_MESS. CONDENSE W_MESS. STRAUX4 = T_MESS-MSGV3. REPLACE '&' WITH STRAUX4 INTO W_MESS. CONDENSE W_MESS. STRAUX4 = T_MESS-MSGV4. REPLACE '&' WITH STRAUX4 INTO W_MESS. CONDENSE W_MESS. ENDFORM.
125
by BBKO Consulting
87
Academia SAP/ABAP R3
PERFORM CALL_TRANSACTION TABLES T_BDC USING 'MI01'. O nome do campo na tela pode ser verificado clicando-se F1 sobre o campo acessando a opo Informaes Tcnicas. O nome do campo encontra-se em Denominao do campo para batch input. Alm dos campos de tela existem dois campos especiais : BDC_CURSOR : Para indica a posio do cursor BDC_OKCODE : Para indicar a operao a realizar aps o preenchimento da tela.
126
by BBKO Consulting
88
Academia SAP/ABAP R3
Aps mapear os campos necessrios, definir o layout do arquivo .txt de entrada Criar a especificao tcnica Criar o programa de Inbound
Obs: Segue exemplo: transao MM02 (alterao de material) onde vamos apenas alterar a descrio dos materiais
128
129
by BBKO Consulting
89
Academia SAP/ABAP R3
130
131
by BBKO Consulting
90
Academia SAP/ABAP R3
132
133
by BBKO Consulting
91
Academia SAP/ABAP R3
134
Campo
Cdigo do material Descrio do Material
Tipo
char 18 posies, alinhado a esquerda char 40 posies
135
by BBKO Consulting
92
Academia SAP/ABAP R3
136
137
by BBKO Consulting
93
Academia SAP/ABAP R3
138
- Tem trs opes de executar a pasta: Processamento visvel (Foreground visualizando as telas), Oculto (background), Exibir s erros (quando ocorrer erro mostra a tela) -Quando executa a pasta Batch Input em foreground, significa que est rodando a transao com todos os dados mapeados no programa, preenchidos, apenas teclar < ENTER >. - Caso queira cancelar o processamento em foreground do registro corrente, digitar no campo de comando < /n>. - Caso queira cancelar o processamento em foreground, digitar no campo de comando < /bend>
by BBKO Consulting
94
Academia SAP/ABAP R3
Programao On-Line
143
by BBKO Consulting
95
Academia SAP/ABAP R3
Atributos Da Tela
Layout Da Tela
140
Os principais processos de criar uma tela: - Especificar as suas propriedades (Atributos da tela) - Especificar o layout (Editor Fullscreen) - Definir os atributos dos elementos da tela (Field List) - Programar o seu fluxo lgico - O Fluxo lgico dividido em dois eventos para cada tela: - O PROCESS BEFORE OUTPUT evento (PBO), executado antes da tela ser apresentada. - O PROCESS AFTER INPUT evento (PAI), executado aps o usurio ter acionado algum boto ou disparado algum evento na tela anteriormente apresentada.
by BBKO Consulting
96
Academia SAP/ABAP R3
141
- Dialog Program que mostrar dados do Cliente. - Neste exemplo, a primeira tela, o usurio entrar com cdigo do funcionrio. (chave da tabela), e na segunda tela, ser mostrado o contedo dos campos referentes tabela ao funcionrio.
by BBKO Consulting
97
Academia SAP/ABAP R3
PBO
PAI
PBO
PAI
O comando SET SCREEN <nnnn> sobrepe temporariamente o atributo prxima tela. Para executar a chamada a outra tela em um nico programa pode ser feito desta forma: LEAVE TO SCREEN < nnnn>
O comando SET SCREEN 0 e LEAVE Screen volta para a tela que chamou, no caso tela 300.
142
by BBKO Consulting
98
Academia SAP/ABAP R3
143
Voc pode definir um campo OK_CODE como um campo da tela. Neste campo conter o cdigo de funo do boto selecionado na tela. Para evitar erros de campo OK_CODE no inicializado, voc deve criar um campo auxiliar que salva o contedo do OK_CODE e ento voc inicializa o campo OK_CODE e trabalha com o campo auxiliar.
by BBKO Consulting
99
Academia SAP/ABAP R3
Action sequence
Execute module A Data transport from ABAP/4 to screen work area Send screen ENTER Data transport from screen to ABAP/4 work area Execute module B
144
- Quando todos os mdulos do PBO terminarem a execuo, os contedos dos campos na Work rea do ABAP so copiados para a Work rea da tela em nomes idnticos. - Antes do PAI ser processado, os contedos dos campos na Work rea da tela so copiados para a Work rea do ABAP em nomes idnticos.
by BBKO Consulting
100
Academia SAP/ABAP R3
A B
A B
output field
146
- Podem ser feitas mudanas temporrias em certos atributos de campos. Ex.: Fazer com que um campo com atributo de display somente, seja alterado para receber entrada de digitao etc. - Esta facilidade faz com que possam ser utilizadas as mesmas telas, somente com a alterao dos atributos dos seus campos, desta forma a quantidade de telas reduzida consideravelmente.
by BBKO Consulting
101
Academia SAP/ABAP R3
Field name Modification Modification Modification Modification group 1 group 2 group 3 group 4
Required field Input field Output field Highlighted field Invisible field Field length Active field 3-dimensional field Field with value help Input exists (PAI only)
146
- Os campos da tela e seus respectivos atributos so armazenados automaticamente em uma tabela interna (do sistema) chamada SCREEN. - A tabela SCREEN inicializada com os campos definidos no Caiem Pointer e tem seus campos reinicializados a cada execuo do PBO. - Para determinar o campo que voc deve alterar um ou mais atributos, voc precisa ler o campo SCREEN-NAME e os campos SCREEN-GROUP1 at SCREEN-GROUP4, atravs de um Loop na tabela SCREEN. - As funes standard so automaticamente associadas.
by BBKO Consulting
102
Academia SAP/ABAP R3
Screen Painter
...
147
- Voc pode associar um campo a quatro diferentes grupos. Os nomes dos grupos podem ter at 3 caracteres e podem ser definidos livremente.
by BBKO Consulting
103
Academia SAP/ABAP R3
'.
ENDLOOP. ENDMODULE.
148
- O cdigo (programa) para alterar dinamicamente os atributos dos campos devem ser executados no evento PBO. - As mudanas devem ser feitas dentro de um Loop na tabela SCREEN, e somente desta forma.(No possvel o acesso via READ TABLE...). - As mudanas feitas so realmente ativadas aps o comando MODIFY SCREEN.
by BBKO Consulting
104
Academia SAP/ABAP R3
- Dentro do bloco CHAIN, voc deve usar o ON CHAIN-INPUT, o module ento chamado se o contedo de uma das telas foi alterado do valor inicial.
PROCESS AFTER INPUT. CHAIN. FIELD <campo1>, <campo2> ... < campo n> Module Verifica_Campo ON CHAIN-INPUT. ENDCHAIN.
150
- Dentro do bloco CHAIN, voc deve usar o ON CHAIN-INPUT, o module ento chamado se o contedo de uma das telas foi alterado do valor inicial.
PROCESS AFTER INPUT. CHAIN. FIELD <campo1>, <campo2> ... < campo n> Module Verifica_Campo ON CHAIN-INPUT. ENDCHAIN.
150
by BBKO Consulting
105
Academia SAP/ABAP R3
- Dentro do bloco CHAIN, voc deve usar o ON CHAIN-REQUEST, o module ento chamado se o usurio alterou o contedo de um dos campos dentro do bloco CHAIN.
PROCESS AFTER INPUT. CHAIN. FIELD <campo1>, <campo2> ... < campo n> Module Verifica_Campo ON CHAIN-REQUEST. ENDCHAIN.
151
Module EXIT Input. Case ok_code. when CANCEL. clear ok_code. leave to screen 0. when EXIT. leave program. Endcase. Endmodule.
152
by BBKO Consulting
106
Academia SAP/ABAP R3
153
- Crie o seu programa (ABAP Module Pool) no Development Workbench (SE80) seguindo a regra de nomenclatura abaixo: O nome dever iniciar com as letras SAP. A quarta posio do nome do programa dever ser sempre M (Module Pool). A quinta posio, no caso de programas customizveis dever ser Z ou Y, (como nos programas reports, iniciados obrigatoriamente com essas letras). Escolha a opo TOP Include, pois desta forma, ser criado o include que ser utilizado para a declarao dos dados globais. Se voc utilizar os includes, o sistema automaticamente sugerir os nomes para eles, seguindo uma regra particular, de acordo com o nome do programa principal (module pool) e com um determinado sufixo, o qual facilitar a sua identificao dentro do programa. Exemplo: O nome do TOP Include para um programa Module Pool cujo nome SAPMZSD001 ser MZSD001TOP.
by BBKO Consulting
107
Academia SAP/ABAP R3
154
-Nos atributos do programa, voc define o Ttulo, categoria e a aplicao. Categoria Module Pool e Aplicao BASE
by BBKO Consulting
108
Academia SAP/ABAP R3
155
- Criar tela no Dialog Program: Posicionar o cursor no nome do programa e clicar o boto direto do mouse
by BBKO Consulting
109
Academia SAP/ABAP R3
156
by BBKO Consulting
110
Academia SAP/ABAP R3
157
- Nos atributos da tela, digitar a descrio da tela. - Escolha a opo NORMAL, e especifique o nmero da prxima tela (se necessrio, no momento da execuo, o sistema desviar para o nmero da tela indicado nesse campo, caso esteja preenchido).
by BBKO Consulting
111
Academia SAP/ABAP R3
158
- Para desenhar telas, utilize o Screen Painter. - A interface do Screen Painter Grfico contm funes easy-to-use para definio de diversos elementos da tela (ex: campos de entrada/sada, labels, boxes, botes, etc). Voc escolhe cada elemento e os posiciona na tela utilizando o mouse. - Para deletar elementos da tela, necessrio selecionar cada elemento com o mouse (foco) e pressionar delete. - possvel tambm mover os elementos grficos pela tela, somente clicando e arrastando o mesmo. -Na tela acima para digitar a constante Cdigo do Funcionrio utilizamos o cone e digitamos esta literal no campo da barra de e
by BBKO Consulting
112
Academia SAP/ABAP R3
159
-Duplo click no campo varivel e ento aparece a janela de atributos do campo, no nome do campo, foi digitado o nome de uma tabela e campo, ento digita enter e aparece uma pergunta se este campo est associado ao Dicionrio. - No nosso exemplo este campo est associado ao dicionrio, atravs desta table ZFUNC01. - No esquecer de ativar a tela.
by BBKO Consulting
113
Academia SAP/ABAP R3
160
- No processamento do dilogo, os dados so passados entre as telas e programas ABAP durante a execuo. O sistema efetua a comunicao automaticamente, mas necessrio que seja utilizado o nome idntico dos campos nas telas e no module pool. - Defina os dados globais no TOP include. Para que todas as telas possam enxerg-lo.
by BBKO Consulting
114
Academia SAP/ABAP R3
161
-Observe no exemplo acima que clicando na tela 100, aparece o fluxo lgico da tela 0100 (PBO e PAI). - Os modules esto comentados, caso utilize, tirar os comentrios e os modules sero criados em includes. - Durante o processo de criao dos mdulos PAI e/ou PBO, voc pode associ-los aos includes desejados ou deixar que o sistema automaticamente faa isto por voc. Neste caso os mdulos no PBO sero criados nos includes com o sufixo I01 (xxxxxI01), e os do PAI, nos includes com sufixo O01 (xxxxxO01). - Nos Flow Logics no so permitidos palavras reservadas (IF, PERFORM, WHILE etc) da mesma forma em que so permitidos nos programas. O Flow Logic, embora se parea muito com o programa (o editor o mesmo), no tem o mesmo comportamento. Ele usado basicamente para ordenar o processamento da tela, e para isso so criados os MODULES, que tm uma funo anloga do PERFORM. - Para criarmos um MODULE, escreva o seu nome no flow logic no lugar desejado e efetue um double-click. O sistema criar uma sub-rotina iniciando com MODULE <nome> e terminando com ENDMODULE no include apropriado. Isto pode ser facilmente observado efetuando uma navegao pelo include. - Se no existirem includes, o sistema poder criar um (se voc permitir) ou poder incluir a sub-rotina no programa principal (o que alis, no recomendado).
by BBKO Consulting
115
Academia SAP/ABAP R3
-Tirar das linhas o comentrio e atribuir algum cdigo ao GUI status e ao GUI title, no exemplo acima foi atribudo o 0100.
162
163
by BBKO Consulting
116
Academia SAP/ABAP R3
168
- Usa-se o Menu Painter para definir funes na tela em um status particular e associ-los a um apropriado menu, a saber: menu bar, standard toolbar e application toolbar. - Pode-se tambm definir um ttulo para a tela. - Em geral, define-se um menu bar para cada dialog program e associa-se esse menu bar a um status. Para todos os status, define-se qual funo estar ativa/inativa. - Cada alterao nos status (menus) deve ser seguida de uma re-gerao da tela completa. - Para associar um status e um ttulo a uma tela, isto deve ser feito no seu PBO, usando o comando SET PF-STATUS e SET TITLEBAR, respectivamente.
by BBKO Consulting
117
Academia SAP/ABAP R3
165
166
by BBKO Consulting
118
Academia SAP/ABAP R3
167
-Voc pode criar botes associados aos Cdigos criados na Barra de Menu ou no. - Quando cria botes, voc pode associar a uma tecla de funo
by BBKO Consulting
119
Academia SAP/ABAP R3
168
-Voc pode usar at nove variveis no ttulo. Veja abaixo o Module chamando o titlebar CONS passando a varivel cdigo do funcionrio.
by BBKO Consulting
120
Academia SAP/ABAP R3
169
by BBKO Consulting
121
Academia SAP/ABAP R3
169
by BBKO Consulting
122
Academia SAP/ABAP R3
170
-Segue
by BBKO Consulting
123
Academia SAP/ABAP R3
170
-Segue
by BBKO Consulting
124
Academia SAP/ABAP R3
171
172
by BBKO Consulting
125
Academia SAP/ABAP R3
173
- Para executar programa tipo M (Module Pool) voc deve criar pelo menos uma transao.
by BBKO Consulting
126
Academia SAP/ABAP R3
174
175
by BBKO Consulting
127
Academia SAP/ABAP R3
by BBKO Consulting
128
Academia SAP/ABAP R3
Note: Na verso 3.0, a Graphical Screen Painter suportada pelo Windows NT, Windows 9x e UNIX. Se voc est usando outro sistema operacional, voc usa a Alphanumeric Screen Painter.
by BBKO Consulting
129
Academia SAP/ABAP R3
H seis visualizaes de listas de campos para manuteno dos atributos dos campos da tela. Alternativamente, voc pode defini-los de uma das listas. Manuteno de atributos para um campo tambm possvel no fullscreen editor. Voc pode descobrir o correspondente do tipo de dado externo para o tipo de dado interno (ex.: tipos de dados ABAP/4) pela referida documentao da palavra chave TABLES no ABAP/4. Exemplos so os seguintes: Tipo de dados do dicionrio ABAP/4 CHAR NUMC Tipo de dados no ABAP/4 C N
Voc especifica a definio de seus Mdulos de comandos na lgica do fluxo. Se voc escolhe um mdulo com duplo clique, o sistema cria os comandos adequados MODULE ... ENDMODULE no programa include apropriado. Este conhecido como navegao adiantada. Se no existe o programa include, o sistema criar um se voc permitir. Ele tambm insere um comando INCLUDE no programa principal.
Os comandos do ABAP/4 do MODULE para PBO contm uma adio OUTPUT, quando os comandos do mdulo for do mdulo PAI contm uma adio INPUT.
by BBKO Consulting
130
Academia SAP/ABAP R3
OU GLOBAL DATA
DATA: ... .
No processamento de dilogo, o dado passado entre as telas e o processamento do programa ABAP/4. O sistema executa esta comunicao automaticamente, mas voc deve usar nomes idnticos nas telas e no MODULE POOL. Defina os campos relevantes como dados globais no programa include TOP. Para fazer isso, voc processa o programa include como um todo ou relacionando sees de dados globais ou estruturas do Dicionrio. Mesmo que, o programa include TOP est implicitamente no controle.
Voc pode iniciar um programa de dilogo ABAP/4 (transao) com um especfico cdigo de transao. Tansaes customizadas devem comear com Z ou Y. O sistema cria suas especificaes na tabela TSTC (ao invs de criar uma transao na lista de objetos, voc pode dar manuteno na tabela voc mesmo)
by BBKO Consulting
131
Academia SAP/ABAP R3
Uma chave estrangeira executada somente se um campo da tela se referir a um campo do Dicionrio pela qual a checagem da tabela tem de estar definida e o atributo apropriado tem de estar selecionado. Em algum momento, a funcionalidade F4 ativada. Isso significa que possvel a entrada de dados para um campo. Ex.: a chave de valores da tabela de checagem so apresentadas.
Se voc quer checar valores de entrada no MODULE POOL e iniciar um dilogo de erro de um resultado negativo, voc usa o comando FIELD com a adio MODULE. Isto significa que o relevante mdulo executado somente para o campo especificado no comando FIELD. Se o mdulo resulta numa mensagem de erro (E) ou warning (W), a tela reapresentada sem o processamento dos mdulos PBO. O texto da mensagem apresentado e somente o campo checado por este mdulo apresentado para entrada de dados novamente. Note que somente o comando FIELD responsvel por fazer a leitura do campo para entrada novamente. Se voc formular uma mensagem num mdulo sem chamar o mdulo no comando FIELD, a mensagem apresentada, mas o campo no lido para entrada de dados novamente.
by BBKO Consulting
132
Academia SAP/ABAP R3
Definindo a Interface I
Numa request, o sistema prope valores padres para barra de menu e define a tecla de funo, mas voc pode modificar isso. Barras de menu podem conter at oito menus. Voc pode definir at seis destes, mas os menus System e Help so adicionados automaticamente pelo sistema. Um nico menu contm at 15 entradas, incluindo as funes e suas descries, nomes de submenus e linhas separadoras. Voc poderia especificar tambm todas as funes que so ativadas num status como ativa na barra de menu.
by BBKO Consulting
133
Academia SAP/ABAP R3
Definindo a Interface II
Voc determina as funes ativas que um usurio provavelmente mais precisa no situao atual para a barra de botes. Antes de voc fazer isso, o cdigo de funo deve ser determinado para uma tecla de funo. Voc determina cdigos de funo para teclas de funo pelas entradas destas em Configuraes Recomendadas de Teclas de Funes ou Sees de Teclas de Funo Definidas Livremente . O sistema automaticamente define as teclas de funo no padro barra de ferramentas para teclas de funo especial.
O sistema define automaticamente cdigos de funo que voc define na barra de ferramentas padro para teclas de funo especial. Para descobrir quais definies aplicadas para as funes no status atual, clique no termo Barra de Ferramentas Padro.
by BBKO Consulting
134