125447402 programacion en abap

51
Programación en ABAP. Diseño de aplicaciones de SAP/R3

Upload: angel-valles

Post on 01-Nov-2014

168 views

Category:

Documents


6 download

TRANSCRIPT

Diseo de aplicaciones de SAP/R3

Contenido del Curso Introduccin a SAP(Que es SAP, Instalacin, Administracin)

Programacin bsica(ABAP, Elementos, Open SQL, Depuracin, Modularizacin)

Programacin avanzada(Ms Open SQL, REPORTs, Carga de datos, DIALOGs, Diccionario de ABAP)

Programacin alternativa(OOP, ALVs, Ampliacin del estndar, Web Dynpros)

El Entorno ABAP. Los datos Elementos de programacin OPEN SQL. Estructuras y tablas Depuracin Modularizacin

El Entorno ABAP. Los Datos

Entorno de trabajo (Workbench)

Acceso al entorno de trabajo

El Navegador de objetos

Objetos de desarrollo

Paquete Objetos locales

Creacin de un programa

El editor de ABAPGrabar

Opciones del men

Editar

Activar Ejecutar

PatternPretty

Comprobar

Cabecera Cdigo del programa

Ejecucin del programa*& Curso ABAP. Cdigo 01a. *&------------------------* REPORT ZHOLA_MUNDO.

WRITE : 'Hola Mundo'. * As se suele empezar * un lenguaje de programacin

NetWeaver: Entorno de Desarrollo + Entorno de Ejecucin

EjercicioRepeticin del cdigo Hola Mundo. Los alumnos se familiarizarn con el entorno, el editor ABAP y el navegador de objetos.

Herramientas: Depurador

En el punto de corte podemos ver cualquier variable, consultar su valor.

BreackPoints y Watch Points Uso del depurador Parada de la ejecucin Desplazamiento de la ejecucin Consulta de datos Estrategias en la depuracin de cdigo Breakpoints estticos Breakpoints dinmicos Watch points (variable) Breakpoints condicionales (eventos)

Herramientas Bsqueda de cdigo Importacin /

Exportacin Ayuda (F1)

Fichero txt

Estructura de un programaNombre del REPORTE Declaracin de tablas a usar en el programa Declaracin de tipos de datos y variables a usar Cdigo que origina la salida de datos por pantalla

Estructura: EventosNombre del REPORTE Instrucciones a ejecutar al inicio del una pgina Declaracin de tablas a usar en el programa Declaracin de tipos de datos y variables a usar en el programa Instrucciones a ejecutar al inicio de la ejecucin del programa

Cdigo que origina la salida de datos por pantalla

Elementos bsicos de programacin Declaracin de datos.DATOS

Tipos de datos y objetos de datos Operaciones con los datos

Expresiones lgicasLGICA (Algoritmos)

Secuencias de control Anidamiento y control del flujo

Datos Datos: Tipos de datos Objetos de datosSon los elementos utilizados en una declaracin. Ambos pueden ser declarados y mantenidos por el usuario.

Operaciones con los datos Asignacin de Valores. Operaciones Salida por pantalla: la sentencia WRITE Parmetros. Pantallas de entrada. Punteros. Declaracin y Asignacin.

Tipos de datos Son slo descripciones. No ocupan memoria en tiempo de ejecucin. Describen propiedades tcnicas.

Tipo C D F I N P T

Descripcin Texto Alfanumrico Fecha Numrico coma flotante Entero Texto Numrico Numrico Empaquetado Hora Hexadecimal

Tipo de Datos Elementales Tipo de Datos Estructurados Tipos pre-definidos por el sistema Tipos definidos por el usuarioDeclaracin: TYPES

X

Estructuras Tablas Internas

TYPES () TYPE TYPES LIKE

Objetos de datos Son unidades fsicas que ocupan espacio en memoria y que un programa ocupa en tiempo de ejecucin. Tiene asociado un tipo de dato

Variables Constantes Parmetros Campos smbolo (Punteros)

DeclaracinVariables

DATA () TYPE [VALUE ] DATA LIKE

Constantes Parmetros

CONSTANTS () TYPE VALUE PARAMETERS () TYPE [DEFAULT ] FIELD-SYMBOLS [TYPE ]

