SE38 - SAP ABAP DESCRIBE使用示例代码

REPORT YZLL_DESC_TEST.CLASS DEMO DEFINITION.PUBLIC SECTION.CLASS-METHODS: DESC_FIELD, DESC_DISTANCE.METHODS DESC_TABLE CHANGING ITAB TYPE ANY TABLE..
ENDCLASS.CLASS DEMO IMPLEMENTATION.METHOD DESC_FIELD.DATA: LV_DATE TYPE SY-DATUM.DESCRIBE FIELD LV_DATETYPE DATA(TYP)LENGTH DATA(ILEN_C) IN CHARACTER MODE"LENGTH DATA(ILEN_B) in BYTE MODEDECIMALS DATA(DES)OUTPUT-LENGTH DATA(OLEN)HELP-ID DATA(HLP)EDIT MASK DATA(MASK).LV_DATE = SY-DATUM.PERFORM PRINTHEADER USING '1、DESC_FIELD'."WRITE:/ '=============DESCRIBE FIELD============='.WRITE:/ '输出格式:', LV_DATE,/ '类型为:', TYP,/ '字符长度为:', ILEN_C,"/ '字节长度为:', ILEN_B,/ '小数位为:', DES,/ '输出长度为:', OLEN,/ '搜索帮助为:', HLP,/ '修改模式为:', MASK.SKIP.DATA: BEGIN OF STRUC1,COMP1 TYPE C LENGTH 1,COMP2 TYPE STRING,BEGIN OF STRUC2,COMP1 TYPE C LENGTH 1,COMP2 TYPE I,END OF STRUC2,END OF STRUC1.DESCRIBE FIELD: STRUC1        TYPE DATA(TYP1) COMPONENTS DATA(COMP1),STRUC1-STRUC2 TYPE DATA(TYP2) COMPONENTS DATA(COMP2).WRITE:/ 'STRUC1-COMP1 类型为:', TYP1,/ 'STRUC1-STRUC2-COMP2 类型为:', TYP2.SKIP.DATA: TEXT  TYPE C LENGTH 1 VALUE 'A',BYTES TYPE I.DESCRIBE FIELD TEXT LENGTH DATA(BLEN) IN BYTE MODE.DESCRIBE FIELD TEXT LENGTH DATA(CLEN) IN CHARACTER MODE.BYTES = BLEN / CLEN.WRITE:/ '输出格式:',TEXT,/ '字节长度为:', BLEN,/ '字符长度为:', CLEN,/ '单字符所需字节数为:', BYTES.SKIP.DATA:BEGIN OF STRUCT,TEXT TYPE C LENGTH 3,HEX  TYPE X LENGTH 3,END OF STRUCT.STRUCT-TEXT = '123'."STRUCT-HEX = 'ABC'.DESCRIBE FIELD STRUCT LENGTH DATA(SLEN) IN BYTE MODE."cl_demo_output=>display( STRUCT ).WRITE:/ '输出格式:',STRUCT-TEXT, STRUCT-HEX,/ '对比格式:','123', 'ABC',/ '字节长度为:', SLEN.SKIP.DATA: CARRID TYPE SPFLI-CARRID,STRUC  TYPE DFIES-TABNAME,COMP   TYPE DFIES-FIELDNAME.DESCRIBE FIELD CARRID HELP-ID DATA(CHLP).WRITE:/ 'CARRID的搜索帮助为:', CHLP.    "SPFLI-CARRID"通过函数调用帮助SPLIT CHLP AT '-' INTO STRUC COMP.      "SPFLI CARRIDCALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'EXPORTINGTABNAME           = STRUCFIELDNAME         = COMPEXCEPTIONSFIELD_NOT_FOUND   = 1NO_HELP_FOR_FIELD = 2INCONSISTENT_HELP = 3NO_VALUES_FOUND   = 4OTHERS            = 5.DATA SPFLI TYPE SPFLI.ASSIGN COMPONENT 'CARRID' OF STRUCTURE SPFLI TO FIELD-SYMBOL(<FS>).DESCRIBE FIELD <FS> HELP-ID DATA(CHLP2).WRITE:/ '<FS>的搜索帮助为:', CHLP2.    "SPFLI-CARRIDSKIP.DATA: TIME    TYPE S_FLTIME,SECONDS TYPE I,OUTPUT  TYPE C LENGTH 10.DESCRIBE FIELD TIME EDIT MASK DATA(MSK).SECONDS = 333.WRITE SECONDS TO OUTPUT USING EDIT MASK MSK.WRITE:/ '原值为:', SECONDS,/ 'TIME修改模式为:', MSK,/ '重写后为:', OUTPUT .ENDMETHOD.METHOD DESC_TABLE.DESCRIBE TABLE ITAB KIND DATA(TABKIND)    "SYDES_KIND-STANDARD SYDES_KIND-HASHED SYDES_KIND-SORTEDLINES DATA(TABLINE)   " lines( ITAB )OCCURS DATA(TABNO).WRITE:/ '表类型为:', TABKIND, ',表行数为:', TABLINE, "lines( ITAB )',表初始空间为:', TABNO.ENDMETHOD.METHOD DESC_DISTANCE.DATA TEXT TYPE C LENGTH 10 VALUE '0123456789'.DESCRIBE DISTANCE BETWEEN TEXT+2(1) AND TEXT+7(1)INTO DATA(CDIST)IN CHARACTER MODE.DESCRIBE DISTANCE BETWEEN TEXT+2(1) AND TEXT+7(1)INTO DATA(BDIST)IN BYTE MODE.DATA(CHARSTART) = TEXT+2(1) .DATA(CHAREND) = TEXT+7(1) .PERFORM PRINTHEADER USING '3、DESC_DISTANCE'.WRITE:/ '源字符串为:',TEXT, ',字符 ', CHARSTART , '到字符 ', CHAREND, '的距离:',/ '字符距离为:', CDIST, ',字节记录为:', BDIST.ENDMETHOD.ENDCLASS.START-OF-SELECTION."类方法:DEMO=>DESC_FIELD( )."实例方法:DATA: OBJ TYPE REF TO DEMO.DATA: ITAB1 TYPE TABLE OF SFLIGHT INITIAL SIZE 10 WITH EMPTY KEY,"ITAB2 TYPE STANDARD TABLE OF SFLIGHT,ITAB3 TYPE SORTED TABLE OF VBAP WITH NON-UNIQUE KEY VBELN,ITAB4 TYPE HASHED TABLE OF SPFLI WITH UNIQUE KEY CARRID CONNID.SELECT CARRID FROM SCARR INTO TABLE @DATA(ITAB2).PERFORM PRINTHEADER USING '2、DESC_TABLE'.WRITE:/ '表类型说明:',/ SYDES_KIND-STANDARD && ': SYDES_KIND-STANDARD' ,/ SYDES_KIND-SORTED && ': SYDES_KIND-SORTED' ,/ SYDES_KIND-HASHED && ': SYDES_KIND-HASHED'.SKIP.CREATE OBJECT OBJ.CALL METHOD OBJ->DESC_TABLE CHANGING ITAB = ITAB1.CALL METHOD OBJ->DESC_TABLE CHANGING ITAB = ITAB2.CALL METHOD OBJ->DESC_TABLE CHANGING ITAB = ITAB3.CALL METHOD OBJ->DESC_TABLE CHANGING ITAB = ITAB4."类方法:DEMO=>DESC_DISTANCE( )."FORM:格式化表头输出
FORM PRINTHEADER USING VALUE(DESC_TYPE) TYPE STRING.SKIP 2.WRITE:/ '=============',DESC_TYPE ,'============='.
ENDFORM.

