专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > SAP

能开发和懂开发的区别

发布时间:2010-06-06 17:04:04 文章来源:www.iduyao.cn 采编人员:星星草
会开发和懂开发的区别

       注:本人身为SAP咨询顾问,故以下以SAP开发语言ABAP作为例子,其他语言雷同。 

       在SAP领域,做开发的人很多,会ABAP的也不少,但真心懂ABAP,懂开发的人却不多。很多人从事开发行业,只是单纯为了开发而开发,为了写代码而写代码。只要能够实现功能,哪怕里面埋了很多雷挖了很多坑也无关紧要,甚至BUG百出。SAP系统最注重的是代码的质量以及运行高效率和简洁,否则一旦程序有问题,影响的并不是程序本身,而会影响到实际企业生产,甚至一定程度上影响到决策层的判断。跟SAP其他模块一样,ABAP没个大几年的累积经验是无法成为大神级别的,除非是天生天赋异禀。因此会点ABAP语法和开发并没有什么了不起,跟其他诸如.net、Java和PHP等语言一样,培训一段时间就能够上手了,但真的要做到把控需求,功能可扩展延展性就难了。也印证了一句话:会ABAP的不稀奇,懂ABAP才难求;会业务模块的不稀奇,即会业务又懂开发才万金难求!

       以下列举几项,简要说说会开发和懂开发的区别:

       一、更新错误问题

       会开发的人:循环一百次,每次暂停一秒后再Insert表,直到成功为止,如果100次了还失败,那就忽略!所以一旦出现这样的情况,程序就会卡死;

       懂开发的人:Try一下,捕获消息号和文本抛出,然后RollBack。但如果是无关紧要的表(如日志表),直接就忽略掉;

       如下图神奇的代码:

       

       二、多重逻辑判断问题

       会开发的人:IF能写多少就写多少,哪怕功能里面都是重复的逻辑;

       懂开发的人:采用ABAP的动态语法,将重复的功能整合在一起,区别就在动态语法判断上;

       如下图代码:

       

       三、SAP增强的写法

       需要说明的是SAP增强是对系统标准功能和逻辑的一种延伸和更改,需要非常的慎重,同时最好有参数表来做开关控制,输出的消息也得有长文本做描述;

       会开发的人:找到一个增强就兴奋不已,然后直接写代码,不考虑任何扩展和开关控制,也是直接Message出来消息,很难追踪;

       懂开发的人:不仅做了参数控制,同时还会做事务代码或程序名的判断,至于Message则在SE91里面做消息号新建引用,方便维护和追踪!

       如下图神奇的代码:(代码里还有很明显的错误,如果是修改采购订单,则会一直报错误,提示费用申请单已经存在)

       

       四、前后逻辑不一致的问题

       会开发的人:想到哪里就写到哪里,不用判断上下文的逻辑衔接;

       懂开发的人:逻辑严谨性很强,做到前后数据和逻辑一致;

       如下图神奇的代码:

       

       以上程序运行的结果就变成了(金额和单价扩大一万倍):

       

        五、SAP接口模式之争

        会开发的人:认为Webservice是万能统一的,所以不管第三方系统是什么平台和语言,一律用Webservice来做接口,更要命的是所有接口都共用一个出口地址。并且认为RFC不安全不稳定;

        针对接口的开发,不管是输入还是输出,一律用行类型来做多笔记录的传输。无视SAP系统警告说会降低接口的性能;

        懂开发的人:除非第三方平台是上古时代开发的或者语言非常老旧,否则尽量能用RFC就用RFC,并且善用Table页签和“例外”的功能;

        如下图神奇的代码:

        

        

        又比如输出结构:

        

        针对这种处理方式,SAP系统会毫不留情得给出这样的警告:

        

        六、统一数据源问题

        会开发的人:针对用户的需求,来一个写一个功能,哪怕报表逻辑都是类似的,于是写得多了难免会发现同样的数值往往在不同的地方不一致;

        懂开发的人:针对用户的需求,凡是功能类似的都做成一个可重复使用的接口或函数,所有需要用到的地方都调用它取值,统一数据源;

        这里没图!

        七、注释问题

        相信每个开发人员都会遇到看前人的代码,然后又没有任何注释的那种绝望感!

        会开发的人:根本不知道啥叫注释,也重来不会注释; 

        懂开发的人:在非常重要的地方会加入业务需求的说明,以及每一行重要代码的设置说明;

        如下图神奇的代码(谁能知道这个是什么鬼?)

        

        八、导入模板是啥样的?

        这个或许可以说是用户体验问题,但在IT眼里看来,这分明就是懂不懂开发的问题!

        会开发的人:做好批导程序,就扔在那爱谁谁,一段时间之后连自己都不知道导入模板应该是啥样的,是TXT文本导入还是Excel导入,只能继续看程序;

        懂开发的人:在批导的画面做一个按钮可以下载模板;

        如下图(相信所有人看到下图都会一脸懵逼):

        

 

         以上大概列举了我在做项目过程中所遇到的主要的问题,还有很多很多开发相关的事故,都是那些只会写代码而不懂系统逻辑的新手写的。比如基本的数据存在性校验、比如数据读取错误、基本的除数不能为0的判断、针对 FOR ALL ENTRIES IN 不做存在性检查、使用 BINARY SEARCH不做排序等,从来不懂什么叫测试。遇到这样的事故,有时候会哭笑不得,要给IT增加不少的负担。也只能感叹一句,会开发简单,懂开发难,懂业务又懂开发,简直万金难求!

 

 

