SAP Netweaver / ABAP                  Notas técnicas / Tips / Tutorials

Cómo crear el programa impresor para la ejecución de un Smartform en SAP

Aprenda paso a paso a crear el programa impresor para ejecutar un Smartform en SAP.

La herramienta Smartforms provista por SAP está enfocada en el desarrollo de formularios, por ejemplo el de una factura, que posteriormente será impresa de algún modo. Como medio de salida, los Smartforms soportan una impresora, un fax, e-mail o Internet (usando la salida XML).

Existen otras herramientas de SAP que posibilitan lo mismo, como Sapscript y Adobe Forms.

Para poder desarrollar un Smartform, es necesario previamente conocer algunos conceptos importantes:

El desarrollo de un Smartform consta de dos fases:

  • el diseño del formulario (layout)
  • y su invocación desde un programa ABAP. A este programa se lo denomina Programa Impresor o Programa de control. Es necesario tener creado este programa antes de poder utilizar el Smartform. Si bien la lógica implementada en este programa podría estar incorporada en el propio diseño del smartform, es habitual en la mayoría de las implementaciones de Smartforms, contar con un programa impresor específico que contenga esa lógica, "separada" del diseño específico del formulario.

El programa impresor o programa de control puede ser: desarrollado desde “cero” o adaptado de alguno existente.

Este programa, además de encargarse de realizar la llamada al Smartform, puede contener la lógica necesaria para la obtención de la información que el Smartform va a utilizar (por ejemplo, puede realizar consultas a la base de datos para extraer los datos a mostrarse en el Smartform). Los datos extraídos por el programa impresor se almacenarán en estructuras de datos (tabla interna, variables, etc.), y será enviada al Smartform para que éste pueda usar esa información.

Sin embargo, como se mencionó en párrafos anteriores, el mismo diseño del Smartform podría contener esa lógica para la obtención de información que él mismo va a utilizar.

En el presente tip se desarrollará paso a paso la creación de un programa impresor, explicando las principales sentencias de su código, ejemplificando la obtención de los datos a través de un programa impresor (no en el propio Smartform), que será generado desde cero.

Proximamente, en otro tip se detallarán los pasos necesarios para la definición del diseño propiamente dicho del formulario smartform.

Consideraciones para el Ejemplo a desarrollar:

Se trabaja con la tabla SBOOK del entorno de pruebas y se requiere que el diseño del formulario smartform a desarrollar respete el siguiente “layout”, y deberá recuperar los datos necesarios para listar las reservas correspondientes a los vuelos con los siguientes datos:

Compañía (campo carrid): Lufthansa (LH)

Connection Id (campo carrid): 0400

Fecha (campo fldate): 28 de Febrero de 1995.

ABAP-Layout-smartform

 

Pasos para la creación del programa Impresor:

1) Acceder a la transacción SE80 para crear un programa, denominado, por ejemplo, ZIMPRESOR, que será el programa Impresor del Smartform.

ABAP-Crear-Programa-Impresor-2

2) En este paso, una vez creado el programa impresor, será necesario en él realizar lo siguiente::

a) Definir las estructuras de datos, donde almacenar los datos obtenidos.

b) Obtener los datos (con consultas a la base de datos).

c) Especificar las funciones que llaman al Smartform

A continuación se detalla para a), b) y c) el código para realizar la acción correspondiente:

a) Definir las estructuras de datos:

Se detallan las siguientes sentencias dentro del programa impresor:

 

ABAP-Codigo-Definicion-datos-3-1

 

Donde se puede observar:

  • la creación de 3 variables (date1, carrier1 y connection1) para almacenar los datos únicos que se van a mostrar en el formulario. En la imagen del layout de salida mostrada anteriormente, se corresponde con los campos: Field 1, Field 2 y Field 3. El Field 7, también mostrado, no va a contener ningún dato en particular, pero es donde el desarrollador puede escribir su nombre o algún texto que sea de su interés. Este campo se incluye únicamente debido a que contribuirá luego, cuando se defina la estructura del Smartform, a detallar una de sus partes (por ejemplo, el “footer”).
  • La creación de una variable llamada l_funcion cuyo tipo es rs38l_fnam, contendrá  el nombre del módulo de función que ejecuta al Smartform.
  • La definición de un tipo de datos que coincide con la estructura de la tabla SBOOK (se usa de esta manera para simplificar el ejemplo).
  • Se declara una tabla interna del tipo definido en el código ejemplo.

b) Obtención de los datos:

ABAP-Codigo-Seleccion-4-1

 

En el código anterior se puede observar:

  • Se asigna a cada una de las variables creadas en el paso a) los valores que se solicitaron en el requerimiento ejemplo.
  • date1 se corresponde con la fecha, currier1 se corresponde con Compañia y connection1 se corresponde con Connection ID
  • La sentencia SELECT  obtiene los datos que se almacenarán en la tabla interna.

c) Especificar las funciones que llaman al Smartform

ABAP-Codigo-imprimir_formulario-5

La sentencia PERFORM imprimir_formulario es la que invoca a las funciones: 1) SSF_FUNCTION_MODULE_NAME (standard de SAP) y 2) l_funcion (definición propia), que son necesarias para la invocación de cualquier Smartform. (Tener en cuenta que l_funcion puede llevar otro nombre).

Se detalla esta acción en el código siguiente:

ABAP-Codigo-SSF_FUNCTION-6

 

Donde:

Para la función 1) SSF_FUNCTION_MODULE_NAME, se definen los parámetros necesarios:

  • el nombre del formulario (formname) – se introduce el nombre que se le dará al Smartform una vez que se lo cree.
  • el parámetro fm_name, que en este ejemplo en particular se definirá como l_funcion, como fue declarada anteriormente de tipo s38l_fnam.

 

Por último se declara el manejo de excepciones para la función.:

ABAP-Codigo-l_funcion-7

Como se visualiza en el código anterior:

  • Inmediatamente debajo del llamado a la función, será necesario chequear que no haya habido errores (sy-subrc = 0) y en ese caso se hará un call function a l_funcion (se corresponde con el “IMPORTING” de la función anterior).
  • En EXPORTING se detallan los campos que se desean enviar al Smartform.
  • En TABLES la tabla interna anteriormente definida, y como es habitual, el manejo de las excepciones correspondientes.

De esta manera el programa impresor está listo para ser utilizado para ejecutar un smartform.

Para tener en cuenta ...

  • El programa impresor es necesario para la ejecución de un Smartform, pero no es suficiente, resta crear el smartform (definiendo el diseño), para que pueda ser invocado por el Programa impresor.
  • Si bien la lógica definida en el programa impresor puede estar incorporada al diseñar el smartform, es habitual crear su lógica en el programa impresor como se detalló en el tip presente.

En el próximo tip se mostrará paso a paso cómo definir el smartform (diseñar el “layout”), para luego poder ejecutarlo, haciendo su invocación desde el programa impresor recientemente creado.