Campo Smbolo

Asignacin de valores En la declaracin (Obligatorio en las constantes) Despus de la declaracinMOVE TO .[COMPUTE] = . ADD TO SUBTRACT FROM MULTIPLY BY DIVIDE BY (+ - * / ** DIV y MOD) SQRT() EXP() LOG() SIN() COS() STRLEN() DATE - DATE =

Operando sobre los datosSentencias

Operadores Funciones Operando con fechas:

Interactuando con el usuario (Parmetros)

Salida por pantalla. La sentencia WRITE.WRITE , /: salto de lnea P: columna de posicin l: longitud de salida ULINE /p(l) Iconos Smbolos Podemos concatenar datos y literales

WRITE

Formatos de salida (WRITE)Variacin:Clusulas de WRITE LEFT-JUSTIFIED RIGHT-JUSTIFIED CENTERED

Variables numricas (F, P, I)Declaracin DATA: fFloat TYPE F VALUE '98.7654321E2', pPacket TYPE P DECIMALS 2 VALUE 12.05, iInteger TYPE I VALUE 32. Siempre todos los decimales [R]

Los decimales declarados [Q]Sin decimales [Z]

Formato (WRITE)WRITE DECIMALS n WRITE NO DECIMALS WRITE ROUND WRITE EXPONENT m DECIMALS nPara un I, se aaden los decimales indicados con valor 0

Manipulacin de Datos (WRITE)Manipulacin de partes de variables.

+() = Presentacin de partes de variables WRITE +() Conversin de tipos WRITE TO WRITE TO

Salida por pantalla. Parmetros.PARAMETERS () TYPE [DEFAULT ]

Elementos de Textos Multi-idiomaCabecera de listados y de columnas Smbolos de texto Seleccin de textos (parmetros)

Traduccin de elementos

Introducimos los textos en el idioma que hemos seleccionado

Ejercicio: RestaTenemos que crear un programa que solicite dos nmeros y nos muestre su diferencia

Campos Smbolo (Punteros)Declaracin: FIELD-SYMBOLS: (incluido )

variable

Asignacin: ASSIGN variable TO Asignacin dinmica : ASSIGN (parmetro) TO Utilizamos una variable que no conocemos hasta el tiempo de ejecucin

rea de Memoria

parmetro

Nombre de variable

rea de Memoria

Elementos de programacin

Expresiones lgicasOperadores Relacionales

Operadores Lgicos

Operadores de comparacin de cadenas (string comparison)

Estructuras de control de flujoOPCIONES IF ELSE IF ELSE. ENDIF. ITERACIONES

Incondicionales

DO . EXIT ENDDODO n TIMES ENDDO

CASE WHEN . WHEN WHEN OTHERS ENDCASE

Condicionadas

WHILE ENDWHILE.

Bucles: anidamiento y control Anidamiento: variable de control SY-INDEX Secuencias de control EXIT Salida del bucle CONTINUE Inicio del bucle ON CHANGE Cdigo siguiente (IF) CHECK Inicio del bucle (IF + CONTINUE)

Datos Estructurados Estructuras

Tablas internas

Tablas del sistema

(Estndares, Z)

EstructurasDeclaracin

Campos. Nos referimos a ellos como .

Valor de cada campo

TABLES DATA LIKE Sin Tipificar DATA: BEGIN OF , LIKE END OF TYPE: BEGIN OF , TYPE END OF DATA TYPE

Definiendo un Tipo

Tablas Internas Estndar Ordenadas MapeadasCon Cabecera Sin CabeceraDATA: [LIKE/TYPE] STANDARD TABLE

Clave

Implcita: Todos los campos C Explcita: Definida por el usuario WITH [UNIQUE/NON-UNIQUE] KEY

Tablas Internas con cabeceraDeclaracin

Campos.Carrid connid fldate price

Cabecera Registros

DATA: LIKE STANDARD TABLE WITH HEADER LINE. Sin TipificarDATA: BEGIN OF OCCORS 0, LIKE END OF

TYPE: BEGIN OF , (igual que en la estructura)

Definiendo un Tipo

DATA: TYPE STANDARD TABLE WITH HEADER LINE.

