Histórico da Página
...
Bloco de código | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
function createDataset(fields, constraints, sortFields) { //Cria a estrutura do Dataset var dataset = DatasetBuilder.newDataset(); dataset.addColumn("conta"); dataset.addColumn("titulo"); dataset.addColumn("natureza"); dataset.addColumn("tipo"); //Recupera o serviço e carrega o objeto remoto var servico = ServiceManager.getService("EMS2"); var serviceHelper = servico.getBean(); var remoteObj = serviceHelper.createManagedObject("CostCenterUtils"); //Lê as contas correntes var holder = serviceHelper.createResultSetHolder(); remoteObj.readCostCenters(holder); //Percorre os registros, carregando o Dataset com os dados var rs = holder.getResultSetValue(); while (rs.next()) { var conta = rs.getObject("conta"); var natureza = rs.getObject("natureza"); var tipo = rs.getObject("tipo"); var titulo = rs.getObject("titulo"); dataset.addRow(new Array(conta, titulo, natureza, tipo)); } return dataset; } |
Codificação OpenEdge® OpenEdge® 10
No OpenEdge® 10, as temp-tables retornadas são encapsuladas como objetos da classe ProDataGraph. Esta classe também é utilizada quando se utilizam parâmetros do tipo DATASET:
...
A terceira diferença que pode se observar neste caso é que é possível transformar um Dataset nos tipos de dados requeridos pelo Progress® (ResultSet ou ProDataGraph).
Codificação Progress® 9
Bloco de código | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
function createDataset(fields, constraints, sortFields) { //Cria o novo Dataset var dataset = DatasetBuilder.newDataset(); dataset.addColumn("usuario"); dataset.addColumn("nome"); //Recupera os usuários do Fluig var campos = new Array("colleaguePK.colleagueId", "colleagueName"); var colleaguesDataset = DatasetFactory.getDataset("colleague", campos, null, null); //Instancia o servico var servico = ServiceManager.getService("EMS2"); var serviceHelper = servico.getBean(); //Transforma o dataset em um ResultSet (v9) e cria holder para saida var inputTT = colleaguesDataset.toResultSet(); var holder = serviceHelper.createResultSetHolder(); //Invoca a procedure no Progress serviceHelper.getProxy().verifyUsers(inputTT, holder); var rs = holder.getResultSetValue(); while (rs.next()) { dataset.addRow(new Array(rs.getObject("cod_usuar"), rs.getObject("nom_usuario"))); } return dataset; } |
Codificação OpenEdge® OpenEdge® 10
Bloco de código | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
function createDataset(fields, constraints, sortFields) { //Cria o novo Dataset var dataset = DatasetBuilder.newDataset(); dataset.addColumn("usuario"); dataset.addColumn("nome"); //Recupera os usuários do Fluig var campos = new Array("colleaguePK.colleagueId", "colleagueName"); var colleaguesDataset = DatasetFactory.getDataset("colleague", campos, null, null); //Instancia o servico var servico = ServiceManager.getService("EMS2"); var serviceHelper = servico.getBean(); //Transforma o dataset em um ProDataGraph (v10) e cria holder para saida var inputTT = serviceHelper.toProDataGraph(colleaguesDataset); var holder = serviceHelper.createProDataGraphHolder(); //Invoca a procedure no Progress serviceHelper.getProxy().verifyUsers(inputTT, holder); var ttCC = holder.getProDataGraphValue().getProDataObjects("ttOutUsers"); for (var row_index = 0; row_index < ttCC.size(); row_index++) { var row = ttCC.get(row_index); dataset.addRow(new Array(row.get("cod_usuar"), row.get("nom_usuario"))); } return dataset; } |
...
Âncora | ||||
---|---|---|---|---|
|
Service Helper Helper
A tabela abaixo apresenta a lista de métodos existentes na classe utilitária para serviços Progress®:
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas