张伟磨刀霍霍,带着10个大杀器,就攻入了BAPI的腹地,开始了正式的探宝!
进入BAPI界面后,张伟开始了剖析,界面有两种查找BAPI的方式,一种是层级菜单模式,一种是关键字模式,张伟准备了10个探索的诱饵,直接奔着关键字模式就去了!
首先是主数据,按照关键字往下,没滑动多少,就找到了“Customer”客户主数据!毕竟是字母C开头!
进去后,张伟发现,点开后,下拉很多具体的BAPI,有“create、edit、change、delete.......”等等,拉下来有几十个BAPI!
目光移到了右边,张伟发现了熟悉的身影“KNA1”,非常好,自己写报表用过无数次的客户主数据的表,但是在这里这个“KNA1”的抬头名变了,变成了“object type”对象类型?
什么鬼!为什么不叫table名了?叫“object type”这是几个意思?object,对象,面相对象?
张伟想起,结出实心蓝丹时,对程序语言进行了分代,第一代面向机器如汇编语言,第二代面向过程如C语言,第三代面向对象如Java语言,第四代面向应用如张伟现在做SAP的ABAP语言,当然后面张伟对第四代又进行了细化,第四代,应该是面向特定方向的应用,张伟现在这个ABAP语言,就只能在SAP里使用,只能编辑SAP的程序,不能编辑其他需求的程序,因此应用起来很窄,但是封装非常的完善,基本上把ERP这个领域的常规处理逻辑都封装好了,直接使用即可!因此第四代会有很多种面向最终应用的语言,比如面向动画的、面向工程的......只在自己领域使用的编程语言!
而张伟结出的SAP实心蓝丹,是没有第三层面向对象程序层的,从C语言层,直接就到了ABAP层!当时张伟是有点想不通的!觉得这和自己划分的4代编程语言,有冲突,中间少了一层!
当时想如果中间加一层面向对象层,可是ABAP又不是面向对象,张伟编程时明显没有感受到,面向对象的程序思维习惯!ABAP给张伟的感觉就是简单,比Java,C#等这些正统的面向对象编程语言来说,就太简单了,而且编程效率很高,基本就是直接面向最终用户需求去的!因此张伟就把当时结出的SAP蓝丹直接把第三层定义成了ABAP程序层!
可是现在打算结第六层丹时,居然跳出了这么一个“object”的玩意,张伟就有点懵圈了!而且跳出的这个还是对“KNA1”客户主数据表!
难道是把KNA1看做一个对象,进行BAPI编程?
张伟诞生了这个想法,异常的兴奋,可能第六层一开局就封层结丹了,同时好像觉得很合理,那么需要验证下了!
张伟手上准备的大杀器,探路诱饵还有很多,现在才用了一个“客户主数据”甚至都还没用完,就有收获了,现在需要抛出第二枚、第三枚诱饵了!
张伟很是兴奋啊,可以抛诱饵,代表鱼儿已经上钩了啊!可以往前猛攻了!
丢第二个探路诱饵“vendor”供应商主数据,V首字母排在最后,张伟基本上拉到了底部才找到!
张伟迫不及待的点开,心中默念这“LFA1”,这是供应商主数据的表,点击后迅速看向了右边的信息栏!
我靠!果然!熟悉的“LFA1”表出现在眼前,NND多么熟悉的表!LFA1自己在当时的报表编写中使用了无数次,对这个表简直是如数家珍!
现在他在自己期待的位置,“object type”的后面就是“LFA1”.
该放第三个探路诱饵“Material:物料主数据”了,张伟期待的点开了这个菜单,心中无比笃定,出现那个意料之中的,熟悉表名“MARA”自己写报表,用过无数次的物料主数据表!
当点开这个界面时,张伟石化了!不是期待中的“MARA”而是一个完全陌生的“Object type:BUS1001”!
我靠什么情况!上面明明标注的对象名是“Material”为什么对象类型不是“MARA”?
张伟有点丈二和尚摸不着头脑了!懵叉叉了!
张伟马上又抛出了,剩下的诱饵!都是那种不认识的,不熟悉的对象类型名!
张伟有点晕晃晃的了,难道前面两个自己眼花了!看错了!
于是张伟又去看了客户、供应商主数据,没有变啊!就是那两个表“KAN1和LFA1”没有错啊!
那为什么只有这两个,而其他的都不是了?张伟陷入了困惑!难道自己的推导逻辑错了么吗?张伟有点自我怀疑了!
张伟想,ABAP语言跨越了一个程序语言分代,那么中间肯定需要在某个地方补齐的,现在自己差不多找到了这个分代的补齐地方了!
小主,这个章节后面还有哦,请点击下一页继续阅读,后面更精彩!