SAP 中的ABAP OPEN SQL

2 篇文章 1 订阅
一、ABAP OPEN SQL语法

如果要在ABAP中使用Open SQL 需要注意使用符合其规则的语法,SQL过程中的变量都需要使用@来转义,以下为普通SQL 与 Open SQL 之间的语法转换,

  1. 普通SQL:
SELECT MAX( MATNR ) 
 INTO IT_TAB-MATNR
 FROM MARA
WHERE MATNR LIKE LV_MATNR_01
  1. Open SQL:
 SELECT MAX( MATNR )
   FROM MARA
  WHERE MATNR LIKE @LV_MATNR_01
   INTO @DATA(GV_MATNR)
二、Open SQL CONCAT函数

1、在ABAP中使用CONCAT函数,需要符合ABAP Open SQL的语法,包括ABAP中的变量要用@转义,列表中的元素必须使用逗号分隔,INTO放置在SQL的最后,CONCAT函数可以将获取值粘贴起来,可以定义粘贴字段的占长以及占位符。
2、实例:使用lpad函数将字段填充,并使用concat函数拼接。

SELECT CONCAT( CONCAT( CONCAT( MANDT, LPAD( CARRID,15,'# ' ) ),
                                      LPAD( CARRNAME,15,'% ' ) ) ,
                                      LPAD( CURRCODE,15,'  ' ) ) AS LINE

 FROM SCARR
 INTO TABLE @DATA(RESULT).
三、Open SQL LENGTH函数

1、在ABAP中使用LENGTH函数,需要符合ABAP Open SQL的语法,包括ABAP中的变量要用@转义,列表中的元素必须使用逗号分隔,INTO放置在SQL的最后,LENGTH函数可以将获取值的长度作为SELECT的条件。
2、实例:使用函数length获取字段CARRNAME长度大于9的数据,如下

SELECT MANDT ,CARRID, CARRNAME ,CURRCODE
  FROM SCARR
 WHERE LENGTH( CARRNAME ) > 9
  INTO TABLE @DATA(RESULT).
四、Open SQL LEFT与RIGHT函数

1、在ABAP中使用LEFT与RIGHT函数,需要符合ABAP Open SQL的语法,包括ABAP中的变量要用@转义,列表中的元素必须使用逗号分隔,INTO放置在SQL的最后,LEFT函数可以截取字段值中从左侧开始的部分字符,而RIGHT函数是从右侧截取,在语法中可以定义截取的长度。
2、实例1:使用left函数获取名字的左边2位

SELECT left( carrname,2 ) AS left ,
       mandt ,
       carrid ,
       currcode
  FROM scarr 
  INTO TABLE @DATA(lt_scarr_left).

3、实例2:使用right函数获取名字的右边4位

SELECT right( carrname,4 ) AS right ,
       mandt ,
       carrid ,
       currcode
  FROM scarr
  INTO TABLE @DATA(lt_scarr_right).
五、Open SQL LOWER与UPPER函数实现大小写转换

1、在ABAP中使用LOWER与UPPER函数,需要符合ABAP Open SQL的语法,包括ABAP中的变量要用@转义,列表中的元素必须使用逗号分隔,INTO放置在SQL的最后,LOWER与UPPER函数可以将获取的字段值转换成全部大写或全部小写。
2、实例1:使用lower函数将字段carrname全都转为小写。

SELECT lower( carrname ) AS lower ,
       mandt ,
       carrid ,
       currcode
  FROM scarr
  INTO TABLE @DATA(lt_scarr_lower).

3、实例2:使用upper函数将字段carrname全都转为大写。

SELECT upper( carrname ) AS upper ,
       mandt ,
       carrid ,
       currcode
  FROM scarr
  INTO TABLE @DATA(lt_scarr_upper)
六、Open SQL LPAD与 RPAD 函数

