




已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
在我開(kāi)發(fā)的項(xiàng)目過(guò)程中,許多客戶(hù)和顧問(wèn)向我提出了許許多多的功能需求。但我在分析研究了這些需求后發(fā)現(xiàn)許多的需求我們顧問(wèn)均可以解決。尤其是流程控制方面的需求。我把這方面的一些粗淺看法整理出來(lái),供大家分享。一、各種顧問(wèn)在項(xiàng)目實(shí)施過(guò)程中出現(xiàn)過(guò)的看是需要研發(fā)解決的需求1、如何控制不同的銷(xiāo)售人員只能修改自己管理的客戶(hù)的數(shù)據(jù)?2、如何控制不同的銷(xiāo)售人員只能錄入修改自己的銷(xiāo)售訂單?3、如何給sbo的任何單據(jù)(我這里強(qiáng)調(diào)任何單據(jù),包括銷(xiāo)售訂單,銷(xiāo)售發(fā)貨單、發(fā)票、采購(gòu)訂單、采購(gòu)收貨單、采購(gòu)發(fā)票、財(cái)務(wù)憑證、庫(kù)存轉(zhuǎn)儲(chǔ)等等)加上自己的邏輯驗(yàn)證控制(例如不填某一個(gè)字段不用許sbo添加到數(shù)據(jù)庫(kù))4、如何在各種單據(jù)或主數(shù)據(jù)添加修改過(guò)程中加上自己想要的功能?以前這些需求一般都是顧問(wèn)要求研發(fā)人員來(lái)參與協(xié)同工作來(lái)解決。我們現(xiàn)在要討論的就是這些問(wèn)題統(tǒng)統(tǒng)不再研發(fā),顧問(wèn)可輕松搞定。當(dāng)然這要求顧問(wèn)要具備一些基礎(chǔ)知識(shí)。二、顧問(wèn)要解決這些問(wèn)題要具備的基礎(chǔ)知識(shí)1、sql的知識(shí)。我一直認(rèn)為,一個(gè)ERP軟件顧問(wèn)高手對(duì)SQL必須的基本素質(zhì)。他可以讓你隨心所欲從這個(gè)充滿金礦的ERP數(shù)據(jù)海洋里找到你想要的金子。我認(rèn)為有志于成為ERP軟件顧問(wèn)高手的朋友在此付出一點(diǎn)時(shí)間和金錢(qián)是絕對(duì)值得的!它是打開(kāi)我們理解ERP軟件內(nèi)核的金鑰匙,也是會(huì)讓我們終生受益的一種技能。無(wú)論我們從事的是哪一個(gè)ERP系統(tǒng)的顧問(wèn)工作!2、SBO對(duì)象的概念與規(guī)則。當(dāng)然,我覺(jué)得您在讀這篇雜論前要有堅(jiān)持讀下去的意志。盡管這好像是有點(diǎn)枯燥乏味。但這點(diǎn)乏味的知識(shí)會(huì)給您帶來(lái)無(wú)窮的想象力!SBO的DI對(duì)象,針對(duì)顧問(wèn)通俗點(diǎn)簡(jiǎn)單點(diǎn)說(shuō)就像物料主數(shù)據(jù)、客戶(hù)主數(shù)據(jù)、銷(xiāo)售訂單、采購(gòu)訂單等等這些SBO里的東東。他們?cè)赟BO系統(tǒng)里都有一個(gè)編號(hào),就像我們都有一個(gè)名字一樣用于唯一識(shí)別。例如物料主數(shù)據(jù)的編號(hào)是:4。具體清單如下:Member ValueoChartOfAccounts 1oBusinessPartners 2oBanks 3oItems 4oVatGroups 5oPriceLists 6oSpecialPrices 7oItemProperties 8oUsers 12oInvoices 13oCreditNotes 14oDeliveryNotes 15oReturns 16oOrders 17oPurchaseInvoices 18oPurchaseCreditNotes 19oPurchaseDeliveryNotes 20oPurchaseReturns 21oPurchaseOrders 22oQuotations 23oIncomingPayments 24oJournalVouchers 28oJournalEntries 30oStockTakings 31oContacts 33oCreditCards 36oCurrencyCodes 37oPaymentTermsTypes 40oBankPages 42oManufacturers 43oVendorPayments 46oLandedCostsCodes 48oShippingTypes 49oLengthMeasures 50oWeightMeasures 51oItemGroups 52oSalesPersons 53oCustomsGroups 56oChecksforPayment 57oInventoryGenEntry 59oInventoryGenExit 60oWarehouses 64oCommissionGroups 65oProductTrees 66oStockTransfer 67oWorkOrders 68oCreditPaymentMethods 70oCreditCardPayments 71oAlternateCatNum 73oBudget 77oBudgetDistribution 78oMessages 81oBudgetScenarios 91oSalesOpportunities 97oUserDefaultGroups 93oSalesStages 101oActivityTypes 103oActivityLocations 104oDrafts 112oDeductionTaxHierarchies 116oDeductionTaxGroups 117oAdditionalExpenses 125oSalesTaxAuthorities 126oSalesTaxAuthoritiesTypes 127oSalesTaxCodes 128oQueryCategories 134oFactoringIndicators 138oPaymentsDrafts 140oAccountSegmentations 142oAccountSegmentationCategories 143oWarehouseLocations 144oForms1099 145oInventoryCycles 146oWizardPaymentMethods 147oBPPriorities 150oDunningLetters 151oUserFields 152oUserTables 153oPickLists 156oPaymentRunExport 158oUserQueries 160oMaterialRevaluation 162oCorrectionPurchaseInvoice 163oCorrectionPurchaseInvoiceReversal 164oCorrectionInvoice 165oCorrectionInvoiceReversal 166oContractTemplates 170oEmployeesInfo 171oCustomerEquipmentCards 176oWithholdingTaxCodes 178oBillOfExchangeTransactions 182oKnowledgeBaseSolutions 189oServiceContracts 190oServiceCalls 191oUserKeys 193oQueue 194oSalesForecast 198oTerritories 200oIndustries 201oProductionOrders 202oPackagesTypes 205oUserObjectsMD 206oTeams 211oRelationships 212oUserPermissionTree 214oActivityStatus 217oChooseFromList 218oFormattedSearches 219oAttachments2 221oUserLanguages 223oMultiLanguageTranslations 224oDynamicSystemStrings 229oHouseBankAccounts 231oBusinessPlaces 247oLocalEra 250oSalesTaxInvoice 280oPurchaseTaxInvoice 281BoRecordset 300BoBridge 305oNotaFiscalUsage 260oNotaFiscalCFOP 258oNotaFiscalCST 259oClosingDateProcedure 261oBusinessPartnerGroups 10oBPFiscalRegistryID 278三、關(guān)鍵的存儲(chǔ)過(guò)程語(yǔ)法:大家打開(kāi)sqlserver的查詢(xún)分析器,打開(kāi)SBO的一個(gè)公司數(shù)據(jù)庫(kù),查找一個(gè)存儲(chǔ)過(guò)程:SBO_SP_TransactionNotification 它就是讓我們得以控制SBO的魅力所在!ALTER proc SBO_SP_TransactionNotification object_type nvarchar(25), - SBO Object Typetransaction_type nchar(1), - Add, Update, Delete, Cancel, CLosenum_of_cols_in_key int,list_of_key_cols_tab_del nvarchar(255),list_of_cols_val_tab_del nvarchar(255)ASbegin- Return valuesdeclare error int - Result (0 for no error)declare error_message nvarchar (200) - Error string to be displayedselect error = 0select error_message = NOk- ADD YOUR CODE HERE- Select the return valuesselect error, error_messageend這個(gè)存儲(chǔ)過(guò)程的作用就是任何一個(gè)SBO對(duì)象操作完程前都會(huì)調(diào)用它一次。以便我們加入我們的邏輯控制來(lái)實(shí)現(xiàn)一些客戶(hù)的特殊要求。我們來(lái)看一下他的參數(shù):第一個(gè)參數(shù):object_type 這就是我們上邊討論的SBO對(duì)象的編號(hào)。每一個(gè)對(duì)象執(zhí)行Add, Update, Delete, Cancel, CLose操作時(shí)都會(huì)把操作的對(duì)象編號(hào)在這個(gè)參數(shù)中傳入,我們只要判斷該參數(shù)即可實(shí)現(xiàn)對(duì)不同的對(duì)象的不同的控制。我后邊會(huì)給大家提供一些練習(xí)。第二個(gè)參數(shù):transaction_type nchar(1), - Add, Update, Delete, Cancel, CLose當(dāng)在SBO系統(tǒng)中執(zhí)行了添加操作,例如添加了一個(gè)物料主數(shù)據(jù),object_type的值就等于4,transaction_type的值就等于A 。第三個(gè)參數(shù):num_of_cols_in_key,對(duì)象關(guān)鍵字段的數(shù)目。例如物料主數(shù)據(jù)的關(guān)鍵字段是物料編碼,他只有一個(gè)關(guān)鍵字,所以該值等于1。第四個(gè)參數(shù):list_of_key_cols_tab_del 代表該對(duì)象的關(guān)鍵字段的字段名字,例如物料主數(shù)據(jù)就是Itemcode,單據(jù)就是Docentry.第五個(gè)參數(shù):list_of_key_cols_tab_del 代表關(guān)鍵字段的值。這時(shí)已非常重要的參數(shù)。我再次說(shuō)明一點(diǎn),經(jīng)過(guò)我測(cè)試,SBO的對(duì)象再添加修改時(shí)會(huì)現(xiàn)在數(shù)據(jù)庫(kù)里操作完成,然后調(diào)用該存儲(chǔ)過(guò)程。所以我們就靠這個(gè)字段來(lái)作為驗(yàn)證控制我們的邏輯的入口之一了。在以上介紹的五個(gè)參數(shù)之中,最重要的就是object_type,transaction_type,list_of_cols_val_tab_del這三個(gè)參數(shù)。大家一定要明白他們的含義!內(nèi)部的兩個(gè)重要控制參數(shù):error ,好了,揭示了這么多,就數(shù)他最重要了。計(jì)算機(jī)世界的0和1就讓他體現(xiàn)的淋漓盡致了。當(dāng)我么給它賦值為零的時(shí)候,SBO的流程繼續(xù)運(yùn)行。一旦我們給他賦值為1,好了,效果出現(xiàn)了,你在sbo中操作的對(duì)象就再也不能完成它的操作了!牛!就是這個(gè)牛的地方可以讓我們收拾SBO任何的對(duì)象,可以按客戶(hù)的心花讓SBO盡情的怒放。當(dāng)然我們經(jīng)過(guò)我們自己的邏輯,把 error =1,不然SBO按自己的邏輯繼續(xù)下去了,總也得在SBO中給出個(gè)提示把,就像B1的狀態(tài)欄的提示一樣,那您就要?jiǎng)佑胑rror_message這個(gè)參數(shù)了。200個(gè)字符盡情地表述您的一肚子邏輯的解釋吧,幽默也好,冷冰冰也罷!好了我們解釋過(guò)了這個(gè)存儲(chǔ)過(guò)程的架構(gòu),那我接下來(lái)看看它的威力。看看SBO的牛皮吹得力量能不能把雞蛋吹成氣球!四、幾個(gè)小例子第一個(gè)例子:我們就測(cè)試一下物料主數(shù)據(jù),并看一下這幾個(gè)參數(shù)。在查詢(xún)分析器打開(kāi)該存儲(chǔ)過(guò)程,讓其處于編輯狀態(tài),要仔細(xì)找,SBO的存儲(chǔ)過(guò)程密密麻麻一大堆,看起來(lái)確實(shí)頭疼,對(duì)一個(gè)顧問(wèn)來(lái)說(shuō)。但研發(fā)人員也許不這樣認(rèn)為。研發(fā)人員對(duì)代碼的好奇心永遠(yuǎn)是無(wú)止境的。我就曾經(jīng)把SBO的存儲(chǔ)過(guò)程一個(gè)接一個(gè)的讀了個(gè)遍。管他加密的不加密的。讀了會(huì)有收獲的!呵呵。也讓咱看看SAP的牛人們使用什么樣的代碼來(lái)操作這個(gè)世界的企業(yè)用戶(hù)的數(shù)據(jù)的!ALTER proc SBO_SP_TransactionNotification object_type nvarchar(25), - SBO Object Typetransaction_type nchar(1), - Add, Update, Delete, Cancel, CLosenum_of_cols_in_key int,list_of_key_cols_tab_del nvarchar(255),list_of_cols_val_tab_del nvarchar(255)ASbegin- Return valuesdeclare error int - Result (0 for no error)declare error_message nvarchar (200) - Error string to be displayeddeclare aaa nvarchar(100) -WLJ test select error = 0select error_message = NOk- ADD YOUR CODE HEREif object_type=4-itemsbeginif transaction_type=A beginselect aaa =itemname from oitm where itemcode=list_of_cols_val_tab_del if aaa=Testbeginset error=1set error_message=物料主數(shù)據(jù)描述不能等于Test!+aaa +-+ list_of_key_cols_tab_del +-+list_of_cols_val_tab_del +-+cast(num_of_cols_in_key as nvarchar(20)endendelse if transaction_type=Dbeginset error=1set error_message=不允許小孩子瞎刪除! + list_of_key_cols_tab_del +-+list_of_cols_val_tab_del +-+cast(num_of_cols_in_key as nvarchar(20)endend- Select the return valuesselect error, error_messageend在這個(gè)例子里,我們首先對(duì)添加的物料主數(shù)據(jù)判斷其描述是否等于“Test”如果是,那就不讓它添加,對(duì)于物料主數(shù)據(jù)則不允許刪除。大家注意分析各參數(shù)的內(nèi)容。我在這個(gè)例子里把各個(gè)參數(shù)的值也傳遞到SBO的消息提示里邊,這樣大家學(xué)習(xí)分析方便!第二個(gè)例子:上邊的例子我們測(cè)試驗(yàn)證了主數(shù)據(jù),我們下邊來(lái)看一下單據(jù)。ALTER proc SBO_SP_TransactionNotification object_type nvarchar(25), - SBO Object Typetransaction_type nchar(1), - Add, Update, Delete, Cancel, CLosenum_of_cols_in_key int,list_of_key_cols_tab_del nvarchar(255),list_of_cols_val_tab_del nvarchar(255)ASbegin- Return valuesdeclare error int - Result (0 for no error)declare error_message nvarchar (200) - Error string to be displayeddeclare aaa nvarchar(100) -WLJ test select error = 0select error_message = NOk- ADD YOUR CODE HEREif object_type=17-salseorderbeginif transaction_type=Abeginset error=1set error_message=添加出錯(cuò)提示! + list_of_key_cols_tab_del +-+list_of_cols_val_tab_del +-+cast(num_of_cols_in_key as nvarchar(20)endelse if transaction_type=Ubeginset error=1set error_message=更新出錯(cuò)提示! + list_of_key_cols_tab_del +-+list_of_cols_val_tab_del +-+cast(num_of_cols_in_key as nvarchar(20)endend- Select the return valuesselect error, error_messageend當(dāng)然這個(gè)例子我寫(xiě)得簡(jiǎn)單,只是測(cè)試在銷(xiāo)售訂單添加或更新的時(shí)候強(qiáng)不允許添加或更新。大家可以根據(jù)自己的邏輯來(lái)實(shí)際處理。我這里只是給大家提供一個(gè)思路。整合,當(dāng)然我們實(shí)際工作中不可能只對(duì)一個(gè)對(duì)象操作,有可能對(duì)很對(duì)對(duì)象同時(shí)驗(yàn)證,那就把上邊的合起來(lái)即可,即可以對(duì)物料主數(shù)據(jù)控制也可以對(duì)銷(xiāo)售訂單控制。我給大家寫(xiě)了個(gè)小架構(gòu)供大家參考使用。ALTER proc SBO_SP_TransactionNotification object_type nvarchar(25), - SBO Object Typetransaction_type nchar(1), - Add, Update, Delete, Cancel, CLosenum_of_cols_in_key int,list_of_key_cols_tab_del nvarchar(255),list_of_cols_val_tab_del nvarchar(255)ASbegin- Return valuesdeclare error int - Result (0 for no error)declare error_message nvarchar (200) - Error string to be displayedselect error = 0select error_message = NOkdeclare aaa nvarchar(100)if object_type=2 -BusinessPartnersbeginif transaction_type=Abeginset error=1set error_message=添加出錯(cuò)提示! + list_of_key_cols_tab_del +-+list_of_cols_val_tab_del +-+cast(num_of_cols_in_key as nvarchar(20)endendelse if object_type=4-itemsbeginif transaction_type=A beginselect aaa =itemname from oitm where itemcode=list_of_cols_val_tab_del if aaa=Testbeginset error=1set error_message=添加出錯(cuò)提示!+aaa +
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 財(cái)產(chǎn)贈(zèng)與協(xié)議(16篇)
- 公司承包合同范文錦集(15篇)
- 勞動(dòng)合同解除(16篇)
- 夫妻自愿離婚協(xié)議(有財(cái)產(chǎn))(19篇)
- 2025-2030年中國(guó)整形外科內(nèi)窺鏡行業(yè)深度研究分析報(bào)告
- 拼裝式托盤(pán)項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 榫齒金剛石滾輪項(xiàng)目投資可行性研究分析報(bào)告(2024-2030版)
- 2025年中國(guó)全松木建筑模板膠行業(yè)市場(chǎng)規(guī)模及投資前景預(yù)測(cè)分析報(bào)告
- 呼和浩特展示展覽柜項(xiàng)目可行性分析報(bào)告-圖文
- 中國(guó)自吸式飲料泵行業(yè)市場(chǎng)前景預(yù)測(cè)及投資價(jià)值評(píng)估分析報(bào)告
- 網(wǎng)絡(luò)設(shè)備安全配置表
- GB/T 700-2006碳素結(jié)構(gòu)鋼
- GB/T 28732-2012固體生物質(zhì)燃料全硫測(cè)定方法
- GB/T 17214.1-1998工業(yè)過(guò)程測(cè)量和控制裝置工作條件第1部分:氣候條件
- 豬生殖器官(課堂PPT)
- 2023年廣東學(xué)位英語(yǔ)試題學(xué)位英語(yǔ)考試真題(含答案)
- 《旅行社經(jīng)營(yíng)管理》考試復(fù)習(xí)題庫(kù)及答案
- 粵教版五年級(jí)下冊(cè)科學(xué)知識(shí)點(diǎn)
- 危大工程巡視檢查記錄表(深基坑)
- 《最好的未來(lái)》合唱曲譜
- GB∕T 36765-2018 汽車(chē)空調(diào)用1,1,1,2-四氟乙烷(氣霧罐型)
評(píng)論
0/150
提交評(píng)論