Vous êtes sur la page 1sur 107

CENTRO DE EDUCAO COMPLEX

Treinamento: Metodologia ABAP

Agosto/2007

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 2

Informaes sobre o Documento


Ttulo do Documento: Nome do Arquivo: Verso: Criado por: Criado em: Apostila de Metodologia ABAP CURSO_ABAP.doc 001 Andr Scapucin Sorpreso ---

Revises
Autor Felipe F. Goes Data 22.08.2007 Comentrio Reviso Geral

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 3

SUMRIO
DEFINIO BSICA R/3 - SAP.....................................................................................................................................6 PRINCIPAIS CARACTERSTICAS...............................................................................................................................7 CONCEITOS......................................................................................................................................................................9 NAVEGAO BASICA.................................................................................................................................................12 FERRAMENTAS ABAP/4 WORKBENCH.................................................................................................................14 DICIONRIO DE DADOS.............................................................................................................................................14 DATA BROWSE OU TABLE CONTENTS.................................................................................................................16 EDITOR ABAP/4.............................................................................................................................................................18 CRIAO DE PROGRAMAS NOVOS.......................................................................................................................20 PROGRAMAO...........................................................................................................................................................22 ELEMENTOS DE TEXTO.............................................................................................................................................27 EVENTOS........................................................................................................................................................................29 TABELAS INTERNAS...................................................................................................................................................33 TABELA SYST (SY).......................................................................................................................................................37 ............................................................................................................................................................................................38 REPORTS.........................................................................................................................................................................39 REPORTS INTERATIVOS............................................................................................................................................40 BATCH INPUT................................................................................................................................................................42 GERAO DE ARQUIVO TEXTO.............................................................................................................................45 SUBROTINAS POOL.....................................................................................................................................................47 COMANDOS EXTERNOS.............................................................................................................................................48

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 4 GRFICOS......................................................................................................................................................................49 BIBLIOTECA DE FUNES........................................................................................................................................51 MENU PAINTER............................................................................................................................................................53 JOBS..................................................................................................................................................................................55 DEBUGGING...................................................................................................................................................................57 TRANSPORTES E REQUESTS....................................................................................................................................58 NOES DE MODULE POOL.....................................................................................................................................60 TRANSAES................................................................................................................................................................62 AUTORIZAES...........................................................................................................................................................63 USER-EXITS....................................................................................................................................................................64 NOES DE SAPSCRIPT.............................................................................................................................................66 ADMINISTRAO / MONITORAMENTO...............................................................................................................69 PROJETO FINAL...........................................................................................................................................................70 PROGRAMA: ZCX00001...............................................................................................................................................71 PROGRAMA: ZCX00002...............................................................................................................................................73 PROGRAMA: ZCX00003...............................................................................................................................................76 PROGRAMA: ZCX00004...............................................................................................................................................80 PROGRAMA: ZCX00005...............................................................................................................................................86 PROGRAMA: ZCX00006...............................................................................................................................................88 PROGRAMA: ZCX00007...............................................................................................................................................91 PROGRAMA: ZCX00009...............................................................................................................................................94 PROGRAMA: ZCX00012...............................................................................................................................................98 PRINCIPAIS TABELAS GENRICAS......................................................................................................................101 PRINCIPAIS TABELAS MM & PP............................................................................................................................102

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 5 PRINCIPAIS TABELAS FI & CO..............................................................................................................................103 PRINCIPAIS TABELAS SD........................................................................................................................................104

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 6

DEFINIO BSICA R/3 - SAP

Trata-se de um software integrado de gesto empresarial, o qual atende a maioria dos setores (Industrial, Revenda, Bancrio, etc.). Por muitos, confundido como SAP, o software chama-se R/3, sendo SAP o nome da empresa alem a qual o desenvolveu. Inicialmente esteve voltado para plataformas de grande porte ( R/2 ), sendo que a maioria das implantaes atualmente se do em ambientes UNIX ou Windows Server (NT), com front end em Windows. O ambiente de desenvolvimento e a linguagem de programao chamam-se ABAP, tambm conhecido at o release 3.0F como ABAP/4. Essa uma linguagem exclusiva do software R/3, a qual interpreta os comandos e os converte quando necessrio em comandos 1SQL (padro de extrao de Bancos de Dados). Sendo assim, o R/3 pode ser implementado com qualquer Banco de Dados padro SQL (na maioria dos casos ORACLE, INFORMIX, SYBASE, DB2, etc.), convertendo desde os comandos de extrao at comandos de criao de base de dados. O banco de dados completamente transparente para o desenvolvedor.

O sistema R/3 utiliza sua prpria sintaxe de comando SQL, essa sintaxe muito parecida com a sintaxe original, utilizadas em muitos

bancos de dados.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 7

PRINCIPAIS CARACTERSTICAS

Por ser um software integrado e de grande complexidade, esse sistema divido em mdulos, onde todos esses mdulos so dependentes. Existe a necessidade de se conhecer um pouco de cada mdulo para se domin-lo ( tanto para usurios finais, como para desenvolvedores). Os principais mdulos so: Sigla MM PP SD FI CO PM HR Descrio Gerenciamento de Materiais Planejamento de Produo Vendas e Distribuio Contabilidade Controladoria Manuteno Recursos Humanos e Folha de Pagamento

O SAP R/3 um sistema transacional e possui um grande controle para sua segurana, a qual trabalha por nvel de perfis de usurios com transaes pr-definidas para utilizao. Permite a customizao via 2USER-EXITS, nas quais so pr-existentes em alguns programas, podendo ou no ser acionadas pelo cliente, no gerando re-trabalho na poca de upgrades. Exige-se normalmente dos profissionais de desenvolvimento, uma metodologia de trabalho e documentao muito parecida com a poca dos sistemas de grande porte. Todos os sistemas desenvolvidos pela SAP, recomendando, trabalhar-se com no mnimo dois servidores, uma para desenvolvimento e uma para produo, mantendo sempre a integridade dos programas e das parametrizaes, via transporte (Requests).
2

Interfaces disponibilizadas pela SAP para interao junto a programas standard.

O ABAP possui grande abertura no que tange a comunicaes, entre aplicativos OLE, e at mesmo com outras linguagens tipo Visual Basic, C++,.NET, Java etc. Atualmente a grande novidade a nvel de comunicao do R/3 com o mundo externo, so as BAPIs ( Business Aplication Programing Interface ), a orientao a objetos do ABAP, e as ferramentas do 3SAP Netweaver.
Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 8

Nova plataforma de desenvolvimento SAP voltado para a integrao de processos, informaes e pessoas. (ESA Arquitetura de

Servios Empresariais).

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 9

CONCEITOS

MANDANTE Em um mesmo servidor pode-se ter mais de um mandante (tambm conhecido como client) com o R/3. Trata-se de uma diviso lgica de informaes, num mesmo espao fsico, com o tempo ir se perceber que muitas coisas so dependentes de mandantes e outras no. Por exemplo, o primeiro campo de 95 % das tabelas o campo mandante, logo, quando nos logamos em um mandante n, no iremos acessar as informaes desta tabela armazenadas para em um mandante n+1. Por outro lado os programas desenvolvidos em um mesmo servidor iro estar disponveis para todos os mandantes. TRANSAO So cdigos alfanumricos, os quais esto relacionados com programas on-line (relatrios, batch input, gerao de arquivo texto etc.), mdulos de dilogo ou sub-menus. Alm de agilizar a chegada ao programa pretendido, so a base para a montagem dos perfis de usurios finais. (Uma vez dominadas, muitas pessoas acabam digitando a transao ao invs de percorrer o menu). ABAP WORKBENCH (Transao S001) Ambiente de desenvolvimento, onde se faz a manuteno em dicionrios de dados, programas, funes, Menus, etc. ABAP (Advanced Business Application Programming) IMG ou CUSTOMIZING Parametrizao bsica de todo o ambiente funcional do SAP, como Empresas, Estruturas de Empreendimentos, Plantas das Fbricas, Bancos, Moedas, etc. CLASSE DE DESENVOLVIMENTO Ou development Class, trata-se da forma a qual o programa, o dicionrio de dados, a transao etc. sero gravadas para o R/3, ou seja, normalmente sugere-se ger-los em Objeto Local ($TMP), para futuramente (aps a realizao dos testes) desloc-los para uma classe de desenvolvimento que possibilite o transporte deste objeto para outros servidores. REQUEST Sempre que um objeto estiver em uma classe de desenvolvimento diferente de $TMP, todas as alteraes destes objetos precisaro de uma request, na qual, posteriormente sero transportados para outros servidores mantendo-se assim a integridade.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 10 PROGRAMAS ON-LINE Trata-se dos programas de manipulao de dados, na maioria das vezes somente para extrao em arquivo texto, ou relatrio. Tambm podem ser programas on-line, Batch Inputs e principalmente divergem dos mdulos de dilogo (Mdulo Pool). MODULE POOL a grande maioria de programas que manipulam telas e fazem manuteno de dados (Standard) tipo Incluso, Alterao e Excluso. Possui alguns conceitos novos tipo PBO e PAI, os quais sero explanados mais adiante. BATCH INPUT So programas que executam de forma automtica algumas funes em transaes standard. Por exemplo, criar um documento atravs de um arquivo texto.. VARIANTES So valores fixo pr-definidos, para qualquer tela de seleo de parmetros de programas, ou seja, quando um usurio sempre informa os mesmos dados pode-se criar uma variante. A variante difere do perfil de usurio Manuteno de dados, o qual fixa dados para qualquer tela, para um usurio.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 11 STATUS Indica qual a transao, nome do programa, tela e outras informaes, a qual o processo em questo se refere. CLASSE DE MENSAGENS Diviso fsica das mensagens de erros e/ou sucessos para os diversos mdulos e suas subdivises. ANLISE DE DUMPS Normalmente so gerados dumps, quando se ocorre um erro no previsto, tipo Zero Divide. Caminho para anlise de dumps gerados: Ferramentas Administrao Monitoramento

Anlise Dump, ou transao ST22.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 12

NAVEGAO BASICA

Duplo clique no cone abaixo:

Aparecer a seguinte tela para LOGIN:

Deve-se informar o Mandante, Usurio, Senha e o Idioma desejado. Para alterar a senha informar os mesmos dados e clicar Nova Senha.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 13 A tela seguinte ser o Menu Principal do R/3: (Neste Menu esto todos os Mdulos Funcionais e mais o ambiente de desenvolvimentos: Ferramentas ABAP/4 Workbench).

Consultar navegao Bsica em Ajuda Ampliada, Working With R/3, Getting Started with R/3, Learning the basics.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 14

FERRAMENTAS ABAP/4 WORKBENCH

DICIONRIO DE DADOS

Caminho: Ferramentas ABAP/4 Workbench Dictionary. (Transao: SE11) Este o ambiente de dicionrio de dados, display, criao e alterao de tabelas, e principalmente pela ferramenta de Data Browse Utilitrios Table contents (Tambm disponvel na transao SE16). Escolha display de uma tabela qualquer, por exemplo, T001W (Tabela de Centros), para uma familiarizao com alguns conceitos. (Trata-se de uma tabela de 57 campos, dependente de mandante, com a chave primria de um s campo WERKS).

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 15 Existe muitas funcionalidades no ABAP/4, com duplos cliques, por exemplo, dando duplo clique no DATA ELEMENT (Elemento de dados) NAME1, similar a voltar uma tela escolher o radio buttons Elemento de Dados com o nome NAME1. Podemos tambm navegar pelas tabelas que possuem chave estrangeira da tabela que estamos. No caso a T001W, possui chave estrangeira somente da tabela T000 ( Tabela de Mandantes ). DATA ELEMENT Trata-se de uma referncia a qual pode ser a mesma para diferentes campos de diferentes tabelas, onde se define labels (curtos e longos) para o campo, e principalmente referenciando a um domnio. (DOMAIN). DOMAIN Trata-se como o prprio nome diz do domnio da informao que este campo pode conter. Este domnio pode ser de outra tabela ou um domnio fixo.

____________________________________________________________________________________

Exerccio:
Criar uma Tabela Transparente, com o nome ZTAB1_XX, na classe de desenvolvimento $TMP (Objeto Local), onde XX o nmero do aluno, com os seguintes campos: PK X CAMPO _CODIGO _NOME TIPO NUMRICO CARACTERE TAMANHO 3 30

