API di contesto per l'elaborazione in entrata delle strutture oggetto
Un contesto (ctx) è un oggetto che fornisce metodi di convenienza per gli script di automazione per passare dati o attivare azioni. Il contesto è supportato in modo bidirezionale. Le API predefinite sono disponibili per il contesto e ciascuna funzione può utilizzare contesti differenti.
Uno script di automazione richiede metodi di contesto per implementare la logica di elaborazione. Viene passato un contesto tra l'elaborazione della struttura oggetto e lo script di automazione, che implementa il codice personalizzato. La seguente tabella mostra le API di contesto e l'utilizzo comune delle API per ognuna delle funzioni:
| API di contesto | beforeProcess (ctx) | beforeCreateMboSet (ctx) | macrostato (ctx) | regole errate (ctx) | prima (ctx) | mercato dei ricambi (ctx) | conservabile (ct) | modifica stato (ct) |
|---|---|---|---|---|---|---|---|---|
| ctx.setMsgType() | ✓ | |||||||
| ctx.getProcessTable() | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| ctx.setProcessTable(String ProcessTable) | ✓ | |||||||
| ctx.setMboSet(MboSet mboSet) | ✓\ | |||||||
| ctx.setMbo(Mbo mbo) | ✓ | |||||||
| ctx.getData() | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ctx.getMosDetailInfo() | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| ctx.setSkipBaseAdditionalRules() | ✓ | |||||||
| ctx.skipMbo() | ✓ | |||||||
| ctx.skipTxn() | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ctx.complete() | ✓ | |||||||
| ctx.process() | ✓ | |||||||
| ctx.getUserInfo() | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ctx.getParentMbo() | ✓ | ✓ | ✓ | ✓ | ✓ | |||
| ctx.isPrimary() | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
| ctx.bypassMbo() | ✓ | |||||||
| ctx.getMsgType() | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| ctx.getPrimaryMboSet() | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ||
| ctx.getPrimaryMbo() | ✓ | ✓ | ✓ | ✓ | ||||
| ctx.processAsUpdate() | ✓ | |||||||
| ctx.processAsAdd() | ✓ | |||||||
| ctx.processAsAddAtEnd() | ✓ | |||||||
| ctx.log () | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Le seguenti API sono disponibili per l'elaborazione dei dati in ingresso:
- ctx.getMosDetailInfo()
- Fornisce informazioni sulla cache del dizionario dati per il framework di integrazione per la struttura oggetto in fase di elaborazione.
- ctx.skipMbo()
- Ignora l'elaborazione di un oggetto di business Maximo ®.
- ctx.skipTxn()
- Ignora l'elaborazione di un'intera transazione, ad esempio un messaggio.
- ctx.complete()
- Termina l'elaborazione della struttura oggetto nel punto di esecuzione, il che significa che i dati child non sono elaborati.
- ctx.process()
- Continua l'elaborazione nel punto di esecuzione. Questa API viene generalmente utilizzata come parte della logica condizionale.
- ctx.getParentMbo()
- Richiama l'oggetto di business principale. Questa API può essere utilizzata da un oggetto secondario il cui oggetto di business non è ancora stato creato.
- ctx.isPrimary()
- Identifica se l'oggetto di business corrente è l'oggetto di business a livello root della struttura oggetto.
- ctx.getUserInfo()
- Richiama le informazioni sull'utente, necessarie se uno script sta creando un nuovo oggetto di business.
- ctx.bypassMbo()
- Ignora la creazione dell'oggetto di business e continua con l'oggetto di business successivo che viene elaborato.
- ctx.getMsgType()
- Fornisce l'accesso al tipo di messaggio, ad esempio Sincronizza o Crea.
- ctx.setMsgType()
- Imposta il tipo di messaggio, ad esempio Sincronizza o Crea. Questa API può essere utilizzata prima dell'inizio dell'elaborazione.
- ctx.getData()
- Fornisce l'accesso allo StructureData, che è il messaggio XML.
- ctx.setMboSet(MboSet mboSet)
- Imposta i valori in una serie di oggetti di business.
- ctx.setMbo(Mbo mbo)
- Imposta i valori in un oggetto di business.
- ctx. getPrimaryMboSet()
- Richiama l'oggetto di business principale di una struttura oggetto durante l'elaborazione di un oggetto di business secondario.
- ctx.setProcessTable(String processTable)
- Imposta la tabella per un processo. Il metodo viene utilizzato se si dispone di un business object provvisorio, come MXRECEIPT, che dispone di una logica di elaborazione per determinare se la tabella MATRECTRANS o SERVRECTRANS viene aggiornata. L'API ctx.setProcessTable(String processTable ) viene utilizzata nella funzione beforeProcess(ctx ).
- ctx.getProcessTable()
- Recupera il nome della tabella impostato dall'API ctx.setProcessTable(String processTable ).
- ctx.setSkipBaseAdditionalRules()
- Aggiunge una logica personalizzata alla funzione preSaveRules(ctx ) per operare su una struttura di oggetti completata e preparata nell'elaborazione.
- ctx.processAsUpdate()
- Imposta l'azione di elaborazione di un oggetto di business sull'azione Aggiorna invece che sull'azione Aggiungi o Elimina.
- ctx.processAsAdd()
- Imposta l'azione di elaborazione di un oggetto di business sull'azione Aggiungi invece che sull'azione Aggiorna o Elimina.
- ctx.processAsAddAtEnd()
- Imposta l'azione di elaborazione di un oggetto di business sull'azione Aggiungi invece che sull'azione Aggiorna o Elimina e crea l'oggetto di business alla fine della raccolta invece che all'inizio della raccolta.
- ctx.log ()
- Esegue un'istruzione di log da un contesto di elaborazione della struttura oggetto.