Sie sind auf Seite 1von 12

Workshop para desenvolvedores ABAP/4

EXERCCIOS: INTRODUO AO ABAP: OBS: Onde estiver <TT> substituir pela turma colocar o nmero do seu grupo. 03 e onde estiver XX

1. Criar um programa: Z<TT>CALCULADORA<XX>, que efetuar as operaes bsicas da matemtica: Tela de Seleo ter: Parmetro nico: 1 nmero [ Parmetro nico: Sinal [ Parmetro nico: 2 nmero [ ] NUMC 10 ] - CHAR 1 ] - NUNC 10

Caso o sinal seja + efetuar uma adio dos parmetros nmero. Caso o sinal seja - efetuar uma subtrao dos parmetros nmero. Caso o sinal seja * efetuar uma multiplicao dos parmetros nmero. Caso o sinal seja / efetuar uma diviso dos parmetros nmero. Mostrar em tela o resultado da operao. Tratar quando os casos de diviso por zero, mostrar mensagem de impossibilidade de efetuar a conta. Colocar os campos da tela de seleo como preenchimento obrigatrio. Tratar quando o usurio entrar com um sinal diferente dos permitidos mostrando-lhe uma mensagem e permitindo ele mudar o sinal. Colocar como valor default no sinal +. Mostrar o resultado em tela na cor vermelha.

Workshop para desenvolvedores ABAP/4

EXERCCIOS: DICIONRIO DE DADOS 1) Criar uma Tabela (SE11), com o nome Z<TT>CURSOXX e com os seguintes atributos: a. Development class: Z001 b. Delivery class: A c. Data Class: APPL0 d. Size category: 0 e. Campos: CAMPO MANDT MATNR WERKS MODEL SERIA CORMA DATA ELEMENT MANDT MATNR BWKEY ZMODELXX ZSERIAXX ZCORMAXX CHECK TABLE T001K CHAVE SIM SIM SIM

2) Criar os Data elements: DATA ELEMENT DOMAIN ZMODELXX CHAR18 ZSERIAXX ZSERIAXX ZCORMAXX ZCORMAXX 3) Criar os dominios DOMINIO ZSERIAXX ZCORMAXX TYPE CHAR NUMC

TEXTO Modelo do Material Nmero de Srie Cor do Material TAMANHO 22 02

a. Acrescentar no domnio ZCORMAXX os seguintes valores fixos: 01 Azul 02 Vermelho 03 Preto 04 Branco 05 Verde 06 Amarelo 07 Marrom 08 Laranja

4) Criar um Grupo de funes para manuteno da tabela chamado Z<TT>CURSOXX e texto = Grupo de funes do curso Dicionrio. (SE80 ou SE54).

Workshop para desenvolvedores ABAP/4

5) Criar programa para manuteno da tabela Z<TT>CURSOXX. a. Autorization group: &NC& b. Function Group: ZCURSOXX c. Marcar One Step. d. Overview Screen= 0900. 6) Criar dados na tabela ZCURSOXX pela transao SM30 7) Criar transao Z<TT>CURSOXX via transap SE93. a. Texto: Trasao para manter tabela b. Marcar transaction with parameters. c. Transao = SM30 d. Marcar SKIP initial screen. e. Value: VIEW_NAME = ZCURSOXX , f. Value: UPDATE = X.

Workshop para desenvolvedores ABAP/4

EXERCCIOS: OPEN SQL 8) Criar o programa Z<TT>_SELECTXX que: a. Tenha como parmetro nico de seleo e obrigatrio Material [ ] like zcursoxx-matnr. b. Selecionar a cor do material na tabela ZCURSOXX, campo CORMA, quando o MATNR for igual ao parmetro de seleo e o campo WERKS for igual a 0001. c. Se o material for encontrado na seleo acima, mostrar na tela a seguinte frase: O material <matnr> tem a cor <corma>, sendo que os textos fixos tero fundo azul e as variveis fundo vermelho. d. Incluir tambm nos campos obtidos: o modelo e o nmero de srie, colocando na linha de baixo da frase acima da seguinte forma: Modelo: <modelo> e Nmero de Srie: <nunser>. e. Caso o material no seja encontrado na seleo, mostrar uma mensagem dizendo: Material no encontrado na tabela. e voltar para tela de seleo. f. Colocar um cabealho no programa a seu critrio. g. Mostrar na tela o usurio que rodou o programa, a data e a hora de execuo e o nome do programa. (tabela SYST). 9) Criar o programa Lista de Materiais : ZLISTA_DE_MATERIAISXX que. a. Tenha a seguinte tela de seleo: Material [ ] at [ ] Cor [ ] b. Acesse a tabela de detalhes de materiais Z<TT>CURSOXX, e obtenha os dados necessrios para gerar a lista de acordo com o layout abaixo, obtendo apenas os registros que satisfaam a tela de seleo. c. No utilizar no select a instruo into table e sim select com endselect. d. Na instruo into carregar os valores dentro de um registro e no dentro de variveis. e. Mostrar uma lista da seguinte maneira: Lista de Materiais e seus Detalhes Data: <datum> Usurio: <uname> Hora: <uzeit> Material Planta Computador 0001 Modelo XP 2000 Serial Cor 123456789 Branco

