所有包涵 ‘sap note’ 标签的日志
Modification
星期一, 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。为了保证一致性你只能在开发系统中进行modifi
cation adjustment,而通过change request将其传入后续系统。
对sap sources和abap dictionary objects的修改必须是经过registered developer对这这些objects register。这种registration的exceptions有match code, databa indexes, buffer ttings, customer objects,patches,由于某些修改而自动产生的某些对象(比如customizing).如果registered object再次被修改时,系统不会再向你要registration key。即使是升级之后这些registration key仍然会保留下来。通过SCCR注册的好处有:
achievementsl 可以存储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 databa中。如果你传输这个repository object,目前的object就成为一个complete copy,新旧object的difference就会被存到version databa中作为backwards delta。当你把一个repository object分配给一个task时,系统会检查当前的版本是否与version databa中的complete copy相符。如果不相符,就会创建一个complete copy。这个过程也会在你第一次修改object时触发,因为sap并不发布repository 哦objects装配钳工基础知识的versions。Repository objects的ver
sions是modification adjustment的基础。为了支持adjustment,无论是sap或客户创建了version的information都会被存储。
Modification成功的关键因素是要把客户自己的代码封装起来而不是直接插入到原来的代码中,比如通过customer function module或customer subscreen等。在封装customer porting时应当使用narrow interface。制定自己公司modification documentation的标准。应当维护一张modifications的列表。包括repairs的所有requests应当在upgrade之前释放,这样的话相应的customer version就可以被写入到version databa中了。在adjustment时系统就会比较相应的版本。在升级之前repair需要被confirm,否则的话repair就会被lock不能被import。对与basis相关的abap dictionary object貔貅怎么戴的修改在升级时会被覆盖并且没有任何adjustment assistant。不要删除source code而应当是将其注释掉。Modification log sample:
Object type(screen, program, gui status,…) | PROG |
Object name | SAPMV45A |
香字成语Routine | SAVE_DOC |
Subject area | SD_001 |
Request number of repair | DEVK900023 |
Changed on | 01.02.1999 |
Changed by | Smith |
我爱你中国演讲稿Person Responsible | Carpenter |
Preliminary correction | No |
SAPNet note number | - |
Valid to relea | - |
Time required to restore(hours) | 4 |
| |
Modification assistant用来使modification adjustment变得更加简便。Modification可以被记录到module或subroutine层。Modification assistant在另外一个层次来记录变化,这就意味着object的original source code并没有被改变。只有load被生成后,modifications才会被adopted,这样的executable object就会被sap program的original part和modifications部分共同创建。Modification assistant使adjustment变得更见简便。比如你只修改了include program的某个subroutine,而其他的source code并没有改变。如果SAP发布了这个include的一个新版本,system会检查是否存在这个subroutine的一个新版本。如果不存在,你的修改就会被自动加入到新版本中。Modification assistant所支持的工具如下:
l ABAP Editor Modification mode
l Screen Painter layout flow logic
l Menu Painter
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包括:Inrt Replace Delete Undo modification和Modification overview。
可以通过modification overview来overview系统中的modified objects。可以使用modification browr的ret to original功能将一组modifications置回到original版本。
沿途的风景的经典语录 Module pool是由一系列的include programs组成的。这样可以使程序变得更加clear,
其组织形式跟function group差不多。命名的传统是其最后三个字母用来表示这个include的内容,是唯一的。Ur exit是一种system enhancement起初是在SD中开发的。其初始的目的是为了避免modification adjustment。Ur exit技术上还是认为是modification,因为他修改了SAP namespace中的object。SAP开发人员在module pool中创建特殊的include program。这些includes包括一个或多个subroutine,其命名方式是urexit_<name>。对这些subroutine的call在程序中已经implement。通常会使用global variables。他们一旦发布SAP便不会再修改它,如果有新的ur exit,SAP会将其放到新的include中。在这样的include中,他们的name中的最后两个字母一般都会发现 Z。比如SAPMV45A的M45AFZB。这样就保证了SAP开发人员将来不会改变这些include的source code,在升级时也不需要adjustment。可以在sap program的source code中通过搜索perform urexit来查找sap是否implement了urexit。
有了sap note assistant,在打notes时,你不再需要输入register key,微博邮箱登录sap note assistant会自动把note corrections通过modification assistant import到系统中去。其余其他notes的关系也会被自动识别。如果相关的notes还没有打入到系统中,note assistant会提示已将其import到系统中。而且,note有有效期,当你import support package或upgrad
e后,assistant会检查note是否有效,如果无效,你可以通过按一个button就可以将其undo。