n_Diego-Perez Especialista ABAP

 

 

 

 


Copyright 2012 - Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


Sap HANA en "pastillas": Parte 1 de 3

Continuamos tratando de profundizar el entendimiento de esta tecnología, su materialización, y su proyección futura. Mediante preguntas y respuestas abordaremos distintos aspectos de SAP HANA, siempre con un enfoque objetivo y conceptual.

A lo largo y a lo ancho del ambiente de los sistemas corporativos, SAP HANA sigue siendo el tema que más atención monopoliza entre analistas, prensa especializada, clientes y profesionales de sistemas.

¿Por qué SAP HANA despierta tanto interés? ¿Es SAP HANA una solución, una plataforma, una tecnología, un software? ¿Cómo se materializa en términos de producto? ¿Quién es el cliente principal para SAP HANA? ¿Qué significa el tratamiento columnar de bases de datos?  ¿Qué relación hay entre SAP HANA y BW? ¿Cómo afectará SAP HANA a la plataforma del SAP ERP en el mediano y largo plazo? ¿Qué destrezas se requerirán para sacar provecho de esta tecnología? ¿Significa SAP HANA que SAP es un nuevo competidor en el mercado de base de datos, a la par de Oracle y otros? ¿Cómo puedo empezar a acercarme a esta tecnología?

Estas son algunas de las preguntas que intentaremos responder en esta serie de tips sobre SAP HANA, siempre con un enfoque objetivo y conceptual, en todos los casos en que sea posible, ilustrándolo con ejemplos.

PARTE 1:

¿Es SAP HANA una solución, una plataforma, una tecnología, un software? ¿Cómo se materializa en términos de producto? ¿Quién es el cliente principal para SAP HANA?

Cuando la gente habla de SAP HANA, en general se está refiriendo a SAP HANA “Appliance”; ( “Appliance” significa herramienta, dispositivo.) Decir SAP HANA "Appliance" es en realidad redundante, dado que HANA significa "High-Performance Analytic Appliance", es decir, comprende dicha cualidad, pero nos valemos de esta redundancia para diferenciarlo del concepto de HANA como plataforma que referiremos más adelante. Nota de actualización: Actualmente, se lo denomina simplemente "SAP HANA"

HANA "Appliance" es una herramienta compuesta por software + hardware (certificado) + base de datos, que se agrega y se integra a un sistema SAP existente. Está basado en un SUPERconjunto de tecnologías SAP, siendo la más relevante el uso del in-memory computing, es decir, el almacenamiento de datos íntegramente en memoria RAM. De allí la componente fundamental de hardware certificado que integra HANA.

Si bien en los comienzos se hablaba de identificar a SAP HANA por versiones (1.0, 1.2, 1.5 y 2.0), SAP HANA no está "versionado" y provee innovaciones automáticamente cuando se lo actualiza. Para informar sobre esas nuevas características que se incorporan a SAP HANA, SAP lo hace mediante "Service Packs" que incluyen Revisiones a la entrega base.

En un escenario "side-by-side", donde un "appliance" SAP HANA corre "al lado" de un sistema ERP, o BW, SAP HANA puede utilizar un servidor de replicación Sybase (base de datos que integra HANA) o SAP Landscape Transformation,  para copiar y sincronizar datos del SAP ERP o del Data Warehouse en tiempo real, sin distraer recursos de los sistemas transaccionales. Según SAP, por ejemplo, HANA puede monitorear 500 puntos de venta en cuestión de segundos.

Una vez almacenados “in-memory”, HANA permite gestionar y analizar grandes volúmenes de datos a velocidades miles de veces más grandes que las bases de datos convencionales. Posee una componente de programación para aplicaciones customizadas, y soporta, desde ya, estándares de la industria como SQL y MDX.

En una primera instancia, SAP posiciona a SAP HANA "Appliance" como una solución dirigida a las aplicaciones analíticas tipo Business Intelligence.

Sin embargo, tanto SAP como el mercado imaginan a SAP HANA en el tiempo más como una plataforma de desarrollo, que como una herramienta analítica únicamente. El acceso a velocidades de amasado de información voluminosa miles (o decenas de miles) de veces más rápido que hasta ahora, abre un horizonte fascinante para una nueva generación de aplicaciones. Además, SAP HANA permite alimentarse con datos provenientes de fuentes externas, y permitirá también el tratamiento de información no-estructurada.

En síntesis, SAP HANA es una herramienta compuesta de hardware y software, que se suma y se ensambla con el escenario SAP existente, y que sirve como base para nuevas aplicaciones de análisis de datos intensivo. No obstante, todo parece indicar que SAP HANA, con el tiempo,  se consolidará más como una plataforma de desarrollo y una base de datos global que como un simple "Appliance".

Actualmente, tanto SAP Netweaver Business Warehouse como las soluciones ERP y CRM de la SAP Business Suite, pueden tener a la base de datos SAP HANA como base de datos primaria subyacente, reemplazando la base de datos relacional tradicional, y operando de esta forma en un escenario integrado.

¿Por qué SAP HANA ha monopolizado tanta atención de clientes, especialistas y la prensa especializada?

La realidad es que, si miramos para atrás, las tecnologías de base de datos NO registraban cambios trascendentes desde hace 20 años, al menos. Conforme crecía el poder de procesamiento, las BD se hacían más grandes y veloces, pero su estructura básica y arquitectura, hasta ahora, seguía siendo esencialmente la misma.

Las tecnologías que hacen la médula SAP HANA, (Ver tip Entendiendo SAP HANA ), no sólo son innovadoras cada una por sí solas, sino que aunadas representan un cambio cualitativo mayúsculo, un punto de inflexión en la forma en que podemos procesar grandes volúmenes de datos, tanto en la velocidad como en el espectro de aplicaciones.

Si bien, como se dijo antes, el principal campo de oportunidades para SAP HANA es el nicho de las aplicaciones analíticas, obviamente hay señales contundentes que alrededor de esta tecnología SAP sustentará su estrategia de crecimiento y próximos ofrecimientos. Tratándose SAP del proveedor líder para aplicaciones de gestión corporativa, es lógico que cause revuelo y curiosidad.

En cierta forma, la innovación de SAP HANA recuerda la apuesta de avanzada de SAP cuando anunció el reemplazo de su sistema R/2,  mainframe oriented, por el revolucionario R/3,  totalmente basado en una arquitectura Cliente Servidor de tres niveles, fraccionando la capa de presentación y lógica de la aplicación. Estas tecnologías hasta ese momento estaban confinadas a los laboratorios, y su éxito marcó ciertamente un punto de inflexión en el mundo de los ERP.

¿Cuáles son las principales tecnologías innovadoras que intervienen en SAP HANA?

