|
#1
|
|||
|
|||
Lanzar programa en background
Hola buenas, tengo que hacer lo siguiente. Tengo que modificar un método de una bapi, dentro del cual tengo qeu hacer una comprobación y si la comprobación se cumple LANZAR UN PROGRAMA EN BACKGROUND. No tengo problemas con nada hasta que llega a lanzar el programa en background. ¿Cómo hago eso? El programa es un programa que me he creado yo y que tiene pantalla de selección con lo que supongo que tendré que suprimirla con un (skip first screen o algo así) pero como hago para que el programa se lanze en background????
Un saludo y gracias |
#2
|
||||
|
||||
Holas .. aki hay un ejemplo de como lanzar un programa en background, debes utilizar las funciones OPEN_JOB y CLOSE_JOB
__________________
David Carballido Córdova |
#3
|
|||
|
|||
Muchas gracias
|
#4
|
|||
|
|||
Lanzar Un Programa En Job O Background
Espero esto te sirva o te de una idea como minimo.
Las siguientes funciones se realizan una tras otra,asi debe ser.Los comentarios que vez en la funcion JOB_SUBMIT se lo puedes quitar. la parte del submit que no tiene comentarios la hice por que necesitaba mandarle una tabla al programa de fondo esa parte la puedes comentarizar y la del comentario activarla si asi conviene a tu programa. Form Ejecuta_Job_Fondo. * Call Function 'JOB_OPEN' Exporting JobName = 'ZDME0047' Importing jobcount = Tbtcjob-Jobcount Exceptions Others = 0. ** * Call Function 'JOB_SUBMIT' * Exporting * authcknam = Sy-Uname * Jobcount = Tbtcjob-jobcount * Jobname = 'ZDME0047' * Report = 'ZDME0047' ** Variant = '' * Exceptions * Bad_Priparams = 1 * Bad_Xpgflags = 2 * Invalid_Jobdata = 3 * Jobname_Missing = 4 * Job_Notex = 5 * Job_Submit_Failed = 6 * Lock_Failed = 7 * Program_Missing = 8 * Prog_Abap_And_Extpg_Set = 9. * Submit ZDME0047 With p_Oferta In R_Ofertas To Sap-Spool Spool Parameters Print_parameters WithOut Spool Dynpro Via Job 'ZDME0047' Number Tbtcjob-Jobcount User Sy-Uname And Return. * Call Function 'JOB_CLOSE' Exporting Jobcount = tbtcjob-jobcount jobname = 'ZDME0047' strtimmed = 'X' Exceptions Cant_Start_Immediate = 1 Invalid_StarDate = 2 Jobname_Missing = 3 Job_Close_Failed = 4 Job_Nosteps = 5 Job_notex = 6 Lock_Failed = 7 Invalid_Target = 8. * EndForm. |
#5
|
|||
|
|||
Ejemplo facilito
lv_jobname = 'ZPROG088A'.
CALL FUNCTION 'JOB_OPEN' EXPORTING jobname = lv_jobname IMPORTING jobcount = lv_jobcount EXCEPTIONS cant_create_job = 1 invalid_job_data = 2 jobname_missing = 3 OTHERS = 4. IF sy-subrc <> 0. MESSAGE e208(00) WITH 'Error creating Job'. ENDIF. SUBMIT zprog088a WITH p_ini = f_inicio WITH p_fin = f_fin WITH p_usu = sy-uname VIA JOB lv_jobname NUMBER lv_jobcount AND RETURN. IF sy-subrc <> 0. MESSAGE e208(00) WITH 'Error scheduling Job'. ENDIF. CALL FUNCTION 'JOB_CLOSE' EXPORTING * at_opmode = 'X' jobcount = lv_jobcount jobname = lv_jobname strtimmed = 'X' EXCEPTIONS cant_start_immediate = 1 invalid_startdate = 2 jobname_missing = 3 job_close_failed = 4 job_nosteps = 5 job_notex = 6 lock_failed = 7 OTHERS = 8. IF sy-subrc <> 0. MESSAGE e208(00) WITH 'Error closing Job'. ELSE. MESSAGE s368(00) WITH 'Job created:' lv_jobcount. ENDIF. |
#6
|
|||
|
|||
Ejecutar JOB desde un programa
Hola a todos,
Entiendo que éste código en las ultimas respuestas me permiten crear el JOB por medio de código, con la función SUBMIT agregar pasos y con la CLOSE mandar la ejecución.... Yo ya tengo JOBs definidos pero que quiero mandar ejecutar al oprimir un boton en pantalla, es decir desde un Report... Mi duda es: ¿es necesario llevar a cabo los pasos por medio de SUBMIT si el JOB ya los tiene definidos ? ¿Es posible solo hacer uso del OPEN y CLOSE? Saludos
__________________
**all you need is love** |
Herramientas | Buscar en Tema |
Desplegado | |
|
|