自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SAP Blog——SAP Explorer

可以平凡,但绝不可以平庸。努力学习,奋发向上每一天。

  • 博客(64)
  • 收藏
  • 关注

转载 Step by Step之MIGO BAdI应用{转载}

1.T-code: SE19,创建ZKEVIN_MIGO Implementation2.SE80 建立Program ZKEVINMIGO。同时可以根据提示建立ZKTOP3.在ZKTOP中建立自定义字段*&---------------------------------------------------------------------**& I

2009-10-21 23:42:00 1041

转载 ALE&IDoc& EDI(9)--others {转载}

对ALE/IDoc进行了一个粗略的总结,而实际上ALE/IDoc还有很多应用,比如与BAPI的接口(实际上就用BAPI把ALE/IDoc的内容封装起来),这样就方便做一些外部调用等动作了,与其他SAP系统的接口(BI、PI等),与第三方系统的交互(EDI)等一系列的应用。总的来说,这项技术在SAP中很有用。    还是要重提一句话,这种实践性很强的技术,一定要多练习,光看书是没用的。所以我在一

2009-10-21 23:40:00 657

转载 ALE&IDoc& EDI(8)--Serialization {转载}

Serialization在ALE/IDoc中的一个应用。有一些标准的Serialization Groups,实际定制的不多,这里只是作为一个知识储备讲一下。   何为Serizalization?就是一系列的Message type按一定序列发送接受,可以理解为打包发送。这与一般的单个的Message type不同,SAP有它特定的一些设置,下面就让我们来看看这些设置。   

2009-10-21 23:39:00 709

转载 ALE&IDoc& EDI(7)--IDoc Extension {转载}

SAP已经提供很多标准的IDoc type、Message type及相关的程序,可以通过配置就可以完成一般的分发和接受。    但是,由于客户的定制化,很多标准表做过了增强,同时也有一些新增的主数据需要传输,所以就需要对现有的一些IDoc及相关程序做增强。我们假设标准的主数据已经做过增强(比如MATMAS,DEBMAS等),下面讲一下增强的一般流程。1.         WE31,建立将

2009-10-21 23:38:00 908

转载 ALE&IDoc& EDI(6)--Filter & Conversion {转载}

SAP为了ALE/IDoc更具灵活性,提供了Filter和Conversion功能。Filter是针对Message type的,而Conversion则是针对Sender和Receiver的。         Filter的一般定义流程为:T-code: BD95->BD59->BD64,Filter是针对Outbound使用的,可以时一些不符合Filter的数据过滤掉,不生成IDoc,也不

2009-10-21 23:36:00 974 1

转载 ALE&IDoc& EDI(5)--Inbound Function {转载}

ALE/IDoc 在Outbound的时候,需要有程序来生成IDoc,在Inbound的时候需要有程序来解析IDoc,从而在R/3中生成主数据。   由于Outbound有:Message Control, Change Point, Stand-Alone三种方式,所以就衍生出三种不同Outbound程序。但是概念上,总体是一致的,只是实现是一些参数和功能不一样。相比而言,Inbound就比

2009-10-21 23:35:00 638

转载 ALE&IDoc& EDI(4)--change point02 {转载}

Change point的第二种方法就是SMD,通过一系列的配置和Job,你就可以做到,让不同的Message type自动分发。这里所谓的自动分发,就是当一个系统中的主数据发生修改,创建,删除时,其他相关联的系统也会自动更新。我这边主要用的就是这个技术。   下面来具体讲一下:有几张表大家需要熟悉:BDCP : change pointBDCPS:Change pointer:

2009-10-21 23:34:00 1322

转载 ALE&IDoc& EDI(3)--change point01 {转载}

SAP中实现分布式的一个机制就是ALE/IDoc,而在具体一点就是change point。         Change point是用来分发主数据的。主要有两种实现方式,一种是直接方式,另外一种是通过SMD tool(shared data master tool)来实现。   我们先来讲一下直接方式。所谓的直接方式,就是运行一个为一个主数据专门的Repoort程序,填入相关参数,就可

