PDA

Ver la Versión Completa : Crear Job desde un programa, para una hora


mvlopez
19/11/10, 16:02:55
Hola a todos.
A ver si me pueden ayudar con esto, necesito desde un programa, crear un Job, pero que no se ejecute de forma inmediata, sino a una hora especifica. Probé pasándole el parametro SDLSTRTTM a la funcion JOB_OPEN, pero al parecer no lo toma en cuenta y lo ejecuta de inmediato. Muchas gracias por su ayuda. :)

agv1976
22/11/10, 11:26:50
Hacer eso por código yo lo hice, pero es mejor que lo hagas directamente sobre el programa, o sea en el menu le das ejecutar en proceso de fondo, y hay le indicas el dia y la hora, se puede hacer por codigo pero si el estandar ya lo hace es tonteria perder tiempo en eso, si tienes dudas de como hacerlo me dices y te cuento

jtristan
22/11/10, 13:47:25
Hola,

te paso un ejemplo.


DATA: v_numero TYPE TBTCJOB-JOBCOUNT,
v_nombre TYPE TBTCJOB-JOBNAME VALUE 'ZNOMBREjob'.

* Le indicamos la fecha y la hora a la que queremos que se ejecute el job.
* Creamos un job
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = v_nombre
sdlstrtdt = fecha
sdlstrttm = hora
IMPORTING
jobcount = v_numero
EXCEPTIONS
cant_create_job
invalid_job_data
jobname_missing.

* Indicamos los parámetros que se deben pasar así como el nombre del * programa que queremos que ejecute el job.

SUBMIT ZNOMBREPROGRAMA
WITH sociedad = sociedad
WITH centro = centro
WITH material = material
WITH t_produc = t_produc
WITH de_versi = de_versi
WITH a_versio = a_versio
WITH p_desde = p_desde
WITH p_hasta = p_hasta
USER sy-uname
VIA JOB v_nombre
NUMBER v_numero
AND RETURN.

* Cerramos el trabajo.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = v_numero
jobname = v_nombre
sdlstrtdt = fecha
sdlstrttm = hora.


Un saludo.

mvlopez
22/11/10, 14:06:46
Gracias por la respuesta, fijate que eso fue lo que hice en mi programa, pero no toma en cuenta la fecha ni la hora que le estoy colocando, me fije en la programación que tiene la función Job Open y tiene comentado las líneas donde se supone debe tomar estos parametros, al pareder solo deja el nombre del Job, el resto de las líneas estan comentadas. Estoy en la versión 6.0, no se si en otras versiones no pasa esto. Por eso quería saber si habrá alguna otra forma de hacerlo, no quiero modificar esta función estandar.

Esto es lo que tiene la función:
* Uebergabe-Struktur fuer Jobdaten fuellen. Starttermindaten werden
* absichtlich nicht mehr berücksichtigt, sondern nur aus Kompatibili-
* tätsgründen in der Schnittstelle belassen ( wird später entfernt )
*
global_job-jobname = jobname.
* global_job-delanfrep = delanfrep.
* GLOBAL_JOB-SDLSTRTDT = SDLSTRTDT.
* GLOBAL_JOB-SDLSTRTTM = SDLSTRTTM.
Saludos.

jtristan
22/11/10, 14:25:03
Juraría que la versión en la que utilicé este código también era la seis y si que iba. Si que es cierto, mirandolo ahora, que indica no usar esos parámetros.
Depurando, lo que veo, es que en en el close, donde está utilizando la fecha y la hora.

Un saludo.

Ariel-StaFe
01/08/11, 19:17:09
Estimados.
Me sumo en su tema para preguntar por una cuestion que tengo que resolver.
El programa al que llamo a ejecutar con el JOB. Genera un reporte, y lo imprime. Pero yo no quiero que se imprima, que solo se archive.
Encuentro los parametros que le paso desde el SUBMIT.
Es decir, tengo primero el JOB_OPEN
Y luego en el SUBMIT alprograma, le paso
TO SAP-SPOOL SPOOL PARAMETERS ls_spool_params
donde dentro de los parametros le paso copia en 0, y armod en 2 para que solo archive.
Pero igual genera el job y lo manda a imprimir a la impresora x defecto.

Se puede No sera que debo colocar el parametro para que no imprima y solo grabe en el JOB_OPEN ?
Cómo sería ?

Desde ya gracias por su tiempo.
Ss

funkeeiads
10/06/13, 21:07:06
Estimados.
Como rescato los valores de los parametros enviados por el submit en el programa de destino?

Ariel-StaFe
11/06/13, 14:13:43
funkeeiads
En el Submit le dices que valores colocas en los parametros..
El programa destino solo se ejecuta.. y toma los valores que marcaste en el submit automaticamente.
Saludos