ABAP 借助公司封装的钉钉URL,封装的RFC给钉钉发送消息

FUNCTION ZRFC_BC_SMSSEND_DINGTALK.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(DESTUSRID) TYPE  CHAR255
*"     VALUE(CONTENT) TYPE  CHAR255
*"     VALUE(SRC) TYPE  CHAR50 OPTIONAL
*"  EXPORTING
*"     VALUE(STATUE) TYPE  BAPI_MTYPE
*"     VALUE(MESSTAB) TYPE  BAPI_MSG
*"----------------------------------------------------------------------DATA: LO_HTTP_CLIENT TYPE REF TO IF_HTTP_CLIENT,LV_LEN         TYPE I,LV_SMSURL(200) TYPE C,LV_RESPON      TYPE STRING,LV_SERVICE     TYPE STRING,LV_MSG         TYPE STRING,LV_CONTENT     TYPE STRING,HTTP_CLIENT    TYPE REF TO IF_HTTP_CLIENT, "http客户端LV_SERVER_NAME TYPE ZE_SERVER_NAME,LV_SRC         TYPE STRING,DEST           LIKE RFCDES-RFCDEST,LJSONNODE      TYPE REF TO ZCL_MDP_JSON_NODE,L_SAP_COL_OBJECT TYPE REF TO ZCL_MDP_JSON_NODE,LV_RESULTS     TYPE STRING.DATA: ITAB TYPE TABLE OF STRING.DATA: P_CODE   TYPE I,P_REASON TYPE STRING.SRC = 'SAPS4' && SY-SYSID && SRC.
*https://market.chinajack.com/index.php?receiver=8256&sender=admin&thirdpartyCode=1001&title=尊敬的用户:您好,您的SAP账户(8256)因输错密码多次被锁定,现已经解锁并初始化,密码是(Jk12345678),请妥善保管!&s=/w2/Maintenance/DingTalkSystem/sendMessage/LV_CONTENT = CONTENT.CALL METHOD CL_HTTP_UTILITY=>ESCAPE_URLEXPORTINGUNESCAPED = LV_CONTENTRECEIVINGESCAPED   = LV_CONTENT.LV_SRC = SRC.CALL METHOD CL_HTTP_UTILITY=>ESCAPE_URLEXPORTINGUNESCAPED = LV_SRCRECEIVINGESCAPED   = LV_SRC.SELECT SINGLE VALUE INTO LV_SMSURLFROM /THINKWAY/TBUS0P WHERE PPKEY = 'DINGURL' AND EXCHANGE_SYSTEM = 'SMS'.
*  LV_SMSURL = '公司内部封装过的钉钉URL地址 '.CONCATENATE  'http://' LV_SMSURL '/index.php?receiver=' DESTUSRID '&title='LV_CONTENT '&thirdpartyCode=1001&sender=admin&s=/w2/Maintenance/DingTalkSystem/sendMessage/' INTO LV_SERVICE .CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URLEXPORTINGURL                = LV_SERVICEIMPORTINGCLIENT             = HTTP_CLIENTEXCEPTIONSARGUMENT_NOT_FOUND = 1PLUGIN_NOT_ACTIVE  = 2INTERNAL_ERROR     = 3OTHERS             = 4."设定传输请求内容格式以及编码格式HTTP_CLIENT->REQUEST->SET_CONTENT_TYPE( CONTENT_TYPE = 'application/json; charset=utf-8' )."设置http method 为GetHTTP_CLIENT->REQUEST->SET_METHOD( IF_HTTP_REQUEST=>CO_REQUEST_METHOD_POST ).CALL METHOD HTTP_CLIENT->SENDEXCEPTIONSHTTP_COMMUNICATION_FAILURE = 1HTTP_INVALID_STATE         = 2HTTP_PROCESSING_FAILED     = 3HTTP_INVALID_TIMEOUT       = 4OTHERS                     = 5."接收CALL METHOD HTTP_CLIENT->RECEIVEEXCEPTIONSHTTP_COMMUNICATION_FAILURE = 1HTTP_INVALID_STATE         = 2HTTP_PROCESSING_FAILED     = 3."提取返回字符串LV_RESULTS = HTTP_CLIENT->RESPONSE->GET_CDATA( ).DATA: L_JSON_ROOT_OBJECT TYPE REF TO ZCL_MDP_JSON_NODE.LJSONNODE = ZCL_MDP_JSON_NODE=>DESERIALIZE( JSON = LV_RESULTS ).L_SAP_COL_OBJECT = LJSONNODE->OBJECT_GET_CHILD_NODE( KEY = 'success' ).IF L_SAP_COL_OBJECT->VALUE EQ 1.STATUE = 'S'.ELSE.STATUE = 'E'.ENDIF.ENDFUNCTION.