2009-10-21 23:31:00 1171

转载 ALE&IDoc& EDI(2)--一般流程{转载}

ALE/IDoc的实践性很强的技术,也就是说你做得越多,碰到的问题越多,提高也就越多,光是理论是没什么用得。   所以先把一般配置一套ALE/IDoc的流程总结一下,以后再把经验性、总结性的东西慢慢添加进去。   有两个比较有用的Menu T-code:WEDI, SALE。分别用来配置IDoc/EDI, 和ALE的。 自定义IDoc流程:Create Segment: WE3

2009-10-21 23:28:00 875

转载 ALE&IDoc& EDI(1)--OverView {转载}

 我在新环境中,学到的最多的东西就是接口技术,也是我觉得很有用的一些知识。    由于公司业务复杂,第三方系统很多,有很多业务系统在上面跑。SAP引入之后,就需要和第三方系统做接口,比如订单、物流什么的。不过有一个很好的趋势,很多老系统在被淘汰,原来的一些核心业务正在向SAP移植,可见SAP还是不错的,这口饭还有得吃。    我这边的接口类型有不少,比如ALE/IDoc,PI,FTP等。但

2009-10-21 23:27:00 803

转载 Screen{转载}

来定定调子,Screen是既复杂又简单的一种应用。   为什么说简单呢?等你写多了就知道了,它的框架很固定,无非里面的‘血肉’换了换。那为什么说复杂呢?加上业务就复杂了。因为关于应用的开发,需求一开始往往是不全的,属于那种先把效果做出来,然后用户用过了,再慢慢改进的东西,最后可能改得你自己都不认识了。我做过一个类似于MIGO自动发货功能的应用,就是如此。一开始需求很简单,做出来之后,就要求越来

2009-10-21 23:26:00 407

转载 锁表机制{转载}

SAP的一大特点,就是可以设置Batch Job,定时定量跑程序。    但是这样就会碰到一个问题,会出现多个Batch job读写的情况。如果仅仅是读或是写的话,还好,最多是数据库延迟。但是如果对一个表,即读又写的话,就会产生数据一致性问题。比如,A Job读取数据X,然后做修改,但是修改的同时又有另外一个Job已经更新的X数据,结果A Job把另外一个更新的数据覆盖了,没有达到要预定的要求

2009-10-21 23:23:00 575

转载 SAP Archiving(10)--一些补充02 {转载}

对之前的Archiving做一下补充。    由于数据库中的数据做完Archiving后,会暂时存在SAP服务器中,之后才会移到相应的Storage System。    所以要对Archiving数据的存储路径和命名规则进行定义。    你在AOBJ->Customizing Settings中要输入Logical File Name,那个是在T-code: FILE里定义的。同

2009-10-21 23:22:00 367

转载 SAP Archiving(9)--再谈架构03 {转载}

这里我们聊一下动态调用和Mapping。   作为一个比较大型的应用,动态调用和Mapping是必不可少的,有了这两样法宝,可以减少很多冗余代码,同时也简化日后维护。   下面给一个例子:分两部分,一个是function group,另一个运行用的reportFunction pool: SAPLZKEVIN_A***********************************

2009-10-21 23:21:00 316

转载 SAP Archiving(8)--再谈架构02 {转载}

将一个功能或者模块的开发放在一个Package里,这是一个习惯。就如,我们把SAP Archiving中所有的字典对象,类,程序等都会放在一个Package里。国内有些项目放得很随意,有根据开发人员分Package的,有分得很宽泛的,更有甚者随便拿了个Package就可以你放,以为只要能传输就可以了……但是为了方便项目的管理和维护,我觉得还是以项目为单位比较好。特别是当一个公司模块很多,错综复杂的

2009-10-21 23:20:00 366

转载 SAP Archiving(7)--再谈架构01 {转载}

