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

Cómo buscar un string en un conjunto de programas ABAP

En ABAP: Como obtener la lista de programas que contienen una determinada cadena de caracteres.

Muchas veces se necesita saber cuáles son los fuentes en donde aparece un string determinado, como por ejemplo la utilización de un módulo de función o la aparición de un texto de comentario común.

El programa estándar RSRSCAN1 permite obtener la lista de programas que contienen el string, como también la lista de apariciones del mismo dentro de un programa selecccionado.

Los parámetros más importantes de dicho programa son el nombre de los programas en donde se desea realizar la búsqueda (pueden ser nombres genéricos) y la cadena de caracteres a buscar.

Para ejecutar el programa estándar se puede utilizar la transacción SE38 directamente o crear una transacción asociada al programa e invocarla posteriormente desde la línea de comandos o mediante un menú.


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

 

 

 

Uso del “Logging” de aplicaciones en actualizaciones a la base de Datos, hechas con CALL TRANSACTION

Cuando se realizan actualizaciones a la base de datos, el sistema registra internamente información sobre el  resultado de cada grabación (si fue exitosa o no), estadísticas (cantidad de registros ingresados o actualizados, cantidad de registros erróneos, etc), además de datos específicos de la aplicación (código de material ingresado o actualizado, por ejemplo).

Cuando las actualizaciones se llevan a cabo a través del CALL TRANSACTION, esta información NO se hace disponible al usuario en forma automática, sino que, requiere de sentencias adicionales para que quede almacenada en una tabla interna de mensajes. Luego, debe analizarse y procesarse también desde la programación, para decodificar el formato de la tabla interna en información entendible para el usuario. Para lograr este objetivo, existen las funciones de “application logging” (registro de mensajes). Desde ya, el “Logging” de aplicaciones como concepto, puede implementarse también en otro tipo de programas.

Seguir leyendo este artículo >>

Cómo actualizar de una Tabla sólo datos específicos mediante una vista de actualización

Cómo actualizar mediante vistas de actualización en ABAP, determinados campos de una tabla, sin crear programas complejos.

En muchas situaciones tenemos en una tabla registros de distintos Paises  y necesitamos actualizar los registros correspondientes a un solo Pais y a su vez realizar un chequeo de autorización.

En ese caso  podemos crear distintas Vistas de la tabla y colocar un filtro por cada Pais.

El presente tip  describe cómo realizar el procedimiento mediante un ejemplo usando la tabla de Bancos BNKA.

Procedimiento general

Los pasos involucrados en el procedimiento general son los siguientes:

  • Crear tantas Vistas de Actualización de la tabla como Paises se tengan para actualizar y/o chequear.
  • Crear un programa que pida por pantalla el Pais a actualizar. Dicho programa realizará el chequeo de autorización y llamará a la función que permite actualización de tablas, indicando como parámetro la Vista correspondiente al país solicitado.
  • Otra opción (si el usuario tiene acceso a la transacción SM30 de Mantenimiento de Tablas) es crear una transacción por cada vista solicitada. Dicha transacción llamará directamente a la transacción SM30 con la vista correspondiente.

Ejemplo práctico

Para detallar el procedimiento a seguir, se utilizará el siguiente ejemplo, que toma la tabla de Bancos BNKA.

  • Crear una vista de actualización, llamada por ejemplo ZBNKA_VISTA_AR, mediante la transacción SE11 , indicando ‘Database View’ como opción y colocando la tabla original, es decir BNKA.

 

ABAP-crear-vista-actualizacion-1

  • Luego hay que indicar los campos que va a tener la vista (pueden ser todos los de la tabla BNKA o sólo algunos):

ABAP-crear-vista-de-actualizacion-2

  • A continuación se coloca la condición de selección, es decir código de país (campo BANKS) igual a ‘AR’.

ABAP-crear-vista-de-actualizacion-3

  • Por último, en la solapa Maint.Status, se coloca acceso ‘Read and change’ y Mantenimiento Permitido (Display/Maintenance Allowed) (como se indica en los recuadros en color rojo).

ABAP-crear-vista-de-actualizacion-5

  • Finalmente, se  Salva y Activa la Vista.
  • Después de este procedimiento se podrá  verificar que si se accede a modificar los datos, sólo se verán los registros correspondientes al país ‘AR’.

ABAP-crear-vista-de-actualizacion-4

 


Copyright 2011 - 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

 


 

Uso de Iconos de estado (“Status Icons”) en programas de diálogo

Iconos en SAP R/3

Como cualquier entorno de programación gráfica, ABAP soporta la utilización de íconos y símbolos en distintos contextos y con distintos propósitos. Los íconos son pequeños “bitmaps” coloreados que conforman la representación pictórica de un objeto o una función, utilizados en lugar de texto, o acompañando texto.

 

Los íconos aparecen en menúes, botones, y ventanas para reforzar la síntesis gráfica y la funcionalidad de cualquier pantalla. Si están bien diseñados y elegidos de acuerdo con alguna especificación normalizadora, son determinantes para lograr ergonomía en la aplicación.

 

SAP ofrece una biblioteca muy completa de íconos, (R/3 Icon Library), y ofrece también los recursos de programación ABAP para utilizar estos íconos en distintos ámbitos de R/3.

Cómo crear un WebService en base a un JavaBean

Aprenda a generar un Web Service en SAP a partir de un JavaBean sencillo y siga y un ejemplo paso a paso

Como se ha visto en el tip “Como consumir un WebService desde una WebDynpro JAVA, se pudo comprobar la facilidad que brindaba este mecanismo para realizar una llamada a servicios remotos, disponibles a través de la red. De hecho, en el ejemplo práctico que se desarrolla en el tip mencionado se utiliza un WebService que se encuentra “deployado” en un servidor fuera de Argentina.

La disponibilidad del servicio depende exclusivamente del server sobre el cual éste corre. Por lo tanto,  puede suceder que no esté disponible el servicio en un momento determinado, o que eventualmente sea dado de baja por el proveedor. Para los casos reales éste no es generalmente el caso, sino que se tiene cierto control de la disponibilidad de los servicios.

Sucede que en determinadas ocasiones,  ya se cuenta con un servidor el cual publica servicios (Web Services) y se desea hacer uso de ellos mediante una WebDynpro, con lo cual nos encontramos en un escenario similar al del tipo de “Como consumir un WebService desde una WebDynpro JAVA”, sin que el servicio esté en un servidor a kilómetros de la aplicación cliente.

Un caso práctico

El caso práctico que desarrollaremos ejemplifica cómo se crea un WebService a partir de una clase de JAVA (JavaBean). Luego este WebService podrá ser consumido desde una WebDynpro, siguiendo los pasos mencionados en el tip de referencia Como consumir un WebService desde una WebDynpro JAVA (Importante: referirse a dicho tip antes de seguir los pasos que se detallan en el tip presente.)

Pasos para la creación de un proyecto JAVA

Seleccionar File → New → Project.

Aparece el asistente de New Project

En el panel izquierdo seleccionar Java y luego en el panel derecho Java Project y presionar Next.

Completar las opciones como sigue:

SAP-WS-JavaBean-1

Pasos para la creación de una clase JAVA

Seleccionar File → New→  Class

Completar el gestor de clases como sigue:

El código para la nueva clase se muestra a continuación:

package com.teknoda.conversor;


public class ConversorTemperatura

{

public double celsiusAFarenheit(double celsius)

{

return (celsius*(9.0f)/(5.0f)) +32 ;

}


public double farenheitACelsius(double faren)

{

return ((faren-32)*(5.0f)/(9.0f)) ;

}

}

Una vez creada la clase se debe proceder a generar un WebService a partir de dicha clase.

Pasos para la creación de un WebService a partir de un JavaBean

Posándose sobre el proyecto ConversionTemperatura, hacer click con el botón derecho y seleccionar New→ Other...

SAP-WS-JavaBean-2

En el Wizard desplegado seleccionar Web Services del panel izquierdo, y luego seleccionar Web Service (New VI and WSD) en el panel derecho. Luego presionar Next.

SAP-WS-JavaBean-3

Se desplegará entonces la configuración del WebService para ser completada. La asignación de los parámetros en esta configuración son de suma importancia, ya que aquí especificaremos la clase a partir de la cual se creará el WebService, la URL del servicio y la autenticación necesaria para utilizarlo. En este caso, evitaremos el uso de autenticación porque es un ejemplo con fines “didácticos” donde sólo se realiza una conversión de temperatura, pero en casos donde la seguridad sea relevante, debe tenerse en cuenta para no dar acceso al servicio de manera inapropiada.

La configuración debe quedar como se muestra a continuación:

SAP-WS-JavaBean-4

