MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Lanzar programa en background (foro/showthread.php?t=27990)

carcaharas 10/02/09 14:19:32

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

DavidXD_XD 10/02/09 14:34:16

Holas .. aki hay un ejemplo de como lanzar un programa en background, debes utilizar las funciones OPEN_JOB y CLOSE_JOB


carcaharas 10/02/09 14:57:36

Muchas gracias ;)

jramos_torres 10/02/09 15:09:30

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.

pafú 11/02/09 11:03:29

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.

Loreluv 01/03/12 13:52:39

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


Husos Horarios son GMT. La hora en este momento es 06:44:28.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web