点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
我有一个需求,我需要在SAP ECC中打开由FM(RFC)生成的PDF表单。 从MII,我正在将相关数据传递给FM,并且FM给出了" PDF_STRING",可以由Runner&application/pdf打开。
现在的问题是-我们使用SSO登录到SAP。 因此,当我拨打FM时,我会映射
SAP_JCo_Start_Session_UP2.SAPSSO2到Transaction.MYSAPSSO2的票证
现在,当我使用Runner时,我将按以下方式传递IllumloginName,但仍以某种方式MII无法生成SAPSSO2Ticket,因此FM失败。
var printWindow = window.open(URL +'/Runner?Transaction = Default/Demo/DemoPDF&Action = UP2&IllumLoginName = test_mii&OutputParameter = Output&Content-Type = application/pdf&IsBinary = true','','滚动条=是,宽度= 720 ,height = 960');
现在,如果我使用Illuminator,则FM可以正常运行,但是如果我将application/pdf与illuminator一起使用,则会出现错误,指出不支持SAP MII类型。
所以我有点卡住。
使用Runner,MII无法创建SAPSSO2Ticket,因此FM失败。 有了Illuminator,MII可以创建SAPSSO2Ticket,并且FM可以很好地运行并返回PDF_STRING,但是illuminator不支持application/pdf。
我必须解决什么问题?
谢谢!
苏厄姆
如果IllumLoginName不起作用,则可能要尝试j_user。 另外,如果Web应用程序/JS代码托管在MII服务器上,则只需授予MII用户对该事务的访问权限(如果他们没有访问权限),然后从URL中删除IllumLoginName参数即可。
如果您尝试返回Content-Type = application/pdf,则Illuminator服务是不可能的。 我可以根据您的情况考虑以下几点:
1)内容类型白名单条目问题
如果您运行的是MII 15.1或更高版本,则需要将application/pdf添加到白名单(SAP注释2423159)
http://<服务器>:<端口>/XMII/Illuminator?Service = Admin&Mode =AddContentTypeℜsourceContentType= application/pdf
2)如果当前设置不正确,请通过NetWeaver AS Java Administrator(nwa)启用MYSAPSSO2身份验证
这需要:
3)将(IllumLoginName和IllumLoginPassword)或(j_user和j_password)作为参数传递到Runner URL中
这不是一个好的选择,因为您将密码放入代码中。 将需要限制用户的访问权限,使其仅针对交易呼叫跑步者。
感谢Eric提供详细的答案和解释!
好吧,我找到了另一种方式。
ECC中的功能模块(FM)失败,因为为FM/RFC创建的MII服务用户没有假脱机访问权限。 因此,现在我要致电MII的Illuminator Service,并获取MII用户的用户名。
我将此用户名传递给MII Transaction作为输入变量。 MII Transaction正在将此用户名作为导入参数传递给RFC。 我的ABAP开发人员更改了RFC中的逻辑,将sy-uname更改为MII正在传递的用户名。 通过这种方式,RFC得以执行,我能够打开PDF。
不过感谢您的帮助。
一周热门 更多>