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

ABAP 批导demo调用SM30表维护demo

ABAP 批导demo&调用SM30表维护demo

&---------------------------------------------------------------------
*& Report ZPP036
&---------------------------------------------------------------------
*&
&---------------------------------------------------------------------
REPORT zpp036.

TABLES:ztpp010,sscrfields.

**全局定义
DATA:gt_alv TYPE TABLE OF ztpp010,
gs_alv TYPE ztpp010.

DATA: BEGIN OF itfile OCCURS 0 ,
matnr TYPE string, "物料
zmatnr1 TYPE string, "替代料1
zmatnr2 TYPE string, "替代料2
END OF itfile.

DATA: gs_functxt TYPE smp_dyntxt. "功能代码文本
DATA: gt_fcat TYPE lvc_t_fcat, "字段目录
gs_fcat TYPE lvc_s_fcat,
gs_layout TYPE lvc_s_layo.
DATA: excl_cua_funct TYPE TABLE OF vimexclfun.

PARAMETERS: p_pfile TYPE localfile.
SELECTION-SCREEN: FUNCTION KEY 1.
SELECTION-SCREEN: FUNCTION KEY 2.

**初始化
INITIALIZATION.

gs_functxt-icon_id = icon_tools.
gs_functxt-quickinfo = ‘替代料关系表’.
gs_functxt-icon_text = ‘替代料关系表’.
sscrfields-functxt_01 = gs_functxt.

gs_functxt-icon_id = icon_export.
gs_functxt-quickinfo = ‘下载导入模版’.
gs_functxt-icon_text = ‘下载导入模版’.
sscrfields-functxt_02 = gs_functxt.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_pfile.
PERFORM frm_input_help CHANGING p_pfile.

AT SELECTION-SCREEN.
IF sscrfields-ucomm = ‘FC02’.
PERFORM frm_download_template.
ELSEIF sscrfields-ucomm = ‘FC01’.
PERFORM frm_view_maintenance_call TABLES excl_cua_funct USING ‘ZTPP010’ ‘S’.
ENDIF.

START-OF-SELECTION.
PERFORM get_data USING p_pfile. "导入数据

END-OF-SELECTION.
PERFORM frm_layout.
PERFORM frm_fcat.
PERFORM frm_show.
&---------------------------------------------------------------------
*& Form frm_input_help
&---------------------------------------------------------------------
*& text
&---------------------------------------------------------------------
*& <-- P_PFILE
&---------------------------------------------------------------------
FORM frm_input_help CHANGING p_o_file.
DATA:
ltd_filetable TYPE filetable,
lth_filetable TYPE LINE OF filetable,
lw_rc TYPE i.

CALL METHOD cl_gui_frontend_services=>file_open_dialog
CHANGING
file_table = ltd_filetable
rc = lw_rc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
not_supported_by_gui = 4
OTHERS = 5.

IF sy-subrc = 0.
READ TABLE ltd_filetable INTO lth_filetable INDEX 1.
p_o_file = lth_filetable-filename.
ELSE.
MESSAGE ID sy-msgid TYPE ‘I’ NUMBER sy-msgno
DISPLAY LIKE ‘E’
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
LEAVE LIST-PROCESSING.
ENDIF.

ENDFORM.
&---------------------------------------------------------------------
*& Form frm_download_template
&---------------------------------------------------------------------
*& text
&---------------------------------------------------------------------
*& --> p1 text
*& <-- p2 text
&---------------------------------------------------------------------
FORM frm_download_template .
DATA: lv_filepath TYPE string, " 存放路径
lv_filename TYPE string, "文件名称
lv_path TYPE string . " 下载后存放全路径
DATA: lv_objdata LIKE wwwdatatab,
lv_obj_name LIKE wwwdatatab-objid,
lt_mime LIKE w3mime OCCURS 10.
DATA: lv_ret TYPE abap_bool,
lv_answer.
DATA: lv_file TYPE string.

"设置 www object信息
lv_obj_name = ‘ZPP036’.

