ScriptableDataStream: Bereichsbezogen, Global
Die SkriptableDataStream Die API stellt Methoden zur Interaktion mit einem Datenstrom bereit.
Diese Klasse kann nur in einem serverseitigen Skript verwendet werden, nachdem ein ScriptableDataStream-Objekt mit einer der folgenden APIs abgerufen wurde:
- Die ExecuteDataStreamAction() Methode in FlowAPI Klasse. Siehe FlowAPI .
- Die GetDataStream() Methode in ScriptableFlowRunnerResult Klasse. Siehe ScriptableFlowRunnerResult .
Rufen Sie nach dem Abrufen eines ScriptableDataStream-Objekts die Methoden in dieser bestimmten Reihenfolge auf:
- Verwenden Sie HasNext() Methode, um zu bestimmen, ob der Datenstrom weitere Elemente enthält.
- Verwenden Sie Next() Methode für den Zugriff auf das nächste Element im Stream.
- Verwenden Sie GetItemIndex() , GetItemInPageIndex() , Und GetPageIndex() Methoden zum Abrufen von Informationen aus dem Stream.
- Verwenden Sie Schließen () Methode zum Schließen des Streams.
Diese Klasse wird ausgeführt in sn_fd Namespace.
Versuchen/fangen Blockieren, um Fehler zu erfassen. Fügen Sie immer ein ein Endlich Anweisung, die mit endet Schließen () Methode aus der SkriptableDataStream Klasse zum Schließen des Datenstroms und zur Vermeidung von Leistungsproblemen. ScriptableDataStream – close()
Schließt die Verbindung zu einem Datenstrom. Rufen Sie diese Methode immer auf, nachdem Sie die gewünschten Vorgänge für einen Datenstrom ausgeführt haben.
Sie können diese Methode nur für ein ScriptableDataStream-Objekt aufrufen, das von zurückgegeben wird ExecuteDataStreamAction() Methode in der FlowAPI-Klasse. Siehe FlowAPI .
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| void |
(function() {
try {
// Execute Data Stream Action.
var stream = sn_fd.FlowAPI.executeDataStreamAction('x_snc_my_scope.data_stream_name');
// Process each item in the data stream
while (stream.hasNext()) {
// Get a single item from the data stream.
var user = stream.next();
// Only log the first item in each page
if (stream.getItemInPageIndex() == 0) {
gs.info('first user on page is ' + user.name);
}
}
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
} finally {
stream.close();
}
})();
ScriptableDataStream – getItemIndex()
Gibt den aktuellen Index eines Elements in einem Datenstrom zurück.
Sie können diese Methode nur für ein ScriptableDataStream-Objekt aufrufen, das von zurückgegeben wird ExecuteDataStreamAction() Methode in der FlowAPI-Klasse. Siehe FlowAPI .
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Anzahl | Aktueller Index eines Elements in einem Datenstrom mit Zero-basierter Indizierung. |
(function() {
try {
// Execute Data Stream Action.
var stream = sn_fd.FlowAPI.executeDataStreamAction('x_my_scope.data_stream_name');
// Process each item in the data stream
while (stream.hasNext()) {
// Get a single item from the data stream.
var User = stream.next();
// Use the item. Example:
// var now_GR = new GlideRecord(<table_name>);
// now_GR.<field_name> = User.<field_name>;
// now_GR.insert();
// By default, this code snippet will terminate after 10 items.
// Remove or modify this limit after your code has been tested.
if (stream.getItemIndex() >= 9) {
break;
}
}
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
} finally {
stream.close();
}
})();
ScriptableDataStream – getItemInPageIndex()
Gibt den aktuellen Index eines Elements auf der aktuellen Seite in einem Datenstrom zurück.
Sie können diese Methode nur für ein ScriptableDataStream-Objekt aufrufen, das von zurückgegeben wird ExecuteDataStreamAction() Methode in der FlowAPI-Klasse. Siehe FlowAPI .
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Anzahl | Aktueller Index eines Elements auf der aktuellen Seite im Datenstrom mit Zero-basierter Indizierung. |
(function() {
try {
// Execute Data Stream Action.
var stream = sn_fd.FlowAPI.executeDataStreamAction('x_snc_my_scope.data_stream_name');
// Process each item in the data stream
while (stream.hasNext()) {
// Get a single item from the data stream.
var user = stream.next();
// Only log the first item in each page
if (stream.getItemInPageIndex() == 0) {
gs.info('first user on page is ' + user.name);
}
}
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
} finally {
stream.close();
}
})();
ScriptableDataStream – getPageIndex()
Gibt den aktuellen Index einer Seite in einem Datenstrom zurück.
Sie können diese Methode nur für ein ScriptableDataStream-Objekt aufrufen, das von zurückgegeben wird ExecuteDataStreamAction() Methode in der FlowAPI-Klasse. Siehe FlowAPI .
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Anzahl | Aktueller Index einer Seite in einem Datenstrom mit Zero-basierter Indizierung. |
(function() {
try {
// Execute Data Stream Action.
var stream = sn_fd.FlowAPI.executeDataStreamAction('x_my_scope.data_stream_name');
// Process each item in the data stream
while (stream.hasNext()) {
// Get a single item from the data stream.
var item = stream.next();
// Use the item.
var now_GR = new GlideRecord('incident');
now_GR.setValue('number',item.id);
now_GR.setValue('short_description',item.name);
now_GR.insert();
// By default, this code snippet will terminate after 5 pages.
// Remove or modify this limit after testing your code.
if (stream.getPageIndex() >= 4) {
break;
}
}
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
} finally {
stream.close();
}
})();
ScriptableDataStream – hasNext()
Gibt „wahr“ zurück, wenn der Datenstrom weitere Elemente enthält.
Sie können diese Methode nur für ein ScriptableDataStream-Objekt aufrufen, das von zurückgegeben wird ExecuteDataStreamAction() Methode in der FlowAPI-Klasse. Siehe FlowAPI .
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die bestimmt, ob der Datenstrom weitere Elemente enthält. Werte:
|
In diesem Beispiel wird für jedes im Datenstrom zurückgegebene Element ein Incident-Datensatz erstellt.
(function() {
try {
// Execute Data Stream Action.
var stream = sn_fd.FlowAPI.executeDataStreamAction('x_my_scope.data_stream_name');
// Process each item in the data stream
while (stream.hasNext()) {
// Get a single item from the data stream.
var item = stream.next();
// Use the item.
var now_GR = new GlideRecord('incident');
now_GR.setValue('number',item.id);
now_GR.setValue('short_description',item.name);
now_GR.insert();
// By default, this code snippet will terminate after 10 items.
// Remove or modify this limit after testing your code.
if (stream.getItemIndex() >= 9) {
break;
}
}
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
} finally {
stream.close();
}
})();
ScriptableDataStream – next()
Gibt das nächste Element in einem Datenstrom zurück.
Sie können diese Methode nur für ein ScriptableDataStream-Objekt aufrufen, das von zurückgegeben wird ExecuteDataStreamAction() Methode in der FlowAPI-Klasse. Siehe FlowAPI .
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Das nächste Element im Datenstrom. Dieses Objekt enthält die Ausgaben, die durch die Datenstromaktion definiert sind. Um die Ausgaben der Datenstrom-Aktion anzuzeigen, navigieren Sie in der Flow Designer-Oberfläche zum Abschnitt Ausgaben der Datenstrom-Aktion. |
In diesem Beispiel wird für jedes im Datenstrom zurückgegebene Element ein Incident-Datensatz erstellt.
(function() {
try {
// Execute Data Stream Action.
var stream = sn_fd.FlowAPI.executeDataStreamAction('x_my_scope.data_stream_name');
// Process each item in the data stream
while (stream.hasNext()) {
// Get a single item from the data stream.
var item = stream.next();
// Use the item.
var now_GR = new GlideRecord('incident');
now_GR.setValue('number',item.id);
now_GR.setValue('short_description',item.name);
now_GR.insert();
// By default, this code snippet will terminate after 10 items.
// Remove or modify this limit after testing your code.
if (stream.getItemIndex() >= 9) {
break;
}
}
} catch (ex) {
var message = ex.getMessage();
gs.error(message);
} finally {
stream.close();
}
})();