sap fiori transactional apps 可以实施在sap hana数据库或者任意数据库之上。因此,无论sap fiori系统架构如何,实施transactional apps的主要任务在各种环境下基本上是一样的。abap前端服务器由以下几部分组成:sapui5控件库的central ui component, sap fiori launchpad,使用odata的sap gateway。
前端模块可以通过trusted rfc连接来访问abap后端服务器,abap后端系统包含业务逻辑。
以下是在前端和后端服务器进行的具体操作流程。
首先我们从abap前端服务器的任务开始。前端系统包含ui层,其中包含产品对应的ui模块和基础架构的底层模块。
下面将用销售订单的transaction app作为实例来介绍如何实施transactional app。
以下概括了实施transactional apps的配置工作:
►激活sapui5 component
►激活sapui5应用在sap gateway里的odata service。
►创建前端role,其中包含以下子任务:
●拷贝business catalog role,用来提供访问在sap fiori launchpad里的对应catalog的权限。
●添加odata service需要的权限到business role。
●分配前端的roles给用户。
►创建后端的role,它包含以下子任务:
●拷贝后端权限role,用来提供访问后端数据需要的权限。
●分配后端role给用户。
以下是在前端和后端服务器进行的具体操作流程。
一、激活sapui5模块
在前端服务器的配置中,第一步是通过事务码sicf来激活icf服务。当sap系统使用icm和icf的时候,事务码sicf是用来维护http通信服务的。
这是在应用服务器上的软件层,它提供了关于http, https, 和smtp请求的abap接口。基于安全原因,所有的icf服务默认是非激活状态。
当你开始安装新的sap系统的时候,标准的sap服务或许是非激活的,所以需要你使用事务码sicf来激活它们。当你创建一个新的web service的时候,你也需要在执行它之前激活它,否则会报错。
既然我们已经知道事务码sicf的用途了,那么我们现在需要知道为了实施create sales order transactional app ,我们需要激活哪些服务。那么我们需要到sap fiori应用参考库找到实施app的配置页面来查看。
我们拷贝应用的名字:create sales order app
第一个任务是在abap前端服务器激活sapui5应用的服务,步骤如下:
1. 在前端服务器执行事务码sicf。
2. 输入服务名称,比如上一步我们复制的technical name,点击键盘的f8,或者屏幕的执行按钮。
3. 到以下路径:default_host · sap · be · ui5_ui5 · sap。
4. 在此节点下, 到sapui5应用create sales order app下面的sd_so_cre节点。
5. 在节点上单击右键,然后选择activate service,来激活服务(sapui5应用)。
6. 在弹出的对话框,点击yes。
这样就成功激活了icf服务,接下来激活odata service。
二、激活odata services
简单的讲,odata是建立在http协议和rest协议之上的一种标准协议,它是支持对数据进行增删查改操作的api。
按照如下步骤来为你的app激活相应的odata service:
1. 在fiori应用参考库的页面,拷贝odata service的technical name。
2. 在前端系统运行事务码/iwfnd/maint_service 来激活或者维护odata services。
3. 在激活和维护service页面,点击add service。
4. 输入后端系统的系统别名system alias。
5. 在external service name字段, 输入你要实施应用的odata service的technical service name,(在本例子中,technical name就是第一步拷贝的)。点击get service。
6. 在select back-end service部分选择service name,在这里,点击add selected service。
7. 按照客户的命名规则为服务输入technical service name。
8. 分配包名,然后点击local object。
9. 点击execute来保存服务。
10. 服务激活之后,会弹出确认窗口。
现在odata service成功添加并激活了。
我们通过浏览器访问这个odata service,看看是否工作正常。具体步骤如下:
1. 点击按钮回到activate and maintain service页面。
2. 检查系统别名是否维护正确,如果不正确,删除重新添加。
3. 选择odata节点,然后点击call browser。
4. 选择remember my decision复选框,然后点击allow按钮。
我们测试完odata service运行正常,接下来我们测试一下是否能够成功的生成hash key。每个生成的odata service都会生成一个hash key。在生成权限配置文件的时候需要这个hash key。你可以通过如下步骤来检查生成的hash key:
1. 在前端系统执行事务码se16,查看数据表的内容。
2. 在表名字段输入"usobhash",点击数据表内容按钮。
3. 在接下来的页面,输入如下内容,点击执行,如下图:
• pgmid: "r3tr" (program id)
• object: "iwsg" (object type)
• obj_name: "zsra017*" (上一步激活的服务的名称)
4. 你可以看到如下图所示的内容页面。
这样就成功的激活了icf和odata服务,接下来会配置访问应用的用户角色和权限。
三、abap 前端roles
在sap fiori实施过程中这是最重要的一步。sap fiori launchpad 是所有sap fiori apps 的入口,对于要访问应用的用户,需要分配一定的业务权限。
sap发布了每个应用的技术相关内容,我们可以在sap fiori应用参考库找到,这里我们主要关注有关业务分组的pfcg role。
在开始这部分之前你需要理解这个对应关系,如下图,apps/tiles分配给了catalog, 然后这些catalog和users分配给roles。因此当一个用户登录到sap fiori launchpad,它就会显示一定数量的应用,显示哪些应用,这取决于用户分配了什么role。
对于业务分组的pfcg role,它提供给特定业务用户相关的应用访问权限。下面的例子里,我们给销售代表提供访问应用create sales order app的权限。
所有分配了business role sap_sd_bcr_fieldsalesrep_x1的用户,在sap fiori launchpad上可以访问如下应用:
• create sales orders
• change sales order
• customer invoices
• track sales order
• check price and availability
接下来,我们会复制business role,然后分配给用户这个复制的role。当role分配给了用户之后,这个用户就可以在sap fiori launchpad上看到包含在这个catalog下面的所有应用。
四、复制business catalog role
这个流程的第一步是复制business role模板,create sales order这个应用的权限包含在了pfcg role: sap_sd_bcr_fieldsalesrep_x1中。步骤如下:
1. 执行事务码pfcg (role maintenance)。
2. 在字段role输入role name。
3. 点击左上角的复制按钮,来复制business role到你的命名空间。
4. 输入新的role name,然后在弹出窗口点击copy all。
5. 复制之后,可以在左下角的提示栏看到成功消息。
五、start authorization
我们已经成功复制了role,还需要添加启动应用的odata service的start authorizations。你需要分配start authorizations给前面复制的role。
在前端系统按照如下步骤添加odata service的start authorization给复制的role:
1. 点击铅笔按钮来编辑business role 。
2. 到menu标签页,点击在transaction按钮旁边的下拉列表。
3. 在下拉列表中选择authorization default object。
4. 在service弹出窗口中填写相关字段。搜索之前激活的odata service,输入如下相关信息。
- authorization default: tadir service
- program id: "r3tr"
- obj. type: iwsg
- tadir service: "zsra017*"
5. 在搜索结果中选择odata service,点击执行。
6. 点击复制,然后你会在左下角看到条目创建成功,这样我们把服务添加到了role。
7. 到 authorization 标签页, 点击字段:profile name旁边的按钮,来生成authorization profile/propose profile name。
8. 点击按钮来修改authorization data。
9. 点击yes来保存role。
10. 点击生成按钮来生成role。
11. 双击在目录结构中的最后一个节点,检查role是否生成成功。
这样我们成功的把激活的odata service添加到我们复制的business role中。
六、分配role给用户
接下来我们分配business catalog role给用户,然后这个用户就可以在sap fiori launchpad中看到应用create sales orders。具体步骤如下:
1. 运行事务码pfcg。
2. 输入在上一节创建的role的name,点击铅笔按钮,转换到修改模式。
3. 转到user标签页,添加新的行。
4. 在字段user id输入添加的user,然后点击回车。
5. 用户添加成功后,点击保存。
上海九慧信息科技有限公司(shanghai thinkway information technology co.,ltd)是一家为企业用户提供数字化转型凯发k8的解决方案及专业实施服务的高科技企业。基于智慧企业及工业4.0目标,依托创新的信息技术,公司为企业提供智能制造、智能管理整体凯发k8的解决方案及高端专业服务。通过企业策略、业务流程、信息技术和人员组织的紧密结合,帮助客户实现数字时代管理变革,提高客户的绩效水平,并促进供应链上企业与企业间开展广泛的协同运作。九慧信息团队基于对中国企业管理实践与需求的深刻理解、丰富的管理系统的实施经验,与国内外优秀it公司广泛合作,努力为企业提供专业的it系统规划、实施、优化、培训等服务。公司至今已经成功地为300多家企业客户提供了专业、优质的管理咨询、数字化转型系统实施和运维支持的专业服务。