✒️SAP / El procesamiento de fondo Por Ornella Mollani Norverto

Selector Alummnos / Empresas

SAP USR El procesamiento de fondo

SAP USR El procesamiento de fondo

Lección 2. Los conceptos del procesamiento de fondo

Además de la opción de ejecutar programas y transacciones online, SAP nos da la posibilidad de ejecutar procesos de fondo. Podemos encontrarnos con otros términos para referirse al mismo concepto, como procesamiento batch o procesamiento en segundo plano.

El mismo consiste en la ejecución de un proceso o programa sin interacción con el usuario, es decir, que lanzamos el proceso y SAP GUI nos devuelve el control, aunque el programa todavía no ha acabado de ejecutarse.

Este modo de ejecución adquiere una importancia vital cuando tratamos con programas que tardan mucho tiempo en completarse.

Tradicionalmente se considera un buen tiempo de respuesta para un sistema online el hecho de que no transcurran más de dos segundos entre dos acciones del usuario sobre el programa. Parece poco probable que un usuario este esperando más de cinco minutos a la respuesta del sistema sin pensar que se ha quedado bloqueado o que fallado el programa, por eso, cuando se prevea que un proceso va a durar más tiempo debería ser lanzado de fondo.

El lanzamiento de programas de fondo nos permite mejorar el rendimiento de las transacciones online ya que podemos determinar que la prioridad de las mismas sea menos, debido a que el usuario no está esperando respuesta inmediata. Lo más aconsejable es lanzar los programas de fondo durante la noche, cuando la carga de usuarios que actúan online es casi nula.

Esto último se deberá hacer cuando los procesos no sean críticos para la obtención de datos en tiempo real, es la dirección de la empresa la que debe decidir, por ejemplo, si sus pedidos de compra deben emitirse online o por el contrario pueden esperar todos a la noche.

A partir de la implementación de la plataforma SAP HANA en las empresas, muchos procesos muy pesados que antes demoraban horas o hasta días en ejecutarse de fondo o batch, cuando los resultados en realidad se requerían en cuestión de minutos, redujeron significativamente sus tiempos de ejecución gracias a la potencia de la base de datos in memory. Algunos de estos procesos pasaron a ejecutarse directamente de forma online y otros pasaron de demorar días a demorar minutos. Por otro lado, mas procesos de fondo se pueden lanzar al mismo tiempo gracias a SAP HANA sin limitar los recursos de la base de datos y aquellas tareas particularmente costosas se pueden realizar de a una en vez de tener que dividirlas en varias tareas.

Los Jobs

Job es el conjunto de uno o más programas o transacciones que se lanzan consecutivamente en un proceso de fondo.

Para crear un Job (definir y planificar) usaremos la función estándar SM36.

La definición de un job tiene 3 áreas principales:

La información general, la hora de inicio o evento de ejecución y los Pasos.

Lo primero que debemos hacer es dar un nombre que defina el propósito que tiene el Job. Este nombre no es único, lo que significa que podemos crear varios Jobs que se llamen "actualizar estadísticas enero",

Esto se produce porque SAP asigna un numero interno a cada Job con el que diferencia a unos de otros, pero para nosotros esa clave es desconocida y solo podremos referirnos al job por su nombre.

Otro dato es la clase de job que indica SAP la prioridad de ejecución de los procesos que le mandamos y en función de ellos, asigna los recursos adecuadamente.

· A. La más alta prioridad (procesos críticos, de funcionamiento);

· B. Prioridad media (procesos periódicos, de mantenimiento);

· C. Prioridad normal (Jobs de usuario, clase normal).

La hora de inicio o evento

Una vez definidas las características generales del job, tenemos que indicar cuando debe ejecutarse. Esta indicación puede hacerse de diversas formas.

· Ejecución inmediata: en el momento de acabar su definición.

· Ejecución por fecha/hora: deberemos indicarle un día y una hora en la que queramos que comience el job. Además, podemos marcar le job como periódico, que se repetirá su ejecución cada cierto periodo de tiempo. Esta opción es muy útil para los Jobs de mantenimiento o de recolección de estadísticas, de hecho, al instalar SAP ya existen una serie de jobs de estas características.