之前说过一个Main Menu的架构,虽然实现难度不是很大,但是却可以省去用户很多麻烦。所有的T-code都集中在一个屏幕上,再也不用记那么多繁杂的T-code了。    主要是在Menu Bar里加上相应的T-code和描述,下面是代码的实现。很简单吧!但很实用!*----------------------------------------------------------

2009-10-21 23:18:00 452

转载 SAP Archiving(6)--一些补充{转载}

对之前的Archiving做一下补充         T-code: AOBJ,Customizing Setting里,有一块是’Place File in Storage System’,是将在SAP文件系统中的Archive文件,移送到外围的Storage System中。但是,在我参与的项目中没有使用这个选项,而是由人工去实现移送。Content Repository需

2009-10-21 23:17:00 499

转载 SAP Archiving(5)--很好的架构{转载}

由于这边的业务比较复杂,对需要Archiving数据做的处理也就很多。    这里我就要提到架构问题。之前写程序也没考虑到架构问题,因为大家都知道,国内做ABAP开发,程序的规模都不是很大。能在一个程序里写完的,绝对不放在两个程序里搞定。    刚看到把一个程序搞那么复杂时,我真觉得那个美国的架构师是不是闲得没事做了,特意把简单东西复杂化了。    但实则不然。    后来在做项目

2009-10-21 23:13:00 578

转载 SAP Archiving(4)--重点{转载}

你说SAP Archiving的重点和难点是什么?是技术么?显然不是,SAP已经提供了一套相当简便的方法,还有也有很多例子可供参考。有一个很Senior的BASIS和我说过,BASIS做多了,就成了体力活,我想这句话应该是真的。很多BASIS的活不难,但是很需要熟练度,像这个Archiving的项目,看上去,主力是BASIS,但实际上,你只要会用几个T-code(DB02,DB15等)和一些DB上

2009-10-21 23:11:00 534

转载 SAP Archiving(3)--代码举例{转载}