Las tecnologías que hacen la médula SAP HANA, (Ver tip Entendiendo SAP HANA ) son varias, pero se destacan:

  • In-memory Computing
  • Procesamiento Paralelo
  • Procesamiento de tablas columnar

La principal característica de SAP HANA es el “in-memory” computing, es decir almacenar y gestionar los grandes volúmenes de datos en MEMORIA RAM, bien cerca de la CPU.  No hablamos aquí de “caches” o “buffers”, tecnologías que se usan hacen años, sino de poner un data warehouse ENTERO, en memoria RAM.

Obviamente, la evolución del hardware y el software de base es lo que ha permitido este avance. El costo descendiente de la RAM, el mismo que nos pone 16 Gigabytes en un bolsillo o celular. Luego, los sistemas operativos de 64 bits permiten utilizar hasta 1 Terabyte de memoria direccionable comparado con los 4 Gb de los S.O. de 32 bits.  No es nuevo ni exclusivo de SAP el uso de esta tecnología, de hecho, han habido otros precursores del procesamiento "in-memory", pero SAP la lleva un paso más allá combinándola con otras y poniéndola al servicio de su enorme base de clientes y aplicaciones.

Obviamente adquieren particular relevancia en la plataforma de SAP HANA los proveedores de hardware, partners esenciales de SAP para ofrecer el hardware “servidor” configurado y certificado, incluso con el software SAP HANA pre-instalado.

También los system integrators y los desarrolladores de software tienen un espacio de protagonismo nuevo para identificar oportunidades de aplicación y desarrollarlas o modelizarlas.

 

¿Qué significa el tratamiento columnar de las bases de datos? ¿Qué ventajas ofrece sobre el tradicional, y por qué lo utiliza SAP HANA?

Una base de datos columnar es aquella que permite trasponer las tablas almacenándolas físicamente por columna en lugar de filas.

Cuando se hace un tratamiento columnar de una tabla, físicamente todos los valores de la primera columna se ubican juntos, seguidos de la columna (campo) 2, etc. Las instancias de cada columna se almacenan en el mismo orden de los registros. Por lo tanto, la entrada nro. 30 de la columna 1, y la nro.30 de la columna 2, pertenecen al mismo registro.

Por ejemplo, la siguiente tabla:

CARRID

CONNID

FLDATE

CARRNAME

AA

0161

20120303

Aerolíneas Argentinas

AA

0161

20120306

Aerolíneas Argentinas

AA

0161

20120516

Aerolíneas Argentinas

BR

0163

20120307

Brania Airlines

BR

0163

20120408

Brania Airlines

SQ

1164

20120102

Singapore Airlines

SQ

1164

20120228

Singapore Airlines

SQ

1164

20120303

Singapore Airlines

 

En un sistema tradicional los datos se guardarían:

AA,0161,20120303, Aerolíneas Argentinas; AA, 0161, 20120306, Aerolíneas Argentinas; AA, 0161, 20120516, Aerolíneas Argentinas; …     …SQ, 1164, 20120303, Singapore Airlines

 

En un administrador de Base de datos columnar:

AA, AA, AA, BR, BR, SQ, SQ, 0161, 0161, 0161,  0163, 0163, 0163,  20120303, 20120306, 20120307, 20120102, 20120228, 20120303, Aerolineas Argentinas, …    …Singapore Airlines

Uno de los mayores beneficios del almacenamiento columnar es que puede ser fuertemente comprimido. La compresión permite, a su vez, que las operaciones columnares (SUM, COUNT, AVG, MIN, MAX) se realicen muy rápidamente.

A su vez, en una disposición columnar de tablas éstas están auto-indexadas, lo cual genera ahorro en el espacio de almacenamiento, respecto un sistema relacional con los mismos datos.

SAP HANA soporta tanto tratamiento columnar de tablas como el convencional. De todos modos, los beneficios de las BD columnares serán menos importantes a medida que se profundice el manejo de tablas en RAM y la velocidad del hardware.

 

¿A quién está orientada la solución? ¿Quién es el cliente ideal de SAP HANA?

Los clientes que más se benefician con SAP HANA son aquellos que necesitan procesar enormes volúmenes de información, hacerlos disponibles para las aplicaciones de BI. SAP HANA tiende un puente casi invisible entre los datos transaccionales (OLTP) y el procesamiento analítico en tiempo real (OLAP).

Indudablemente entonces, el nicho más inmediato y directo para SAP HANA es el “Business Warehouse” y las aplicaciones analíticas (OLAP) tipo “Business Intelligence”. En lugar de llenar info-cubos N-dimensionales procesando fuera de línea pesados extractores sobre los datos transaccionales, con SAP HANA es posible capturar los datos y sincronizar los info-cubos en tiempo real.  Si antes una empresa disparaba todas las noches procesos de recolección y reformateo de datos transaccionales, donde estas operaciones duraban horas, a veces días, ahora podrían hacerse en minutos.

Sin embargo, como dijimos antes, SAP HANA está lejos de agotarse en este rol. El procesamiento de información voluminosa miles (o decenas de miles) veces más rápido, la sincronización en tiempo real, el tratamiento de información no-estructurada, traerá una nueva generación de aplicaciones hasta ahora impensables.

Algunas aplicaciones que ya se ofrecen sobre SAP HANA son SAP Sales and Operations Planning (ventas), SAP Smart Meter Analytics (consumo energía), SAP Accelerated Trade Promotion Planning (marketing), entre otras.

También es lógico pensar que, con una plataforma de base de datos revolucionaria, es probable que SAP apoye en el futuro toda su oferta de productos sobre SAP HANA, incluidos los transaccionales. Todos tienen la percepción que esto es un pre-calentamiento y que SAP no sólo ampliará la base de aplicaciones que corren sobre SAP HANA, sino el ERP completo. Ya hay anuncios en este sentido, por ejemplo SAP Business One, el ERP para empresas medianas y chicas, comenzará a correr sobre la base datos de SAP HANA en 2012.

Todo aquel que esté relacionado con la arquitectura SAP tendrá relación tarde o temprano con SAP HANA.

¿Qué relación hay entre SAP HANA y BW? ¿Cómo afectará SAP HANA a la plataforma del SAP ERP en el mediano y largo plazo? ¿Qué destrezas se requerirán para sacar provecho de esta tecnología? ¿Significa SAP HANA que SAP es un nuevo competidor en el mercado de base de datos, a la par de Oracle y otros? ¿Cómo puedo empezar a acercarme a esta tecnología?

Conozca más de SAP HANA en teknodatips: Sap HANA en "pastillas": Parte 2 de 3, Sap HANA en "pastillas": Parte 3


    Copyright 2012 - Teknoda S.A.

    IMPORTANTE:
    “Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
    Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

    SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
    COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

     


    FICHA TECNICA: Notas técnicas – Tips de SAP Netweaver ABAP ”SAP HANA en pastillas: Parte 1 de 3"

    Tema: SAP HANA- SAP BW BI -.ICE  Descripción: Entender el paradigma de SAP HANA, y las tecnologías involucradas: "in-memory computing", tiempo real.