OBS.: Ser necessrio criar dois Data Elements e dois Domains. Ateno para o campo Mandante (MANDT), para Chaves Externas, Parmetros Tcnicos e ndice Primrio. Indicar Delivery class C e Tab.Maint.Allowed = . A nomenclatura dos Data Elements devero ser ZEL99_XX e dos Domains devero ser ZDM99_XX, onde 99 um nmero sequencial e XX o nmero do aluno.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 16

DATA BROWSE ou TABLE CONTENTS

Ferramenta de visualizao de dados das tabelas da base de dados. Esta operao tambm pode ser realizada pela transao SE16.

____________________________________________________________________________________

Exerccio:
Verificar para a Tabela T001W, o contedo dos registros. No menu principal entrar em Utilitrios Table Contents (do Dicionrio). Perceber que o Data Browse solicita o campo WERKS, por este fazer parte da chave primria e repare que no pede Mandante.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 17 OBS.: Verificar o Nmero mximo de registros, Legenda de cores, Seleo de coluna, ordenao e parmetros do usurio (Tela de seleo e tela de resultado). Montar um programa de manuteno na tabela gerada no exerccio do captulo anterior: Dicionrio Enviroment tab.Main.Generator. Informar o grupo de funes ZACADEMIA_ABAP, autorizao &NC&, one step e procurar tela para sntese. Aps a criao executar transao SM30.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 18

EDITOR ABAP/4

Transao SE38, ferramenta para desenvolvimento e/ou alterao de programas fontes ON-LINE e eventuais INCLUDES. Normalmente, os programas do tipo MODULE POOL, so manipulados na ferramenta OBJECT BROWSE (transao SE80), porm podem ser visualizados e/ou alterados no EDITOR. Possui o conceito bsico de editores de programas fontes, porm com alguns termos no comuns: 1 - Variantes 2 - Atributos 3 - Documentao 4 - Elementos de Texto

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 19 1 Variantes: So utilizadas por usurios que executam normalmente certo programa, com os mesmos dados de seleo (Parmetros). E tambm so utilizadas para execuo de JOBS. 2 Atributos: So os atributos principais do programas como Data de Criao e ltima Alterao, Ttulo, tipo, status, aplicao, development class entre outras. 3 Documentao: Trata-se da documentao do programa a qual poder ser traduzida para diversos idiomas (Dependendo do Logon, o ABAP/4 encarrega-se de apresentar a respectiva documentao). 4 Elementos de Texto: Podem ser Ttulos e Cabealhos, Textos de Seleo e Smbolos de Textos. (Este tpico ser tratado mais adiante, porm vale lembrar que Elementos de Textos aceitam traduo assim como Documentao).

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 20

CRIAO DE PROGRAMAS NOVOS

Esto disponveis para a montagem do cdigo fonte, trs tipos de modos de edio: PC mode com numerao, PC mode sem numerao e Command Mode (Ambos com Letras Maisculas e Minsculas). Usaremos neste curso o Command Mode, porm a escolha futuramente do Analista-Programador. OBS.: Para se alterar o Modo de Edio, dentro do Editor do cdigo-fonte: Opes Modos de Edio. Qualquer dvida com relao a este tpico, consultar Help Editor. Vale Lembrar que para acessar o Help dentro do Editor, basta posicionar o cursor em cima da palavra desejada e teclar F1, ou informar na linha de comando help (h + palavra desejada). IMPORTANTE: Primeiramente deve-se saber que por padro, tudo que for criado (customizado) pelo cliente da SAP, deve comear pela letra Z ou Y, desde programas, classes de desenvolvimentos, tabelas, estruturas, SapScripts e etc. Logo, usaremos neste curso a seguinte padronizao para Nomenclatura de Programas: ZCXXX99. Onde: XX Identifica o cdigo do aluno 99 Nmero seqencial.

Exerccio:
Criar o primeiro programa, na classe de desenvolvimento $TMP, por enquanto sem cdigo fonte. OBS.: Ateno ao Ttulo, Tipo e Aplicao. Sempre que um Campo possuir o sinal ?, este campo obrigatrio.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 21

Exerccio:
Incluir como cdigo fonte do programa anterior, somente o comando report e o comando WRITE, variando salto de linhas, posicionamento de coluna, cores e boxes.

Exerccio:
Montar um novo programa para display de Cdigo e Nome dos Centros (Tabela: T001W Campos: WERKS, NAME1). Agora devero ser utilizados os comandos: TABLES, DATA e SELECT. Obs.: Tela do relatrio (find, paginao e outros botes).

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 22

PROGRAMAO
Estaremos falando neste tpico de desenvolvimento de programas ON-LINE em ABAP/4 (Linguagem de quarta gerao, orientada a eventos).

COMANDOS Relacionaremos a seguir alguns comandos e conceitos importantes no ABAP, sendo que a totalidade dos comandos e suas sintaxes podem ser encontradas no help. Os comandos relativos a tabelas internas sero tratados mais adiante.

INTRODUCES PROGRAM REPORT REPORT Start of Report

DECLARATIVE KEY WORDS DATA Internal fields, field strings, internal tables, common areas LOCAL Global fields in subroutines TABLES SAP tables PARAMETERS Internal fields set by the user after starting the program SELECT-OPTIONS Selection criterion set by the user for data selection purposes after starting the program

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 23 SELECTION-SCREEN Selection screen layout RANGES Selection criterion handled within the program only

CONTROL KEY WORDS IF..ELSE..ENDIF Conditional processing You can use the following comparison operators here: - EQ, NE, GT, LT, GE, LE - O, Z, M (bit comparison) - CO, CN, CA, NA, CS, NS ,CP, NP (string comparison) - BETWEEN...AND - IS INITIAL - IN - All comparison operators are documented under ==>IF. CHECK Selection condition, leaving loops and subroutines

Comparison operators: ==>IF CASE..WHEN..ENDCASE Case distinction FORM..ENDFORM Defines a subroutine PERFORM.. Calls a subroutine SELECT..ENDSELECT Reads tables (ATAB, database) Comparison operators: ==>IF

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 24 WHILE..ENDWHILE Loop processing Comparison operators: ==>IF DO..ENDDO Loop processing EXIT Leaves loops or subroutines LEAVE Leaves program processing, goes to a transaction, list or menu STOP Exit selection CONTINUE Leaves loops OPERATIONAL KEY WORD ADD CALL CLEAR COMMIT COMPUTE SQRT EXP LO SIN COS CONDENSE DIVIDE FORMAT HIDE INCLUDE MESSAGE Adds fields together Calls a transaction, screen, dialog module or function module Resets to initial value Executes DB changes Compute Square root Exponential function to e Natural logarithm Sine Cosine Compresses a field Divides fields Sets the report output format Notes line-related field contents Inserts a program component Outputs messages

You can use the following functions here:

STRLEN Character string length

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 25 MOVE Moves field contents Moves matching fields of field strings MULTIPLY NEW-PAGE REPLACE RESERVE SEARCH SHIFT SKIP SUBMIT SUBTRACT TRANSFER ULINE UNPACK WINDOW WRITE COMMENTS * " In first column: Whole line is a comment In any other column: Rest of line is a comment Multiplies fields Sets a new page Replaces character strings Reserves output lines on the current page Finds character strings in tables Moves field contents Sets blank lines, goes to a particular line Starts another program Subtracts fields Sequential data output Underline Unpacked with leading zeros Define screen section (window) Output

MOVE-CORRESPONDING

TRANSLATE Conversion to upper / lower case

INTEGRATING OTHER PROGRAM COMPONENTS INCLUDE nserts specified program component at this point Calls a subroutine from another program PERFORM form(prog),

Exerccio:
Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 26

Solicitar para o programa anterior o Cdigo do Centro uma vez como PARAMETER e outra como SELECTOPTIONS. OBS.: Variaes do comando SELECT, da Tela de Parmetros e da Declarao de variveis.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 27

ELEMENTOS DE TEXTO

Basicamente existem trs tipos de elementos de Texto: Ttulos e Cabealhos, Textos de Seleo e Smbolos de Textos. Esses elementos so literais as quais podem ser traduzidas para vrios idiomas e a cargo do ABAP (dependendo do Logon), apresenta-se a no idioma correto. Ttulos e Cabealhos: Existem diversas formas de se Montar o cabealho de um resultado no ABAP, normalmente usa-se este elemento de Texto, somente para o Cabealho ( Ttulo do Relatrio), e o ttulo das colunas monta-se com o comando WRITE, porm existe a possibilidade de se montar o ttulo das colunas como elementos de texto. Textos de Seleo: Trata-se do label dos PARAMETERS e SELECT-OPTIONS definidos no programa.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 28 Smbolo de Textos: Muitas pessoas utilizam-se deste tipo de elemento de texto para ttulo da tela de parmetros, para display de indicativo de programa em execuo e outros. Alm disso, podem ser gerados elementos de texto para ttulos de colunas de relatrios, labels de dados em relatrios etc. Para se Traduzir Elementos de Texto: Saltar Traduo

____________________________________________________________________________________

Exerccio:
Gerar labels para os parmetros do exerccio anterior, e incluir o indicativo de programa em execuo: (chamar a funo: SAPGUI_PROGRESS_INDICATOR).

OBS.: Copiar pedaos de programas com XX, YY e ZZ, utilizar CTRL + C, CTRL + V e CTRL + Y (Para familiarizao com Buffers). Utilizar CTRL + F para familiarizao com find/replace do editor. Utilizar substrings variavel+n(n). Utilizar o boto where list. Separar dia mes e ano da sy-datum e junt-la novamente.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 29

EVENTOS

Os programas ABAP/4 ON-LINE, so orientados a eventos, sendo que basicamente so utilizados 4 tipos de eventos: INITIALIZATION, AT-SELECTION-SCREEN, START-OF-SELECTION e END-OF-SELECTION. Para relatrios utilizam-se tambm os eventos: TOP-OF-PAGE e END-OF-PAGE Uma forma fcil de se entender a tratativa de eventos no ABAP/4, seria imaginar cada evento como um programa a parte, onde um evento termina quando comea o prximo, e independente do posicionamento destes eventos no cdigo fonte, a sequncia de execuo destes sub-programas a seguinte: 1. 3. 4. INITIALIZATION Inicializa variveis de parmetros (antes da exibio da tela). 2. AT-SELECTION-SCREEN Validao das informaes solicitadas (aps interveno do usurio). START-OF-SELECTION Evento de extrao de dados da base. END-OF-SELECTION Display dos dados extrados.

Os eventos TOP-OF-PAGE e END-OF-PAGE so executados a cada quebra de pgina, sendo que aps o comando NEW-PAGE, no se executa o evento END-OF-PAGE.

____________________________________________________________________________________

Exerccio:
Estruturar o programa anterior, utilizando os eventos INITIALIZATION E START-OF-SELECTION. Parmetros: Material (SELECT-OPTIONS) Idioma

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 30 Layout: Cod. Material Xxxxxxxxxxx Xxxxxxxxxxx Tabelas: MARA e MAKT Utilizar padres SAP de relatrios (formato e cores) Programa standard: SHOWCOLO. Descrio xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxx

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 31

CLASSE DE MENSAGENS

Caminho: Ferramentas ABAP/4 Workbench Desenvolvimento Ambiente Desenvolvimento Mensagens. Trata-se de uma separao lgica de mensagens de E Erro, W Warnings, I Informations, S Sucesso, ou seja, basicamente uma tabela de erro que para no ser nica foi dividida em vrias menores (Message Class), por isso normalmente em um desenvolvimento, criamos uma classe de mensagens (comeadas por Z ou Y), e a utilizamos para indicar nossos erros, sucessos etc. O comando associado a mensagens MESSAGE.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 32

Exerccio:
Incluir checagem de parmetros no evento AT-SELECTION-SCREEN, para a existncia do centro solicitado no programa anterior. Incluir os padres standard de relatrio. (Cores, set left scroll-boundary column, eventos TOP-OF-PAGE. e END-OF-PAGE).

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 33

