1.SQL执行错误类 CX_SQL_EXCEPTION

获取错误消息:l_text = cx_sql_exception->get_text( ).

2.数据插入

A.单条插入:INSERT <tabname> FROM <wa>

  B.多条插入: itab 内表的行结构也必须和数据库表的行结构一致; ACCEPTING DUPLICATE KEYS :如果现出关键字相同条目,       系统将 SY-SUBRC 返回 4 ,并跳过该条目,但其他数据会插入进去

  INSERT <tabname> FROM TABLE < itab > [ ACCEPTING DUPLICATE KEYS ]

3.数据更新:

A.单条更新:UPDATE dbtab FROM wa

B.多条更新:UPDATE dbtab SET f1 = g1 … fi = gi WHERE <conditions>

UPDATE dbtab FROM TABLE itab

4.数据删除:

A.单条删除:DELETE dbtab FROM wa

B.多条删除:DELETE dbtab FROM TABLE itab

DELETE FROM dbtab WHERE <conditions>

5.插入或更新

   A.单行操作:MODIFY dbtab FROM wa

   B.多行操作:MODIFY dbtab FROM TABLE itab

6.数据查询

  A.CASE用法

  SELECT EBELN,EBELP,VGABE,CASE VGABEWHEN  '1'  THEN '物料凭证'  "此处也可以返回表中字段 ELSE  '发票凭证'END AS VGABT ,BELNR,BUZEIFROM EKBEWHERE EBELN IN @S_EBELNINTO TABLE @GT_EKBE.

B.SUBSTRING ,LPAD,LEFT

  SELECT EBELN,EBELP,VGABE,CASE VGABEWHEN  '1'  THEN '物料凭证'ELSE  '发票凭证'END AS VGABT ,BELNR,SUBSTRING( BELNR,1,5 ) AS BELNRT,  "字符转换截取LEFT( BELNR,5 ) AS BELNR1,         "字符截取LPAD( BELNR,20,'X' ) AS BELNR2,    "字符补位填值BUZEI
*         @SPACE,                           ”为字段填空值FROM EKBEWHERE EBELN IN @S_EBELNINTO TABLE @GT_EKBE.

C.CONCAT,字段连接

 SELECT CONCAT( CONCAT( LPAD( carrid,2,'A' ),LPAD( carrname,21,'B' ) ),LPAD( url,40,'C' ) ) AS lineFROM scarrINTO TABLE @DATA(result).cl_demo_output=>display( result ).

D.LPAD在关联条件中使用填充位数,解决内外部造成无法匹配的原因

  SELECT EKBE~EBELN,EKBE~EBELP,EKBE~GJAHR,EKBE~BELNR,RSEG~BUZEI,RSEG~SHKZGFROM EKBEINNER JOIN RSEGON LPAD( EKBE~BUZEI,6,'0' ) = RSEG~BUZEI "EKBE~BUZEI N型 4位 ,RSEG~BUZEI N型 6位AND EKBE~BELNR = RSEG~BELNRAND EKBE~GJAHR = RSEG~GJAHRWHERE EKBE~EBELN IN @S_EBELNINTO TABLE @DATA(result1).cl_demo_output=>display( result1 ).

动态OPEN SQL

SELECT ( column ) FROM ( dbtab )  WHERE (cond)
       INTO CORRESPONDING   FIELDS OF TABLE itab .

 TABLES:MKPF.SELECT-OPTIONS:S_MBLNR FOR MKPF-MBLNR .PARAMETERS L_TYPE TYPE C.START-OF-SELECTION.TYPES:BEGIN OF TY_MKPF,MBLNR TYPE MKPF-MBLNR,MJAHR TYPE MKPF-MJAHR,VGART TYPE MKPF-VGART,BLART TYPE MKPF-BLART,ZEILE TYPE MSEG-ZEILE,MATNR TYPE MSEG-MATNR,WERKS TYPE MSEG-WERKS,END OF TY_MKPF,TT_MKPF TYPE STANDARD TABLE OF TY_MKPF,line_type TYPE c LENGTH 72.DATA:LT_MKPF TYPE TT_MKPF,L_COND TYPE STRING,L_DBTAB TYPE STRING,L_SUBRC TYPE SY-SUBRC,LT_COLUMN TYPE STANDARD TABLE OF line_type.CLEAR:LT_COLUMN,L_DBTAB,L_COND.IF L_TYPE = '1'.
*   多表关联查询
*  抽取元素编辑APPEND 'MKPF~MBLNR,' TO LT_COLUMN.APPEND 'MKPF~MJAHR,' TO LT_COLUMN.APPEND 'MKPF~VGART,' TO LT_COLUMN.APPEND 'MKPF~BLART,' TO LT_COLUMN.APPEND 'MSEG~ZEILE,' TO LT_COLUMN.APPEND 'MSEG~MATNR,' TO LT_COLUMN.APPEND 'MSEG~WERKS' TO LT_COLUMN.
*   关联条件编辑L_DBTAB = 'MKPF INNER JOIN MSEG '& 'ON MKPF~MBLNR = MSEG~MBLNR AND '& 'MKPF~MJAHR = MSEG~MJAHR '.L_COND = 'MKPF~MBLNR IN @S_MBLNR'.ELSE.
*    单表查询APPEND '*' TO LT_COLUMN.L_DBTAB = 'MKPF'.L_COND = 'MBLNR IN @S_MBLNR'.ENDIF.PERFORM FRM_DB_SELECT USING LT_COLUMNL_DBTABL_CONDCHANGING LT_MKPFL_SUBRC.cl_demo_output=>display( LT_MKPF ).FORM FRM_DB_SELECT  USING    UT_COLUMN TYPE STANDARD TABLEU_DBTAB TYPE STRINGU_COND TYPE STRINGCHANGING CT_DATA TYPE STANDARD TABLEC_SUBRC TYPE SY-SUBRC.SELECT (UT_COLUMN)   FROM (U_DBTAB)WHERE (U_COND)INTO CORRESPONDING FIELDS OF TABLE @CT_DATA.
.C_SUBRC = SY-SUBRC.ENDFORM.