Asignación de varios usuarios a una misma OT en SAP

Aprenda como asignar más de un usuario a una misma orden de transporte (OT) en SAP.

Es conocido que los programadores en SAP utilizan las órdenes de transporte como una estructura en la que almacenan la información a enviar a otro ambiente y normalmente lo realizan desde el sistema de desarrollo, el cual es un entorno que está abierto específicamente para la parametrización y programación.

Cuando se trabaja en un proyecto de SAP donde intervienen varios usuarios, es necesario asignar esos distintos usuarios a una misma OT. Este proceso se utiliza habitualmente en proyectos en los que se requiere realizar numerosas modificaciones (Ejemplo: Upgrade, Implementación, etc) y estas modificaciones son tareas que se distribuyen a distintos desarrolladores.

Leer más...

Copiar objetos dependientes de mandante de un cliente a otro en SAP

Conozca cómo transportar de un cliente (mandante) a otro, objetos dependientes de mandante en un mismo sistema SAP.

La mayoría de los objetos de desarrollo de SAP son INDEPENDIENTES de mandante. Sin embargo algunas veces no alcanza con construir uno de estos objetos (reporte, función, sapscript) para que éste pueda ser usado. En estos casos, es necesario hacer algunas configuraciones en el sistema para activar su ejecución. Estas parametrizaciones en SAP son DEPENDIENTES de mandante, lo que provoca que a la hora de hacer pruebas en el mandante de testing, dichas parametrizaciones no existan en el mismo. 

Algunos casos particulares son los formularios Sapscript, BAdIs y Workflows. Si bien las clases implementadoras de BAdIs y los Workflows son independientes de mandante, la mayoría de las veces hay que realizar ciertas parametrizaciones para activar el uso de estos objetos que NO lo son. Para solucionar este problema, SAP propone una transacción capaz de copiar las órdenes de transporte de customizing (junto con los objetos dependientes de mandante asociados) de un mandante a otro dentro del mismo sistema.

 

La transacción SCC1 – Copia entre clientes

  • Ingresar al sistema en el mandante de destino e ingresar a la transacción SCC1.
  • Escribir el cliente de origen (Ej. 200), la orden de transporte de customizing que contiene los objetos, tildar la opción de Incluir todas las tareas de la orden ("Including Request Subtasks"), y asegurarse que la opción “Test Run” esté desactivada. Si esta última opción, se activa, provoca que la ejecución sea de prueba,  por lo que no se generará ningun pasaje entre mandantes. Sin embargo, puede ser utilizada por ejemplo, cuando se quiere crear una estadística de las áreas libres de la base de datos (mediante la visualización de logs), que no es necesaria para este ejemplo.

SAP-transaccion-SCC1

  • Hacer click en el botón Iniciar inmediatamente ("Start Immediately") para realizar el pasaje de objetos de un mandante a otro.

 

Para tener en cuenta ...

  • Sólo un usuario a la vez puede ejecutar esta transacción, por lo que se debe evitar dejarla abierta mientras no sea necesario, ya que se encontrará bloqueada para el resto.

Copyright 2012 - Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


n_Marco_Gatti - Especialista ABAP y Workflow

 

 

 

 


 

Tutorial ABAP paso a paso: Cómo crear una Web Dynpro ABAP

Aprenda a crear una Web Dynpro ABAP definiendo paso a paso todas las componentes involucradas para su creación, mediante un ejemplo sencillo.

En el tip Entendiendo los fundamentos de las Web Dynpro en SAP publicado anteriormente en Teknodatips, se trataron los conceptos fundamentales referidos a las aplicaciones Web Dynpro en SAP: qué son y lo que hay que tener en cuenta para su desarrollo y ejecución:

  • el patrón de diseño MVC (Model -View-Controller) en el que se basan,
  • los diferentes entornos de ejecución para las Web Dynpro ABAP / para las Web Dynpro JAVA
  • y los entornos de desarrollo de una Web Dynpro ABAP (ABAP Workbench)  y JAVA (SAP Netweaver Developer Studio).

    Leer más...

Cómo crear accesos directos (shortcuts) a pantallas de SAP

Conozca distintas maneras de crear "shortcuts" (accesos directos) a pantallas SAP, que posibilitan posteriormente ejecutar de manera directa una transacción, un reporte o acceder a un comando del sistema de SAP, con sólo un click del mouse.

En el trabajo que un usuario realiza a diario cuando se conecta a un sistema SAP, es común que ejecute frecuentemente muchas transacciones que conducen a pantallas determinadas. 

Como en muchos casos el usuario tiene un entorno de trabajo con varias aplicaciones activas (no sólo SAP), puede resultarle conveniente y útil tener un acceso directo (shortcut) en el escritorio de su PC que lo lleve a ejecutar la transacción o programa con la cual está acostumbrado a trabajar en un sistema SAP determinado, y acceder a una pantalla específica de la aplicación SAP correspondiente, sin tener que navegar distintos menús.

De esta manera, puede acceder a distintas transacciones (o reportes o comandos del sistema), simplemente clickeando sobre diferentes botones en el escritorio de su puesto de trabajo, que acceden directamente a distintas pantallas del sistema SAP.

Se pueden crear "shortcuts" en SAP (accesos directos) de distintas maneras:

  • A) Desde una pantalla específica del sistema SAP
  • B) Desde el escritorio de una PC
  • C) Desde el SAP Logon

A) ¿Cómo generar el "shortcut"  desde una pantalla específica en el sistema SAP?

Para lograr tener en el escritorio el botón de acceso directo a una transacción, es necesario primero acceder a la pantalla en donde desea realizar la tarea, usando la transacción como es habitual. Por ejemplo, para obtener un "shortcut" para la transacción SE80:

1) Ir a la transacción y en la pantalla obtenida, elegir "Generar un Shortcut"  ABAP-Create-New-SAP-Shortcut-icono

ABAP-shortcut-Object-Navigator

1.1) Se logra lo mismo, de manera alternativa, haciendo clik en ABAP-crear-shortcut-pantalla-1 y eligiendo "Crear Shortcut":

ABAP-crear-shortcut-pantalla-forma-alternativa

2) De cualquiera de las formas elegidas, aparece la pantalla de diálogo siguiente, con los datos preestablecidos, donde habrá que chequear que los mismos son los correctos:

 

ABAP-Create-New-SAP-Shortcut

3) Al elegir el botón "Next", se llega a:

ABAP-Create-New-SAP-Shortcut-1

 

4) Luego, simplemente, seleccionar el botón "Finish", y se obtiene la pantalla final para aceptar la creación del shortcut:

ABAP-Create-New-SAP-Shortcut-2

5) Presionando "Aceptar" se creará el acceso directo en el lugar indicado (en este caso, en el escritorio):