有了这个,可以减少这种低级损耗

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/843639.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【论文解读】Modular Blind Video Quality Assessment

原文下载地址:Modular Blind Video Quality Assessment 时间:2024 年 级别:arxiv 作者与机构:香港城市大学、香港中文大学(深圳)、字节跳动公司 git地址:https://github.com/winwinwenwen77/ModularBVQA 摘要 论文提出了一种模块化的盲视频质量评估(Blind Video Quali…

企业如何实现数据采集分析展示一体化

在当今数字化时代,企业越来越依赖于数据的力量来驱动决策和创新。通过全量实时采集各类数据,并利用智能化工具进行信息处理,企业能够借助大数据分析平台深入挖掘数据背后的价值,从而为企业发展注入新动力。 一、企业痛点 随着数字…

使用uniapp编写的微信小程序进行分包

简介: 由于小程序发布的时候每个包最多只能放置2MB的东西,所以把所有的代码资源都放置在一个主包当中不显示,所以就需要进行合理分包,,但是分包后整个小程序最终不能超过20MB。 一般情况下,我习惯将tabba…

Java实现图片保存到pdf的某个位置

Java实现图片保存到pdf的某个位置 1、依赖–maven <dependency><groupId>com.itextpdf</groupId><artifactId>itextpdf</artifactId><version>5.5.13</version></dependency>2、上代码 package com.hxlinks.hxiot.controlle…

【OCPP】ocpp1.6协议第3.16章节Metering Data介绍及翻译

目录 3.16. Metering Data计量数据-概述 计量数据的目的 关键功能 消息类型 MeterValues 消息格式 使用场景 计量数据的准确性和可靠性 总结 3.16. Metering Data计量数据-译文 3.16.1. Charging Session Meter Values 3.16.2. Clock-Aligned Meter Values 3.16.3.…

【JavaScript】call、apply、bind的区别和应用

历史小剧场 其实在大多数时间里&#xff0c;除去超人、蝙蝠侠等不可抗力出来维护正义外&#xff0c;邪是经常胜正的。所谓好人、善人、老实人常常被整得凄惨无比&#xff0c;比如于谦、岳飞等&#xff0c;都是死后很多年才翻身平反。 只有岁月的沧桑&#xff0c;才能淘尽一切污…

【Vue】自动导入组件

1. 下载插件 npm install unplugin-vue-components 2. 修改vite.config.js import { fileURLToPath, URL } from node:urlimport { defineConfig } from vite import vue from vitejs/plugin-vue import Components from unplugin-vue-components/vite // 按需加载自定义组件/…

C#中的事件聚合器实现方法

概述&#xff1a;_对象之间的关系_是使代码库难以理解和难以维护的原因。为了更好地理解它&#xff0c;我们求助于马丁福勒&#xff08;Martin Fowler&#xff09;&#xff1a;事件聚合器是间接的简单元素。在最简单的形式中&#xff0c;您可以让它注册到您感兴趣的所有源对象&…

MapStruct与BeanUtils处理对象属性复制场景对比

MapStruct是什么&#xff1f; MapStruct is a code generator that greatly simplifies the implementation of mappings between Java bean types based on a convention over configuration approach. The generated mapping code uses plain method invocations and thus is…

elastich运维

