当前位置: 首页 > news >正文

SAP PP bom历史导出 ALV 及XLSX 带ECN号

bom总数 104W PS超过XLSX上限 ,那就分文件

*&---------------------------------------------------------------------*
*& Report ZRPT_PP_BOM_HIS_ECN
*&---------------------------------------------------------------------*
*& tcode:zpp023
*& 读取历史
*&---------------------------------------------------------------------*
REPORT ZRPT_PP_BOM_HIS_ECN.TABLES:MAST,MARA,STPO,STAS.SELECTION-SCREEN BEGIN OF BLOCK 001 WITH FRAME TITLE TEXT-001.SELECT-OPTIONS S_MATNR FOR MAST-MATNR.          "物料代码SELECT-OPTIONS S_WERKS FOR MAST-WERKS.          "工厂SELECT-OPTIONS S_MTART FOR MARA-MTART.          "物料类型SELECT-OPTIONS S_MATKL FOR MARA-MATKL.          "物料组SELECT-OPTIONS S_STLAN FOR MAST-STLAN.SELECT-OPTIONS S_STLAL FOR MAST-STLAL.PARAMETERS:PDATEV TYPE CSAP_MBOM-DATUV DEFAULT SY-DATUM.PARAMETERS:PDATEB TYPE CSAP_MBOM-DATUB DEFAULT SY-DATUM.PARAMETERS:RBALV RADIOBUTTON GROUP G1 DEFAULT 'X' USER-COMMAND U1,RBCSV RADIOBUTTON GROUP G1.PARAMETERS:PSHMSG AS CHECKBOX DEFAULT 'X'.PARAMETERS:PCNT TYPE I DEFAULT 1000000."Excel 100W上线PARAMETERS:POUTPATH TYPE RLGRAP-FILENAME.
SELECTION-SCREEN END OF BLOCK 001.DATA: LV_FULL_PATH      TYPE STRING,LV_WORKDIR        TYPE STRING,LV_FILE_SEPARATOR TYPE C.DATA: GT_FIELDCAT TYPE LVC_T_FCAT,GS_FIELDCAT TYPE LVC_S_FCAT,GS_LAYOUT   TYPE LVC_S_LAYO.DATA: LO_EXCEL                  TYPE REF TO ZCL_EXCEL,LO_EXCEL_WRITER           TYPE REF TO ZIF_EXCEL_WRITER,LO_WORKSHEET              TYPE REF TO ZCL_EXCEL_WORKSHEET,LO_STYLE_BOLD_BORDER      TYPE REF TO ZCL_EXCEL_STYLE,LV_STYLE_BOLD_BORDER_GUID TYPE ZEXCEL_CELL_STYLE,LO_BORDER_DARK            TYPE REF TO ZCL_EXCEL_STYLE_BORDER.DATA: LV_FILE      TYPE XSTRING,LV_BYTECOUNT TYPE I,LT_FILE_TAB  TYPE SOLIX_TAB.DATA:BEGIN OF GT_TAB OCCURS 0,STLNR LIKE MAST-STLNR, "物料清单WERKS LIKE MAST-WERKS, "MATNR LIKE MAST-MATNR,IDNRK LIKE STPO-IDNRK,POSNR LIKE STPO-POSNR,SORTF LIKE STPO-SORTF, "排序字符串STLTY LIKE STPO-STLTY, " 物料清单类别MENGE LIKE STPO-MENGE,MEINS LIKE STPO-MEINS,POSTP LIKE STPO-POSTP, "项目类别DATUV LIKE STPO_API02-VALID_FROM, "有效起始日期STVKN LIKE STPO-STVKN, "BOM 项目节点号DATAB LIKE STPO_API02-VALID_FROM,AENNR LIKE STPO-AENNR,ECNTO LIKE STPO-AENNR,LKENZ LIKE STPO-LKENZ,ITMID LIKE STPO-ITMID, "项目IDEND OF GT_TAB.AT SELECTION-SCREEN ON VALUE-REQUEST FOR POUTPATH.LV_WORKDIR = POUTPATH.CL_GUI_FRONTEND_SERVICES=>DIRECTORY_BROWSE( EXPORTING INITIAL_FOLDER  = LV_WORKDIRCHANGING  SELECTED_FOLDER = LV_WORKDIR ).POUTPATH = LV_WORKDIR.INITIALIZATION.CL_GUI_FRONTEND_SERVICES=>GET_DESKTOP_DIRECTORY( CHANGING DESKTOP_DIRECTORY = LV_WORKDIR ).
*  CL_GUI_FRONTEND_SERVICES=>GET_SAPGUI_WORKDIR( CHANGING SAPWORKDIR = LV_WORKDIR ).CL_GUI_CFW=>FLUSH( ).POUTPATH = LV_WORKDIR.START-OF-SELECTION.DATA:BEGIN OF GT_MAST OCCURS 0,MATNR LIKE MAST-MATNR,WERKS LIKE MAST-WERKS,STLAN LIKE MAST-STLAN,STLAL LIKE MAST-STLAL,END OF GT_MAST.SELECT MAST~MATNR MAST~WERKS MAST~STLAN MAST~STLAL INTO TABLE GT_MASTFROM MAST JOIN MARA ON MARA~MATNR = MAST~MATNRWHERE MAST~MATNR IN S_MATNRAND MAST~WERKS IN S_WERKSAND MAST~STLAN IN S_STLANAND MAST~STLAL IN S_STLAL.DATA:GT_STPO LIKE TABLE OF STPO_API02 WITH HEADER LINE.DATA:LL_TABIX(10),"循环标号LL_LINES(10),"行数LL_PECNT     TYPE P LENGTH 6 DECIMALS 2, "百分比LL_PECET(6),"百分数LL_TEXT(40)."消息DATA:LVSTR(50) TYPE C.DESCRIBE TABLE GT_MAST LINES LL_LINES.LOOP AT GT_MAST.IF PSHMSG = 'X'.LL_TABIX = SY-TABIX."当前处理的行号LL_PECNT = LL_TABIX / LL_LINES * 100."已处理百分比LL_PECET = LL_PECNT."拼接显示消息CONCATENATE 'BOM展开已完成' LL_PECET '%,共' LL_TABIX '条/' LL_LINES '条' INTO LL_TEXT.CONDENSE LL_TEXT."整理格式,去掉多余空格,格式更整齐CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "调用进度条函数,传入百分比和消息EXPORTINGPERCENTAGE = LL_PECNTTEXT       = LL_TEXT.ENDIF.CLEAR GT_STPO[].CALL FUNCTION 'CSAP_MAT_BOM_READ'EXPORTINGMATERIAL    = GT_MAST-MATNRPLANT       = GT_MAST-WERKSBOM_USAGE   = GT_MAST-STLANALTERNATIVE = GT_MAST-STLALVALID_FROM  = PDATEVVALID_TO    = PDATEBTABLEST_STPO      = GT_STPO.LOOP AT GT_STPO.GT_TAB-STLNR = GT_STPO-BOM_NO. "物料清单GT_TAB-WERKS = GT_MAST-WERKS.", "GT_TAB-MATNR = GT_MAST-MATNR.GT_TAB-IDNRK = GT_STPO-COMPONENT.GT_TAB-POSNR = GT_STPO-ITEM_NO.GT_TAB-SORTF = GT_STPO-SORTSTRING. "排序字符串GT_TAB-STLTY =  GT_STPO-COMP_QTY." 物料清单类别LVSTR = GT_STPO-COMP_QTY.PERFORM RV_MARK_OF_THOUSANDTH(ZABAP_COMMON_PROGRAM) USING LVSTR CHANGING LVSTR.GT_TAB-MENGE = LVSTR.GT_TAB-MEINS = GT_STPO-COMP_UNIT.GT_TAB-POSTP = GT_STPO-ITEM_CATEG. "项目类别GT_TAB-DATUV = GT_STPO-VALID_FROM. "有效起始日期GT_TAB-STVKN = GT_STPO-ITEM_NODE . "BOM 项目节点号GT_TAB-DATAB = GT_STPO-VALID_TO.GT_TAB-AENNR = GT_STPO-CHANGE_NO.GT_TAB-ECNTO = GT_STPO-CHG_NO_TO.GT_TAB-LKENZ = GT_STPO-CHG_NO_TO.GT_TAB-ITMID = GT_STPO-ITM_IDENT."项目IDAPPEND GT_TAB.ENDLOOP.ENDLOOP.IF RBALV =  'X'.PERFORM  DISPLAY_DATA.ELSE. "XLSDATA:FILENAME TYPE STRING.DATA:PROW TYPE I.DATA: LS_LINES(10),"行数LS_TABIX(10),"循环标号LS_PECNT     TYPE P LENGTH 6 DECIMALS 2, "百分比LS_PECET(6),"百分数LS_TEXT(40)."消息CREATE OBJECT LO_BORDER_DARK.LO_BORDER_DARK->BORDER_COLOR-RGB = ZCL_EXCEL_STYLE_COLOR=>C_BLACK.LO_BORDER_DARK->BORDER_STYLE = ZCL_EXCEL_STYLE_BORDER=>C_BORDER_THIN.DATA:CNT       TYPE I,NCNT      TYPE I,XLSROW    TYPE I,SHTIDX    TYPE I,SHTNM(31) TYPE C.DESCRIBE TABLE GT_TAB LINES NCNT.LL_LINES = NCNT.LOOP AT GT_TAB.PROW = SY-TABIX .IF PSHMSG = 'X'.LL_TABIX = SY-TABIX."当前处理的行号LL_PECNT = LL_TABIX / LL_LINES * 100."已处理百分比LL_PECET = LL_PECNT."拼接显示消息CONCATENATE 'BOM展开已完成' LL_PECET '%,共' LL_TABIX '条/' LL_LINES '条' INTO LL_TEXT.CONDENSE LL_TEXT."整理格式,去掉多余空格,格式更整齐CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR' "调用进度条函数,传入百分比和消息EXPORTINGPERCENTAGE = LL_PECNTTEXT       = LL_TEXT.ENDIF.IF PROW = 1  OR ( PROW MOD PCNT ) = 1.CREATE OBJECT LO_EXCEL.CREATE OBJECT LO_EXCEL_WRITER TYPE ZCL_EXCEL_WRITER_2007.SHTNM = 'SHEET1'.LO_WORKSHEET = LO_EXCEL->GET_ACTIVE_WORKSHEET( ).LO_WORKSHEET->SET_TITLE( SHTNM ).*  抬头剧中LO_STYLE_BOLD_BORDER = LO_EXCEL->ADD_NEW_STYLE( ).LO_STYLE_BOLD_BORDER->FONT->BOLD = ABAP_TRUE.LO_STYLE_BOLD_BORDER->FONT->ITALIC = ABAP_FALSE.LO_STYLE_BOLD_BORDER->FONT->COLOR-RGB = ZCL_EXCEL_STYLE_COLOR=>C_BLACK.LO_STYLE_BOLD_BORDER->ALIGNMENT->HORIZONTAL = ZCL_EXCEL_STYLE_ALIGNMENT=>C_HORIZONTAL_CENTER.LO_STYLE_BOLD_BORDER->BORDERS->ALLBORDERS = LO_BORDER_DARK.LV_STYLE_BOLD_BORDER_GUID = LO_STYLE_BOLD_BORDER->GET_GUID( ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'A' IP_VALUE = 'BOM清单'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'B' IP_VALUE = '工厂'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'C' IP_VALUE = '物料'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'D' IP_VALUE = '组件'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'E' IP_VALUE = '排序字符串'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'F' IP_VALUE = '物料清单类别'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'G' IP_VALUE = '数量'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'H' IP_VALUE = '单位'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'I' IP_VALUE = '项目类别'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'J' IP_VALUE = '有效起始日期'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'K' IP_VALUE = '项目节点号'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'L' IP_VALUE = '有效截止日期'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'M' IP_VALUE = '变更号自'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'N' IP_VALUE = '变更号至'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'O' IP_VALUE = '删除标记'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'P' IP_VALUE = '外部项目ID'  ).LO_WORKSHEET->SET_CELL( IP_ROW = 1 IP_COLUMN = 'Q' IP_VALUE = '项目号'  ).ENDIF.XLSROW = PROW MOD PCNT  + 1.IF XLSROW = 1.XLSROW = PCNT + 1.ENDIF.LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'A' IP_VALUE = GT_TAB-STLNR  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'B' IP_VALUE = GT_TAB-WERKS  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'C' IP_VALUE = GT_TAB-MATNR  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'D' IP_VALUE = GT_TAB-IDNRK  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'E' IP_VALUE = GT_TAB-SORTF  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'F' IP_VALUE = GT_TAB-STLTY  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'G' IP_VALUE = GT_TAB-MENGE  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'H' IP_VALUE = GT_TAB-MEINS  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'I' IP_VALUE = GT_TAB-POSTP  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'J' IP_VALUE = GT_TAB-DATUV  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'K' IP_VALUE = GT_TAB-STVKN  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'L' IP_VALUE = GT_TAB-DATAB  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'M' IP_VALUE = GT_TAB-AENNR  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'N' IP_VALUE = GT_TAB-ECNTO  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'O' IP_VALUE = GT_TAB-LKENZ  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'P' IP_VALUE = GT_TAB-ITMID  ).LO_WORKSHEET->SET_CELL( IP_ROW = XLSROW IP_COLUMN = 'Q' IP_VALUE = GT_TAB-POSNR  ).IF  XLSROW = PCNT + 1 OR PROW >= NCNT.LV_FILE = LO_EXCEL_WRITER->WRITE_FILE( LO_EXCEL )." Convert to binaryCALL FUNCTION 'SCMS_XSTRING_TO_BINARY'EXPORTINGBUFFER        = LV_FILEIMPORTINGOUTPUT_LENGTH = LV_BYTECOUNTTABLESBINARY_TAB    = LT_FILE_TAB.SHTIDX = CEIL( PROW / PCNT ) + 1.FILENAME = SY-TCODE && '/' && SHTIDX && '.xlsx'.IF POUTPATH IS INITIAL.POUTPATH = LV_WORKDIR.ENDIF.CL_GUI_FRONTEND_SERVICES=>GET_FILE_SEPARATOR( CHANGING FILE_SEPARATOR = LV_FILE_SEPARATOR ).CONCATENATE POUTPATH LV_FILE_SEPARATOR FILENAME INTO LV_FULL_PATH." Save the fileCL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD( EXPORTING BIN_FILESIZE = LV_BYTECOUNTFILENAME     = LV_FULL_PATHFILETYPE     = 'BIN'CHANGING  DATA_TAB     = LT_FILE_TAB ).CLEAR:LV_BYTECOUNT,LO_WORKSHEET.WRITE:/ '已经写入文件' && LV_FULL_PATH && '的' && SHTNM.ENDIF.ENDLOOP.ENDIF.FORM DISPLAY_DATA.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'STLNR' '' '' 'STPO' 'STLNR' '' '' 'BOM清单' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'WERKS' '' '' 'MARC' 'WERKS' '' '' '工厂' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'MATNR' '' '' 'MARC' 'MATNR' '' '' '物料' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'POSNR' '' '' 'STPO' 'POSNR' '' '' '项目号' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'IDNRK' '' '' 'STPO' 'IDNRK' '' '' '组件' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'SORTF' '' '' 'STPO' 'SORTF' '' '' '排序字符串' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'STLTY' '' '' 'STPO' 'STLTY' '' '' '物料清单类别' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'MENGE' '' '' 'STPO' 'MENGE' '' '' '数量' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'MEINS' '' '' 'STPO' 'MEINS' '' '' '单位' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'POSTP' '' '' 'STPO' 'POSTP' '' '' '项目类别' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'DATUV' '' '' 'STPO' 'DATUV' '' '' '有效起始日期' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'STVKN' '' '' 'STPO' 'STVKN' '' '' '项目节点号' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'DATAB' '' '' 'STPO' 'DATAB' '' '' '有效截止日期' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'AENNR' '' '' 'STPO' 'AENNR' '' '' '变更号自' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'ECNTO' '' '' 'STPO' 'ECNTO' '' '' '变更号至' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'LKENZ' '' '' 'STPO' 'LKENZ' '' '' '删除标记' 'X' 'X' CHANGING GT_FIELDCAT.PERFORM BUILD_FIELDCAT(ZRPT_MM_AQKC) USING 'ITMID' '' '' 'STPO' 'ITMID' '' '' '外部项目ID' 'X' 'X' CHANGING GT_FIELDCAT.GS_LAYOUT-CWIDTH_OPT = 'X'.GS_LAYOUT-ZEBRA = 'X'.CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'EXPORTINGI_CALLBACK_PROGRAM      = SY-REPID
"     I_CALLBACK_PF_STATUS_SET = 'PF_STATUS_ALV'I_CALLBACK_USER_COMMAND = 'USER_COMMAND_ALV'IT_FIELDCAT_LVC         = GT_FIELDCATIS_LAYOUT_LVC           = GS_LAYOUTI_DEFAULT               = 'X'I_SAVE                  = 'A'TABLEST_OUTTAB                = GT_TABEXCEPTIONSOTHERS                  = 1.
ENDFORM.