TABELAS INTERNAS
Trata-se de um conceito muito utilizado em programas ABAP/4, so similares a arrays, Recordsets, ou temp-tables de outras linguagens. Apesar do inconveniente de serem armazenadas na memria RAM da mquina (o que pode acarretar problemas quando tentarmos montar uma tabela interna muito grande), possui comandos muito interessantes para sorts, quebras e totalizaes. Deve-se sempre lembrar que a tabela interna trabalha com o conceito de buffer, ou seja, aps armazenarmos o buffer devemos appendar este novo registro a nossa tabela interna. Sempre que possvel nos programas onde a tabela interna j no ser mais utilizada na lgica, devemos liberar este espao de memria. Comandos associados: DATA: BEGIN OF t_tabela OCCURS 0, CAMPO 1 CAMPO 2 END OF t_tabela. Definio da tabela interna, tambm valido se criar uma tabela interna com include de uma estrutura, alm disso, existem outras variaes de definio como definir um TYPE (tabela interna) e utilizar este TYPE WITH HEADER LINE, tem o mesmo efeito, porm melhor utilizar a definio acima. PRINCIPAIS COMANDOS UTILIZADO EM UMA TABELA INTERNA CLEAR t_tabela. Limpa o buffer da tabela interna. APPEND t_tabela. Inclui efetivamente o registro do buffer na tabela interna COLLECT t_tabela. Para registros com a mesma parte alfa-numrica, este commando soma todos os campos numricos.
Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 34 SORT t_tabela BY campo. Ordena a tabela interna pelos campos desejados. OBS.: Para uma perfeita manipulao dos dados nos comando AT, deve-se definir os campos da tabela interna na mesma ordem que sero sortiados no comando SORT. LOOP AT t_tabela. Varre todos os registros da tabela interna, ou somente os registros que se pretende percorrer (WHERE) AT FIRST. Em conjunto com o comando LOOP, identifica o primeiro registro da tabela percorrida. AT NEW campo. Em conjunto com o comando LOOP, identifica o primeiro registro de uma sequncia ( quebra ). AT END OF campo. Em conjunto com o comando LOOP, identifica o ltimo registro de uma sequncia ( quebra ). AT LAST. Em conjunto com o comando LOOP, identifica o ltimo registro da tabela percorrida. READ TABLE t_tabela WITH KEY campo = Leitura de um registro especfico. Este comando retorna SY-SUBRC = 0 se o registro for encontrado e diferente de zero caso contrrio. DELETE t_tabela. Deleta um registro da tabela Interna MODIFY t_tabela. Modifica o registro na tabela Interna REFRESH t_tabela. Todos os Registro da Tabela Interna so deletados.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 35

FREE t_tabela. Libera o espao utilizado pela Tabela Interna na memria.

____________________________________________________________ Exerccio:
Criar uma Tabela Interna simples, carregar alguns registros e debuggar o programa para entender o funcionamento. (/H e Definio de Break Points).

Exerccio:
Montar um programa com todos os conceitos vistos at o momento: Solicitao de Parmetros, Consistncia dos Parmetros, Orientado a Eventos e com os padres SAP de display onde: Parmetros de seleo: Tipo de Material, Cdigo de Material e Centro. Layout Relatrio: Cod.Material Descrio 99999999 99999999 99999999 99999999 99999999 99999999 99999999 99999999 XXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXX Total Material no Centro: XXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXXXXXXXXXXXX XXXX XXXX XXXX XXXX XXX XXX XXX XXX Centro XXXX XXXX XXXX XXXX Dep. XXX XXX XXX XXX Estoque 9.999.999,99 9.999.999,99 9.999.999,99 9.999.999,99 9.999.999,99 9.999.999,99 9.999.999,99 9.999.999,99 9.999.999,99 ---------------- --------------------------------- -------------- --------- ------------------

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 36 Total Material no Centro: Total Geral 9.999.999,99 9.999.999,99

TABELAS TRANSPARENTES: MARA Mestre de Materiais, MARD Estoque de Material por Centro e Depsito, Descrio Material MAKT. Obs.: Utilizar uma tabela interna e os comandos AT NEW, AT END e SUM. (ZCX00002)

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 37

TABELA SYST (SY)

Trata-se de uma estrutura, a qual de momento a momento (em tempo de execuo) est disponvel para o programa. Por exemplo, mesmo sem definio em TABLES, est disponvel a qualquer momento no programa a varivel SY-UNAME, a qual contm o nome do usurio que logou o SAP. Segue abaixo uma relao das mais importantes variveis. Sempre que necessrio, cheque o dicionrio desta estrutura para verificar se existe alguma varivel que possa ser til aos seus futuros programas. SY-SUBRC Retorno dinmico aps cada comando. Normalmente quando o comando funcionou o SYSUBRC = 0, porm o help de cada comando indica qual o SUBRC para cada hiptese. No caso de CALL FUNCTION, o SUBRC determinado pelos EXCEPTIONS. SY-DATUM Data do sistema. Esta data est armazenada AAAAMMDD, ou seja, para se separar em uma varivel o dia: w_variavel = SY-DATUM+6(2). Vale lembrar que algumas datas em determinadas tabelas transparentes, esto armazenadas em formato anormal (quando fazem parte da chave primria), exemplo tabela TCURR. Verificar para estes casos a rotina de converso do campo que se encontra no seu domnio, nesse casso utilizado seguinte rotina de converso: CONVERSION_EXIT_XXXXX_INPUT SY-UZEIT Hora do Sistema SY-LANGU Linguagem de Logon SY-TABIX Linha Corrente de uma Tabela Interna SY-ULINE Similar ao comando ULINE, porm permite linhas menores que o tamanho definido no LINESIZE do REPORT, por exemplo: WRITE: / SY-ULINE(10). SY-VLINE Caracter de fechamento lateral de Boxes. SY-PAGNO Nmero da Pgina corrente no relatrio

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 38 SY-LINNO Linha corrente no relatrio SY-UNAME Usurio de Logon SY-BATCH Indicativo de execuo em Background SY-UCOMM Comando escolhido em Relatrios Interativos SY-LISEL Linha escolhida em Relatrios Interativos SY-TVAR0/SY-TVAR9 Espcie de Elemento de Texto, para Ttulos de Relatrios.

Exerccio:
Dar o display das variveis SY-DATUM, SY-UZEIT, SY-ULINE e SY-UNAME.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 39

REPORTS
Um trabalho muito comum, a ser realizado em novos projetos (implementaes), e tambm em projetos que j estejam em andamento, so os relatrios. Normalmente so extraes da base de dados, gerao de tabelas internas, e posterior impresso com quebras e totais. Como vimos anteriormente o grande trabalho esta em determinar onde esto as informaes na base de dados, pois uma vez determinadas estas tabelas, o ABAP/4 bastante simples para a montagem de Reports.

Abaixo segue um exemplo de como o Report fica armazenado em tela, aps a execuo.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 40

REPORTS INTERATIVOS

Normalmente programas de Manuteno de tabelas tipo: Inclui, Altera e Exclui, no so programas ONLINE e sim mdulos de dilogo (MODULE POOL), o qual ser abordado mais adiante, porm existem os Reports interativos, os quais aceitam a interveno do usurio aps a gerao. Podemos citar como exemplo a gerao de um relatrio com informaes bsicas de cliente, porm aps um duplo clique em cima do cliente, apresenta as informaes adicionais do mesmo. Vamos descobrir com o tempo que existem diversas transaes no sistema R/3 que se utilizam deste tipo de relatrios. Podemos gerar relatrios para os seguintes tipos de intervenes do usurio: Seleo de Linha, Teclas e cliques e Funes (Botes). Devemos entender que aps a gerao de um relatrio simples, o mesmo est armazenado em memria, o que permite a navegao tipo paginao transparente. Logo como o ABAP/4 uma linguagem orientada a eventos, podemos criar eventos dentro do programa principal, os quais sero disparados aps a gerao do relatrio principal. O comando HIDE, tem o objetivo de guardar o contedo de um determinado campo, e a linha que este se localiza no relatrio principal. O comando AT, determina os eventos disponveis para serem utilizados pelo usurio. (AT LINESELECTION, AT USER-COMMAND e AT PF). O comando SET TITLEBAR, gera um novo ttulo para a prxima tela a ser exibida. O comando SET PFSTATUS, monta a tela, por exemplo, botes e funes associadas. OBS.: Para cancelamento de programas, devemos abrir uma nova janela ou sesso, Ferramentas Administrao Monitoramento Viso Gera de Usurios.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 41

Exerccio:
Montar no programa anterior, eventos de duplo clique onde se apresentar dados adicionais de estoques (ZCX00003).

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 42

BATCH INPUT

um conceito muito utilizado nas implantaes, e mesmo em interfaces no dia-a-dia, trata-se de um processamento automtico, com todos os passos de um processamento manual, para qualquer transao do R/3, ou seja, qualquer transao do R/3 pode ser executada via um arquivo texto, montando-se uma mscara e executando-se automaticamente certa transao, quantos forem os registros do arquivo texto. primordial para a integridade dos dados, que as tabelas no seja armazenadas diretamente (comandos INSERT, DELETE, MODIFY e ETC), pois por mais que achemos que sabemos quais as tabelas que so armazenadas quando uma transao executada, somente poderemos garantir a integridade executandose a prpria transao. Este tipo de processo pode ser executado de duas formas: via CALL TRANSACTION o qual executado no mesmo instante, e via pasta de BATCH INPUT, o qual enfileira uma execuo e aguarda a interveno do usurio, transao SM35 ou Sistema Servios Batch Input Processar (ou um JOB de um programa chamada RSBDCSUB). Normalmente um bom programa utiliza os dois argumentos. Para transaes no crticas, o mtodo CALL TRANSACTION vlido, porm deve-se tomar cuidado com transaes crticas, pois no possvel determinar um processo de re-execuo. Logo para transaes no crticas, podemos usar os dois mtodos e para transaes crticas devemos utilizar somente a pasta de BATCH INPUT. Existem algumas regras bsicas para a execuo dos dois mtodos, porm aps a montagem do primeiro, verifica-se ser bastante simples, a no ser em raros casos onde a execuo do BATCH INPUT, no funciona exatamente igual a execuo manual, porm nestes casos devemos rodar o CALL TRANSACTION passo a passo e determinarmos as telas diferentes. Relacionaremos abaixo os passos necessrios para a montagem de um programa de BATCH INPUT (Carga automtica de dados).

1. Determinar a transao desejada.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 43

2. Determinar os campos e funes por tela a serem preenchidas em uma execuo manual. 3. Montar o layout do arquivo texto a ser processado. 4. No programa: Pedir parmetros e consistir parmetros. 5. Para cada registro lido, Montar mscara de dados ( Tabela Interna BDCDATA ). 6. Para Interfaces no crticas: Tentar executar com mtodo CALL TRANSACTION, se o retorno no for sucesso enviar para a pasta de BATCH INPUT. 7. Para Interfaces crticas: Enviar para a pasta de BATCH INPUT. 8. Emitir um resumo de Execuo.

____________________________________________________________ Exerccio:
Cadastrar um cliente no R/3 ( Logstica Vendas e Dist. Dados mestre Parceiros de Negcios Emissor ordem Criar ) transao V-03. Montar um arquivo texto no UNIX com as seguintes Informaes: CAMPO NOME PESQUISA CIDADE CEP PAIS IDIOMA CGC ZONA CLASSE TIPO CARACTERE CARACTERE CARACTERE CARACTERE CARACTERE CARACTERE CARACTERE CARACTERE CARACTERE TAMANHO 35 10 35 10 03 02 16 10 02

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 44

Determinar a telas e campos para a Incluso de Clientes. Montar programa para criar clientes automticos a partir do arquivo texto gerados. (ZCX00004) Obs.: Utilizar a funo WS_UPLOAD para leitura do arquivo texto a partir da estao (ZCX00005) Alterar na transao VD02 o campo idioma de alguns clientes

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 45

GERAO DE ARQUIVO TEXTO

Este tipo de programa muito comum para interfaces, ou seja, nas implantaes, e no dia-a-dia para conversao entre o R/3 e eventuais outros sistemas que as empresas possuam. Por Exemplo: Um sistema de informaes gerenciais, com o qual determinada empresa est bem acostumada, e resolve continuar utilizando-o aps a implantao do R/3. Para carga de dados neste sistema possivelmente ser feita a partir de arquivo texto com dados do R/3. Existem dois tipos de gerao de arquivo texto: 1 Aps a gerao de uma Tabela Interna, o ABAP/4 permite fazer um download dos dados para um diretrio de rede ou local. 2 O ABAP/4 permite fazer uma transferncia de dados para um arquivo no UNIX. No primeiro caso utiliza-se a funo WS_DOWNLOAD, porm possui alguns inconvenientes. Em primeiro lugar somente pode-se rodar um programa com a funo WS_DOWNLOAD, para programas que executem em Foreground, ou seja, para programas que sero executados periodicamente via JOB, ou mesmo com execues manuais em Background, esta funo no vlida. Em segundo lugar est presa a gerao de dados em Tabela Interna, e em casos de gerao de arquivos muito grandes, pode-se degradar o sistema com a gerao de uma tabela Interna com muitos registros. No segundo caso, utilizam-se os comandos OPEN DATASET, CLOSE DATASET e TRANSFER, os quais geram arquivos no UNIX, o que pode ser um inconveniente tambm, porm pode-se resolver este problema com um FTP automtico do arquivo gerado no UNIX (veremos mais adiante), ou quando se utilizar a ferramenta NFS, este arquivo pode ser gerado fisicamente na rede e virtualmente no UNIX.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 46

