Vous êtes sur la page 1sur 30

2.

ELEMENTOS de PROGRAMACIN ABAP I


ABAP Training Program Fall 2006

OPEN BUSINESS CONSULTING


SOFTWARE SERVICES COMPANY

| Elementos ABAP | ndice

OPEN BUSINESS CONSULTING

2. Elementos de Programacin ABAP I


Declaracin de Datos Introduccin al Diccionario ABAP Introduccin a Open SQL Operaciones y Expresiones Lgicas Expresiones de Control Operaciones con Cadenas de Caracteres Mensajes y Gestin de Errores

| Elementos ABAP | Objetivos

OPEN BUSINESS CONSULTING

Objetivos

En esta Unidad se estudian los elementos para: Diferenciar entre Tipos de Datos y Objetos de Datos Identificar los Tipos de Datos Elementales Declarar los diferentes Tipos y Objetos de Datos Aprender los diferentes Tipos de Tablas Internas Conocer los principales Campos de Sistema

| Elementos ABAP | Declaracin de Datos

OPEN BUSINESS CONSULTING

Atributos Objetos de Datos Fijos de los constantes, literales, elementos de texto Objetos de Datos TYPE dObjetos de Datos Elementales Objetos de Datos
Long. 8 yyyymmdd Fecha

De longitud fija De longitud variable

Importe

texto libre

Objetos de Datos Complejos - Estructuras - Tablas Internas

Variables de Referencia

Sales Order

| Elementos ABAP | Declaracin de Datos

OPEN BUSINESS CONSULTING

Tipo de Datos Atributos de los datos (plantillas) No ocupan memoria de programa


TIPOS PREDEFINIDOS

Objetos de Datos Instancia de un tipo de dato Ocupan memoria segn tipo de dato

d (date), t (time), c (character), i(integer)


TIPOS GLOBALES en DICCIONARIO

kunnr (nmero de cliente)


TIPOS DEFINIDOS en PROGRAMAS TYPES <varname> TYPE <type>. TYPES t_text(20) TYPE c.

DATA <varname> TYPE <type>.

DATA p_text TYPE t_text. DATA p_text(20) TYPE c.

| Elementos ABAP | Declaracin de Datos

OPEN BUSINESS CONSULTING

Tipos Elementales Tipo i p f c n d t x Descripcin Integer Packed Number Floating Point Number Alphanumeric Text Numeric Text Date Time Hexadecimal string xstring Longitud 4 8 8 1 1 8 6 1 Valor inicial 0 0 0 00 00000000 000000 0000
Tipos de longitud fija

(1-16) (*) (*) (*)

Tipos de longitud variable

| Elementos ABAP | Declaracin de Datos

OPEN BUSINESS CONSULTING

Definicin de Tipos: TYPES

Definicin de Datos: DATA

TYPES type[(len)] TYPE type [DECIMALS dec ]. DATA dobj[(len)] TYPE type [DECIMALS dec ] [ VALUE val ]. static types

Convencin de nombres Nombre <= 30 caracteres Letras, nmeros y _ Nombre(1) = letra Palabras reservadas
La convencin de nombres de los objetos de desarrollo debe ser significativa, bien establecida y seguida por todo el equipo.

DATA p_code(5) TYPE n VALUE 08009. DATA p_rate TYPE p DECIMALS 2 . p_rate = 3 / 2.

TYPES | DATA . LIKE dobj. DATA p_length LIKE p_rate.

| Elementos ABAP | Declaracin de Datos

OPEN BUSINESS CONSULTING

Structured Types

TYPES | DATA: BEGIN OF structure, k1 {TYPE type | LIKE dobj} , k2 {TYPE type | LIKE dobj} , . , kn {TYPE type | LIKE dobj}, END OF structure.

TYPES | DATA structure LIKE dbtab.

Las estructuras pueden ser tratadas como una unidad o componente a componente

structure1 = structure2 .

write: / structure-k2 .

| Elementos ABAP | Declaracin de Datos

OPEN BUSINESS CONSULTING

Table Types - Tablas Internas

Las tablas internas quedan definidas por: - Tipo de Tabla - Tipo de Lnea - Clave de la Tabla

Clave

Tipo de Lnea Tipo de Tabla

TYPES | DATA itab { TYPE | LIKE } tabkind OF { linetype | lineobj } WITH key.

DATA itab TYPE TABLE OF dbtab.

| Elementos ABAP | Declaracin de Datos

OPEN BUSINESS CONSULTING

Table Types - Tablas Internas


ANY TABLE

Tipo de Tabla
Cmo accede el programa a la tabla interna? Cmo se gestiona en la memoria del programa?

INDEX TABLE

STANDARD TABLE

SORTED TABLE

HASHED TABLE

Acceso por ndice

Acceso por ndice

