1. 关键的两个标准函数

TRINT_CORR_INSERT

TRINT_CORR_CHECK

2. 自定义SAP生产环境修改程序


*data:begin of itab occurs 0,
*       lines(150),
*     end of itab.

DATA itab TYPE TABLE OF string.

PARAMETERS:program LIKE rs38m-programm.

READ REPORT program INTO itab.
EDITOR-CALL FOR itab.

IF sy-ucomm = 'OK'.
  INSERT REPORT program FROM itab.
ENDIF.


*
**======================================================================*
**                   INCLUDE used in the program
**======================================================================*
*INCLUDE OLE2INCL.
**======================================================================*
**                   TYPE-POOLS used in the program
**======================================================================*
*
*TYPE-POOLS: ABAP,SLIS.
**======================================================================*
**                   SELECTION-SCREEN DEFINED
**======================================================================*
*SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-001.
*PARAMETERS:
*  P_FILE  TYPE LOCALFILE OBLIGATORY,
*  P_TAB   TYPE DD02L-TABNAME,
*  CB_TEMP AS CHECKBOX.
*SELECTION-SCREEN END OF BLOCK BL1.
*
**======================================================================*
**                  Varibles and Tables used in the program
**======================================================================*
*TYPES:
*  BEGIN OF GTY_S_FIELDS,
*    FIELDNAME TYPE FIELDNAME,
*    FIELDTEXT TYPE CHAR30,
*  END OF GTY_S_FIELDS.
*
*
*DATA:
*  GCL_GENERIC_TABLE_WA TYPE REF TO DATA,
*  GCL_GENERIC_TABLE    TYPE REF TO DATA,
*  GT_FIELDS            TYPE TABLE OF FIELDNAME,
*  GS_COMP              TYPE ABAP_COMPDESCR,
*  GV_DISPLAY           TYPE C,
*  GV_TABNAME           TYPE DD02L-TABNAME,
*  LV_RC                TYPE SY-SUBRC,
*  LW_FILETABLE         TYPE FILE_TABLE,
*  LT_FILETABLE         TYPE FILETABLE.
*
*FIELD-SYMBOLS:
*  <FS_TAB_WA> TYPE ANY,
*  <FS_TAB>    TYPE STANDARD TABLE.
*
**======================================================================*
**                          INITIALIZATION
**======================================================================*
*INITIALIZATION.
*
*  IMPORT  PARA1 = GV_DISPLAY PARA2 = GV_TABNAME FROM MEMORY ID 'ZTABLE'.
*  P_TAB = GV_TABNAME.
*
**======================================================================*
**                          AT SELECTION-SCREEN
**======================================================================*
*
*AT SELECTION-SCREEN ON P_TAB.
*  PERFORM FRM_CHECK_TABLE.
*
*AT SELECTION-SCREEN OUTPUT.
*  LOOP AT SCREEN.
*    IF SCREEN-NAME = 'P_TAB'.
*      IF GV_DISPLAY = 'X'.
*        SCREEN-INPUT = '0'.
*        MODIFY SCREEN.
*      ENDIF.
*    ENDIF.
*  ENDLOOP.
*
*AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
*
*  REFRESH: LT_FILETABLE.
*  CLEAR: LW_FILETABLE.
*  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
*    EXPORTING
*      DEFAULT_EXTENSION       = 'XLS'
*    CHANGING
*      FILE_TABLE              = LT_FILETABLE
*      RC                      = LV_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 LT_FILETABLE INTO LW_FILETABLE INDEX 1.
*    P_FILE = LW_FILETABLE-FILENAME.
*  ENDIF.
*
**======================================================================*
**                       START-OF-SELECTION.
**======================================================================*
*START-OF-SELECTION.
*
*  CREATE DATA  GCL_GENERIC_TABLE_WA TYPE (P_TAB).
*  CREATE DATA  GCL_GENERIC_TABLE TYPE STANDARD TABLE OF (P_TAB).
*  ASSIGN GCL_GENERIC_TABLE_WA->*  TO <FS_TAB_WA>.
*  ASSIGN GCL_GENERIC_TABLE->*     TO <FS_TAB>.
*
*  IF NOT CB_TEMP IS INITIAL.
*    PERFORM FRM_DOWNLOAD_SAMPLE USING P_FILE.
*  ELSE.
*    PERFORM FRM_EXCEL_UPLOAD USING  P_FILE.
*  ENDIF.
*
*
**&---------------------------------------------------------------------*
**&      Form  FRM_CHECK_TABLE
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
*FORM FRM_CHECK_TABLE.
*  DATA: LV_TABNAME TYPE TABNAME.
*  IF P_TAB CP 'Z*'.
*    SELECT SINGLE TABNAME FROM DD02L
*    INTO LV_TABNAME
*    WHERE TABNAME = P_TAB.
*    CHECK SYST-SUBRC <> 0.
*    MESSAGE E402(MO) WITH P_TAB.
*  ELSE.
*    MESSAGE 'Not allow to operate SAP tables' TYPE 'E'.
*  ENDIF.
*ENDFORM.                    "FRM_CHECK_TABLE
*
**&---------------------------------------------------------------------*
**&      Form  frm_excel_upload
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
**      -->P_FILE     text
**----------------------------------------------------------------------*
*FORM FRM_EXCEL_UPLOAD  USING P_FILE  TYPE LOCALFILE.
*
** Get Data
*  PERFORM FRM_GET_DATA USING P_FILE.
** Show Data in ALV for Check
*  PERFORM FRM_SHOW_DATA.
*
*ENDFORM.                    "f_excel_upload
*
**&---------------------------------------------------------------------*
**&      Form  frm_get_data
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
**      -->P_FILE     text
**----------------------------------------------------------------------*
*FORM FRM_GET_DATA USING P_FILE  TYPE LOCALFILE.
*  DATA : LWA_INTERN TYPE KCDE_CELLS,
*         LT_INTERN  TYPE TABLE OF KCDE_CELLS,
*         LV_INDEX   TYPE I.
*
*  FIELD-SYMBOLS : <FS_FIELD>.
*
*  CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
*    EXPORTING
*      FILENAME                = P_FILE
*      I_BEGIN_COL             = '1'
*      I_BEGIN_ROW             = '2'
*      I_END_COL               = '256'
*      I_END_ROW               = '65536'
*    TABLES
*      INTERN                  = LT_INTERN
*    EXCEPTIONS
*      INCONSISTENT_PARAMETERS = 1
*      UPLOAD_OLE              = 2.
*
*  CHECK NOT LT_INTERN[] IS INITIAL.
*  SORT LT_INTERN BY ROW COL.
*
*  LOOP AT LT_INTERN INTO LWA_INTERN.
*    LV_INDEX = LWA_INTERN-COL.
*    ASSIGN COMPONENT LV_INDEX OF STRUCTURE <FS_TAB_WA> TO <FS_FIELD>.
*    <FS_FIELD> = LWA_INTERN-VALUE.
*    AT END OF ROW.
*      APPEND  <FS_TAB_WA> TO <FS_TAB>.
*      CLEAR <FS_TAB_WA>.
*    ENDAT.
*  ENDLOOP.
*
*  DELETE ADJACENT DUPLICATES FROM <FS_TAB>.
*ENDFORM.                    "frm_get_data
*
**&---------------------------------------------------------------------*
**&      Form  frm_show_data
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
*FORM FRM_SHOW_DATA.
*
*  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
*    EXPORTING
*      I_CALLBACK_PROGRAM       = SY-REPID
*      I_CALLBACK_PF_STATUS_SET = 'FRM_STATUS_SET'
*      I_CALLBACK_USER_COMMAND  = 'FRM_COMMAND'
*      I_STRUCTURE_NAME         = P_TAB
**     I_GRID_TITLE             = I_GRID_TITLE
*    TABLES
*      T_OUTTAB                 = <FS_TAB>
*    EXCEPTIONS
*      PROGRAM_ERROR            = 1.
*
*ENDFORM.                    "frm_show_data
*
**&---------------------------------------------------------------------*
**&      Form  f_alv_status_set
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
**      -->RT_EXTAB   text
**----------------------------------------------------------------------*
*FORM FRM_STATUS_SET USING RT_EXTAB TYPE SLIS_T_EXTAB.
*  SET PF-STATUS 'PF' EXCLUDING RT_EXTAB.
*ENDFORM.                    "f01_alv_event_pf_status_set
**&---------------------------------------------------------------------*
**&      Form  mycommand
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
*FORM FRM_COMMAND USING R_UCOMM LIKE SY-UCOMM
*                       RS_SELFIELD TYPE SLIS_SELFIELD.
*  DATA: LV_SUBRC TYPE SY-SUBRC.
*  CASE R_UCOMM.
*    WHEN 'UPDATE'.
*      PERFORM FRM_UPDATE_DATA CHANGING LV_SUBRC.
*      IF LV_SUBRC = 0.
*        MESSAGE '更新成功.' TYPE 'S'.
*      ELSE.
*        MESSAGE '更新失败.' TYPE 'E'.
*      ENDIF.
*
*    WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
*      LEAVE TO SCREEN 0.
*    WHEN OTHERS.
*  ENDCASE.
*
*ENDFORM.                    "frm_COMMAND
**&---------------------------------------------------------------------*
**&      Form  frm_update_data
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
*FORM FRM_UPDATE_DATA CHANGING O_SUBRC TYPE SYSUBRC.
**Update data
*  IF <FS_TAB>[] IS NOT INITIAL.
*    MODIFY (P_TAB) FROM TABLE <FS_TAB>.
*    IF SY-SUBRC = 0.
*      COMMIT WORK.
*    ENDIF.
*    O_SUBRC = SY-SUBRC.
*  ENDIF.
*
*ENDFORM.                    "frm_update_data
**&---------------------------------------------------------------------*
**&      Form  FRM_DOWNLOAD_SAMPLE
**&---------------------------------------------------------------------*
**       text
**----------------------------------------------------------------------*
**      -->P_FILENAME  text
**----------------------------------------------------------------------*
*FORM FRM_DOWNLOAD_SAMPLE USING  P_FILE TYPE LOCALFILE.
*
** handles for OLE objects
*  DATA: H_EXCEL TYPE OLE2_OBJECT,        " Excel object
*        H_MAPL  TYPE OLE2_OBJECT,         " list of workbooks
*        H_MAP   TYPE OLE2_OBJECT,          " workbook
*        H_ZL    TYPE OLE2_OBJECT,           " cell
*        H_F     TYPE OLE2_OBJECT.            " font
*
*  DATA: LWA_FIELD TYPE FIELDNAME,
*        LV_J      TYPE I.
*
*  DATA:
*    LS_FIELD    TYPE GTY_S_FIELDS,
*    LT_FIELD    TYPE STANDARD TABLE OF GTY_S_FIELDS,
*    LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
*    LT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
*
** Dynamic field description of a structure
*  DATA: LCL_REF_DESCR TYPE REF TO CL_ABAP_STRUCTDESCR.
*
*  FIELD-SYMBOLS <COMP> TYPE ANY.
*
*  LCL_REF_DESCR ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_DATA( <FS_TAB_WA> ).
*  CLEAR:
*      LS_FIELD, LS_FIELDCAT.
*
*  REFRESH:
*      LT_FIELD, LT_FIELDCAT.
*
*  CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
*    EXPORTING
*      I_PROGRAM_NAME         = SY-REPID
*      I_STRUCTURE_NAME       = P_TAB
*    CHANGING
*      CT_FIELDCAT            = LT_FIELDCAT
*    EXCEPTIONS
*      INCONSISTENT_INTERFACE = 1
*      PROGRAM_ERROR          = 2
*      OTHERS                 = 3.
*  IF SY-SUBRC <> 0.
** Implement suitable error handling here
*  ENDIF.
*
** Export to excel
*  LOOP AT LCL_REF_DESCR->COMPONENTS INTO GS_COMP.
*    APPEND GS_COMP-NAME TO GT_FIELDS.
*
**    ls_field-fieldname = gs_comp-name.
**
**    READ TABLE lt_fieldcat INTO ls_fieldcat WITH KEY fieldname = ls_field-fieldname.
**    IF sy-subrc = 0.
**      ls_field-fieldtext = ls_fieldcat-seltext_l.
**    ENDIF.
**    APPEND ls_field TO lt_field.
**    CLEAR: ls_field.
*  ENDLOOP.
*
** start Excel
*  CREATE OBJECT H_EXCEL 'EXCEL.APPLICATION'.
*  SET PROPERTY OF H_EXCEL  'Visible' = 1.
** tell user what is going on
*  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
*    EXPORTING
**     PERCENTAGE = 0
*      TEXT   = 'Opening workbook...'
*    EXCEPTIONS
*      OTHERS = 1.
** get list of workbooks, initially empty
*  CALL METHOD OF H_EXCEL 'Workbooks' = H_MAPL.
** add a new workbook
*  CALL METHOD OF H_MAPL 'Add' = H_MAP.
** tell user what is going on
*  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
*    EXPORTING
**     PERCENTAGE = 0
*      TEXT   = 'Complete the internal table ...'
*    EXCEPTIONS
*      OTHERS = 1.
*
** output column headings to active Excel sheet
*
*  LOOP AT GT_FIELDS INTO LWA_FIELD.
**  LOOP AT lt_field INTO ls_field.
*    LV_J = SY-TABIX.
*    CALL METHOD OF H_EXCEL 'Cells' = H_ZL
*      EXPORTING
*      #1 = 1
*      #2 = LV_J.
*    SET PROPERTY OF H_ZL 'Value' = LWA_FIELD .
*    GET PROPERTY OF H_ZL 'Font' = H_F.
*    SET PROPERTY OF H_F 'Bold' = 1 .
*  ENDLOOP.
*
** disconnect from Excel
*  FREE OBJECT H_EXCEL.
*
*ENDFORM.                    " FRM_DOWNLOAD_SAMPLE

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

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