分文件导出

利用SAP标准BAPI  CSAP_MAT_BOM_READ

写于20241229  浙江台州  

相关文章:

SAP PP bom历史导出 ALV 及XLSX 带ECN号

bom总数 104W PS超过XLSX上限 ,那就分文件 *&---------------------------------------------------------------------* *& Report ZRPT_PP_BOM_HIS_ECN *&---------------------------------------------------------------------* *& tcode:zpp0…...

使用WebRTC进行视频通信

一、WebRTC技术简介 什么是WebRTC? 是一种支持浏览器之间实时音频、视频和数据传输的开放源代码项目。它允许开发者在不需要任何第三方插件或软件的情况下实现点对点的实时通信。WebRTC已经成为现代Web应用中的关键技术,为开发者提供了强大的工具和API…...

npm ERR! ECONNRESET 解决方法

问题:npm 命令遇到的错误是 ECONNRESET,这通常与网络连接问题相关。设置代理解决问题。 一、查看当前代理设置 npm config get proxy npm config get https-proxy二、设置代理 npm config set proxy http://your-proxy-address:port npm config set h…...

【连续学习之SS-IL算法】2021年CPVR会议论文Ss-il:Separated softmax for incremental learning

1 介绍 年份:2021 期刊: 2021CPVR Ahn H, Kwak J, Lim S, et al. Ss-il: Separated softmax for incremental learning[C]//Proceedings of the IEEE/CVF International conference on computer vision. 2021: 844-853. 本文提出的SS-IL&#xff08…...

