Lea en SAP Netweaver . . .

Desanudando Conceptos: SAP HANA

No hay “newsletter”, conferencia o evento del ambiente ERP que en los últimos meses haya ahorrado detalles y especulaciones sobre el nuevo paradigma: SAP HANA.

En medio del marketing “hype”, es siempre difícil para los que estamos en el ruedo decodificar lo esencial de las nuevas tecnologías, así que aquí va nuestro aporte para ayudar a una cabal y conceptual comprensión de SAP HANA.

FaceBookTwitterGoogle+

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

Como navegar desde una tabla al customizing

Utilice la Tx SM30 para navegar desde una tabla standard al arbol de implementacion IMG del customizing SAP

A veces se conoce el nombre de la tabla standard donde SAP guarda la información, pero no se conoce la transacción o el path del Customizing para poder actualizar los datos.

Por medio de la ejecución de la transacción SM30 (Mantenimiento de Tablas), se puede saber cuál es el path del menú del customizing donde se actualiza una tabla.

El paso a seguir consistiría en ejecutar la transacción SM30,  colocar el nombre de la tabla (por ejemplo, la tabla de Monedas: TCURP) y luego presionar el botón Customizing, como se muestra en la siguiente pantalla:

Tx-sm30-SAP

 

Automáticamente, al presionar el botón Customizing se llega al menú de Customizing de SAP, donde se podrá actualizar directamente los datos de la tabla seleccionada anteriormente (ej. TCUR), como se refleja en la siguiente pantalla:

display-IMG-SAP

 


 

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, SAP Netweaver, R/3 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

 

Codigo oculto y/o bloqueado en un programa ABAP

Cómo ocultar y/o bloquear código en un fuente ABAP

Ingresando *@#@@[SAP] en la primera línea de un programa ABAP, se oculta todo el código del fuente (este texto debe ser el único de la línea). El efecto se produce al salir de la pantalla de edición y al volver a ingresar para modificar y/o visualizar el fuente, el cual se ve “vacío” e incluso no aparece en los procesos de debugg.

Se aconseja tener una copia del fuente previamente, dado que es complejo recuperar el código.

Por otra parte, dentro de los atributos de un programa ABAP existe un indicador de “Bloqueo de editor” que, cuando está marcado, impide a un usuario la modificación del fuente, con excepción del propietario del programa (inicialmente el usuario que lo creó). Este atributo se presenta en blanco cuando se crea el programa y es también el propietario el único usuario que lo puede desmarcar.

También se puede lograr que una línea de comentarios NO sea editable, ingresando “*$*$” en las primeras posiciones de la línea y a continuación el texto del comentario. Normalmente se usa esta técnica para impedir la modificación de textos como fecha de creación del programa, última fecha de modificación, autor, etc.

A partir del release de SAP ERP 4.6, este efecto depende de la modalidad de editor que se utilice.


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, SAP Netweaver, R/3 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

Funciones de conversion de formatos numericos en ABAP

Acceda a la base de datos con claves numéricas usando conversion de formatos numéricos en ABAP

Cuando desde un programa se necesita acceder a una base de datos mediante un campo en formato caracter, consistente sólo de dígitos, la búsqueda falla devolviendo un mensaje de registro inexistente. Por ejemplo, la consulta del código de material ‘15’ en el maestro de materiales.

Esto sucede (desde la sentencia SELECT, NO en una consulta a través de una transacción estándar ) porque el campo utilizado como clave se toma como un “char” y no se realiza la conversión a numérico, esto es la justificación a izquierda (se efectúa la búsqueda con ‘15’ y no con ‘000000000000000015’).

Para lograr la conversión a numérico, se puede utilizar el módulo de función CONVERSION_EXIT_ALPHA_INPUT que agrega los ceros correspondientes a izquierda según la longitud del campo. La función recibe el dato a convertir y devuelve el dato convertido.

También resulta útil la función CONVERSION_EXIT_ALPHA_OUTPUT que realiza el proceso inverso, es decir, transforma de formato numérico a caracter, por ejemplo para listar el campo en cuestión.


 

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, SAP Netweaver, R/3 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

 

