文章分类 -  ABAP-SAP-Database

摘要:[转]TABLE MAINTAINANCEhttp://m.blog.csdn.net/blog/whiskey1122/6203193http://community.kingdee.com/pages/sapguru/blog/archive/2009/03/27/351576.aspxABAP--如何建立通过sap表维护工具来维护自定义表TCODE在sap开发的过程中,经常需要自定义数据表,对于简单的数据表,我们可以通过sap的表维护工具生成维护代码,并建立自定义的TCODE来维护其数据。具体步骤如下:一、建立自定义表(TCODE :SE11) 1 在“Delivery and Main 阅读全文
posted @ 2013-10-16 13:54 VerySky 阅读(651) 评论(0) 推荐(0)
摘要:[转]SM30 屏幕维护DISABLE删除按钮http://m.blog.csdn.net/blog/whiskey1122/6448414https://forums.sdn.sap.com/thread.jspa?messageID=7354231Disable delete button in Table Maintainance Generator Add new module in PBO for excluding delete function. ex module set_pf.PROCESS BEFORE OUTPUT.****here I added my own code 阅读全文
posted @ 2013-10-16 13:50 VerySky 阅读(597) 评论(0) 推荐(0)
摘要:SAP ABAP程序效率优化 Perfomance Tunehttp://m.blog.csdn.net/blog/whiskey1122/121518511.使用正确的表。SAP有标准的索引表或者VIEW。参见sap notes 185530/191492/187906 LIPS 使用VGBEL不如先用VBFA表 2.使用正确的索引。好的索引非常好。不好的索引可能索引比表大,也有的索引让当前程序变快,其它的程序却变慢了。 新建索引转产以前都需要分析索引是否建的有效 3.多次存取数据库,不如一次存取批量的数据。尽量减少访问数据库的次数 4. LOOP里面不要写select查询 5. LOO.. 阅读全文
posted @ 2013-10-16 13:46 VerySky 阅读(2090) 评论(0) 推荐(0)
摘要:ABAP报表程序调优http://blog.sina.com.cn/s/blog_7057e5240100m7wm.html临上线了,需求还在改,报表也得改,需求满足了,程序性能又不满足了,净折腾啊. 可客户是付钱的上帝,所以程序要调优要改进,不然,要钱不给!SAP 系统是经典的三层架构,分为DB, 应用服务器,展示层三层.ABAP程序运行在应用服务器层,访问的数据存储在DB,而我们要做的就是把数据从DB中取出来,然后送到展示层以展现给用户.而这里DB是作为集中式资源存在的,难以水平扩展,而应用服务器则可以水平进行扩展以满足系统性能需求.所以,调优要尽可能地优先在应用服务器做,其次在DB层.而 阅读全文
posted @ 2013-10-02 23:10 VerySky 阅读(1095) 评论(0) 推荐(0)
摘要:SAP ABAP MARD和MARDH计算逻辑mard里记载的是当前库存的数量,但是期间并不一定是当月。比如你物料4月一整月都没有库存数量变化(没收没发),那么5月初你看mard里的条目期间数还是4月而非5月。当某个期间发生货物移动的时候,系统在更新mard数据的之前(这个表是实时更新的),会检查此笔业务过账期间和mard里对应记录的期间是否一致,也就是看这是不是本期间第一笔移动。如果是,copy表mard里对应记录到mardh,然后把mard记录改成当期(也可能是先删后建),然后再作更新数量数据的操作。如果不是第一笔记录,也就是mard期间和mseg期间一致,则不作copy记录只更新mard 阅读全文
posted @ 2013-04-09 18:50 VerySky 阅读(6033) 评论(0) 推荐(0)
摘要:关于SAP物料的历史库存Form:http://www.sunchis.com/html/sap/ngc/2011/0224/249.html用户/客户有几百种“历史库存报表需求”的理由,而且是可以查任意时间的。可惜的是,SAP系统并没有现成的所谓的History Stock,其实也没有必要,这违背了数据库设计的冗余规则。我看到过的SAP系统中关于“历史库存报表”或“时点库存报表”的方案无外乎有两种:一、使用作业的办法,定期(一般是每天)抓取作业执行时刻的库存信息,存储在自定义表格中;二、查询业务单据或物料凭证的明细,再累计出待查时刻的余额。方法一的好处在于,查询历史数据速度较快。但是,这相当 阅读全文
posted @ 2013-04-09 18:48 VerySky 阅读(1910) 评论(0) 推荐(0)
摘要:SE16N总结SAP中直接修改表、视图的Tcode有SE16N和SM30。其中使用SE16N修改表需要先输入命令&SAP_EDIT,回车左下角显示激活SAP编辑功能后,就可以对相应的表进行新增、删除、修改的操作。有时输入&SAP_EDIT后还是不能激活,是因为另有地方限制,执行程序RKSE16N_EDIT,选中激活编辑功能后,问题得以解决。另外,在EHP5版本中,激活编辑功能是不被允许的,不过程序中是通过一个判断语句来限制的,可以通过将相关的判断值判断前加断点,手工修改赋予值之后,问题也迎刃而解。相关的判断语句可以通过查找关键字SE16N来寻找。在SAP中,如果使用SE16N直 阅读全文
posted @ 2013-02-06 17:28 VerySky 阅读(1607) 评论(0) 推荐(0)
摘要:SAP 锁机制转自:http://scnblogs.techweb.com.cn/abap/archives/6.htmlSAP锁机制一、SAP为什么要设置锁: 1,保持数据的一致性 如果几个用户要访问同样的资源,需要找到一种同步访问的方法去保持数据的一致性。比如说,在航班预订系统中,需要检查还有没有空座位,当检查的时候,你不想别人修改重要的数据(空座位的数量)。 2,仅仅用Database锁是不够的 数据库管理系统物理锁定了要修改的行记录,其他用户要等到数据库锁释放才能访问这个记录。 在SAP系统中,当一个新屏幕显示的时候会释放掉Database锁,因为屏幕的改变会触发一个隐式的DB COM 阅读全文
posted @ 2013-01-17 21:47 VerySky 阅读(1323) 评论(0) 推荐(0)
摘要:Sm12表条目冻结说明转自:http://www.cnblogs.com/SAPFrankyue/archive/2012/01/08/2316205.html在SAP中,当用户使用修改(新建)的事务代码来维护数据时,系统将会该数据相关的表来进行锁定,以防止其他用户同时该数据。譬如:用户A正在对物料1001在工厂1000下维护工厂数据,此时用户B如果也对物料1001在工厂1000下进行维护,一般来说,此时系统将出现提示,提示用户B,该物料已经在工厂1000下锁定。根据当前的具体操作,系统将锁定表的特定条目。下文中,将列举示例来说明表条目锁定。1.1.1 操作实例如图所示,在客户端820系统中, 阅读全文
posted @ 2013-01-17 21:47 VerySky 阅读(1094) 评论(0) 推荐(0)
摘要:MARA - VPSTA and PSTAT fieldshttp://sap.ittoolbox.com/groups/technical-functional/sap-log-mm/mara-vpsta-and-pstat-fields-363888Can someone kindly explain what is the purpose for fieldsVPSTA (Maintenance status of complete material) andPSTAT (Maintenance status) in MARA table?Can these fields be main 阅读全文
posted @ 2013-01-08 16:09 VerySky 阅读(2151) 评论(0) 推荐(0)
摘要:large table VBRK: No field of a table index in where conditionHi,Code inspector says "large table VBRK: No field of a table index in where condition" for the below query.Am i getting this error because of not using key field VBELN in my where condition?Guide me to proceed furtherOPEN CURSO 阅读全文
posted @ 2012-10-26 12:15 VerySky 阅读(4870) 评论(0) 推荐(0)
摘要:Note 886532 - Pricing: Displaying and rounding numbershttp://www.stechno.net/sap-notes.html?view=sapnote&id=886532HeaderSAP Link 886532 !-->Version / Date5 / 2011-01-25Release Status Released for Customer!-->Released on 2011-01-25!-->PriorityRecommendations/additional infoCategoryConsul 阅读全文
posted @ 2012-09-24 17:34 VerySky 阅读(3349) 评论(0) 推荐(0)
摘要:SAP性能优化(一)- 汇总SAP的透明表中,数据量一旦达到千万、亿级,我们不得不考虑数据库优化的问题。1. Data Archiving数据归档这个是最行之有效的方法。Tcode :SARA 数据归档主要的TcodeDB02 性能分析,主要是Performance,sapce等。2. 建立索引SE11,在表中,Create index。这里创建索引的依据是Where条件后面的字段,肯定不全是key fields了,一般关键字已经被sap默认创建为Primary Index。牺牲一些空间,达到性能的提高。3. 建立View此机制不是很理解,有知道的可以指点一下,先谢谢咯。4. 用Hint指定I 阅读全文
posted @ 2012-08-14 16:19 VerySky 阅读(6399) 评论(0) 推荐(0)
摘要:SAP不错的两个表TSTAM:根据主数据名称找到对应表TSTC:根据程序名称找到对应T-CODE 阅读全文
posted @ 2012-07-03 14:05 VerySky 阅读(712) 评论(0) 推荐(0)
摘要:SAP表格维护生成器生成数据表维护视图程序SAP标准数据表中数据是通过前台的一系列操作进行维护的。少数情况下,可以直接在表中修改,但这是不被推荐的作法。在ABAP开发的过程中有时需要在数据字典中自定义数据表,而自定义数据表,也需要进行数据维护。除了自己定义报表程序来进行维护外,SAP还给我们提供了一种行之有效的方法,来建立前台维护自定义数据表的程序。这就是表格维护生成器。下面将介绍,表格维护生成器的具体用法。一、建立自定义的数据表。1.在SE11中创建数据表,维护文本描述和表的类型。在传输和维护标签页选择“允许通过标准表格维护生成工具维护”。2.设计表格字段。3.维护表格技术设置,设置数据类和 阅读全文
posted @ 2012-06-27 14:48 VerySky 阅读(2400) 评论(0) 推荐(0)
摘要:通常自建数据表,我们只需要给它建立一个表维护程序既可,供用户手动维护,用户只能维护自己client下的数据。但也有一些情况,不让用户在自己的client随意修改数据,而是这些数据只能从别的client传输过来,就类似于一些系统的配置表,事实上自建表要做到数据可传输的也一般都是起到配置或推导替代的作用。那么怎样设置一个表是数据可传输的呢,鉴于我多次忘掉这些具体步骤的情况,这次我决定写在我的博客里,当个备忘录了。首先,当建好表之后,在菜单栏里的实用程序(utilities)这一栏选择表格维护生成器,进入如下屏幕:选择菜单–环境 –维护对象–change,进入下一屏幕:如上图所示进行设置既可。这是可 阅读全文
posted @ 2012-06-05 09:24 VerySky 阅读(513) 评论(0) 推荐(0)
摘要:http://www.se80.co.uk/saptables/v/vbak/vbak.htmVBAK is a standard SAP Table available within R/3 SAP systems depending on your version and release level. Below is the standard documentation available for this table and a few details of the fields which make up this table. You can view this informati 阅读全文
posted @ 2012-05-28 18:48 VerySky 阅读(9017) 评论(0) 推荐(0)
摘要:原文地址:http://blog.chinaunix.net/space.php?uid=150062&do=blog&id=2780088大部分ABAPer都是从SAP报表及打印开始学起的,大家也都认为写个SAP报表程序是最简单不过的事了。但是实际情况真的如此吗?写报表时除了保证数据的准确性,您可曾考虑过报表的性能问题吗?由于报表程序是被最多SAP用户所访问的,所以性能差的报表很可能会引来大量的抱怨和质疑,大大降低用户满意度。最近做了较多性能优化方面的工作,颇有感触,在此进行归纳总结,希望对大家有所帮助,也欢迎大家讨论。1, 关于表连接语句(INNER JOIN, LEFT 阅读全文
posted @ 2012-05-28 18:25 VerySky 阅读(5445) 评论(3) 推荐(0)
摘要:在向大家详细介绍Oracle Hints之前,首先让大家了解下Oracle Hints是什么,然后全面介绍Oracle Hints,希望对大家有用。基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也聪明反被聪明误,选择了很差的执行计划,使某个语句的执行变得奇慢无比。 此时就需要DBA进行人为的干预,告诉优化器使用我们指定的存取路径或连接类型生成执行计划,从而使语句高效的运行。例如,如果我们认为对于一个特定的语句,执行全表扫描要比执行索引扫描更有效,则我们就可以指示优化器使用全表扫描。在Oracle中,是通过为语句添加 Hints(提示)来实现干预. 阅读全文
posted @ 2012-05-18 10:20 VerySky 阅读(344) 评论(0) 推荐(0)
摘要:在ABAP的SQL语句中写Oracle Hints①用过的两个写法:1、指定使用全表扫描:%_HINTS ORACLE 'FULL(table_name)'2、指定索引:%_HINTS ORACLE 'INDEX(table_name index_name)'其他Oracle Hints的写法可以参见这篇文章:Oracle Hint的用法在SQL语句优化过程中,经常会用到hint。②Using secondary indexesConsider the following example:SELECT * FROM SPFLI %_HINTS ORACLE &# 阅读全文
posted @ 2012-05-18 10:19 VerySky 阅读(3516) 评论(0) 推荐(0)