IBM Connections: Criando funcoes para Mapeamento de Campos
É possível criar funções para Popular Campos no Profiles (PEOPLEDB), caso não existam no LDAP.
Para isso é necessário adicionar a função no arquivo profiles_functions.js e mapear esta função no arquivo map_dbrepos_from_source.properties.
Veja os exemplos abaixo.
Populando o Pais
No arquivo map_dbrepos_from_source.properties
#countryCode=c
countryCode={function_X_countryCode}
Salve e feche o arquivo
No arquivo profiles_functions.js e adicione
function function_X_countryCode(fieldname) {
var result = work.getString("c");
if(result == null) {
result = "br";
}
if(result == "") {
result = "br";
}
return result;
}
Salve e feche o arquivo
Populando o Fuso Horário
No arquivo map_dbrepos_from_source.properties
#timezone=null
timezone={function_X_timeZone}
Salve e feche o arquivo
No arquivo profiles_functions.js e adicione
function function_X_timeZone(fieldname) {
var result = "America/Sao_Paulo";
return result;
}
Salve e feche o arquivo
Populando o Idioma
No arquivo map_dbrepos_from_source.properties
#preferredLanguage=preferredlanguage
preferredLanguage={function_X_preferedLanguage}
Salve e feche o arquivo
No arquivo profiles_functions.js e adicione
function function_X_preferedLanguage(fieldname) {
var result = work.getString("preferedlanguage");
if(result == null) {
result = "pt_BR"
}
return result;
}
Salve e feche o arquivo
Populando um campo a partir de 2 ou mais atributos
No arquivo map_dbrepos_from_source.properties
title={function_X_map_title}
Salve e feche o arquivo
No arquivo profiles_functions.js e adicione
function function_X_map_title(fieldname) {
var result = work.getString("employeeNumber");
var result2 = work.getString("employeeTitle");
if(result != null) {
result2 = result + "-" + result2;
}
return result2;
}
Salve e feche o arquivo
Calculando o Último Nome, caso não exista
No arquivo map_dbrepos_from_source.properties
surname={func_X_compute_sn}
Salve e feche o arquivo
No arquivo profiles_functions.js e adicione
function func_X_compute_sn(fieldname) {
task.logmsg("INFO", "-------------- ENTROU NO FUNC_X_COMPUTE_SN -----------------");
var snAttr = work.getString("sn");
tokenizer = new java.util.StringTokenizer (snAttr, " ");
work.setAttribute ("values", null);
i=0;
newSn ="";
while (tokenizer.hasMoreTokens ()) {
token = tokenizer.nextToken ();
if (i>0) {
antSn = newSn;
newSn = token ;
if (token.equals("Junior")) {
newSn = antSn;
}
if (token.equals("Filho")) {
newSn = antSn;
}
if (token.equals("Neto")) {
newSn = antSn;
}
}
i++;
}
result = newSn;
task.logmsg("INFO", "RESULT: ---> "+result);
task.logmsg("INFO", "-------------- SAIU NO FUNC_X_COMPUTE_SN -----------------");
return result;
}
Salve e feche o arquivo
Calculando o SurNames
No arquivo map_dbrepos_from_source.properties
surnames={func_X_compute_surnames_2}
Salve e feche o arquivo
No arquivo profiles_functions.js e adicione
function func_X_compute_surnames_2(fieldname) {
task.logmsg("INFO", "-------------- ENTROU NO FUNC_X_COMPUTE_SURNAMES_2 -----------------");
var fullName = work.getString("sn");
var pos = fullName.indexOf(" ");
if (pos > 0) {
result = fullName.substring(pos+1);
} else {
result = fullName;
}
task.logmsg("INFO", "result: ---> "+result);
task.logmsg("INFO", "-------------- SAIU NO FUNC_X_COMPUTE_SURNAMES_2 -----------------");
return result;
}
Salve e feche o arquivo
Ver também
- Mais Artigos sobre IBM Connections IBM Connections