Transacciones en ABAP que ayudan a encontrar tablas: ST05, SE49, SE84

Transacciones para encontrar tablas en ABAP que almacenan datos necesarios

Una de las dificultades más habituales de los programadores novatos es encontrar las tablas que almacenan los datos que necesitan

Normalmente, el consultor funcional o el usuario sólo conocen el nombre de la estructura que pueden ver en el status. Entre los instrumentos disponibles para obtener esta información, se destacan los siguientes:

1)ST05: Activar el trace de base de datos (Trace SQL)
Si se conoce un proceso o transacción que lee estos datos, se puede abrir otra sesión, arrancar la transacción ST05 e iniciar el trace presionando el botón de "trace on". Luego regresar a la primera sesión y proceder con la acción. Cuando los datos requeridos aparecen en la pantalla, regresar a la sesión de la ST05 y presionar los botones de "trace off" y "trace list". De esta manera se obtendrá una lista de todas las tablas leídas por el sistema.

2) SE49: Program Analysis - Table Manipulation
Si se conoce el nombre de una transacción o programa donde se utilizan los datos, puede usarse la transacción SE49 para mostrar todas las tablas leídas y modificadas por el programa, (si es que han sido definidas en el comando TABLES de los programas en cuestión).

3) SE84: Sistemas de información
Si no se conoce qué transacción o programas tocan el dato buscado, puede intentarse una búsqueda a partir de otros elementos, por ejemplo, clase de desarrollo. Mediante la transacción SE84 o desde el menú principal, Herramientas -> Workbench ABAP -> Resumen -> Sistema de Información, se puede acceder al Repository Information System, ingresar a "Diccionario Abap" y desde allí buscar por "Objetos Básicos" (tablas, vistas, estructuras, etc), por "Otros Objetos" (índices, tablas pool/cluster, etc) o por "Campos" (campos tablas, campos vistas, etc).


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, SAP Netweaver, R/3 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

 

Busqueda de tablas en programas ABAP

Encuentre las tablas con los datos que se necesitan consultar en un programa ABAP

Muchas veces resulta difícil encontrar las tablas que contienen los datos que se necesitan en un programa. Normalmente, el consultor funcional o el usuario sólo conocen el nombre de la estructura que pueden ver en el status. 

Se comentan a continuación algunas herramientas para obtener esta información:

1) Trace de base de datos (Trace SQL):

Antes de disparar el proceso que leerá los datos que se necesitan, se puede abrir otra sesión, arrancar la transacción ST05 e iniciar el trace presionando el botón de “trace on”. Luego regresar a la otra sesión y proceder con la acción. Cuando los datos requeridos aparecen en la pantalla, regresar a la sesión de la ST05 y presionar los botones de “trace off” y “trace list”. De esta manera se obtendrá una lista de todas las tablas leídas por el sistema.

2) Program Analysis: Table Manipulation:

Si se conoce el nombre de la transacción o del programa donde se utilizan los datos requeridos,se puede usar la transacción SE49 que mostrará todas las tablas leídas y modificadas por el programa, sólo si han sido definidas en el comando TABLES del programa en cuestión.

3) Sistemas de información:

Mediante la transacción SE84 o desde el menú principal, Herramientas à Workbench ABAP à Resumen à Sistema de Información, se puede acceder al Info Repository R/3, ingresar a “Diccionario Abap” y desde allí buscar por “Objetos Básicos” (tablas, vistas, estructuras, etc), por “Otros Objetos” (índices, tablas pool/cluster, etc) o por “Campos” (campos tablas, campos vistas, etc).

 


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, SAP Netweaver, R/3 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 Técnica: Notas técnicas -Tips de SAP Netweaver ABAP

Tema: Base de datos, tablas, reportes Descripción: Encuentre las tablas con los datos que se necesitan consultar en un programa ABAP

 

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, SAP Netweaver, R/3 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 Field Symbols en ABAP para la conversión de caracteres a ASCII

Cómo obtener en ABAP la configuración ASCII de un string mediante el uso de field symbols

Los “field symbols” son nombres simbólicos de otros campos. NO reservan espacio físicamente para un campo sino que “apuntan” a su contenido. Un field symbol puede apuntar a cualquier objeto de datos.

 