11楼韩之一
那个扩大10000倍的一定是故意的,说实在的, 那段代码我没看懂
Re: SAP梦心
@韩之一,哈哈~应该不是故意的,应该是BUG吧~要不然就道德问题了
10楼掬一把月
写得挺好,都是干货。可以给新人做这块培训!
9楼Toby Xu
呵呵
8楼toEverybody
SAP垃圾
Re: SAP梦心
@toEverybody,是什么根据来支撑你的这个言论?愿闻高见!
7楼fishkuro
只是开发细节而已,一般新手培训,开发规范文档规范一下,就搞定的事情,说很如何如何似的
Re: SAP梦心
@fishkuro,根本就不是那回事儿~很多开发观念和思维不是新手培训就可以掌握的!
6楼清风送明月
不懂也不会ABAP,但标识符好长哦,不难写吗
Re: SAP梦心
@清风送明月,还好吧,第四代语言相对简单,没有太复杂的东西~
5楼雷厉*风行
乍一看像PL/SQL
Re: SAP梦心
@雷厉*风行,有那么一点相像!
4楼andlp
一家之言
3楼vbfool
RFC对接容易么?各种平台覆盖率怎么样?,我写的时候感觉好像是在用DataTable一样啊。
Re: SAP梦心
@vbfool,我所知道的,比如.net,Php,Java,Javascript,VBA等都支持RFC调用!,只要客户端有安装SAP GUI都能支持!,RFC是非常容易调用的一个接口协议~
2楼牛腩
支持支持
Re: SAP梦心
@牛腩,谢谢!
1楼浩魔
ABAP语言是很老的语言吗
Re: SAP梦心
@浩魔,属于第四代语言,也不会古老,主要是应用于SAP系统
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

  • :安装MINI SAP失败

    求救:安装MINI SAP失败! 如题。 怎么办啊? 安装之前已经把SQL2000 2005 VS.NET05 08全都卸载了的。 安装CD1的时候就开始报错...

  • 哪位高手有abap eclipse editor

    谁有abap eclipse editor? 那位哥们有,可以进行资料交换。 ------解决方案-------------------- 这个现在只支持460,好像不支持640...

  • ,关于t-code:sgen的有关问题!

    求助,关于t-code:sgen的问题!急~~~ 昨天刚把sap ecc6装好了 。为了能够快速运行,事先准备用sgen编译一下 非常郁闷的是,在还没有开始...

  • sql查询语句中WHERE条件后面AND的个数解决方案

    sql查询语句中WHERE条件后面AND的个数 sql查询语句中WHERE条件后面AND的个数有没有限制啊! ------解决方案-------------------- ...

  • SAP模块,学哪个模块未来发展比较顺利

    【求助】SAP模块,学哪个模块未来发展比较顺利? 各位大侠,我是SAP新人。最近公司在培训,3周培训后要我们从PS,FI,CO,MM等中选择一个模...

  • 站在十字路口,该怎么处理

    站在十字路口 本人在一个快消公司做IT程序员,主要负责内部系统开发、报表开发、数据库维护等工作。现在公司要上SAP了,我也有幸参与...

  • alv field 是否可以进行日期选择解决方法

    alv field 是否可以进行日期选择 哪位达人知道怎么在ALV报表中实现 日期的选择,就像调整系统日期一样,不用手动收入 ------解决方...

  • 在sap中怎样获取字段所属的表解决思路

    在sap中怎样获取字段所属的表 小弟是SAP初学者,在这里遇到一个问题,由于对sap内部表结构不是很了解,现在要根据一些字段获取所属的表...

  • ABAP list report 输出有关问题

    ABAP list report 输出问题 小弟初学ABAP,苦难重重,望大侠门指点。两个问题: 第一,我做了一个list report,输出deliveray item 和invoi...

  • 在SAP中如何截取字符串

    在SAP中怎么截取字符串 在SAP中怎么截取字符串 比如 DATA:STR(10) LIKE C VALUE '1234567890', STR1(4) LIKE C. 我要取...

热门推荐: