Introducción a WAS
(Web Application Server)

 

1 Puntos Clave de WAS (Programación BSP).

    1.1 Las Business Server Page.

    1.2 Los lenguajes soportados.

    1.3 Las herramientas de trabajo.

    1.4 El flujo de las BSP.

    1.5 Enlace con SAP: Ejecución de código.

 

1 Puntos Clave del WAS (Programación BSP)

1.- La articulación de la programación WAS se hace (básicamente) a través de las BSP (Business Server Page).

2.- Lenguajes soportados por las BSP.
           - HTML: Base de las BSP [Esencial]
           - JavaScript: Añade más funcionalidad a las BSP
           - ABAP/4 embebido: Añade la funcionalidad SAP a las BSP

3.- Herramienta de trabajo:
            Workbench de SAP R/3 --> se80

4.- El flujo se establece por clase de control (ABAP/4) o por flujo entre páginas (definición propia de BSP)

 

1.1 Las Business Server Page

Las BSP (Business Server Page) son un tipo de objeto SAP (al igual que p.ej. las transacciones, los programas o los mensajes) que constituyen un conjunto de páginas enlazadas entre ellas en base a una funcionalidad común.

Podría establecerse un paralelismo con una transacción ABAP/4 en la que podríamos establecer por ejemplo las siguientes equivalencias:
            Transacción             <-->    BSP (asociada a una dirección http)
            Dynpro                    <-->    Página html
            Subscreen               <-->    Fragmento de página html
            Include                    <-->    Fichero include
            PBO, PAI, ...             <-->    Eventos de página On...
            user_command        <-->    Evento OnProcessing
            [...]

Existen BSP standard SAP y otras que pueden crearse para funciones propias de cliente. Todas ellas están agrupadas en lo que se llama el workbench WAS bajo objetos más genéricos que agrupan BSP y datos por ejemplo de seguridad de acceso o direccionamiento de las páginas html.

 

1.2 Los lenguajes soportados

Los lenguajes soportados por las BSP son:

HTML: Constituye la base de las BSP. En el fondo el resto se embeben en este primero. Tenemos una utilidad de <tag>’s en el que se listan los tags possibles en función de la versión soportada de HTML. (Se puede ver en se80 dentro del botón desplegable de tag’s)

JavaScript: Añade más funcionalidad a las BSP. Funciona exactamente igual que JavaScript en una página HTML.

ABAP/4 embebido: Añade la funcionalidad SAP a las BSP. Va entre los tags <%> </%>. Es muy importante en cuanto es el que se establecerá como puente entre SAP R/3-core e internet, y permite:

1.- Acceder directamente a tablas CRM de igual modo que un report (SELECT vbeln FROM vbek WHERE...).

2.- Acceder a funciones (generales o BAPIs) para ejecutar funcionalidades complejas (por ejemplo, modificación de un pedido de CRM)
.

 

1.3 Las herramientas de trabajo
La manera más cómoda de trabajar y construir BSP es con el ABAP/4 Workbench, accesible bajo la transacción se80.

Ejecutando esta transacción vemos la tradicional pantalla de Workbench. En los botones desplegables escogemos el tipo de objeto a tratar.

Básicamente:

Objetos MIME: Corresponden a imágenes (gif, jpeg, etc.), páginas de estilo CCS y cualquier objeto auxiliar a las páginas HTML.

Tags: Listado de tags disponibles organizados en HTML, XML, etc.

Repositorio: Agupación de los objetos del repositorio workbench à Entre ellos las BSP.

Otros …


NOTA: Para cada BSP que creemos, SAP crea automáticamente un folder de objetos MIME dónde podemos importar, por ejemplo, todas las imágenes que usaremos en la BSP.

 

1.4 El flujo de las BSP

El flujo de las BSP se puede controlar básicamente de dos maneras:

1.- Control vía clase ABAP/4. En la cabecera de definición de una BSP se puede definir una clase ABAP (del Workbench de objetos). Esta clase puede definir el flujo de las pantallas así como deja a disposición de la BSP todos los métodos de la clase.

Siguiendo la filosofía de programación orientada a objetos la clase se mimetiza con la transacción y sus métodos, argumentos, variables y parámetros (import, export, change, result).

Por ejemplo, en una BSP de creación de pedidos vía internet, unos métodos lógicos a incluir en la clase de control serían el chequeo de número de pedido, la creación del pedido en sí, el método de control de errores, etc.
Desde estos métodos podemos llamar a funciones (o a BAPIs que dejan de ser lo mismo) para ejecutar código complejo.

2.- Flujo definido en BSP. En la cabecera de BSP se puede definir el flujo entre las diferentes páginas y un código asociado a cada salto entre páginas. Sólo llamando a este código de salto con una función en el evento “OnProcessing” provocamos un salto a la página deseada.

 

1.5 Enlace con SAP: Ejecución de código.

El código ABAP puede estar en 3 sitios diferentes:

1 Embebido en la página html. En el cuerpo del código HTML de la BSP.

2 En el código descriptivo de los eventos “On..” de la BSP. (OnINitialization, OnProcessing, OnInput, ON...). No confundir con los eventos JavaScripr como ()

3 En las llamadas a los módulos de la clase de control de la BSP. Este punto se reserva para los tratamientos más complejos.