L'indicatore &&KILL_RPC è una variabile "e" commerciale di ReportCaster che è possibile utilizzare in una procedura pre-elaborazione quando si desidera interrompere l'elaborazione ReportCaster e non si vuole eseguire la procedura pianificata a causa di una condizione. La condizione potrebbe essere l'esistenza di un estratto dati, o una restrizione sui giorni in cui la pianificazione è in grado di essere eseguita. Il codice per valutare la condizione può essere una combinazione di Dialogue Manager e FOCUS supportata da WebFOCUS Reporting Server. La variabile "e"commerciale &&KILL_RPC deve essere impostata utilizzando Dialogue Manager.
Il seguente codice di esempio è stato configurato per essere eseguito come una procedura pre-elaborazione. Interrompe una richiesta se la data corrente si trova in un elenco delle festività.
-* -* TEST CURRENT DATE AGAINST A CALENDAR OF BUSINESS EXCEPTION DAYS -* The assumption here is that the dates in the data file are in -* ascending order FILEDEF HDAYRCLB DISK C:\IBI\APPS\BASEAPP\HDAYRCLB.DAT -RUN -* -SET &TDAYX = &YYMD; -SET &&KILL_RPC = 'N'; -* -*set PREV_DATE to some value that will cause the first IF to continue -* the loop -SET &PREV_DATE = 00000101; -REPEAT DATELOOP WHILE &&KILL_RPC NE 'Y'; -READ HDAYRCLB &FILEDATE.I8 -SET &&KILL_RPC = IF &TDAYX EQ &FILEDATE THEN 'Y' ELSE 'N'; -IF &PREV_DATE GE &FILEDATE THEN GOTO ENDME; -SET &PREV_DATE = &FILEDATE; -DATELOOP -ENDME
La seguente immagine illustra le informazioni che vengono visualizzate nel prospetto di registrazione, inclusive dei messaggi Esecuzione della pre-esecuzione RPC 1e Termine utente via indicatore KILL_RPC.
Quando &&KILL_RPC è impostato su Y per terminare l'esecuzione di un lavoro pianificato, il comportamento predefinito è quello di impostare l'intervallo NEXTRUNTIME al valore tempo di esecuzione successivo della pianificazione memorizzata nel contenitore di WebFOCUS e di avviare la condizione di notifica In caso di errore quando la pianificazione viene interrotta. È possibile controllare questo comportamento utilizzando le seguenti variabili globali nella procedura di pre-esecuzione.
Il seguente codice di esempio prende l'esempio precedente e aggiunge le variabili globali di notifica ed il tempo di esecuzione successivo per &&KILL_RPC, cosicché il tempo di esecuzione successivo della pianificazione non viene reimpostato e la notifica In caso di errore non viene inviata se la pianificazione è interrotta, perché la data corrente si trova nell'elenco delle festività.
-* -* TEST CURRENT DATE AGAINST A CALENDAR OF BUSINESS EXCEPTION DAYS -* The assumption here is that the dates in the data file are in -* ascending order FILEDEF HDAYRCLB DISK C:\IBI\APPS\BASEAPP\HDAYRCLB.DAT -RUN -* -SET &TDAYX = &YYMD; -SET &&KILL_RPC = 'N'; -SET &&KILL_RPC_NRT = 'N'; -SET &&KILL_RPC_ERR = 'N'; -* -*set PREV_DATE to some value that will cause the first IF to continue -* the loop -SET &PREV_DATE = 00000101; -REPEAT DATELOOP WHILE &&KILL_RPC NE 'Y'; -READ HDAYRCLB &FILEDATE.I8 -SET &&KILL_RPC = IF &TDAYX EQ &FILEDATE THEN 'Y' ELSE 'N'; -IF &PREV_DATE GE &FILEDATE THEN GOTO ENDME; -SET &PREV_DATE = &FILEDATE; -DATELOOP -ENDME
WebFOCUS |