Tablas Internas sin cabeceraDeclaracin Sin Tipificar

Carrid

connid

fldate

price

Campos. rea de trabajo

Carrid

connid

fldate

price

Campos. Registros

DATA: LIKE STANDARD TABLE .

TYPE: BEGIN OF , (igual que en la estructura) Definiendo un Tipo DATA: TYPE STANDARD TABLE .

Tablas del Sistema Diccionario ABAP (SE11) Estructura ContenidoSPFLI

El men contextual en cualquier campo nos lleva al contenido de la tabla

OPEN SQLNative SQL (Exec) ABAP Open SQL SELECT Acceso Single con una clave completamente cualificada Procesamiento secuencial (LOOP) con restricciones

Procesamiento secuencial (LOOP) sin restricciones.

SELECT campos INTO variables FROM tabla sistema WHERE condiciones.Todos (*) Una lista

Variables Estructura Tabla interna

[ENDSELECT]

SELECT con variables y estructurasSELECT campo1, , campo_n INTO (var1, var _n) FROM ENDSELECT. SELECT campo1, , campo_n INTO (str.var1, str.var_n) FROM ENDSELECT. SELECT campo1, campo2,, campoNn / * INTO CORRESPONDING FIELDS OF str FROM ENDSELECT. La str tiene la estructura de la tabla SELECT * INTO str FROM ENDSELECT. SELECT * FROM ENDSELECT. Se omite INTO porque existe una str con el nombre y la estructura de la tabla

Carga de datos en TI con cabecerausando TABLES SELECT * FROM (omitiendo INTO creada con tables) MOVE TO APPEND [SORTED BY ] directamente en la cabecera SELECT INTO FROM APPEND [SORTED BY ]

Carga de datos en TI sin cabecerausando TABLES SELECT * FROM (omitiendo INTO creada con tables) MOVE TO APPEND TO [SORTED BY ] usando una estructura (workarea) como rea de trabajo SELECT INTO FROM APPEND TO [SORTED BY ]

Carga de datos en TI - ComparacinCon cabecera: la cabecera es el buffer de lectura/escritura SELECT INTO FROM APPEND [SORTED BY ]

Sin cabecera: una estructura (workarea) es el buffer de lectura/escrituraSELECT INTO FROM APPEND TO [SORTED BY ]

Salida datos de una TIRecorremos la tabla presentando sus datos en un dispositivo (pantalla.) Con cabecera: la cabecera es el buffer de lectura/escritura LOOP AT WRITE -campo [afecta a la cabecera]

Sin cabecera: una estructura (workarea) es el buffer de lectura/escritura LOOP AT < tabla interna> INTO WRITE -campo

Procesamiento de Tablas InternasLectura de datos de la tabla interna LOOP AT READ TABLE {INDEX i} TI Buffer LOOP AT INTO READ TABLE INTO {INDEX i}

Escritura de datos en la tabla interna APPEND INSERT {INDEX i} MODIFY {INDEX i}

TI APPEND TO

Buffer

INSERT TO {INDEX i} MODIFY FROM {INDEX i}

Otras operaciones con TIsOrdenacin

SORT BY ASCENDING / DESCENDINGAcumulacin (en el SELECT) COLLECT Key: Campos no numricos Si no existe Key: APPEND Si existe Key: MODIFY

Acotacin de los buclesLOOP AT FROM TO Registros concretos Nivel de control Informacin, edicin, borrado La variable SY-TABIX

Operaciones sobre un registroREAD TABLE READ TABLE INDEX . READ TABLE INTO INDEX . READ TABLE WITH TABLE KEY = = . READ TABLE INTO WITH TABLE KEY = ... = . READ TABLE WITH KEY = . READ TABLE WITH KEY = BINARY SEARCH. READ TABLE COMPARING . . . . READ TABLE COMPARING ALL FIELDS. READ TABLE TRANSPORTING ... READ TABLE TRANSPORTING NO FIELDS.

Niveles de controlLOOP AT {INTO }AT FIRSTENDAT. AT NEW ENDAT. AT END OF ENDAT.

AT LAST..ENDAT.ENDLOOP

Borrado de TIs