1 概述
T-code:bobf
BOPF是将数据库操作面向对象化
BS-BOPF based Application:Persistency=>Business Object Layer(BOPF)=>Transaction Layer(BOPF)=>User Interface=>Consumer
- Action 可被调用,没有private,protected,实现由具体的class实现,暴漏出来的称之为Action
- Validations 隐藏在内部,不可调用。验证
- Determinations 隐藏在内部,不可调用。数据修改时,相关数据随动。e.g. 出生年月日变动时,实际年龄随之发生变化。
- Associations 定义Node之间的关系。(一张表对应一个Node,一个BO包含多个Node)
- Query 数据库操作封装,不需要指定key
2 简介
1.BO分类
- Business Process Objects 业务数据,各类订单
- Dependent Objects 通用组件,可以被引用;必须被依赖引用才有实际业务含义
- Master Data Objects 不会随着业务的变化而变化,只要有一个与现实的对应
- Meta Data Objects 不是数据,但有现实存在,是一种规则,一种通过BO保存的配置
- Technical Objects 支持程序架构?(暂时没用过,不清楚)
2.BO简介
Constants Interface:每个BO对应一个Constants Interface,里面用来存放各种key,用来识别调用Node。生成:active=>Extras=>Generate Repository Objects=>Generate Constants Interface
3.Node简介
-
Node Type 主要分三种
-
Standard Node
-
Delegated Node 指向Relationship BO
-
Business Object Representation Node 跨BO
-
Standard Node
-
Node Type -> Standard Node
- Node Can Be Loaded Separately
- Node Can Be Locked Separately 勾选单独享有一个锁,不勾选与ROOT共享一个锁
Node Type -> Transient Node 标识Node是否临时操作,如果选中标记为临时,没有Data Access
Node Type -> Data Model -> Data Structure 定义Node中的数据,存入数据库
Node Type -> Data Model -> Transient Structure 不存入数据库,但实际业务中需要用到。 e.g. 出生年月日变动时,当前实际年龄。
Node Type -> Data Model -> Combined Structure 由Data Structure+Transient Structure组成,实际操作的数据集
Node Type -> Data Model -> Combined Table Type
Node Type -> Data Model -> Extension Include 定义新增Data Structure
Node Type -> Data Model -> Extension Incl.(tr.) 定义新增Transient Structure
4.Nodo 属性
- Node Category 一个ROOT定义很多Category,每一个Instance只能唯一的被赋予一个Category,这个Category的可以用来定义被允许使用的Associations,Determinations ,Action ,Query
- Associations
-
Determinations 被动触发。
- Determinations Cat.->Persistent 将更改数据库
- Determinations Cat.->Transient 不更改数据库
- Class/Interface 触发后执行的代码,实现
/BOBF/IF_FRW_DETERMINATION
接口
- Validations 实现
/BOBF/IF_FRW_VALIDATION
- Validation Cat-> Consistency Check 任何时候触发
- Validation Cat-> Action Check 特定的Action触发
- Actions 实现
/BOBF/IF_FRW_ACTION
接口 -
Alternative Keys 支持buffer
- Query 不支持buffer