ABAP-Shortcut-Transaccion-Object-Navigator-1

6) Buscar ese acceso directo en el escritorio (o donde se haya creado) y al hacer click sobre él, se llegará en este caso directamente a la transacción SE80 de SAP, como fue indicado en la creación del shortcut.

Tener en cuenta que si no se ha iniciado previamente sesión en el sistema SAP, se pedirá en ese momento iniciar sesión (por default con el usuario indicado en la creación del shortcu, ej. :BCUSER), y sólo resta ingresar la password e ingresar al sistema.

ABAP-acceso-Object-Navigator-user

B) ¿Cómo crear un shortcut desde el escritorio?

1) Con el cursor en algún lugar del escritorio:

Botón derecho del mouse Nuevo ABAP-nuevo-SAPGUI-Shortcut-escritorio,

y se creará un ícono en el escritorio: ABAP-nombre-SAPGUI-Shortcut-escritorio

2) Cambiar por el nombre que se desee (asociado a qué se desea ejecutar en SAP, por ejemplo: Ir a SE80) y dejar la extensión .sap. Ya está creado el archivo para el acceso directo, sólo resta definirlo.

3) Para definir los datos para este acceso directo: Botón derecho del mouse sobre el ícono que se creó, y sobre el menú contextual desplegado, elegir "Editar".

4) Aparece la siguiente ventana, con dos solapas (General y Options), donde se tendrán que completar los campos: Type, Transaction, System Description, User (notar que toma el usuario de Windows), etc. Esta pantalla es similar a la mostrada en el punto A) cuando se creó el shortcut desde "adentro de SAP" y ya aparecían los datos correspondientes en esa pantalla. En este caso están "vacios".

ABAP-SAP-Shortcut-Properties-escritorio

5) Una vez completados los datos, presionar OK y al clickear sobre el ícono creado, se podrá acceder al sistema SAP seleccionado en el shortcut, como fue especificado.

Vale recordar como se mencionó en el punto A) que si no se ha iniciado sesión en ese sistema SAP, pedirá el inicio de sesión correspondiente, con el usuario indicado en el shortcut.

C) Creando un acceso directo a SAP desde el SAP Logon

Otra variante es crear un shortcut a una transacción desde la pantalla del SAP Logon, completando la entrada con los datos de la transacción que corresponda, eligiendo la carpeta "Shortcuts" y creando una nueva entrada presionando el ícono ABAP-acceso-directo-SAP-Logon-create:

ABAP-acceso-directo-SAP-Logon

Al presionar el botón ABAP-acceso-directo-SAP-Logon-create, aparecerán las pantallas mencionadas en la sección anterior, donde habrá que ir completando los datos necesarios para crear el acceso directo requerido, y como resultado final se obtiene un ícono de acceso directo sobre el escritorio o el lugar indicado. Finalmente, para ejecutar la tarea seleccionada (asociada a una transacción, un reporte o un comando del sistema, según se haya indicado), hacer click sobre el shortcut de SAP creado.

Una vez creado este acceso directo, se comporta igual a las otros íconos de acceso directo, aunque se hayan creado partiendo de lugares diferentes.

Para tener en cuenta ...

  • Si ya se está ejecutando una sesión en el sistema SAP, y al clickear sobre el acceso directo ya hay una aplicación corriendo en el sistema, se arrancará una NUEVA sesión, en caso contrario la tarea solicitada arranca en esa sesión activa.
  • Si ya se está ejecutando una sesión en el sistema SAP, y si se creó un shortcut para el comando del sistema /n + código de transacción, al hacer click para ejecutar la tarea, la misma se ejecutará sólo en la sesión corriente de SAP, independientemente de si existe una aplicación corriendo o no. 

Copyright 2012 Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


 

Sap HANA en "pastillas": Parte 2 de 3

En la segunda entrega de esta serie de artículos continuamos tratando de profundizar el entendimiento de esta tecnología, su materialización, y su proyección futura. Mediante preguntas y respuestas abordaremos distintos aspectos de SAP HANA, siempre con un enfoque objetivo y conceptual.

Como ya tratáramos en SAP HANA en "pastillas": Parte 1 de 3, en esta segunda parte consideraremos nuevos aspectos de la plataforma, para ir aproximándonos a un entendimiento más global. 

¿Por qué SAP HANA despierta tanto interés?  ¿Es SAP HANA una solución, una plataforma, una tecnología, un software? ¿Cómo se materializa en términos de producto? ¿Cómo se relacionan SAP HANA "appliance" y sus componentes de sofware? ¿Quién es el cliente principal para SAP HANA? ¿Qué significa el tratamiento columnar de bases de datos? ¿Qué relación hay entre SAP HANA y BW? ¿Cómo afectará SAP HANA a la plataforma del SAP ERP en el mediano y largo plazo? ¿Qué destrezas se requerirán para sacar provecho de esta tecnología? ¿Significa SAP HANA que SAP es un nuevo competidor en el mercado de base de datos, a la par de Oracle y otros? ¿Cómo puedo empezar a acercarme a esta tecnología? ¿Qué es SAP HANA CLOUD platform?

Al igual que en el artículo anterior y en próximos tips, intentaremos abordar estas preguntas sobre SAP HANA, con un enfoque objetivo y conceptual, y en todos los casos en que sea posible, ilustrándolo con ejemplos.

PARTE 2:

¿Cómo se materializa HANA en términos de producto? ¿Podemos clarificar las distintas designaciones?

Vale la pena repasar rápidamente las designaciones que SAP y el mercado en general utilizan para referirse a las distintas componentes/aspectos de SAP HANA antes de hablar de los productos.

HANA: La designación general de "HANA", independientemente del significado de la sigla, es un gran paraguas que actúa como marca registrada, como identificador de una vasta colección de tecnologías, componentes  y productos, una plataforma y una dirección estratégica para SAP. La esencia de HANA es, como explicamos en el tip anterior SAP HANA en "pastillas": Parte 1 de 3, una innovación trascendente en el manejo de base de datos.

SAP HANA Appliance: HANA "Appliance" es una herramienta compuesta por software + hardware (certificado) + base de datos, que se agrega y se integra a un sistema SAP existente. Como mencionamos en el tip anterior, cuando la gente habla de SAP HANA, en general se está refiriendo a SAP HANA “Appliance”; (“Appliance” significa herramienta, dispositivo.)  HANA "Appliance" es en realidad redundante, dado que HANA significa "High-Performance Analytic Appliance", o sea, comprende dicha cualidad, pero nos valemos de esta redundancia para diferenciarlo del concepto global de HANA. La tecnología de HANA, implica una componente fundamental de hardware, provisto por un fabricante de hardware CERTIFICADO por SAP.