【SAP Abap】SE38 - SAP ABAP DESCRIBE使用示例代码相关推荐

  1. 使用 SAP Fiori Tools 部署 SAP UI5 应用到 ABAP 服务器时遇到的各种错误和解决办法

    错误1 (node:28340) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'customMiddleware ...

  2. 关于SAP S/4HANA里ABAP源代码管理功能的增强

    关于SAP S/4HANA里ABAP源代码管理功能的增强 和以前老的ECC里的版本管理功能相比,S/4HANA里增添了两个按钮:Fetch Remote Version和Search: 前者可以直接将 ...

  3. 2019年6月SAP发布的未来ABAP平台的发展方向

    未来ABAP平台将始终是这些产品的技术平台: S/4HANA On-Premises和Cloud将基于一个统一的ABAP codeline: SAP云平台上的ABAP编程环境: 什么是SAP Clou ...

  4. SAP CRM IBASE在ABAP update task中实现update和delete操作

    本文介绍SAP CRM IBASE在ABAP update task中实现update和delete操作的原理. 要获取更多Jerry的原创文章,请关注公众号"汪子熙":

  5. SAP官方发布的ABAP编程规范

    最近有朋友在公众号后台给我留言,"Jerry啊,你最近写的都是一些SAP研究院里面用到的新技术,能不能写点SAP传统的开发技术比如ABAP相关的东西"? 其实Jerry在刚开始写这 ...

  6. 28. 如何使用 SAP OData 服务向 ABAP 服务器上传文本格式和 Excel,PDF 等格式的文件

    文章目录 1. 创建对应的自定义数据库表和 ABAP DDIC 结构 2. 完成 SEGW 事物码里模型的增强 3. 完成必要的 ABAP 编码 2023 年 5 月 12 日更新 本教程到目前为止开 ...

  7. SAP ABAP守护进程(ABAP Daemon)的实现方式

    Jerry本科学习<计算机操作系统>这门专业课时,了解到了守护进程的理念,当时我们是从Linux操作系统里的守护进程开始学习这个概念的:Linux守护进程是运行在后台的一种特殊进程,独立于 ...

  8. ABAP 基础 -SAP GUI 使用指南

    最近也是刚刚学习了ABAP语言,一边学习一边分享自己的心得和经验,希望对大家有所帮助,如果有错误的地方,希望大家可以及时在评论中帮我纠正,十分感谢! 图中T-code区域为Transaction co ...

  9. SAP教程之 Sap S/4HANA的未来是什么?它会取代 SAP ABAP 吗?

    值得注意的是,SAP S/4HANA不仅限于作为加速内存数据库,在 S/4 套件中还提供了许多产品创新.时尚的全新 Fiori 前端带有大量智能集成点,显着减少了财务和物流中使用的表格数量.类似应用程 ...

  10. SAP Scripting Tracker基本使用技巧 - VBA 示例

    SAP Scripting Tracker 的基本介绍和 Python 代码示例参见上一篇:SAP Scripting Tracker基本使用技巧.本篇提供 基于 VBA 的代码示例. 引用 sapf ...