Go+chromedp实现Web UI自动化测试

1.为什么使用go进行UI自动化测试? 速度:Go速度很快,这在运行包含数百个UI测试的测试套件时是一个巨大的优势 并发性:可以利用Go的内置并发性(goroutines)来并行化测试执行 简单:Go的简约语法允许您编写可读且可维护…...

【MySQL 高级特性与性能优化】

MySQL 高级特性与性能优化 一、MySQL 存储引擎 (一)InnoDB 存储引擎 1. 特点 支持事务:InnoDB 是 MySQL 中提供完整 ACID 事务支持的存储引擎,这意味着它能够保证数据库操作在复杂的并发环境下的一致性、隔离性、原子性和持久…...

Spring Boot教程之三十九: 使用 Maven 将 Spring Boot 应用程序 Docker 化

如何使用 Maven 将 Spring Boot 应用程序 Docker 化? Docker是一个开源容器化工具,用于在隔离环境中构建、运行和管理应用程序。它方便开发人员捆绑其软件、库和配置文件。Docker 有助于将一个容器与另一个容器隔离。在本文中,为了将Spring B…...

微信小程序开发示例

微信小程序开发涉及多个方面&#xff0c;包括页面布局、交互逻辑、数据处理等。以下是一个简单的微信小程序开发示例&#xff0c;包括页面布局、样式定义、交互逻辑等方面的内容。 一、页面布局&#xff08;WXML&#xff09; <!-- index.wxml --> <view class"…...

