Al desbloquear el usuario (tx: SU01), se podrá acceder a la interfaz de nuevo.
jueves, noviembre 25, 2010
Error SLD_NO_OWN_BS
Cuando al intentar realizar una comunicación, el servidor devuelve el error SLD_NO_OWN_BS se puede deber a que el usuario SLDDSUSER esté bloqueado. Esto también será causa de que se produzca un error de acceso al servicio SLD (tx: SLDCHECK):
martes, noviembre 23, 2010
Establecer clave a usuario de tipo comunicación
Cuando se crea un usuario de tipo comunicación y se le asigna una clave, ésta caducará la primera vez que dicho usuario acceda al sistema. El problema está en que si el primer acceso se realiza mediante una interfaz, ésta no obtendrá respuesta (si es que es síncrona). Por ello, una manera de asignar la clave definitiva sería, tras crear el usuario con la clave inicial, acceder a algún servicio web que requiera de control de acceso, por ejemplo el SLD (http://servidor:puerto/sld), indicar como usuario al usuario de comunicación junto con su clave inicial y, a continuación, se nos indicará que la clave ha expirado, momento en el cual podremos introducir la clave definitiva.
Etiquetas:
COMUNICACIÓN,
PASSWORD,
USUARIO,
XI
lunes, septiembre 27, 2010
Conocer los Objetos de Autorización de una Transacción
A través de las transacciones SU22 y SU24 podremos conocer y editar los objetos de autorización que afectan a las transacciones que indiquemos. La principal diferencia entre ambas transacciones es que la SU22 se encarga de mantener la relación de objetos de autorización de SAP, los cuales se recogen en las tablas USOBT y USOBX, y se mantiene mediante la transacción SU25, mientras que la SU24 está enfocada a los objetos de autorización definidos por el cliente, los cuales se almacenan en las tablas USOBT_C y USOBX_C. (NOTA: Todos los objetos de SAP aparecen también en los objetos del cliente).
Etiquetas:
ABAP,
AUTHORITY-CHECK,
AUTORIZACIÓN
jueves, septiembre 16, 2010
Crear ficheros de pruebas para programas Batch Input
La aplicación "Data Transfer Tools" (tx: SXDA_TOOLS) permite generar de manera automática ficheros de prueba necesarios para programas batch input.
Dicho fichero se puede utilizar a modo de plantilla para realizar las pruebas que se deseen. Por ejemplo, si se quiere realizar una actualización de los datos de un acreedor, existe el report estándar RFBIKR00 el cual ejecuta un B-I a partir de un fichero de entrada con una estructura específica. Con el fin de no generar el fichero de prueba a pelo, iríamos a la transacción SXDA_TOOLS e indicaremos que deseamos crear un fichero para el tipo de objeto LFA1 (Vendor), para el programa RFBIKR00 que es de tipo BINP (Batch Input):
Dicho fichero se puede utilizar a modo de plantilla para realizar las pruebas que se deseen. Por ejemplo, si se quiere realizar una actualización de los datos de un acreedor, existe el report estándar RFBIKR00 el cual ejecuta un B-I a partir de un fichero de entrada con una estructura específica. Con el fin de no generar el fichero de prueba a pelo, iríamos a la transacción SXDA_TOOLS e indicaremos que deseamos crear un fichero para el tipo de objeto LFA1 (Vendor), para el programa RFBIKR00 que es de tipo BINP (Batch Input):
Etiquetas:
ABAP,
DATA TRANSFER
miércoles, septiembre 15, 2010
Crear transacción de una vista de actualización
Para crear una transacción de una vista de actualización deberemos, a través de la tx. SE93, crear una "Transacción con parámetros (transacción de parámetros)". En el bloque de valores de propuesta indicaremos que la transacción objetivo es la SM30 y marcaremos el flag "Omitir imagen inicial".
Por último, al final de la pantalla, habrá que añadir los siguientes parámetros:
Enlaces de referencia:
Por último, al final de la pantalla, habrá que añadir los siguientes parámetros:
- VIEWNAME: (nombre de la vista)
- UPDATE: X
Enlaces de referencia:
martes, agosto 17, 2010
Cancelar importación de una orden de transporte en curso
Para cancelar una orden de transporte que se encuentre colgada en estado "Import en ejecución" hay que seguir los siguientes pasos:
- Seleccionamos la orden que se desea cancelar en la STMS.
- Vamos a la opción Pasar a -> Importar monitor (Ctrl+F8).
- Una vez ahí, aparece una lista con entradas de ejecución de importaciones anteriores que estarán en verde, excepto la orden que se encuentra colgada, la cual aparecerá en gris.
- Seleccionamos la orden en gris y haciendo clic con el botón derecho del ratón, escogemos la opción "Borrar entrada".
- Por último, nos autenticamos en el sistema y con ello se habrá reiniciado el estado de la importación y podremos reimportar la orden, si fuera necesario.
Etiquetas:
ABAP,
TRANSPORTE
viernes, julio 30, 2010
Importar y exportar clases en formato XML
En el siguiente enlace, Sergey Korolev indica cómo podemos importar/exportar clases abap entre sistemas por medio de ficheros XML. Bastante útil.
miércoles, abril 28, 2010
Usos de ALV en Netweaver 04
Para los que aún sigan utilizando el modelo de programación antiguo para los ALV de SAP, adjunto un par de enlaces en el que se definen cómo utilizar el modelo introducido a partir de SAP Netweaver 04:
Enlace de referencia:
- SAP List Viewer - The New Programming Model in SAP NetWeaver 04
- Utilizing The New ALV Object Model
- FI Report Using the ALV OM Model
- Power of ABAP Objects: Overcome the Restrictions of SALV Model
Enlace de referencia:
viernes, abril 23, 2010
Vista de actualización "no modificable"
Cuando queremos crear una vista de actualización de una tabla que sea editable en el entorno destino, necesitamos saber si dicho entorno permite modificaciones de tablas. Esto lo podremos saber porque si no definimos correctamente la rutina de grabación de la vista de actualización, al intentar editar la tabla en el destino (mediante tx: SM30, p.ej.) aparecerá un mensaje informativo indicando:
Mandante XXX tiene status "no modificable"
Esto se soluciona indicando la opción "Rutina de grabación individual o ninguna" en la vista de actualización:
Mandante XXX tiene status "no modificable"
Esto se soluciona indicando la opción "Rutina de grabación individual o ninguna" en la vista de actualización:
miércoles, abril 07, 2010
Mapear Excepción RFC en Tipo de Mensaje
Por norma general, la manera de informar las excepciones es a través de los Tipos de Mensajes de Fallos (Fault Message Types), los cuales poseen una estructura estándar a la que se le pueden añadir campos adicionales. No obstante, la versión PI 7.0 permite utilizar otros tipos de mensajes para informar dichas excepciones como lo son los propios mensajes de la RFC (RFC Message) o mensajes externos (External Message), pero no permite utilizar ningún tipo ya definido en el Integration Builder. A continuación voy a explicar cómo podemos "reutilizar" un tipo ya definido para devolver los mensajes de excepción devueltos por una RFC.
En el escenario planteado tenemos una función RFC que tiene como parámetro de salida una tabla de mensajes de tipo BAPIRET2 donde se vuelca información sobre si la ejecución ha sido correcta o no. En nuestro caso queremos que si se produce una excepción también se informe en la misma tabla, por lo que deseamos utilizar el mismo tipos de datos devuelto para pasar las excepciones.
En el escenario planteado tenemos una función RFC que tiene como parámetro de salida una tabla de mensajes de tipo BAPIRET2 donde se vuelca información sobre si la ejecución ha sido correcta o no. En nuestro caso queremos que si se produce una excepción también se informe en la misma tabla, por lo que deseamos utilizar el mismo tipos de datos devuelto para pasar las excepciones.
martes, abril 06, 2010
Message Mappings: documentos interesantes
En un foro de SDN he encontrado un post con enlaces a varios documentos relacionados con el MM:
Mapping functionality in XI
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
SAP Exchange Infrastructure - Graphical_Mapping
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6658bd90-0201-0010-fbb6-afe25fb398d3
SAP Exchange Infrastructure - Graphical Mapping Exercise
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/fd5ebd90-0201-0010-d697-91374d5b5190
SAP Exchange Infrastructure - Graphical Mapping - Advanced
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
SAP Exchange Infrastructure: Mapping Patterns - Understand Context Handling in Message Mapping - Webinar Powerpoint
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f59730fa-0901-0010-df97-c12f071f7d3b
SAP NetWeaver Exchange Infrastructure Mapping Troubleshooting - Webinar Powerpoint
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e01e9400-9e81-2910-20a5-a862945a5e98
Mapping Lookups a RFC API
https://www.sdn.sap.com/irj/sdn/thread?threadID=196308
XI 3.0 New Mapping Features
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8a57d190-0201-0010-9e87-d8f327e1dba7
Fuente:
Mapping functionality in XI
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9202d890-0201-0010-1588-adb5e89a6638
SAP Exchange Infrastructure - Graphical_Mapping
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/6658bd90-0201-0010-fbb6-afe25fb398d3
SAP Exchange Infrastructure - Graphical Mapping Exercise
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/fd5ebd90-0201-0010-d697-91374d5b5190
SAP Exchange Infrastructure - Graphical Mapping - Advanced
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/be05e290-0201-0010-e997-b6e55f9548dd
SAP Exchange Infrastructure: Mapping Patterns - Understand Context Handling in Message Mapping - Webinar Powerpoint
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f59730fa-0901-0010-df97-c12f071f7d3b
SAP NetWeaver Exchange Infrastructure Mapping Troubleshooting - Webinar Powerpoint
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e01e9400-9e81-2910-20a5-a862945a5e98
Mapping Lookups a RFC API
https://www.sdn.sap.com/irj/sdn/thread?threadID=196308
XI 3.0 New Mapping Features
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/8a57d190-0201-0010-9e87-d8f327e1dba7
Fuente:
Etiquetas:
MESSAGE MAPPING,
XI
lunes, marzo 08, 2010
Activar colas registradas
Cuando el mensaje de una cola no ha sido enviado debido a algún error, el resto de mensajes que se almacenan en la misma quedan bloqueados hasta que se trate el primer mensaje. Una vez solucionado, al intentar activar la cola, SAP devuelve el siguiente mensaje:
Por lo que deberemos "anular la inscripción" de las colas afectadas mediante la transacción SMQR. Para ello bastará seleccionar la/s cola/s implicada/s y pulsar el botón "Anular inscripción". De este modo podremos activar las colas de nuevo para que se procesen los mensajes restantes.
NOTA: tras activar las colas deberemos volver a "inscribir" la/s cola/s implicada/s a través de la SMQR para que vuelvan a su funcionamiento normal.
Enlace de referencia:
Por lo que deberemos "anular la inscripción" de las colas afectadas mediante la transacción SMQR. Para ello bastará seleccionar la/s cola/s implicada/s y pulsar el botón "Anular inscripción". De este modo podremos activar las colas de nuevo para que se procesen los mensajes restantes.
NOTA: tras activar las colas deberemos volver a "inscribir" la/s cola/s implicada/s a través de la SMQR para que vuelvan a su funcionamiento normal.
Enlace de referencia:
jueves, febrero 25, 2010
Obtener contenido de campos de dynpros antes de pulsar Enter
La siguiente función permite obtener el contenido del campo que se desee de la pantalla de selección (dynpro) sin necesidad de que el usuario haya pulsado ENTER. Esto es útil para aquellos programas cuyos datos de selección dependen unos de otros.
Etiquetas:
ABAP,
DYNPRO,
GET_DYNP_VALUE
lunes, febrero 22, 2010
Pragmas y Pseudocomentarios en ABAP
Hay algunos programas en los que aparecen comentarios del tipo "#EC seguido de un comando. Pues bien, dichos pseudocomentarios sirven para eludir los mensajes de aviso relacionados que aparecen al validar el código del programa mediante transacciones como SLIN y SCI. Estas transacciones sirven para garantizar la calidad del código.
Es a partir de SAP Netweaver 7.1 EhP1 cuando estos pseudocomentarios pasan a ser obsoletos y en su defecto se pasa a hacer uso de los pragmas.
Enlace de referencia:
Es a partir de SAP Netweaver 7.1 EhP1 cuando estos pseudocomentarios pasan a ser obsoletos y en su defecto se pasa a hacer uso de los pragmas.
Enlace de referencia:
- http://sapport.blogspot.com/2009/03/pseudo-comments-and-pragmas-in-abap.html
- ABAP Testing and Troubleshouting
- Evaluating the Quality of Your ABAP Programs and Other Repository Objects with the Code Inspector
- ABAP Code Inspector Wiki
Etiquetas:
"#EC,
ABAP,
PRAGMAS,
PSEUDOCOMMENTS
miércoles, enero 27, 2010
Iniciación a WebDynpro
En la siguiente entrada recojo información básica para iniciarse en el mundo de los WebDynpros.
Conocimientos previos necesarios para probar una aplicación:
Para acceder al servicio de aplicación es importante que enlace sea informado del estilo:
http://<host>.<dominio>.<ext>:<puerto>/sap/bc/webdynpro/sap/<aplicación>
Servicio de aplicación Webdynpro
Servicios básicos del sistema
Enlaces de iniciación
- Web Dynpro ABAP - SAP Library
- Web Dynpro ABAP - SDN
- [PDF] Web Dynpro ABAP Programming Guidelines
Conocimientos previos necesarios para probar una aplicación:
Para acceder al servicio de aplicación es importante que enlace sea informado del estilo:
http://<host>.<dominio>.<ext>:<puerto>/sap/bc/webdynpro/sap/<aplicación>
Servicios necesarios activos (SICF)
Servicio de aplicación Webdynpro
- /sap/bc/webdynpro/sap/<aplicación>
Servicios básicos del sistema
Enlaces relacionados con seguridad
jueves, enero 21, 2010
Enlaces interesantes de XI
Los siguientes enlaces pueden ser útiles de cara al desarrollo y monitorización en XI/PI:
- Exposing the XI monitoring functionality as a Web Service
- Finding the PI message with the NF-e Access Key
- Interesting ABAP tables in XI
- RFC programming in ABAP
- PI Monitoring Functionality - Fetching Data from SXMB_MONI Standard Tables - Part I
- PI Monitoring Functionality - Fetching Data from SXMB_MONI Standard Tables - Part II
- PI Monitoring Functionality - Fetching Data from SXMB_MONI Standard Tables - Part III
Etiquetas:
XI
martes, enero 19, 2010
Depurar un proceso lanzado en fondo (job)
En ocasiones un report funciona correctamente al ejecutarlo online, pero puede fallar cuando se ejecuta en fondo (modo batch). En ese caso, el job aparece como cancelado en la transacción SM37. La mayoría de las veces, la información que aparece en la transacción ST22 es suficiente para determinar la causa, pero esto no siempre es así. La cuestión es: ¿cómo puedo depurar el programa en fondo para saber dónde ha fallado?
Existe un modo a través de la transacción SM37. Para ello se deberá seleccionar qué proceso se desea depurar, marcando la casilla correspondiente y, a continuación, introducir el comando "JDBG" en el campo de comandos tal como se muestra en la siguiente captura de pantalla:
De este modo se iniciará un modo debug en el que se repetirá el proceso que falló considerando los mismos parámetros de entrada que tenía en su origen.
Más información:
Existe un modo a través de la transacción SM37. Para ello se deberá seleccionar qué proceso se desea depurar, marcando la casilla correspondiente y, a continuación, introducir el comando "JDBG" en el campo de comandos tal como se muestra en la siguiente captura de pantalla:
De este modo se iniciará un modo debug en el que se repetirá el proceso que falló considerando los mismos parámetros de entrada que tenía en su origen.
Más información:
Suscribirse a:
Entradas (Atom)