Workshop para desenvolvedores ABAP/4

Teclado 0001 2,4 G 123789456 Preto Mouse 0001 2,0 G 256 789456132 Azul ..... ..... Mostrar todas as linhas selecionadas. Total de Materiais Selecionados: 3 f. Como mostra o layout, contar a quantidade de registros e mostrar no final da lista. g. Cores: As colunas Material e Planta devero ter fundo vermelho, as outras fundo verde, a linha total dever estar em amarelo e o cabealho todo em azul. h. Caso no seja encontrado nenhum registro, mostrar uma mensagem. 10)Criar uma nova tabela com os textos do material: Z<TT>TEXTOXX Campo MANDT MATNR TEXTO Elemento de Dados MANDT MATNR ZTEXTO Observao Dom. ZTEXTO CHAR / 40

a. Os outros dados tcnicos e atributos devero ser igual a tabela ZCURSO. b. Criar grp funes, programa de manuteno e transao para tabela. c. Incluir Dados para todos os materiais existentes na tab ZCURSO a sua correspondente descrio. 11) Alterar o programa Z<TT>LISTA_DE_MATERIAISXX, incluindo a descrio do material (TEXTO) da tabela Z<TT>TEXTOXX, ficando o layout da seguinte maneira ...........manter cabec Material Descrio Planta Modelo Serial Cor Computador Micro DELL 0001 XP 2000 123456789 Branco Teclado DELL ABNT PT 0001 2,4 G 123789456 Preto Mouse GENIALS SCROLL 0001 2,0 G 256 789456132 Azul ..........manter total a. Colocar a descrio na cor do seu gosto b. Continuar usando o SELECT com ENDSELECT na tabela ZCURSOXX c. E para cada registro encontrado nessa tabela acessar a tabela ZTEXTOXX, con um SELECT SINGLE para obter o campo TEXTO, jogando dentro de uma varivel que ser mostrada no relatrio. d. Utilizar a maior quantidade de variaes do comando WRITE.

Workshop para desenvolvedores ABAP/4

OBS: Usar a imaginao e criar outros selects, apenas ainda no utilize o conceito de tabela interna (INTO TABLE e APPENDING TABLE), exemplos: utilize o select *, o senect count, faa uma cpia do programa LISTA DE MATERIAIS e utilize o INNER JOIN no lugar de dois selects se der tempo. EXERCCIOS: TABELA INTERNA e REPORT 12) Criar o programa Z<TT>_CURSO_TABELA_INTERNAXX, da seguinte maneira: a. Tela de Seleo: Companhia area ( ) at ( ) -> LIKE SPFLICARRID Conexo ( ) at ( ) -> LIKE SPFLICONNID b. Selecionar todas as conexes da tabela SPFLI de acordo com a tela de seleo, obter todos os campos e jogar dentro de uma tabela interna (T_SPFLI) com o INTO TABLE, que dever ser criada com a mesma estrutura da tabela SPFLI. c. Caso seja encontrado algum registro, partindo da tabela interna fazer um LOOP e mostrar a lista de registros obtidos de acordo com um layout a seu gosto. d. Caso no seja encontrado mostrar mensagem de no encontrado. 13) Desenvolver um programa Z_EXC_REP_1_AL## que mostre os cdigos dos Materiais, os tipos e o centro. Ordenar a exibio por centro, tipo e material Tabelas: MARA MARC

Opcional: fazer a quebra do relatrio por centro (Pode-se usar os seguintes comandos para fazer isso: ON CHANGE, AT END ou AT NEW. Ateno s peculiaridades de cada comando) Ao clicar sobre a linha do material, chamar a transao de exibio de materiais para que o usurio possa ver detalhes do mesmo (utilizar o comando AT LINE-SELECTION e o comando HIDE. Leia o Help desses comandos). Inserir a descrio do Material campo MAKTX da tabela MAKT

Workshop para desenvolvedores ABAP/4

