资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
SAP电子签名第一部分:SAP电子签名的介绍与使用电子签名目的就是为了保证关键的操作动作,如产品特性的数据录入,文档的变更,工程变更等等,这些需要特定权限的人才能做的事情或者说需要确保这些行为是某些人所为,可以追溯更改历程的。SAP本身有设定账号的权限,但是这并不能保证某些特定的行为就一定是某个特定人所为,比如,A员工登陆他的SAP账号,但是他离开了PC或者离开后没有退出登录,而此时有其他的B员工登录该PC进行文档更改,他可以直接使用A的账号进行处理,那么系统最后记录的是A账号的处理记录,就不能正确反馈真正做这件事的当事人。如果在这些操作完成的时候要求进行账号验证,那就能比较好的避免他人“盗用”账号做事情的行为(当然,密码被泄露了那就没办法)。可见,电子签名处理问题的思路很简单:在操作完成或者需要操作的时候进行用户验证。SAP的电子签名采用的是数字签名方法。要实现整个流程的信息一致性,SAP要关联到主数据,处理过程和业务对象。也就是说什么东西在什么业务下的哪个环节需要数字签名。SAP在R/3 4.7版本之后开始兼容数字签名的功能,包括质量管理中的检验批次、物料批次特性、文档变更、工程变更、对象管理记录、抽样和流程制造单。目前SAP支持的数字签名有三种实现办法:系统已开发好的数字签名块,可以通过配置实现;通过SSF接口跟外围第三方电子签名产品进行连接配合使用;通过增强在SAP二次开发实现。其中可配置的数字签名采用的是SAP账号的验证,但不要求签名账号必须跟登录账号一致。那么对于企业当中多人共用同一个登录账号的数字验证,我们可以采用以下方案:每个人在SAP创建唯一的通讯账号(通讯账号不能作为会话登陆,只能做为通讯使用,不收费),需要验证的时候,每个操作人员使用自己的验证账号(通讯账号)进行数字验证,然后屏蔽掉公共登录账号的验证功能。对于账号不多的企业,可以直接采用登录账号进行验证。SAP对数字签名的整个过程都做了详细的文档记载,以便于实现审计追踪。文档记载的内容包括签名的时间、签名者、签名的内容。下面我们以质量管理中检验批的数字签名为例,演示可配置实现的数字签名配置步骤:一、时间设定。签名的文档中需要记录签名的时间,本地时间和全球时间。1. 时区设定这个在SAP安装的时候basis都已经设定好了的。路径:spro-img-SAP NetWeaver-常规设置-时区-维护时区。如图1、2所示图1图22. 用户时区分配Tcode:SU01。如图3所示图32、 定义签名方法签名方法,也就是控制在哪个环节需要签名,通过怎样的方法进行签名,SAP内部账号签名还是外部电子签名产品签名。路径:spro-img-sap用户化实施指南-质量管理-环境-中央功能-权限管理-定义权限组和数字签字。如图4、5所示。图4图5我们以检查结果记录和使用决策进行数字签名为例,如图6所示:图6三、定义授权组授权组跟签名的方法进行关联,这样只要拥有这个授权组的物料都将需要进行按照指定的签名方法进行签名。路径:spro-img-sap用户化实施指南-质量管理-环境-中央功能-权限管理-定义权限组和数字签字。如图7、8所示。图7图8图8中参数的详解:授权组编号和短文本自己输入;赞同检验批不要求同意;在结果记录中的数字信号终于结果记录;使用决策的数字签名需要制定使用决策;确认实际采样图表的数字信号不需要。4、 维护物料主数据的签名授权组Tcode:MM02/MM01。如图9、10、11所示。图9图10图11,因为这个系统配的业务属于重复制造,所以这里选择13-重复制造五、结果测试为了测试数字签名的效果,这里创建了一个检验批号,下面进行检验结果的录入并保存,如图12所示:图12从图12中可见,签字原因一栏自动带出来的是我们配置数字签名方法的操作内容,备注一栏自动带出来的是检验批号、工序号,下面还有的就是账号和密码的输入验证。使用决策并保存,如图13所示:图136、 审计追踪Tcode:DSAL。如图14、15所示:图14图15,本例中登录账号为LUFY,签名账号为DQTEST。第二部分:SAP电子签名的原理SAP的电子签名使用的函数为:SIGN_CREATE、SIGN_SAVE。数据的保存都只INUPDATETASK,需要最后commit。接口中存在第一部分中提到的七种业务参数,其中一个公共参数就是签名对象,也就是签名方法中的签名对象类型(如图16),是用于决定哪些业务过程需要签名,它保存于数据域SIG_OBJ中,这个在执行过程中时需要验证的。图16确认数字校验的时候,系统再去判断基本对象是否拥有数字签名的授权。例如QM中的检验批号,系统会校验物料主数据是否拥有授权的权限。最后验证通过之后,系统将验证过程信息保存于各个模块对应的数字签名表头(QM是TC73)和共同数据表TC71中,以供审计追踪。所以,总结起来说,SAP数字签名的逻辑就是根据操作模块业务去判断操作的业务对象是否拥有数字签名的授权,然后再判断确认的用户密码是否正确,验证通过之后系统产生数字签名的凭证抬头和明细并保存于数据库中。第三部分:增强数字签名从第二部分分析的逻辑来看,SAP的数字签名其实很简单,我们完全可以定制化的在SAP任意地方进行数字签名增强。只要能够清楚在哪个环节需要数字签名(哪里需要就在哪里增强),哪种基本对象需要签名(例如在物料主数据中添加一个字段/多个字段用于标记物料的数字签名需求),我们就可以二次开发增强实施。按照基本的验证逻辑,验证相关联的对象是否拥有授权,调用SAP标准账号验证函数(主程序:SAPLCJ00 屏幕1100 PAI中的MODULEPASSWORD_CHECK_1000)验证用户名和密码,通过之后,将数据保存于TC71中(可通过tcode:DSAL追踪),或者自建表(报表需自己开发)。数字签名的编码对象为SIGNATURE(tcode:snro)。编号读取函数:CALLFUNCTIONNUMBER_GET_NEXTEXPORTINGobject=c_numberrange-objectnr_range_nr=c_numberrange-intervalIMPORTINGnumber=l_sign_noreturncode=l_get_number_rcEXCEPTIONSinterval_not_found=1number_range_not_intern=2object_not_found=3quantity_is_0=4quantity_is_not_1=5interval_overflow=6OTHERS=7.以下为QM lot数字签名的开发测试代码:REPORTZDS_TEST.parameters:p_objtypesig_obj,p_qplostypeqplos.data:cs_rc73typerc73,l_sign_reason_ktxttyperc71-reason_ktxt.cs_rc73-sign_obj=p_obj.cs_rc73-numb_cur=01.cs_rc73-numb_tot=01.cs_rc73-prueflos=p_qplos.l_sign_reason_ktxt=决策TEST.callfunctionSIGN_CREATEexportingobject_imp=cs_rc73-sign_objkey_lot_imp=cs_rc73signer_imp=sy-uname*FLG_COMMENT_REQ_IMP=flg_signer_changeable_imp=0if_ex_digital_signature_udmc_kreuzsign_reason_ktxt=l_sign_reason_ktxtexceptionscancelled_by_user=2pse_info_not_found=4password_wrong_3_times=5no_authority=6others=7.ifsy-subrcne0.ifsy-subrcge2.messageidsy-msgidtypeInumbersy-msgnowithsy-msgv1sy-msgv2sy-msgv3sy-msgv4.endif.*-Transactionhastobecalledagain.!leave.leavetotransactionsy-tcode.else.*-Authoritycheckwassuccessful-callforupdate!callfunctionSIGN_SAVEexportingobject_imp=cs_rc73-sign_objkey_lot_imp=cs_rc73.commitWORKANDWAIT.endif.
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号