1、在ABAP中使用LPAD及 RPAD 函数,需要符合ABAP Open SQL的语法规则,包括ABAP中的变量要用@转义,表中的字段必须使用逗号分隔,INTO放置在SQL的最后等,LPAD与 RPAD 函数可以在Select中为获取的字段值填充指定的字符串,在ABAP中的语法格式分别为LPAD( arg, len, src );RPAD( arg, len, src ) ,三个参数分别指定了操作字段;填充后值的长度;填充字符.
2、实例1:使用函数lpad函数将字段carrname左边填充字符**&**,字符长度到18:

 SELECT lpad( carrname , 18 , '&' ) AS carrname ,
        mandt ,
        carrid ,
        currcode
  FROM scarr
  INTO TABLE @DATA(lt_scarr_lpad). 

3、实例2:使用函数rpad函数将字段carrname右边填充字符**&**,字符长度到15:

SELECT rpad( carrname , 15 , '!' ) AS carrname ,
       mandt ,
       carrid ,
       currcode
  FROM scarr 
  INTO TABLE @DATA(lt_scarr_rpad). 
七、Open SQL LTRIM与 RTRIM 函数

1、在ABAP中使用LTRIM与 RTRIM 函数,需要符合ABAP Open SQL的语法规则,包括ABAP中的变量要用@转义,表中的字段必须使用逗号分隔,INTO放置在SQL的最后等,LTRIM与 RTRIM 函数可以在Select中为获取的字段值去除指定的字符串,在ABAP中的语法格式分别为LTRIM( arg, char );RTRIM( arg, char ) ,两个参数分别指定了操作字段和去除字符。
2、实例1:使用ltrim函数去除字符carrname字段左边的X字符。

SELECT ltrim( carrname , 'x' ) AS carrname ,
       mandt ,
       carrid ,
       currcode
  FROM scarr 
  INTO TABLE @DATA(lt_scarr_ltrim).

3、实例2:使用rtrim函数去除字符carrname字段右边的X字符。

SELECT rtrim( carrname , 'x' ) AS carrname ,
       mandt ,
       carrid ,
       currcode
  FROM scarr 
  INTO TABLE @DATA(lt_scarr_rtrim). 
八、Open SQL REPLACE函数

1、在ABAP中使用REPLACE函数,需要符合ABAP Open SQL的语法规则,包括ABAP中的变量要用@转义,表中的字段必须使用逗号分隔,INTO放置在SQL的最后等,L REPLACE函数可以在Select中为替换值中的某段字符串,在ABAP中的语法格式为REPLACE( arg1, arg2, arg3 ) , 其意为用arg3替换arg1中出现的所有arg2 。
2、实例1:使用函数replace函数将carrname字段中的px转换为yy。

SELECT replace( carrname , 'px' , 'yy' ) AS carrname ,
       mandt ,
       carrid ,
       currcode
  FROM scarr 
  INTO TABLE @DATA(lt_scarr_replace). 
九、Open SQL SUBSTRING函数

1、在ABAP中使用SUBSTRING函数,需要符合ABAP Open SQL的语法规则,包括ABAP中的变量要用@转义,表中的字段必须使用逗号分隔,INTO放置在SQL的最后等,SUBSTRING函数可以在Select中截取字段值中任意位置任意长度的字符串,在ABAP中的语法格式为SUBSTRING( arg, pos, len ) , 其意为从pos位开始截取arg的len位字符 。
2、实例1:使用substring函数截取carrname字段从第4位开始5个长度。

SELECT substring( carrname , 4 , 5 ) AS carrname ,
       mandt ,
       carrid ,
       currcode
  FROM scarr
 WHERE carrid <> ''
  INTO TABLE @DATA(lt_scarr_sub).