Hash Algorithm

Internally managed by a logical index

sorted by ascending key in the memory STANDARD TABLE SORTED TABLE HASHED TABLE

unordered in the memory

DATA

itab TYPE

OF { linetype | lineobj }

| Elementos ABAP | Declaracin de Datos

OPEN BUSINESS CONSULTING

Objetos de Datos Fijos

CONSTANTS const[(len)] { TYPE type | LIKE dobj } [DECIMALS dec ]

VALUE val .

Const.

Tipos elementales de longitud fija (c,n,i)

TEXT SYMBOLS TEXT-### Text(###) Text(###)

Textos mantenidos fuera del programa Goto Text Elements Text symbols

WRITE: / text-010. WRITE: / Importe(010).

LITERALES Text_literal

Textos hasta 255 caracteres Nmeros hasta 31 dgitos (+ signo).

Texto Bobs Name DATA: p_rate TYPE p DECIMALS 2. p_rate = 364 p_rate = 456.786-.

SYSTEM FIELDS

Campos predefinidos del sistema. Son llenados en el entrono de ejecucin del programa segn contexto.

| Elementos ABAP | Declaracin de Datos

OPEN BUSINESS CONSULTING

Campos de Sistema

estructura SYST (Diccionario ABAP)

ABAP Program
SY-SUBRC estructura SY SY-UNAME SY-DATUM SY-UZEIT SY-LANGU SY-REPID SY-TCODE SY-ULINE SY-INDEX SY-TABIX SY-DBCNT SY-UCOMM SY-MSGNO

estructura SY
Valor de retorno en muchas sentencias ABAP. ( 0 ejecucin sin error ) Usuario logon Fecha (servidor de aplicacin) Hora (servidor de aplicacin) Idioma logon Nombre del programa Cdigo de transaccin Lnea horizontal (255) Nmero de paso en DO / WHILE ndice llamado en itab (no hashed) Lneas de dbtab tratadas (OpenSQL) Cdigo de funcin de usuario Nmero de mensaje ( MESSAGE) SY-MSGID SY-MSGTY

SY-UNAME SY-UZEIT SY-DATUM SY-SUBRC

SY-SUBRC = 0 SY-SUBRC = 4 SY-SUBRC = 8

Runtime Environment

| Elementos ABAP | Declaracin de Datos

OPEN BUSINESS CONSULTING

Otras Declaraciones de Datos

PARAMETERS parameter[(len)] { TYPE type | LIKE dobj } [DECIMALS dec ] [ DEFAULT value ]. Como DATA, declara la variable parameter y genera campo input en la pantalla de seleccin. PARAMETERS: p_carrid LIKE sflight-carrid DEFAULT 'AA'.

TABLE WORK AREA (rea de trabajo) TABLE dbtab. La sentencia equivale a: DATA dbtab TYPE dbtab. En versiones anteriores a 4.0, la sentencia era necesaria para acceder a la dbtab desde el programa. En versiones posteriores TABLES es slo necesario en el transporte de datos en screens generadas con tipos del Diccionario. En los dems casos, la sentencia es obsoleta. DATA wa_dbtab TYPE dbtab. DATA wa_itab TYPE t_itab.

| Elementos ABAP | ndice

OPEN BUSINESS CONSULTING

2. Elementos de Programacin ABAP I


Declaracin de Datos Introduccin al Diccionario ABAP Introduccin a Open SQL Operaciones y Expresiones Lgicas Expresiones de Control Operaciones con Cadenas de Caracteres Mensajes y Gestin de Errores

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

Objetivos

En esta Unidad se estudian los elementos para: Identificar los diferentes Objetos de Diccionario ABAP Conocer los elementos de una Tabla de Diccionario Utilizar las diferentes opciones en la definicin de Dominios Declarar Tipos y Objetos de Datos con referencia al Diccionario ABAP

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

Diccionario ABAP
Editor ABAP

OBJETOS de DICCIONARIO Dominios Elementos de Datos (Tipos) Estructuras Tablas Vistas de Tablas Vistas de Ayudas Matchcodes Objetos de Bloqueo Type-Pools Diccionario ABAP
Class Builder Editor Funciones

Smartforms

Screen Painter

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

Tablas de Diccionario

Datos Tcnicos
Controlan cmo la tablas se crea en la base de datos (Tamao, buffering, tipo de registros)

Campos

Clave

Elemento de Datos ndices


ndices secundarios para optimizar accesos de lectura frecuentes Optimizar primero el cdigo de programa. No crear ndices sec. innecesarios. Define la relacin de una tabla con otras. (Base de datos relacional)

Claves Externas Dominio

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

Tablas Campos - Elementos de Datos - Dominios

Campos
Nombres de campo hasta 16 letras Indicar flag de campo clave Nombre de campo(1) = letra