Exerccio:
Montar um arquivo texto com dados de clientes: Cod. Cliente, Nome Cliente e cidade. Gera um arquivo texto no diretrio C: ( via WS_DOWNLOAD ) e outro no UNIX (via comando TRANSFER). Para a determinao das tabelas transparentes aonde se localizam os dados de fornecedor, utilizar a Anlise de Tempo de Execuo. (Ferramentas ABAP/4 Workbench Teste Analise Tempo Exec.). (ZCX00006 e ZCX00007 ).

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 47

SUBROTINAS POOL

uma facilidade do ABAP/4, a execuo de subrotinas, as quais no estejam no programa principal, ou seja, se sabemos que existe uma subrotina em um programa qualquer, no precisamos copiar o cdigo fonte para o programa que estamos desenvolvendo, podemos execut-la no outro programa. Em projetos novos, pode ser interessante a montagem de um programa com subrotinas comuns a outros programas. Exemplo: PERFORM subrotina (zpgm001).

____________________________________________________________________________________

Exerccio:
Montar um exemplo da execuo de uma subrotina em outro programa. (ZCX00008). Obs.: Utilzar a execuo em background.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 48

COMANDOS EXTERNOS

muito comum a necessidade de se utilizarmos comandos externos dentro de programas fontes, por exemplo, no caso de movimentar o arquivo processado para um diretrio de BACKUP. Mais adiante perceberemos a necessidade de comandos externos, tambm para a automatizao de interfaces. Normalmente no to complicada a utilizao deste tipo de comando, porm o ABAP/4 exige alguns passos. (Aps a realizao do primeiro, tornam-se simples).

PASSOS: 1. Criar o comando externo: Ferramentas Administrao Computing Center Management System Configuration External Commands. (Transao SM59 ou SM69) 2. Internamente nos programas utilizar a funo SXPG_CALL_SYSTEM. 3. Definir a varivel t_protocol LIKE btcxpm OCCURS 100 WITH HEADER-LINE. 4. O perfil dever ser s_log_com.

____________________________________________________________________________________

Exerccio:
Movimentar um arquivo de um diretrio para outro no UNIX, via programa ABAP/4. (ZCX00009)

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 49

GRFICOS

Quando necessrio, podemos utilizar uma ferramenta do ABAP/4 para construo de grficos. Trata-se da funo GRAPH_MATRIX_3D. uma ferramenta bastante eficiente, permitindo a variao de grficos de 2 dimenses e 3 dimenses. Pode-se, alm disso, alterar o tipo de grfico, cores etc. Estes dados podem ser modificados na execuo do programa chamador, trazendo assim o grfico default desejado. Porm todas as modificaes tambm podem ser feitas pelos usurios aps a execuo.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 50

Exerccio:
Analisar o programa ZCX00011.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 51

BIBLIOTECA DE FUNES

Apesar de neste momento do curso j estarmos mais ou menos familiarizados com as funes, vale a pena mais uma palavra. Existem atualmente milhares de funes STANDARD. Dentre elas: WS_DOWNLOAD, WS_UPLOAD, SAPGUI_PROGRESS_INDICATOR, POPUP_TO_CONFIRM_WITH_MESSAGE, e diversas outras. Quase sempre existe uma funo que faz aquilo que desejamos. Por exemplo, se for necessrio o envio de EMAIL, via o SAP OFFICE, existe uma funo, a qual faz este envio: RS_SEND_MAIL_FOR_SPOOLIST. Logo o que precisamos saber encontr-las e entender como funcionam.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 52 Claro que possvel montarmos nossas prprias funes. Devem somente como tudo que customizado, comear por Y ou Z.

Basicamente uma funo composta de dados de exportao e dados de importao. Aquilo que exportado pelo programa chamador, importado pela funo e vice-versa. Existem tambm os EXCEPTIONS, que so para o programa chamador retorno pr-definidos de erros pela funo na varivel (SY-SUBRC). Assim como na chamada de PERFORM, CHANGING so variveis que retornam com o valor alterado. TABLES so tabelas internas que so importadas e/ou exportadas pelo programa chamador. Existe a facilidade de se testar as funes antes de utiliz-las nos programas. Caminho: Ferramentas ABAP/4 Workbench Biblioteca Funes.

____________________________________________________________ Exerccio:
Montar uma funo que solicite uma data e retorne a data do dia seguinte. Se a data informada for 28 de Fevereiro a funo deve possuir um EXCEPTION de parmetro invlido.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 53

MENU PAINTER

Esta a ferramenta de gerao de Menus das telas dos programas. Caso desejemos que esta tela seja diferente da tela padro. Nesta ferramenta tambm possvel a modificao do Ttulo que aparecer no relatrio, por exemplo, podemos desejar um ttulo para a tela de seleo e outra para a tela de resultado. Para a gerao de Ttulo devemos informar o programa e clicar criar. Possui o funcionamento similar a de Elementos de Texto. Apesar de que normalmente, quando estamos escrevendo o programa, podemos aps a digitao do comando SET TITLEBAR XXX. Dar um duplo clique no novo nome de ttulo, que neste momento ser criado um Title List do Menu Painter. Para a gerao de Telas de Menu para Report e principalmente para Reports Interativos (Veremos mais adiante que para Module Pool tambm), o mesmo caminho indicado no pargrafo acima vlido, ou seja, similar a criao do STATUS no Menu Painter, ou duplo clique no novo nome de status no comando SET PF-STATUS quando estamos escrevendo o programa.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 54

As funes associadas aos botes e/ou aos Menus, so retornos que ficaro na varivel SY-UCOMM, aps a interveno do usurio na transao. Os padres para o STANDARD TOOLBAR so: BACK Volta / Exit RW Cancela PRI Imprime %SC Pesquisa %SC+ Pesquisa Prximo P-- Primeira Pgina P- Page Up P+ Page Down P++ ltima Pgina Os nomes de Ttulos ou Status devem estar com letras maisculas nos comandos SET TITLEBAR e SET PF-STATUS. A incluso de funes deve ser feita via Processar Inserir Function with icon, com o cursor em uma tecla tipo F5. Aps a criao da funo, podemos coloc-la na Barra de Tarefas ou no Menu.

____________________________________________________________________________________

Exerccio:
No programa do Relatrio Interativo, gerar uma tela de Menu e criar uma funo, tanto na barra de tarefas ( Boto ), como no Menu. No programa tratar esta funo com o evento AT USER-COMMAND. Substituir o duplo clique do report interativo anterior por esta funo

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 55

JOBS

No ABAP/4, o JOB possui o mesmo conceito dos JOBS nos ambientes de grande porte, ou seja, trata-se de uma encadeao de STEPS (execuo de programas), a qual depende de outros JOBS, roda em horrio pr-determinado, pode ou no ser peridico etc. importante salientar que todo JOB roda em Background. A execuo normal de qualquer transao possibilita a execuo em Background, Programa Exec. Em Background. Deve-se neste momento especificar a impressora, se o relatrio vai direto para a impressora ou se vai ser gerado novo SPOOL. Para a definio de JOBS: Sistema Servios Jobs Definio de Jobs Para a Monitorao do JOB, seguir o mesmo caminho anterior e trocar de Definio para Sntese de Jobs. Para a checagem de SPOOL do usurio, Sistema Servios Controle de Sada. O SPOOL, de relatrios possui um nmero limitado de impresso de linhas, porm existe um boto dentro do SPOOL, onde aumentamos para aquele momento este limite.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 56

Exerccio:
Gerar um job para um programa para execuo programada. Utilizar o conceito de variante.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 57

DEBUGGING

Trata-se de uma ferramenta muito til no dia-a-dia, tanto para encontrar erros em programas desenvolvidos, como para entender processamentos Standard. Para programas Standard, o Debugging pode ser muito difcil e demorado. Podemos marcar BREAKPOINTS nos programas a serem debugados, parando o processamento e disponibilizando neste momento, valores de variveis, tabelas internas, tabela SY, e outros dados. Podemos at mesmo mudar o contedo da varivel para continuar a execuo. Alm dos BREAKPOINTS (parada esta que acontece somente para o usurio que gerou o Breakpoint), outra maneira de debuggar um programa colocar /H, na linha de comando. Existe tambm uma ferramenta bastante til, na procura de tabelas em transaes standard, a anlise de tempo de execuo, pois alm de outras informaes, apresenta todas as tabelas e views que o programa passou.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 58

Caminho: Ferramentas ABAP/4 Workbench Teste Anlise Temp. Exec.

TRANSPORTES E REQUESTS

Como sempre as empresas que possuem o R/3, tem necessariamente no mnimo duas mquinas (uma para desenvolvimento e outra para produo, eventualmente outras para homologao), para se manter a integridade dos objetos, foi criado o mecanismo de Request. Trata-se de um LOCK, por exemplo, em um programa. Quando um Analista/Programador inicia uma modificao em um programa, e este programa j esta na mquina de produo (pertence a uma classe de desenvolvimento diferente de $TMP), o ABAP/4, vai solicitar um request para esta manuteno, garantindo assim que outras pessoas no alterem o mesmo programa, e aps o release que a mquina de produo ter o mesmo cdigo fonte alterado. Nunca se devem fazer alteraes de cdigos direto na produo para no perdermos esta integridade, ou seja, para no Ter uma verso mais atualizada emp produo que em desenvolvimento.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 59 Aps o release, este request com o programa, elementos de texto e documentaes, sero transportados (normalmente por um profissional de BASIS). Muitos objetos so dependentes de Mandante e outros no, alm de programas necessitam de request todos os objetos do IMG, Transaes, USER-EXITS, etc., ou seja, 99% da parametrizao e desenvolvimentos so realizados na mquina de desenvolvimento e passado via request para produo. A ferramenta que mostra os requests que o usurio tem em aberto, bem como possibilita o Release destes, o Customizing Organizer (Transao SE10).

____________________________________________________________________________________

Exerccio:
Deslocar um programa para a classe de desenvolvimento ZTREINAMENTO, e fazer o release na transao SE10. Verificar a administrao de verses.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 60

NOES DE MODULE POOL

Apesar de no ser muito comum, em implantaes e ps-implantaes, a necessidade do desenvolvimento de programas MODULE POOL, necessitamos intender como o ABAP/4 trabalha neste caso, pois eventualmente necessitaremos desenvolver algum, ou na maioria vezes para debbugar uma transao standard que seja MODULE POOL. Caminho: Ferramentas ABAP/4 Workbench Object Browser. Por padro, os programas MODULE POOL, no standard, devem possuir a seguinte nomenclatura (SAPM + Z ou Y + 3 posies livres). O object browser o local mais indicado para este tipo de desenvolvimento / manuteno.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 61 A seqncia para a gerao deste tipo de programa , a criao do SCREEN, e a programao deste SCREEN. No include principal devem estar as tabelas e as variveis do programa. No final mesmo para teste devemos criar uma transao associada. Alguns novos conceitos so necessrios antes de prosseguirmos: PBO (Process Before Output), ou seja, uma preparao da tela que ser apresentada ao usurio, PAI (Process After Input), ou seja, um tratamento dos dados informados pelo usurio. Tanto o PBO quanto o PAI, possuem um editor diferente do editor de programas on-line, chamado FLOW LOGIC. Somente comandos pertinentes ao FLOW LOGIC, sero compreendidos neste momento. No FLOW LOGIC, faremos chamadas a MODULES, que so na verdade mini-programas on-line, neste momento todos os comando aprendidos at o momento funcionaro normalmente. Basicamente os comandos do FLOW LOGIC so MODULE (Para chamada dos mini-programas on-line), CHAIN e FIELD (Para consistncia dos dados imputados). Existem ainda dois novos conceitos para a montagem da tela: o STEP-LOOP, e a TABLE-CONTROL. O STEP-LOOP possui como resultado, por exemplo, o dicionrio de dados. A TABLE-CONTROL possui como resultado, por exemplo, a Incluso/Manuteno de Moedas (IMG Opes Globais Moedas Verificar Cdigo de Moeda).

____________________________________________________________________________________

Exerccio:
Gerar um programa que solicite o cdigo de um centro e retorne na tela seguinte a descrio deste centro.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 62