*注意:所有函数均可配合使用

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Contents Foreword ...................................................................................... 15 Preface .......................................................................................... 17 Introduction ................................................................................. 19 PART I Basic Principles 1 Overview of SAP HANA ................................................ 29 1.1 Software Components of SAP HANA .............................. 29 1.1.1 SAP HANA Database ......................................... 31 1.1.2 SAP HANA Studio ............................................. 31 1.1.3 SAP HANA Client .............................................. 33 1.1.4 SAP HANA Function Libraries ........................... 34 1.1.5 Software for Data Replication ............................ 34 1.1.6 Software for Direct Data Access ........................ 35 1.1.7 Lifecycle Management Components .................. 36 1.2 Basic Principles of In-Memory Technology ..................... 37 1.2.1 Hardware Innovations ....................................... 37 1.2.2 Software Innovations ......................................... 41 1.3 Architecture of the In-Memory Database ....................... 51 1.4 Application Cases for SAP HANA ................................... 53 1.5 How SAP HANA Affects Application Development ........ 56 1.5.1 New Technical Options ..................................... 56 1.5.2 Code Pushdown ................................................ 57 1.5.3 Database as Whitebox ....................................... 59 1.5.4 Required Qualifications for Developers ............. 61 2 Introducing the Development Environment ................. 63 2.1 Overview of Eclipse ....................................................... 63 2.2 SAP’s Eclipse Strategy .................................................... 66 2.2.1 Unbundling of Eclipse and SAP Software ........... 67 2.2.2 Central Update Site ........................................... 67 2.3 Installing the Development Environment ....................... 69 2.3.1 Installing SAP HANA Studio .............................. 69 8 Contents 2.3.2 Installing the ABAP Development Tools for SAP NetWeaver ................................................. 70 2.4 Getting Started in the Development System ................... 72 2.4.1 Basic Principles of Eclipse .................................. 72 2.4.2 ABAP Development Tools for SAP NetWeaver ... 75 2.4.3 SAP HANA Studio ............................................. 85 3 Database Programming Using SAP NetWeaver AS ABAP ........................................................................ 103 3.1 SAP NetWeaver AS ABAP Architecture .......................... 105 3.1.1 Database Interface ............................................ 107 3.1.2 Role of the Database for the ABAP Application Server ............................................. 109 3.1.3 Data Types ........................................................ 110 3.2 ABAP Database Access .................................................. 116 3.2.1 ABAP Data Dictionary ....................................... 117 3.2.2 Open SQL ......................................................... 122 3.2.3 Database Views in the ABAP Data Dictionary .... 132 3.2.4 Database Access via Native SQL ........................ 133 3.2.5 Secondary Database Connections ...................... 139 3.3 Analyzing Database Accesses Using the SQL Trace ......... 143 3.3.1 Statement Transformations ................................ 143 3.3.2 Secondary Connections ..................................... 150 3.3.3 Native SQL ........................................................ 151 3.3.4 Buffer ................................................................ 152 PART II Introduction to ABAP Programming with SAP HANA 4 View Modeling in SAP HANA Studio ........................... 157 4.1 Attribute Views ............................................................. 160 4.1.1 Basic Principles ................................................. 161 4.1.2 Creating Attribute Views ................................... 164 4.1.3 Calculated Fields ............................................... 172 4.1.4 Hierarchies ........................................................ 174 4.1.5 Attribute Views for Time Values ........................ 176 9 Contents 4.1.6 Runtime Artifacts and SQL Access for Attribute Views ................................................. 179 4.2 Analytic Views ............................................................... 180 4.2.1 Basic Principles ................................................. 181 4.2.2 Creating Analytic Views ..................................... 183 4.2.3 Calculated Key Figures ...................................... 186 4.2.4 Currency Conversion and Unit Conversion ........ 187 4.2.5 Runtime Artifacts and SQL Access for Analytic Views .................................................. 191 4.3 Calculation Views .......................................................... 192 4.3.1 Basic Principles ................................................. 193 4.3.2 Graphical Modeling of Calculation Views .......... 195 4.3.3 Implementing Calculation Views via SQLScript .......................................................... 197 4.3.4 Runtime Artifacts and SQL Access for Calculation Views .............................................. 202 4.4 Accessing Column Views via Microsoft Excel .................. 203 4.5 Using SAP HANA Views in ABAP ................................... 205 4.5.1 Access via Native SQL ....................................... 205 4.5.2 External Views in the ABAP Data Dictionary ...... 207 4.5.3 Options for Accessing External Views ................ 210 4.5.4 Recommendations ............................................ 211 5 Programming Options in SAP HANA ............................ 215 5.1 Overview of SQLScript ................................................... 215 5.1.1 Qualities of SQLScript ....................................... 216 5.1.2 Processing SQLScript ......................................... 222 5.2 Implementing Database Procedures ............................... 223 5.2.1 Basic Principles of Database Procedures ............ 223 5.2.2 Creating Database Procedures ........................... 225 5.2.3 Using Variables .................................................. 237 5.2.4 Calculation Engine Plan Operator ..................... 239 5.2.5 Imperative Enhancements ................................. 250 5.2.6 Accessing System Fields .................................... 252 5.2.7 Error Handling ................................................... 254 5.3 Using Procedures in ABAP ............................................. 255 5.3.1 Access Using Native SQL ................................... 256 10 Contents 5.3.2 Defining Database Procedure Proxies ................ 263 5.3.3 Calling Database Procedure Proxies ................... 265 5.3.4 Adjusting Database Procedure Proxies ............... 267 6 Application Transport ................................................... 269 6.1 Basic Principles of the Transport System ......................... 271 6.1.1 Transport in SAP NetWeaver AS ABAP .............. 271 6.1.2 Transport in SAP HANA ..................................... 276 6.2 Combined ABAP/SAP HANA Transport .......................... 285 6.2.1 HANA Transport Container ................................ 286 6.2.2 Enhanced Transport System ............................... 292 7 Runtime and Error Analysis with SAP HANA ............... 293 7.1 Overview of the Tools Available ..................................... 294 7.2 Error Analysis ................................................................. 296 7.2.1 Unit Tests .......................................................... 296 7.2.2 Dump Analysis .................................................. 299 7.2.3 Tracing in SQLScript .......................................... 301 7.2.4 Debugging SQLScript ........................................ 302 7.3 ABAP Code Analysis ...................................................... 305 7.3.1 Checks and Check Variants ................................ 305 7.3.2 Checks in the Development Infrastructure ......... 309 7.3.3 Global Check Runs in the System ...................... 311 7.4 Runtime Statistics and Traces ......................................... 313 7.4.1 Runtime Statistics .............................................. 314 7.4.2 ABAP Trace and ABAP Profiler ........................... 318 7.4.3 SQL Trace ......................................................... 326 7.4.4 Single Transaction Analysis ............................... 330 7.4.5 Explain Plan ...................................................... 331 7.4.6 SAP HANA Plan Visualizer ................................ 333 7.5 System-Wide SQL Analyses ............................................ 337 7.5.1 DBA Cockpit .................................................... 338 7.5.2 SQL Monitor .................................................... 342 7.6 SQL Performance Optimization ...................................... 346
ABAP(Advanced Business Application Programming)是SAP的一种编程语言,用于开发企业级应用程序。在ABAP,可以直接执行SQL语句来操作数据库。 ABAP通过使用Open SQL语句来直接执行SQLOpen SQL是一种特殊的ABAP语法,可以在ABAP程序直接执行SQL语句,而不需要使用特定的数据库语言。 要在ABAP执行SQL语句,首先需要在ABAP程序定义一个数据库表类型或者内表,用于存储从数据库检索的数据。然后,可以使用SELECT语句从数据库检索数据,也可以使用INSERT、UPDATE和DELETE语句来对数据库进行插入、更新和删除操作。 通过在ABAP程序直接执行SQL,可以方便地访问和处理数据库的数据。由于ABAP内置了对数据库的访问和管理功能,因此执行SQL不需要额外的库或驱动程序。同时,在ABAP可以使用数据字典来定义和管理数据库表结构,使得执行SQL更加方便和灵活。 需要注意的是,在直接执行SQL时,需要保证代码的安全性和稳定性。为了防止SQL注入和其他安全问题,应该在执行SQL之前对输入数据进行验证和过滤。同时,在执行SQL之后,应该对返回的数据进行正确性和完整性的验证,以确保数据的一致性和正确性。 总而言之,ABAP可以直接执行SQL语句来操作数据库。通过使用Open SQL语句,可以方便地访问和处理数据库的数据,为企业级应用程序的开发提供了便利。同时,需要注意对输入数据和返回数据的验证,以保证代码的安全性和数据的正确性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值