MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 07/06/10, 10:54:50
FrancescRibot FrancescRibot is offline
Junior Member
 
Fecha de Ingreso: jul 2006
Mensajes: 18
Programa en fondo

Hola a tod@s.

Tengo que ejecutar un programa z con una dynpro creada por mi en fondo.

El problema es que lo quiero ejecutar mediante la opción del menú, programa --> ejecutar en proceso de fondo.

Me he dado cuneta que si la pantalla de selección está definida con parameters o select-options de lo hace automaticamente, pero si la creas tu no.

He modificado el status gui pero no consigo hacer que el estandard haga esta funcionalidad.

¿Alguna idea?

Gracias
Responder Con Cita
  #2  
Viejo 07/06/10, 16:49:57
ballan ballan is offline
Senior Member
 
Fecha de Ingreso: oct 2006
Mensajes: 671
Creo que no vas a poder encontrar una manera "standard" de hacerlo, lo que tendrias que hacer es añadir un boton, o una entrada de menu en el status gui y poner el codigo necesario para ejecutar tu programa en fondo (tendras que recuperar los datos que ha introducido el usuario en pantalla y entonces llamar a tu programa en fondo)

Te adjunto el codigo que yo tengo para lanzar un report en fondo para que te hagas una idea (este codigo lo he sacado de un metodo que cree hace tiempo que recibe como parametros iv_repid iv_nombre que estan declarados como CLIKE)

En resumen es

llamar a JOB_OPEN

hacer un submit a tu report pasandole los parametros necesarios y con la adiccion VIA JOB

llamar a JOB_CLOSE


DATA: lv_nombre TYPE tbtco-jobname,
lv_repid TYPE syrepid,
lv_number TYPE tbtco-jobcount,
lv_ret TYPE i.

IF iv_nombre IS INITIAL.

lv_nombre = iv_repid.

ELSE.

lv_nombre = iv_nombre.

ENDIF.

lv_repid = iv_repid.

CALL FUNCTION 'JOB_OPEN'
EXPORTING
* DELANFREP = ' '
* JOBGROUP = ' '
jobname = lv_nombre
* SDLSTRTDT = NO_DATE
* SDLSTRTTM = NO_TIME
* JOBCLASS =
IMPORTING
jobcount = lv_number
CHANGING
ret = lv_ret
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.

IF sy-subrc <> 0.

subrc = sy-subrc.
EXIT.

ENDIF.

SUBMIT (lv_repid) VIA JOB lv_nombre NUMBER lv_number AND RETURN.

CALL FUNCTION 'JOB_CLOSE'
EXPORTING
* AT_OPMODE = ' '
* AT_OPMODE_PERIODIC = ' '
* CALENDAR_ID = ' '
* EVENT_ID = ' '
* EVENT_PARAM = ' '
* EVENT_PERIODIC = ' '
jobcount = lv_number
jobname = lv_nombre
* LASTSTRTDT = NO_DATE
* LASTSTRTTM = NO_TIME
* PRDDAYS = 0
* PRDHOURS = 0
* PRDMINS = 0
* PRDMONTHS = 0
* PRDWEEKS = 0
* PREDJOB_CHECKSTAT = ' '
* PRED_JOBCOUNT = ' '
* PRED_JOBNAME = ' '
* SDLSTRTDT = NO_DATE
* SDLSTRTTM = NO_TIME
* STARTDATE_RESTRICTION = BTC_PROCESS_ALWAYS
strtimmed = 'X'
* TARGETSYSTEM = ' '
* START_ON_WORKDAY_NOT_BEFORE = SY-DATUM
* START_ON_WORKDAY_NR = 0
* WORKDAY_COUNT_DIRECTION = 0
* RECIPIENT_OBJ =
* TARGETSERVER = ' '
* DONT_RELEASE = ' '
* TARGETGROUP = ' '
* DIRECT_START =
* IMPORTING
* JOB_WAS_RELEASED =
CHANGING
ret = lv_ret
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
invalid_target = 8
OTHERS = 9.

subrc = sy-subrc.
Responder Con Cita
  #3  
Viejo 08/06/10, 08:19:59
FrancescRibot FrancescRibot is offline
Junior Member
 
Fecha de Ingreso: jul 2006
Mensajes: 18
Muchas gracias ballan por el codigo.

Veré a ver que hago al final.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 21:03:11.


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