SAPABAPSPAUModification
所有包涵‘sap note’ 标签的⽇志
Modificationsp文
星期⼀, 11⽉2nd, 2009
⼀个object只能在⼀个系统⾥是original的,对于SAP发布的所有objects只有在SAP是original的,⽽在客户所有的这些object 都是copies,如果你在系统中编写了你⾃⼰的程序,你把这些对象放到⼀个change request中,这些对象是original,他们的类型是Development/Correction,这些requests可以从开发系统传输到其他系统。对original objects的修改称为corrections,他们的request的类型为Development/correction。如果你修改的是object的copy版本,那么其所在的request的类型为repair,对sap object的repair称为modification。你可以直接repair 你⾃⼰创建的object。如果直接修改了这些object的copies,那么应当⽴即将其original也修改过来。但是对于sap object你是⽆法做到这⼀点的,因为sap的original版本并不在你的系统中。如果确实是业务需要那就只能更改sap的标准程序了。当你升级系统时其余modified objects会发⽣⽭盾,如果你想保留对sap objects的修改,你需要对这些objects进⾏modification adjustment。为了保证⼀致性你只能在开发系统中进⾏modification adjustment,⽽通过change request将其传⼊后续系统。
对sap sources和abap dictionary objects的修改必须是经过registered developer 对这这些objects register。这种registration的exceptions有match code, database indexes, buffer settings, customer objects,patches,由于某些修改⽽⾃动产⽣的某些对象(⽐如customizing).如果registered object再次被修改时,系统不会再向你要registration key。即使是升级之后这些registration key仍然会保留下来。通过SCCR注册的好处有:
l可以存储modification的history,提⾼问题解决得速度
l使操作更加可靠
l简化升级
如果想修改sap repository objet,必须提供下列信息:SSCR key和change request。当你做modification时,系统会让你输⼊⼀个change request,输⼊change request 的作⽤有:
l Change lock,只有change request owner才可以修改它。
l Import Lock 这些objects不能被imports overwritten,⽐如upgrade或
package
l Version creation:系统会⽣成这个object的⼀个新版本。
⼀旦对sap object的修改结束,开发⼈员就会释放相应的task,此时他应当document所作的修改。相应的所就转递给task所在的change request。如果开发⼈员confirm了这个repair那么相应的import lock也会转递给change request。如果没有confirm import lock依然存在,只有开发⼈员⾃⼰才能释放他。Project完成后就可以释放这个change request,change request中所有的object的locks都会被释放掉。当change request释放后,这些objects就会从数据库copy成⽂件的形式放在操作系统上,可以被传⼊后续系统。Change request释放后,其所包含的所有objects的完整版本会被放到version database中。如果你传输这个
l Text Elements
l Class Builder
l Function Builder Adding Function modules Compatible interface enhancements
l ABAP dictionary Append structures are registered Data elements :Field labels can be changed
l Documentation Substituting documentation objects
如果你想修改⼀个sap object你必须提供⼀下information:SSCR KEY和change request。系统会告诉你这个object会在modification object assistant的控制之下,只有⼀些限制的功能可以在editor中使⽤。通过修改参数
en/controlled_modification可以打开或关闭modification assistant。你也可以在⼀个单独的Repository object上关闭modification assistant。Modification assistant icon 包括:Insert Replace Delete Undo modification和Modification overview。
可以通过modification overview来overview系统中的modified objects。可以使⽤modification browser的reset to original功能将⼀组modifications置回到original版本。
Module pool是由⼀系列的include programs组成的。这样可以使程序变得更加clear,其组织形式跟function group差不多。命名的传统是其最后三个字母⽤来表⽰这个include的内容,是唯⼀的。User exit是⼀种system enhancement起初是在SD中开发的。其初始的⽬的是为了避免modification adjustment。User exit 技术上还是认为是modification,因为他修改了SAP namespace中的object。SAP 开发⼈员在module pool中创建特殊的include program。这些includes包括⼀个或多个subroutine,其命名⽅式是userexit_。对这些subroutine的call在程序中已经implement。通常会使⽤global variables。他们⼀旦发布SAP便不会再修改它,如果有新的user exit,SAP会将其放到新的include中。在这样的include 中,他们的name中的最后两个字母⼀般都会发现Z。⽐如SAPMV45A的
M45AFZB。这样就保证了SAP开发⼈员将来不会改变这些include的source code,在升级时也不需要adjustment。可以在sap program的source code中通过搜索perform userexit来查sap是否implement了userexit。
有了sap note assistant,在打notes时,你不再需要输⼊register key,sap note assistant会⾃动把note corrections通过modification assistant import到系统中去。其余其他notes的关系也会被⾃动识别。如果相关的notes还没有打⼊到系统
中,note assistant会提⽰已将其import到系统中。⽽且,note有有效期,当你import support package或upgrade后,assistant 会检查note是否有效,如果⽆效,你可以通过按⼀个button就可以将其undo。
SAP note assistant避免了需要⼿⼯修改source code,corrections可以被⾃动导⼊,另外你也不需要SCCR。它还可以⾃动识别不同notes间的依赖关系。在每个Note中还可以识别修正这个错误的support package,然后它就会将⾃⼰标注为obsolete。如果你要修正的object上作了Modifications那么它也会将其register,在modification adjustment中会被特殊标记。SAP note assistant的另外⼀个好处是它可以overview你系统中的所有notes。如果在升级或者support package导⼊后,modification被adjusted,这些note会列⽰到⼀个特殊的category中,值得注意的是note只是对某个单独错误进⾏的修正,⽽不能替代support package。
可以通过note assistant下载service market place上的notes,notes browser可以overview导⼊到你系统中notes。从这你可以navigate到modification browser。通过输⼊不同的状态你可以了解那些note被implemented了,那些是obsolete的等。通过仔细阅读note,可以按照correct instruction来implement note。Note assistant可以确定这个note是否可以被⾃动实施,其状态灯为绿⾊。如果在note 实施过程当中发⽣confilicts,可以通过Splitscreen editor的特殊版本来⼿⼯实施。通过事务代码snote来进⼊note assistant。可以从sap service market place上下载note到本地硬盘然后将其上载到SAP系统中。然后在仔细阅读了note的内容后就可以实施它,系统会检查其余其他note的依赖性是否满⾜。如果不满⾜,系统就会列出需要导⼊的其他notes。你可以有多种⽅式来实施note,⼀种⽅式是⼀次实施多个note,其前提条件是所有的要实施notes都没有changes,如果你Modify了相关的object,这些notes就会被单独处理以便你可以adjust。另⼀种⽅式是⼀个⼀个的实施note。你可以跟踪每个note修改的详细信息。你可以cancel note实施。⼀旦你导⼊了support package,就会出现以下三种情况:l Note中有的corrections在support package中也存在,(交通灯没有颜⾊),在transaction SAPU中,这个note的交通灯是⽆⾊的,你必须把相应的object 置成original。
l Note中的corrections不包含在support package,在SPAU,这些note的交通灯是绿⾊的,你必须重新实施它。
l Note中的corrections中的⼀部份饱含在support package中,这种情况很少见。这个note的交通灯在SP
AU中会是绿⾊的。
实施Note的路线图如下:overview->load->check->editing
status->implement->log->adjustment
可以通过调⽤程序SCWN_REGISTER_NOTES来⼿⼯实施note。
在升级过程当中,modified object需要被adjust。在modification adjustment
过程中,旧的和新的repository object版本是通过SPDD和SPAU来⽐较的。如果standard abap dictionary object没有被修改或者只是添加了customer object那么就不需要使⽤transaction SPDD。其他的Repository object是通过transaction SPAU 来adjust的。升级程序R3up在升级完成之后会让你启动这两个transaction来进⾏adjust,在升级之后你有30天的时间来做adjust,否则你就需要申请SCCR key 了。事务SPAU可以到那些objects被modified了,那些这样的哦objects在升级之后有了新的版本。Modification adjustment可以让你把以前做过的modifications传⼊到新的版本中。
在modification adjustment的过程当中,SPDD⽤来adjust以下对象:Domains, data elements和tables。这三种类型的对象是在dictionary object在导⼊之后直接adjust的。在这时dictionary object并没有被generated,为了保证没有数据丢失,必须在这
些对象generated之前进⾏adjust。⽽abap dictionary objects:lock objects,match codes或者views并不会导致
数据丢失,所以他们是通过transaction SPAU adjust的。SPAU可以ADJUS的对象包括:ABAP
programs,interface(menu),screens,matchcode objects,views 和lock objects。
在modification adjustment的过程当中你需要产⽣两个change request⽤来分别存储SPDD和SPAU的adjustments。这些adjustments然后就可以传输到后续的SAP系统中。这样就保证了所有modification的来源都源于开发系统。在modifications传输过程当中你必须保证所有系统的landscape必须是⼀致的。你可以通过在升级开发系统之前将所有的modifications都传⼊到后续的系统来做到这⼀点。或者在升级之前创建开发系统的⼀个copy来限制对你的⽣产系统的modification。
在SPAU的初始界⾯你可以⾸先设定⾃⼰的选择条件。然后执⾏,系统就会显⽰你要adjust的objects。每个objects的前⾯的icon表⽰他们adjust的⽅式。他们包括automatically,通过选择相应的icon或menu entry adopt可以被⾃动完成。Semi-automatically当你adjust program⼀个split screen editor就会出现让你编辑source code。Manually,你只能⼿⼯adjust,通过双击你可以进⼊相应的⼯具。Adjusted objects将会显⽰为green tick,如果你想使⽤object的new standard version那么可以通过reset to original来实现。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论