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={function_X_countryCode}
 * 1) countryCode=c

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={function_X_timeZone}
 * 1) timezone=null

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={function_X_preferedLanguage}
 * 1) preferredLanguage=preferredlanguage

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