8/18/2019 ABAP - 1 - Fundamentos de ABAP
1/28
apacitación ABAP & IS-Hapacitación SAProyecto Soporte Foscal
8/18/2019 ABAP - 1 - Fundamentos de ABAP
2/28
ontenido ABAP
Lenguaje y herramientas de desarrolloiccionario de datosProgramación orientada a o!jetos
"eportesFormularios AmpliacionesProgramación de di#logos
Batch inputs y L$S% Ado!e orms
Página 2
8/18/2019 ABAP - 1 - Fundamentos de ABAP
3/28
ontenido IS-H
Introduccion ISHClinical %or' Station Application(rgani)ador de pacientes
Parameteri)ed ocumentation Customi)ingProgramación*a!las ISH $odelo entidad relacion
Página 3
8/18/2019 ABAP - 1 - Fundamentos de ABAP
4/28
nguaje y herramientas ABApacitación SAPoyecto Soporte Foscal
Página 4
8/18/2019 ABAP - 1 - Fundamentos de ABAP
5/28
guaje y herramientas ABAP
Contenido
• Aplicaciones de SAP y el rol de ABAP• (!jetos y Herramientas de desarrollo• Ar+uitectura t,cnica de SAP• Caractersticas del Lenguaje ABAP• Creación de reporte• *ipos de datos ABAP prede.nidos• /aria!les y tipos de datos• Par#metros de selección•
*a!las internas• "ecomendaciones y !uenas pr#cticas
Página 5
8/18/2019 ABAP - 1 - Fundamentos de ABAP
6/28
Página 6
caciones de SAP y el rol de ABAP
*ipos de aplicaciones SAPSAP posee un conjunto bastante extenso de aplicaciones para elmercado. Esas aplicaciones se dividen en 2 tipos
• Aplicaciones centrales• Aplicaciones específcas de industria !tambi"n
conocidas como verticales#
$as aplicaciones centrales son las %ue soportan procesos denegocios comunes de una empresa& procesos %ue prácticamentetodas las empresas tienen.
$as aplicaciones especi'cas de industria son justamente las %uesirven para soportar procesos %ue no todas las empresas tienen&como por ejemplo los de el area de salud.
8/18/2019 ABAP - 1 - Fundamentos de ABAP
7/28
caciones de SAP y el rol de ABAP
0jemplos de aplicaciones SAP
Aplicaciones centrales• SAP-ERP• SAP-CRM•
SAP-SRM• SAP-SCM
Aplicaciones espec.cas de industria• SAP IS-H•
SAP Banking• SAP Oil & as
Página (
8/18/2019 ABAP - 1 - Fundamentos de ABAP
8/28
caciones de SAP y el rol de ABAP
"ol del ABAP
!Cu"l es el rol de ABAP en este escenario deaplicaciones #ue posee SAP$
A)AP es una *erramienta tecnol+gica para poder soportar tantolas aplicaciones centrales como las espec,'cas de industria.
Página -
8/18/2019 ABAP - 1 - Fundamentos de ABAP
9/28
r+uitectura de SAP
Ar+uitectura t,cnica de SAP
Página
/apa depresentaci+n
/apa de aplicaci+n
/apa de base dedatos
8/18/2019 ABAP - 1 - Fundamentos de ABAP
10/28
tos y Herramientas de desarrollo
(!jetos de desarrolloExisten distintos tipos de objeto de desarrollo en A)AP
• Progra%as• Existen 3 tipos 0EP10& 1$EP11$ e 7/$Es.
• Mdulos de 'unciones• Sirven para de'nir procedimientos %ue pueden ser
reutili8ados.• Clases
• Se utili8an para encapsular 9uncionalidades %ue sonreutili8adas.
• (ransacciones• Sirven para %ue los usuarios puedan ejecutar programas.
• Pa#uetes• Se utili8an para organi8ar los objetos del repositorio.
• O)*etos de diccionario• e'nen tipos de datos& estructuras& tablas& entre otros
objetos %ue pueden ser utili8ados en los programas. Página :;
8/18/2019 ABAP - 1 - Fundamentos de ABAP
11/28
tos y Herramientas de desarrollo
Herramientas de desarrolloSAP provee una transacci+n distinta para tratar cada uno de losdi9erentes tipos de objetos
• Editor ABAP +, SE.• Screen Painter +, SE/0
• Menu Painter +,SE10• 2unction Builder +, SE3• enerador de clases +, SE41• 5ictionario de datos ABAP +, SE00
odas estas *erramientas están agrupadas dentro del 1bject7avigator ! transacci+n SE-;#.
Página ::
8/18/2019 ABAP - 1 - Fundamentos de ABAP
12/28
#cteristicas del Lenguaje ABAP
Car#cteristicas del Lenguaje
ABAP• Es un lengua*e tipifcado• Per%ite acceso S67 a la capa de Base de datos• Per%ite la creacin de aplicaciones %ulti-lengua*e•
Per%ite la orientacin a o)*etos• Es independiente de la plata'or%a en la #ue se
e*ecuta
Página :2
8/18/2019 ABAP - 1 - Fundamentos de ABAP
13/28
reación reporte
Creación de reporte
Entramos a la transacci+n SE3- e ingresamos el nombre delreporte& en este caso ZCURSO_BIENVENIDA.
Página :3
$uego presionamos el bot+n Crear.
8/18/2019 ABAP - 1 - Fundamentos de ABAP
14/28
reación reporte
En la siguiente ventana se ingresal los atributos del programa
Página :4
8/18/2019 ABAP - 1 - Fundamentos de ABAP
15/28
reación reporte
Se le debe ingresar un t,tulo al programa < los atributoscorrespondientes %ue se detallan a continuaci+n
• (ipo indica %ue tipo de programa es. $as opciones másimportantes son
• Progra%a E*ecuta)le Programas de tipo report& consistede dos pantallas& una pantalla de selecci+n < una pantallade listado.
• Progra%a de Include Se utili8a para crear un m+duloA)AP donde se puede de'nir tipos de datos& variables <subrutinas para luego incorporar a otros programas.
• Module pool Se utili8a para crear programas de diálogo.ás adelante se verá este tipo de programa en detalle.
•
Status El status del programa indica& si se trata de unprograma productivo& de test o de sistema.• Aplicacin se puede utili8ar para indicar cual es el m+dulo
9uncional al %ue pertenece el programa.• rupo de autori8aciones =rupo de autori8aciones al %ue
*a sido asignado el programa. $a pertenencia de un programa
a un grupo de autori8aciones es mu< importante cuando severi'ca si un usuario está autori8ado para la ejecuci+n o elPágina :5
8/18/2019 ABAP - 1 - Fundamentos de ABAP
16/28
reación reporte
Al presionar =rabar se pide %ue se indi%ue un pa%uete.
Página :6
El pa%uete sirve para organi8ar los objetos de >orbenc* dentrodel repositor< < para asignar capas de transporte a las ordenesde los objetos de un pa%uete.
8/18/2019 ABAP - 1 - Fundamentos de ABAP
17/28
reación reporte
Página :(
Nota sobre los nombres de los objetos de desarrollo:
7o se permite nombrar a los objetos de desarrollo de cual%uiermanera. SAP s+lo permite %ue el nombre de los objetos de clientes+lo puedan crearse iniciando con ? o @.7o existe ninguna implicaci+n t"cnica para tomar la decisi+n de
empe8ar el nombre de un programa con ? o @ pero porconvenci+n se utili8a ? para los programas %ue se creen con 'nesproductivos e @ para los programas con 'nes de pruebas.
A continuaci+n se adjunta el programa de ejemplo
?/10SE)E7BE7A
3icroso9t Cord
4ocument
8/18/2019 ABAP - 1 - Fundamentos de ABAP
18/28
s de datos ABAP prede.nidos
Página :-
*ipos de datos ABAP
prede.nidos(ipo 7argoinicial
7argo9"lido
:alor inicial Signifcado
;u%*ole number#
D - - ; Dloating point number
P - : :6 ; PacFed number
Al'anu%
8/18/2019 ABAP - 1 - Fundamentos de ABAP
19/28
ria!les y tipos de datos
Página :
/aria!les y tipos de datosA continuaci+n veremos como declarar tipos de datos < variables.
*ipos de datosSe declaran utili8ando la instrucci+n (=PES. Sirve para declarartipos de datos de un elemento o estructuras complejas con
muc*os campos.
Si %uisiera declarar un tipo de datos %ue e%uivalga a un c*ar de 4posiciones.
TYPES m i_tipo(4)TYPE c.
Si %uisiera declarar una estructura de 3 campos lo *ar,a de lasiguiente manera
TYPES:BEG IN O F tipo_estructura, cam po1 TYPE c, cam po TYPE c,
8/18/2019 ABAP - 1 - Fundamentos de ABAP
20/28
ria!les y tipos de datos
Página 2;
/aria!les
Se declaran con la instrucci+n AA < la sintaxis es la misma %uela de la instrucci+n (=PES.
Si %uisiera declarar un tipo de datos %ue e%uivalga a un c*ar de 4posiciones.
"#T# cam po(4)TYPE c.
Si %uisiera declarar una estructura de 3 campos lo *ar,a de lasiguiente manera
"#T#:BEGIN O F estructura, cam po1 TYPE c, cam po TYPE c, cam po! TYPE c, EN" OF estructura.
8/18/2019 ABAP - 1 - Fundamentos de ABAP
21/28
entos de un reporte
Página 2:
01entos de un reporte y
par#metros$os reportes consisten de una pantalla de selecci+n < unapantalla de listado.
anto la pantalla de selecci+n como la pantalla de listado s+lo soncreadas si algun elemento existe en la misma.
Para el correcto desarrollo de un reporte deben tenerse en cuentalos eventos correspondientes %ue se dan en el ciclo de vida de unreporte
I2I*IALI3A*I(2Es el primer evento %ue se llama del programa& antes de lacreaci+n de la pantalla de selecci+n.
A* S0L0C*I(2 SC"002Se utili8a para la validaci+n de los parámetros de selecci+n del
reporte. Si en este evento se emite un mensaje de error& no sesigue con los siguientes eventos *asta %ue el error se *a
8/18/2019 ABAP - 1 - Fundamentos de ABAP
22/28
entos de un reporte
Página 22
S*A"*-(F-S0L0C*I(2Se ejecuta cuando despu"s de presionar el boton ejecutar !o D-#
siempre < cuando se *a
8/18/2019 ABAP - 1 - Fundamentos de ABAP
23/28
r#metros de selección
Página 23
Par#metros de selecciónPara crear campos en la pantalla %ue el usuario pueda manipularpara especi'car 'ltros de datos u opciones se usan losparameters < selectoptions.
$os para%eters se utili8an para %ue el usuario pueda ingresarun valor %ue luego puede ser utili8ado para seleccionar datos o lo
%ue el desarrollador determine. $os parámeters se representandentro del programa como una variable simple.
$os select-options cumplen la misma 9unci+n de un parameterpero con la di9erencia %ue permiten ingresar más de un valor alos campos de selecci+n.
$os selectoptions se representan en el programa como una tablainterna con cabecera %ue tiene los siguientes campos
• S=7• 1P17• $1C• J=J
8/18/2019 ABAP - 1 - Fundamentos de ABAP
24/28
a!las internas
Página 24
*a!las internas$as tablas internas son la *erramienta de A)AP para tratarcolecciones de datos similar a los arreglos !arra
8/18/2019 ABAP - 1 - Fundamentos de ABAP
25/28
a!las internas
Página 25
El contenido de las tablas no se puede acceder directamentecomo se *ace con los arreglos en el resto de los lenguajes sino
%ue lo debemos *acer mediante el uso de una variable del mismotipo de estructura de la tabla. A esta variable la llamamoscabecera o >orF area.
Asumiendo %ue se de'ni+ una estructura @PE1 previamentede'nimos una tabla de pedidos con su cabecera de la siguiente
manera
"#T# * a_pe+i+o TYPE t$_pe+i+o. K/abecera"#T# it_pe+i+os TYPE T#BE O F t$_pe+i+o. Kabla interna
8/18/2019 ABAP - 1 - Fundamentos de ABAP
26/28
a!las internas
Página 26
(peraciones so!re ta!las internasA continuaci+n vamos a describir como se llevan a cabo lasoperaciones más comunes sobre tablas internas& como insertar&leer& modi'car& limpiar& etc. Para esto asumimos %ue
8/18/2019 ABAP - 1 - Fundamentos de ABAP
27/28
a!las internas
Página 2(
)orrar todo el contenido de una tabla
EFES/ it_pe+i+os.
$eer un registro particular de una tabla
E#" T#BE it_pe+i+os INTO *a_pe+i+o IN"E0 i'+ice.
1btener el nLmero de registros
"#T# 'ro_reistros."ES2IBE T#BE it_pe+i+os INES 'ro_reistros.
#
8/18/2019 ABAP - 1 - Fundamentos de ABAP
28/28
mendaciones y !uenas pr#cticas
Página 2-
"ecomendaciones y !uenas
pr#cticas• El uso de veri'caci+n de autori8aciones deber,a
*acerse mediante el uso de Aut*orit< /*ecFs. $aimplementaci+n de la autori8aci+n mediante el atributo
grupo de autori8aciones es bastante inMexible < solodeber,a utili8arse en casos simples.
• $a implementaci+n del concepto de autori8aci+n es unade las tareas del programador %ue programa el accesoa las tablas de base de datos. $os pasos siguientes&
como de'nir autori8aciones < per'les < designar losregistros maestros de usuario& pertenecen a las tareasdel administrador.