码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SAP 灵活工作流邮件通知


             1. 配置邮件通知模板

    2. 逻辑分析

    3. 增强示例

            设置发件人

            邮件主题及内容增强

            附加邮件发送增强(非标准模板邮件发送)

            收件人增强

            其它增强可根据需求自行判断

    4. 附加

            邮件模版传输

            邮件模版可用变量

            邮件模版表

            收件人邮箱为SAP账号邮箱,语言为用户默认语言


    1. 配置邮件通知模板

            Fiori应用维护电子邮件模板(Maintain Email Templates)

            以PO为例,参考链接

    SAP Help Portalhttps://help.sap.com/docs/SAP_S4HANA_ON-PREMISE/af9ef57f504840d2b81be8667206d485/40c92fe9016a4e6dba80316f01377eef.html?locale=en-US

            参照官方说明配置邮件模版(模版内可维护各语言对应的主题及内容,以及一些可用的流程数据变量,但是如果通知中需要显示业务端数据,则需要结合增强使用)

            参考配置:

                    预定义待办通知模版SWF_CRT_NOTIFY_RECIPIENTS

                    ZZ1_00800238_CRT_19 采购订单待办通知

                    预定义审批流完成模版SWF_WORKFLOW_COMPLETE_NOTIFY

                    ZZ1_00800238_COMPLETE_NEGATIVE 采购订单审批拒绝通知申请人

                    ZZ1_00800238_COMPLETE_POSITIVE 采购订单审批通过通知申请人

                    预定义截止日期通知模版MMPUR_PO_WFL_DEADLINE_EMAIL

                    ZZ1_MMPUR_PO_WFL_DEADLINE_EMAIL 采购订单审批催办审批人

    2. 逻辑分析

            程序RSWF_OUTPUT_MANAGEMENT定时执行,读取表SWW_WIREGISTER数据来触发邮件发送。

            CL_SWF_RUN_OM_SERVICE  工作流:通过输出管理的邮件服务

                    方法REGISTER 将发送邮件通知的场景保存到表SWW_WIREGISTER中,在灵活工作流控制类的方法IF_SWF_FLEX_IFS_RUN_APPL_STEP~AFTER_COMPLETION_CALLBACK(工作流项目完成后回调方法) 中调用。

                    方法SEND_MAIL_WITH_JOB根据表SWW_WIREGISTER中条目发送邮件,也是选择增强处理的位置。

            类中常量标识了邮件发送的场景,可以用作邮件发送的判断。

    3. 增强示例

            设置发件人

            CL_SWF_RUN_OM_MAIL->SEND_INTERNAL 开头or结尾

            邮件主题及内容增强

            CL_SMTG_EMAIL_RENDERER->APPLY 结尾

            {{TaskLeadingObjectInstance}} 邮件内容中预定义变量--工作流实例ID,即流程关联业务单据主键,在邮件模版中使用可替换变量如&&LIFNR&&,此处取得对应数据后替换。

            示例代码:

    1. DATA: lv_name TYPE name2.
    2. FIELD-symbols <fs_value> TYPE ANY.
    3. IF <ls_data> IS ASSIGNED.
    4. ASSIGN COMPONENT 'TaskLeadingObjectInstance' OF STRUCTURE <ls_data> TO <fs_value>.
    5. IF sy-subrc = 0.
    6. " custom logic
    7. REPLACE ALL OCCURRENCES OF &&LIFNR&& IN ev_subject WITH lv_name.
    8. ENDIF.
    9. ENDIF.

            其它邮件发送增强(非标准模板邮件发送)

            CL_SWF_RUN_OM_SERVICE->SEND_MAIL 开头or结尾

            参数:

                    iv_template_id 邮件Template ID 用来判断标准邮件触发时的应用类型和场景。

                    iv_use_case 用户场景 用来判断标准邮件触发时的场景。

                    iv_wi_id 流程实例ID,可用来获取流程数据和流程关联的业务数据

                    流程ID关联单据ID

    1. SELECT SINGLE instid
    2. FROM sww_wi2obj
    3. INTO @DATA(lv_instid)
    4. WHERE wi_id = @iv_wi_id
    5. AND catid = 'XX'
    6. AND typeid = 'XXXXXXXX'.

            收件人增强

            CL_SWF_RUN_OM_MAIL->DETERMINE_SMTP_ADDRESS 结尾

            如下语句可获取流程id,判断逻辑,对收件人进行调整

    DATA(lv_id) = get_workitem_id( it_data_key ).

            其它增强可根据需求自行判断

    4. 附加

            邮件模版传输

            标准方案是在注册扩展传输app中操作传输;

            邮件模版不可传输是由于维护的邮件模板存储在本地包 Package TEST_YY_KEY_USER_LOCAL中,如果需要传输则更改到可传输包(更改到可传输包后不可编辑,更改回本地包可编辑)

            邮件模版可用变量

            邮件模版表

    SMTG_TMPL_HDR

    电子邮件模板标题

    SMTG_TMPL_HDR_T

    电子邮件模板名称和说明

            收件人邮箱为SAP账号邮箱,语言为用户默认语言

    https://blog.csdn.net/xiefireworks/article/details/125568694

    https://blog.csdn.net/xiefireworks/article/details/125568694

     

  • 相关阅读:
    2022年大一网页期末作业(纯html+css实现)
    Linux时间子系统2: clock_gettime的VDSO机制分析
    GPT家族
    94. Promise 的基本用法?
    pyCharm导入pyspark中的sparkconf和sparkcontext错误
    SQL 运算符
    利用在Tomcat上部署servlet程序(手动布置加强关于servlet知识的理解,当前的idea是可以实现自动部署的)
    直流有刷电机开环调速基于STM32F302R8+X-NUCLEO-IHM07M1(一)
    基于腾讯地图实现精准定位,实现微信小程序考勤打卡功能
    hutool工具
  • 原文地址:https://blog.csdn.net/xiefireworks/article/details/125568694
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号