- 博客(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
1091
转载 ALE&IDoc& EDI(9)--others {转载}
对ALE/IDoc进行了一个粗略的总结,而实际上ALE/IDoc还有很多应用,比如与BAPI的接口(实际上就用BAPI把ALE/IDoc的内容封装起来),这样就方便做一些外部调用等动作了,与其他SAP系统的接口(BI、PI等),与第三方系统的交互(EDI)等一系列的应用。总的来说,这项技术在SAP中很有用。 还是要重提一句话,这种实践性很强的技术,一定要多练习,光看书是没用的。所以我在一
2009-10-21 23:40:00
707
转载 ALE&IDoc& EDI(8)--Serialization {转载}
Serialization在ALE/IDoc中的一个应用。有一些标准的Serialization Groups,实际定制的不多,这里只是作为一个知识储备讲一下。 何为Serizalization?就是一系列的Message type按一定序列发送接受,可以理解为打包发送。这与一般的单个的Message type不同,SAP有它特定的一些设置,下面就让我们来看看这些设置。
2009-10-21 23:39:00
756
转载 ALE&IDoc& EDI(7)--IDoc Extension {转载}
SAP已经提供很多标准的IDoc type、Message type及相关的程序,可以通过配置就可以完成一般的分发和接受。 但是,由于客户的定制化,很多标准表做过了增强,同时也有一些新增的主数据需要传输,所以就需要对现有的一些IDoc及相关程序做增强。我们假设标准的主数据已经做过增强(比如MATMAS,DEBMAS等),下面讲一下增强的一般流程。1. WE31,建立将
2009-10-21 23:38:00
974
转载 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
1033
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
689
转载 ALE&IDoc& EDI(4)--change point02 {转载}
Change point的第二种方法就是SMD,通过一系列的配置和Job,你就可以做到,让不同的Message type自动分发。这里所谓的自动分发,就是当一个系统中的主数据发生修改,创建,删除时,其他相关联的系统也会自动更新。我这边主要用的就是这个技术。 下面来具体讲一下:有几张表大家需要熟悉:BDCP : change pointBDCPS:Change pointer:
2009-10-21 23:34:00
1380
转载 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
1255
转载 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
921
转载 ALE&IDoc& EDI(1)--OverView {转载}
我在新环境中,学到的最多的东西就是接口技术,也是我觉得很有用的一些知识。 由于公司业务复杂,第三方系统很多,有很多业务系统在上面跑。SAP引入之后,就需要和第三方系统做接口,比如订单、物流什么的。不过有一个很好的趋势,很多老系统在被淘汰,原来的一些核心业务正在向SAP移植,可见SAP还是不错的,这口饭还有得吃。 我这边的接口类型有不少,比如ALE/IDoc,PI,FTP等。但
2009-10-21 23:27:00
846
转载 Screen{转载}
来定定调子,Screen是既复杂又简单的一种应用。 为什么说简单呢?等你写多了就知道了,它的框架很固定,无非里面的‘血肉’换了换。那为什么说复杂呢?加上业务就复杂了。因为关于应用的开发,需求一开始往往是不全的,属于那种先把效果做出来,然后用户用过了,再慢慢改进的东西,最后可能改得你自己都不认识了。我做过一个类似于MIGO自动发货功能的应用,就是如此。一开始需求很简单,做出来之后,就要求越来
2009-10-21 23:26:00
490
转载 锁表机制{转载}
SAP的一大特点,就是可以设置Batch Job,定时定量跑程序。 但是这样就会碰到一个问题,会出现多个Batch job读写的情况。如果仅仅是读或是写的话,还好,最多是数据库延迟。但是如果对一个表,即读又写的话,就会产生数据一致性问题。比如,A Job读取数据X,然后做修改,但是修改的同时又有另外一个Job已经更新的X数据,结果A Job把另外一个更新的数据覆盖了,没有达到要预定的要求
2009-10-21 23:23:00
621
转载 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
421
转载 SAP Archiving(9)--再谈架构03 {转载}
这里我们聊一下动态调用和Mapping。 作为一个比较大型的应用,动态调用和Mapping是必不可少的,有了这两样法宝,可以减少很多冗余代码,同时也简化日后维护。 下面给一个例子:分两部分,一个是function group,另一个运行用的reportFunction pool: SAPLZKEVIN_A***********************************
2009-10-21 23:21:00
348
转载 SAP Archiving(8)--再谈架构02 {转载}
将一个功能或者模块的开发放在一个Package里,这是一个习惯。就如,我们把SAP Archiving中所有的字典对象,类,程序等都会放在一个Package里。国内有些项目放得很随意,有根据开发人员分Package的,有分得很宽泛的,更有甚者随便拿了个Package就可以你放,以为只要能传输就可以了……但是为了方便项目的管理和维护,我觉得还是以项目为单位比较好。特别是当一个公司模块很多,错综复杂的
2009-10-21 23:20:00
408
转载 SAP Archiving(7)--再谈架构01 {转载}
之前说过一个Main Menu的架构,虽然实现难度不是很大,但是却可以省去用户很多麻烦。所有的T-code都集中在一个屏幕上,再也不用记那么多繁杂的T-code了。 主要是在Menu Bar里加上相应的T-code和描述,下面是代码的实现。很简单吧!但很实用!*----------------------------------------------------------
2009-10-21 23:18:00
491
转载 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
576
转载 SAP Archiving(5)--很好的架构{转载}
由于这边的业务比较复杂,对需要Archiving数据做的处理也就很多。 这里我就要提到架构问题。之前写程序也没考虑到架构问题,因为大家都知道,国内做ABAP开发,程序的规模都不是很大。能在一个程序里写完的,绝对不放在两个程序里搞定。 刚看到把一个程序搞那么复杂时,我真觉得那个美国的架构师是不是闲得没事做了,特意把简单东西复杂化了。 但实则不然。 后来在做项目
2009-10-21 23:13:00
631
转载 SAP Archiving(4)--重点{转载}
你说SAP Archiving的重点和难点是什么?是技术么?显然不是,SAP已经提供了一套相当简便的方法,还有也有很多例子可供参考。有一个很Senior的BASIS和我说过,BASIS做多了,就成了体力活,我想这句话应该是真的。很多BASIS的活不难,但是很需要熟练度,像这个Archiving的项目,看上去,主力是BASIS,但实际上,你只要会用几个T-code(DB02,DB15等)和一些DB上
2009-10-21 23:11:00
577
转载 SAP Archiving(3)--代码举例{转载}
SAP Archiving中对于一些增强过的表及特殊要求,我们要重写一些PreProcessing, Write, Delete, Read等程序。由于PreProcessing就是在Archiving前做一些检查和处理,每个表都有不同。所以下面就举Write, Delete, Read等比较通用的程序。(其实还是按照我之前的方法,把例子看懂了,逻辑清楚了,就可以拿来重用了。不然每次都重头写,不要
2009-10-21 23:09:00
776
转载 SAP Archiving(2)--项目介绍{转载}
上文介绍了一下Archiving,下面来介绍我参与的那个项目。 一般来说Archiving只要Basis去做就可以了,但是由于上线一段时间后客户会做很多的定制和增强,那么原有的Archiving程序就不能再用了,需要重新编写。 Archiving运行界面: 我们需要用T-code: AOBJ来定义一个Archiving Object。其中有四个主要的地方需要ABA
2009-10-21 23:08:00
605
转载 SAP Archiving(1)--OverView {转载}
所谓的SAP Archiving中文解释就是归档。这是一个什么样的概念呢?就比如,纸质办公的企业,它每年都会有很多的资料和数据,过几年就需要把一些用不着的文件整理处理,由专门的人员管理和保存,不再或很少拿出来使用(仅供特殊用途)。这是为了保证这些过时的文件,不影响到现有的业务,以免混在一起,降低现时文件的查找效率、造成管理混乱。那么现在SAP的归档,你可以理解成把纸质变成了硬盘和磁碟机,它们也有存
2009-10-21 23:07:00
516
转载 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
453
转载 Enhancement(5)--Field Exits {转载}
Field Exits,我想了一下还是单独拿出来写一下比较好。 虽然技术上来讲有点像Customer Exits(两者都是通过function来实现出口的),但是其原理和用途又有很大不同,而且Field Exits,SAP在4.6之后就不再支持了,如果没有用过这个技术,想要用,还要重新启动PRD才行,很麻烦,所以这里只是做个介绍性来谈谈这种出口方式。 大家可以在SE38里,运行
2009-10-21 23:02:00
462
转载 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
435
转载 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
341
转载 Enhancement(2)--Dictionary Elements {转载}
对于透明表及结构的增强,主要两种。一种是Append Structure,还有一种就是Include形式。 Append Structure可以扩展原来的表结构,但是并不是在原来的表上加字段,而是再建一个附加的结构,物理上,数据是存在两处的。而且,一个Append Structure只能有一张表结构。如果把有Append Structure结构的表进行复制的话,那么在新的表中,原有的A
2009-10-21 22:54:00
344
转载 Enhancement(1)--BTEs {转载}
最近一个同事碰到一个FI的增强,要用BTEs实现,我也是第一次接触到这种增强,所以跟着他一起做了一下。写一个这方面的小节。 BTEs(Business Transaction Events),是SAP的一种增强方式,技术上讲是介于Customer Exits和BAdIs的产物。 它主要有两种类型的接口: Publish and Subscribe Interface
2009-10-21 22:52:00
377
转载 SMARTFORM & SAPScript{转载}
SMARTFORM和SAPScript是SAP用于打印单据和报表的工具。SMARTFORM是SAPScript的替代工具,但是由于SAP最初都是用SAPScript,所以很多单据的打印,比如PO,Billing都是用SAPScript,所以为了能减少定制的时间,重用SAPScript也是一种不错的方法。 之前很幸运,在一个项目中把这两种打印程序都玩了一把,感受颇深。这种打印程序的难点并不在
2009-10-21 22:49:00
376
转载 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
633
转载 ALV,TABLE TREE等一些控件{转载}
今天来总结一下ABAP中一些常用的控件,除去之前写过的一些,还有ALV_GRID, ALV_TREE, TABLE_TREE等。 现在用的控件很多都是用类写的,而它们的使用,说白一点,就和用JAVA中的类没什么区别,一个诀窍就是记住通用的写法,然后再根据不同控件变化。 最好,每个控件都总结一个通用模版,这可以大大节约实施中的时间。老白的博客上有不少这方面的例子,我这里就不再写了
2009-10-21 22:39:00
439
转载 ABAP的学习方法{转载}
写了一部分ABAP总结了,感觉有些东西一定要重点写下,就比如今天要说的学习方法。 想当时,虽然算是个科班毕业,但是入行之初,还是如履薄冰,幸有恩师barry在旁指点,才少走了很多弯路。 barry教了我不少东西,其中至今受益匪浅的一句话,‘凡是不能全靠老师,要靠自己去研究!’,有点‘授之以鱼,不如授之以渔’的意思,‘要靠自己去研究’就是‘渔’。 后来做项目,barry不在身
2009-10-21 22:38:00
435
转载 OLE & DOI {转载}
提到OLE&DOI,我们不得不先说说两者这间的关系。 OLE是SAP早期与微软Office集成的工具,而DOI是它的替代技术。在实际项目中使用到OLE&DOI的场合多是EXCEL表格的读入或是填制。有些需要自动画表格及填数据,有的只是要求在原有的模版上填制数据。根据不同的场合可以选用不同的技术。(有些公司用EXCEL的打印来替代FORM) 下面主要讲一下,OLE&DOI关于EXCE
2009-10-21 22:33:00
826
转载 Table Control {转载}
Table Control作为一个表维护的标准工具,在屏幕程序中经常使用。它的特点就是简单,实现速度快。缺点就是不够灵活。 我个人更喜欢用ALV grid,由于基于OO,ALV grid绘制图形表格,更加灵活,功能更加强大(大家从标准的ALV grid中自带了那么多功能键就知道了)。但是往往强大的工具,实现起来就相对就比较复杂。 所以对于需求比较简单的功能,诸如从一些外部文件导入数
2009-10-21 22:23:00
512
转载 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
652
转载 Web Dynpro及相关{转载}
Web Dynpro是SAP为了推行它的Netweaver战略而对ABAP用途的又一次扩展。 国内使用Web Dynpro的项目不多,我个人也只是将一些SAP的官方文档看了一下并且自己做了几个例子把玩了一下(实际上就是把R/3里的程序做成Web界面而已)。总体感觉不是很难,只要有一些OO的基础,上手是很快的。 Web Dynpro有以下几个特点:做过BI
2009-10-21 22:15:00
580
转载 BDC完整版{转载}
BDC(batch data communication)是SAP常用的一种数据传输方法。用于一些数据量大,但是对速度又要求不高的数据传输。 在实施中,很多开发顾问都忽略了BDC的日志和出错管理。这给用户在使用中带来了很大的不便。比如:哪些数据是成功生成的,哪些是失败的?那些失败的,原因的是什么?程序问题还是数据问题? 我觉得,既然是要做一套程序,那就应该尽可能地为客户考虑,减
2009-10-21 22:08:00
507
转载 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
408
转载 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
1433
转载 寒假SAP ABAP 培训笔记 part 7{转载}
子屏幕 建立步骤:1. 先建立一个新的程序以存放子屏幕screen type ---subscreen2. 在主程序屏幕中 建立子屏幕区域(名称一定要大写)3. 在屏幕的PBO中 调用子屏幕 call subscreen [屏幕区域名] including ‘[子屏幕程序名]’ ‘[子屏幕号]’.4.
2009-10-21 17:15:00
561
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人