![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️SAP BASIS Otros temas del procesamiento en background
SAP BASIS Otros temas del procesamiento en background
![SAP BASIS Otros temas del procesamiento en background SAP BASIS Otros temas del procesamiento en background](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/469.jpg)
Otros Temas de Procesamiento en Background
Analisis la reserva para Jobs de Clase A. Objetivos de Ejecución, los Usuarios de Background y la utilización de Programas Externos.
1. Reserva para Jobs de Clase A
En la operación normal, cada work process de background procesa jobs de todas las prioridades. De todas formas, podemos reservar tantos work processes de background configurados como deseemos para jobs de prioridad alta, o sea, jobs de clase A.
La reservación de work processes para jobs de clase A no reserva ningún work process en particular. Más bien, el sistema asegura que una cantidad determinada de work processes de background se mantengan libres. Los jobs de clase B y C pueden solamente ser iniciados si el número definido de work processes para posibles jobs de clase A se mantiene libre.
Para configurar el número de work processes de background de clase A tendremos que configurar los modos de operación en la transacción RZ04. Cuando hacemos esto, tendremos la opción de reservar work processes de background.
Transacción RZ04: La transacción estadar RZ04, nos permite realizar la configuracion de los modos de operación de un sistema.
Si la carga de jobs de clase A es pequeña, o cuellos de botella raramente ocurre en el procesamiento de background, en otras palabras, al menos un work process de background casi siempre se encuentra libre, la reserva de work processes para jobs de clase A probablemente no ofrezca ventajas. En este caso, la reservación simplemente significará que un work process es muy poco utilizado (solo por jobs de clase A).
NOTA: SAP recomienda que no reservemos más de un work process de background para el procesamiento de jobs de clase A por cada instancia del sistema. Con esto usualmente es suficiente para un escenario de planificación de jobs de background.
2. Objetivos de Ejecución
Solamente instancias con work processes de background o un grupo de servidores de job puede ser utilizado para planificar la ejecución de jobs con instancias o grupos específicos.
Un grupo de servidores de job contiene una o más instancias con work processes de background. Los grupos de este tipo pueden ser utilizados de la misma forma que los grupos de logon para usuarios de diálogo. También es posible procesar tareas de background en instancias seleccionadas.
Podemos configurar un grupo de servidores de job en la transacción SM61 (menú Tools CCMS → Background Processing → Background Objects). Aquí podremos definir grupos de servidores con work processes de background asignando las instancias que formarán el grupo.
3. Usuarios de Background
Con la clásica definición de jobs utilizando la transacción SM36, podemos asignar cada paso de un job a un usuario. El usuario especificado es utilizado para las verificaciones de autorización durante la ejecución del paso.
Por defecto, el nombre del usuario que está definiendo el job aparece, y el job luego será ejecutado usando las autorizaciones que ese usuario tenga.
Si el job no debería ejecutarse usando las autorizaciones de ese usuario, podemos ingresar un usuario diferente. Para poder hacer este cambio, deberemos contar con la autorización pertinente S_BTCH_NAM para poder ingresar otros usuarios diferentes al nuestro en el campo User en la definición del paso.
Es útil configurar usuarios de background para varias áreas de trabajo que cuenten con las autorizaciones necesarias para las actividades que se requieran, y que puedan ser usadas por usuarios con las mismas autorizaciones para planificar jobs de background en esta área de trabajo, tal como la administración de sistema.
Los usuarios de background tienen registros maestros de usuario que cuentan específicamente con autorizaciones para el procesamiento de background.
El tipo de usuario de Sistema (System) debe ser elegido cuando creamos usuarios de background. Un logon al sistema de diálogo no es posible con este tipo de usuarios. De la misma manera, los usuarios de este tipo están exentos de la configuración de validez de las contraseñas. El administrador de sistema solo puede cambiar la contraseña mediante la transacción SU01.
Si en cambio usamos el Asistente de Jobs para la creación de los mismos, no tenemos la posibilidad de definir un usuario diferente para cada paso del job.
4. Utilización de Programas Externos
El sistema de procesamiento en background diferencia entre comandos externos para usuarios normales y programas externos para los administradores de sistema. El propósito de esta diferenciación es darle a los administradores del sistema la posibilidad de ejecutar cualquier programa externo que requieran, mientras que los usuarios normales están restringidos al uso de comandos externos para los cuales hay verificaciones de autorización.
En ambos casos, el programa sapxpg es invocado a nivel del sistema operativo e inicia el programa relevante en el sistema operativo.
Los Comandos Externos son comandos o programas del host predefinidos en el sistema SAP por el administrador. Estos están protegidos por autorizaciones por lo que los usuarios normales pueden solamente planificar los comandos para los cuales el administrador les ha asignado las autorizaciones necesarias. De esta manera, podemos proveer de funciones fuera del sistema SAP, a nivel del sistema operativo, a los usuarios del sistema SAP.
Los Programas Externos son comandos sin restricciones que no son predefinidos o restringidos por autorizaciones. Un usuario que tenga autorizaciones de administrador puede ingresar un programa externo en un paso de un job.
Ninguna verificación de autorización SAP se lleva a cabo antes de la ejecución del comando. Los programas externos proveen al administrador la flexibilidad para ejecutar cualquier comando en el sistema operativo en el sistema SAP sin preparación previa.
NOTA: Un administrador de sistema debe contar con autorizaciones para el objeto S_RZL_ADM: Administrador de Procesamiento en Background.
La creación de comandos externos requiere de los siguientes pasos:
-1. Llamar a la transacción SM69.
-2. Seleccionar Create.
-3. Realizar las entradas en el nuevo comando.
Los comandos externos son identificados unívocamente con un nombre, comenzando con Z o Y, y un tipo de sistema operativo. El campo Type se completa automáticamente.
Especificar un comando ejecutable del sistema operativo (si es necesario con la ruta completa) y especificar cualquier parámetro requerido u opcional.
Seleccionar el cuadro de verificación (checkbox) Additional Parameters Allowed si los usuarios podrán especificar parámetros adicionales cuando ejecutan el comando externo. Los parámetros adicionales son agregados en una cadena de parámetros especificados bajo el campo Parameters for Operating System Command.
El campo Trace debería dejarse en blanco usualmente. Para seguir la ejecución de un comando externo, utiliza el parámetro de traza para el módulo de función SXPG_COMMAND_EXECUTE.
Si se ha definido una verificación adicional de autorización, ingrese el nombre del módulo de función que realiza la verificación en el campo Check Module. Este es usualmente una copia del módulo de función SXPG_DUMMY_COMMAND_CHECK. El sistema llama al módulo de función automáticamente si un usuario intenta ejecutar el comando externo o lo planifica en un paso de job de background.
-4. Guarda el comando. Para regresar a la vista de comandos, selecciona Back.
5. Indicadores de Control ( Control Flags )
Es posible realizar especificaciones sobre la tarea y otras opciones de ejecución usando indicadores de control. Usualmente no es necesario cambiar los valores por defecto.
Por ejemplo, podemos especificar:
- Si el proceso va a ser registrado.
- Si Los datos de salida se escriben al log del job tal como son devueltos por el programa externo. También es posible registrar información adicional sobre el programa externo en el log del job.
Otro indicador es si el paso del job espera por la finalización del programa externo.
En el caso de que después de que hemos iniciado un servicio con el sistema de procesamiento en background, tal como un demonio en UNIX o un servicio en Windows, el programa se mantiene activo luego del inicio.
Estos programas iniciados como servicio o demonios no devuelven el control al sistema de procesamiento en background de SAP, como en el caso de otros programas.
Si iniciamos un programa mediante un servicio, no deberíamos utilizar el indicador de control Job waiting for ext. Termina cuando planificamos el paso del job.
 
 
 
Sobre el autor
Publicación académica de Jorge Alanoca, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Jorge Alanoca
Profesión: Ing. Informatica - Bolivia - Legajo: QV84A
✒️Autor de: 51 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Jorge Alanoca