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
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
Importe
texto libre
Variables de Referencia
Sales Order
Objetos de Datos Instancia de un tipo de dato Ocupan memoria segn tipo de dato
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
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.
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.
Las estructuras pueden ser tratadas como una unidad o componente a componente
structure1 = structure2 .
write: / structure-k2 .
Las tablas internas quedan definidas por: - Tipo de Tabla - Tipo de Lnea - Clave de la Tabla
Clave
TYPES | DATA itab { TYPE | LIKE } tabkind OF { linetype | lineobj } WITH key.
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
Hash Algorithm
sorted by ascending key in the memory STANDARD TABLE SORTED TABLE HASHED TABLE
DATA
itab TYPE
OF { linetype | lineobj }
VALUE val .
Const.
Textos mantenidos fuera del programa Goto Text Elements Text symbols
LITERALES Text_literal
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.
Campos de Sistema
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
Runtime Environment
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.
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
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
Tablas de Diccionario
Datos Tcnicos
Controlan cmo la tablas se crea en la base de datos (Tamao, buffering, tipo de registros)
Campos
Clave
Campos
Nombres de campo hasta 16 letras Indicar flag de campo clave Nombre de campo(1) = letra
Clave
Elemento de Datos
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.
Dominio DATS
Campos
Campos de Referencia
Campo Importe ref. Campo Moneda Tipo CURR Tipo CUKY Campo Cantidad ref. Tipo QUAN Campo Unidad Tipo UNIT
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
Tabla
DATA it_sflight TYPE STANDARD TABLE OF sflight. DATA p_carrid LIKE sflight-carrid.
Dominio
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
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
Open SQL contiene varias sentencias SQL estndares y otras propias que simplifican y optimizan el acceso a BD desde programas ABAP.
Open SQL
SQL Definicin DB
DDL (Data Definition Language) CREATE, ALTER
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
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.
SELECT - Lectura BD
Qu Campos? Qu leer?
WHERE SELECT
Program
Qu Tabla?
FROM INTO
Dnde guardar?