【机器学习】概述

文章目录 1. 机器学习三步骤2. 机器学习图谱2.1 任务类型 (Task)2.2 模型选择 (Methods)2.3 学习场景 (Scenario) 1. 机器学习三步骤 定义一个模型 (Define a set of function) 选择一组合适的函数来表示模型。 评估模型好坏 (Goodness of function) 找到一个损失函数&#xf…...

音视频采集推流时间戳记录方案

音视频同步更多文章 深入理解音视频pts&#xff0c;dts&#xff0c;time_base以及时间数学公式_视频pts计算-CSDN博客 ffplay音视频同步分析_ffplay 音视频同步-CSDN博客 音视频采集打时间戳设计 实时音视频数据的采集和处理场景。具体来说: 采集阶段: 在音视频数据采集过…...

【Linux】:线程安全 + 死锁问题

&#x1f4c3;个人主页&#xff1a;island1314 &#x1f525;个人专栏&#xff1a;Linux—登神长阶 ⛺️ 欢迎关注&#xff1a;&#x1f44d;点赞 &#x1f442;&#x1f3fd;留言 &#x1f60d;收藏 &#x1f49e; &#x1f49e; &#x1f49e; 1. 线程安全和重入问题&…...

【深度学习】时间序列表示方法

自然界除了2D的图片数据之外&#xff0c;还有语音、文字&#xff0c;这些数据都有时间的先后顺序的。对于2D的图像的数据&#xff0c;可以用RGB值来表示像素的色彩度。语音可以用信号幅度值来表示&#xff0c;而Pytorch没有自带String支持&#xff0c;在表示文字之前需要进行Em…...

