ABAP-BOPF

1 概述

T-code:bobf BOPF是将数据库操作面向对象化
BS-BOPF based Application:Persistency=>Business Object Layer(BOPF)=>Transaction Layer(BOPF)=>User Interface=>Consumer
ABAP-BOPF_第1张图片
BOPF Architecture in Detail
  • Action 可被调用,没有private,protected,实现由具体的class实现,暴漏出来的称之为Action
  • Validations 隐藏在内部,不可调用。验证
  • Determinations 隐藏在内部,不可调用。数据修改时,相关数据随动。e.g. 出生年月日变动时,实际年龄随之发生变化。
  • Associations 定义Node之间的关系。(一张表对应一个Node,一个BO包含多个Node)
  • Query 数据库操作封装,不需要指定key

2 简介

1.BO分类

ABAP-BOPF_第2张图片
BO
  • Business Process Objects 业务数据,各类订单
  • Dependent Objects 通用组件,可以被引用;必须被依赖引用才有实际业务含义
  • Master Data Objects 不会随着业务的变化而变化,只要有一个与现实的对应
  • Meta Data Objects 不是数据,但有现实存在,是一种规则,一种通过BO保存的配置
  • Technical Objects 支持程序架构?(暂时没用过,不清楚)

2.BO简介

ABAP-BOPF_第3张图片
BO
Constants Interface:每个BO对应一个Constants Interface,里面用来存放各种key,用来识别调用Node。生成:active=>Extras=>Generate Repository Objects=>Generate Constants Interface

3.Node简介

ABAP-BOPF_第4张图片
Node
  • Node Type 主要分三种

    • Standard Node
    • Delegated Node 指向Relationship BO


    • Business Object Representation Node 跨BO


  • 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 属性

ABAP-BOPF_第5张图片
Node Elements
  • Node Category 一个ROOT定义很多Category,每一个Instance只能唯一的被赋予一个Category,这个Category的可以用来定义被允许使用的Associations,Determinations ,Action ,Query
  • Associations
ABAP-BOPF_第6张图片
Link

ABAP-BOPF_第7张图片
关系绑定
  • Determinations 被动触发。


    ABAP-BOPF_第8张图片
    触发条件

    ABAP-BOPF_第9张图片
    触发条件

    ABAP-BOPF_第10张图片
    Determinations 间的依赖关系

    ABAP-BOPF_第11张图片
    Determinations Cat
    • 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


    ABAP-BOPF_第12张图片
    image.png
  • Query 不支持buffer

你可能感兴趣的:(ABAP-BOPF)