IMPORTANTE: En el último parámetro de la imagen anteior: Access URL se depliega el path relativo del servicio. Tener en cuenta, que luego, para poder utilizarlo, se deberá especificar la dirección absoluta (especificando host y puerto), como se muestra a continuación, en forma genérica:

http://<host>:<port>/<pathWS>

En un caso práctico, como ejemplo:

http://janett:50100/ConversionTemperaturaWS/ConfigConversorTemp

 

Presionar Finish.

Pasos para la creación de un EAR “deployable”

Abrir Window → Open Perspective → Other→ Web Services.

Luego seleccionar la solapa Java Explorer en el panel izquierdo.

Sobre el proyecto ConversionTemperatura, hacer click derecho y presionar “Build EAR”.

SAP-WS-JavaBean-5

Pasos para el deployment de un WebService.

Sobre el archivo ConversionTemperatura.ear, hacer click derecho y presionar “Deploy”.

SAP-WS-JavaBean-6

Ingresar la contraseña del SDM y presionar “OK”.

SAP-WS-JavaBean-7

Una vez “deployado” el WebService, se puede proceder a probar el mismo.

Pasos para el testeo del WebService.

Abrir un browser e ingresar la URL del WebService en la barra de direcciones, genéricamente sería:

http://<host>:<port>/<pathWS>

Un ejemplo de especificación del path completo, sería:

http://janett:50100/ConversionTemperaturaWS/ConfigConversorTemp

Se desplegará en pantalla el WebService Navigator y tendremos la opción de realizar un testeo del servicio. Hacer click en “Test”.

SAP-WS-JavaBean-8


Luego, debe seleccionarse alguno de los servicios que provee el WebService. Por ejemplo, hacer click sobre celsiusAFarenheit.

SAP-WS-JavaBean-9

Se debe ingresar ahora un valor para el parámetro de entrada. Ingresar, entonces, una temperatura en grados celsius que desee convertir a farenheit. Luego presione “Send”.

SAP-WS-JavaBean-10

Se le mostrará entonces el resultado de la llamada al servicio. Como se ve en el parámetro de Response se obtiene la temperatura en Farenheit como se esperaba.

SAP-WS-JavaBean-11

Finalmente, con el WebService creado, ya se está en condiciones de utilizarlo desde una WebDynpro siguiendo los pasos detallados en el tip de referencia “Cómo consumir un Web Service desde una WebDynpro JAVA “, haciendo referencia al mismo a través de la url obtenida y pudiendo de esa manera utilizar sus servicios.


Copyright 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

 


 

 

SAPScript: Análisis de las alternativas para encarar modificaciones y agregados en formularios

  1. Overview del procedimiento de impresión de formularios

SAPScript es el mecanismo previsto originalmente por SAP para generar formularios impresos, y, a pesar de la aparición de Smartforms para mejorar esta funcionalidad (ver apartado final), sigue siendo la herramienta más utilizada.

Cuando se va a imprimir cualquier documento, SAP ejecuta el programa de impresión (“print program”) previsto a tal fin, que inicializa el proceso, recolecta y ordena los datos del formulario, e interactúa con SAPScript para derivarle la tarea de “formateo”. Todos los documentos generados por SAP, facturas, cheques, recibos, etc. toman su aspecto y estructura desde las definiciones contenidas en los llamados “layout sets”, o coloquialmente “formularios SAPScript”. SAP provee la herramienta para crear y modificar “layout sets” llamada SAPScript Editor.

Los programas de impresión son complejos programas ABAP. Los “layout set”, en cambio, son en sí mismos archivos de texto, que contienen definiciones de ventanas, módulos de texto predefinidos, espacio reservado para datos variables, y elementos de formato (boxes, shading). El programa y el layout set interactúan a través de una componente de SAPScript llamada composer que combina los datos fijos con los variables y libera el documento al spool una vez completado.

Seguir leyendo este artículo >>

Acceso a una Web Dynpro JAVA desde dispositivos móviles

En los últimos años, los dispositivos móviles se están convirtiendo de manera estratégica en  un punto de interacción importante para acceder a las aplicaciones de negocio, tanto si el usuario es supervisor en una fábrica, vendedor, gerente de área o pertenece al servicio técnico de una compañia.