"保存对话框
CALL METHOD cl_gui_frontend_services=>file_save_dialog
EXPORTING
window_title = ‘下载模板’
default_extension = ‘xlsx’
default_file_name = ‘ZPP036导入模板.xlsx’
file_filter = ‘EXCEL’
prompt_on_overwrite = ‘’
CHANGING
fullpath = lv_path
filename = lv_filename
path = lv_filepath
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
not_supported_by_gui = 3
OTHERS = 4.

"检查文件是否存在
MOVE lv_path TO lv_file.
CALL METHOD cl_gui_frontend_services=>file_exist
EXPORTING
file = lv_file
RECEIVING
result = lv_ret
EXCEPTIONS
cntl_error = 1
error_no_gui = 2
wrong_parameter = 3
not_supported_by_gui = 4
OTHERS = 5.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
EXIT.
ENDIF.

IF lv_ret EQ ‘X’.

  • 模版已存在,是否覆盖
    CALL FUNCTION ‘POPUP_TO_CONFIRM’
    EXPORTING
    text_question = ‘模版已存在,是否覆盖?’
    text_button_1 = ‘是’(005)
    text_button_2 = ‘否’(006)
    IMPORTING
    answer = lv_answer
    EXCEPTIONS
    text_not_found = 1
    OTHERS = 2.
    IF sy-subrc <> 0.

    ENDIF.

    IF lv_answer EQ ‘A’. "取消
    EXIT.
    ELSEIF lv_answer NE ‘1’. "否
    EXIT.
    ENDIF.
    ELSE.
    lv_answer = ‘1’.
    ENDIF.

    IF lv_answer EQ ‘1’.

    SELECT relid objid
    FROM wwwdata
    INTO CORRESPONDING FIELDS OF lv_objdata
    UP TO 1 ROWS
    WHERE srtf2 = 0
    AND relid = ‘MI’
    AND objid = lv_obj_name.
    ENDSELECT.

    IF lv_path IS NOT INITIAL.
    " 装载至本地文件
    p_pfile = lv_path.
    CALL FUNCTION ‘DOWNLOAD_WEB_OBJECT’ "
    EXPORTING
    key = lv_objdata
    destination = p_pfile.
    ENDIF.

    ENDIF.
    ENDFORM.
    &---------------------------------------------------------------------
    *& Form frm_view_maintenance_call
    &---------------------------------------------------------------------
    *& text
    &---------------------------------------------------------------------
    *& --> EXCL_CUA_FUNCT
    *& --> P_
    *& --> P_
    &---------------------------------------------------------------------
    FORM frm_view_maintenance_call TABLES excl_cua_funct STRUCTURE vimexclfun
    USING p_view_name LIKE dd02v-tabname
    p_action TYPE char1.

    CALL FUNCTION ‘VIEW_MAINTENANCE_CALL’
    EXPORTING
    action = p_action

  • CORR_NUMBER                  = '          '
    
  • GENERATE_MAINT_TOOL_IF_MISSING       = ' '
    
  • SHOW_SELECTION_POPUP         = ' '
    view_name                    = p_view_name
    
  • NO_WARNING_FOR_CLIENTINDEP   = ' '
    
  • RFC_DESTINATION_FOR_UPGRADE  = ' '
    
  • CLIENT_FOR_UPGRADE           = ' '
    
  • VARIANT_FOR_SELECTION        = ' '
    
  • COMPLEX_SELCONDS_USED        = ' '
    
  • CHECK_DDIC_MAINFLAG          = ' '
    
  • SUPPRESS_WA_POPUP            = ' '
    

    TABLES

  • DBA_SELLIST                  =
    excl_cua_funct               = excl_cua_funct
    

    EXCEPTIONS
    client_reference = 1
    foreign_lock = 2
    invalid_action = 3
    no_clientindependent_auth = 4
    no_database_function = 5
    no_editor_function = 6
    no_show_auth = 7
    no_tvdir_entry = 8
    no_upd_auth = 9
    only_show_allowed = 10
    system_failure = 11
    unknown_field_in_dba_sellist = 12
    view_not_found = 13
    maintenance_prohibited = 14
    OTHERS = 15.
    IF sy-subrc <> 0.

  • Implement suitable error handling here
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

