rootbin

总是很懒,写不来博客,最近发现可以从onenote同步到博客园,虽然格式丑点,勉强算写博客了吧,可能以后都不干abap,权当纪念一下.
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  大坑(ABAP)

摘要:有些时候无论table maintenance或者sql改数据都不方便 就想要把数据导出来 在excel中修改后再导进去 针对某一张表的代码比较简单 但是每次有这样的需求都要重新编码 于是扩展一下 做了一个支持任意表导入更新的小程序 (为了安全,限定为仅支持Z*/Y*的Table) 界面: 其中数据源是SE16N的ALV列表 默认导出的Excel数据 无须修... 阅读全文

posted @ 2014-12-04 14:51 rootbin 阅读(367) 评论(0) 推荐(0)

摘要:代码很简单 但是比较实用 尤其是调试期间 (本意只想执行一些SQL的,后来发现使用的场景还是比较多的 于是就分享一下) 比如程序上传到测试机后 突然想用SQL修改一些自定义表中的东西 但是测试机有没有开发权限 又要从开发机改了传一个过来? 把代码写在文本文件中 执行本程序就OK ABAP代码就像一个脚本一样了 测试期间多准备几个”脚本” 谁用谁知道! 效果如... 阅读全文

posted @ 2014-12-02 21:35 rootbin 阅读(395) 评论(0) 推荐(0)

摘要:接上篇 一开始设计的BO 类是为了实现功能而实现功能 从类的单一职责的角度而言 先把这个BO对象拆分 这里又有一个需要考虑的点: 如何传递内表数据到ALV 如果引入一个中间变量,数据就会被double alv大量数据显示也是常有的事,再double一下显然不可取 而且alv中修改了数据还得把修改的数据传回去 想想就麻烦 于是就想到了引用类型,这是个不错的解决方案 ... 阅读全文

posted @ 2014-11-30 17:27 rootbin 阅读(382) 评论(0) 推荐(0)

摘要:用OO来开发,尤其是在复杂业务的开发过程中 从程序设计的角度而言,应该更简单一点 而ALV是二次开发中登场很高的一个控件 最近做了一些尝试,探索OO的代码和ALV的结合使用 使用控件型的ALV ALV直接写在BO对象中 本质上,只是用OO的语法来重写了一下form的调用方式 初步实现了OO和ALV的使用 TYPES: BEGIN OF ts_bo, d... 阅读全文

posted @ 2014-11-30 15:12 rootbin 阅读(485) 评论(0) 推荐(0)

摘要:很早就想尝试着在常规的报表开发中 引入OO了 趁着程序略复杂 时间略充裕 终于尝试了一把…咩哈哈~~ 以下来自我的evernote笔记 有点语无伦次…忍忍~~ --------------------------------------------------------------------------- 主要的好处就是逻辑清晰 可以从整体上来直接把控这个程序 如果可以 减少对全... 阅读全文

posted @ 2013-08-26 11:34 rootbin 阅读(224) 评论(0) 推荐(0)

摘要:1.create object obj CREATE OBJECT EXCEL 'Excel.Application'. 这个obj通常指能够支持的应用程序 应用程序首先要满足OLE2的标准 同时还要注册到R/3系统 维护的程序信息在table: tole中可以看到 tole有个视图v_tole 可以使用tcode : sole来编辑 2.Workbook ... 阅读全文

posted @ 2013-07-19 09:35 rootbin 阅读(1322) 评论(0) 推荐(0)

摘要:所谓search help 就是在前台调出一个query 得到一个value list 让用户选择需要的值 我们要做的就是给某些表/视图 设计一个可供查询的query 然后把这个query绑定到需要的field 几种search help的类型: (以csks为例) 1.外键限制 2.根据字段的外部帮助附件 search help 这个button 点击后 分... 阅读全文

posted @ 2013-07-08 15:40 rootbin 阅读(485) 评论(0) 推荐(0)

摘要:使用Hint来优化执行计划 阅读全文

posted @ 2013-07-05 11:22 rootbin 阅读(1237) 评论(0) 推荐(0)