相关文章

构建高性能网络服务:从Reactor模式到现代服务器架构设计

在当今高并发、低延迟的应用场景下&#xff0c;如何设计高效稳定的网络服务成为后端开发的核心挑战。本文将深入探讨网络服务的演进路径&#xff0c;结合Reactor模式、one thread one loop思想等关键技术&#xff0c;揭示高性能服务器架构的设计精髓。 一、网络通信的核心问题与…

HarmonyOS 5 多端适配原理与BreakpointSystem工具类解析:附代码

H 一、鸿蒙多端适配的核心概念 鸿蒙系统的多端适配通过响应式布局和媒体查询实现&#xff0c;核心在于根据设备屏幕尺寸动态调整UI结构。其实现逻辑与Web响应式设计类似&#xff0c;但针对鸿蒙ArkUI框架进行了定制化封装。 二、BreakpointSystem工具类&#xff1a;多端适配的…

Telerik生态整合:Kendo UI for Angular组件在WinForms应用中的深度嵌入(二)

Telerik DevCraft包含一个完整的产品栈来构建您下一个Web、移动和桌面应用程序。它使用HTML和每个.NET平台的UI库&#xff0c;加快开发速度。Telerik DevCraft提供完整的工具箱&#xff0c;用于构建现代和面向未来的业务应用程序&#xff0c;目前提供UI for ASP.NET MVC、Kendo…