SAP Archiving中对于一些增强过的表及特殊要求,我们要重写一些PreProcessing, Write, Delete, Read等程序。由于PreProcessing就是在Archiving前做一些检查和处理,每个表都有不同。所以下面就举Write, Delete, Read等比较通用的程序。(其实还是按照我之前的方法,把例子看懂了,逻辑清楚了,就可以拿来重用了。不然每次都重头写,不要

2009-10-21 23:09:00 725

转载 SAP Archiving(2)--项目介绍{转载}

上文介绍了一下Archiving,下面来介绍我参与的那个项目。   一般来说Archiving只要Basis去做就可以了,但是由于上线一段时间后客户会做很多的定制和增强,那么原有的Archiving程序就不能再用了,需要重新编写。   Archiving运行界面:    我们需要用T-code: AOBJ来定义一个Archiving Object。其中有四个主要的地方需要ABA

2009-10-21 23:08:00 550

转载 SAP Archiving(1)--OverView {转载}

所谓的SAP Archiving中文解释就是归档。这是一个什么样的概念呢?就比如,纸质办公的企业,它每年都会有很多的资料和数据,过几年就需要把一些用不着的文件整理处理,由专门的人员管理和保存,不再或很少拿出来使用(仅供特殊用途)。这是为了保证这些过时的文件,不影响到现有的业务,以免混在一起,降低现时文件的查找效率、造成管理混乱。那么现在SAP的归档,你可以理解成把纸质变成了硬盘和磁碟机,它们也有存

2009-10-21 23:07:00 457

转载 Enhancement(6)--BAdIs {转自}

 BAdIs(Business Add-Ins)是SAP在R/3 release 4.6A后增加的增强技术。总的来说,BAdIs克服了之前出口的所有缺点,并且还是用最新的OO技术实现,可谓是万千宠爱于一身。不过在项目中,用BAdIs的顾问还是比较少,多数是用Customer Exit和User Exit完成。    T-code se18 BAdI Definition    T-code

2009-10-21 23:05:00 421

转载 Enhancement(5)--Field Exits {转载}

Field Exits,我想了一下还是单独拿出来写一下比较好。    虽然技术上来讲有点像Customer Exits(两者都是通过function来实现出口的),但是其原理和用途又有很大不同,而且Field Exits,SAP在4.6之后就不再支持了,如果没有用过这个技术,想要用,还要重新启动PRD才行,很麻烦,所以这里只是做个介绍性来谈谈这种出口方式。    大家可以在SE38里,运行

2009-10-21 23:02:00 429

转载 Enhancement(4)--Customer Exits {转载}

Customer Exits, 顾名思义,就是用户自定义出口。    有3类这样的出口:Function Module Exits; Menu Exits; Screen Exits    有两个常用的T-code:     CMOD: 用于增强项目的管理    SMOD: 增强项目的具体实现    Function Module Exits: 就是在标准程序中预置有形如c

2009-10-21 22:58:00 397

转载 Enhancement(3)--User Exits {转载}

User Exits是SAP第一代增强技术,其技术原理就是在程序中预先置放一个Form...EndForm的子程序,并在事物运行时Call这个Form。当然,如果这个Form是空的,那么不执行任何操作,反之,执行相应的动作。User Exits的写法,和修改标准程序是一致的,要有向SAP申请Access Key才能对这些程序进行修改。与修改标程的区别在于,在SAP做升级的时候,User Exits

2009-10-21 22:55:00 308

转载 Enhancement(2)--Dictionary Elements {转载}

 对于透明表及结构的增强,主要两种。一种是Append Structure,还有一种就是Include形式。    Append Structure可以扩展原来的表结构,但是并不是在原来的表上加字段,而是再建一个附加的结构,物理上,数据是存在两处的。而且,一个Append Structure只能有一张表结构。如果把有Append Structure结构的表进行复制的话,那么在新的表中,原有的A

2009-10-21 22:54:00 314

转载 Enhancement(1)--BTEs {转载}

最近一个同事碰到一个FI的增强,要用BTEs实现,我也是第一次接触到这种增强,所以跟着他一起做了一下。写一个这方面的小节。   BTEs(Business Transaction Events),是SAP的一种增强方式,技术上讲是介于Customer Exits和BAdIs的产物。   它主要有两种类型的接口:   Publish and Subscribe Interface  

2009-10-21 22:52:00 337

转载 SMARTFORM & SAPScript{转载}

SMARTFORM和SAPScript是SAP用于打印单据和报表的工具。SMARTFORM是SAPScript的替代工具,但是由于SAP最初都是用SAPScript,所以很多单据的打印,比如PO,Billing都是用SAPScript,所以为了能减少定制的时间,重用SAPScript也是一种不错的方法。   之前很幸运,在一个项目中把这两种打印程序都玩了一把,感受颇深。这种打印程序的难点并不在

2009-10-21 22:49:00 341

转载 LSMW{转载}

LSMW(Legacy System Migration Workbench),设计的初衷是为了R/3期初的数据导入,但是在上线后,这个工具还是非常地有用。   LSMW一共4中输入方式:Standard Batch/Direct Input; Batch Input Recording; Business Object Method(BAPI); IDoc(Intermediate Docu

2009-10-21 22:45:00 566

转载 ALV,TABLE TREE等一些控件{转载}

今天来总结一下ABAP中一些常用的控件,除去之前写过的一些,还有ALV_GRID, ALV_TREE, TABLE_TREE等。    现在用的控件很多都是用类写的,而它们的使用,说白一点,就和用JAVA中的类没什么区别,一个诀窍就是记住通用的写法,然后再根据不同控件变化。    最好,每个控件都总结一个通用模版,这可以大大节约实施中的时间。老白的博客上有不少这方面的例子,我这里就不再写了

2009-10-21 22:39:00 410

转载 ABAP的学习方法{转载}

写了一部分ABAP总结了,感觉有些东西一定要重点写下,就比如今天要说的学习方法。   想当时,虽然算是个科班毕业,但是入行之初,还是如履薄冰,幸有恩师barry在旁指点,才少走了很多弯路。   barry教了我不少东西,其中至今受益匪浅的一句话,‘凡是不能全靠老师,要靠自己去研究!’,有点‘授之以鱼,不如授之以渔’的意思,‘要靠自己去研究’就是‘渔’。   后来做项目,barry不在身

2009-10-21 22:38:00 407

转载 OLE & DOI {转载}

提到OLE&DOI,我们不得不先说说两者这间的关系。   OLE是SAP早期与微软Office集成的工具,而DOI是它的替代技术。在实际项目中使用到OLE&DOI的场合多是EXCEL表格的读入或是填制。有些需要自动画表格及填数据,有的只是要求在原有的模版上填制数据。根据不同的场合可以选用不同的技术。(有些公司用EXCEL的打印来替代FORM)   下面主要讲一下,OLE&DOI关于EXCE

2009-10-21 22:33:00 793

转载 Table Control {转载}

Table Control作为一个表维护的标准工具,在屏幕程序中经常使用。它的特点就是简单,实现速度快。缺点就是不够灵活。   我个人更喜欢用ALV grid,由于基于OO,ALV grid绘制图形表格,更加灵活,功能更加强大(大家从标准的ALV grid中自带了那么多功能键就知道了)。但是往往强大的工具,实现起来就相对就比较复杂。   所以对于需求比较简单的功能,诸如从一些外部文件导入数

2009-10-21 22:23:00 452

转载 CATT & eCATT {转载}

CATT是SAP自带的一个用于辅助测试的工具,理论上是用于功能测试,在新版本的R/3中已经被弃用,取而代之的eCATT。两者的关系可以从他们的命名中可见一斑。 CATT:Computer Aided Test Tool(Tcode: SCAT)eCATT:extended Computer Aided Test Tool(Tcode: SECATT)    CATT提供的是类似于BDC

2009-10-21 22:20:00 613

转载 Web Dynpro及相关{转载}

Web Dynpro是SAP为了推行它的Netweaver战略而对ABAP用途的又一次扩展。    国内使用Web Dynpro的项目不多,我个人也只是将一些SAP的官方文档看了一下并且自己做了几个例子把玩了一下(实际上就是把R/3里的程序做成Web界面而已)。总体感觉不是很难,只要有一些OO的基础,上手是很快的。    Web Dynpro有以下几个特点:做过BI

2009-10-21 22:15:00 532

转载 BDC完整版{转载}

BDC(batch data communication)是SAP常用的一种数据传输方法。用于一些数据量大,但是对速度又要求不高的数据传输。    在实施中,很多开发顾问都忽略了BDC的日志和出错管理。这给用户在使用中带来了很大的不便。比如:哪些数据是成功生成的,哪些是失败的?那些失败的,原因的是什么?程序问题还是数据问题?    我觉得,既然是要做一套程序,那就应该尽可能地为客户考虑,减

2009-10-21 22:08:00 478

转载 ABAP程序模版{转载}

*----------------------------------------------------------------------** Program Name: Z_KEVIN_TEMPLATE* Project     : N/A* Author      : Kevin.Zhang* Date        : 2007.1.1* Module      : N/A* Descr

2009-10-21 22:02:00 377

转载 SAP学习日志--- SD module 内部培训笔记 part 1{转载}

SD 前言整个SALES流程是一个订单驱动的流程,概略的标准流程如下。 (一)  SD标准流程前期广告 -> 询价(inquiry) -> 报价(quotation) -> 订单(Sale order)->运输(Shipping)->开票(Billing) (二)  Sales Order 相关在Sale Order type 中包含 Return Order ty

2009-10-21 17:22:00 1233

转载 寒假SAP ABAP 培训笔记 part 7{转载}

子屏幕  建立步骤:1.       先建立一个新的程序以存放子屏幕screen type ---subscreen2.       在主程序屏幕中 建立子屏幕区域(名称一定要大写)3.       在屏幕的PBO中 调用子屏幕        call subscreen [屏幕区域名] including ‘[子屏幕程序名]’ ‘[子屏幕号]’.4.      

2009-10-21 17:15:00 510

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除