· Por job: con esta indicación podemos encadenar unos jobs con otros, es decir, indicaremos al job B que empiece a ejecutarse cuando finalice el job A. También podemos especificar que solo comience cuando la finalización del job A sea correcta, en caso de que el job A haya sido cancelado en mitad de su ejecución, el job B no se ejecutara.

· Por evento: el job comenzara cuando se produzca en el sistema el evento que le indiquemos.

Un evento es un suceso que se produce automáticamente en el sistema SAP o que podemos provocar manualmente.

Previamente, el evento debe estar definido en la correspondiente tabla. SAP viene con una serie de eventos predefinidos como pueden ser, el arranque o parada de instancias, el cambio de modo de operación de nocturno a diurno, etc.

Los pasos de un job

Tras definir cómo y cuándo queremos que se procese el job, por último, vamos a decirle que es lo que queremos que haga. Los pasos de un job los componen los diferentes programas que queremos que se ejecuten.

Estos programas pueden ser de tres tipos:

· Un programa ABAP estándar o creado por nosotros, al que le indicaremos una variante que contenga los parámetros de selección de ese programa;

· Un comando externo, que se ejecutara en el sistema operativo donde esté el servidor de aplicaciones que procesa job;

· Un programa externo que reside en otro sistema distinto a SAP, se usa cuando tenemos otros sistemas de gestión distintos a SAP y necesitamos tener interfaces entre ellos.

Los pasos de un job constituyen un proceso unificado, esto implica que, si el primero de un job de tres pasos sufre una cancelación, ninguno de los otros dos pasos restantes se procesara. Es como si creáramos tres jobs encadenados con dependencia de status con un paso cada uno.

Para crear un Job de fondo, lo primero que hacemos es entrar a la transacción estándar SM36, en el campo del job escribir el nombre del job y presionar enter. En la pantalla flotante siguiente, introducimos el nombre del programa ABAP que deseamos planificar de fondo y presionamos verificar y luego grabar; a continuación presionamos back para configurar la condición de inicio del job, en el extremo superior izquierdo, en la pantalla siguiente seleccionamos el botón fecha e introducimos en el campo inicio previsto la fecha de arranque y la hora de ejecución del job, luego seleccionamos el botón valores de periodo para establecer con qué frecuencia se ejecutara el job y luego grabamos. Por ultimo volvemos a grabar y job quedara planificado.

El análisis de un Job

Una vez definido completamente un job podemos analizar y monitorizar su situación a través de la transacción SM37. A esta transacción la usaremos para ver los jobs procesados en el sistema SAP. De cada job podremos visualizar distintos datos tales como el ID, el usuario SAP que lo ejecuto, el status, la fecha y hora de inicio, la duración y el retraso.

Inicialmente tendremos que introducir los criterios de selección de los jobs que queremos analizar porque pueden existir cientos de jobs definidos en un momento dado y nosotros estaremos interesados en unos pocos. La selección se hace principalmente por el nombre del job, usuario creador del job, fecha y hora de inicio y estado actual en el que se encuentra.

Una vez introducidos los datos y tras pulsar enter, veremos la siguiente pantalla:
Imagen

Podemos ver un listado de jobs con diversos datos sobre ellos. La información que más nos interesa es el estrado en el que se encuentran.

Los estados de un job

Los posibles estados de un job son:

· Previsto: es el estado inicial en el que se encuentra cuando hemos definido los datos generales y los pasos del job, pero no hemos dicho nada acerca de cuándo debe ejecutarse. La elección del nombre no es muy acorde a su significado real porque un job que está previsto no se ejecutara nunca a menos que lo liberemos o modifiquemos la selección de datos de inicio.

· Liberado: cuando definimos completamente un job con la transacción SM36 o liberamos un job que estaba en estado previsto, entonces pasa a liberado. En este estado permanecerá hasta que se cumpla la condición de su fecha de inicio o se produzca el evento que lo lanza.

· Preparado: una vez que se han cumplido las condiciones de inicio del job, pasa al estado preparado en el que está esperando a que haya recursos libres en el sistema para ejecutarse. Normalmente no veremos jobs en este estado a menos que tengamos el sistema tan cargado que no haya suficientes solas para atender a todos los jobs que están en estado preparado.

· Activo: el job se está procesando. podemos ver el log desde este momento y ver lo que está haciendo.

