点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
你好
我是一个Perl初学者,但是我设法创建了一些使用sapnwrfc附加组件的脚本。
我用它来进行上午检查,例如检查系统是否在线,检查锁,失败的工作。 等等...
但是现在我正在尝试制作一个在SAP系统上创建用户的工具。 这个想法是输入用户名,密码,参考用户...,它可以在所有给定的SAP系统上创建我的用户。
我找到了" BAPI_USER_INTERNET_CREATE"模块功能,但无法在perl上使用它。
我的问题是属于某种数组的USERID,PASSWORD/PASSWORD2和REF_USER字段。
我过去常常将脚本制作如下:
$ rd = $ conn-> function_lookup(" BAPI_USER_INTERNET_CREATE");
$ rc = $ rd-> create_function_call;
$ rc-> PARAM1('VALUE1');
$ rc-> PARAM2('VALUE2');
但是我无法弄清楚这些字段的语法。
我尝试的每件事都给了我错误:不是哈希。
我试图使它像这样散列:
我的%test;
$ test {BAPIBNAME}。='TEST';
...
$ rc-> USERID($ test {BAPIBNAME});
但是现在,错误是:" ./ sapaccount.pl >的匿名哈希中的元素数量奇数 a>第41行。"
你们中的任何人都知道使它正常工作的正确语法吗?
谢谢您
问候
安东尼
更新,经过1天的搜索,我在发布问题30分钟后找到了答案。
您必须为每个字段声明一个哈希值:
我的%name =();
$ name {BAPIBNAME} ='bob';
my%pwd =();
$ pwd {BAPIPWD} ='passwordofbob';
my%ref =();
$ ref {REF_USER} ='userref';
然后,必须像这样对每个字段给出哈希值:
$ rd = $ conn-> function_lookup(" BAPI_USER_INTERNET_CREATE");
$ rc = $ rd-> create_function_call;
$ rc-> USERID(\%name);
$ rc-> PASSWORD(\%pwd);
$ rc-> PASSWORD2(\%pwd);
$ rc-> LASTNAME('Bob');
$ rc-> REF_USER(\%ref);
我设法做到了:
$ rc->调用;
foreach我的$ logline(@ {$ rc-> RETURN}){
$ dumptext =($ logline-> {'NUMBER'})。"";
$ dumptext。=($ logline-> {'MESSAGE'});
}
打印$ dumptext;
也许这很明显,但也许会帮助另一个像我这样的初学者。
致谢
一周热门 更多>