最新文章

  1. 对象特性---->深拷贝与浅拷贝
  2. java.sql.SQLException: 关闭的 Resultset: next
  3. php 查看文件锁定状态_PHP flock 文件锁详细介绍
  4. Hibernate细节
  5. Backbone.js入门学习资源
  6. java 遗传算法_遗传算法的基本概念和实现(附 Java 实现案例)
  7. c++ 字符串合并_Python基础字符串处理
  8. python统计各分数段人数并可根据选择绘制不同的图形_python习题整理
  9. Windows XP操作系统中的禁忌
  10. MIT 6.824 学习笔记(一)--- RPC 详解
  11. 2018-2019-1 20165201 实验四 外设驱动程序设计
  12. 面试题整理 | 45道CSS面试题
  13. 读书笔记-人月神话 11
  14. 怎么把cad的图导入ps_怎么将cad图形导入ps中处理
  15. 2017、2018年JS面试题记录分享
  16. c语言内联int 21h,[X64内核]SMAP,SMEP
  17. (1/2) sharex录制屏幕没有声音,升级高版本的sharex
  18. CSDR华为云_浅谈华为云Stack中Global、Region、AZ、资源池以及主机组
  19. React+DvaJS 之 hook 路由权限控制
  20. C#练习题答案: 英雄的根【难度:1级】--景越C#经典编程题库,1000道C#基础练习题等你来挑战

热门文章

  1. 原始套接字编程 linux,linux下面的原始套接字编程问题
  2. a标签点击事件_JavaScript 中常见HTML事件
  3. 2021年高处安装、维护、拆除最新解析及高处安装、维护、拆除考试总结
  4. 牛津大学量化金融创始人:如何获取并应用互联网大数据?
  5. Csdn Blog 模板 仿部落窝风格
  6. 关于计算机软件及mme 部分,API不符合项整改结果英文.docx
  7. 您真的了解SQL的GROUP BY和HAVING子句吗?
  8. ChessGPT:免费好用的国际象棋对弈AI机器人
  9. 如何知道App广告推广效果:App推广结算统计
  10. 短链或H5唤醒(跳转)APP应用