ENDFORM.
&---------------------------------------------------------------------
*& Form get_data
&---------------------------------------------------------------------
*& text
&---------------------------------------------------------------------
*& --> P_PFILE
&---------------------------------------------------------------------
FORM get_data USING p_p_pfile.

FIELD-SYMBOLS: TYPE any.
DATA: l_intern TYPE zalsmex_tabline3 OCCURS 0 WITH HEADER LINE.

DATA: c_row TYPE i VALUE 4, "读EXCEL第4行开始
c_col TYPE i VALUE 1, "读EXCEL第1列开始
l_index TYPE i,
l_msg(60) TYPE c,
g_mod TYPE d,
l_row(5) TYPE n,
li_len TYPE sy-tabix,
l_cstr(4).

CALL FUNCTION ‘ZALSM_EXCEL_TO_INTERNAL_TABLE2’
EXPORTING
filename = p_pfile
i_begin_col = ‘1’ "开始列
i_begin_row = ‘2’ "开始行
i_end_col = ‘3’ "结束列
i_end_row = ‘99999’ "结束行

  • I_END_ROW               = '100000'   "结束行
    
  • I_SHEET_NO              =
    

    TABLES
    intern = l_intern
    EXCEPTIONS
    inconsistent_parameters = 1
    upload_ole = 2
    OTHERS = 3.
    IF sy-subrc <> 0.
    MESSAGE ‘导入数据文件失败!’ TYPE ‘S’.
    STOP.
    ENDIF.

    SORT l_intern BY row col.

    REFRESH gt_alv.
    LOOP AT l_intern.
    ASSIGN COMPONENT l_intern-col OF STRUCTURE itfile TO .
    "动态方法将值传到相应的内表
    = l_intern-value.

    AT END OF row.
    MOVE-CORRESPONDING itfile TO gs_alv.

    APPEND gs_alv TO gt_alv.
    CLEAR: gs_alv,itfile.
    

    ENDAT.
    ENDLOOP.

    CHECK gt_alv IS NOT INITIAL.

    MODIFY ztpp010 FROM TABLE gt_alv.
    IF sy-subrc = 0.
    COMMIT WORK.
    MESSAGE ‘已成功导入’ TYPE ‘S’.
    ENDIF.

ENDFORM.
&---------------------------------------------------------------------
*& Form frm_layout
&---------------------------------------------------------------------
*& text
&---------------------------------------------------------------------
*& --> p1 text
*& <-- p2 text
&---------------------------------------------------------------------
FORM frm_layout .
CLEAR gs_layout.
gs_layout-zebra = ‘X’.
gs_layout-cwidth_opt = ‘X’.
gs_layout-sel_mode = ‘A’.
ENDFORM.
&---------------------------------------------------------------------
*& Form frm_fcat
&---------------------------------------------------------------------
*& text
&---------------------------------------------------------------------
*& --> p1 text
*& <-- p2 text
&---------------------------------------------------------------------
FORM frm_fcat .
REFRESH gt_fcat.
DEFINE set_fieldcat_alv.

CLEAR gs_fcat.

gs_fcat-fieldname = &1.
gs_fcat-coltext = &2.
gs_fcat-ref_field = &3.
gs_fcat-ref_table = &4.
gs_fcat-outputlen = &5.

APPEND gs_fcat TO gt_fcat.

END-OF-DEFINITION.

