Header orange

Gestione di eventi ABAP e JOB triggering su SAP

Guida publicata da: Anonymous
Parole chiave: SAP, ABAP, evento, job, SM62, BP_EVENT_RAISE.

Ecco una breve ed utile guida per la comprensione e l'utilizzo degli eventi ABAP su SAP!


-Sei uno sviluppatore ABAP? Salva il tuo codice (o la tua guida) su You-Specialist, lo troverai sempre disponibile su internet! Usa questo link, inserisci il codice nel form e noi lo pubblicheremo. Ricorda di dare una breve descrizione sull'utilizzo del codice o sulla sua funzione-

Gli eventi ABAP
Gli eventi ABAP si definiscono con la transazione SM62 (programma: RSEVTHIST) semplicemente fornendo un nome ed una descrizione.
Un certo job viene poi associato ad un certo evento come condizione di triggering, cosicchè
quando l'evento viene creato (mediante il function module BP_EVENT_RAISE), il job sarà automaticamente triggerato.
Nella tabella BTCEVTJOB si trovano tutti i jobs che sono in attesa di eventi.


DATA: lf_event LIKE tbtcjob-eventid.

MOVE 'EVENT_NAME' TO lf_event.

CALL FUNCTION 'BP_EVENT_RAISE'
EXPORTING
eventid = lf_event
EXCEPTIONS
bad_eventid = 1
eventid_does_not_exist = 2
eventid_missing = 3
raise_failed = 4
OTHERS = 5.
IF sy-subrc = 0.
p_event_raised = 'X'.
ENDIF.


Eventualmente si può anche creare un evento ABAP previo controllo
che il JOB associato non abbia già girato (ad esempio in giornata).


DATA: lw_jobsel_param_in TYPE btcselect,
lt_jobheader TYPE TABLE OF tbtcjob.
CONSTANTS: c_jobname LIKE tbtcm-jobname VALUE 'JOB_NAME',

*Check if today a job has been already submitted
CLEAR lt_jobheader.
REFRESH lt_jobheader.
MOVE c_jobname TO lw_jobsel_param_in-jobname.
MOVE sy-datum TO lw_jobsel_param_in-from_date.

CALL FUNCTION 'BP_JOB_SELECT'
EXPORTING
jobselect_dialog = 'N'
jobsel_param_in = lw_jobsel_param_in
TABLES
jobselect_joblist = lt_jobheader
EXCEPTIONS
invalid_dialog_type = 1
jobname_missing = 2
no_jobs_found = 3
selection_canceled = 4
username_missing = 5
OTHERS = 6.
IF sy-subrc = 3. "CREO L'EVENTO

ENDIF.


-Questo contenuto ti sembra utile? Clicca il pulsante "Mi Piace" qui sotto!-



ADS LINK LARGO 2