目录
1启用WorkFlow功能系统配置
1.1创建系统帐号SAP_WFRT
TCODE:SU01 - 用户维护
1.2 配置RFC目标
TCODE:SWU3 - 自动工作流定制
生成的RFC连接查看
TCODE:SM59 - RFC 目标(显示/编辑)
1.3维护前缀编号
TCODE:SWU3 - 自动工作流定制
2采购预制发票审核功能及界面
2.1创建函数组
TCODE:SE80
ZCHEN_INVOICE - 采购预制发票审核功能及界面
2.2创建发票审核函数
2.3结构及源代码
结构
源代码
3创建业务对象
TCODE:SWO1 - 业务对象制作程序
3.1创建对象类型
3.2创建事件
3.3创建方法
方法INVOICE_REVIEW增加参数
方法INVOICE_REVIEW程序代码修改
把自动生成的代码按下列源代码进行修改。
BEGIN_METHOD INVOICE_REVIEW CHANGING CONTAINER.
DATA:
IV_GJAHR TYPE RBKP-GJAHR,
IV_BELNR TYPE RBKP-BELNR,
INVOICE_REVIEW TYPE ZCHEN_INVOICE_001A-ZRESULT.
SWC_GET_ELEMENT CONTAINER 'IV_GJAHR' IV_GJAHR.
SWC_GET_ELEMENT CONTAINER 'IV_BELNR' IV_BELNR.
CALL FUNCTION 'ZCHEN_INVOICE_001'
EXPORTING
IV_BELNR = IV_BELNR
IV_GJAHR = IV_GJAHR
IMPORTING
EV_ZRESULT = INVOICE_REVIEW
EXCEPTIONS
OTHERS = 01.
CASE SY-SUBRC.
WHEN 0. " OK
WHEN OTHERS. " to be implemented
ENDCASE.
IF INVOICE_REVIEW = 'N'.
EXIT_CANCELLED.
ELSE.
SWC_SET_ELEMENT CONTAINER RESULT INVOICE_REVIEW.
ENDIF.
END_METHOD.
3.4创建关键字段
3.5生成/释放对象类型
生成对象类型
释放对象类型
4创建工作流
TCODE:SWDD - 工作流构建器
4.1创建审批作业节点
创建作业节点
创建作业节点中调用的任务
点击返回按钮
任务生成结果如下
点定节点负责人
点击返回按钮
结果把【未处理】取消激活,然后点确认识按钮
4.2创建审批通过邮件通知节点
4.3创建审批拒绝邮件通知节点
4.4保存生成工作流
4.5创建工作流开始事件
4.6创建工作流触发程序
SE38:ZCHEN_START_WORKFLOW_001 -采购预制发票过账审批工作流发起
源代码:
*&---------------------------------------------------------------------*
*& Report ZCHEN_START_WORKFLOW_001
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT ZCHEN_START_WORKFLOW_001.
TYPES: BEGIN OF TYP_KEY,
BELNR TYPE RBKP-BELNR,
GJAHR TYPE RBKP-GJAHR,
END OF TYP_KEY.
DATA: WA_KEY TYPE TYP_KEY.
PARAMETERS: P_BELNR TYPE RBKP-BELNR OBLIGATORY,
P_GJAHR TYPE RBKP-GJAHR OBLIGATORY.
START-OF-SELECTION.
PERFORM FRM_START_WORKFLOW.
*&---------------------------------------------------------------------*
*& Form FRM_START_WORKFLOW
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM FRM_START_WORKFLOW .
DATA: GV_KEY TYPE SWEINSTCOU-OBJKEY.
DATA: GV_EVENT_ID TYPE SWEDUMEVID-EVTID.
DATA: GV_RECEIVER_COUNT TYPE SWE_EVTID.
DATA: WA_EVENT_CONTAINER TYPE SWCONT,
IT_EVENT_CONTAINER LIKE STANDARD TABLE OF WA_EVENT_CONTAINER.
WA_KEY-BELNR = P_BELNR.
WA_KEY-GJAHR = P_GJAHR.
GV_KEY = WA_KEY. "关键字段
CALL FUNCTION 'SWE_EVENT_CREATE'
EXPORTING
OBJTYPE = 'ZCHEN_BO01'
OBJKEY = GV_KEY
EVENT = 'START_WORKFLOW'
* CREATOR = ' '
* TAKE_WORKITEM_REQUESTER = ' '
* START_WITH_DELAY = ' '
* START_RECFB_SYNCHRON = ' '
* NO_COMMIT_FOR_QUEUE = ' '
* DEBUG_FLAG = ' '
* NO_LOGGING = ' '
* IDENT =
IMPORTING
EVENT_ID = GV_EVENT_ID
RECEIVER_COUNT = GV_RECEIVER_COUNT
TABLES
EVENT_CONTAINER = IT_EVENT_CONTAINER
EXCEPTIONS
OBJTYPE_NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE.
MESSAGE S001(00) WITH '事件生成功,事件号:' GV_EVENT_ID.
COMMIT WORK.
ENDIF.
ENDFORM.
5系统功能测试过程
5.1程序发起工作流
SE38:ZCHEN_START_WORKFLOW_001
帐号:IT815
事件生成功,事件号:3868DD1B5B981EDDBFC47170BD0F8904
TCODE:SBWP - SAP 业务工作台
本人发起工作流项目中存在刚才发起的工作流信息
5.2审批节点操作
帐号:CHENSP
TCODE:SBWP - SAP 业务工作台
待处理项目消失
已处理项目中显示刚才处理的项目
5.3审批结果邮件推送查看
帐号:IT815
TCODE:SBWP - SAP 业务工作台
工作流流转过程