ABAP - 1 - Fundamentos de ABAP

Embed Size (px)

Citation preview

  • 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.