红帽全球副总裁曹衡康:开源AI开启企业级应用新纪元

在生成式AI技术迅猛发展的今天&#xff0c;ChatGPT、DeepSeek、元宝等AI应用已不再仅仅是科技前沿的象征&#xff0c;而是切实地融入到了我们的工作与生活之中&#xff0c;为企业带来了前所未有的变革机遇。对于企业而言&#xff0c;如何有效利用AI技术降本增效&#xff0c;已成…

异构计算解决方案(兼容不同硬件架构)

异构计算解决方案通过整合不同类型处理器&#xff08;如CPU、GPU、NPU、FPGA等&#xff09;&#xff0c;实现硬件资源的高效协同与兼容&#xff0c;满足多样化计算需求。其核心技术与实践方案如下&#xff1a; 一、硬件架构设计 异构处理器组合‌ 主从协作模式‌&#xff1a…

中科米堆汽车车门自动化三维检测3D尺寸测量设备自动外观检测

汽车的每一个零部件的质量都关乎着整车的性能与安全。汽车车门作为车辆的重要组成部分&#xff0c;不仅承担着保护车内人员安全的关键职责&#xff0c;其外观质量与尺寸精度也直接影响着消费者的第一印象和驾驶体验。 汽车车门制造涉及众多复杂的工艺流程&#xff0c;从冲压成…