TRANSAES
So cdigos alfanumricos com no mximo 4 posies, o qual corresponde a um objeto, ou seja, a transao uma chamada rpida a um programa on-line, programa module pool, menu etc. Para se executar um programa via menu, este deve obrigatoriamente possuir uma transao associada, pois ela que o menu vai executar. Caminho: Ferramenta ABAP/4 Workbench Desenvolvimento Outras Ferramentas Transaes. As transaes no so dependentes de mandante. _____________________________________________________________________________________________

Exerccio:
Montar uma transao de um dos programas

Exerccio:
Montar uma transao do tab.Maint. Generator gerado na Segunda aula (pendur-la em menu).

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 63

AUTORIZAES

A segurana do SAP, pode estar diretamente ligada ao programa, ou o perfil do usurio pode estar restrito a transaes que este usurio pode executar. Normalmente os usurios finais, no podem executar as Ferramentas (Workbench), logo existem duas possibilidades: 1. O usurio via menu tenta executar uma transao. Somente poder execut-la se houver perfil de usurio adequado a ele nesta transao. 2. O usurio executa via uma rvore de relatrios um programa. Somente poder execut-lo se internamente este programa no fizer checagens, ou se houver perfil de usurio adequado a ele para este programa. Para se incluir uma checagem de perfil ao nvel de programas, deve-se utilizar o comando: AUTHORITYCHECK OBJECT 'Z:PROGRAMA' ID 'REPID' FIELD SY-CPROG. Onde Z:PROGRAMA objeto onde as autorizaes sero checadas.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 64

USER-EXITS

Com o objetivo de permitir aos seus clientes, alteraes no funcionamento de programas, sem resultar em futuros retrabalhos, quando fossem feitos upgrades de verses, a SAP criou o mecanismo de USEREXITS, os quais basicamente permitem a incluso de itens no Menu Standard, e alteraes em programas. Um Enhancement (Melhoramento), basicamente uma chamada em pontos estratgicos de certos programas a uma funo, a qual possui como cdigo fonte um include inexistente. Logo os passos para a ativao de um user-exit so: 1 - Determinao do problema / melhoria, e a anlise se o programa possui User-Exit. 2 - Criao de um projeto. Ferramentas ABAP/4 Workbench Utilitrios Extenses Administrao de Projetos (Transao CMOD/SMOD).

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 65 3 - Gerao do cdigo fonte no Include da Funo. 4 - Ativao da User-Exit.

Exemplo para Menu-Exit Enhancement CUST6 Exemplo para User-Exit Enhancement SRVREL, funo EXIT_SAPLEBND_003. Existe tambm o FIELD-EXIT, o qual permite a consistncia de qualquer campo de qualquer tela standard do R/3.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 66

NOES DE SAPSCRIPT

Trata-se de uma ferramenta geradora de Layouts, ou seja, no gera relatrios e sim o layout (tamanho de letra na primeira linha, um logotipo, cdigo de barras etc.) Pode ser chamado tambm de Formulrio. Este tpico deve ser enxergado como um curso a parte, pois existe profissionais atualmente dedicados somente a criao destes layouts. Porm bastante vlido saber o como o SAPSCRIPT trabalha, para se necessrio estar apto para efetuar uma modificao. Caminho: Ferramenta Processamento de Texto Formulrio. (Transao SE71). Sempre que nos depararmos com um programa ABAP/4 on-line, o qual possui chamadas para as seguintes funes: OPEN_FORM, START_FORM, WRITE_FORM, END_FORM e CLOSE_FORM trata-se de um programa que gera um relatrio baseado no layout de um SAPSCRIPT.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 67 Basicamente esta ferramenta determina Pargrafos, Fontes, Localizao, Textos Fixos, etc. de variveis pr-definidas, geralmente em programas standard estas variveis so de uma estrutura. No programa chamador, existe somente um tratamento para a informao que ser armazenada na varivel antes da impresso. O Header determina informaes bsicas, como classe de desenvolvimento, data de criao etc., e dados default de fonte tamanho etc. Paragraphs determina a posio e fontes de um ou mais pargrafos. Character String tipo especiais ( Itlico, Negrito etc..) Pages determina se o layout possui somente um tipo de pgina, ou uma pgina inicial, e outras. Windows e Page Windows determinam o posicionamento das variveis na pgina.

____________________________________________________________________________________

Exerccio:
Analisar a montagem e chamada de um sapscript. (ZCX00012)

Exerccio:
Implementar a funo SET_PRINT_PARAMETERS em um programa de relatrios.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 68

Exerccio:
Implementar o objeto matchcode em uma das telas de parmetros.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 69

ADMINISTRAO / MONITORAMENTO

Esta uma ferramente mais voltada ao pessoal da rea de dados (DBA), pois possibilita saber quantos usurio esto logados ao mesmo tempo, em quantas janelas cada um, e monitorar os programas que esto rodando, qual transao est consumindo mais CPU etc. Porm muitas vezes o profissional de desenvolvimento se v obrigado a estar cancelando um processamento dele prprio, ou a luz acabou e seu programa ficou preso na sua prpria seo. Logo para cancelarmos um programa ou matarmos uma seo, devemos entrar na Administrao / Monitoramento. Caminho: Ferramentas Administrao Monitoramento Monitoramento de Sistemas Viso Geral de Usurios. Assim quando o usurio em questo estiver localizado, deve-se dar um duplo clique em cima, escolher a seo e tomar a atitude desejada, ou seja, End Session, Debugging ou Cancel Program.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 70

PROJETO FINAL
Montar um relatrio baseado na transao VA03 com as seguintes informaes: _ Nmero da ordem _ Item da ordem _ Cdigo do Material _ Quantidade ordenada Gerar subtotal por ordem e total geral. Utilizar todos os conceitos vistos at este momento: Eventos, tabela interna, padro de cores etc.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 71

PROGRAMA: ZCX00001
************************************************************************ * PROGRAMA: ZCX00001 * * OBJETIVO: Curso ABAP/4 - Select Tabela T001W * * * * Data Verso Autor Descrio * * ======== ====== =============== ============================= * * 22/04/99 0 Andr Sorpreso Verso Inicial * * * ************************************************************************ REPORT ZCX00001 LINE-COUNT 60 LINE-SIZE 48. ************************** *** Tabelas do R/3 *** ************************** TABLES: T001W. "Centros/filiais ********************** *** Parmetros *** ********************** SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. PARAMETERS: P_WERKS LIKE T001W-WERKS. SELECTION-SCREEN: END OF BLOCK B1. ********************************* *** Evento Initialization *** ********************************* INITIALIZATION. P_WERKS = 'EM10'. ****************************** *** Evento TOP-OF-PAGE *** ****************************** TOP-OF-PAGE. FORMAT RESET. FORMAT COLOR COL_HEADING INTENSIFIED ON. ULINE. WRITE: /01 '|', 'Centro', 10 '|', 'Descrio', 48 '|'. ULINE. ************************************* *** Evento START-OF-SELECTION *** ************************************* START-OF-SELECTION. *** Seleco na tabela t001w SELECT * FROM T001W WHERE WERKS = P_WERKS. FORMAT RESET. FORMAT COLOR COL_KEY INTENSIFIED ON. WRITE: /01 '|', T001W-WERKS. FORMAT RESET. FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 72

WRITE: ENDSELECT. ULINE.

10 '|', T001W-NAME1, 48 '|'.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 73

PROGRAMA: ZCX00002
************************************************************************ * PROGRAMA: ZCX00002 * * OBJETIVO: Curso ABAP/4 - Relatrio de Estoque * * * * Data Verso Autor Descrio * * ======== ====== =============== ============================= * * 26/04/99 0 Andr Sorpreso Verso Inicial * * * ************************************************************************ REPORT ZCX00002 LINE-COUNT 60 LINE-SIZE 104. ************************** *** Tabelas do R/3 *** ************************** TABLES: MARA, "Mestre do material: dados gerais MAKT, "Textos breves de material MARD. "Mestre de material: segmento de depsito/de lotes ********************** *** Parmetros *** ********************** SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. SELECT-OPTIONS: P_MATNR FOR MARA-MATNR. SELECT-OPTIONS: P_MTART FOR MARA-MTART. SELECT-OPTIONS: P_WERKS FOR MARD-WERKS. SELECTION-SCREEN: END OF BLOCK B1. ***************************************** *** Definio de tabelas internas *** ***************************************** DATA: BEGIN OF T_TABINT OCCURS 0, MATNR LIKE MARA-MATNR, WERKS LIKE MARD-WERKS, LGORT LIKE MARD-LGORT, LABST LIKE MARD-LABST, END OF T_TABINT. ********************************* *** Evento Initialization *** ********************************* INITIALIZATION. P_WERKS-LOW = 'EM10'. ****************************** *** Evento TOP-OF-PAGE *** ****************************** TOP-OF-PAGE. SET LEFT SCROLL-BOUNDARY COLUMN 23. FORMAT RESET. FORMAT COLOR COL_HEADING INTENSIFIED ON. ULINE. WRITE: /01 '|', 'Cod. Material', 21 '|', 'Descrio', 64 '|', 'Depsito',

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 74

75 '|', 'Centro', 84 '|', 'Estoque', 104 '|'. ULINE. ************************************* *** Evento START-OF-SELECTION *** ************************************* START-OF-SELECTION. *** Mensagem de Aguardo CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING TEXT = TEXT-002 EXCEPTIONS OTHERS = 1. *** Seleco na tabela t001w SELECT * FROM MARA WHERE MATNR IN P_MATNR AND MTART IN P_MTART. SELECT * FROM MARD WHERE MATNR = MARA-MATNR AND WERKS IN P_WERKS. *** Atribui dados para T_TABINT-MATNR = T_TABINT-WERKS = T_TABINT-LGORT = T_TABINT-LABST = APPEND T_TABINT. CLEAR T_TABINT. ENDSELECT. ENDSELECT. tabelas internas MARA-MATNR. MARD-WERKS. MARD-LGORT. MARD-LABST.

"MARD "MARA

*********************************** *** Evento END-OF-SELECTION *** *********************************** END-OF-SELECTION. SORT T_TABINT BY MATNR WERKS. LOOP AT T_TABINT. *** Nos primeiros registros de material, L descrio AT NEW MATNR. *** Leitura da descrio do material CLEAR MAKT. SELECT SINGLE * FROM MAKT WHERE SPRAS = SY-LANGU AND MATNR = MARA-MATNR. ENDAT. FORMAT RESET. FORMAT COLOR COL_KEY INTENSIFIED ON.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 75

WRITE: /01 '|', T_TABINT-MATNR. FORMAT RESET. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WRITE: 21 '|', MAKT-MAKTX, 64 '|', T_TABINT-LGORT, 75 '|', T_TABINT-WERKS, 84 '|', T_TABINT-LABST, 104 '|'. *** Quebra de centro AT END OF WERKS. SUM. FORMAT RESET. FORMAT COLOR COL_TOTAL INTENSIFIED OFF. ULINE. WRITE: /01 '|', 21 '|', 'Total Centro: ', T_TABINT-WERKS, 64 '|', 84 '|', T_TABINT-LABST, 104 '|'. ULINE. ENDAT. *** ltimo Registro AT LAST. SUM. FORMAT RESET. FORMAT COLOR COL_TOTAL INTENSIFIED ON. WRITE: /01 '|', 21 '|', 'Total Geral: ', 64 '|', 84 '|', T_TABINT-LABST, 104 '|'. ULINE. ENDAT. ENDLOOP.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 76

PROGRAMA: ZCX00003
************************************************************************ * PROGRAMA: ZCX00003 * * OBJETIVO: Curso ABAP/4 - Relatrio de Estoque * * Interativo * * * * Data Verso Autor Descrio * * ======== ====== =============== ============================= * * 26/04/99 0 Andr Sorpreso Verso Inicial * * * ************************************************************************ REPORT ZCX00003 LINE-COUNT 60 LINE-SIZE 104. ************************** *** Tabelas do R/3 *** ************************** TABLES: MARA, "Mestre do material: dados gerais MAKT, "Textos breves de material MARD. "Mestre de material: segmento de depsito/de lotes ********************** *** Parmetros *** ********************** SELECTION-SCREEN: BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001. SELECT-OPTIONS: P_MATNR FOR MARA-MATNR. SELECT-OPTIONS: P_MTART FOR MARA-MTART. SELECT-OPTIONS: P_WERKS FOR MARD-WERKS. SELECTION-SCREEN: END OF BLOCK B1. ***************************************** *** Definio de tabelas internas *** ***************************************** DATA: BEGIN OF T_TABINT OCCURS 0, MATNR LIKE MARA-MATNR, WERKS LIKE MARD-WERKS, LGORT LIKE MARD-LGORT, LABST LIKE MARD-LABST, END OF T_TABINT. ********************************* *** Evento Initialization *** ********************************* INITIALIZATION. ****************************** *** Evento TOP-OF-PAGE *** ****************************** TOP-OF-PAGE. SET LEFT SCROLL-BOUNDARY COLUMN 23. FORMAT RESET. FORMAT COLOR COL_HEADING INTENSIFIED ON. ULINE. WRITE: /01 '|', 'Cod. Material', 21 '|', 'Descrio', 64 '|', 'Depsito',

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 77