Los beneficios de la tecnología móvil son obvios e innumerables: las compañías ven la posibilidad de obtener ventaja competitiva al “movilizar” los procesos comerciales en las aplicaciones SAP existentes y en nuevas aplicaciones móviles. Además, se pueden lograr mejoras importantes en la productividad al “acercar el negocio” al lugar donde los usuarios estén con sus notebooks o con sus smart phones, independientemente de cuál sea la compañía proveedora de estos dispositivos.

La implementación de las soluciones móviles en SAP se desarrolla en dos niveles distintos:

Por un lado SAP ofrece un conjunto de aplicaciones  móviles “prepackaged” (predeterminadas) (SAP Solutions for Mobile Applications) que pueden ayudar a los usuarios a “movilizar” sus escenarios de negocio ya existentes.

Por otro lado esas aplicaciones “prepackaged” (y también las desarrolladas por los usuarios), necesitan utilizar distintas tecnologías móviles que sirven como el ambiente de runtime para las aplicaciones mencionadas anteriormente, y además sirven como ambiente de desarrollo para las aplicaciones nuevas a desarrollar por los clientes.


Seguir leyendo este artículo >>

 

Entendiendo el SAP Web Application Server desde el punto de vista del programador

El objetivo de la serie de tips que comenzamos a publicar ahora y por los próximos meses es recorrer y ejemplificar el nuevo escenario de desarrollo que SAP ofrece a partir de Netweaver. 

 

SAP Netweaver NO es un producto. Netweaver puede considerarse más bien una PLATAFORMA de diseño, construcción, ejecución, integración y mantenimiento de aplicaciones, que sirve de sustento a todas las soluciones SAP existentes y futuras. En cierta forma, Netweaver representa la VISION que SAP tiene de cómo deberían ser las aplicaciones de cara a la próxima década, y los recursos tecnológicos para lograrlo. SAP construyó su primer ERP (R/2) alrededor de la visión de mainframes que predominaba entonces en las corporaciones. Luego se anticipó y materializó el R/3 alrededor del paradigma de Cliente-Servidor en la década del 90. Hoy la visión es Netweaver.

Seguir leyendo este artículo >>

 

Definición e impresión de códigos de barra desde SAPScript Parte I: Opción nativa

La implementación de un código de barras es siempre muy dependiente de las características del entorno de trabajo, dado que requiere de la participación de componentes de hardware, del software de base y del aplicación

 

Puede entenderse la impresión del código de barras como si se tratara de un tipo de fuente (“font”) especial, es decir, una forma muy particular de representar letras o números. El “dibujo” producido debe responder a alguna convención de codificación pre-establecida y conocida para los dispositivos lectores de código de barras.

 

La conformación de un código de barras involucra complejos cálculos gráficos para lograr generar “píxeles” a partir de letras y números. Este trabajo puede resolverse en el hardware de la impresora (como si  fueran FONTS embebidos) cuando la impresora posee esta capacidad. También es posible componer códigos de barra por software, (como por ejemplo, los “TrueType” fonts de Windows),  si  se cuenta con el programa necesario.

Seguir leyendo este artículo >>

El modelo BSP: Cómo construir las primeras BSP

El objetivo de la serie de tips que comenzamos a publicar ahora y por los próximos meses es recorrer y ejemplificar el nuevo escenario de desarrollo que SAP ofrece a partir de Netweaver.

Netweaver no es el nombre de un producto. SAP Netweaver es la definición de un “framework”, un marco o infraestructura tecnológica a la que conforman todas las soluciones SAP existentes y futuras. El componente basal  de la infraestructura SAP Netweaver es el SAP Web Application Server (SAP Web AS)

A partir de la versión 6.1, SAP desplaza el SAP BASIS System y lo reemplaza con el SAP Web Application Server. Concebido para actuar en un mundo dominado por las aplicaciones “Web enabled”, el SAP Web AS es la respuesta de SAP para las demandas de escenarios e-business. Basado en el mismo modelo de tres capas (three-tier) del conocido SAP Application Server, el SAP Web AS trae la funcionalidad Web completamente embebida, tanto desde el punto de vista de los protocolos de comunicaciones como del servicio de aplicaciones. El SAP Web AS incluye soporte NATIVO para los protocolos de Internet, eliminando la necesidad de un Internet Gateway separado. Cubre la función de cualquier Web Server en el sentido de que es capaz de entender HTML, XML, WML y SMTP nativamente. Como Web Application Server, es capaz de entender ABAP, y también JAVA.

Seguir leyendo este artículo >>

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