一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种SAPERP系统数据处理方法与流程

2022-04-16 13:34:08 来源:中国专利 TAG:

一种sap erp系统数据处理方法
技术领域
1.本发明涉及数据处理技术领域,尤其涉及一种sap erp系统数据处理方法。


背景技术:

2.sap erp系统是sap公司的一款成熟的企业管理软件,随着it技术的发展,企业门户、统一管理平台的出现,sap erp系统也面临着与非sap系统进行集成,接收并处理非sap系统中数据的问题。
3.现有非sap系统根据参数传递一般是传递用户信息,从而进行非sap系统与sap erp系统的单点登录集成,或者进入sap erp中的某个菜单界面,并未传递业务数据,也无法根据接收的业务数据进行数据处理。
4.现有对业务数据的处理,一般是非sap系统通过底层数据集成方式,从后端直接将数据传递至sap erp系统,比如idoc、bapi和rfc方式,这些方式处理数据后,需要进入sap erp系统后,人工点击进入相关的菜单界面,执行查询后显示出传递的数据,增加了很多不必要的人工操作。


技术实现要素:

5.鉴于上述的分析,本发明实施例旨在提供一种sap erp系统数据处理方法,用以解决现有无通过参数传递实现sap erp客户端的自动打开以及对业务数据的自动处理问题。
6.一方面,本发明实施例提供了一种sap erp系统数据处理方法,包括如下步骤:
7.接收非sap系统传递的参数,参数包括:获取模式、用户标识、菜单事务码、业务数据和执行操作按钮代码,作为待获取数据;
8.根据用户标识,校验sap erp中是否存在对应的用户,如果存在,获取用户的用户名和密码,加入待获取数据;再根据菜单事务码和用户名,依次校验sap erp中是否存在对应的菜单,用户是否具有菜单权限,校验均通过后,根据菜单事务码、业务数据和执行操作按钮代码,校验sap erp中是否存在业务数据中的业务字段和执行操作按钮;
9.校验通过后,识别参数中的获取模式,如果是cs模式,将待获取数据组装成bat格式字符串,基于activexobject控件调用bat格式字符串,进入sap erp系统进行数据处理;否则,将待获取数据组装成请求参数,调用sap erp系统的web端url,进入sap erp系统进行数据处理。
10.基于上述方法的进一步改进,业务数据包括多组成对出现的业务字段和业务值,每组以“;”结尾,格式是:业务字段1=业务值1;业务字段2=业务值2;
……
;业务字段n=业务值n;,n大于等于1;其中,业务值用于在菜单事务码对应的菜单界面中显示。
11.基于上述方法的进一步改进,进入sap erp系统进行数据处理包括:
12.sap erp系统根据待获取数据中的用户名和密码登录后,执行待获取数据中的菜单事务码,进入对应的菜单界面中,解析待获取数据中的业务数据,获取多个业务字段和对应的业务值,在菜单界面中与业务字段相同的界面字段中显示对应的业务值,执行待获取
数据中的执行操作按钮代码,对业务值进行查询、新增或更新处理,显示出处理后界面。
13.基于上述方法的进一步改进,根据用户标识,校验sap erp中是否存在对应的用户,包括:
14.根据用户标识,与sap erp用户信息表中的用户标识进行匹配,如果不存在完全一致的用户标识,返回不存在当前用户的异常信息;
15.否则,根据用户标识获取用户名和用户状态,如果用户状态是离线,则重置用户密码后,返回用户的用户名和重置后密码;否则,返回当前用户状态异常信息。
16.基于上述方法的进一步改进,根据菜单事务码和用户名,依次校验sap erp中是否存在对应的菜单,用户是否具有菜单权限,包括:
17.根据菜单事务码,与sap erp菜单表中的菜单事务码进行匹配,如果不存在完全一致的菜单事务码,返回不存在菜单事务码的异常信息;
18.否则,根据用户名,从sap erp的用户权限信息表、菜单事务码表和关联关系表中,获取对应的用户具有权限的菜单事务码列表;识别菜单事务码是否存在于菜单事务码列表中,如果不存在,返回当前用户不具有菜单权限的异常信息,否则,校验通过。
19.基于上述方法的进一步改进,根据菜单事务码、业务数据和执行操作按钮代码,校验sap erp中是否存在业务数据中的业务字段和执行操作按钮,包括:
20.根据菜单事务码,从菜单事务码程序对应表中获取程序名称;
21.根据程序名称,从业务程序处理表中获取执行操作按钮代码列表;
22.识别执行操作按钮代码是否存在于执行操作按钮代码列表中,如果不存在,返回不存在执行操作按钮的异常信息;
23.否则,根据程序名称,从程序界面信息表中获取业务字段列表;根据业务数据中的连接符拆分业务数据,获取其中的业务字段放入待校验字段数组中;遍历待校验字段数组,依次识别待校验字段是否存在于业务字段列表中,如果有任一个不存在,返回不存在业务字段的异常信息;否则,校验通过。
24.基于上述方法的进一步改进,bat格式字符串,包括:sap erp执行命令、命令属性和属性值;sap执行命令和命令属性之间以空格间隔;每个命令属性前带有
“‑”
;命令属性与对应的属性值以“=”连接,多个命令属性之间以空格间隔;
25.命令属性包括:界面最大化属性、用户名属性、密码属性、登录语言属性、系统标识属性、系统描述属性、客户端号属性、目标系统属性和命令行属性;
26.基于activexobject控件调用bat格式字符串,进入sap erp系统,包括:
27.基于activexobject控件创建wscript.shell对象;
28.通过wscript.shell对象的run函数调用bat格式字符串;
29.执行bat格式字符串中的sap erp执行命令;如果执行成功,启动sap erp客户端程序,根据bat格式字符串中的用户名和密码,自动登录进入sap erp系统;否则,提示异常信息。
30.基于上述方法的进一步改进,命令行属性为-command,对应的属性值以“*”开头,依次拼接菜单事务码、空格、业务数据和dynp_okcode=执行操作按钮代码。
31.基于上述方法的进一步改进,请求参数包括:请求参数名和请求参数值;
32.请求参数名包括:用户名参数、密码参数、客户端号参数、登录语言参数、登录主题
参数和事务执行参数。
33.基于上述方法的进一步改进,事务执行参数为~transaction,对应的请求参数值以“*”开头,依次拼接菜单事务码、空格、业务数据和dynp_okcode=执行操作按钮代码。
34.与现有技术相比,本发明至少可实现如下有益效果之一:
35.1、提供了一种sap erp接收非sap系统传递的业务数据并自动进行数据处理的方法,提供两种模式直接进入sap erp系统,并匹配菜单事务码进入到对应的菜单界面,接收参数中的业务数据,根据传递的执行操作按钮对接收的业务数据进行处理,实现查询、新增、修改等用户业务应用需求,减少用户点击次数,提高用户操作友好性;
36.2、对传递的参数依次进行用户、菜单、业务数据和执行操作按钮校验,通过前置校验提高数据准确性,避免进入sap erp系统后发现数据错误,影响处理效率;
37.3、将传递的参数动态封装成bat格式字符串,避免保存和读取bat文件,提高程序执行效率。
38.本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
39.附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件。
40.图1为本发明实施例中sap erp系统数据处理方法的流程图。
具体实施方式
41.下面结合附图来具体描述本发明的优选实施例,其中,附图构成本技术一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
42.本发明的一个具体实施例,公开了一种sap erp系统数据处理方法,包括sap erp系统对非sap系统传递的参数的接收、校验和处理。需要说明的是,非sap系统有多种方式传递参数,传递方式包括并不限于:通过非sap系统中前端界面的超链接直接传递,点击前端界面的按钮触发数据的传递,或者,在后端创建httpclient对象,通过httppost传递参数。
43.考虑到可能涉及多个非sap系统,优选地,在多个非sap系统与sap erp系统之间部署一个单独的java中间件,由java中间件对接多个非sap系统和sap erp系统,多个非sap系统先将数据传递给java中间件,由java中间件接收参数后,按照sap erp系统的接口规范或调用规范组装参数后,转发给sap erp系统,以及,根据将sap erp系统的返回结果转发给多个非sap系统。
44.本实施例不限于非sap系统、sap erp系统及其之间的部署形式,侧重于具体的处理方法,如图1所示,包括如下步骤:
45.s11:接收非sap系统传递的参数,参数包括:获取模式、用户标识、菜单事务码、业务数据和执行操作按钮代码,作为待获取数据;
46.需要说明的是,获取模式包括cs模式(client/server,客户/服务器模式)和bs模
式(browser/server,浏览器/服务器模式);用户标识用于匹配sap erp系统中的用户;菜单事务码用于在sap erp系统中找到对应的菜单界面;业务数据用于在菜单事务码对应的菜单界面中显示,包括多组成对出现的业务字段和业务值,每组以“;”结尾,格式是:业务字段1=业务值1;业务字段2=业务值2;
……
;业务字段n=业务值n;,n大于等于1;执行操作按钮代码用于在菜单界面,根据业务值执行相关操作。
47.s12:根据用户标识,校验sap erp中是否存在对应的用户,如果存在,获取用户的用户名和密码,加入待获取数据;再根据菜单事务码和用户名,依次校验sap erp中是否存在对应的菜单,用户是否具有菜单权限,校验均通过后,根据菜单事务码、业务数据和执行操作按钮代码,校验sap erp中是否存在业务数据中的业务字段和执行操作按钮;
48.需要说明的是,sap erp对接收到的参数进行校验包括用户校验、菜单事务码校验、业务数据和执行操作按钮校校验,将这些校验程序封装成接口,非sap系统或者java中间件通过webservice调用或使用sap的jco包进行调用。具体来说,校验过程如下:
49.①
用户校验是根据用户标识,校验sap erp中是否存在对应的用户,包括:
50.根据用户标识,与sap erp用户信息表中的用户标识进行匹配,如果不存在完全一致的用户标识,返回不存在当前用户的异常信息;
51.否则,根据用户标识获取用户名和用户状态,如果用户状态是离线,则重置用户密码后,返回用户的用户名和重置后密码;如果用户状态是非离线,则返回用户状态的异常信息。其中,用户的非离线状态包括:在线、锁定和被维护。
52.需要说明的是,sap erp用户信息表是user_addr,用于存储用户信息。在用户校验过程中,对离线用户进行密码重置,避免跨系统进入sap erp系统时,因非法获取参数传递中的密码而导致的风险,提高数据安全性。
53.②
菜单事务码校验是根据菜单事务码和用户名,依次校验sap erp中是否存在对应的菜单,用户是否具有菜单权限,包括:
54.根据菜单事务码,与sap erp菜单表中的菜单事务码进行匹配,如果不存在完全一致的菜单事务码,返回不存在菜单事务码的异常信息;
55.否则,根据用户名,从sap erp的用户权限信息表、角色与菜单事务码关联信息表中,获取对应的用户具有权限的菜单事务码列表;识别菜单事务码是否存在于菜单事务码列表中,如果不存在,返回当前用户不具有菜单权限的异常信息,否则,校验通过。
56.具体来说,用户权限信息表是agr_users,用于存储用户与角色关联信息;角色与菜单事务码关联信息表是agr_tcodes,用于存储角色与菜单事务码关联信息。
57.③
业务数据和执行操作按钮校校验是根据菜单事务码、业务数据和执行操作按钮代码,校验sap erp中是否存在业务数据中的业务字段和执行操作按钮,包括:
58.根据菜单事务码,从菜单事务码程序对应表中获取程序名称;其中,菜单事务码程序对应表是tstc,用于存储事务码及其对应的程序名称;
59.根据程序名称,从业务程序处理表中获取执行操作按钮代码列表;其中,业务程序处理表是自定义表zproceduredeal,用于存储程序名称及其对应的执行操作按钮代码。
60.识别执行操作按钮代码是否存在于执行操作按钮代码列表中,如果不存在,返回不存在执行操作按钮的异常信息;
61.否则,根据程序名称,从程序界面信息表中获取业务字段列表;根据业务数据中的
连接符拆分业务数据,获取其中的业务字段放入待校验字段数组中;遍历待校验字段数组,依次识别待校验字段是否存在于业务字段列表中,如果有任一个不存在,返回不存在业务字段的异常信息;否则,校验通过。其中,程序界面信息表是自定义表zproceduresele,用于存储程序名称及其对应的业务字段。
62.示例性地,接收到的菜单事务码是su01,业务数据中业务字段是suid_st_bname-bname,执行操作按钮代码是chan,则根据菜单事务码获取到程序名称是sapmsuu0,根据程序名称在业务程序处理表中获取到对应的执行操作按钮代码列表,包括:新建crea、修改chan、删除dele、锁定lock,其中包含接收到的执行操作按钮代码;根据程序名称,在程序界面信息表中获取到业务字段列表,其中包含接收到的业务数据中的业务字段suid_st_bname-bname。
63.本步骤中对传递的参数依次进行用户、菜单、业务数据和执行操作按钮校验,通过前置校验提高数据准确性,避免进入sap erp系统后发现数据错误,影响处理效率。
64.s13:校验通过后,识别参数中的获取模式,如果是cs模式,将待获取数据组装成bat格式字符串,基于activexobject控件调用bat格式字符串,进入sap erp系统进行数据处理;否则,将待获取数据组装成请求参数,调用sap erp系统的web端url,进入sap erp系统进行数据处理。
65.需要说明的是,实现自动打开sap erp的cs模式客户端的前提是本地安装了sap erp客户端程序,实现sap erp的bs模式访问的前提是通过激活sap的its(internet transaction server)服务,发布了sap的web端访问界面。
66.sap erp的cs模式所需的网络通信量低、响应速度快,利于处理大量数据,业务字段自动带入界面并执行相应处理,而且cs模式提供快捷键及历史输入记忆功能,便于实现用户快速使用。sap erp的bs模式的使用无需安装额外的程序,通过浏览器即可进入sap erp系统,实现业务数据的自动处理。
67.具体来说,如果获取模式是cs模式,将待获取数据组装成bat格式字符串,该字符串包括:sap erp执行命令、命令属性和属性值;sap执行命令和命令属性之间以空格间隔;每个命令属性前带有
“‑”
;命令属性与对应的属性值以“=”连接,多个命令属性之间以空格间隔;
68.命令属性包括:界面最大化属性-maxgui、用户名属性-user、密码属性-pw、登录语言属性-language、系统标识属性-system、系统描述属性-sysname、客户端号属性-client、目标系统属性-guiparm和命令行属性-command。其中,目标系统属性的值包括:sap erp系统ip地址和示例编号;命令行属性对应的属性值以“*”开头,依次拼接菜单事务码、空格、业务数据和dynp_okcode=执行操作按钮代码。
69.需要说明的是,命令属性中登录语言属性、系统标识属性、系统描述属性、客户端号属性和目标系统属性与实际的sap erp系统配置有关,根据实际情况可写入预置的配置文件中,组装时读取预置的配置文件,获取对应的属性值。
70.示例性地,bat格式的字符串是:sapshcut-maxgui-user=用户名-pw=密码-language=sap登录语言-guiparm=sap目标系统-system=sap系统标识-sysname=sap系统描述-client=sap client号-command=*菜单事务码业务字段1=业务值1;业务字段2=业务值2;dynp_okcode=执行操作按钮代码。
71.基于activexobject控件调用bat格式字符串,进入sap erp系统,包括:
72.基于activexobject控件创建wscript.shell对象;
73.通过wscript.shell对象的run函数调用bat格式字符串;
74.执行bat格式字符串中的sap erp执行命令;如果执行成功,启动sap erp客户端程序,根据bat格式字符串中的用户名和密码,自动登录进入sap erp系统;否则,提示异常信息。
75.需要说明的是,异常信息是:sap erp客户端未安装配置或浏览器active控件设置不正确。
76.如果获取模式是bs模式,调用sap erp的web端url,将待获取数据组装成请求参数,包括:请求参数名和请求参数值;其中,请求参数名包括:用户名参数sap-user、密码参数sap-password、客户端标识参数sap-client、登录语言参数sap-language、登录主题参数sap-theme和事务执行参数~transaction。其中,事务执行参数对应的请求参数值以“*”开头,依次拼接菜单事务码、空格、业务数据和dynp_okcode=执行操作按钮代码。
77.请求参数可以根据具体的调用方式进行不同的组装,如果是通过http的get方式传递,将请求参数名和对应的请求参数值以“=”连接,多组请求参数以“&”连接后,通过“?”拼接在web端url后面,示例性地,http://sap的地址:端口号/sap/bc/gui/sap/its/webgui?sap-client=sap client号&sap-language=sap登录语言&sap-theme=sap主题&sap-user=用户名&sap-password=密码&~transaction=*菜单事务码业务数据字段1=业务值1;业务数据字段2=业务值2;dynp_okcode=执行操作按钮代码。
78.如果是通过http的post方式传递,示例性地,通过httpclient的httppost方式,可以通过namevaluepair类来设置请求参数名和它所对应的请求参数值,或者将请求参数名和对应的请求参数值组装成json格式。
79.通过cs模式或bs模式,进入sap erp系统进行数据处理的过程包括:
80.sap erp系统根据待获取数据中的用户名和密码登录后,执行待获取数据中的菜单事务码,进入对应的菜单界面中,解析待获取数据中的业务数据,获取多个业务字段和对应的业务值,在菜单界面中与业务字段相同的界面字段中显示对应的业务值,执行待获取数据中的执行操作按钮代码,对业务值进行查询、新增或更新处理,显示出处理后界面。
81.示例性地,sap erp系统接收到的菜单事务码是fs00,进入维护总账科目界面,接收到的业务数据是总账科目和公司代码,执行操作按钮代码是acc_mod,即修改操作,则sap erp根据总账科目和公司代码进行修改操作,显示出对应的科目信息界面。
82.与现有技术相比,本实施例提供的一种sap erp系统数据处理方法,是sap erp接收非sap系统传递的业务数据并自动进行数据处理的方法,支持两种模式直接进入sap erp系统,并匹配菜单事务码进入到对应的菜单界面,接收参数中的业务数据,根据传递的执行操作按钮对接收的业务数据进行处理,实现查询、新增、修改等用户业务应用需求,减少用户点击次数,提高用户操作友好性;对传递的参数依次进行用户、菜单、业务数据和执行操作按钮校验,通过前置校验提高数据准确性,避免进入sap erp系统后发现数据错误,影响处理效率;将传递的参数动态封装成bat格式字符串,避免保存和读取bat文件,提高程序执行效率。
83.本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计
算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
84.以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献