75 '|', 'Centro', 84 '|', 'Estoque', 104 '|'. ULINE. ************************************* *** Evento START-OF-SELECTION *** ************************************* START-OF-SELECTION. *** Mensagem de Aguardo CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING TEXT = TEXT-002 EXCEPTIONS OTHERS = 1. *** Seleco na tabela t001w SELECT * FROM MARA WHERE MATNR IN P_MATNR AND MTART IN P_MTART. SELECT * FROM MARD WHERE MATNR = MARA-MATNR AND WERKS IN P_WERKS. *** Atribui dados para T_TABINT-MATNR = T_TABINT-WERKS = T_TABINT-LGORT = T_TABINT-LABST = APPEND T_TABINT. CLEAR T_TABINT. ENDSELECT. ENDSELECT. tabelas internas MARA-MATNR. MARD-WERKS. MARD-LGORT. MARD-LABST.

"MARD "MARA

*********************************** *** Evento END-OF-SELECTION *** *********************************** END-OF-SELECTION. SORT T_TABINT BY MATNR WERKS. LOOP AT T_TABINT. *** Nos primeiros registros de material, L descrio AT NEW MATNR. *** Leitura da descrio do material CLEAR MAKT. SELECT SINGLE * FROM MAKT WHERE SPRAS = SY-LANGU AND MATNR = MARA-MATNR. ENDAT. FORMAT RESET. FORMAT COLOR COL_KEY INTENSIFIED ON.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 78

WRITE: /01 '|', T_TABINT-MATNR. FORMAT RESET. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WRITE: 21 '|', MAKT-MAKTX, 64 '|', T_TABINT-LGORT, 75 '|', T_TABINT-WERKS, 84 '|', T_TABINT-LABST, 104 '|'. *** Guarda Linha do Material HIDE: T_TABINT-MATNR, T_TABINT-WERKS, T_TABINT-LGORT. *** Quebra de centro AT END OF WERKS. SUM. FORMAT RESET. FORMAT COLOR COL_TOTAL INTENSIFIED OFF. ULINE. WRITE: /01 '|', 21 '|', 'Total Centro: ', T_TABINT-WERKS, 64 '|', 84 '|', T_TABINT-LABST, 104 '|'. ULINE. ENDAT. *** ltimo Registro AT LAST. SUM. FORMAT RESET. FORMAT COLOR COL_TOTAL INTENSIFIED ON. WRITE: /01 '|', 21 '|', 'Total Geral: ', 64 '|', 84 '|', T_TABINT-LABST, 104 '|'. ULINE. ENDAT. ENDLOOP. CLEAR T_TABINT. ************************************** *** Evento de Seleo de Linha *** ************************************** AT LINE-SELECTION. *** Cabealho de informaoes adicionais SET TITLEBAR '0001'. IF T_TABINT-MATNR IS INITIAL. MESSAGE ID 'ZZ' TYPE 'E' NUMBER 006. ELSE. CLEAR MARD. SELECT SINGLE * FROM MARD WHERE MATNR = T_TABINT-MATNR AND WERKS = T_TABINT-WERKS AND LGORT = T_TABINT-LGORT.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 79

WINDOW STARTING AT 1 15 ENDING AT 79 23. WRITE: / / / / / 'Material....: 'Centro......: 'Depsito....: 'Disponvel..: 'Bloqueado...: ', ', ', ', ', MARD-MATNR, MARD-WERKS, MARD-LGORT, MARD-LABST, MARD-SPEME.

ENDIF. CLEAR T_TABINT.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 80

PROGRAMA: ZCX00004
************************************************************************ *** *** *** PROGRAMA: ZCX00004 *** *** OBJETIVO: Modelo de Interface Inbound - Batch Input *** *** utilizando tcnia call transaction e Pasta *** *** *** *** Documentao: *** *** *** *** Data Autor Descrio *** *** ========== ============== =============================== *** *** 29/04/1999 Andr Sorpreso Verso Inicial *** *** *** ************************************************************************ REPORT ZCX00004 LINE-SIZE 172 LINE-COUNT 65. ***************************************** *** Tabelas do Banco de Dados do R/3 *** ***************************************** * tables: "Descrio da Tabela ********************************* *** Definio de Parmetros *** ********************************* SELECTION-SCREEN BEGIN OF BLOCK PARAM WITH FRAME TITLE TEXT-001. PARAMETERS: P_MODO(1) TYPE C DEFAULT 'N'. SELECTION-SCREEN: ULINE. PARAMETERS: P_FILE LIKE RLGRAP-FILENAME DEFAULT '/tmp/curso000.txt' OBLIGATORY. SELECTION-SCREEN END OF BLOCK PARAM. ************************************* *** Variveis Globais do Programa *** ************************************* DATA: W_CONTATOT TYPE I, "Total de Registros do Arquivo W_CONTAVAL TYPE I, "Registros Validos W_CONTAINV TYPE I, "Registros Invalidos W_CONTAPRO TYPE I, "Registros processados em Call Trans W_CONTABDC TYPE I, "Registros postos em pasta BDC W_NUMREC TYPE I, "Numero do Registro corrente W_NUMERROS TYPE I, "Contador de Erros de Call Transac. W_CODMSG(5) TYPE C, "Codigo de Mensagem na Forma IINNN W_VALIDO(1) TYPE C, "Flag para Validao de Registros W_CONTA TYPE I, "Calculos de uso Geral W_SUBRC LIKE SY-SUBRC. ********************************* *** Tabelas Internas Globais *** ********************************* *** Tabela cm Definio das Transaes Batch Input DATA: BEGIN OF T_BDC OCCURS 100. INCLUDE STRUCTURE BDCDATA. DATA: END OF T_BDC. *** Tabela para Registro de Mensagens de Erro das Transaes

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 81

DATA: BEGIN OF T_MSG OCCURS 10. INCLUDE STRUCTURE BDCMSGCOLL. DATA: END OF T_MSG. ******************************************************* *** Estrutura para Leitura do Arquivo sequencial *** ******************************************************* DATA: BEGIN OF E_RECORD, NOME(35), PESQUISA(10), CIDADE(35), CEP(10), PAIS(03), IDIOMA(1), CGC(16), ZONA(10), CLASSE(2), END OF E_RECORD. ************************************* *** Evento: at selection screen *** ************************************* AT SELECTION-SCREEN. *** valida se Arquivo sequencial existe OPEN DATASET P_FILE FOR INPUT IN TEXT MODE. IF SY-SUBRC <> 0. WRITE SY-SUBRC. MESSAGE ID 'ZZ' TYPE 'E' NUMBER 010. ELSE. CLOSE DATASET P_FILE. ENDIF. *** Valida modo de call transaction IF NOT P_MODO CA 'AEN'. MESSAGE ID 'ZZ' TYPE 'E' NUMBER 011 WITH P_MODO. ENDIF. ********************************** *** Evento start-of-selection *** ********************************** START-OF-SELECTION. *** Mensagem de Aguardo CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING TEXT = TEXT-002 EXCEPTIONS OTHERS = 1. *** Escreve Titulo do Relatorio PERFORM TITULO. *** Inicializa Contadores CLEAR W_CONTATOT. CLEAR W_CONTAVAL. CLEAR W_CONTAINV. CLEAR W_CONTAPRO.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 82

CLEAR W_CONTABDC. CLEAR W_NUMREC. *** Percorre Arquivo Sequencial e Processa Registros DO. *** Ler registro READ DATASET P_FILE INTO E_RECORD. W_NUMREC = W_NUMREC + 1. *** Se EOF ou ultimo Registro da Seleo, termina processo IF SY-SUBRC <> 0. EXIT. ENDIF. *** Escreve registro no relatrio W_CONTATOT = W_CONTATOT + 1. *** Valida dados do Registro e executa Converses se vlido W_VALIDO = 's'. PERFORM VALIDA. *** Imprime o Item PERFORM ESCREVE. *** Se registro vlido, processa transao IF W_VALIDO = 's'. PERFORM PROCESSA. ENDIF. ENDDO. *** Fecha Arquivo Sequencial e Pasta batch input CLOSE DATASET P_FILE. IF W_CONTABDC <> 0. CALL FUNCTION 'BDC_CLOSE_GROUP'. ENDIF. *** Log de Execucao. FORMAT RESET. *** Exibe Totais ULINE. SKIP. WRITE: /24 SY-ULINE(47) COLOR 7. WRITE: /24 '| Pasta para batch Input: ', W_CONTABDC COLOR 6, '|'. WRITE: /24 '| Excutados com Sucesso: ', W_CONTAPRO COLOR 5, '|'. WRITE: /24 SY-ULINE(47). ************************************ *** Escreve titulo do relatrio *** ************************************ FORM TITULO. FORMAT RESET. SKIP. FORMAT COLOR COL_NEGATIVE INTENSIFIED OFF. WRITE: / 'EM CASO DE ERROS - PASTA DE BATCH INPUT -> : CLIENTE'. FORMAT RESET.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 83

SKIP. WRITE AT 30 'REGISTROS PROCESSADOS' COLOR 1. SKIP. ULINE. FORMAT COLOR COL_HEADING INTENSIFIED ON. WRITE: /01 '|', 'Sequencia', 13 '|', 'Nome', 51 '|', 'Pesquisa', 64 '|', 'Cidade', 102 '|', 'Cep', 115 '|', 'Pais', 122 '|', 'Idioma', 131 '|', 'Cgc', 150 '|', 'Zona', 163 '|', 'Classe', 172 '|'. ULINE. ENDFORM. *************************************** *** Escreve Campos Lidos do Arquivo *** *************************************** FORM ESCREVE. FORMAT RESET. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WRITE: /01 '|', W_NUMREC, 13 '|', E_RECORD-NOME, 51 '|', E_RECORD-PESQUISA, 64 '|', E_RECORD-CIDADE, 102 '|', E_RECORD-CEP, 115 '|', E_RECORD-PAIS, 122 '|', E_RECORD-IDIOMA, 131 '|', E_RECORD-CGC, 150 '|', E_RECORD-ZONA, 163 '|', E_RECORD-CLASSE, 172 '|'. ENDFORM. ****************************************** *** Valida Registro antes de Processar *** ****************************************** FORM VALIDA. DATA: W_ERROS TYPE I. *** Salvo prova em contrrio, o registro est inocente. CLEAR W_ERROS. IF W_ERROS IS INITIAL. W_CONTAVAL = W_CONTAVAL + 1. ELSE. W_CONTAINV = W_CONTAINV + 1. W_VALIDO = 'N'. SKIP. ENDIF. ENDFORM. ***********************************************************

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 84

