ScriptableDataStream: Bereichsbezogen, global
Die ScriptableDataStream -API bietet Methoden für die Interaktion mit einem Datenstrom.
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 der FlowAPI- Klasse Siehe FlowAPI.
- Die getDataStream() -Methode in der ScriptableFlowRunnerResult -Klasse Siehe ScriptableFlowRunnerResult.
Rufen Sie nach dem Abrufen eines ScriptableDataStream-Objekts die Methoden in der folgenden Reihenfolge auf:
- Verwenden Sie die Methode hasNext(), um zu bestimmen, ob der Datenstrom weitere Elemente enthält.
- Verwenden Sie die Methode „next()“, um auf das nächste Element im Stream zuzugreifen.
- Verwenden Sie die Methoden getItemIndex(), getItemInPageIndex()und getPageIndex() , um Informationen aus dem Stream abzurufen.
- Verwenden Sie die Methode schließen (), um den Stream zu schließen.
Diese Klasse wird im Namespace sn_fd ausgeführt.
Versuch/Erfassung -Block ein, um Fehler abzufangen. Fügen Sie immer eine finale Anweisung ein, die mit der Methode schließen () aus der Klasse ScriptableDataStream endet, um den Datenstrom zu schließen und Leistungsprobleme zu vermeiden.ScriptableDataStream – schließen ()
Schließt die Verbindung zu einem Datenstrom. Rufen Sie diese Methode immer auf, nachdem Sie alle 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 der executeDataStreamAction()- Methode in der FlowAPI-Klasse zurückgegeben wird. 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 der executeDataStreamAction()- Methode in der FlowAPI-Klasse zurückgegeben wird. Siehe FlowAPI.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Nummer | Aktueller Index eines Elements in einem Datenstrom mit nullbasierter 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 der executeDataStreamAction()- Methode in der FlowAPI-Klasse zurückgegeben wird. Siehe FlowAPI.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Nummer | Aktueller Index eines Elements auf der aktuellen Seite im Datenstrom unter Verwendung der nullbasierten 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 der executeDataStreamAction()- Methode in der FlowAPI-Klasse zurückgegeben wird. Siehe FlowAPI.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Nummer | Aktueller Index einer Seite in einem Datenstrom mit nullbasierter 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 „true“ zurück, falls der Datenstrom mehrere Elemente enthält.
Sie können diese Methode nur für ein ScriptableDataStream-Objekt aufrufen, das von der executeDataStreamAction()- Methode in der FlowAPI-Klasse zurückgegeben wird. Siehe FlowAPI.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Boolean | Kennzeichnung, die bestimmt, ob im Datenstrom weitere Elemente vorhanden sind. Werte:
|
In diesem Beispiel wird ein Incident-Datensatz für jedes im Datenstrom zurückgegebene Element 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 der executeDataStreamAction()- Methode in der FlowAPI-Klasse zurückgegeben wird. Siehe FlowAPI.
| Name | Typ | Beschreibung |
|---|---|---|
| Keine |
| Typ | Beschreibung |
|---|---|
| Objekt | Nächstes Element im Datenstrom. Dieses Objekt enthält die durch die Datenstromaktion definierten Ausgaben. Um die Ausgaben der Datenstromaktion anzuzeigen, navigieren Sie in der Flow Designer-Schnittstelle zum Abschnitt Ausgaben der Datenstromaktion. |
In diesem Beispiel wird ein Incident-Datensatz für jedes im Datenstrom zurückgegebene Element 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();
}
})();