Python 数据分析与可视化 Day 4 - Pandas 数据筛选与排序操作

&#x1f3af; 今日目标 掌握 Pandas 中 groupby() 的使用方式学会使用 agg() 方法进行多个聚合掌握 pivot_table() 构建透视表结合分组与排序进行更深入的分析 &#x1f9ee; 一、基本分组统计&#xff08;groupby&#xff09; ✅ 分组 单列聚合 df.groupby("性别&qu…

智能营销系统对企业的应用价值

在当前快速迭代的商业环境中&#xff0c;企业与客户的连接方式正经历前所未有的深刻变革。传统的市场策略在数据洪流和日益个性化的消费者需求面前&#xff0c;效能正逐步递减。 企业决策者普遍面临一个核心挑战&#xff1a;如何在复杂多变的市场中&#xff0c;实现营销资源的最…

docker镜像中集成act工具

# 使用官方 Ubuntu 22.04 基础镜像 FROM ubuntu:22.04# 安装系统依赖并清理缓存 RUN apt-get update && \apt-get install -y --no-install-recommends \curl \git \make \gcc \g \libssl-dev \pkg-config \&& \apt-get clean && \rm -rf /var/lib/apt…

Docker 与 Containerd 交互机制简单剖析

#作者&#xff1a;邓伟 文章目录 一、背景&#xff1a;Docker 架构的演进之路1.1 从自研运行时到 OCI 标准化1.2 现行架构分层模型 二、核心交互组件解析2.1 通信协议&#xff1a;gRPC 双向流的应用2.2 镜像生命周期管理交互2.2.1 镜像拉取流程&#xff08;以 docker pull 为例…