*** Subrotina genrica para adicionar telas em bdcdata *** *********************************************************** FORM BDC_TELA USING PROGRAMA TELA. CLEAR T_BDC. T_BDC-PROGRAM = PROGRAMA. T_BDC-DYNPRO = TELA. T_BDC-DYNBEGIN = 'X'. APPEND T_BDC. ENDFORM. ********************************************************** *** Subrotina genrica para adicionar telas em bdcdata *** ********************************************************** FORM BDC_CAMPO USING CAMPO VALOR. CLEAR T_BDC. T_BDC-DYNPRO = SPACE. T_BDC-FNAM = CAMPO. T_BDC-FVAL = VALOR. APPEND T_BDC. ENDFORM. *********************************** *** Processa registro no R/3 *** *********************************** FORM PROCESSA. DATA: W_TXTMSG(80). REFRESH T_BDC. *** Tela inicial da Transao PERFORM BDC_TELA USING 'SAPMF02D' '0107'. PERFORM BDC_CAMPO USING 'BDC_OKCODE' '/0'. *** Tela de Dados principais PERFORM BDC_TELA USING 'SAPMF02D' '110'. PERFORM BDC_CAMPO USING 'KNA1-NAME1' E_RECORD-NOME. PERFORM BDC_CAMPO USING 'KNA1-SORTL' E_RECORD-PESQUISA. PERFORM BDC_CAMPO USING 'KNA1-ORT01' E_RECORD-CIDADE. PERFORM BDC_CAMPO USING 'KNA1-PSTLZ' E_RECORD-CEP. PERFORM BDC_CAMPO USING 'KNA1-LAND1' E_RECORD-PAIS. PERFORM BDC_CAMPO USING 'KNA1-SPRAS' E_RECORD-IDIOMA. PERFORM BDC_CAMPO USING 'BDC_OKCODE' '/0'. *** Tela de Dados principais PERFORM BDC_TELA USING 'SAPMF02D' '120'. PERFORM BDC_CAMPO USING 'KNA1-STCD1' E_RECORD-CGC. PERFORM BDC_CAMPO USING 'KNA1-LZONE' E_RECORD-ZONA. PERFORM BDC_CAMPO USING 'BDC_OKCODE' '/0'. *** Tela de Dados principais PERFORM BDC_TELA USING 'SAPMF02D' '125'. PERFORM BDC_CAMPO USING 'KNA1-KUKLA' E_RECORD-CLASSE. PERFORM BDC_CAMPO USING 'BDC_OKCODE' '/11'. *** Tenta executar com Tcnica Call Transaction REFRESH T_MSG. CALL TRANSACTION 'V-03' USING T_BDC MODE P_MODO UPDATE 'S' MESSAGES INTO T_MSG. W_SUBRC = SY-SUBRC.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 85

CLEAR W_NUMERROS. LOOP AT T_MSG. IF T_MSG-MSGTYP NA 'IWS'. W_NUMERROS = W_NUMERROS + 1. ENDIF. ENDLOOP. *** Se transao terminou com erro, guarda dados em Pasta Batch Input IF W_SUBRC <> 0 OR W_NUMERROS <> 0. *** Insere transao em Pasta Batch Input IF W_CONTABDC = 0. CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING CLIENT = SY-MANDT GROUP = 'CLIENTES' KEEP = 'X' USER = SY-UNAME. ENDIF. CALL FUNCTION 'BDC_INSERT' EXPORTING TCODE = 'V-03' TABLES DYNPROTAB = T_BDC. W_CONTABDC = W_CONTABDC + 1. ELSE. W_CONTAPRO = W_CONTAPRO + 1. ENDIF. ENDFORM.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 86

PROGRAMA: ZCX00005
************************************************************************ *** PROGRAMA: ZCX00005 *** *** DESCRICAO: Exemplo de leitura de arquivo texto *** *** da estao ( Via Upload ) *** *** *** *** VERSAO AUTOR DATA OBESERVACOES *** *** ====== ===== ========== =========================== *** *** 0 Andr 28/04/1999 Versao Inicial *** *** *** ************************************************************************ REPORT ZCX00005 LINE-SIZE 90 LINE-COUNT 66. ********************************* *** Definio de Parmetros *** ********************************* SELECTION-SCREEN BEGIN OF BLOCK PARAM WITH FRAME TITLE TEXT-001. PARAMETERS: P_FILE LIKE RLGRAP-FILENAME DEFAULT 'c:\temp\saida001.txt' OBLIGATORY. SELECTION-SCREEN END OF BLOCK PARAM. ********************************************************* *** Tabela Interna para Leitura do arq. sequencial *** ********************************************************* DATA: BEGIN OF T_TABINT OCCURS 0, KUNNR LIKE KNA1-KUNNR, NAME1 LIKE KNA1-NAME1, ORT01 LIKE KNA1-ORT01, END OF T_TABINT. ************************************* *** Evento: at selection screen *** ************************************* AT SELECTION-SCREEN. *** valida se Arquivo sequencial existe e carrega na tabela interna CALL FUNCTION 'WS_UPLOAD' EXPORTING FILENAME = P_FILE TABLES DATA_TAB = T_TABINT 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. IF SY-SUBRC <> 0. MESSAGE ID 'ZZ' TYPE 'E' NUMBER 010. ENDIF.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 87

****************************** *** Evento top-of-page *** ****************************** TOP-OF-PAGE. SET LEFT SCROLL-BOUNDARY COLUMN 23. FORMAT RESET. FORMAT COLOR COL_HEADING INTENSIFIED ON. ULINE. WRITE: /01 '|', 'Cliente', 14 '|', 'Nome', 52 '|', 'Cidade', 90 '|'. ULINE. ****************************** *** Evento end-of-page *** ****************************** END-OF-PAGE. ULINE. ************************************* *** Evento start-of-selection *** ************************************* START-OF-SELECTION. *** Mensagem de Aguardo CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING TEXT = TEXT-002 EXCEPTIONS OTHERS = 1. *** Varre tabela interna com registros do arquivo texto LOOP AT T_TABINT. FORMAT RESET. FORMAT COLOR COL_NORMAL INTENSIFIED OFF. WRITE: /01 '|', T_TABINT-KUNNR, 14 '|', T_TABINT-NAME1, 52 '|', T_TABINT-ORT01, 90 '|'. ENDLOOP. ULINE.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 88

PROGRAMA: ZCX00006
************************************************************************ *** *** *** PROGRAMA: ZCX00006 *** *** OBJETIVO: Modelo de gerao de arquivo texto no UNIX *** *** *** *** Documentao: *** *** *** *** Data Autor Descrio *** *** ========== ============== =============================== *** *** 29/04/1999 Andr Sorpreso Verso Inicial *** *** *** ************************************************************************ REPORT ZCX00006 LINE-SIZE 80 LINE-COUNT 60. ******************************************** *** Tabelas do Banco de Dados do R/3 *** ******************************************** TABLES: KNA1. "Mestre de clientes (parte geral) ******************************* *** Definio de Parametros *** ******************************* SELECTION-SCREEN BEGIN OF BLOCK PARAM WITH FRAME TITLE TEXT-001. PARAMETERS: P_FILE LIKE RLGRAP-FILENAME DEFAULT '/tmp/saida001.txt' OBLIGATORY. SELECT-OPTIONS: P_KUNNR FOR KNA1-KUNNR. SELECTION-SCREEN END OF BLOCK PARAM. **************************************** *** Variaveis Globais de Sistema *** **************************************** DATA: W_REGISTROS TYPE I, "Numero de registros da T_Tabint W_ARQUIVO LIKE RLGRAP-FILENAME. "Nome do arquivo texto ************************************ *** Tabelas Internas Globais *** ************************************ DATA: BEGIN OF T_TABINT OCCURS 0, KUNNR LIKE KNA1-KUNNR, NAME1 LIKE KNA1-NAME1, ORT01 LIKE KNA1-ORT01, END OF T_TABINT. ************************************** *** EVENTO AT SELECTION-SCREEN *** ************************************** AT SELECTION-SCREEN. ********************************* *** Evento Start of Selection *** ********************************* START-OF-SELECTION. **** Mensagem de execuo do programa

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 89

CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' EXPORTING TEXT = TEXT-002. *** Extrao dos dados da base SELECT * FROM KNA1 WHERE KUNNR IN P_KUNNR. *** Gerao da tabela interna T_TABINT-KUNNR = KNA1-KUNNR. T_TABINT-NAME1 = KNA1-NAME1. T_TABINT-ORT01 = KNA1-ORT01. APPEND T_TABINT. CLEAR T_TABINT. ENDSELECT. "KNA1 *********************************** *** Evento END-OF-SELECTION *** *********************************** END-OF-SELECTION. *** Checa se existem registros na tabela interna DESCRIBE TABLE T_TABINT LINES W_REGISTROS. IF W_REGISTROS > 0. *** Abre Dataset PERFORM ABRE_DATASET. *** Varre tabela interna LOOP AT T_TABINT. *** Gera Arquivo texto PERFORM TRANSFERE. ENDLOOP. *** Fecha Dataset PERFORM FECHA_DATASET. ENDIF. *** Imprime Log de Execuo ULINE. WRITE: / '|', W_REGISTROS, 'registros gerados com sucesso', 'no arquivo:', 80 '|'. WRITE: / '|', 80 '|'. WRITE: / '|', 11 P_FILE, 80 '|'. ULINE. ********************************************************* *** abre_dataset : Subrotina para Abertura do Dataset *** ********************************************************* FORM ABRE_DATASET. *** Monta nome do Arquivo de Saida por Filial e dia W_ARQUIVO = P_FILE. *** Abre Dataset OPEN DATASET W_ARQUIVO FOR OUTPUT IN TEXT MODE. IF SY-SUBRC NE 0.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 90

WRITE: / 'Problema na abertura do dataset ', SY-SUBRC. STOP. ENDIF. ENDFORM. "abre_dataset **************************************************** *** fecha_dataset: Subrotina para fechar dataset *** **************************************************** FORM FECHA_DATASET. CLOSE DATASET W_ARQUIVO. IF SY-SUBRC NE 0. WRITE: / 'Problemas no close ', SY-SUBRC. STOP. ENDIF. ENDFORM. "fecha_dataser ********************************************************************* *** transfere: Subrotina p/ transferir dados para o arquivo texto *** ********************************************************************* FORM TRANSFERE. *** transfere todos os registros do corpo do arquivo TRANSFER T_TABINT TO W_ARQUIVO. IF SY-SUBRC NE 0. WRITE: / 'Problemas no transfer', SY-SUBRC. STOP. ENDIF. ENDFORM. "transfere

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 91

PROGRAMA: ZCX00007
************************************************************************ *** PROGRAMA: ZCX00007 *** *** DESCRICAO: Exemplo OUTBOUND, Geracao de arquivo texto *** *** na estao ( Via DownLoad ) *** *** *** *** VERSAO AUTOR DATA OBESERVACOES *** *** ====== ===== ========== =========================== *** *** 0 Andr 27/04/1999 Versao Inicial *** *** *** ************************************************************************ REPORT ZCX00007 LINE-SIZE 80 LINE-COUNT 60. ******************************************** *** Tabelas do Banco de Dados do R/3 *** ******************************************** TABLES: KNA1. "Mestre de clientes (parte geral) ******************************* *** Definio de Parametros *** ******************************* SELECTION-SCREEN BEGIN OF BLOCK PARAM WITH FRAME TITLE TEXT-001. PARAMETERS: P_FILE LIKE RLGRAP-FILENAME DEFAULT 'c:/temp/saida001.txt' OBLIGATORY. SELECT-OPTIONS: P_KUNNR FOR KNA1-KUNNR. SELECTION-SCREEN END OF BLOCK PARAM. **************************************** *** Variaveis Globais de Sistema *** **************************************** DATA: W_REGISTROS TYPE I, "Numero de registros da T_Tabint W_ARQUIVO LIKE RLGRAP-FILENAME. "Nome do arquivo texto ************************************ *** Tabelas Internas Globais *** ************************************ DATA: BEGIN OF T_TABINT OCCURS 0, KUNNR LIKE KNA1-KUNNR, NAME1 LIKE KNA1-NAME1, ORT01 LIKE KNA1-ORT01, END OF T_TABINT. ************************************** *** EVENTO AT SELECTION-SCREEN *** ************************************** AT SELECTION-SCREEN. ********************************* *** Evento Start of Selection *** ********************************* START-OF-SELECTION. **** Mensagem de execuo do programa CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 92

EXPORTING TEXT

= TEXT-002.

*** Extrao dos dados da base SELECT * FROM KNA1 WHERE KUNNR IN P_KUNNR. *** Gerao da tabela interna T_TABINT-KUNNR = KNA1-KUNNR. T_TABINT-NAME1 = KNA1-NAME1. T_TABINT-ORT01 = KNA1-ORT01. APPEND T_TABINT. CLEAR T_TABINT. ENDSELECT. "KNA1 *********************************** *** Evento END-OF-SELECTION *** *********************************** END-OF-SELECTION. *** Checa se existem registros na tabela interna DESCRIBE TABLE T_TABINT LINES W_REGISTROS. IF W_REGISTROS > 0. W_ARQUIVO = P_FILE. *** Faz o download do arquivo gerado CALL FUNCTION 'WS_DOWNLOAD' EXPORTING FILENAME = W_ARQUIVO TABLES DATA_TAB = T_TABINT EXCEPTIONS FILE_OPEN_ERROR = 1 FILE_WRITE_ERROR = 2 INVALID_FILESIZE = 3 INVALID_TABLE_WIDTH = 4 INVALID_TYPE = 5 NO_BATCH = 6 UNKNOWN_ERROR = 7 OTHERS = 8. IF SY-SUBRC = 0. *** Imprime Log de Execuo ULINE. WRITE: / '|', W_REGISTROS, 'registros gerados com sucesso', 'no arquivo:', 80 '|'. WRITE: / '|', 80 '|'. WRITE: / '|', 11 P_FILE, 80 '|'. ULINE. ELSE. WRITE: / 'Problema na execuo do Download'. ENDIF. ENDIF.

