Topic: SAP ABAP PA 认证课程 笔记

ERP俱乐部

第 1 页 总共 1 页 [共有 2 条记录]


Posted by cleanpig on 2009-03-15 04:48 下午
以下是培训课程的笔记, 因为内容较多, 所以先暂时发一篇, 如果大家有兴趣的话,可以到下面的地址去查看其它笔记。希望能对大家有所帮助

http://blog.sina.com.cn/s/articlelist_1557842787_2_1.html

F1 F4帮助按钮

 

CLIENT代表虚拟的组织,并分为两种

1.       CLIENT-SPECIFIC / CLIENT-DEPENDENT

2.       CROSS-CLIENT / CLIENT-INDEPENDENT

 

CUSTOMIZING 分为两部分

1.       CLIENT-SPECIFIC 配置

2.       CROSS-CLIENT 配置

 

REPOSITORY OBJECTS仓库对象全是CROSS-CLIENT

 

ASAP ROADMAP(SAP 配置路线图)

1.       BASIS模块先对上线系统进行配置

2.       各模块顾问(例如MM ,SD)进行配置

3.       当需要开发额外功能的时候,ABAP人员进行开发

 

开发三种方式

1.CUSTOMER DEVELOPMENT  独立的开发  (推荐使用)

2.EXTENSION             加强的开发  (不推荐使用)

3.MODIFICATIONS          修改的开发  (强烈不推荐使用,可能对日后升级造成困难)

 

SCREEN功能:

用户可以通过屏幕输入数据库查询条件,并将数据打印出来(列表)并显示给用户

 

BUFFER:

每个应用服务器APPLICATION SERVER 都有一个大的SHARED MEMORY

而对于每一个 WORK PROCESS 都拥有一个 LOCAL BUFFER,

在LOCAL BUFFER 中可以存放一些 不经常改变的数据对象,或是只读的对象

 

SAP GUI的基本方式

1.       SAP GUI FOR WINDOWS (优点:操作数据速度较快  缺点:不跨平台,而且需要安装客户端)

2.       SAP GUI FOR JAVA (优点:可以跨平台 缺点:操作速度较FOR WINDOWS 略慢)

3.       SAP GUI FOR HTML (优点:0 安装 , 查看少量数据较方便   缺点:对网络传输要求较高,速度较慢)

 

SAP BASIS DATABASE LAYER(数据库层)

在LOCAL BUFFER拥有一个TABLE BUFFER

可以将不经常改变的表放入到TABLE BUFFER中

 

 

系统之间的通信

多个DISPATCHER 由 MESSAGE SERVER 进行通信管理

多个系统之间由GATEWAY进行通信管理

INSTANCE实例间不能直接通信  要通过DISPATHER和MS进行通信

 

占有释放

ABAP与数据库的连接

ABAP不需要自己连接数据库,这不同于JAVA语言

每个工作进程启动后 就已经连接到数据库上了

 

长事务运行:

当有用户占用多个进程并且执行LONG-RUNNING ABAP PROGRAM(长运行时间程序例:死循环程序)时,其余用户只能使用剩余的少量进程,这会导致多数用户成为等待状态,速度会非常慢,

解决方法:通过BASIS人员对占用多个进程的用户 进行操作或删除,释放线程,缓解运行压力

 

 

 