SAP HANA Database: La médula espinal, principal componente y tecnología de SAP HANA, es su MOTOR de BASE de datos. Su principal característica es el “in-memory” computing, es decir almacenar y gestionar los grandes volúmenes de datos en MEMORIA RAM, bien cerca de la CPU, el procesamiento paralelo, y el soporte para procesamiento COLUMNAR de tablas.

Powered by SAP HANA: Esta designación se utiliza para las aplicaciones destinadas a correr sobre SAP HANA Appliance y  Database, haciendo uso de sus tecnologías de administración de datos.

SAP HANA Studio: Es el entorno de modelización, desarrollo y gestión de SAP HANA.

 

¿Existen ediciones diferentes de SAP HANA Appliance Software? ¿Cuáles son sus componentes?

Antes de hablar de la materialización de SAP HANA en productos debemos tener MUY presente que estamos frente a una tecnología en pleno desarrollo, y por ello, en un proceso de transformación vertiginoso y continuo. SAP HANA apenas acaba de cumplir un año y poco más de vida, y su Appliance software ya ha sido objeto de cuatro actualizaciones. Por lo tanto, siempre es conveniente consultar lo que SAP llama el "Product Availability Matrix", (http://help.sap.com/hana_appliance/) para tener la última noticia respecto de las versiones.

El proceso de instalación de SAP HANA appliance como producto de software, incluye diferentes componentes de software necesarias para su operatoria, que cuenta principalmente con la base de datos SAP HANA (SAP HANA database) y las diferentes tecnologías de replicación de datos.

Hasta ahora (Julio 2012), como producto, SAP HANA appliance software se ofrece a los clientes en tres ediciones diferentes:

  • SAP HANA Appliance Software Platform edition
  • SAP HANA Appliance Software Eenterprise edition
  • SAP HANA Appliance Software Enterprise Extended edition

La edición "platform" del software de SAP HANA appliance es conveniente para los clientes que desean usar Replicación basada en ETL (Extraction-Transformation-Load) y ya poseen una licencia para el producto SAP BusinessObjects Data Services. Entre las componentes de software que se incluyen figuran las siguientes (la componente base: SAP HANA appliance software la incluye cualquier plataforma)

  • SAP HANA database (abarca las componentes: Engine, Persistence, Interfase, Administration) (*)
  • SAP HANA Studio/Modeler
  • SAP HANA Client ( MDX Engine - Microsoft Excel Client)
  • SAP Host Agent 7.20
  • SAP HANA Information composer
  • SAP HANA Search

La edición "Enterprise" de SAP HANA appliance software está destinado para los clientes que quieren usar o una Replicación basada en Triggers (SAP Landscape Transformation) o una Replicación basada en ETL, como en la edición anterior, pero que todavía no tienen todas las licencias necesarias para el producto BusinessObjects Data Services de SAP. En este caso, comprende las componentes siguientes:

  • SAP HANA Database (*)
  • SAP HANA Studio/modeler
  • SAP HANA Client (MDX Engine - Microsoft Excel Client)
  • SAP Host Agent 7.20
  • SAP HANA Information composer
  • LT Replication AddOn
  • LT Replication Server
  • SAP BusinessObjects Data Services 4.0

Por último, la edición "Enterprise extended" de SAP HANA appliance software está destinada a los clientes que quieren aprovechar la potencialidad completa ofrecida en todos los escenarios de Replicación disponibles, incluyendo la "Replicación  basada en Log". Y las componentes que se incluyen en esta edición son:

  • SAP HANA database (*)
  • SAP HANA studio/modeler
  • SAP HANA client (MDX Engine - Microsoft Excel Client)
  • SAP Host Agent 7.20
  • SAP HANA information composer
  • LT Replication AddOn
  • LT Replication Server
  • SAP BusinessObjects Data Services 4.0
  • Sybase Adaptive Server Enterprise (ASE) 15.5
  • Sybase Replication Server 15 (incl. ECDA)
  • Sybase Replication Server Agent 15
  • SAP HANA load controller

 

¿Cómo se relacionan SAP HANA "appliance" y sus componentes de sofware?


En la figura siguiente se muestra una visión del landscape técnico del sistema de SAP HANA appliance y la relación con sus componentes de software, como SAP HANA Studio provista por SAP, que ofrece un conjunto de herramientas para desarrollo y modelado en SAP HANA, entre otras aplicaciones. El landscape del sistema ejemplo, muestra una configuración de tres servidores SAP HANA Database cada uno de ellos relacionándose con diferentes componentes de software inclusive algunas que pueden comprarse de forma separada.

SAP-HANA-Technical-System-Landscape-1

Fuente: Help SAP

Continúe leyendo sobre HANA en Sap HANA en "pastillas": Parte 3, y conozca  las diferencias entre HANA y BWA y  su relación con BW en general.


Copyright 2012 - Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


FICHA TECNICA: Notas técnicas – Tips de SAP Netweaver ABAP ”SAP HANA en pastillas: Parte 2 de 3"

Tema: SAP HANA- SAP BW BI   Descripción: Conocer las ediciones disponibles de SAP HANA appliance Software y la relación entre sus componentes.

Uso de eventos en vistas de mantenimiento en ABAP

 

Aprenda cómo activar y utilizar eventos de una vista de mantenimiento en ABAP, para modificar datos adicionales o modificar datos de auditoría.

Muchas veces no es suficiente con generar una transacción capaz de mostrar y modificar los datos de una tabla de base de datos. Por ejemplo, por cuestiones de auditoría puede ser necesario dejar un registro de quién fue el ultimo usuario en modificar un determinado registro de esa tabla, así como la fecha y la hora del suceso.

Para ello, SAP provee una herramienta estándar similar a un user-exit que permite llamar a una subrutina del cliente en determinados momentos de la actualización de datos mediante una vista de mantenimiento.

Eventos en vistas de mantenimiento

Antes de poder agregar un evento,  es necesario generar la vista de mantenimiento. Para ayudar a realizar esta tarea se recomienda la lectura del artículo anteriormente publicado en Teknodatips: Cómo crear una vista de mantenimiento para una tabla y asociarla a una transacción en SAP.

Los pasos del procedimiento a seguir son:

1. Ir a la transacción SE11 y editar la tabla para la cual se generó anteriormente la vista de mantenimiento. Luego hacer click en Utilities →Tabla maintenance generator.

ABAP-Dictionary-Maintain-Table-1

2. En esta ventana se podrán ver las características de la vista. Hacer click en Environment → Modification → Events.

ABAP-Generate-Table-Maintenance-2

3. En esta pantalla se pueden establecer los vínculos entre un evento y una subrutina del cliente. Hacer click en “New Entries”.

ABAP-Change-View-FORM-routines-3

4. Elegir un evento y la subrutina que será disparada. En el ejemplo se mostrará el caso en que se requiere guardar el nombre del usuario que modificó cada registro de la tabla así como la fecha y la hora en que se realizó (estos campos de auditoría forman parte de la tabla en cuestión). Para ello se utilizará el evento 01 “Before saving the data in the database”. Una vez seleccionado el evento y escrito el nombre de la subrutina que se encargará de manejarlo, presionar ENTER y luego hacer click en el botón “Editor” ABAP-Boton-editor

ABAP-New-Entries-Overview-Added-Entries-4

5. Aparecerá un pop-up solicitando el programa donde crear la subrutina.  Alli, seleccionar algún programa propuesto o crear uno. Una vez realizada la elección, aparecerá el editor ABAP para dicho programa. Sin embargo, la subrutina no se encontrará creada aún, por lo que es necesario escribirla manualmente:

ABAP-Editor-Change-Include-LZDI_ACT_TABLAF01-5

6. Escribir el código que se encargará de manejar el evento. En él es posible aprovechar todas las variables globales del grupo de función asociado a la vista de mantenimento. A través de estas variables se puede acceder, por ejemplo, a los datos que van a ser guardados cuando el usuario elija Grabar un registro determinado.

Para tener en cuenta ...


n_Marco_Gatti Especialista ABAP y Workflow

 

 

 

 


Copyright 2012 - Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 

 

 

Entendiendo los fundamentos de las Web Dynpro en SAP

Conozca el concepto de Web Dynpro en SAP, y un "overview" del patrón de diseño en el que se basa su creación, tanto para el desarrollo de una Web Dynpro ABAP como JAVA.

Web Dynpro dentro del universo SAP Netweaver: ¿Qué son?

La tecnología “Web Dynpro” es el recurso tecnológico standard que ofrece SAP para desarrollar y manejar la capa de presentación de las aplicaciones, es decir, la interfaz de usuario (UI) de las aplicaciones Web. 

Totalmente integrado al SAP Netweaver Application Server, las Web Dynpro proveen un conjunto de herramientas para modelar y diseñar las interfaces de usuario basándose en el paradigma MVC (Model View Controler). Las herramientas de diseño de Web Dynpros son independientes del entorno de ejecución, lo que permite unificar el desarrollo de interfaces para los distintos estándares soportados por el WAS, ABAP, J2EE y .NET.

Las herramientas de desarrollo provistas, permiten seleccionar patrones de diseño existentes o definir libremente nuevos patrones para el “layout” y el flujo de la aplicación. La descripción de la aplicación se almacena en un “metadata repository” y se utiliza para generar el código de ejecución “runtime” que corresponda según el entorno.

En SAP Netweaver se pueden desarrollar aplicaciones Web Dynpros tanto desde el entorno JAVA, como en entorno ABAP, y se las reconoce como Web Dynpro for JAVA y  Web Dynpro for ABAP, respectivamente.

Las Web Dynpro for Java se desarrollan utilizando el entorno de desarrollo JAVA, provisto por el software SAP Netweaver Developer Studio, basado en el framework de Eclipse,  y se  pueden ejecutar gracias a la personalidad JAVA de SAP Netweaver. Para ello es necesario tener instalado y configurado un SAP Netweaver Application Server JAVA, que ya desde la versión 6.40 de su application server, soportan la ejecución de este tipo de Web Dynpros.

En cambio, las Web Dynpro for ABAP se desarrollan dentro del ABAP Workbench (como cualquier otro tipo de aplicación ABAP) y su ejecución es posible gracias a la "personalidad" ABAP de SAP Netweaver Application Server, ofrecida por la componente de software  SAP Netweaver AS ABAP. Tener en cuenta que ya desde la versión de SAP Netweaver 7.0 soporta la ejecución de las Web Dynpro por ABAP.

La arquitectura de Web Dynpro se muestra en la figura siguiente, donde se observan los dos "runtime" separados y los entornos de desarrollo para cada tipo de Web Dynpro que se pueden desarrollar:

Web-Dynpro-arquitectura

La idea de Web Dynpro es muy poderosa y permite superar carencias muy importantes del desarrollo tradicional de aplicaciones Web, donde la lógica de presentación se mezcla con otros aspectos de la aplicación, o existe código redundante, o donde no es posible independizar la presentación del entorno de ejecución. Las componentes de alto nivel de SAP Netweaver utilizarán, desde ya, el modelo de Web Dynpro.

Independientemente del tipo de Web Dynpro que se desee desarrollar es importante conocer el patrón de diseño en el que está basado tanto el desarrollo de Web Dynpros ABAP como JAVA: el patrón de diseño Model-View-Controller. Una buena comprensión del mismo, permitirá un buen desarrollo de este tipo de aplicaciones web.

En el presente artículo se conocerá conceptualmente los fundamentos (arquitectura Model View Controller) de las Web Dynpros y en uno próximo de detallará paso a paso la creación de una Web Dynpro for ABAP.

Las ventajas de las Web Dynpro y su fundamento: el patrón de diseño MVC (Model View Controller)

Al comparar las Aplicaciones Web Dynpro con otros tipos de aplicaciones Web tradicionales se observa que las Web Dynpro poseen ciertas características que la distinguen y la hacen superior a otros modelos de trabajo, debido a su pautada separación entre la interacción con el usuario y las funcionalidades que hacen al negocio de la aplicación.

Por ejemplo, para aquéllos programadores que han experimentado el modelo JSP (Java Server Pages) conocen que las JSP tienen como unidad de desarrollo la páginaWeb, representada por un archivo con extensión .jsp y la aplicación Web como una serie de páginas JSP conectadas que, en conjunto, proveen los requerimientos funcionales. Por lo tanto, puede encontrarse código perteneciente al giro del negocio disperso en la totalidad de la aplicación; sin obligar al desarrollador a colocar este tipo de codificación en un sector predeterminado de la estructura de la aplicación.  Si el programador necesita cambiar alguna funcionalidad , debe “bucear“ en la aplicación y ver en qué partes se encuentra distribuida dicha funcionalidad. Este tipo de aplicaciones están libradas a las buenas técnicas de diseño y posterior codificación que se hayan utilizado.

En cambio, si se observa el modelo de Aplicación Web Dynpro, la unidad de desarrollo es una unidad llamada “Component”, compuesta por programas que juntos conforman una unidad funcional de negocio. Una componente puede poseer la cantidad de vistas que se desee, pero tiene un sólo controlador global que dirige y encapsula la funcionalidad del negocio. Por lo tanto, la codificación de la funcionalidad del negocio se encuentra acotada al controlador global . Una componente Web Dynpro, comprende un concepto mayor que sólo el de una sumatoria de páginas relacionadas, ya que las Aplicaciones Web Dynpro están basadas en una arquitectura muy poderosa denominada Model-View-Controller (MVC). Provee una técnica que permite crear una aplicación independientemente del lenguaje de programación que se utilice.

La diferencia esencial implementada en la Web Dynpro es la clara separación de la interfaz de usuario y los servicios de “backend”.

Arquitectura MODEL-VIEW-CONTROLLER (MVC)

La arquitectura MVC es utilizada por los programadores desde hace unos años y se basa en la estructuración de aplicaciones para permitir la separación de la interfaz de usuario en tres partes distintas:

  • El Modelo: Encapsula la funcionalidad del negocio real. Sirve como fuente de datos para cualquier clase de visualización. El modelo provee un único punto para actualizar o recuperar información.
  • La Vista: Visualiza los datos de la Aplicación usando una representación gráfica. Existe la libertad de mostrar los datos como se desee. Si los datos del modelo cambian, las vistas (al ser dependientes del modelo) deben cambiar.
  • El Controlador: Maneja las interacciones entre el modelo y la vista. El controlador es el responsable de manejar los eventos de usuario para actualizaciones a los datos de la aplicación y de conducir los requerimientos de navegación.

La relación establecida entre las componentes del patrón de diseño MVC, se muestra en la siguiente figura:

Arquitectura-MVC-0

Por lo tanto al aplicar este patrón de diseño MVC sobre las Web Dynpro, se observará que ésta está compuesta por las tres componentes nombradas: View (Vista), Controller (Controlador), Model (Modelo), donde específicamente cada componente realiza lo siguiente:

View: comprende los elementos predefinidos de la interfaz de usuario y el “look & feel” de la Web Dynpro, además de la funcionalidad de contrucción de nuevos elementos de la interfaz de usuario.

Controller: Se encarga del manejo de flujo de datos y de la navegación.

Model: Se encarga de la persistencia de los datos. Esto puede ser utilizando JAVA a través EJB (Enterprise Java Beans), ó ABAP a través de RFC y BAPIs. $Existe ademáds la opción de utilizar Web Services.

En un próximo artículo se detallará el paso a paso para la construcción de una Web Dynpro ABAP con un ejemplo sencillo.


Copyright 2012 Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


Cómo evitar que una tarea de mail en Workflow quede en estado erróneo por falta de receptores

Aprenda en SAP cómo lograr que una tarea de mail no pueda quedar en estado erróneo, evitando la cancelación del Workflow completo.

La tarea (TS) de mail es la preferida a la hora de enviar notificaciones sobre las diversas situaciones que se producen como consecuencia de la ejecución de un Workflow en SAP. Esto es porque respetando una interfaz sencilla y fácil acceso en el Workflow Builder permite enviar tanto mensajes via SAP Business Workplace como emails a diferentes tipos de agentes: usuarios SAP, empleados de la estructura organizativa, direcciones de correo externas, etc. 

Sin embargo, un problema típico es que si en tiempo de ejecución esta tarea especial no encontrara ningún receptor, entonces quedaría en estado de “Error” interrumpiendo en su totalidad la ejecución del Workflow que la llamó. En situaciones normales, el objetivo del Workflow no suele ser el envío de mails, sino que se espera que resuelvan una funcionalidad específica (por ejemplo liberar para pagos las facturas de finanzas, cambiar el área de nómina de empleados, etc). Es por ésto que resulta particularmente molesto "truncar" un flujo completo de negocios por una funcionalidad tan accesoria como es el envío de mensajes.

Existe una forma muy sencilla de incluir una tarea de mail cualquiera en un Workflow de forma de evitar este tipo de errores y continuar de forma normal su ejecución.

Uso de tareas de mail de forma genérica

  • Ir a la transacción PFTC y abrir el Workflow que se desea modificar en modo Edición.
  • Generar una tarea de mail mail de manera habitual, completar textos del encabezado y cuerpo.

Workflow-Step-selection-1-1

 

Workflow-Builder-Create-2-1

 

  • Guardar la tarea. Ir a la solapa “Control” y copiar el número de TS generado. En el ejemplo TS90007925.

 

Workflow-Builder-Create-95000001-2-1

 

  • Generar una tarea genérica  generica de la forma habitual pero como número de TS pegar el generado anteriormente. Presionar la tecla Enter y cuando proponga crear nuevos containers para la tarea hacer click en Cancelar.

 

Workflow-builder-Create-95000001-3-1

 

  • Hacer click en “Binding” y completar los containers de Exporting:

• AddressStrings: Receptores (pueden ser direcciones de correo, usuarios SAP, empleados, etc. Se puede colocar una tabla de receptores).

• TypeId: Tipo de receptor (indica si el/los receptores son usuarios SAP, empleados, etc). Los posibles valores son: 'G' para expresiones (usuarios SAP, posiciones HR, empleados), 'U' para direcciones de correo.

• Express (opcional)

• Language (opcional)

• Containers propios: También completar los containers propios utilizados en la tarea de mail generada, en el ejemplo son BANCO y PAGO.

 

Change-Binding-For-Step-1

 

  • Ir a la solapa Salidas (Outcomes) y activar la salida “Document <&> could not be sent”, como se vé en la figura:

 

outcomes-1

 

  • Finalmente, quitar del Workflow la primera tarea de mail, de esta forma se utilizará la nueva, añadida como tarea genérica.

Esta metodología para el uso de las TS de mail brinda la posibilidad de controlar su ejecución. De esta forma se pueden habilitar y activar las “Salidas” de la tarea en cuestión como si fuese una tarea genérica, lo cual es imposible de lograr de la manera tradicional.

Así, para el caso en que no se encontraran receptores para el envío de mensajes, el flujo del Worflow pasaría por la nueva salida configurada en vez de abortar su ejecución.


n_Marco_Gatti - Especialista ABAP y Workflow

 

 

 

 


 

Copyright 2012 - Teknoda S.A.

IMPORTANTE:
“Notas técnicas de SAP ABAP" se envía con frecuencia variable y sin cargo como servicio a nuestros clientes SAP. Contiene notas/tutoriales/artículos técnicos desarrollados en forma totalmente objetiva e independiente. Teknoda es una organización de servicios de tecnología informática y NO comercializa hardware, software ni otros productos.
Si desea suscribir otra dirección de e-mail para que comience a recibir las Notas Técnicas SAP, envíe un mensaje desde esa direcciónsapping@teknoda.com, aclarando nombre, empresa, cargo y país del suscriptor.

SAP, Netweaver, R/3, Fiori,S4/HANA y ABAP son marcas registradas de SAP AG. SAP no es el editor de esta publicación y no es responsable de la misma en ningún aspecto. La información contenida en esta publicación ha sido generada por nuestros especialistas a partir de fuentes consideradas confiables y del ejercicio profesional cotidiano. No obstante, por la posibilidad de error humano, mecánico, cambio de versión u otro, Teknoda no garantiza la exactitud o completud de la misma.
COPYRIGHT TEKNODA S.A. PROHIBIDA SU REPRODUCCION TOTAL O PARCIAL SIN CONSENTIMIENTO DE TEKNODA

 


 

Copyright © 2021 Teknoda Tech Portal & Training. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.