TMACUL

DICA DO DIA: Novas operações no SDM. 14/09/2015

Blog Post created by TMACUL Champion on Jan 5, 2016

Para os desenvolvedores de plantão.

É possível criar novas operações web do tipo "OP=DISPLAY_FORM / SEARCH / etc" que possibilitem que o usuário dispare novos métodos SPEL através da interface web.

O retorno se dá através do comando "send_frame_resp" que alimenta um javascript em um frame oculto do formulário de origem. A execução é síncrona e pode possibilitar que o SDM execute literalmente qualquer coisa.

 

As operações nativas do produto ficam armazenadas no arquivo $NX_ROOT\bopcfg\www\op_table.cfg. E as novas operações customizadas devem ficar em $NX_ROOT\site\mods\www\op_custom.cfg.

 

Dentro destas respectivas pastas os respectivos arquivos de métodos SPEL devem ser armazenados.

Operações não são executadas pelo processo SPEL_SRVR, mas sim pelo WEBENGINE. Portanto, toda vez que houver modificação em algum método, o webengine deverá ser reiniciado.

A estrutura ficaria parecida com o exemplo abaixo:

No arquivo op_custom.cfg:

Z_TESTE z_teste MODIFY UPDATE

 

 

No arquivo z_teste.spl

z_teste(...) {

int zi_id_event;

object zo_new_obj;

zi_id_event = argv[0];

zo_new_obj = argv[1];

dump_args(zo_new_obj);

string return_msg;

return_msg = format("TESTE OK no objeto %s", zo_new_obj.PERSID);

 

 

if (!is_null(return_msg)) {

format_to_js(return_msg));

zo_new_obj.CALLBACK="alert(myMsg)";

 

 

string zs_new_js;

zs_new_js = format("var myMsg='%s';", return_msg);

send_frame_resp((long)zi_id_event, (object)zo_new_obj, (string)zs_new_js);

}}

 

 

E finalmente no formulário HTMPL::

var url = cfgCgi + "?SID=" + cfgSID + "+FID=" + fid_generator() + "+OP=Z_TESTE" + "+FACTORY=cr" + "+PERSID=" + argPersistentID + "+POPUP_NAME=" + '$args.KEEP.POPUP_NAME' + "+KEEP.POPUP_NAME=" + '$args.KEEP.POPUP_NAME' + "+CALLBACK=test";

<PDM_MACRO name=button Caption="TEST OP" Func="display_new_page(url, ahdframeset.workframe);" hotkey_name="TEST_OP[P]" ID=TEST_OP>

 

 

Mais informações no link: SPEL: Register custom webengine OP

 

Publicado Originalmente: 14 de setembro às 10:07

Em: CA SDM Brasil - facebook

Por: daniel-bighelini

 

 

Social Communities for CA Service Management Arround the world - CA Technologies

Outcomes