ScriptableDataStream - com escopo, global
A API ScriptableDataStream fornece métodos para interagir com um fluxo de dados.
Esta classe só pode ser usada em um script do lado do servidor após a recuperação de um objeto ScriptableDataStream usando uma destas APIs:
- O método executeDataStreamAction() na classe FlowAPI. Consulte FlowAPI.
- O método getDataStream() na classe ScriptableFlowRunnerResult. Consulte ScriptableFlowRunnerResult.
Depois de recuperar um objeto ScriptableDataStream, chame os métodos nesta ordem específica:
- Use o método hasNext() para determinar se há mais itens no fluxo de dados.
- Use o método next() para acessar o próximo item no fluxo.
- Use os métodos getItemIndex(), getItemInPageIndex()e getPageIndex() para obter informações do fluxo.
- Use o método close() para fechar o fluxo.
Esta classe é executada no namespace sn_fd.
tentar/capturar para detectar erros. Sempre inclua uma declaração final que termina com o método close() da classe ScriptableDataStream para fechar o fluxo de dados e evitar problemas de desempenho.ScriptableDataStream - fechar ()
Encerra a conexão com um fluxo de dados. Sempre chame este método depois de executar qualquer operação desejada em um fluxo de dados.
Você só pode chamar este método em um objeto ScriptableDataStream retornado do método executeDataStreamAction() na classe FlowAPI. Consulte FlowAPI.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| vazio |
(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()
Retorna o índice atual de um item em um fluxo de dados.
Você só pode chamar este método em um objeto ScriptableDataStream retornado do método executeDataStreamAction() na classe FlowAPI. Consulte FlowAPI.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Número | Índice atual de um item em um fluxo de dados usando indexação baseada em zero. |
(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()
Retorna o índice atual de um item na página atual em um fluxo de dados.
Você só pode chamar este método em um objeto ScriptableDataStream retornado do método executeDataStreamAction() na classe FlowAPI. Consulte FlowAPI.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Número | Índice atual de um item na página atual no fluxo de dados usando indexação baseada em zero. |
(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()
Retorna o índice atual de uma página em um fluxo de dados.
Você só pode chamar este método em um objeto ScriptableDataStream retornado do método executeDataStreamAction() na classe FlowAPI. Consulte FlowAPI.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Número | Índice atual de uma página em um fluxo de dados usando indexação baseada em zero. |
(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()
Retorna verdadeiro se houver mais itens no fluxo de dados.
Você só pode chamar este método em um objeto ScriptableDataStream retornado do método executeDataStreamAction() na classe FlowAPI. Consulte FlowAPI.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano | Sinalizador que determina se há mais itens no fluxo de dados. Os valores incluem:
|
Este exemplo cria um registro de incidente para cada item retornado no fluxo de dados.
(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()
Retorna o próximo item em um fluxo de dados.
Você só pode chamar este método em um objeto ScriptableDataStream retornado do método executeDataStreamAction() na classe FlowAPI. Consulte FlowAPI.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Objeto | O próximo item no fluxo de dados. Este objeto contém as saídas definidas pela ação de fluxo de dados. Para exibir as saídas da ação de fluxo de dados, navegue até a seção Saídas da ação de fluxo de dados na interface do Flow Designer. |
Este exemplo cria um registro de incidente para cada item retornado no fluxo de dados.
(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();
}
})();