Elastichsearch是一种高度可扩展的开源全文搜索和分析引擎&#xff0c;可以用来实现快速、高效的数据检索。 集群规划与部署&#xff1a;首先需要根据业务需求规划Elastichsearch集群的节点数量和角色&#xff08;如主节点、副本节点、协调节点等&#xff09;。在部署时&#x…

赎金信-力扣

这道题想到的解法是使用一个哈希表来存储magazine里每个字符出现的次数&#xff0c;然后遍历ransomNote&#xff0c;出现对应的字母则哈希表中对应的值减一&#xff0c;当查找不到某个字符&#xff0c;或者某个字符的值小于0时&#xff0c;则返回false。代码如下&#xff1a; …

ORACLE中递归遍历

--查询全部资源信息 select * from urm_class_info --向上遍历树&#xff0c;找到路径直到根节点&#xff0c;指定的是parentid select distinct classid, parentid, namefrom urm_class_infostart with parentid cmdb0000000000000017 connect by prior parentid classid …

配置Spring Security的身份验证

配置Spring Security的身份验证 在我们登录Spring Security之前&#xff0c;我们将向您展示如何配置Spring Security的身份验证。我们将通过创建一些用户来验证并为它们生成身份验证。在这篇文章中&#xff0c;我们将学习Spring Security的流程是配置Spring Security中的身份验…

代码随想录算法训练营第二十一天 | 530.二叉搜索树的最小绝对差、501.二叉搜索树中的众数、236. 二叉树的最近公共祖先

530.二叉搜索树的最小绝对差 题目链接&#xff1a;https://leetcode.cn/problems/minimum-absolute-difference-in-bst/ 文档讲解&#xff1a;https://programmercarl.com/0530.%E4%BA%8C%E5%8F%89%E6%90%9C%E7%B4%A2%E6%A0%91%E7%9A%84%E6%9C%80%E5%B0%8F%E7%BB%9D%E5%AF%B9%E…

VMware Workstation 不可恢复错误:(vmui) 错误代码0xc0000094

软件版本 vmware 17 错误情况 VMware Workstation 不可恢复错误&#xff1a;(vmui) Exception 0xc0000094 has occurred. 问题原因 VMware升级到17.0后&#xff0c;将虚拟机环境的【硬件兼容性】升级至Workstation 17.X后&#xff0c;无法修改设备参数。 解决办法 打开需…

企业营收分析难?搞定收入认领月底不加班!

在当今日益激烈的市场竞争中&#xff0c;企业的营收分析不仅是衡量经营成果的关键指标&#xff0c;更是指导企业未来发展的重要依据。然而&#xff0c;对于许多企业来说&#xff0c;营收分析的过程往往繁琐且耗时&#xff0c;尤其是月底结账时&#xff0c;大量的数据和复杂的计…

【Numpy】NumPy基础入门:创建和管理多维数组

NumPy基础入门&#xff1a;创建和管理多维数组 简介 NumPy&#xff08;Numerical Python的简称&#xff09;是Python语言的一个基础科学计算库&#xff0c;广泛应用于数据分析、机器学习、科学计算和工程领域。NumPy的核心是其强大的N维数组对象ndarray&#xff0c;它为Pytho…

医疗图像处理2023:Transformers in medical imaging: A survey

医学成像中的transformer:综述 目录 一、介绍 贡献与安排 二、CNN和Transformer 1.CNN 2.ViT 三、Transformer应用于各个领域 1.图像分割 1&#xff09;器官特异性 ①2D ②3D 2&#xff09;多器官类别 ①纯transformer ②混合架构 单尺度 多尺度 3&#xff09;…

fyne表单布局

fyne表单布局 layout.FormLayout就像一个 2 列网格布局 。 package mainimport ("image/color""fyne.io/fyne/v2/app""fyne.io/fyne/v2/canvas""fyne.io/fyne/v2/container""fyne.io/fyne/v2/layout" )func main() {myApp…

electron 如何升级版本

electron-updater使用指南 基础 检测是否最新版 autoUpdater.checkForUpdates() 下载最新版 autoUpdater.downloadUpdate() 项目使用 update.js const { ipcMain } require(electron) const { autoUpdater } require(electron-updater) const path require("pa…