带EXCEL附件邮件发送相关代码
1.查看生成的邮件


2.1 非面向对象的方式(demo直接copy即可)
REPORT Z12.
DATA: IT_DOCUMENT_DATA TYPE SODOCCHGI1,IT_CONTENT_TEXT TYPE STANDARD TABLE OF SOLISTI1 WITH HEADER LINE,IT_PACKING_LIST TYPE TABLE OF SOPCKLSTI1 WITH HEADER LINE,IT_RECEIVERS TYPE STANDARD TABLE OF SOMLRECI1 WITH HEADER LINE,LC_MAIL_ATTACH TYPE STRING,LT_CONTENT_HEX TYPE STANDARD TABLE OF SOLIX WITH HEADER LINE,LT_OBJECT_HEADER TYPE STANDARD TABLE OF SOLISTI1 WITH HEADER LINE,LC_MAIL_XATTACH TYPE XSTRING,LV_SEND_ALL TYPE C,IT_MAKT LIKE TABLE OF MAKT WITH HEADER LINE,FIR_DATE TYPE SY-DATUM,MIMETYPE TYPE CHAR64.
DATA: IT_ITAB TYPE TABLE OF ITAB WITH HEADER LINE,WA_ITAB TYPE ITAB.CONSTANTS:LC_TAB TYPE C VALUE CL_BCS_CONVERT=>GC_TAB, "excel换格符LC_CTRL TYPE C VALUE CL_BCS_CONVERT=>GC_CRLF. "excel换行符PERFORM SEND_EMAIL.*&---------------------------------------------------------------------*
*& Form SEND_EMAIL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM SEND_EMAIL.DATA SY_VLINE TYPE I.DATA:MBLNR TYPE STRING, "物料凭证MATNR TYPE STRING, "物料MJAHR TYPE STRING, "年度MAKTX TYPE STRING. "物料描述****邮件标题信息IT_DOCUMENT_DATA-OBJ_DESCR = '邮件主题1' . "内容的简短描述IT_DOCUMENT_DATA-PRIORITY = '1'. "优先次序 1~9 1:最高优先权IT_DOCUMENT_DATA-OBJ_NAME = 'OFFER'.IT_DOCUMENT_DATA-OBJ_LANGU = SY-LANGU.*****邮件正文信息IT_CONTENT_TEXT = '各位好:'.APPEND IT_CONTENT_TEXT.IT_CONTENT_TEXT = ' 此邮件为测试邮件!!!!!!!'.APPEND IT_CONTENT_TEXT.DESCRIBE TABLE IT_CONTENT_TEXT LINES SY_VLINE.IT_DOCUMENT_DATA-DOC_SIZE = 255 * ( SY_VLINE - 1 ) + STRLEN( IT_CONTENT_TEXT ). "SAPoffice 文档的大小(用于 API1)IT_PACKING_LIST-TRANSF_BIN = SPACE.IT_PACKING_LIST-HEAD_START = 1 .IT_PACKING_LIST-HEAD_NUM = 0 .IT_PACKING_LIST-BODY_START = 1. "控制从第几行开始读IT_PACKING_LIST-BODY_NUM = SY_VLINE."控制读到第几行IT_PACKING_LIST-DOC_TYPE = 'RAW'.APPEND IT_PACKING_LIST.***收件人信息IT_RECEIVERS-RECEIVER = 'MEIQIAN.LIANG@HAND-CHINA.COM'. "收件人地址IT_RECEIVERS-REC_TYPE = 'U'.IT_RECEIVERS-COM_TYPE = 'INT'.IT_RECEIVERS-NOTIF_DEL = 'X'.IT_RECEIVERS-NOTIF_NDEL = 'X'.APPEND IT_RECEIVERS.CONCATENATE '物料' LC_TAB'物料凭证' LC_TAB'物料描述' LC_TAB'年度' LC_CTRL INTO LC_MAIL_ATTACH. "lc_ctrl换行符CLEAR:MBLNR, MATNR, MJAHR, MAKTX.MBLNR = '7777777'.MATNR = '7777777'.MJAHR = '7777'.MAKTX = 'seven'."物料类型CONCATENATE LC_MAIL_ATTACHMATNR LC_TABMBLNR LC_TABMJAHR LC_TABMAKTX LC_CTRL INTO LC_MAIL_ATTACH. "lc_ctrl换行符CLEAR:MBLNR, MATNR, MJAHR, MAKTX.MBLNR = '8888888'.MATNR = '8888888'.MJAHR = '8888'.MAKTX = 'seven'."物料类型CONCATENATE LC_MAIL_ATTACHMATNR LC_TABMBLNR LC_TABMJAHR LC_TABMAKTX LC_CTRL INTO LC_MAIL_ATTACH. "lc_ctrl换行符MIMETYPE = 'APPLICATION/MSEXCEL;CHARSET=UTF-16LE'.CALL FUNCTION 'SCMS_STRING_TO_XSTRING'EXPORTINGTEXT = LC_MAIL_ATTACHMIMETYPE = MIMETYPEIMPORTINGBUFFER = LC_MAIL_XATTACHEXCEPTIONSFAILED = 1OTHERS = 2.IF SY-SUBRC = 0.CONCATENATE CL_ABAP_CHAR_UTILITIES=>BYTE_ORDER_MARK_LITTLE LC_MAIL_XATTACH INTO LC_MAIL_XATTACH IN BYTE MODE.ENDIF.CALL FUNCTION 'SCMS_XSTRING_TO_BINARY' "将Xtring转化成二进制格式并保存到内表中EXPORTINGBUFFER = LC_MAIL_XATTACHTABLESBINARY_TAB = LT_CONTENT_HEX."不知道干啥用的LT_OBJECT_HEADER = 'Seven test'.APPEND LT_OBJECT_HEADER.DESCRIBE TABLE LT_CONTENT_HEX LINES SY_VLINE.IT_PACKING_LIST-TRANSF_BIN = 'X'.IT_PACKING_LIST-HEAD_START = 1 .IT_PACKING_LIST-HEAD_NUM = 0 .IT_PACKING_LIST-BODY_START = 1.IT_PACKING_LIST-BODY_NUM = SY_VLINE.IT_PACKING_LIST-DOC_TYPE = 'XLS'.IT_PACKING_LIST-DOC_SIZE = 255 * SY_VLINE.IT_PACKING_LIST-OBJ_NAME = '附件名'.IT_PACKING_LIST-OBJ_DESCR = IT_PACKING_LIST-OBJ_NAME."文档名字APPEND IT_PACKING_LIST."方法1 无法指定发送人邮箱CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'EXPORTINGDOCUMENT_DATA = IT_DOCUMENT_DATAPUT_IN_OUTBOX = 'X'COMMIT_WORK = 'X'IMPORTINGSENT_TO_ALL = LV_SEND_ALL
* NEW_OBJECT_ID =TABLESPACKING_LIST = IT_PACKING_LIST[]OBJECT_HEADER = LT_OBJECT_HEADER[]
* contents_bin =CONTENTS_TXT = IT_CONTENT_TEXT[]CONTENTS_HEX = LT_CONTENT_HEX[]
* object_para =
* object_parb =RECEIVERS = IT_RECEIVERS[]EXCEPTIONSTOO_MANY_RECEIVERS = 1DOCUMENT_NOT_SENT = 2DOCUMENT_TYPE_NOT_EXIST = 3OPERATION_NO_AUTHORIZATION = 4PARAMETER_ERROR = 5X_ERROR = 6ENQUEUE_ERROR = 7OTHERS = 8.* "方法2 可以指定发送人邮箱
* CALL FUNCTION 'SO_DOCUMENT_SEND_API1'
* EXPORTING
* DOCUMENT_DATA = IT_DOCUMENT_DATA
* PUT_IN_OUTBOX = 'X'
* SENDER_ADDRESS = 'MEIQIAN.LIANG@HAND-CHINA.COM'
* SENDER_ADDRESS_TYPE = 'INT'
* COMMIT_WORK = 'X'
** IP_ENCRYPT =
** IP_SIGN =
** IV_VSI_PROFILE =
* IMPORTING
* SENT_TO_ALL = LV_SEND_ALL
** NEW_OBJECT_ID =
** SENDER_ID =
* TABLES
* PACKING_LIST = IT_PACKING_LIST[]
* OBJECT_HEADER = LT_OBJECT_HEADER[]
** CONTENTS_BIN =
* CONTENTS_TXT = IT_CONTENT_TEXT[]
* CONTENTS_HEX = LT_CONTENT_HEX[]
** OBJECT_PARA =
** OBJECT_PARB =
* RECEIVERS = IT_RECEIVERS[]
** ET_VSI_ERROR =
* EXCEPTIONS
* TOO_MANY_RECEIVERS = 1
* DOCUMENT_NOT_SENT = 2
* DOCUMENT_TYPE_NOT_EXIST = 3
* OPERATION_NO_AUTHORIZATION = 4
* PARAMETER_ERROR = 5
* X_ERROR = 6
* ENQUEUE_ERROR = 7
* OTHERS = 8.
* IF SY-SUBRC <> 0.
** Implement suitable error handling here
* ELSE.
* BREAK-POINT.
* ENDIF.ENDFORM. "SEND_EMAIL
非面向对象运行效果图:



如果要抄送则增加以下属性:

2.2面向对象的方法
REPORT Z1234.TABLES:MSEG,SSCRFIELDS,MARA,ZOWMS_DAYSTOCK_R,ADR6.
TYPE-POOLS:ICON,SLIS.TYPES: BEGIN OF TYS_DETAIL,TOTAL(100),SEL(1),STATUS(4),ITEM_STATUS(4),CYMENG TYPE MSEG-MENGE, "差异数量XCHAR TYPE MARC-XCHAR, "批次管理标识MAKTX TYPE MAKT-MAKTX,LGOBE TYPE T001L-LGOBE,MEINS TYPE MARA-MEINS,LABST TYPE MARD-LABST. "SAP库存INCLUDE STRUCTURE ZOWMS_DAYSTOCK_R.
TYPES: END OF TYS_DETAIL.
DATA: GT_DETAIL TYPE STANDARD TABLE OF TYS_DETAIL,GT_DETAIL_TMP TYPE TABLE OF TYS_DETAIL,GT_DETAIL_KEY TYPE TABLE OF TYS_DETAIL.DATA FUNCTXT TYPE SMP_DYNTXT.DATA: I_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE.*ALV定义
DATA: GT_FIELDCAT TYPE LVC_T_FCAT,GV_CODE LIKE SY-UCOMM,GW_LAYOUT TYPE LVC_S_LAYO,I_CELLCLR TYPE LVC_S_SCOL. "单元格颜色
TYPES: BEGIN OF SLIS_EXTAB,FCODE LIKE RSMPE-FUNC,END OF SLIS_EXTAB.
TYPES: SLIS_T_EXTAB TYPE SLIS_EXTAB OCCURS 1.
DATA:LS_CELLTAB TYPE LVC_S_STYL.
DATA LS_STABLE TYPE LVC_S_STBL.
DATA:GS_FIELDCAT TYPE LVC_S_FCAT.
DATA:GT_HEADER TYPE TABLE OF CHAR30,GV_CHAR30 TYPE CHAR30.
*子ALV调用
DATA:LT_FIELDCAT TYPE LVC_T_FCAT,LS_FCAT TYPE LVC_S_FCAT,LS_SELFIELD TYPE SLIS_SELFIELD.SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-T02.
SELECT-OPTIONS: S_RECEP FOR ADR6-SMTP_ADDR NO INTERVALSMODIF ID MAL,"收件人S_SCR FOR ADR6-SMTP_ADDR NO INTERVALS "抄送人MODIF ID MAL.
SELECTION-SCREEN END OF BLOCK BLK2 .END-OF-SELECTION.PERFORM FRM_SEND_MAIL.FORM FRM_SEND_MAIL .DATA: BCS_EXCEPTION TYPE REF TO CX_BCS,ERRORTEXT TYPE STRING,LCL_SEND_REQUEST TYPE REF TO CL_BCS,LCL_DOCUMENT TYPE REF TO CL_DOCUMENT_BCS,LCL_RECIPIENT TYPE REF TO IF_RECIPIENT_BCS,LCL_SENDER TYPE REF TO CL_CAM_ADDRESS_BCS,T_ATTACHMENT_HEADER TYPE SOLI_TAB,WA_ATTACHMENT_HEADER LIKE LINE OF T_ATTACHMENT_HEADER,ATTACHMENT_SUBJECT TYPE SOOD-OBJDES,SOOD_BYTECOUNT TYPE SOOD-OBJLEN,MAIL_TITLE TYPE SO_OBJ_DES,T_MAILTEXT TYPE SOLI_TAB,WA_MAILTEXT LIKE LINE OF T_MAILTEXT,SEND_TO TYPE ADR6-SMTP_ADDR,SENT TYPE OS_BOOLEAN,LV_MAILNAME TYPE SOOD-OBJDES,BINARY_CONTENT TYPE SOLIX_TAB.DATA:LV_SMTP_ADDR TYPE ADR6-SMTP_ADDR." Set mail subjectMAIL_TITLE = '菜鸟&SAP库存比对邮件推送'.LV_MAILNAME = '菜鸟&SAP库存比对报表'." Set mail contextDATA(LV_STRING) = |您好,附件是菜鸟&SAP库存比对报表,请查阅,谢谢|.WA_MAILTEXT = LV_STRING.APPEND WA_MAILTEXT TO T_MAILTEXT.CONCATENATE '事务码为:ZM390 程序为:ZMM390。' 'Job时间:' SY-DATUM '' SY-UZEIT INTO WA_MAILTEXT.APPEND WA_MAILTEXT TO T_MAILTEXT.TRY.
* Create send requestLCL_SEND_REQUEST = CL_BCS=>CREATE_PERSISTENT( ).
* Create new document with mailtitle and mailtextgLCL_DOCUMENT = CL_DOCUMENT_BCS=>CREATE_DOCUMENT( I_TYPE = 'RAW' "#EC NOTEXTI_TEXT = T_MAILTEXTI_LANGUAGE = SY-LANGUI_SUBJECT = MAIL_TITLE ).* add document to send requestLCL_SEND_REQUEST->SET_DOCUMENT( LCL_DOCUMENT ).*收件人LOOP AT S_RECEP.LV_SMTP_ADDR = S_RECEP-LOW.LCL_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( LV_SMTP_ADDR ).LCL_SEND_REQUEST->ADD_RECIPIENT( LCL_RECIPIENT ).ENDLOOP.* 抄送人LOOP AT S_SCR.LV_SMTP_ADDR = S_SCR-LOW.LCL_RECIPIENT = CL_CAM_ADDRESS_BCS=>CREATE_INTERNET_ADDRESS( LV_SMTP_ADDR ).LCL_SEND_REQUEST->ADD_RECIPIENT(I_RECIPIENT = LCL_RECIPIENTI_EXPRESS = 'X'I_COPY = 'X'I_BLIND_COPY = ' 'I_NO_FORWARD = ' ' ).ENDLOOP.
* 添加抄送人*lcl_document->CLEAR LV_STRING.PERFORM FRM_SET_DOCUMENT_BODY CHANGING BINARY_CONTENT.LCL_DOCUMENT->ADD_ATTACHMENT(I_ATTACHMENT_TYPE = 'XLS' " 附件格式I_ATTACHMENT_SUBJECT = LV_MAILNAME " 附件名称
* i_attachment_size = size "附件大小I_ATTACHMENT_LANGUAGE = SY-LANGU
* I_ATTACHMENT_HEADER =I_ATT_CONTENT_HEX = BINARY_CONTENT). "附件内容LCL_SEND_REQUEST->SET_DOCUMENT( LCL_DOCUMENT ).SENT = LCL_SEND_REQUEST->SEND( I_WITH_ERROR_SCREEN = 'X' ).CATCH CX_BCS INTO BCS_EXCEPTION.ERRORTEXT = BCS_EXCEPTION->IF_MESSAGE~GET_TEXT( ).MESSAGE ERRORTEXT TYPE 'S' DISPLAY LIKE 'E'.ENDTRY.COMMIT WORK.ENDFORM.
*&---------------------------------------------------------------------*
*& Form FRM_SET_DOCUMENT_BODY
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* <--P_BINARY_CONTENT text
*----------------------------------------------------------------------*
FORM FRM_SET_DOCUMENT_BODY CHANGING PT_BODY TYPE SOLIX_TAB.TYPES: BEGIN OF TY_DATA,WERKS TYPE ZOWMS_DAYSTOCK_R-WERKS, "工厂MATNR TYPE ZOWMS_DAYSTOCK_R-MATNR, "物料MAKTX TYPE MAKT-MAKTX, "物料描述LGORT TYPE ZOWMS_DAYSTOCK_R-LGORT, "库存地点LGOBE TYPE T001L-LGOBE, "库存地点描述CHARG TYPE ZOWMS_DAYSTOCK_R-CHARG, "批次LABST TYPE MARD-LABST, "SAP库存数量OMENGE TYPE ZOWMS_DAYSTOCK_R-OMENGE, "未结库存WMENGE TYPE ZOWMS_DAYSTOCK_R-WMENGE, "OFS未传明细TMENGE TYPE ZOWMS_DAYSTOCK_R-TMENGE, "SAP库存数量(含未结)SMENGE TYPE ZOWMS_DAYSTOCK_R-SMENGE, "WMS库存数量CYMENG TYPE MSEG-MENGE. "差异数量TYPES: END OF TY_DATA.DATA:LV_STRING TYPE STRING,LC_MIMETYPE TYPE CHAR64 VALUE 'APPLICATION/MSEXCEL;charset=utf-16le',LV_XATTACH TYPE XSTRING,LV_VALUE TYPE STRING,LV_FLAG TYPE C.DATA:LT_MAIL TYPE TABLE OF TY_DATA,LS_MAIL TYPE TY_DATA.CLEAR:GT_HEADER.APPEND '工厂' TO GT_HEADER.APPEND '物料' TO GT_HEADER.APPEND '物料描述' TO GT_HEADER.APPEND '库存地点' TO GT_HEADER.APPEND '库存地点描述' TO GT_HEADER.APPEND 'SAP库存数量' TO GT_HEADER.APPEND '未结库存' TO GT_HEADER.APPEND 'OFS未传SAP数量' TO GT_HEADER.APPEND 'SAP库存数量(含未结未传)' TO GT_HEADER.APPEND 'WMS库存数量' TO GT_HEADER.APPEND '差异' TO GT_HEADER.LOOP AT GT_HEADER INTO GV_CHAR30.CONDENSE GV_CHAR30.LV_STRING = |{ LV_STRING }{ GV_CHAR30 }{ CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB }|.ENDLOOP.LV_STRING = LV_STRING && CL_ABAP_CHAR_UTILITIES=>CR_LF."发送有差异的邮件数据MOVE-CORRESPONDING GT_DETAIL[] TO LT_MAIL[].DELETE LT_MAIL[] WHERE CYMENG EQ '0.000'."判断是否发送批次字段的数据DATA(LV_LINES1) = LINES( GT_HEADER ).IF LV_LINES1 = '11'.LV_FLAG = 'X'.ENDIF.DATA(LV_LINES) = LINES( GT_FIELDCAT ).LOOP AT LT_MAIL ASSIGNING FIELD-SYMBOL(<FS_STURC>).DO LV_LINES TIMES.IF SY-INDEX = 6 AND LV_FLAG = 'X'.CONTINUE.ENDIF.ASSIGN COMPONENT SY-INDEX OF STRUCTURE <FS_STURC> TO FIELD-SYMBOL(<FS_VALUE>).IF SY-SUBRC = 0.LV_VALUE = <FS_VALUE>.CONDENSE LV_VALUE.DATA(LV_LEN) = STRLEN( LV_VALUE ) - 1.IF LV_LEN > 0.IF LV_VALUE+LV_LEN = '-'.LV_VALUE = '-' && LV_VALUE(LV_LEN).CONDENSE LV_VALUE NO-GAPS.CLEAR LV_LEN.ENDIF.ENDIF.ELSE.LV_VALUE = ''.ENDIF.IF LV_LINES <> SY-INDEX.LV_STRING = |{ LV_STRING }{ LV_VALUE }{ CL_ABAP_CHAR_UTILITIES=>HORIZONTAL_TAB }|.ELSE.LV_STRING = |{ LV_STRING }{ LV_VALUE }{ CL_ABAP_CHAR_UTILITIES=>CR_LF }|.ENDIF.ENDDO.ENDLOOP.CALL FUNCTION 'SCMS_STRING_TO_XSTRING'EXPORTINGTEXT = LV_STRINGMIMETYPE = LC_MIMETYPEIMPORTINGBUFFER = LV_XATTACHEXCEPTIONSFAILED = 1OTHERS = 2.
* Add the file header for utf-16le. .IF SY-SUBRC = 0.CONCATENATE CL_ABAP_CHAR_UTILITIES=>BYTE_ORDER_MARK_LITTLELV_XATTACH INTO LV_XATTACH IN BYTE MODE.ENDIF.CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'EXPORTINGBUFFER = LV_XATTACHTABLESBINARY_TAB = PT_BODY.
ENDFORM.
面向对象效果如下:




相关文章:
带EXCEL附件邮件发送相关代码
1.查看生成的邮件 2.1 非面向对象的方式(demo直接copy即可) REPORT Z12. DATA: IT_DOCUMENT_DATA TYPE SODOCCHGI1,IT_CONTENT_TEXT TYPE STANDARD TABLE OF SOLISTI1 WITH HEADER LINE,IT_PACKING_LIST TYPE TABLE OF SOPCKLSTI1 WITH HEADER LIN…...
【算法作业】均分卡牌,购买股票
问题描述 John 有两个孩子,在 John病逝后,留下了一组价值不一定相同的魔卡, 现在要求你设计一种策略,帮John的经管人将John的这些遗产分给他的两个孩子,使得他们获得的遗产差异最小(每张魔卡不能分拆&#…...
python作业
题目 分析 步骤: 判断先画空格还是数字 当有n层时,第i层有多少个空格第i层的起始数字是几,结尾是几,即数字取值范围当有n层时,第i层有多少个数字 代码 模式A n int(input("请输入行数:")) for i in range(…...
【Linux的文件篇章 - 管道文件】
Linux学习笔记---013 Linux的管道文件1、进程间通信1.1、进程为什么要通信?1.2、进程如何通信?1.3、进程通信的方式? 2、匿名管道2.1、理解一种现象2.2、基本概念和管道原理 3、管道的使用3.1、代码样例3.2、如何使用管道通信呢?3…...
C# 局部静态函数,封闭方法中的最佳选择
C# 局部静态函数,封闭方法中的最佳选择 简介特性 应用场景辅助计算递归与尾递归优化筛选与过滤操作查找与映射操作 生命周期静态局部函数 vs 普通局部函数性能封装性可读性 简介 C# 局部静态函数(Local Static Functions)是一种函数作用域内…...
【MySQL】MySQL 8.4.0 长期支持版(LTS)安装
就在2024年 “5.1” 节前,MySQL官方发布了8.4.0长期支持版(LTS - Long Term Support)。根据官方提供的文档,在本地虚拟机进行安装测试。 安装、配置和启动过程记录如下: 第一步,上传到安装包(my…...
nest中的ORM
在 Nest.js 中执行 SQL 查询通常涉及使用 TypeORM 或 Sequelize 这样的 ORM(对象-关系映射)库。这些库使得在 Nest.js 应用程序中连接和操作 SQL 数据库变得更加简单和直观。 以下是一个使用 TypeORM 在 Nest.js 中执行 SQL 查询的示例代码:…...
TCP(Transmission Control Protocol,传输控制协议)如何保证数据的完整性?
TCP(Transmission Control Protocol,传输控制协议)通过一系列机制来保证数据传输的可靠性和无错性,这些机制主要包括: 校验和:TCP报文段包含一个校验和字段,用于检测数据在传输过程中是否出错。…...
Numpy库介绍
NumPy(Numerical Python的缩写)是Python中用于科学计算的一个强大的库。它提供了高性能的多维数组对象(即ndarray)、用于处理这些数组的工具以及用于数学函数操作的函数。让我为你介绍一下它的一些主要功能: 1. 多维数…...
临时有事无法及时签字盖章?试试用契约锁设置“代理人”
遇到“领导休假中、在开重要会议、外出考察或者主任医生手术中等”一段时间内不方便或者无法及时签字盖章的情况怎么办?业务推进不了只能干等? 契约锁电子签及印控平台支持印章、签名“临时授权”、“代理签署”,实现指定人、指定时间段、指定…...
数据库权限管理
1.查看系统级权限(global level) Select * from mysql.user\G; 2.查看数据库中所有表的权限 Select * from mysql.db\G 3.远程连接数据库 第一步在有数据库服务上的主机上:授权 grant all on *.* to root192.168.40.83 identified by Zxy20234; 第…...
如何创建一个 Django 应用并连接到数据库
简介 Django 是一个用 Python 编写的免费开源的 Web 框架。这个工具支持可扩展性、可重用性和快速开发。 在本教程中,您将学习如何为一个博客网站建立与 MySQL 数据库的初始基础。这将涉及使用 django-admin 创建博客 Web 应用程序的骨架结构,创建 MyS…...
【算法刷题day44】Leetcode:518. 零钱兑换 II、377. 组合总和 Ⅳ
文章目录 Leetcode 518. 零钱兑换 II解题思路代码总结 Leetcode 377. 组合总和 Ⅳ解题思路代码总结 草稿图网站 java的Deque Leetcode 518. 零钱兑换 II 题目:518. 零钱兑换 II 解析:代码随想录解析 解题思路 先遍历物品,再遍历背包。 代码…...
『51单片机』AT24C02[IIC总线]
存储器的介绍 ⒈ROM的功能⇢ROM的数据在程序运行的时候是不容改变的,除非你再次烧写程序,他就会改变,就像我们的书本,印上去就改不了了,除非再次印刷,这个就是ROM的原理。 注→在后面发展的ROM是可以可写可…...
Jenkins与Rancher的配合使用
Jenkins和Rancher是两个常用的DevOps工具,可以很好地配合使用来实现持续集成和持续部署。 Jenkins是一个开源的自动化构建工具,可以实现自动化的代码构建、测试和部署等一系列操作。可以通过Jenkins来触发构建任务,例如从代码仓库中拉取最新的…...
GIS入门,常用的多边形平滑曲线算法介绍和JavaScript的多边形平滑曲线算法库chaikin-smooth的实现原理和使用
前言 本章介绍一下常用的多边形平滑曲线算法及其使用案例。 多边形平滑算法通常用于图形处理或计算机图形学中,以使线条或曲线在连接处平滑过渡,而不出现明显的棱角或断裂。多边形平滑算法有多种实现方法,其中一些常见的有下面几种: 贝塞尔曲线插值(Bezier Curve Interpo…...
气膜体育馆内部的采光效果如何?—轻空间
气膜体育馆内部的采光效果如何?这是许多人对这种创新建筑的一个关键关注点。 首先,气膜体育馆的采光性非常好。阳光透过屋顶时以漫射光的方式进入室内,这种透射方式使得室内的光线柔和而均匀。从内部观察,整个屋顶就像一个连续的明…...
矩阵的对称正定性判决(复习)
文章目录 本科学的数学知识忘的太快了 如何判断一个实矩阵是否是对称正定 在线性代数中,一个实对称矩阵是否为正定可以通过以下方法判断: 对称性: 首先,确认矩阵是否对称,即矩阵的转置是否等于其本身。 特征值检查&…...
网络安全之DHCP详解
DHCP:Dynamic Host Configration Protocol 动态主机配置协议 某一协议的数据是基于UDP封装的,当它想确保自己的可靠性时,这个协议要么选确认重传机制,要么选周期性传输。 DHCP是确认重传,【UDP|DHCP】,当DHCP分配完地…...
【Proteus】LED呼吸灯 直流电机调速
1.LED呼吸灯 #include <REGX51.H> sbit LEDP2^0; void delay(unsigned int t) {while(t--); } void main() {unsigned char time,i;while(1){for(time0;time<100;time){for(i0;i<20;i){LED0;delay(time);LED1;delay(100-time);}}for(time100;time>0;time--){fo…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
C# 类和继承(抽象类)
抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
C++.OpenGL (14/64)多光源(Multiple Lights)
多光源(Multiple Lights) 多光源渲染技术概览 #mermaid-svg-3L5e5gGn76TNh7Lq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-3L5e5gGn76TNh7Lq .error-icon{fill:#552222;}#mermaid-svg-3L5e5gGn76TNh7Lq .erro…...
NPOI操作EXCEL文件 ——CAD C# 二次开发
缺点:dll.版本容易加载错误。CAD加载插件时,没有加载所有类库。插件运行过程中用到某个类库,会从CAD的安装目录找,找不到就报错了。 【方案2】让CAD在加载过程中把类库加载到内存 【方案3】是发现缺少了哪个库,就用插件程序加载进…...
pgsql:还原数据库后出现重复序列导致“more than one owned sequence found“报错问题的解决
问题: pgsql数据库通过备份数据库文件进行还原时,如果表中有自增序列,还原后可能会出现重复的序列,此时若向表中插入新行时会出现“more than one owned sequence found”的报错提示。 点击菜单“其它”-》“序列”,…...
高端性能封装正在突破性能壁垒,其芯片集成技术助力人工智能革命。
2024 年,高端封装市场规模为 80 亿美元,预计到 2030 年将超过 280 亿美元,2024-2030 年复合年增长率为 23%。 细分到各个终端市场,最大的高端性能封装市场是“电信和基础设施”,2024 年该市场创造了超过 67% 的收入。…...
高抗扰度汽车光耦合器的特性
晶台光电推出的125℃光耦合器系列产品(包括KL357NU、KL3H7U和KL817U),专为高温环境下的汽车应用设计,具备以下核心优势和技术特点: 一、技术特性分析 高温稳定性 采用先进的LED技术和优化的IC设计,确保在…...
Redis上篇--知识点总结
Redis上篇–解析 本文大部分知识整理自网上,在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库,Redis 的键值对中的 key 就是字符串对象,而 val…...