Para poder utilizarlos en un programa se debe:

1) Definir el field symbol.
2) Asignar al field symbol el objeto de datos

1)Se puede declarar un field symbol sin o con especificaciones de “tipo”. Si no se especifica el “type”, el field symbol asume todos los atributos técnicos del campo asignado. Si se especifica type, el sistema controla la compatibilidad del field symbol y el campo al que se está asociando en el momento de la ejecución de la sentencia de asignación. La sintaxis de la declaración es:

FIELD-SYMBOLS <FS> [<type>|STRUCTURE <s> DEFAULT <wa>]

2) En un programa, se pueden asignar objetos de datos a field symbols en cualquier momento, como también asignar una serie de diferentes objetos de datos a un field symbol. Para la asignación se utiliza la sentencia ASSIGN, que tiene varias variantes y parámetros. Una de estas variantes es la adición TYPE con los Abap types C, D, F, I, N, P, T y X que permiten setear el tipo de datos de un field symbol independientemente del objeto asignado.

Ejemplo:

data txt(8) value ’20020624’.

data hexa(1)value ’X’.

field-symbols <fs>.

 

assign txt to <fs>.

write / <fs>.                                        “ a)

assign txt to <fs> type ´D´.

write / <fs>.                                        “ b)

assign txt to <fs> type hexa.

write / <fs>.                                        “ c)

 

El resultado sería:

1) 20020624
2) 24062002
3) 3230303230363234

En el ejemplo el string txt es asignado al field symbol tres veces. En la primera asignación no se especifica tipo. En la segunda, el tipo especificado es D y la salida depende de la definición que tenga el usuario actual en su registro maestro. En el tercer assign, la salida corresponde al código hexadecimal de los caracteres contenidos en txt. Estos dependen de la plataforma, en este caso es ASCII.

Para tener en cuenta:

Los field symbols proveen gran flexibilidad ya que permiten, entre otras cosas procesar secciones de campos (se pueden especificar modificadores de desplazamiento y longitud dinámicamente), direccionar partes de un campo (asignando un field symbol a otro), lograr que un field symbol tome distintos atributos técnicos de los campos asignados a él, etc. Pero aumentan las posibilidades de error o de incorrectas asignaciones de datos durante la corrida, dado que los campos se asignan recién en el momento de ejecución del programa y las verificaciones de sintaxis y chequeos de seguridad son muy limitados para las operaciones que incluyen field symbols.

Por estas razones, se recomienda el uso de los field symbols sólo si no se pueden alcanzar los mismos resultados usando otras sentencias ABAP.

 


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, SAP Netweaver, R/3 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 Técnica:  Notas técnicas – Tips de SAP Netweaver ABAP

Tema: Field Symbols, Conversión ASCII. Descripción: Cómo obtener en ABAP la configuración ASCII de un string mediante el uso de field symbols.

 

 

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, SAP Netweaver, R/3 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


 

Conversion de fechas e importes en actualizaciones a la base de datos desde ABAP

Formatee campos de fechas e importes en un programa ABAP con modalidad Batch Input o Call transaction.

Cuando se utilizan variables de fecha e importes en un programa ABAP que ingresa datos bajo modalidad batch input o call transaction, es necesario consultar (previamente al ingreso de los campos a las pantallas) la tabla maestra de usuarios, para obtener los seteos correspondientes de formatos de fecha y coma decimal, formatear los datos según estos seteos y evitar así posibles errores en la ejecución del programa.

La sentencia   WRITE <var1> TO <var2> en programas ABAP permite de una forma más simple y directa convertir las variables automáticamente de acuerdo a los parámetros del usuario: <var1> debe definirse con formato fecha o numérico, según corresponda, y <var2> con formato caracteres (texto).

Después de la ejecución de esta sentencia, <var2> contiene el campo formateado.


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, SAP Netweaver, R/3 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 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, SAP Netweaver, R/3 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 © 2018 Teknoda tips - Tecnologia SAP Netweaver - IBM AS400 - System i - iSeries - IBM i Power Systems. Todos los derechos reservados.
Joomla! es software libre, liberado bajo la GNU General Public License.