set_fieldcat_alv ‘MATNR’ ‘物料代码’ ‘’ ‘’ ‘18’ .
set_fieldcat_alv ‘ZMATNR1’ ‘替代料1’ ‘’ ‘’ ‘18’.
set_fieldcat_alv ‘ZMATNR2’ ‘替代料2’ ‘’ ‘’ ‘18’.
ENDFORM.
&---------------------------------------------------------------------
*& Form frm_show
&---------------------------------------------------------------------
*& text
&---------------------------------------------------------------------
*& --> p1 text
*& <-- p2 text
&---------------------------------------------------------------------
FORM frm_show .
CALL FUNCTION ‘REUSE_ALV_GRID_DISPLAY_LVC’
EXPORTING
i_callback_program = sy-repid
is_layout_lvc = gs_layout
it_fieldcat_lvc = gt_fcat

  • i_callback_pf_status_set = 'PF_STATUS'
    
  • i_callback_user_command  = 'USER_COMMAND'
    
  • it_events          = lt_events
    i_save             = 'A'
    
    TABLES
    t_outtab = gt_alv
    EXCEPTIONS
    program_error = 1
    OTHERS = 2.
    ENDFORM.

相关文章:

ABAP 批导demo调用SM30表维护demo

ABAP 批导demo&调用SM30表维护demo &--------------------------------------------------------------------- *& Report ZPP036 &--------------------------------------------------------------------- *& &-----------------------------------…...

Mysql 文件导入与导出

i/o 一、导出(mysqldump)<一>、导出sql文件<二>、导出csv文件 二、导入(load)三、常见报错The Mysql server is running with the --secure-file-priv option so it cannot execute this statement 一、导出(mysqldump) <一>、导出sql文件 1、整库 mysqld…...

《每天十分钟》-红宝书第4版-迭代器与生成器

理解迭代 计数循环就是一种最简单的迭代 for (let i 1; i < 10; i) { console.log(i); }迭代之前需要事先知道如何使用数据结构。数组中的每一项都只能先通过引用取得数组对象&#xff0c;然后再通过[]操作符取得特定索引位置上的项。这种情况并不适用于所有数据结构。遍…...

1、【vue篇】vue框架快速上手

注意事项&#xff1a; methods必须要加s 导入vue&#xff1a;<script src"https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>导入Axios:<script src"https://unpkg.com/axios/dist/axios.min.js"></script> 简单Vue程序…...

Unity 编辑器篇|(九)编辑器美化类( GUIStyle、GUISkin、EditorStyles) (全面总结 | 建议收藏)

目录 1. GUIStyle1.1 参数总览1.2 样式代码 2. GUISkin2.1 参数总览2.2 创建自定义Skin 3. EditorStyles2.1 参数总览1.2 反射获取所有EditorStyles 1. GUIStyle GUIStyle是一个用于定制GUI控件样式的类&#xff0c;它包含了控件的外观属性&#xff0c;如字体、颜色、背景等。…...

Spring Boot Starters

Spring Boot Starters 概述 Spring Boot Starters是一系列为特定应用场景预设的依赖管理和自动配置方案。每个Starter都是为了简化特定类型的项目构建和配置。例如&#xff0c;spring-boot-starter-web是为创建基于Spring MVC的Web应用程序而设计的。 Starter的结构 一个典型…...

Qt防止创建窗口抢焦点

问题是&#xff0c;当我在 Qt 中打开一个新窗口时&#xff0c;它会自动窃取前一个应用程序的焦点。 有什么办法可以防止这种情况发生吗&#xff1f; setAttribute(Qt::WA_ShowWithoutActivating);这会强制窗口不激活。即使有Qt::WindowStaysOnTopHint flag 出处&#xff1a; S…...

shared_ptr 与 unique_ptr 的转换 笔记

推荐B站文章&#xff1a; 6.shared_ptr与unique_ptr_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV18B4y187uL?p6&vd_sourcea934d7fc6f47698a29dac90a922ba5a3我的往期文章&#xff1a; 独占指针&#xff1a;unique_ptr 与 函数调用-CSDN博客https://blog.csdn.n…...

python windows和linux 文件同步

