ScriptableDataStream – Scoped, Global
Die ScriptableDataStream -API stellt Methoden für die 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 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 next()- Methode, 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 close(), um den Stream zu schließen.
Diese Klasse wird im Namespace sn_fd ausgeführt.
try/catch -Block, um Fehler abzufangen. Fügen Sie immer eine „ endlich “-Anweisung ein, die mit der close()- Methode der ScriptableDataStream -Klasse endet, um den Datenstrom zu schließen und Leistungsprobleme zu vermeiden.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 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 mit nullbasierter 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, wenn der Datenstrom weitere 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 der Datenstrom weitere Elemente enthält. 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 Ausgaben, die durch die Datenstrom-Aktion definiert werden. Um die Ausgaben der Datenstrom-Aktion anzuzeigen, navigieren Sie in der Flow Designer-Schnittstelle zum Abschnitt Ausgaben der Datenstrom-Aktion. |
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();
}
})();