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