· Terminado: el job completo su ejecución correctamente.

· Cancelado: algún problema hizo que el job finalizara de manera incorrecta. Normalmente se producen cancelaciones por errores de los programas que componen le job o problemas de acceso a la base de datos. En el log del job podemos ver el motivo de la cancelación.

Las operaciones sobre job

Si pulsamos en el menú Job correspondiente a la transacción SM37 veremos todas las operaciones posibles que podemos hacer para alterar el estado o composición de un job. Vamos a describir algunas de las operaciones que se pueden realizar sobre los procesos de fondo:

· Verificar status: a veces podemos descubrir que un job que creamos que está activo (porque la transacción SM37 así nos lo dice) realmente no lo está. Con esta opción forzamos a SAP a comprobar que el estado que nos da para el job es realmente el que tiene en el sistema operativo.

· Cancelar job activo: con esta opción detenemos un job activo y lo pasamos directamente a estado cancelado. Si tuviera un job encadenado a continuación, este no se procesará.

· Borrar: una vez terminado o cancelado un job podemos borrarlo manualmente de la lista.

· Liberado/Previsto: para poder deshacer la liberación de un job usaremos esta opción. Es muy útil para no tener que borrar y redefinir un job que hemos liberado a una hora concreta y después nos hemos dado cuenta de que no queremos lanzarlo aún.

· Copiar: si queremos que un job se ejecute dos o tres veces lo copiaremos con esta opción y liberaremos cada una de las copias convenientemente. Si queremos que se ejecute más veces deberíamos pensar en la posibilidad de crear un job periódico.

· Modificar: siempre y cuando no haya comenzado la ejecución del job (en modo previsto o liberado) podremos modificar cualquier dato de la definición del mismo.

· Repetir previsión: esta opción es muy similar a la de copiar, pero además nos pide los datos de inicio del job, es decir, es como si copiamos un job y liberamos inmediatamente la copia.

· Traslado a otro servidor: sirve para cambiar el servidor de destino de un job que no este activo

· Capturar job activo: para comprobar en qué punto va la ejecución del proceso que hemos lanzado podemos capturar un job que este activo. Al pulsar esta opción se nos abre un modo nuevo con el debugger de ABAP parado en el punto del programa que estuviera en ese momento.

· Detalles del job: aquí podemos ver datos internos del job. El más interesante es comprobar en qué servidor de aplicaciones se está procesando y el número de cola BTC (cola de procesamiento de los procesos batch o de fondo) para poder monitorizar su estado y/o rendimiento con la transacción SM51.

Transacción SM51: muestra los servidores de SAP. Desde aquí podremos seleccionar un servidor en particular y comprobar los procesos que se están ejecutando.

Dado que los procesos de fondo no se ejecutan de forma online, entonces la posibilidad de debuggear dichos procesos en la búsqueda de un error no resulta posible, pero por suerte existe un truco que podemos usar para poder realizar un debugg de los procesos de fondo. Así podremos debuggear jobs de la transacción SM37. Vamos a la transacción SM37, seleccionamos el job en cuestión e ingresar en la línea de comando de SAP, JDBG, el sistema abrirá un modo con el debugging para el job. Esta técnica puede resultarnos muy útil cuando queremos debuggear un job, pero tiene como desventaja que, si el job no nos da tiempo suficiente como para realizar el truco, entonces vamos a tener que buscar otra solución. En ese caso vamos a tener que modificar el programa ABAP en cuestión agregando la sentencia wait, al cual retrasa la ejecución de un programa ABAP.


 

Escanear / Compartir

 

 


Sobre el autor

Publicación académica de Ornella Mollani Norverto, en su ámbito de estudios para el Curso Introducción SAP.

SAP Senior

Ornella Mollani Norverto

Profesión: Ingeniera Química - Argentina - Legajo: MA29J

✒️Autor de: 38 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy ing. química (utn-frc, argentina). quisiera formar parte de una empresa dónde poder crecer en el ámbito it, integrando con mis conocimientos ingenieriles y mis aptitudes de liderazgo e innovación.

Certificación Académica de Ornella Mollani

✒️+Comunidad Académica CVOSOFT

Continúe aprendiendo sobre el tema "El procesamiento de fondo" de la mano de nuestros alumnos.

