点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我需要帮助。
在我们的IDM(AD集成)中,我们希望在初始加载期间读取用户的经理信息。
为此,我检查并发现,在AD中,管理器属性存储为CN = Lname,FName,Ou = xx,OU = yy
我创建了一个小脚本来查找字符串的CN,但这未存储MX_MANAGER的值,因此也未在修改用户表单中显示。
函数CN_DISPLAYNAME(Par){
var firstsplit = Par.split(" CN =");
var结果= firstsplit [1] .split(",OU");
返回结果[0];
}
当我运行初始负载时,我会看到经理名称是MX_MANAGER = Lname,FName;
但是如何将其存储在manager属性中?
将DN存储在ACCOUNT中之后,您也可以使用该名称来检索MSKEY。 只需使用仅设置MX_MANAGER并从第一遍排除MX_MANAGER的第二遍即可。
脚本非常简单:
参数是管理器,因此是DN。
然后在uSelect中执行以下查询:
选择顶部 (1)来自idmv_value_ext的mskey,其中attrname ='ACCOUNT%$ rep.NAME%'和searchvalue =" + Par +"按Modifytime desc排序
其中的前1个和顺序确保您只得到一个 条目。 或者不使用它,而是让某些条目失败并进行更正(重复检测)。 在初始负载中,您不需要它。 在添加迁移的用户期间,我确实需要它。
BTW:如果仅使用名字和姓氏,则实际上可能会重复。 因此,请使用DN进行检测。 诸如city之类的其他属性可能会有所帮助,但您永远不能太确定。
嘿多米尼克,
这也是我要做的方式。
除了根据输入参数创建sql查询(取决于您使用的输入)之外,这可能导致SQL注入攻击。 uPreparedSelect是一种更安全的方法:
https://help.sap .com/viewer/4773a9ae1296411a9d5c24873a8d418c/8.0/zh-CN/25ea1a4e80104de693ade8d8e42cafc4.html
种种问候
嗨阿妮,
MX_MANAGER是MX_PERSON对象的引用属性。 这意味着您需要使用姓氏和名字或DN本身找到合适的MX_PERSON对象,找到其MSKEY或MSKEYVALUE并将其相应存储为MX_MANAGER = MSKEY或MX_MANAGER =。
此致
Alex
嗨阿妮,
使用语句Dominik提供的语句,您应该在脚本中相处。 只需使用您已有的管理器的DN。 结果是管理器对象的MSKEY(如果它作为对象存在并且在IDM系统中分配了AD帐户)。
此致
Alex
Dominik和Alexander谢谢。
您能帮我使用姓和名或DN本身找到合适的MX_PERSON对象吗?
我正在获取结果[0] ="姓\,名字"
我可以进一步修改上述脚本来实现此功能还是您所指的其他功能?
请不要通过displayname搜索。 如果您有多个同名的人,查询也会带回错误的结果。
如果您没有将AD帐户的DN存储在ACCOUNT中( 将其用作用户名),然后使用确实存储该信息的属性来搜索正确的mskey。
。
问候,
Steffi。
一周热门 更多>