摘要:se16n,只能用来查一张表的数据 每每想到以前用的查询分析器或者各种Console就忍不住想吐槽 刚开始接触abap的时候就想自己写一个查询分析器 这两天周六周日上班,不想干活… 尝试着开始写这个东西 趁放假前把写好的东西放出来吧 实现了简单的查询 及 连接查询 (增删改暂时不支持,可以考虑根据关键字进行操作的分类,应该也是类似的) (个人估计 五一后也没这么多精力来做这种东西了... 阅读全文

posted @ 2013-04-28 15:05 rootbin 阅读(383) 评论(0) 推荐(0)

摘要:去从年开始写abap,就对for all entries的使用一直有疑问,当时带我的同事推荐我用这玩意儿这期间除了筛选出的重复数据被删除外,没遇到什么大的问题,关于这点,多筛选几个key field就可以避免性能也基本说的过去前些天优化了一个程序方案是: 把两张表的关联查询分开来处理这过程中把表A的查询结果放到for all entries in <itab>中查询表B,这个内表的记录数量在30W+这也是逼不得已这么做的,本以为还是跑不出结果的,测试后发现能出结果了,汗…修改前程序后台运行超时,修改后在20mins左右之后一直对for all entries 的处理方式很好奇.1) 阅读全文

posted @ 2013-04-26 16:20 rootbin 阅读(322) 评论(0) 推荐(0)

摘要:(这篇多是个人的一些理解,没有去查找太多的资料,有错误的地方请轻拍.)自己的代码都是野路子,公司对代码规范要求不高,当初碰到过几个跟一致性相关的问题,总是迷迷糊糊的,反正改改能用就pass了,最近有空,自己总结一下.关于SAP LUW 和 DB LUW:从对话过程(dialog step)说起吧,通常认为请求从前台传到AS上处理再把结果返回前台的过程在AS上,调度机制会给请求分配工作过程,工作过程有自己的和数据库通信的通道,当work process处理结束后通过自己的通道提交此次的数据更改,然后work process 就空闲等待分配给其他请求,这次对数据库的操作都放在一个DB LUW中当一 阅读全文

posted @ 2013-04-24 17:17 rootbin 阅读(553) 评论(0) 推荐(0)

摘要:这个是上次被要求优化代码,range变量只有一个值时,用具体值代替,当时心里还略不爽 range变量有啥不好的,多方便,心里一直念念不忘,于是自己写了个测试代码 发现确实点问题 据说原因是 使用range变量 如果有索引的话 不会使用索引 印象中和oracle的技术特性有关 以前在学校写java的时候,数据库是mysql,使用in 某个范围做筛选条件,导致了性能的大幅下降,这个问... 阅读全文

posted @ 2013-04-19 21:02 rootbin 阅读(326) 评论(0) 推荐(0)

摘要:一英寸大概是2.54cm 打印控制的地方设置的参数都是对英寸而言 不考虑字体设置过大超过行间距的问题(这个也可能导致打印不完整) 那么行列的计算方式如下: len / 2.54 * per len指实际的长或宽 per是每英寸的行列数 可能那个\e是标识符 l7.5 : line 7.5 ; c15.0 column 15. 所以对于电器的这次打印开发程序中 zm00... 阅读全文

posted @ 2013-04-19 20:48 rootbin 阅读(218) 评论(0) 推荐(0)

摘要:理解下这玩意儿,对写程序帮助还是挺大的,而且在看其他abap涉及内存的文章时,也容易理解一些,比如模块池的初始化 load-of-program 其实就是放到inner session中的.先来个图:不同级别的内存,分别对应各自的会话层次:1)首先是Shared Memory: 这个通常存放代码,数据表等全局的系统的数据信息2)SAP Memory:这个是某个用户所有操作所共享的空间,例如用户的配置信息,SPA/GPA等应该就是放这里的 但有个注意点,据说sap memory中不能放对象,具体原因不知,也没试过,人家建议用DB或File System来处理3)ABAP Memory:简单的理解 阅读全文

posted @ 2013-04-19 20:19 rootbin 阅读(275) 评论(0) 推荐(0)



亲爱的P.I.G 你应该是不会到这里来的吧 ? I'm always 怀挺!