SAP ABAP7.50新语法之OPEN SQL第二篇

当然你可以直接关注我的公众号:SAP Technical

更多内容关注公众号:SAP Technical

当使用CDS实体的名称作为数据源访问SELECT中的CDS视图时,此视图在其SELECT列表中发布关联_assoc以供外部使用,则这些关联可用作路径表达式的根元素。同样的声明。在路径表达式中,关联名称_assoc1,_assoc2,...由反斜杠(\)分隔。必须在路径表达式中直接前缀关联的目标数据源中发布根元素之后指定的关联。路径表达式不能跨多行源代码分割。

使用路径表达式编译SELECT语句时,这些表达式表示的连接将隐式添加到语句的FROM子句中。在路径表达式出现时隐式评估生成的附加数据源。这尊重协会的连接条件和CDS视图的其他条件。关注公众号:SAP Technical。可以使用路径表达式:

在SELECT语句中指定的列中。路径表达式表示左外连接(LEFT OUTER JOIN)。
作为SELECT语句中FROM子句的数据源。路径表达式表示内部联接(INNER JOIN)。
某些限制适用于Open SQL中的路径表达式关联。

@AbapCatalog.sqlViewName: 'SAP_Technical' 
@AccessControl.authorizationCheck: #NOT_REQUIRED 
define view sap_technical 
  (_spfli_scarr, id, carrier, flight, departure, destination ) 
  as select from spfli 
            association [1..1] to scarr as _spfli_scarr 
              on $projection.carrid = _spfli_scarr.carrid 
     { _spfli_scarr, 
       key spfli.carrid, 
       key _spfli_scarr.carrname, 
       key spfli.connid, 
       spfli.cityfrom,   
       spfli.cityto }

程序DEMO_CDS_ASSOCIATION使用以下SELECT语句和视图的简单路径\ __spfli_scarr,并将其与对以相同方式工作的数据的访问进行比较。

SELECT id, 
       \_spfli_scarr-carrname AS carrier, 
       flight, 
       departure, 
       destination 
       FROM sap_technical 
       INTO TABLE @DATA(result).

访问视图的完整SELECT列表的SELECT语句和访问具有相同类型的连接的视图的SELECT语句产生相同的结果。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ABAP/4 Introduction Introduction ABAP/4(Advanced Business Application Programming)是SAP/R3目前唯一的系统发展工具, 属 4GL, 语法比较近似Visual Basic或JAVA, 和传统third-generation 语言, 如C,PASCAL 有很大不同, 在程序模块(Program Structure Module)可分以 下三个部分: 1.Sequential coding within processing block 与一般语言语法近似, 如IF,WHILE等, 但并没有GOTO叙述 2.Reports 呼叫一个独立的事件(Depending Event), 读取database 产生数据列表 3.Dialog 屏幕参数输入的对话框, 专门处理database 读取或异动的tranaction process Basic Languange Overview 1.data element 宣告方式, 如数值, 字符数据变量宣告 2.操作数(operate)使用, 如 + - * / 3.Control element使用, 如Boolean 值 4.特殊数据格式, 如日期与时间 5.字符串字料处理function, 如部分字符串的截取 6.子程序或自定函数的呼叫 7.SQL语法使用 8.数据结构的使用, 如process internal table的宣告与使用 Reports Overview 1.Reports Task, 如报表屏幕预览或打印机打印的选择 2.Reports 模块是一个Stand-along 程序, 3.database读取方式, 如可定义logical database(与磁盘的physical storage对映) 4.报表数据的计算与产生 5.报表的输出 Dialog Overview 1.专处理database 的读取与异动, 如使用SQL 指令 2.Dialog 不是一个Stand-Along Progarm, 使用transaction code来产生屏幕对话框 3.由flow logic 控制, flow logic分成PBO(Process Before Output)与PAI(Process After Input) 2.Begin To Programming 2.1 ABAP/4 Editor Creating ABAP/4 Program 使用ABAP Workbench撰写程序(Choose Tools->ABAP/4 Workbench, Transaction Code: S001), 萤 幕如下: 可分成: 1.ABAP/4 Editor :针对简单的报表或程序, 仅使用几个组件或不使用 2.Obiect Browser :针对复杂的报表或程序, 如Dialog Transaction Module 撰写 使用ABAP/4 Editor 撰写程序 1.ABAP/4 Editor 画面如下(Transaction Code:SE38): 2.输入程序名称, 如果是程序, 按下”Create”, 如果修改已存在程序, 则按下”Change”或F6键 在命名规则上, Reports程序为 Yaxxxxxx或Zaxxxxxx, a表application module简称, 如s表SD Dialog程序为SAPMYxxx或SAPMZxxx 3.输入程序Attribute (1).Title:程序描述或功能说明 (2).Type:Execute mode: 1: Stand-along Program 如Reports I: Include Program M: Module Pool F: Function Group S: Subroutine Pool (3).Status:Program development status: P: SAP standard production program K: Customer productio

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值