14)Copiar o relatrio acima para um novo programa Z<TT>_CURSO_QUEBRAXX. a. Mudar somente a forma de exibio, fazendo quebra por companhia area (campo CARRID). b. Mostrar na quebra o cdigo da companhia e o seu texto, obter o texto na tabela SCARR, obter o campo SCARRNAME quando CARRID = SPFLI-CARRID. Exemplo do layout: Companhia area: LH Lufthansa do Brasil 400 + todos os dados da conexo 401 + todos os dados da conexo 402 + todos os dados da conexo 403 + todos os dados da conexo 404 + todos os dados da conexo Companhia area: AA Amrica Airlines 505 + todos os dados da conexo 506 + todos os dados da conexo 507 + todos os dados da conexo 15)Copiar o relatrio Z<TT>_CURSO_TABELA_INTERNAXX, para um novo programa Z<TT>_CURSO_FOR_ALLXX. a. Incluir na tela de seleo o campo Data do voo: Data ( ) at ( ) -> LIKE SFLIGHT-FLDATE b. Para cada conexo da tabela SPFLI armazenada na tabela interna T_SPFLI, buscar os dados de vos na tabela SFLIGHT, obter todos os campos desta tabela e mostrar todos no relatrio de acordo com layout abaixo, quando CARRID = T_SPFLI-CARRID e CONNID = T_SPFLICONNID e FLDATE IN <data da tela de seleo>, utilizar a clausula INTO TABLE e FOR ALL ENTRIES, guardar os dados obtidos na tabela T_SFLIGHT (criada com a mesma estrutura da tabela SFLIGHT). c. Layout do relatrio: Para cada registro de conexo obtido na tabela SPFLI, mostrar os seus vos existentes para aquela conexo e todos os dados d. Gerar o Arquivo Excel com os dados obtidos, colocar o caminho na tele de seleo para ser informado pelo usurio. Estrutura do Layout: Dados da conexo (obtidos na tabela SPFLI) Voos para a conexo (obtidos na SFLIGHT). Exemplo de Dados:

Workshop para desenvolvedores ABAP/4

AA 0017 + todos os dados da conexo SPFLI 28.12.1995 + todos os dados da S_FLIGHT 28.12.1996 + todos os dados da S_FLIGHT 28.12.1997 + todos os dados da S_FLIGHT 28.12.1998 + todos os dados da S_FLIGHT Total de voos desta conexo: 4 AA 0018 + todos os dados da conexo SPFLI 28.12.1999 + todos os dados da S_FLIGHT Total de voos desta conexo: 1 LH 0450 + todos os dados da conexo SPFLI 28.12.2000 + todos os dados da S_FLIGHT 28.12.2001 + todos os dados da S_FLIGHT 28.12.2002 + todos os dados da S_FLIGHT Total de voos desta conexo: 3 Total Geral de Vos de todas as conexes: 8

16) PLUS : Fazer um novo programa igual ao exercicio 14, s que ao invs de utilizar dois selects com FOR ALL ENTRIES, utilizar um nico select com INTO TABLE e utilizando o INNER JOIN entre a tabela SPFLI e SFLIGHT e as mesmas condies da tela de seleo. EXERCCIOS: BATCH INPUT / CALL TRANSACTION 17) Criar o programa Z<TT>CALLTRANSACTIONXX que ir efetuar entrada de dados na transao MM01. Entrar na transao MM01 ver as vises de Dados Bsicos 1 e 2 , dados de vendas 1 e 2, estudar os campos obrigatrios para preenchimento da SHDB. Criar um registro na transao SHDB, efetuando a entrada de dados na transao MM01. Estudar a gravao feita gerar arquivo de teste para ser usado no programa. Codificar o programa de Call Transaction, utilizando as tcnicas aprendidas, subindo o arquivo texto on-line.

18) PLUS: Criar um programa cpia do anterior utilizando o mtodo de carga BATCH INPUT.

Workshop para desenvolvedores ABAP/4

EXERCCIOS: MODULE POOL 19) Criar um programa de tela chamado SAPMZ<TT>TELAS<XX>, da seguinte maneira: Criar uma tela de entrada de dados iniciais (0100), com o seguinte formato e botes.

Workshop para desenvolvedores ABAP/4

10

Ao clicar no boto Enter, o programa dever efetuar um select nas tabelas SPFLI e SFLIGHT, e mostrar uma nova tela com o valor do vo.

Ao clicar em BACK em qualquer tela o sistema dever voltar para a tela anterior, caso seja a primeira sair do programa. Ao Clicar em Change-Display, o programa dever fechar e abrir para alterao os campos da tela.

Ao Clicar em Detalhe...., abrir uma nova tela com os dados adicionais conforme abaixo:

Workshop para desenvolvedores ABAP/4

11

Caso o select dos dados necessrios na prxima tela no encontrar nenhum registro, mostrar mensagem e continuar na mesma tela. PLUS: Na primeira tela ativar o boto Table Control que ir chamar uma nova tela conforme abaixo, utilizando a ferramenta table control.

EXERCCIOS: SAPSCRIPT

Workshop para desenvolvedores ABAP/4

12

Das könnte Ihnen auch gefallen