C++ Vector 基础入门操作

一、Vector初始化&#xff1a;5种常用方式 ​​1. 默认构造​​ 创建空容器&#xff0c;适用于后续动态添加元素&#xff1a; std::vector<int> vec; // 空vector&#xff0c;size0 2. 指定大小和初值​​ 预分配空间并初始化元素&#xff1a; std::vector<int>…

社会治理创新平台PPT(48页)

社会治理创新背景 社会治理创新旨在加强和完善基层社会管理和服务体系&#xff0c;提升政府效能&#xff0c;强化城乡社区自治和服务功能。自党的十六届四中全会提出“推进社会管理体制创新”以来&#xff0c;社会治理创新已成为政府工作的重要篇章。 社会治理创新现状与挑战…

论文笔记:Answering POI-Recommendation Questions using TourismReviews

2021 CIKM 1 intro 根据贝恩公司&#xff08;Bain & Company&#xff09;2019年的一份报告&#xff0c;旅行者在预订前通常会进行33至500次网页搜索 部分用户会访问超过50个旅游网站&#xff0c;三分之一的上网时间都用于与旅行相关的活动。在某些情况下&#xf…

带约束的高斯牛顿法求解多音信号分离问题

一、信号模型与优化问题建立 1. 复信号模型 设观测的复信号由两个单频复指数信号加噪声组成&#xff1a; x [ n ] A 0 e j ( 2 π f 0 n T s ϕ 0 ) A 1 e j ( 2 π f 1 n T s ϕ 1 ) w [ n ] , n 0 , 1 , … , N − 1 x[n] A_0 e^{j(2\pi f_0 n T_s \phi_0)} A_1 e…

Java并发编程中高效缓存设计的哲学

文章目录 引言详解缓存的设计和演进基于缓存存储运算结果锁分段散列减小锁粒度异步化提升处理效率原子化避免重复运算小结参考引言 本文将基于并发编程和算法中经典的哈希取模、锁分段、 异步化、原子化。这几个核心设计理念编写逐步推演出一个相对高效的缓存工具,希望对你有…

MATLAB的.mat文件

.mat文件是MATLAB的专有二进制数据文件格式&#xff0c;用于保存MATLAB工作空间中的变量和数据。 主要特点&#xff1a; 1. 存储内容&#xff1a; 各种类型的变量&#xff08;数组、矩阵、结构体、单元数组等&#xff09;函数句柄、对象稀疏矩阵多维数组 2. 文件特性&#…

ICM-20948 Wake on Motion功能开发全过程(7)

接前一篇文章:ICM-20948 Wake on Motion功能开发全过程(6) 探索工作 深入探索 上一回讲到,笔者在InvenSense官网上找到了实现Wake on Motion功能的指导文档。其中主要步骤如下: 本回就来结合文档中的步骤,详细讲解每一步。 (1)第1步 —— 初始化所有配置 注意,文档…

Dipal D1:数字人时代的全新人机关系形态

在科技不断突破的今天,虚拟与现实之间的界限正变得越来越模糊。Dipal D1 作为全球首款搭载2.5K曲面OLED显示屏的3D AI数字人硬件产品,不仅是一款情感陪伴设备,更是AI、AIGC、动漫文化与情感科技深度融合下的全新交互入口。它代表着“孤独经济”、“创作者经济”和“虚拟互动…

Linux离线编译安装nginx

Linux离线安装nginx 1.切换到root用户 #切换到root用户 su - #退出root用户 exit2.目录操作 #切到根目录 cd / #查看目录 ls #切目录 cd /home/... #到对应的目录下解压3.安装Nginx 在有网络的设备上下载以下文件&#xff1a; Nginx&#xff1a;从 nginx.org/en/download…

Qt PyQt与PySide技术-C++库的Python绑定

Qt PyQt与PySide技术-C库的Python绑定 一、概述二、区别于联系1、PyQt&#xff1a;Riverbank Computing的解决方案a、发展历程b、许可模式c、技术特点 2、PySide&#xff1a;Qt官方的Python绑定a、发展历程b、许可模式c、技术特点 三、对比许可证功能与兼容性社区与维护其他差异…