Sie sind auf Seite 1von 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

OPEN BUSINESS CONSULTING

| Elementos ABAP | Declaracin de Datos

Atributos
Objetos de Datos Fijos
de los
constantes, literales, elementos de texto
Objetos de Datos

Objetos de Datos

dObjetos de Datos Elementales


TYPE
-

Long. 8
yyyymmdd -

De longitud fija
De longitud variable

Objetos de Datos Complejos


- Estructuras
- Tablas Internas

Variables de Referencia

Fecha

Importe

texto libre

Sales Order

| Elementos ABAP | Declaracin de Datos

Tipo de Datos

OPEN BUSINESS CONSULTING

Objetos de Datos

Atributos de los datos (plantillas)

Instancia de un tipo de dato

No ocupan memoria de programa

Ocupan memoria segn tipo de dato

TIPOS PREDEFINIDOS

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.

OPEN BUSINESS CONSULTING

| Elementos ABAP | Declaracin de Datos

Tipos Elementales

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

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

0
0
0

00
00000000
000000
0000

Tipos de longitud fija

Tipo

Tipos de longitud variable

| Elementos ABAP | Declaracin de Datos

Definicin de Tipos: TYPES

OPEN BUSINESS CONSULTING

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

DATA p_code(5) TYPE n VALUE 08009.


DATA p_rate
TYPE p DECIMALS 2 .
p_rate = 3 / 2.

TYPES | DATA . LIKE dobj.


La convencin de nombres de los objetos
de desarrollo debe ser significativa, bien
establecida y seguida por todo el equipo.

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

Table Types - Tablas Internas

OPEN BUSINESS CONSULTING

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.

OPEN BUSINESS CONSULTING

| Elementos ABAP | Declaracin de Datos

Tipo de Tabla

Table Types - Tablas Internas

Cmo accede el programa


a la tabla interna?
Cmo se gestiona en la
memoria del programa?

ANY TABLE

INDEX TABLE

STANDARD TABLE

Acceso por
ndice

Acceso por
ndice

Internally managed by
a logical index

DATA

SORTED TABLE

itab TYPE

Hash
Algorithm

sorted by ascending key


in the memory
STANDARD TABLE
SORTED TABLE
HASHED TABLE

HASHED TABLE

unordered in the memory

OF { linetype | lineobj }

OPEN BUSINESS CONSULTING

