張偉磨刀霍霍,帶著10個大殺器,就攻入了bapi的腹地,開始了正式的探寶!
進入bapi界麵後,張偉開始了剖析,界麵有兩種查找bapi的方式,一種是層級菜單模式,一種是關鍵字模式,張偉準備了10個探索的誘餌,直接奔著關鍵字模式就去了!
首先是主數據,按照關鍵字往下,沒滑動多少,就找到了“custoer”客戶主數據!畢竟是字母c開頭!
進去後,張偉發現,點開後,下拉很多具體的bapi,有“create、edit、cete.......”等等,拉下來有幾十個bapi!
目光移到了右邊,張偉發現了熟悉的身影“kna1”,非常好,自己寫報表用過無數次的客戶主數據的表,但是在這裡這個“kna1”的抬頭名變了,變成了“objecttype”對象類型?
什麼鬼!為什麼不叫tabe名了?叫“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首字母排在最後,張偉基本上拉到了底部才找到!
張偉迫不及待的點開,心中默念這“fa1”,這是供應商主數據的表,點擊後迅速看向了右邊的信息欄!
我靠!果然!熟悉的“fa1”表出現在眼前,nnd多麼熟悉的表!fa1自己在當時的報表編寫中使用了無數次,對這個表簡直是如數家珍!
現在他在自己期待的位置,“objecttype”的後麵就是“fa1”.ateria:物料主數據”了,張偉期待的點開了這個菜單,心中無比篤定,出現那個意料之中的,熟悉表名“ara”自己寫報表,用過無數次的物料主數據表!ara”而是一個完全陌生的“objecttype:bus1001”!ateria”為什麼對象類型不是“ara”?
張偉有點丈二和尚摸不著頭腦了!懵叉叉了!
張偉馬上又拋出了,剩下的誘餌!都是那種不認識的,不熟悉的對象類型名!
張偉有點暈晃晃的了,難道前麵兩個自己眼花了!看錯了!
於是張偉又去看了客戶、供應商主數據,沒有變啊!就是那兩個表“kan1和fa1”沒有錯啊!
那為什麼隻有這兩個,而其他的都不是了?張偉陷入了困惑!難道自己的推導邏輯錯了麼嗎?張偉有點自我懷疑了!
張偉想,abap語言跨越了一個程序語言分代,那麼中間肯定需要在某個地方補齊的,現在自己差不多找到了這個分代的補齊地方了!
這章沒有結束,請點擊下一頁繼續閱讀!
那為什麼,前麵兩個是自己認為正確的麵向對象邏輯思維,設定的對象!
而後麵這些都不是了?這是為什麼啊!ateria”,采購訂單的對象名“purchaseorder”....,但是他們的對象類型,為什麼不是對應的數據表名了?
nnd!這是什麼情況!張偉有點抓狂了!
對象名是和自己麵向對象的認知匹配的!可是對象類型不是啊!
fuck!哪裡出錯了!哪裡有問題?張偉想抓耳撓腮!辦公室的環境有點不允許!
nnd,廁所,放點水去!換換腦子!
回來後,張偉心情有點平複了!
張偉不知道哪根筋搭錯了,雙擊了下對象名!
我靠!暗門!居然有暗門!