PROGRAMA: ZCX00008

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 93
REPORT ZCX00008. PERFORM IMPRIME. PERFORM IMPRIME(ZCX0008A). FORM IMPRIME. WRITE: / 'Impresso deste programa'. ENDFORM. REPORT ZCX0008A. FORM IMPRIME. WRITE: / 'Impresso de outro programa'. ENDFORM.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 94

PROGRAMA: ZCX00009
************************************************************************ *** PROGRAMA: ZCX00009 *** *** DESCRICAO: Exemplo da utilizao do comando externo *** *** *** *** VERSAO AUTOR DATA OBESERVACOES *** *** ====== ===== ========== =========================== *** *** 0 Andr 27/04/1999 Versao Inicial *** ************************************************************************ REPORT ZCX00009. PARAMETERS: P_PARAM LIKE RLGRAP-FILENAME. ****************************************** *** Definio de variveis globais *** ****************************************** DATA: T_PROTOCOL LIKE BTCXPM OCCURS 100 WITH HEADER LINE. DATA: W_RETURN_CODE(1). DATA: W_PARAM(128). *** Execuo do comando externo W_PARAM = P_PARAM. TRANSLATE W_PARAM TO LOWER CASE. CALL FUNCTION 'SXPG_CALL_SYSTEM' EXPORTING COMMANDNAME PARAMETERS IMPORTING STATUS TABLES EXEC_PROTOCOL EXCEPTIONS NO_PERMISSION COMMAND_NOT_FOUND PARAMETERS_TOO_LONG SECURITY_RISK WRONG_CHECK_CALL_INTERFACE PROGRAM_START_ERROR PROGRAM_TERMINATION_ERROR X_ERROR PARAMETER_EXPECTED TOO_MANY_PARAMETERS ILLEGAL_COMMAND OTHERS

= 'Z_CHMOD' = W_PARAM = W_RETURN_CODE = T_PROTOCOL = = = = = = = = = = = = 1 2 3 4 5 6 7 8 9 10 11 12.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 95

PROGRAMA: ZCX00010
********************************** *** Exemplo do Write Input *** ********************************** REPORT ZCX00010. TABLES: MARD. SELECT-OPTIONS: P_MATNR FOR MARD-MATNR. DATA: BEGIN OF T_TABINT OCCURS 0, MATNR LIKE MARD-MATNR, WERKS LIKE MARD-WERKS, LABST LIKE MARD-LABST, END OF T_TABINT. DATA: W_VALOR_ALFA(20), W_VALOR LIKE MARD-LABST, W_DIF LIKE MARD-LABST. SELECT * FROM MARD WHERE MATNR IN P_MATNR. T_TABINT-MATNR = MARD-MATNR. T_TABINT-WERKS = MARD-WERKS. T_TABINT-LABST = MARD-LABST. APPEND T_TABINT. CLEAR T_TABINT. ENDSELECT. SORT T_TABINT BY MATNR. LOOP AT T_TABINT. WRITE: / T_TABINT-MATNR, T_TABINT-WERKS, T_TABINT-LABST. AT END OF MATNR. SUM. WRITE: / T_TABINT-MATNR, T_TABINT-WERKS, T_TABINT-LABST INPUT. HIDE T_TABINT-LABST. ENDAT. ENDLOOP. AT LINE-SELECTION. WRITE: SY-LISEL.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 96

PROGRAMA: ZCX00011
************************************************************************ *** PROGRAMA: ZCX00011 *** *** OBJETIVO: Modelo para gerao de grficos *** *** *** *** Data Autor Descrio *** *** ========== ============== =============================== *** *** 27/04/1999 Andr Sorpreso Verso Inicial *** ************************************************************************ REPORT ZCX00011. ****************************************** *** Definio de variveis globais *** ****************************************** DATA: GR_TITEL(15) TYPE C. DATA: GR_TCOL1(15) TYPE C. DATA: GR_TCOL2(15) TYPE C. DATA: GR_TCOL3(15) TYPE C. DATA: BEGIN OF GR_DATA OCCURS 16, TXT(30) TYPE C, CREDITO TYPE I, DEBITO TYPE I, SALDO TYPE I, END OF GR_DATA. BEGIN OF GR_OPTS OCCURS 0, TXT(20) TYPE C, END OF GR_OPTS.

DATA:

WRITE: 'debito' TO GR_TCOL1. WRITE: 'credito' TO GR_TCOL2. WRITE: 'saldo' TO GR_TCOL3. REFRESH: GR_DATA, GR_OPTS. GR_DATA-TXT GR_DATA-CREDITO GR_DATA-DEBITO GR_DATA-SALDO APPEND GR_DATA. GR_DATA-TXT GR_DATA-CREDITO GR_DATA-DEBITO GR_DATA-SALDO APPEND GR_DATA. = = = = = = = = 'Mes 01'. 100. 150. 50. 'Mes 02'. 150. 200. 100. APPEND GR_OPTS. APPEND GR_OPTS. APPEND GR_OPTS.

GR_OPTS = 'FIFRST = 2D'. GR_OPTS = 'DTDORD = 21'. GR_OPTS = 'TISIZE = 1'. GR_TITEL = 'Situacao'.

CALL FUNCTION 'GRAPH_MATRIX_3D' EXPORTING TITL = GR_TITEL COL1 = GR_TCOL1

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 97

TABLES

COL2 COL3 DIM1 DIM2 DATA OPTS

= = = = = =

GR_TCOL2 GR_TCOL3 'Movimento' 'Periodos' GR_DATA GR_OPTS.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 98

PROGRAMA: ZCX00012
*************************************** *** TESTE GENRICOS - SAPSCRIPT *** *************************************** REPORT ZCX00012. *** DEFINIO DE TABELAS TABLES: T001W. *** DEFINIO DE VARIAVEIS DATA: BEGIN OF RESULT. INCLUDE STRUCTURE ITCPP. DATA: END OF RESULT. DATA: BEGIN OF OPTIONS. INCLUDE STRUCTURE ITCPO. DATA: END OF OPTIONS. *** INICIO DO PROGRAMA * options-tddest = 'SA00'. * options-tdimmed = 'X'. * options-tddelete = 'X'. * options-tdnewid = 'X'. CALL FUNCTION 'OPEN_FORM' EXPORTING * APPLICATION = 'TX' * ARCHIVE_INDEX = ' ' * ARCHIVE_PARAMS = ' ' DEVICE = 'PRINTER' DIALOG = 'X' * form = 'ZANDRE' * language = sy-langu * options = options * importing * language = * new_archive_params = RESULT = RESULT EXCEPTIONS CANCELED = 1 DEVICE = 2 FORM = 3 OPTIONS = 4 UNCLOSED = 5 OTHERS = 6. IF SY-SUBRC NE 0. MESSAGE ID 'ZR' TYPE 'E' NUMBER 001. ENDIF. CALL FUNCTION 'START_FORM' EXPORTING * ARCHIVE_INDEX = ' ' FORM = 'ZANDRE' * language = sy-langu * STARTPAGE = ' ' * PROGRAM = ' '

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 99

* *

importing language = EXCEPTIONS FORM = 1 FORMAT = 2 UNENDED = 3 UNOPENED = 4 UNUSED = 5 OTHERS = 6. IF SY-SUBRC NE 0. MESSAGE ID 'ZR' TYPE 'E' NUMBER 001. ENDIF. CALL FUNCTION 'WRITE_FORM' EXPORTING * element = 'TITULO' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'TITULO' * importing * pending_lines = EXCEPTIONS ELEMENT = 1 FUNCTION = 2 TYPE = 3 UNOPENED = 4 UNSTARTED = 5 WINDOW = 6 OTHERS = 7. IF SY-SUBRC NE 0. MESSAGE ID 'ZR' TYPE 'E' NUMBER 001. ENDIF. SELECT * FROM T001W. CALL FUNCTION 'WRITE_FORM' EXPORTING * element = 'MAIN' * FUNCTION = 'SET' * TYPE = 'BODY' WINDOW = 'MAIN' * importing * pending_lines = EXCEPTIONS ELEMENT = 1 FUNCTION = 2 TYPE = 3 UNOPENED = 4 UNSTARTED = 5 WINDOW = 6 OTHERS = 7. IF SY-SUBRC NE 0. MESSAGE ID 'ZR' TYPE 'E' NUMBER 001. ENDIF. ENDSELECT. CALL FUNCTION 'END_FORM' IMPORTING

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 100

RESULT = RESULT EXCEPTIONS UNOPENED = 1 OTHERS = 2. IF SY-SUBRC NE 0. MESSAGE ID 'ZR' TYPE 'E' NUMBER 001. ENDIF. CALL FUNCTION 'CLOSE_FORM' IMPORTING RESULT = RESULT * tables * OTFDATA = EXCEPTIONS UNOPENED = 1 OTHERS = 2. IF SY-SUBRC NE 0. MESSAGE ID 'ZR' TYPE 'E' NUMBER 001. ENDIF.

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 101

PRINCIPAIS TABELAS GENRICAS


KNA1 TVARV T012K EKKO EKPO LFB1 T000 T001 T001W TCURR CSKS CSKT TBTCO MARV TADIR - Mestre de clientes - Variveis para variantes - Mestre de bancos - Cabealho de pedidos - Item de pedidos - Mestre de fornecedores - Tabela de mandantes - Tabela de empresas - Tabela de centros e filiais - Taxas de converso de valores - Registro mestre de centro de custo - Textos de centro de custo - Tabela de jobs - Perodos corrente e precedente de materiais - Catlogo de objetos do R/3

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 102

PRINCIPAIS TABELAS MM & PP


PLAF MARA MARM MKPF MSEG MARD MAKT MARC MAST STKO STPO S032 S031 AFKO MBEW T134T - Tabela de Ordem planejada - Mestre de Materiais - Tabela de unidade de medida - Cabealho de documentos de material - Item de documentos de material - Estoques por depsito / centro - Descries de materiais - Segmento de materiais por centro - Ligao Material com lista tcnica - Cabealho lista tcnica - Item da lista tcnica - Estoque retroativo - Estoque retroativo - Cabealho da ordem PCP - Avaliao de material - Denominao de tipos de material

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 103

PRINCIPAIS TABELAS FI & CO


BKPF BSEG BSIS BSAS BSIK BSAK BSID BSAD LFA1 LFB1 GLT0 AUFK COSP SKA1 COBK COEP COVP - Cabealho de documentos contbeis - Itens de documentos contbeis - Contrapartida por contas contbeis de clientes - Contrapartida por contas contbeis de fornecedores - Partidas compensadas de fornecedores - Partidas abertas de fornecedores - Partidas compensadas de clientes - Partidas abertas de clientes - Mestre de fornecedores - Mestre de fornecedores ( Empresa ) - Mestre de contas razo - Mestre de ordens - Objetos CO valores de ordens de investimentos - Mestre das contas razo - Cabealho de documentos de CO - Partidas de CO - View das tabelas COBK e COEP

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 104

PRINCIPAIS TABELAS SD
VBAK VBAP LIKP LIPS VTTK VTTP VBRK VBRP J_1BNFDOC J_1BNFLIN - Cabealho de ordem de venda - Itens de ordem de venda - Cabealho de fornecimentos - Itens de fornecimentos - Cabealho de transportes - Itens de transportes - Cabealho de faturamento - Itens de faturamento - Cabealho de notas fiscais - Itens de notas fiscais

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 105

Client / Server Architecture

Presentation Server Layer

SAPGUI

SAPGUI

SAPGUI

SAPGUI

SAPGUI

SAPGUI

Dispatcher

Dispatcher

Application Server Layer

Work Process

Work Process

Work Process

Work Process

database

Work Process

Work Process

Work Process

Work Process

SAP AG 1999

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 106

3-Tier System
Presentation layer
network

SAPGUI

Application layer

instance application server application server

instance
OS/400

network

central
Database layer

instance Database Server


SAP AG

OS/400 DB2 for AS400

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Pg. 107

ANOTAES:

Complex Consultoria em Informtica Ltda. Av. Engenheiro Lus Carlos Berrini, 1400 Cobertura Brooklin So Paulo - SP Cep 04531-010 Tel.: +55 (11) 2179-1400 www.complex.inf.br

Vous aimerez peut-être aussi