SAP Junior

SAP – Unidad 2: Procesamiento de fond 1. Conceptos del procesamiento de fondo El procesamiento de fondo, también llamado procesamiento batch o procesamiento en segundo plano, permite ejecutar programas o procesos sin interacción directa con el usuario. Al iniciar el proceso, SAP GUI devuelve el control al usuario, aunque el programa todavía no haya terminado de ejecutarse. Se utiliza principalmente para programas que requieren mucho tiempo de ejecución, evitando que las transacciones online queden bloqueadas o tengan tiempos de espera excesivos. Además, permite asignar una prioridad menor a estos procesos, ya que el usuario no necesita recibir una respuesta inmediata. Se recomienda ejecutar los procesos...

Acceder a esta publicación

Creado y Compartido por: Marcos Luis Fernando Churin / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

1. ¿Qué es el procesamiento de fondo? Es ejecutar un programa en SAP sin interacción con el usuario. También se le llama procesamiento Batch o en segundo plano. Tú lo lanzás y SAP te devuelve el control del sistema, aunque el programa siga corriendo atrás. 2. Diferencia clave Batch vs Online: Batch (Fondo): Tarda mucho - ej. 20 minutos. Flujo: Información -> Empleado -> Sistema. El empleado está en el medio esperando/preparando. Online (Tiempo real): Tarda segundos - menos de 1 minuto. Flujo: Información -> Sistema directo. Sin empleado intermediario. 3. ¿Cuándo usar fondo? Cuando un programa va a...

Acceder a esta publicación

Creado y Compartido por: Junior Daimonth Revete Ramirez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

El procesamiento de fondo Consiste en la ejecución de un proceso o programa sin interacción con el usuario, es decir, que lanzamos el proceso y el SAP GUI nos devuelve el control, aunque el programa todavía no ha acabado de ejecutarse. Los Jobs Es el conjunto de uno o más programas o transacciones que se lanzan consecutivamente en un proceso de fondo. Ventajas principales Libertad operativa: Puedes lanzar un proceso y seguir trabajando en otras transacciones de SAP de manera simultánea. Optimización de recursos: Se programa en horarios de baja actividad (valle) para no afectar el rendimiento general del sistema en línea (online). Automatización: Evita errores humanos en cargas...

Acceder a esta publicación

Creado y Compartido por: Elda Lizbeth Pablos Lopez / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

Los conceptos del procesamiento de fondo El procesamiento de fondo permite ejecutar programas o procesos sin interacción del usuario. Al lanzarlos, SAP devuelve el control al usuario mientras el programa continúa ejecutándose en segundo plano. Se utiliza principalmente para procesos de larga duración, evitando que las transacciones online queden bloqueadas o tengan tiempos de espera excesivos. Esto mejora el rendimiento del sistema, ya que estos procesos pueden ejecutarse con menor prioridad. Lo recomendable es ejecutar procesos de fondo en horarios de baja actividad, como durante la noche, siempre que los datos no sean necesarios en tiempo real. La empresa debe decidir que procesos pueden esperar y cuales requieren...

Acceder a esta publicación

Creado y Compartido por: Tomás La Rosa / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

Unidad 2 Procesamiento de fondo 1. Los conceptos del procesamiento de fondo: además de la ejecución de programa y transacciones online, SAP presenta la posibilidad de ejecución de procesos de fondo, pudiendo encontrar otros términos pero el mismo concepto como ser procesamiento de batch/ procesamiento en 2° plano. Este consiste en la ejecución de un proceso o programa sin interacción con el usuario, es decir, se lanza el proceso y SAP GUI devuelve el control aunque el programa no a finalizado de ejecutarse. Esta es un modo de ejecución de procesos de vital importancia cuando se trata de programas que suelen demorar en completarse. De manera tradicional...

Acceder a esta publicación

Creado y Compartido por: Paz Emilce Ada

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

