View
171
Download
6
Category
Preview:
Citation preview
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
Recommended