ABAP - Invocar a un procesi masivo desde un ABAP

 
Vista:
sin imagen de perfil

Invocar a un procesi masivo desde un ABAP

Publicado por Guillermo Barsky (1 intervención) el 09/01/2009 16:51:33
Necesito invocar a un proceso masivo desde un programa ABAP. ¿ Se puede hacer esto ? ¿ Como es ?

Muchas gracias desde ya.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Invocar a un procesi masivo desde un ABAP

Publicado por Alejandro (226 intervenciones) el 12/04/2023 23:32:49
Sí, es posible invocar un proceso masivo desde un programa ABAP utilizando la función de módulo SAP 'JOB_OPEN' y la sentencia 'SUBMIT'. A continuación, te proporciono un ejemplo de cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
REPORT zmi_report.
 
* Define las variables
DATA: jobname TYPE tbtcjob-jobname,
      jobcount TYPE tbtcjob-jobcount,
      jobdata LIKE tbtcjob-jobdata.
 
* Define los parámetros de la tarea de fondo
jobname = 'MI_PROCESO_MASIVO'.
jobdata-stepname = 'PASO_1'.
jobdata-reptext = 'Ejecución de proceso masivo'.
 
* Abre un trabajo de fondo
CALL FUNCTION 'JOB_OPEN'
  EXPORTING
    jobname         = jobname
    jobcount        = jobcount
  IMPORTING
    jobcount        = jobcount
  EXCEPTIONS
    cant_create_job = 1
    invalid_jobdata = 2
    jobname_missing = 3
    others          = 4.
 
IF sy-subrc <> 0.
  * Maneja la excepción aquí
ENDIF.
 
* Ejecuta la tarea de fondo
SUBMIT mi_proceso_masivo
  WITH jobname = jobname
  WITH jobdata = jobdata
  AND RETURN.
 
* Cierra el trabajo de fondo
CALL FUNCTION 'JOB_CLOSE'
  EXPORTING
    jobcount = jobcount
  EXCEPTIONS
    not_found = 1
    OTHERS = 2.

En el ejemplo anterior, se utiliza la función de módulo 'JOB_OPEN' para abrir un trabajo de fondo y la sentencia 'SUBMIT' para ejecutar el proceso masivo 'mi_proceso_masivo'. El parámetro 'jobname' se utiliza para asociar el trabajo de fondo con la tarea que se está ejecutando, mientras que 'jobdata' se utiliza para proporcionar información adicional sobre la tarea en cuestión.

Es importante destacar que el proceso masivo debe estar programado de tal forma que pueda ejecutarse mediante una tarea de fondo, es decir, que no requiera interacción del usuario.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar