我正在尝试找出为什么它不会让我从PeopleSoft CRM中的特定页面附加文件(它会显示错误,说'AddAttachment()调用失败。')虽然它确实让我从PeopleTools测试工具。
网址似乎有问题。
观察这些痕迹,引起我注意的线条如下:
22:& RETCODE = AddAttachment(@(& URL_ID),& ATTACHSYSFILENAME, & FILEEXTENSION,& ATTACHUSERFILE,& FILESIZE);
EvalAddAttachment: processed URL catalog entry (on resume). IsURLValid: masked specified FTP URL = http://localhost:8230/psfiletransfer/demo/crm/ GetLocalFilePath: temporary copy of file is /usrpsoft/demo/appserv/demo/files/psfileproc/A_de22a2f6-ffbf-11e0-8135-c80dfccab65c/borrador.txt
24:& RETCODE = AddAttachment(& URL_ID,& ATTACHSYSFILENAME, & FILEEXTENSION,& ATTACHUSERFILE,& FILESIZE);
IsURLValid: masked specified FTP URL = http://localhost:8230/psfiletransfer/demo/crm/ GetLocalFilePath: temporary copy of file is /usrpsoft/demo/appserv/demo/files/psfileproc/A_5da2dbaa-ffab-11e0-8135-c80dfccab65c/borrador.txt
首先, @符号在Peoplecode中意味着什么?
在第一个跟踪中,它出现在URL参数之前。我浏览了Peoplecode文件,但我找不到它。
另一件事:第一条跟踪的第二行不会出现在第二条跟踪中。
有谁知道会发生什么?
感谢!!!
答案 0 :(得分:2)
@
符号用于动态引用对象,在这种情况下,它是一个URL。
关键是字符串&URL_ID
中的内容。
如果您使用@(&URL_ID)
,那么&URL_ID
应该等于URL.MY_URL
。如果是记录,那就像Record.MY_RECORD
,例如&Rcd = GetRecord(@(&record));
或&Rcd = GetRecord(@("Record."| Record.MY_RECORD));
或&Rcd = GetRecord(@("Record.MY_RECORD"));
。
至于这个“EvalAddAttachment”,我不是百分百肯定。我不会太担心它。只是尝试确定变量的内容(第1和第2个例子)&URL_ID.
答案 1 :(得分:0)
我会做一个跟踪或抛出一个消息框,看看传递给&url_id
的是什么。它应该等于上面公布的URL.MY_URL
。
如果url格式是这样,那么它与您传递给函数的其他一些变量有关。