BACKGROUND PROCESSING(后台进程

特点:用户不能手动控制 例如:系统晚12点自动盘点

1.       分别配两个服务器 DIALOG SERVER 和 BACKGROUND PROCESSING SERVER

2.       DS 中的DWP在数据库中SCHEDULING TABLE(日程表)中插入JOB,设置后台线程任务

3.       BPS 中的 DWP定期(默认:60 S)循环查询SCHEDULING TABLE表,当发现有新的后台任务后,将任务转给 BPS 中的BWP

4.       BWP 根据任务 对数据库进行操作

 

打印机制 Printing

SWP-打印进程 可以配置也可以不配置 但需要配置一个DWP

1.       用户通过点击打印按钮发送打印请求 (数据为可识别的编码方式)

2.       DWP 将打印请求放入到Spool Request-打印队列(可以是Database / File System)  (数据为可识别的编码方式)

3.       SWP 每隔一段时间就会到队列中寻找打印任务,当找到新的打印任务时,便执行打印任务.

4.       打印任务可以发送给本地Operating System Spool(操作系统打印线程)进行打印,也可以通过网络在远程打印机上进行打印(例:老总办公室的打印机可以远程接受远程打印报表)(此时数据是不可识别的2进制代码)

 

 

Lock Admistration 加锁机制

EWP 可以配也可以不配  必须配DWP如果配置该服务器就叫做加锁服务器

操作:

1.       使用Su3操作用户主数据(此时系统已经把数据库的用户主数据锁住了)

2.       新开一个session  再使用SU3 此时无法进入并修改用户数据,因为主数据已经被加锁

ewp锁住的是表在内存中所对应的对象

用户可以自己定义锁

锁的类型:

Shared lock共享锁(read lock)

       同时读读兼容

       同时 读写或写写不兼容

Exclusive lock独占锁

       只要用户独占 不允许任何操作(增删改查)

:如果锁对象被激活,系统将会自动生成两个function module 加锁方法 和解锁

Enqueue(加锁)  dequeue(解锁)

 

Dialog server 必须要依附于能加锁的服务器进行加锁

要通过领导

加锁是给内存中的表的对象加锁,通过锁内存锁数据库

目的是锁数据库

 

 

Multiplexing  多路复用

原理:有线电视利用有线电视传输间隙进行网络传输

DWP的处理流程

用户在点击按钮的时候,可能执行一个或多个ABAP程序,可能有一个或多个请求

程序之间可能有串联关系, 当第一个程序完成后 会带动第二个程序运行,但是这个程序也需要放到队列中并等待空闲线程.

只有当所有的程序或请求都执行完毕后,才能够出现效果

PBO  : process before output

PAI   : process After input

 

Abap screen 在弹出的时间点之前之后分别要触发两个事件    PBO  和PAI

处理一个事件,需要添加相应的代码加以实现

事件的触发机制  trigger

为事件所写的代码块叫做 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.       immediately 创建订单的时候 立即创建发票

2.       on request 有需求时创建发票

3.       next selection run or at a specified time 在指定时间里 创建发票

 

 

Message Type消息的类型包括:

在屏幕上看到发票

在打印机

传真一个发票

Email 传发票

Edi 电子数据交换

 

 

Business Workflow 工作流

Employee 员工  Supervisor 上级/长官

场景:

1.       员工需要预约  在电脑上填写预约申请

2.       通过工作流处理 上司电脑上接到预约申请 并做出决定 是否批准

3.       批准后 工作流结束

4.       如果没有批准 被拒绝的预约申请消息会被传送到员工手中,并需要进一步决策,是否需要重新修改申请表,或者是不修改申请表,直接结束工作流

5.       如果重新修改申请表,上级则再一次得到申请表,如果批准,则工作流结束

Business Scenario 工作场景

利用场景解释工作流

 

 

Abap program process  ----Main Business Scenario

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.       一部分可以执行JAVA程序

2.       另一部分是ABAP程序

 

Black box 黑盒 

对于gui和用户来说相当于一个黑匣子

 

View for the User 用户视图

screen标准屏幕:standard screen  dynpro  dynimic :功能  用户输入 ,为了插入数据库, 

selection screen选择屏幕: 功能:接受用户输入的查询的条件 对数据库进行查询(一般情况下)

List列表功能:将数据显示给用户(重要:每个ABAP程序员 必须 要掌握)

 

 

Interaction Between Server Layers

在服务器中两层之间的交互

ABAP程序启动时要到WP中执行程序 

同一个 程序 分成不同块

Start of screen

 

Abap 所有的 repository 全都在数据库中储存

程序的背景  context

定义选择屏幕时,所添加的屏幕字段,是根据数据字典中的字段定义的

所以定义前要从repository中去查看需要哪一种类型的字段

 

屏幕 内存 以及硬盘上的字段变量都对应相同的

但是储存的位置不同

在程序中,可以把内存中的变量当作数据库条件使用,使用where语句进行数据库操作

然后 数据库将结果集返回给ABAP 程序, 最后返回给列表屏幕

 

程序 可以 将内存变量当作 条件

重要:在新版本中Development classes  属于变化了 package

 

 

Abap运行过程需要使用repository (储存在数据库中) 

仓库都跨client

依赖分两部分

配置表

应用表

 

Repository 结构

Repository(仓库) 包含 application components(应用组件) 和 package (包)

Package(包) 中包含 Repository Objects(仓库对象)

 

重要:创建的仓库对象必须放到一个包中

 

管理对象的系统就是 Information System信息系统

 

Object navigator  IDE 集成开发环境

 

Abap dictionary  se11   维护

Class builder    Se24  面向对象开发

(Abap语言刚开始是面向过程 后来也支持面向对象开发)

Function builder  se37全局方法

Abap editor      Se41  在修改sap 自己的程序时

Screen painter

 

 

Se80 中的主要构成

 

Navigation area

Repository broswer

Transport orgnization 非常重要

Context menu  弹出菜单

 

Sap 仓库对象分成两部分

系统标准对象     用户对象

Sap namespace     customer namespace(必须用Y或者Z开头)

重要:只要是自己创建的 必须要(Z Y 开头)

 

 

组织有效开发

Sap 三系统架构图

3-system landscape

1.DEV 开发系统

2.TST/QAS 测试系统

3.PRD 生产系统

 

优点: 三个系统 可以降低企业风险

 

开发  测试  生产

DEV ---  TST/QAS |  (需要盖章)  PRD

组织步骤:

1.       配置或程序开发完毕后 需要发送至测试服务器进行测试

2.       测试完毕后 需要盖章 然后发送至生产系统 ,此时生产系统停止运作

3.       配置完毕后 生产系统重新启动 运作

 

相邻两系统需要从左到右进行传输(开发/配置)(transportation)

配置的传输包括模块的配置: MM PP SD等.

优点:开发的组织有利于传输

 

Sap 传输请求

Change Request变更请求 = Transportation Request传输请求

请求的创建是为了传输

开发请求 workbench change request请求

 

所有开发 以及配置的东西 必须放到 request(容器)

Change request 进行传输 相当于  project

Change request 下可以装package

不是每一个对象都需要设置request 比如不参与传输的对象Local project,可以不参与传输

创建project的时候点击SAVE便创建了全局对象(需要设置request 以用于传输),点击local object 可以创建本地对象(因为不需要传输 所以 不需要设置request)

 

Project 项目的三个重要标准

1.       项目本身

2.       开发项目的人员

3.       项目开发的时间

当项目开发人员完成所有任务后,项目负责人便可以 release project (释放工程),然后才能够向下一个系统进行传输

 

 

Change request (变更请求)的命名规范

前三个字母是系统的标识(DEV ,TST/QAS, PRD) +K9+5位数字

 

 

老师的要求的命名规范: Z开头 + project name + 3个数字(用户号)

 

Abap中的包不可以重名

 

创建project的时候需要选择相应项目经理的request

 

激活:一个仓库对象 有激活和非激活概念 


Posted by bianco on 2009-03-16 12:15 下午
不错哦