Ayuda SAP

Creación de un evento para Jobs

Buenas noches,

He averiguado que se puede crear un evento para detectar si un job se ha cancelado y así poder lanzar otro programa para que haga otras cosas. Me gustaría saber si alguien conocer como elaborar dicho evento. O por donde tengo que tirar para realizarlo. Gracias :slightly_smiling:

Buenas, ¿has probado a crear el evento con la SM62? Luego con la función IBHD_RAISE_EVENT disparas el evento en tu report, por ejemplo. En la SM36 creas el job para que sea lanzado después del evento.

2 Me gusta

Si estuve investigando la SM62 pero nunca hice nada con ello . Y la función la pongo en el report que se cancela? (Es que soy masoca y me gusta hacer cosas raras jajaaj :stuck_out_tongue: )

1 me gusta

¿y porque no lanzas un job periódicamente que verifique si se ha cancelado un job y no hace falta el evento?

3 Me gusta

Porque este proceso solo se lanzará mensualmente / cuando les apetezca y voy a poner un objeto de bloqueo y si se cancelase por algo el job se quedaría bloqueado de ahí que quiera el evento para desbloquear el objeto de bloqueo si no hay nada ejecutandose.

Muchas gracias @Salco

1 me gusta

Ps no se, yo el conecto que manejo de job, son procesos o programas que se utilizan, generan, se lanza, realizas en algun tiempo definido…que si diario, todos los dias, 1 vez al mes y donde el usaurio no va tener interaccion sino mas que unos resultados…si lo van a hacer mensual o cuando ellos quieras, ps que generen su reporte y ya !! no se

1 me gusta

Es la generación de una tabla intermedia para unos informes se lanza mensual con el cierre fiscal, pero ya sabeis como funcionan luego las empresas y aparecen X partidas que se olvidaron de incluir en ese periodo fiscal entonces tienen que relanzar mi programa por eso esta ambiguedad de sucesos y ademas (se había planificado que solo podían lanzar un periodo) pero ahora lanzan dos a la vez y tal por eso es el objeto de bloqueo que me creo para impedir eso porque sino funciona erroneamente.

yo lo dejaria mas como una tx que ellos puedan utilizar abiertamente y se le agregan todas esas validaciones que mencionas o que ellos quieran agregar…seria cuestion de consultoriarlos un rato porque sino a mi modo de ver van a llevar 2 procesos para una misma tarea !!

2 Me gusta

Claro concuerdo con canuto, el job te sera sumamente complicado de controlar asi como lo estas haciendo, pero una t-code y se la asignas a un usuario y le dices que es su responsabilidad, listo con eso terminas, y no estara mal el proceso, porque al final del mes el usuario sabra que debe correr la t-code zcorrecciones o algo asi.

2 Me gusta

jajajaja el problema es que el mantenimiento va sobre mi empresa entonces falla y me toca chequear el error, asi que mejor impedir cosas estrañas (un tcode tiene pero es para una ejecucion en fondo porque tarda muchos segundos y en dialogo 1 se cancelaría 2 el usuario no tendría paciencia para dejar la pantalla abierta jeje :stuck_out_tongue: )

1 me gusta

Cómo yo lo hubiese hecho?

Sencillo me creo una transacción que genere la información para un período en específico, si se vuelve a generar, que sobrescriba los registros (Esto es para evitar problemas en caso de que se corra más de dos veces seguidas).

Lo pusiera en job para que corra al final de cada mes, pero si ocurrió algo y faltó una información, que simplemente corran al t-code nuevamente y listo.

3 Me gusta

Jeje muchas gracias @romaldyminaya más o menos lo que tengo hecho es lo que comentas, el problema es que mi tabla es similar a la glt0, y cada mes del año se cuenta por columna entonces el problema radica cuando deciden que algo está mas a marzo como estamos o apuntes nuevos de diciembre del año anterior (el cual tenia restringido que si ejecutaban enero ya no podían tocar nada solo mi usuario para reparar, pero solicitaron acceso justo a eso y se les concedió entonces el problema es que al recalcular los saldos acumulados afectaba a enero y febrero y volvieron a relanzarlos coincidiendo en tiempo y coger un valor que enero borra pero que febrero no entonces una versión vieja machaco a la nueva por la concurrencia de tiempos, es dificil de explicar y no es trivial, por eso la solución es para impedir casos de este estilo) Vuestras pautas es el acceso normal que ya les había aplicado pero que ahora mismo se pasan a la torera.

Por ello se me ocurrio un objeto de bloqueo a la tabla pero me entere que si por alguna razón se cancela el job (ejecución del programa en fondo) quedaría bloqueada la tabla entonces por eso quería el evento para así que se autodesbloquee sola sin tener interaccion con el usuario (otra opcion es hacer un report para desbloquear y que el usuario la ejecute si lo tiene bloqueado pero me parecía menos elegante y los eventos era algo nuevo a a aprender :slight_smile: )

1 me gusta

ESo que estas intentando hacer esta de lujo, es como darle una funcionalidad a SAP que no tiene, jejeje, pero lo estas intentando, mañana me pondre a investigar un poco mas para ver si conseguimos algo que se adapte a lo que buscas que haga exactamente lo que necesitas.

2 Me gusta

Como va esto muchachos, es super interesante.

1 me gusta

Pues lo tengo parado mientras no termine el arranque del otro proyecto (la vida del pluriempleo (mejor dicho pluriproyecto) es lo que tiene).

Gracias por preguntar @Shadowdancer

1 me gusta