| Elementos ABAP | Declaracin de Datos

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(###)

LITERALES Text_literal

Textos mantenidos fuera del programa


Goto Text Elements Text symbols

Textos hasta 255 caracteres


Nmeros hasta 31 dgitos (+ signo).

SYSTEM FIELDS

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

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

Campos predefinidos del sistema. Son llenados en el


entrono de ejecucin del programa segn contexto.

OPEN BUSINESS CONSULTING

| Elementos ABAP | Declaracin de Datos

Campos de Sistema

estructura SYST
(Diccionario ABAP)

estructura SY

ABAP Program
SY-SUBRC
estructura SY

SY-UNAME
SY-UZEIT
SY-DATUM

SY-SUBRC

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

Runtime Environment

SY-UNAME
SY-DATUM
SY-UZEIT
SY-LANGU
SY-REPID
SY-TCODE
SY-ULINE
SY-INDEX
SY-TABIX
SY-DBCNT
SY-UCOMM
SY-MSGNO

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

| 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

OPEN BUSINESS CONSULTING

| Elementos ABAP | Diccionario ABAP

Diccionario ABAP
Editor ABAP

OBJETOS de DICCIONARIO
Editor Funciones

Dominios
Elementos de Datos (Tipos)
Estructuras
Tablas
Vistas de Tablas
Vistas de Ayudas
Matchcodes
Objetos de Bloqueo
Type-Pools

Smartforms

Screen Painter

Diccionario ABAP
Class Builder

OPEN BUSINESS CONSULTING

| Elementos ABAP | Diccionario ABAP

Tablas de Diccionario

Datos Tcnicos

Campos

Controlan cmo la tablas se


crea en la base de datos
(Tamao, buffering, tipo de
registros)

Clave

Elemento de Datos
ndices
ndices secundarios para optimizar
accesos de lectura frecuentes

Claves Externas
Dominio

Optimizar
Optimizarprimero
primeroelel
cdigo
cdigode
deprograma.
programa.
No
crear
ndices
No crear ndicessec.
sec.
innecesarios.
innecesarios.
Define la relacin de una tabla con otras.
(Base de datos relacional)

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

Tablas Campos - Elementos de Datos - Dominios

Campos

Clave

Elemento de Datos

Dominio

Campos que identifican un registro


de la tabla de forma nica

Nombres de campo hasta 16 letras


Indicar flag de campo clave
Nombre de campo(1) = letra

Significado semntico del campo.


Descripciones. ID de memoria.

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

Algunos
campos
son
guardados
enen
Algunos
campos
son
guardados
dbtablas
con
diferentes
aa
dbtablas
conformatos
formatos
diferentes
los
de
presentacin.
En
el
dominio,
los de encontrar
presentacin.
En elde
dominio,
puedes
lalarutina
puedes
encontrar
rutina
de
conversin
conversinque
queaplica.
aplica.

OPEN BUSINESS CONSULTING

| Elementos ABAP | Diccionario ABAP

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. Campo Unidad
Tipo QUAN
Tipo UNIT
Los campos de referencia pueden ser
de otra tabla (Tabla de Referencia)

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

| Elementos ABAP | Diccionario ABAP

Tablas Campos de Referencia

OPEN BUSINESS CONSULTING

| Elementos ABAP | Diccionario ABAP

OPEN BUSINESS CONSULTING

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

Elemento de Datos

Dominio

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

OPEN BUSINESS CONSULTING

| Elementos ABAP | Diccionario ABAP

Declaraciones con referencia al Diccionario


DATA it_sflight TYPE STANDARD TABLE
OF sflight.

Tabla

Campos
Elemento de Datos

Dominio

DATA p_carrid LIKE sflight-carrid.

DATA p_carrid TYPE s_carrid_id.

Las
Lasdeclaraciones
declaracionescon
con
referencia
al
Diccionario
referencia al Diccionarioson
son
preferibles
preferiblesaadefiniciones
definicionespropias.
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

SQL

RDBMS Interface

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.

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.

OPEN BUSINESS CONSULTING

| Elementos ABAP | Open SQL

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

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

Consistencia DB
DCL
(Data Control Language)

ABAP - Open SQL


Definicin DB
Diccionario ABAP

Procesar datos DB
Open SQL

Consistencia DB
SAP LUW concept
SAP Locks

OPEN BUSINESS CONSULTING

| Elementos ABAP | Open SQL

Open SQL
Sentencias Open SQL
SELECT

Lee tablas DB

INSERT

Aade lneas a tablas DB

UPDATE

Modifica lneas tablas DB

MODIFY

Aade / Modif. tablas DB

DELETE

Borra lneas tablas DB

No
Noactualizar
actualizartablas
tablas
estndares
de
la
estndares de laBD
BD
con
Open
SQL.
con Open SQL.
Pierdes
Pierdeslos
loschequeos,
chequeos,
actualizaciones
actualizacionesyy
lalaconsistencia
consistencia
de
deSAP.
SAP.

OPEN CURSOR
FETCH
CLOSE CURSOR
COMMIT WORK

Confirma modificaciones DB

ROLLBAK WORK

Deshace modificaciones DB

SAP LUW concept

OPEN BUSINESS CONSULTING

| Elementos ABAP | Open SQL

SELECT - Lectura BD
Qu Campos?
SELECT

Qu leer?
WHERE

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

Program
Optimizacin
Optimizacinde
decdigo.
cdigo.
Todo
SELECT
debe
Todo SELECT debetener
tener
select_clause
select_clauseyywhere_clause
where_clause

Qu Tabla?
FROM
INTO

Dnde guardar?

| Elementos ABAP | Open SQL

OPEN BUSINESS CONSULTING

Das könnte Ihnen auch gefallen