单表查询

多表查询

SAP ABAP OPEN SQL实例相关推荐

  1. SAP abap alv报表实例

    这是一个sap alv报表实例 REPORT ztest005.*定义类型组 TYPE-POOLS: abap,slis.*定义ALV变量 DATA : lt_fieldcat TYPE slis_t ...

  2. SAP ABAP的SQL中加入常量列

    有时候从数据库表里抓数据的时候想直接将该条SQL查到的语句加一个常量列,那么可以用类似以下的SQL语句实现: DATA: BEGIN OF ls_a,         matnr TYPE matnr ...

  3. 【SAP Abap】SAP S/4 ABAP OPEN SQL中WITH的应用案例

    SAP S/4 ABAP OPEN SQL中WITH的应用案例 1.原代码 2.调整后代码 3.对比 1.原代码 以HD实施开发的报表<往来交易与余额表>代码为例,原代码如下: REPOR ...

  4. SAP ABAP 接口开发(RFC,IDOC,Webservice,Native SQL)

    SAP 常用的接口开发分为几种方式: (1)RFC   (2)W ebservice  (3)IDOC (4)Native SQL 有个视频课程对SAP的这几种接口开发讲的很好,给分享下:SAP AB ...

  5. 【SAP Abap】X档案:SAP ABAP 中 AMDP 简介及实现方法

    SAP ABAP 中 AMDP 简介及实现方法 0.前言 1.AMDP 简介 1.1 代码下沉(Code Pushdown) 1.2 AMDP 是托管数据库过程的容器 1.3 AMDP 的优缺点 1. ...

  6. 【Thunder送书 | 第四期】「SAP ABAP开发从入门到精通」

    文章目录 前言 SAP系列丛书推荐 <SAP ABAP开发从入门到精通> 章节目录 送书福利 前言 Thunder送书第四期开始啦!这次活动联合机械工业出版社为大家继续带来福利,本期将赠送 ...

  7. ABAP 动态 SQL

    ABAP的sql语句是可以动态生成的,这个特性可以带给我们很多的便利. 比如SAP对费用的存储结构可能会采用 将会计月作为栏位的情况,及 period001,period002...等这样方式来存储值 ...

  8. 使用 ABAP Open SQL 的 Select AS 别名,提高代码可读性

    SAP ABAP 有些数据库表的字段名称,对于初学者来说不太友好,例如 USR01 表中的打印参数 SPLD, SPLG, SPDB, SPDA 等等. 如果直接应用在 OPEN SQL 里,不熟悉这 ...

  9. 使用 Excel 读取 SAP ABAP CDS View 通过 ODBC 暴露出来的数据

    在阅读本文前,请务必先按照在 Excel 内使用 ODBC 消费 SAP ABAP CDS view 介绍的步骤,将 SAP BTP 平台 ABAP 环境下指定的 CDS view,通过 Open D ...

最新文章

  1. C# 在用户控件中添加自定义事件
  2. R语言dplyr包的mutate函数将列添加到dataframe中或者修改现有的数据列:基于条件判断创建布尔型指示变量、将异常离散编码转化为NA值
  3. 5.spring boot使用FastJson解析JSON数据
  4. 深度解析】Google第二代深度学习引擎TensorFlow开源(CMU邢波独家点评、白皮书全文、视频翻译)
  5. php+json对象格式,PHP 创建对象来输出 JSON 格式
  6. 温州大学《深度学习》课程课件(九、目标检测)
  7. JavaScript new对象的四个过程
  8. canal数据同步(canal安装)
  9. VC6.0下opencv1.0的环境配置
  10. mac pandas文件路径_Mac进阶必看:如何利用Automator快速获取文件路径
  11. 这几天整理的 飞秋官方下载
  12. 软件工程复习笔记 UML
  13. 内存的工作原里(二)
  14. Ubuntu(Deepin)搭建Android开发环境(Android Studio)
  15. tomcat访问manager报404;server.xml中配置了Context path
  16. Oracle 表对象被锁的解决办法
  17. 【java虚拟机序列】java中的垃圾回收与内存分配策略
  18. 【AAAI2021】纠结于联合学习中的建模方法?快来看看图网络显式建模!
  19. word2vec模型保存为npy文件 clh
  20. 基于vue 2.x的移动端网页弹窗插件wc-messagebox(支持Alert,Confirm,Toast,Loading)

热门文章

  1. 前端-解除事件的绑定
  2. 【CSS基础】基础选择器+字体文本相关样式
  3. TongWeb生产系统应急处理方案
  4. 关于MIUI12.5或者任何无法使用GMS谷歌全家桶的解决办法
  5. 天津计算机三加二学校有哪些,天津3+2学校有哪些学校在招生
  6. COSCon'22 元宇宙参会指南来啦!
  7. C/C++中结构体和类的区别
  8. html表单判断字符数,JS判断字符串长度,结合element el-input el-form 表单验证(英文占1个字符,中文汉字占2个字符)...
  9. 实现表格中每行展开收起内容
  10. 信息系统管理项目监理工作:四控三管一协调