1.微服务灰度发布落地实践(方案设计)

文章目录 前言灰度发布的优点设计概要系统架构图流量控制客户端服务端 路由路径应用客户端实现核心组件分析1.网关2. spring-cloud3. dubbo4. nocas5. thread6. message queue 前言 微服务架构中的灰度发布&#xff08;也称为金丝雀发布或渐进式发布&#xff09;是一种在不影响…...

【UE5 C++课程系列笔记】15——Assert的基本使用

目录 概念 一、Check 二、Verify 三、Ensure 对比 基本使用 一、check的基本使用 二、ensure的基本使用 三、verify的基本使用 概念 assert 可在开发期间帮助检测和诊断不正常或无效的运行时条件。这些条件通常检查是否指针为非空、除数为非零、函数并非递归运行&…...

kubernetes Gateway API-1-部署和基础配置

文章目录 1 部署2 最简单的 Gateway3 基于主机名和请求头4 重定向 Redirects4.1 HTTP-to-HTTPS 重定向4.2 路径重定向4.2.1 ReplaceFullPath 替换完整路径4.2.2 ReplacePrefixMatch 替换路径前缀5 重写 Rewrites5.1 重写 主机名5.2 重写 路径5.2.1 重新完整路径5.2.1 重新部分路…...

likeAdmin架构部署(踩坑后的部署流程

1、gitee下载 https://gitee.com/likeadmin/likeadmin_java.git 自己克隆 2、项目注意 Maven&#xff1a;>3.8 ❤️.9 (最好不要3.9已经试过失败 node &#xff1a;node14 (不能是18 已经测试过包打不上去使用14的换源即可 JDK&#xff1a;JDK8 node 需要换源 npm c…...

【一款超好用的开源笔记Logseq本地Docker部署与远程使用指南】

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…...

浅谈torch.utils.data.TensorDataset和torch.utils.data.DataLoader

1.torch.utils.data.TensorDataset 功能定位 torch.utils.data.TensorDataset 是一个将多个张量&#xff08;Tensor&#xff09;数据进行简单包装整合的数据集类&#xff0c;它主要的作用是将相关联的数据&#xff08;比如特征数据和对应的标签数据等&#xff09;组合在一起&…...

gesp(C++二级)(16)洛谷:B4037:[GESP202409 二级] 小杨的 N 字矩阵

gesp(C++二级)(16)洛谷:B4037:[GESP202409 二级] 小杨的 N 字矩阵 题目描述 小杨想要构造一个 m m m \times m m...

FFmpeg:详细安装教程与环境配置指南

FFmpeg 部署完整教程 在本篇博客中&#xff0c;我们将详细介绍如何下载并安装 FFmpeg&#xff0c;并将其添加到系统的环境变量中&#xff0c;以便在终端或命令行工具中直接调用。无论你是新手还是有一定基础的用户&#xff0c;这篇教程都能帮助你轻松完成 FFmpeg 的部署。 一、…...

Element UI Radio组件多选换行终极解决方案(附完整代码示例)

Element UI Radio组件多选换行终极解决方案&#xff08;附完整代码示例&#xff09; 在企业级后台管理系统开发中&#xff0c;表单控件的美观性和功能性同样重要。Element UI作为Vue.js生态中广泛使用的组件库&#xff0c;其Radio组件在多选场景下的换行问题常常困扰开发者。本…...

快速验证域名跳转思路:用快马十分钟搭建jxx登录页检测工具原型

快速验证域名跳转思路&#xff1a;用快马十分钟搭建jxx登录页检测工具原型 最近注意到"jxx登录网页最新域名在哪"这个关键词搜索量突然增加&#xff0c;很多用户都在寻找特定网站的访问入口。这种需求其实很常见——当某个服务频繁更换域名时&#xff0c;普通用户很…...

OpenClaw安全实践:Phi-3-vision-128k-instruct本地化部署权限管理指南

OpenClaw安全实践&#xff1a;Phi-3-vision-128k-instruct本地化部署权限管理指南 1. 为什么需要关注OpenClaw的安全配置&#xff1f; 去年夏天&#xff0c;我在调试一个自动化文档处理流程时&#xff0c;差点酿成大错。当时OpenClaw在凌晨3点自动执行了错误的清理指令&#…...

OpenClaw监控告警方案:Qwen3-14B驱动服务器异常检测

OpenClaw监控告警方案&#xff1a;Qwen3-14B驱动服务器异常检测 1. 为什么需要智能化的服务器监控 作为个人站长&#xff0c;我经历过太多次深夜被服务器宕机惊醒的噩梦。传统监控工具要么配置复杂&#xff08;比如PrometheusGrafana全家桶&#xff09;&#xff0c;要么告警方…...

新手零代码入门:借鉴cherry studio理念,用快马AI生成你的第一个网页

作为一个刚接触编程的新手&#xff0c;我一直想搭建一个简单的个人博客页面来展示自己的文章。但面对复杂的代码和陌生的术语&#xff0c;总感觉无从下手。直到发现了InsCode(快马)平台&#xff0c;它让我用自然语言描述需求就能生成可运行的代码&#xff0c;整个过程就像cherr…...

NCM格式解密终极指南:三分钟解锁网易云音乐加密文件

NCM格式解密终极指南&#xff1a;三分钟解锁网易云音乐加密文件 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器使用而烦恼吗&#xff1f;ncmdump工具为你提供完整解决方案&#…...

douyin-downloader:高效采集抖音内容的全流程解决方案

douyin-downloader&#xff1a;高效采集抖音内容的全流程解决方案 【免费下载链接】douyin-downloader A practical Douyin downloader for both single-item and profile batch downloads, with progress display, retries, SQLite deduplication, and browser fallback suppo…...

突破网盘限速壁垒:ctfileGet实现技术民主化的创新实践

突破网盘限速壁垒&#xff1a;ctfileGet实现技术民主化的创新实践 【免费下载链接】ctfileGet 获取城通网盘一次性直连地址 项目地址: https://gitcode.com/gh_mirrors/ct/ctfileGet 在数字资源高速流通的今天&#xff0c;网盘服务已成为信息传递的重要基础设施。然而&a…...

从零手写VSCODE 配置文件

VSCODE 配置文件书写详解 一.task.json 决定文件怎么编译,本质就是在指定的type下不断重复执行command和args构成的命令 1.基本框架 {"version":"2.0.0",//固定版本号"tasks":[ //任务数组,可以定义多个任务 {//任务一},{//任务二}],"i…...

探索16极18槽轴向磁通永磁电机:基于Maxwell的模型解析

基于maxwell的16极18槽轴向磁通永磁电机模型&#xff0c;功率1500w,外径190mm。 输出转矩3.7Nm.可用于轴向电机设计学习。 大致参数波形见图。最近在研究轴向磁通永磁电机&#xff0c;今天和大家分享基于Maxwell搭建的一款16极18槽轴向磁通永磁电机模型&#xff0c;这款电机功率…...