Clave

Campos que identifican un registro de la tabla de forma nica

Elemento de Datos

Significado semntico del campo. Descripciones. ID de memoria.

Dominio

Rango de valores Tipo de dato (char, num) longitud [nmero decimales], [ms restricciones]

Algunos campos son guardados en dbtablas con formatos diferentes a los de presentacin. En el dominio, puedes encontrar la rutina de conversin que aplica.

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

Tablas Campos - Elementos de Datos - Dominios

Elemento de Datos Fecha Entrada

Elemento de Datos Fecha Entrada

Dominio DATS

Elemento de Datos Fecha Caducidad

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

Tablas Estructura Appends Campos de Referencia

Campos

Campos de Referencia

Campo Importe ref. Campo Moneda Tipo CURR Tipo CUKY Campo Cantidad ref. Tipo QUAN Campo Unidad Tipo UNIT

Estructura Append Customizing Include


Las tablas estndares de Diccionario pueden ser ampliadas mediante estructuras Append. (condiciones)

Los campos de referencia pueden ser de otra tabla (Tabla de Referencia)

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

Tablas Campos de Referencia

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

Dominios
VALUE RANGES Tipo de datos, longitud, [nm. decimales]
Campos

RESTRICCIONES Valores fijos Intervalos de valores Tablas de valores CONVERSIONES de ENTRADA y SALIDA

Elemento de Datos

Dominio

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

Declaraciones con referencia al Diccionario

Tabla

DATA it_sflight TYPE STANDARD TABLE OF sflight. DATA p_carrid LIKE sflight-carrid.

Campos Elemento de Datos

DATA p_carrid TYPE s_carrid_id.

Dominio

Las declaraciones con referencia al Diccionario son preferibles a definiciones propias.

| Elementos ABAP | ndice

OPEN BUSINESS CONSULTING

2. Elementos de Programacin ABAP I


Declaracin de Datos Introduccin al Diccionario ABAP Introduccin a Open SQL Operaciones y Expresiones Lgicas Expresiones de Control Operaciones con Cadenas de Caracteres Mensajes y Gestin de Errores

| Elementos ABAP | Open SQL

OPEN BUSINESS CONSULTING

Objetivos

En esta Unidad se estudian los elementos para: Comprender el acceso a la Base de Datos desde los programas ABAP Conocer las principales sentencias Open SQL Programar lecturas de tablas de la Base de Datos Conocer opciones para la optimizacin del cdigo de programas ABAP

| Elementos ABAP | Open SQL

OPEN BUSINESS CONSULTING

Open SQL
ABAP Program
SELECT FROM INTO WHERE

SAP es independiente de la Base de Datos. En el entorno de ejecucin los programas acceden a la BD a travs del RDBMS (Relational Database Management System) que acta como interfase. El RDBMS traslada todas las sentencias Open SQL a sentencias SQL estndares y adaptadas al fabricante de la Base de Datos.

RDBMS Interface

SQL

Open SQL

SQL Structured Query Language

Open SQL contiene varias sentencias SQL estndares y otras propias que simplifican y optimizan el acceso a BD desde programas ABAP.

| Elementos ABAP | Open SQL

OPEN BUSINESS CONSULTING

Open SQL
SQL Definicin DB
DDL (Data Definition Language) CREATE, ALTER

ABAP - Open SQL Definicin DB


Diccionario ABAP

Procesar datos DB
DDL (Data Manipulation Lang.) SELECT, INSERT..

Procesar datos DB
Open SQL

Consistencia DB
DCL (Data Control Language)

Consistencia DB
SAP LUW concept SAP Locks

| Elementos ABAP | Open SQL

OPEN BUSINESS CONSULTING

Open SQL Sentencias Open SQL


SELECT INSERT UPDATE MODIFY DELETE OPEN CURSOR FETCH CLOSE CURSOR COMMIT WORK ROLLBAK WORK Confirma modificaciones DB Deshace modificaciones DB
SAP LUW concept

Lee tablas DB Aade lneas a tablas DB Modifica lneas tablas DB Aade / Modif. tablas DB Borra lneas tablas DB

No actualizar tablas estndares de la BD con Open SQL. Pierdes los chequeos, actualizaciones y la consistencia de SAP.

| Elementos ABAP | Open SQL

OPEN BUSINESS CONSULTING

SELECT - Lectura BD
Qu Campos? Qu leer?
WHERE SELECT

SELECT select_clause FROM from_clause INTO into_clause WHERE where_clause. [ ENDSELECT ].

Program

Qu Tabla?
FROM INTO

Optimizacin de cdigo. Todo SELECT debe tener select_clause y where_clause

Dnde guardar?

| Elementos ABAP | Open SQL

OPEN BUSINESS CONSULTING

Vous aimerez peut-être aussi