在Python中&#xff0c;可以使用paramiko库来实现Windows和Linux之间的文件同步。paramiko是一个用于SSH连接的Python库&#xff0c;可以用于在Windows和Linux之间进行文件传输。 以下是一个简单的示例代码&#xff0c;演示如何使用paramiko库在Windows和Linux之间同步文件&am…...

【数据结构】72变的双端队列

双端队列 前言一、双端队列1.1 双端队列的定义1.2 输入受限的双端队列1.3 输出受限的双端队列1.5 输入输出都受限的双端队列1.6 小结 二、双端队列的使用2.1 双端队列的出队序列——暴力求解2.1.1 栈的出栈序列2.1.2 输入受限的双端队列2.1.3 输出受限的双端队列2.1.4 输入输出…...

kafka为什么不支持读写分离?

kafka为什么不支持读写分离&#xff1f; 在kafka中&#xff0c;生产者写入消息&#xff0c;消费者读取消息的操作都是与 leader 副本进行交互的&#xff0c;从而实现的是一种主写主读的生产消费模型。kafka不支持读写分离&#xff0c;也就是主写从读。 读写分离有以下不足&am…...

arcgis 面要素shp数据处理

面要素是工作中用到最多的&#xff0c;那么面要素是如何形成的呢&#xff0c;主要还是由闭合的线要素转换而成。在面要素数据中常用的有以下几点&#xff1a; 一、 线转面&#xff08;要素转面&#xff09; 通过上一篇得到了点转线的要素&#xff0c;那么根据上节的线要素&am…...

数轴(0 ~ m)上有n个不同点,最多只能移动一个点,移动到[1, m]中任意一点,求最终最小相邻两个点的距离的最大值是什么

题目 思路:先找到相邻距离最小的位置,假设为pos, 那么不是移动第pos个点就是移动第(pos - 1)个点,先移动pos点,用数组vec存除了pos点之外的所有点,求出最小相邻距离和最大相邻距离,那么肯定将pos点插入到最大相邻距离中。 #include <bits/stdc++.h> using namesp…...

BGP路由反射-数据中心IDC项目经验

一、背景描述 R1,R2,R3在AS200区域内&#xff0c;R1和R2,R1和R3建立OSPF&#xff0c;宣告接口互联. AS200区域内&#xff0c;R1和R2建立IBGP, R1和R3建立IBGP R2和R4建立EBGP, R3和R5建立EBGP。 网络拓扑&#xff1a; 二、故障现象 R1和R2可以收到来自AS100区域R4的E…...

提取视频中的某一帧画面,留住视频中的美好瞬间

你是否曾经被视频中的某一帧画面深深吸引&#xff0c;却又惋惜于无法将其永久保存&#xff1f;现在&#xff0c;有了我们【媒体梦工厂】&#xff0c;这一遗憾将成为过去&#xff0c;这个软件可以提取视频中的某一帧保存为图片&#xff0c;为你留住那些稍纵即逝的美好。 所需工…...

一个好用的服务器控制面板

简介 它是一个免费开源的管理面板工具&#xff0c;可以帮助你集中管理多个服务器和网站。Ajenti 支持 Linux、BSD、Mac OS X和Windows 等多个操作系统&#xff0c;并且可以通过一个直观的 Web 界面来完成各种系统管理任务。 相比于其他管理面板&#xff0c;Ajenti有以下几个优…...

软件测评中心▏软件系统测试的定义与测试流程简析

软件系统测试是指在软件开发的各个阶段对软件系统进行全面、系统的测试&#xff0c;以发现并修复潜在的问题和错误。系统测试旨在确保软件在各种不同的环境和使用条件下都能正常运行&#xff0c;满足用户需求&#xff0c;并且具备良好的性能和稳定性&#xff0c;包括以下测试流…...

基于JavaWeb+SSM+Vue基于微信小程序生鲜云订单零售系统的设计和实现

基于JavaWebSSMVue基于微信小程序生鲜云订单零售系统的设计和实现 滑到文末获取源码Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 滑到文末获取源码 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计…...

查询列表实时按照更新时间降序排列 没有更新时间就按创建时间

