TMACUL

LINGUAGEM SPEL: Instanciando objetos 18/10/2015

Blog Post created by TMACUL Champion on Jan 1, 2016

Instanciar objetos na SDM é necessário quando precisamos sensibilizar algum registro para consulta, alteração, exclusão ou outros processos.

Por conta disso, destacarei os 03 métodos mais utilizados na linguagem SPEL:

 

// Tentaremos instanciar um objeto localizando o registro por ID, PERSID ou WHERE CLAUSE no producer 'imp'

int zi_imp_id;

string zs_imp_persid;

string zs_producer;

zs_producer = 'imp'; // Define em que producer iremos trabalhar

zi_imp_id = 1600; // Define o ID que queremos instanciar

zs_imp_persid = 'imp:1600'; // Define o PERSID que queremos instanciar

zs_imp_wc = format("id = %d", zi_imp_id); // Define a WHERE CLAUSE que retornara o objeto a ser instanciado

 

// Informando ID

send_wait(0, top_object(), "call_attr", zs_producer, "dob_by_id", 0, zi_imp_id, NULL, NULL);

if (!msg_error()) {

object zo_obj_by_id;

zo_obj_by_id = msg[0];

}

 

// Informando PERSID

send_wait(0, top_object(), "call_attr", zs_producer, "dob_by_persid", 0, zs_imp_persid);

if (!msg_error()) {

object zo_obj_by_persid;

zo_obj_by_persid = msg[0];

}

 

// Informando WHERE CLAUSE

// Primeiro procuramos o registro

send_wait(0, top_object(), "call_attr", zs_producer, "sync_fetch", "STATIC", zs_imp_wc, -1, 0);

if (!msg_error()) {

object zo_obj_list;

zo_obj_list = msg[0];

 

// Depois instanciamos

send_wait(0, zo_obj_list, "dob_by_index", "DEFAULT", 0, 0);

if (!msg_error()) {

object zo_obj_by_wc;

zo_obj_by_wc = msg[0];

}

}

 

Até a próxima.

 

 

 

Publicado Originalmente: 16 de outubro de 2015 às 18:39

Em: CA SDM Brasil - facebook

Por: daniel-bighelini

Outcomes