CLIENT代表虚拟的组织,并分为两种
1.
2.
CUSTOMIZING 分为两部分
1.
2.
REPOSITORY OBJECTS仓库对象全是CROSS-CLIENT的
ASAP ROADMAP(SAP 配置路线图)
1.
2.
3.
开发三种方式
1.CUSTOMER DEVELOPMENT
2.EXTENSION
3.MODIFICATIONS
SCREEN功能:
用户可以通过屏幕输入数据库查询条件,并将数据打印出来(列表)并显示给用户
BUFFER:
每个应用服务器APPLICATION SERVER 都有一个大的SHARED MEMORY
而对于每一个 WORK PROCESS 都拥有一个 LOCAL BUFFER,
在LOCAL BUFFER 中可以存放一些 不经常改变的数据对象,或是只读的对象
SAP GUI的基本方式
1.
2.
3.
SAP BASIS DATABASE LAYER(数据库层)
在LOCAL BUFFER拥有一个TABLE BUFFER
可以将不经常改变的表放入到TABLE BUFFER中
系统之间的通信
多个DISPATCHER 由 MESSAGE SERVER 进行通信管理
多个系统之间由GATEWAY进行通信管理
INSTANCE实例间不能直接通信
占有释放
ABAP与数据库的连接
ABAP不需要自己连接数据库,这不同于JAVA语言
每个工作进程启动后 就已经连接到数据库上了
长事务运行:
当有用户占用多个进程并且执行LONG-RUNNING ABAP PROGRAM(长运行时间程序例:死循环程序)时,其余用户只能使用剩余的少量进程,这会导致多数用户成为等待状态,速度会非常慢,
解决方法:通过BASIS人员对占用多个进程的用户 进行操作或删除,释放线程,缓解运行压力
BACKGROUND PROCESSING(后台进程)
特点:用户不能手动控制 例如:系统晚12点自动盘点
1.
2.
3.
4.
打印机制 Printing
SWP-打印进程 可以配置也可以不配置 但需要配置一个DWP
1.
2.
3.
4.
Lock Admistration 加锁机制
EWP 可以配也可以不配
操作:
1.
2.
ewp锁住的是表在内存中所对应的对象
用户可以自己定义锁
锁的类型:
Shared lock共享锁(read lock)
Exclusive lock独占锁
注:如果锁对象被激活,系统将会自动生成两个function module 加锁方法 和解锁
Enqueue(加锁)
Dialog server 必须要依附于能加锁的服务器进行加锁
要通过领导
加锁是给内存中的表的对象加锁,通过锁内存锁数据库
目的是锁数据库
Multiplexing
原理:有线电视利用有线电视传输间隙进行网络传输
DWP的处理流程
用户在点击按钮的时候,可能执行一个或多个ABAP程序,可能有一个或多个请求
程序之间可能有串联关系, 当第一个程序完成后 会带动第二个程序运行,但是这个程序也需要放到队列中并等待空闲线程.
只有当所有的程序或请求都执行完毕后,才能够出现效果
PBO
PAI
Abap screen 在弹出的时间点之前之后分别要触发两个事件
处理一个事件,需要添加相应的代码加以实现
事件的触发机制
为事件所写的代码块叫做 event block
注:同一个程序
一个屏幕前后的PBO PAI 不一定能在同一个DWP中,由于时间的关系, 系统可能会把它们分到不同的DWP中. 但给用户的感觉却是流畅的.
Enterprise Structure:企业架构
在逻辑上的大小顺序:
Client > company code > plant > Sales Organization > Division > Storage Locations
client(集团)代表企业
企业的分支机构都拥有公司的编码
下属工厂进行生产
销售组织
子机构
仓库
注:系统上线之前 要把所有组织机构 全都要配置到R/3中
Customer master 客户主数据
采购冰箱
general data 公共数据
financial accounting data
g/l
数据库的转换
Sap中成品半成品 都算是物料
Message Type
分三种类型:
1.
2.
3.
Message Type消息的类型包括:
在屏幕上看到发票
在打印机
传真一个发票
Email 传发票
Edi 电子数据交换
Business Workflow 工作流
Employee 员工
场景:
1.
2.
3.
4.
5.
Business Scenario 工作场景
利用场景解释工作流
Abap program process
Sap abap 必须要有业务场景
飞机场的业务模型Sap flight date model
Departure city 起飞城市
Departure airport
Destination airport 目的机场
Destination city 目的城市
帮助旅行代理或旅行社订票的基本需求:
在特定的时间到指定的地点
处理特定的航班订票
附加的信息
Price 价格
Capacity 容量
非常重要:航班模型的表:
SCARR 航空公司表
SPFLI 航线表
SFLIGHT 航班表(订票时所需要的表)
以上表的关系是树形关系
一个航空公司对应多个航线,而一个航线对应多个航班
Client/Sever Architecture
Work process 可以执行ABAPprogram
应用服务器一分为二:
1.
2.
Black box 黑盒
对于gui和用户来说相当于一个黑匣子
View for the User 用户视图
screen标准屏幕:standard screen
selection screen选择屏幕: 功能:接受用户输入的查询的条件 对数据库进行查询(一般情况下)
List列表功能:将数据显示给用户(重要:每个ABAP程序员 必须 要掌握)
Interaction Between Server Layers
在服务器中两层之间的交互
ABAP程序启动时要到WP中执行程序
同一个 程序 分成不同块
Start of screen
Abap 所有的 repository 全都在数据库中储存
程序的背景
定义选择屏幕时,所添加的屏幕字段,是根据数据字典中的字段定义的
所以定义前要从repository中去查看需要哪一种类型的字段
屏幕 内存 以及硬盘上的字段变量都对应相同的
但是储存的位置不同
在程序中,可以把内存中的变量当作数据库条件使用,使用where语句进行数据库操作
然后 数据库将结果集返回给ABAP 程序, 最后返回给列表屏幕
程序 可以 将内存变量当作 条件
重要:在新版本中Development classes