例子: sql两个字段排序 ORDER BY update_time DESC , create_time DESC <select id"selectLawIllegalActivitiesList" parameterType"LawIllegalActivities" resultMap"LawIllegalActivitiesResult"><include refid"selectL…...

愉快的使用vscode刷leetcode,开启摸鱼新高度

文章目录 1. 安装leetcode插件2. 安装node.js3. vscode配置 1. 安装leetcode插件 插件扩展中搜索LeetCode&#xff0c;一般刚开始都是第一个&#xff0c;如下图所示。 2. 安装node.js window安装方法 去 node.js官网 下载相应的安装包&#xff0c;一路next即可。 ubuntu安…...

Frozen-Flask :将 Flask 应用“冻结”为静态文件

Frozen-Flask 是一个用于将 Flask 应用“冻结”为静态文件的 Python 扩展。它的核心用途是&#xff1a;将一个 Flask Web 应用生成成纯静态 HTML 文件&#xff0c;从而可以部署到静态网站托管服务上&#xff0c;如 GitHub Pages、Netlify 或任何支持静态文件的网站服务器。 &am…...

生成 Git SSH 证书

&#x1f511; 1. ​​生成 SSH 密钥对​​ 在终端&#xff08;Windows 使用 Git Bash&#xff0c;Mac/Linux 使用 Terminal&#xff09;执行命令&#xff1a; ssh-keygen -t rsa -b 4096 -C "your_emailexample.com" ​​参数说明​​&#xff1a; -t rsa&#x…...

C# 类和继承(抽象类)

抽象类 抽象类是指设计为被继承的类。抽象类只能被用作其他类的基类。 不能创建抽象类的实例。抽象类使用abstract修饰符声明。 抽象类可以包含抽象成员或普通的非抽象成员。抽象类的成员可以是抽象成员和普通带 实现的成员的任意组合。抽象类自己可以派生自另一个抽象类。例…...

【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)

🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...

c#开发AI模型对话

AI模型 前面已经介绍了一般AI模型本地部署&#xff0c;直接调用现成的模型数据。这里主要讲述讲接口集成到我们自己的程序中使用方式。 微软提供了ML.NET来开发和使用AI模型&#xff0c;但是目前国内可能使用不多&#xff0c;至少实践例子很少看见。开发训练模型就不介绍了&am…...

A2A JS SDK 完整教程:快速入门指南

目录 什么是 A2A JS SDK?A2A JS 安装与设置A2A JS 核心概念创建你的第一个 A2A JS 代理A2A JS 服务端开发A2A JS 客户端使用A2A JS 高级特性A2A JS 最佳实践A2A JS 故障排除 什么是 A2A JS SDK? A2A JS SDK 是一个专为 JavaScript/TypeScript 开发者设计的强大库&#xff…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...

MyBatis中关于缓存的理解

MyBatis缓存 MyBatis系统当中默认定义两级缓存&#xff1a;一级缓存、二级缓存 默认情况下&#xff0c;只有一级缓存开启&#xff08;sqlSession级别的缓存&#xff09;二级缓存需要手动开启配置&#xff0c;需要局域namespace级别的缓存 一级缓存&#xff08;本地缓存&#…...

Leetcode33( 搜索旋转排序数组)

题目表述 整数数组 nums 按升序排列&#xff0c;数组中的值 互不相同 。 在传递给函数之前&#xff0c;nums 在预先未知的某个下标 k&#xff08;0 < k < nums.length&#xff09;上进行了 旋转&#xff0c;使数组变为 [nums[k], nums[k1], …, nums[n-1], nums[0], nu…...

离线语音识别方案分析

随着人工智能技术的不断发展&#xff0c;语音识别技术也得到了广泛的应用&#xff0c;从智能家居到车载系统&#xff0c;语音识别正在改变我们与设备的交互方式。尤其是离线语音识别&#xff0c;由于其在没有网络连接的情况下仍然能提供稳定、准确的语音处理能力&#xff0c;广…...