SAP电子签名Word文档格式.docx
《SAP电子签名Word文档格式.docx》由会员分享,可在线阅读,更多相关《SAP电子签名Word文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
下面我们以质量管理中检验批的数字签名为例,演示可配置实现的数字签名配置步骤:
一、时间设定。
签名的文档中需要记录签名的时间,本地时间和全球时间。
1.时区设定
这个在SAP安装的时候basis都已经设定好了的。
途径:
spro->
img->
SAPNetWeaver->
常规设置->
时区->
维护时区。
如图1、2所示
图1
图2
2.用户时区分配
Tcode:
SU01。
如图3所示
图3
二、定义签名方法
签名方法,也就是控制在哪个环节需要签名,通过怎样的方法进展签名,SAP内部账号签名还是外部电子签名产品签名。
sap用户化施行指南->
质量管理->
环境->
中央功能->
权限管理->
定义权限组和数字签字。
如图4、5所示。
图4
图5
我们以检查结果记录和使用决策进展数字签名为例,如图6所示:
图6
三、定义受权组
受权组跟签名的方法进展关联,这样只要拥有这个受权组的物料都将需要进展按照指定的签名方法进展签名。
如图7、8所示。
图7
图8
图8中参数的详解:
受权组编号和短文本——自己输入;
赞同检验批——不要求同意;
在结果记录中的数字信号——终于结果记录;
使用决策的数字签名——需要制定使用决策;
确认实际采样图表的数字信号——不需要。
四、维护物料主数据的签名受权组
MM02/MM01。
如图9、10、11所示。
图9
图10
图11,因为这个系统配的业务属于重复制造,所以这里选择13-重复制造
五、结果测试
为了测试数字签名的效果,这里创立了一个检验批号,下面进展检验结果的录入并保存,如图12所示:
图12
从图12中可见,签字原因一栏自动带出来的是我们配置数字签名方法的操作内容,备注一栏自动带出来的是检验批号、工序号,下面还有的就是账号和密码的输入验证。
使用决策并保存,如图13所示:
图13
六、审计追踪
DSAL。
如图14、15所示:
图14
图15,本例中登录账号为LUFY,签名账号为DQTEST。
第二局部:
SAP电子签名的原理
SAP的电子签名使用的函数为:
SIGN_CREATE、SIGN_SAVE。
数据的保存都只IN
UPDATE
TASK,需要最后commit。
接口中存在第一局部中提到的七种业务参数,其中一个公共参数就是签名对象,也就是签名方法中的签名对象类型〔如图16〕,是用于决定哪些业务过程需要签名,它保存于数据域SIG_OBJ中,这个在执行过程中时需要验证的。
图16
确认数字校验的时候,系统再去判断根本对象是否拥有数字签名的受权。
例如QM中的检验批号,系统会校验物料主数据是否拥有受权的权限。
最后验证通过之后,系统将验证过程信息保存于各个模块对应的数字签名表头〔QM是TC73〕和共同数据表TC71中,以供审计追踪。
所以,总结起来说,SAP数字签名的逻辑就是根据操作模块业务去判断操作的业务对象是否拥有数字签名的受权,然后再判断确认的用户密码是否正确,验证通过之后系统产生数字签名的凭证抬头和明细并保存于数据库中。
第三局部:
增强数字签名
从第二局部分析的逻辑来看,SAP的数字签名其实很简单,我们完全可以定制化的在SAP任意地方进展数字签名增强。
只要可以清楚在哪个环节需要数字签名〔哪里需要就在哪里增强〕,哪种根本对象需要签名〔例如在物料主数据中添加一个字段/多个字段用于标记物料的数字签名需求〕,我们就可以二次开发增强施行。
按照根本的验证逻辑,验证相关联的对象是否拥有受权,调用SAP标准账号验证函数〔主程序:
SAPLCJ00屏幕1100PAI中的MODULE
PASSWORD_CHECK_1000〕验证用户名和密码,通过之后,将数据保存于TC71中〔可通过tcode:
DSAL追踪〕,或者自建表〔报表需自己开发〕。
数字签名的编码对象为SIGNATURE〔tcode:
snro〕。
编号读取函数:
CALL
FUNCTION
'
NUMBER_GET_NEXT'
EXPORTING
object
=
c_numberrange-object
nr_range_nr
c_numberrange-interval
IMPORTING
number
l_sign_no
returncode
l_get_number_rc
EXCEPTIONS
interval_not_found
1
number_range_not_intern
2
object_not_found
3
quantity_is_0
4
quantity_is_not_1
5
interval_overflow
6
OTHERS
7.
以下为QMlot数字签名的开发测试代码:
REPORT
ZDS_TEST.
parameters:
p_obj
type
sig_obj,
p_qplos
qplos.
data:
cs_rc73
rc73,
l_sign_reason_ktxt
rc71-reason_ktxt.
cs_rc73-sign_obj
p_obj.
cs_rc73-numb_cur
01'
.
cs_rc73-numb_tot
cs_rc73-prueflos
p_qplos.
决策TEST'
call
function
SIGN_CREATE'
exporting
object_imp
cs_rc73-sign_obj
key_lot_imp
cs_rc73
signer_imp
sy-uname
*
FLG_COMMENT_REQ_IMP
flg_signer_changeable_imp
0'
"
if_ex_digital_signature_ud~mc_kreuz
sign_reason_ktxt
l_sign_reason_ktxt
exceptions
cancelled_by_user
pse_info_not_found
password_wrong_3_times
no_authority
others
if
sy-subrc
ne
0.
ge
2.
message
id
sy-msgid
I'
sy-msgno
with
sy-msgv1
sy-msgv2
sy-msgv3
sy-msgv4.
endif.
*--
Transaction
has
to
be
called
again
...!
leave.
leave
transaction
sy-tcode.
else.
Authority
check
was
successful
->
for
update
!
SIGN_SAVE'
cs_rc73.
commit
WORK
AND
WAIT.