PLM QM 审核模块有许多变化,我目前正在努力解决这些变化。
第一个要求:禁用(停用)审核对象的 Result 选项卡中的 Signature 按钮,因此也是签名的先决条件(单击此按钮),以便将审核状态更改为 Complete:
第二个要求是:通过审核创建使审核对象成为强制进入。目前,系统的默认行为只是在没有为审核对象输入任何内容的情况下发出警告,并且可以进一步保存和处理审核:
也许有人以前已经遇到过这些问题。
检查了自定义设置/可能性以及模块的一些编码。
不可能在交付的应用程序中实现(当然应用程序代码本身的修改除外,但它已经远离标准功能,出于可维护性/未来兼容性的原因最好避免)。
但是,可以通过单击签名按钮来一步签署并关闭审核(将状态设置为已完成)。 SAP 注释 2694780
要激活此行为,需要将用户参数PLM_AUDIT_SIGN_COMPL
设置为非空值(即
X
)。第二个要求
在审计对象为空的情况下允许保存审计,在此阶段仅发出警告消息,并且仅在发布审计时发出错误消息。 相关代码:
类:CL_PLM_AUDIT_ASSIGNMENT方法:CHECK_AUDITED_OBJECT
参数:IV_MSGTY 默认值 'W
'
...
" Check is only possible if audit type is known
CHECK NOT me->audit_attributes-audit_type IS INITIAL.
" Set message type (used only for checking whether object is provided;
" non-existing object always results in error message)
lv_msgty = iv_msgty.
IF lv_msgty IS INITIAL.
lv_msgty = cgplc_con_msg_warning.
ENDIF.
...
" check if all object values are given (obligatory field)
" no object defined yet
IF ls_plmm_audit_obj-object_value IS INITIAL.
MESSAGE e025(plm_audit)
WITH lr_audited_object->m_auditobject_text
INTO lv_msgtext.
CALL METHOD cl_cgpl_application_log=>message_add
EXPORTING
im_msgty = lv_msgty
im_msgid = sy-msgid
im_msgno = sy-msgno
im_msgv1 = sy-msgv1.
lv_result = 'E'.
MOVE lv_result TO cv_result.
...
...
cgplc_con_msg_warning TYPE c VALUE 'W',
...
还有一个 BAdI
PLM_AUDIT_OBJECT
(审核对象的标准实现:客户值表)可用,可以在其中更改流程。