马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622 。
您需要 登录 才可以下载或查看,没有帐号?注册
x
SAP传输请求
这节并不是侧重介绍如何配置传输请求和其运行机制的,这通常是basis的工作和ABAPer并无关系,还是那句话,了解点大概是必要的. 通常企业起码会有两个系统,开发(测试)系统和生产系统(有些企业开发任务相对少,开发和测试使用同一台server甚至同一client,开发和测试也都有ABAPer完成),如果要严格开发流程,开发,测试必须是分开的(为了节省当然可使用同一server,不同的Client甚至用不同System Number逻辑分成两Server),在此不深入讨论. 熟悉几个名词: 1开发类(Development Class). 开发类可简单理解为逻辑上相关的一组ABAP对象,在将来传输时将使用同一传输层.实际上开发类本身也可看做是一个ABAP对象,可使用SE80建立. $TMP是本地开发类,属于此开发类的任何ABAP对象(包括自定义的表,编写的程序等都只能在Client做测试用而不能被传输到其他Client. 包现在被用来代退开发类. 2.包(Package) 相关的ABAP对象被组合在一个包内,SE16:TADIR可看到被分配到某包的所有的ABAP对象,包决定了这些对象的传输层. 所有的包被存在表TDEVC中,建立包可使用SE80或直接使用SM30:V_TDEVC. 包作为开发类的退代和前身有这么几个加强特征. 1.包可嵌套使用(这点类似Java package) 2.包类可包含最多本包中可见的对象,这些对象在包外不可见 这点类似私有对象(Private object),在OOP中也很常见. 3.包可为包接口定义使用访问授权. 4.通常自定义包必须是Y或Z前坠,这点和其他ABAP对象相同(包其实也可看做ABAP对象).其他一些包前坠 A-S, U-X表示SAP标准包,T私有测试包,$本地临时包,/***名字空间前坠. 3.传输层(Transport Layer) 传输层决定包内对象是分配给本地还是可产生传输请求. 通常,开发系统都被分配了一个标准的传输层,当包被建立时,.它就被分配了一个标准传输层.包内对象也立即自动获得相关传输属性. 相关IMG配置使用的是标准的传输层. 通常由basis使用Tcode STMS配置传输管理系统维护传输曾和路由. 4.传输请求 程序是究竟保存在server的什么地方?程序是如何在不同client和server之间进行传输的?要明白这问题,首先让我们看看什么是传输程序和传输控制程序. 传输控制程序TP和R3TRANS传输程序,R3TRANS被用来实现SAP各Client间的数据传输和不同版本迁移,TP传输控制程序根据传输参数(Transport Profile)调用R3TRANS传输程序. 传输中遇到的问题总结 1、传输程序卡住。 现象:CR号在传输过程中长时间不动。在stms监控中看CR号的状态是“running EXECUTION OF REPORTS AFTER PUT ” 原因:对该程序的修改需要删除数据库中的一张表。但是该程序运行时需要调用这张表。由于该程序是报表程序,又值年末,很多用户使用该程序,使得要删除的表一直被占用。使得对程序的修改CR一直处于等待状态。直到所有用户停止使用这张表,将要删除的表放出,CR才能传入,删除这张表。 解决方法:不让用户使用调用要删除的这张数据库表的程序。停止所有使用该表的程序的进程。 2、传输过程中卡住。 现象:问题1解决后,在sm66中看,ddic要删除的数据库表没有被使用,但是传输进行了一部分后,又再次卡住。查表空间满。 原因:表空间满。虽然sap系统能自动扩表空间,但是每次扩得太少,跟不上传输需要。导致传输进程等待扩表空间。 解决方法:扩表空间。 3、多个小CR传输过程中突然卡住。 现象:多个小CR依次传输,前面的几个没有问题,突然在某个号卡住。这些CR中没有能出现第一种问题的开发程序。用sm66没有找到ddic进程,stms监控中状态是“Start of action imp single”和“Start of action MOVE NAMETABS”。用al11查看传输日志没有问题。过了一会自己就好了。 原因:系统用户太多,没有可用对话工作进程。 |