Procesamiento de fondo en SAP En SAP podemos ejecutar procesos de dos formas: online y de fondo (batch) . Online: ejecución inmediata, interactiva, con respuesta rápida (segundos). . Fondo/Batch: el proceso se ejecuta sin que el usuario tenga que esperar, ideal para tareas largas que tardarían minutos u horas. Se recomienda ejecutar de fondo durante la noche o cuando no afecte procesos críticos en tiempo real. Jobs Con SM36 definimos un jobs: nombre, prioridad, pasos (programa ABAD, comando externo o programa externo) y cuándo arrancar (inmediato, fecha/hora, evento o encadenado). ESTADOS Previsto->Liberado-> Preparado->Activo-> Terminado/Cancelado. CONTROL Y MONITOREO SM37 permite very gestionar...

Acceder a esta publicación

Creado y Compartido por: Claudia Cristina Ortiz

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

El procesamiento de fondo (o batch) es una forma de automatizar tareas en SAP que se ejecutan sin que un usuario esté presente. Se usa para trabajos largos, repetitivos o programados en horarios no laborales. Se configuran como jobs de fondo que ejecutan transacciones o cargas masivas. Ejemplo práctico: La empresa necesita actualizar los precios de 10.000 productos. En lugar de que un usuario lo haga manualmente, se programa un job batch (SM36) que se ejecuta a la noche y carga todos los nuevos precios automáticamente. SM36 para crear un job y configurarlo SM37 para visualizar los jobs procesados en el sistema SM51 visualiza los servidores de sap, y comprueba los procesos...

Acceder a esta publicación

Creado y Compartido por: Santiago Horton / Disponibilidad Laboral: FullTime

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

PROCESAMIENTO DE FONDO SAP no solo permite ejecutar programas y transacciones de forma interactiva (en línea), sino que también ofrece la posibilidad de ejecutar procesos en segundo plano (también llamados procesamiento batch o procesamiento en background), sin necesidad de interacción directa con el usuario. Esta modalidad es ideal para tareas que no requieren una respuesta inmediata, ya que mejora el rendimiento del sistema durante períodos de alta carga. - Mejora el rendimiento general del sistema, especialmente durante horas pico. LOS JOBS Un job en SAP es una secuencia de uno o más programas o transacciones que se ejecutan en segundo plano. * Transacción para su creación:...

Acceder a esta publicación

Creado y Compartido por: Daiana Pilato

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP SemiSenior

Procesamiento de fondo: Consiste en la ejecución de un proceso o programa sin interacción con el usuario. Lanzamos el proceso y el SAP GUI nos devuelve el control. Job: es el conjunto de uno o más programas o transacciones que se lanzan consecutivamente en un proceso de fondo. Transacción SM36: se utiliza para definir y planificar los procesos de fondo que se definan en el sistema SAP. Transacción SM37: se utiliza para visualizarlos jobs procesados en el sistema SAP. Cada job podremos visualizar distintos datos tales como ID, usuario SAP que lo ejecutó, status, fecha y hora de inicio, la duración y el retraso. Transacción SM51: Se puede seleccionar un servidor en particular y comprobar...

Acceder a esta publicación

Creado y Compartido por: Sergio Alejandro Suarez / Disponibilidad Laboral: FullTime + Carta Presentación

*** CVOSOFT - Nuestros Alumnos - Nuestro Mayor Orgullo como Academia ***

SAP Junior

1 - Los conceptos del procesamiento de fondo: Se refiere al procesamiento en segundo plano o batch en SAP que permite ejecutar procesos sin interacción del usuario. Al lanzar un proceso de fondo, el SAP GUI libera el control, aunque la ejecución continúe en segundo plano. Esta modalidad es esencial para procesos de larga duración, mejorando el rendimiento del sistema al evitar saturar la interfaz online. Se recomienda ejecutar estos procesos durante la noche, cuando la carga de usuarios es mínima, siempre que los datos no sean críticos en tiempo real. La priorización baja de estos procesos libera recursos para tareas más urgentes en horario operativo. 2 - Los Jobs: Un Job es un conjunto...

Acceder a esta publicación

Creado y Compartido por: Christian Carlos Piris / Disponibilidad Laboral: FullTime

 


 

👌Genial!, estos fueron los últimos artículos sobre más de 99.000 publicaciones académicas abiertas, libres y gratuitas compartidas con la comunidad, para acceder a ellas le dejamos el enlace a CVOPEN ACADEMY.

🔎Buscador de Publicaciones:

 


 

No sea Juan... Solo podrá llegar alto si realiza su formación con los mejores!