版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、KudoNef多茂科技南京多茂科技發(fā)展有限公司OracleERP報表開發(fā)培訓(xùn)教程報表開發(fā)的總體步驟,及一些工具包的簡單介紹Pl/sql語法及pl/sql函數(shù)、數(shù)組、記錄、游標(biāo)、視圖、基表、臨時表、異常:-4-HTML技術(shù)和CSS修飾:-10查找數(shù)據(jù)的方法及OracleApplication表命名的規(guī)律:-11可執(zhí)行、并發(fā)程序、請求組和值集的定義:-12一個報表開發(fā)的實例::-15系統(tǒng)中部分表的介紹:;-21-開發(fā)分頁報表(套打)的步驟:;22開發(fā)規(guī)范:二-24一附:記錄和數(shù)組使用范例:.二28-所謂報表開發(fā)就是按照用戶的需求,根據(jù)用戶提供的樣表,運用編程的手段,從ERP系統(tǒng)中取出數(shù)據(jù)展現(xiàn)在頁面
2、上的一個理解需求、查找數(shù)據(jù)、展現(xiàn)結(jié)果的過程。目前開發(fā)報表的方法及工具有很多種,有專門針對報表需求定制的報表系統(tǒng),通過對sql語句的改寫能實現(xiàn)特別的報表需求,這樣的系統(tǒng)有很強(qiáng)的針對性和限制性;還有運用報表開發(fā)工具根據(jù)用戶需求臨時開發(fā)報表,具有很強(qiáng)的靈活性和應(yīng)用性。本文檔只關(guān)注運用Oracle在DB中提供的一些開發(fā)工具包,及WEB技術(shù)開發(fā)報表的過程和方法。Oracle博大精深,如果在實際開發(fā)過程中遇到困難可以通過網(wǎng)上論壇和oracle網(wǎng)站獲得技術(shù)幫助。根據(jù)實際的開發(fā)過程,本文檔從以下幾個方面來說明:一.報表開發(fā)的總體步驟,及一些工具包的簡單介紹開發(fā)步驟1分析客戶提供的樣表2向客戶或者顧問征詢報表中
3、每個值的意思,務(wù)必理解所需開發(fā)報表的意向3需要客戶在ERP指明數(shù)據(jù)的取處4自己動手在測試環(huán)境中做一遍,梳理一下流程5清楚報表的參數(shù)是什么6以包的形式組織數(shù)據(jù),在包里面實現(xiàn)各種功能7在ERP中定義可執(zhí)行,從而使ERP和DB建立聯(lián)系8在ERP中定義并發(fā)程序,定義了報表的輸出文件的類型和參數(shù)9在相應(yīng)的請求組中加入已定義好的并發(fā)程序名稱工具包介紹1 FND_PROFILERetrieveuserprofilevaluesforthecurrentrun-timeenvironmentSetuserprofilevaluesforthecurrentrun-timeenvironmentFnd_prof
4、ile.value('ORG_ID)取配置文件的值2 DBMS_OUTPUTThispackageenablesyoutosendmessagesfromstoredprocedures,packages,andtriggersDbms_output.put_line在sqlwindow中輸出結(jié)果3 FND_GLOBALFnd_global.APPS_INITIALIZE(user_id,resp_id,resp_appl_id)模擬環(huán)境其中user_id,resp_id,resp_appl_id可以通過這種方法獲得:幫助->診斷->檢查,在塊中選擇$PROFILES,在字
5、段選擇USER_ID可以獲得USER_ID,同樣方法可以獲得RESP_ID,RESP_APPL_ID(可能有時你需要在OracleApplications環(huán)境外運行一些PL/SQL語句,但是這些語句中需要訪問系統(tǒng)相關(guān)的環(huán)境變量,例如view,這樣你可以使用上述方法達(dá)到你的目的)Fnd_global.User_name得到當(dāng)前用戶的名稱Fnd_global.User_id得到當(dāng)前用戶的id4 UTL_FILETheUTL_FILEpackageletsyourPL/SQLprogramsreadandwriteoperatingsystem(OS)textfiles.Itprovidesares
6、trictedversionofstandardOSstreamfileinput/output(I/O).ThefileI/OcapabilitiesaresimilartothoseofthestandardoperatingsystemstreamfileI/O(OPEN,GET,PUT,CLOSE),withsomelimitations.Forexample,calltheFOPENfunctiontoreturnafilehandle,whichyouthenuseinsubsequentcallstoGET_LINEorPUTtoperformstreamI/Otoafile.W
7、henyouaredoneperformingI/Oonthefile,callFCLOSEtocompleteanyoutputandtofreeanyresourcesassociatedwiththefile.UTL_FILE.FILE_TYPE定義文件指針utl_file.fopen(dir,name,mode)Opensafileforinputoroutputwiththedefaultlinesize創(chuàng)建時間:2020-3-2216:11:00作者:lisr公司:KudonetPage3of28utl_file.put_line(,)Writesalinetoafile向文件中寫
8、數(shù)據(jù)utl_file.fclose_allClosesallopenfilehandles關(guān)閉所有已打開的文件指針5 FJ_FUNC客戶化的函數(shù)包,定義了一些在實際開發(fā)過程中用到一些方法和變量在實際開發(fā)過程中,如果需要一些方法時可以在這個包中查找,如果通用性比較強(qiáng)的過程也可以加到這個包里詳細(xì)可以參閱這個包6 FJ_OUTPUT客戶化的報表格式生成包,封裝了html語法詳細(xì)可以參閱這個包二.Pl/sql語法及pl/sql函數(shù)、數(shù)組、記錄、游標(biāo)、視圖、基表、臨時表、異常、Pl/sql基本元素的使用SelectTheSELECTstatementallowsyoutoretrieverecordsf
9、romoneormoretablesinyourdatabase.ThesyntaxfortheSELECTstatementis:SELECTcolumnsFROMtablesWHEREpredicatesDistinctTheDISTINCTclauseallowsyoutoremoveduplicatesfromtheresultset.TheDISTINCTclausecanonlybeusedwithselectstatementsThesyntaxfortheDISTINCTclauseis:SELECTDISTINCTcolumnsFROMtablesWHEREpredicate
10、sEXISTSTheEXISTSconditionisconsidered"tobemet"ifthesubqueryreturnsatleastonerowTheEXISTSconditioncanbeusedinanyvalidSQLstatement-select,insert,update,ordelete.Example#1ThefollowingisanSQLstatementthatusestheEXISTScondition:SELECT*FROMsuppliersWHEREEXISTS(select*fromorderswheresuppliers.sup
11、plier_id=orders.supplier_id);Thisselectstatementwillreturnallrecordsfromthesupplierstablewherethereisatleastonerecordintheorderstableiththesamesupplier_id.Example#2-NOTEXISTSTheEXISTSconditioncanalsobecombinedwiththeNOToperator.Forexample,SELECT*FROMsuppliersWHEREnotexists(select*fromordersWheresupp
12、liers.supplier_id=orders.supplier_id);Thiswillreturnallrecordsfromthesupplierstablewheretherearenorecordsintheorderstableforthegivensupplier_idInTheINfunctionhelpsreducetheneedtousemultipleORconditionsTheINfunctioncanbeusedinanyvalidSQLstatement-select,insert,update,ordelete.Example#1Thefollowingisa
13、nSQLstatementthatusestheINfunction:創(chuàng)建時間:2020-3-2216:11:00作者:lisr公司:KudonetPage4of28SELECT*FROMsupplierWHEREsupplier_namein('IBM','HewlettPackard','Microsoft');Thiswouldreturnallrowswherethesupplier_nameiseitherIBM,HewlettPackard,orMicrosoft.Becausethe*isusedintheselect,allfie
14、ldsfromthesuppliertablewouldappearintheresultset.Example#2"NOTIN"TheINfunctioncanalsobecombinedwiththeNOToperator.Forexample,SELECT*FROMsupplierWHEREsupplier_namenotin('IBM','HewlettPackard','Microsoft');Thiswouldreturnallrowswherethesupplier_nameisneitherIBM,Hewlet
15、tPackard,orMicrosoft.Sometimes,itismoreefficienttolistthevaluesthatyoudonotwant,asopposedtothevaluesthatyoudowant.LikeTheLIKEconditionallowsyoutousewildcardsinthewhereclauseofanSQLstatement.Thisallowsyoutoperformpatternmatching.TheLIKEconditioncanbeusedinanyvalidSQLstatement-select,insert,update,ord
16、elete.Thepatternsthatyoucanchoosefromare:%allowsyoutomatchanystringofanylength(includingzerolength)_allowsyoutomatchonasinglecharacterSELECT*FROMsupplierWHEREsupplier_namelike'Hew%'SELECT*FROMsupplierWHEREsupplier_namelike'%bob%'SELECT*FROMsupplierWHEREsupplier_namenotlike'T%'
17、;SELECT*FROMsupplierWHEREsupplier_namelike'Sm_th'GROUPBYTheGROUPBYclausecanbeusedinaSELECTstatementtocollectdataacrossmultiplerecordsandgrouptheresultsbyoneormorecolumns.ThesyntaxfortheGROUPBYclauseis:SELECTcolumnl,column2,.column_n,aggregate_function(expression)FROMtablesWHEREpredicatesGROU
18、PBYcolumnl,column2,.column_n;aggregate_functioncanbeafunctionsuchasSUM,COUNT,MIN,orMAX.ExampleusingtheSUMfunctionForexample,youcouldalsousetheSUMfunctiontoreturnthenameofthedepartmentandthetotalsales(intheassociateddepartment).SELECTdepartment,SUM(sales)as"Totalsales"FROMorder_detailsGROUP
19、BYdepartment;BecauseyouhavelistedonecolumninyourSELECTstatementthatisnotencapsulatedintheSUMfunction,youmustuseaGROUPBYclause.Thedepartmentfieldmust,therefore,belistedintheGROUPBYsection.HavingTheHAVINGclauseisusedincombinationwiththeGROUPBYclause.ItcanbeusedinaSELECTstatementtofiltertherecordsthata
20、GROUPBYreturns.ThesyntaxfortheHAVINGclauseis:SELECTcolumn1,column2,column_n,aggregate_function(expression)FROMtablesWHEREpredicatesGROUPBYcolumn1,column2,column_nHAVINGcondition1.condition;aggregate_functioncanbeafunctionsuchasSUM,COUNT,MIN,orMAX.ExampleusingtheSUMfunctionForexample,youcouldalsouset
21、heSUMfunctiontoreturnthenameofthedepartmentandthetotalsales(intheassociateddepartment).TheHAVINGclausewillfiltertheresultssothatonlydepartmentswithsalesgreaterthan$1000willbereturned.SELECTdepartment,SUM(sales)as"Totalsales"FROMorder_detailsGROUPBYdepartmentHAVINGSUM(sales)>1000ORDERBYT
22、heORDERBYclauseallowsyoutosorttherecordsinyourresultset.TheORDERBYclausecanonlybeusedinSELECTstatements.ThesyntaxfortheORDERBYclauseis:SELECTcolumnsFROMtablesWHEREpredicatesORDERBYcolumnASC/DESC;TheORDERBYclausesortstheresultsetbasedonthecolumnsspecified.IftheASCorDESCvalueisomitted,thesystemassumed
23、ascendingorder.ASCindicatesascendingorder.(default)DESCindicatesdescendingorder.Example#1SELECTsupplier_cityFROMsupplierWHEREsupplier_name='IBM'ORDERBYsupplier_city;Thiswouldreturnallrecordssortedbythesupplier_cityfieldinascendingorder.Example#2SELECTsupplier_cityFROMsupplierWHEREsupplier_na
24、me='IBM'ORDERBYsupplier_cityDESC;Thiswouldreturnallrecordssortedbythesupplier_cityfieldindescendingorder.UNIONTheUNIONqueryallowsyoutocombinetheresultsetsof2ormore"select"queries.Itremovesduplicaterowsbetweenthevarious"select"statements.EachSQLstatementwithintheUNIONquery
25、musthavethesamenumberoffieldsintheresultsetswithsimilardatatypes.ThesyntaxforaUNIONqueryis:selectfieldl,field2,field_nfromtablesUNIONselectfieldl,field2,field_nfromtablesUNIONALLTheUNIONALLqueryallowsyoutocombinetheresultsetsof2ormore"select"queries.Itreturnsallrows(eveniftherowexistsinmor
26、ethanoneofthe"select"statements).創(chuàng)建時間:2020-3-2216:11:00作者:lisr公司:KudonetPage6of28EachSQLstatementwithintheUNIONALLquerymusthavethesamenumberoffieldsintheresultsetswithsimilardatatypes.ThesyntaxforaUNIONALLqueryis:selectfield1,field2,field_nfromtablesUNIONALLselectfield1,field2,field_nfromt
27、ables;UPDATETheUPDATEstatementallowsyoutoupdateasinglerecordormultiplerecordsinatable.ThesyntaxtheUPDATEstatementis:UPDATEtableSETcolumn=expressionWHEREpredicatesINSERTa table.a tableTheINSERTstatementallowsyoutoinsertasinglerecordormultiplerecordsintoThesyntaxfortheINSERTstatementis:INSERTINTOtable
28、(column-1,column-2,.column-n)VALUES(value-1,value-2,.value-n)DELETETheDELETEstatementallowsyoutodeleteasinglerecordormultiplerecordsfromThesyntaxfortheDELETEstatementis:DELETEFROMtableWHEREpredicatespl/sql函數(shù)substr(string,start_position,length)ThisfunctionallowsyoutoextractasubstringfromastringForExa
29、mple:substr('Thisisatest',6,2)wouldreturn'is'substr('Thisisatest',6)wouldreturn'isatest'substr('TechontheNet',1,4)wouldreturn'Tech'decode(expression,search,result,search,result.,default)ThisfunctionhasthefunctionalityofanIF-THEN-ELSEstatementForExample
30、:SELECTsupplier_name,decode(supplier_id,10000,'IBM',10001,'Microsoft',10002,'HewlettPackard','Gateway')resultFROMsuppliersinstr(string1,string2,start_position,nth_appearance)ThisfunctionreturnsthelocationofasubstringinastringForexample:instr('Techonthenet',
31、9;e')wouldreturn2;thefirstoccurrenceof'e'instr('Techonthenet','e',1,1)wouldreturn2;thefirstoccurrenceof'e'instr('Techonthenet','e',1,2)wouldreturn11;thesecondoccurrenceof'e'instr('Techonthenet','e',1,3)wouldreturn14;thethird
32、occurrenceof'e'instr('Techonthenet','e',-3,2)wouldreturn2創(chuàng)建時間:2020-3-2216:11:00作者:lisr公司:KudonetPage7of28Trim(text)ThisfunctionremovesleadingandtrailingspacesfromastringForexampleTrim("TechontheNet")wouldreturn"TechontheNet"Trim("Alphabet")wouldr
33、eturn"Alphabet"RTrim(text)ThisfunctionremovestrailingspacesfromastringForexample:RTrim("TechontheNet")wouldreturn"TechontheNet"RTrim("Alphabet")wouldreturn"Alphabet"LTrim(text)ThisfunctionremovesleadingspacesfromastringForexample:LTrim("Techonth
34、eNet")wouldreturn"TechontheNet"LTrim("Alphabet")wouldreturn"Alphabet"to_number(string1,format_mask,nls_language)ThisfunctionconvertsastringtoanumberForexample:to_number('1210.73','9999.99')wouldreturnthenumber1210.73to_number('546','999&
35、#39;)wouldreturnthenumber546to_number('23','99')wouldreturnthenumber23to_char(value,format_mask,nls_language)ThisfunctionconvertsanumberordatetoastringExamples-NumbersThefollowingarenumberexamplesfortheto_charfunction.to_char(1210.73,'9999.9')wouldreturn'1210.7'to_cha
36、r(1210.73,'9,999.99')wouldreturn'1,210.73'to_char(1210.73,'$9,999.00')wouldreturn'$1,210.73'to_char(21,'000099')wouldreturn'000021'Thefollowingaredateexamplesfortheto_charfunction.to_char(sysdate,'yyyy/mm/dd');wouldreturn'2003/07/09'to_
37、char(sysdate,'MonthDD,YYYY');wouldreturn'July09,2003'to_char(sysdate,'FMMonthDD,YYYY');wouldreturn'July9,2003'to_char(sysdate,'MONDDth,YYYY');wouldreturn'JUL09TH,2003'to_char(sysdate,'FMMONDDth,YYYY');wouldreturn'JUL9TH,2003'to_char(sys
38、date,'FMMonddth,YYYY');wouldreturn'Jul9th,2003'to_date(string1,format_mask,nls_language)Thisfunctionconvertsastringtoadate、nvlForexample:to_date('2003/07/09','yyyy/mm/dd');wouldreturnadatevalueofJuly9,2003.to_date('070903','MMDDYY');wouldreturnadateval
39、ueofJuly9,2003.to_date('20020315','yyyymmdd');wouldreturnadatevalueofMar15,2002nvl(string1,replace_with)ThisfunctionletsyousubstitutesavaluewhenanullvalueisencounteredExample#1:selectNVL(supplier_city,'n/a')fromsuppliers*數(shù)組的定義TypeNumArrayIsTableOfNumberIndexByBinary_IntegerTy
40、peStrArrayIsTableOfVarchar2(500)IndexByBinary_Integer記錄的定義Typerp_tb_typeIsRecord(TbBorderVarchar2(10),TbCssBoolean,TdCssBoolean)游標(biāo)的定義Cursorcur_lineIsSelecttb.Month,tb.loct_onhandFromfj_rp_opm003_tmp_tbtbWheretb.item_no=row_head.item_no;row_linecur_line%Rowtype;視圖的定義視圖是一個虛擬的、不是物理存在的表,他是通過sql語句把一個或多個表
41、連接在一起形成的.Createorreplaceviewic_item_vAsSelect*fromic_item_mst_b基表是一個物理存在的表,能以表格的形式存儲數(shù)據(jù),是數(shù)據(jù)的載體Createtabletable_name(collvarchar2(100),col2varchar2(10)臨時表1會話特有的臨時表CREATEGLOBALTEMPORARY<TABLE_NAME>(columnspecification>)ONCOMMITPRESERVEROWS;2事務(wù)特有的臨時表CREATEGLOBALTEMPORARY<TABLE_NAME>(colum
42、nspecification>)ONCOMMITDELETEROWS;CREATEGLOBALTEMPORARYTABLEMyTempTable所建的臨時表雖然是存在的,但是insert一條記錄然后用別的連接登上去select,記錄是空的創(chuàng)建時間:2020-3-2216:11:00作者:lisr公司:KudonetPage9of28-ONCOMMITDELETEROWS說明臨時表是事務(wù)指定,每次提交后ORACLE將截斷表(刪除全部行)-ONCOMMITPRESERVEROWS說明臨時表是會話指定,當(dāng)中斷會話時ORACLE將截斷表異常PL/SQL處理異常不同于其他程序語言的錯誤管理方法,P
43、L/SQL的異常處理機(jī)制與ADA很相似,有一個處理錯誤的全包含方法。當(dāng)發(fā)生錯誤時,程序無條件轉(zhuǎn)到異常處理部分,這就要求代碼要非常干凈并把錯誤處理部分和程序的其它部分分開。oracle允許聲明其他異常條件類型以擴(kuò)展錯誤/異常處理。這種擴(kuò)展使PL/SQL的異常處理非常靈活。當(dāng)一個運行時錯誤發(fā)生時,稱為一個異常被拋出。PL/SQL程序編譯時的錯誤不是能被處理得異常,只有在運行時的異常能被處理。在PL/SQL程序設(shè)計中異常的拋出和處理是非常重要的內(nèi)容。由三種方式拋出異常.通過PL/SQL運行時引擎.使用RAISE語句.調(diào)用RAISE_APPLICATION_ERROR存儲過程當(dāng)數(shù)據(jù)庫或PL/SQL在運
44、行時發(fā)生錯誤時,一個異常被PL/SQL運行時引擎自動拋出。異常也可以通過RAISE語句拋出RAISEexception_name;三.HTML技術(shù)和CSS修飾HTML技術(shù)HTML英語意思是:HypertextMarkedLanguage,即超文本標(biāo)記語言,是一種用來制作超文本文檔的簡單標(biāo)記語言。用HTML編寫的超文本文檔稱為HTML文檔,它能獨立于各種操作系統(tǒng)平臺(如UNIX,WINDOWS等)。1 HTML的基本結(jié)構(gòu)超文本文檔分文檔頭和文檔體兩部分,在文檔頭里,對這個文檔進(jìn)行了一些必要的定義,文檔體中才是要顯示的各種文檔信息。<HTML><HEAD>頭部信息</
45、HEAD><BODY>文檔主體,正文部分</BODY></HTML>其中<HTML>在最外層,表示這對標(biāo)記間的內(nèi)容是HTML文檔。我們還會看到一些Hompage省略<HTML>標(biāo)記,因為.html或.htm文件被Web瀏覽器默認(rèn)為是HTML文檔。<HEAD>之間包括文檔的頭部信息,如文檔總標(biāo)題等,若不需頭部信息則可省略此標(biāo)記。<BODY>標(biāo)記一般不省略,表示正文內(nèi)容的開始。2 在報表的實際過程中,最重要的是針對標(biāo)記table的應(yīng)用,表格的基本結(jié)構(gòu)<table>.</table>定義
46、表格<caption>.</caption>定義標(biāo)題<tr>定義表行<th>定義表頭<td>定義表元(表格的具體數(shù)據(jù))表中數(shù)據(jù)左右排列方式通過align屬性來定義left、right、center表中數(shù)據(jù)上下排列方式通過valign屬性來定義top、middle、bottom3 跨多行、多列的表元要創(chuàng)建跨多行、多列的表元,只需在<TH>或<TD>中力口入ROWSPANKCOLSPAN屬性,這兩個屬性的值,表明了表元創(chuàng)建時間:2020-3-2216:11:00作者:lisr公司:KudonetPage10of28
47、中要跨越的行或列的個數(shù)??缍啻鮑的表元<thcolspan=#><tdcolspan=#>colspan表示跨越的列數(shù),例如colspan=2表示這一格的寬度為兩個列的寬度。跨多行的表元<throwspan=#><tdrowspan=#>rowspan所要表示的意義是指跨越的行數(shù),例如rowspan=2就表示這一格跨越表格兩個行的高度4 插入圖象的標(biāo)簽是<IMG>,其格式為:<IMGSRC="圖形文件地址"SRC屬性指明了所要鏈接的圖象文件地址,這個圖形文件可以是本地機(jī)器上的圖形,也可以是位于遠(yuǎn)端主機(jī)上的圖形
48、。地址的表示方法可以沿用上一篇內(nèi)容“文件的鏈接”中URL地址表示方法。例:<IMGSRC="images/ball.gif">IMG還有兩個屬性是HEIGHT和WIDTH,分別表示圖形的高和寬。通過這兩個屬性,可以改變圖形的大小,如果沒有設(shè)置,圖形按原大顯示CSS修飾CSS是CascadingStyleSheets(層疊樣式表單)的簡稱。更多的人把它稱作樣式表。顧名思義,它是一種設(shè)計網(wǎng)頁樣式的工具實際上CSS的代碼都是由一些最基本的語句構(gòu)成的。它的基本語句的結(jié)構(gòu)是這樣的:選擇符屬性:屬性值一般說來,<style>下面的CSS語句是以注釋語句的形式書寫
49、的。在報表中預(yù)置了以下css(具體請參閱包FJ_OUTPUT):<styletype="text/css">bodymargin-top:0;tdfont-family:宋體;font-size:9pt;font-weight:normal;color:black;text-align:center;BACKGROUND-COLOR:white;height:27;vertical-align:middle;.td_cssborder:solidwindowtext.5pt;.tb_cssborder-collapse:collapse;border:solid
50、windowtext.5pt;</style>四.查找數(shù)據(jù)的方法及OracleApplication表命名的規(guī)律查找數(shù)據(jù)的方法請參閱在ERP系統(tǒng)中查找數(shù)據(jù)的方法OracleApplication表命名的規(guī)律一般來說,在Applications中所有的表的命名都是相當(dāng)規(guī)范,通過名字,一般都可以知道這個表是做什么用,而且還可以通過查看FND_TABLES和FND_COLUMNS來獲得表的詳細(xì)信息。除此之外,還有一些規(guī)則,例如以TL結(jié)尾表示帶有語言信息的表,V結(jié)尾表示一般的視圖,VL表示帶有語言信息的視圖,以丫$開頭代表動態(tài)性能試圖,以FND開頭是屬于ApplicationObjectL
51、ibrary模塊的,以AR,RA開頭是屬于OracleReceivables模塊的,以MTL開頭是屬于庫存模塊的,以AP開頭是屬于應(yīng)收模塊的,以GL開頭是屬于總帳模塊的,以FA開頭是屬于資產(chǎn)模塊的,以O(shè)E開頭的是屬于訂單模塊的,以WSH開頭是屬于發(fā)運模塊的,以WIP開頭是屬于在制車間模塊的,以HE開頭是屬于網(wǎng)上商店的,etc;而且根據(jù)主從表的關(guān)系,Application表之間還有一定的對應(yīng)關(guān)系,在應(yīng)用中有好多類似訂單頭和訂單行的表,例如銷售訂單(oe_order_headers_all和oe_order_lines_all)、采購訂單(po_headers_all和po_lines_all)、
52、請購單(po_requisition_headers_all和po_requisition_lines_all)等等,主從表之間的連接一般是根據(jù)Ido附:all,基表,保存多組織數(shù)據(jù),里面有一個Org_Id字段,一般不直接出現(xiàn)在我們的DML中去掉_all的視圖,根據(jù)用戶環(huán)境過濾掉組織,相當(dāng)于普通的基表,我們直接使用它,就當(dāng)它是基表_v,視圖,給Form用_kfv,啟用關(guān)鍵性彈性域的時候動態(tài)生成的視圖,包含Concact過的字段組合_dfv,啟用描述性彈性域的時候動態(tài)生成的視圖,我們?nèi)椥杂蜃佣蔚拿枋龅臅r候,需要用用戶出口函數(shù)。_tl,基表,有l(wèi)anguage字段,us肯定有,其他的看安裝_vl
53、,視圖,根據(jù)環(huán)境設(shè)置過濾語種,所以做報表用_vl_s,序列號_API,Package,保證向后兼容_PKG,Package,Program_SV,Package,供Form調(diào)用五.可執(zhí)行、并發(fā)程序、請求組和值集的定義可執(zhí)行、并發(fā)程序、請求組1 .定義可執(zhí)行并發(fā)程序;菜單:系統(tǒng)管理員/并發(fā)/方案/可執(zhí)行把客戶化的可執(zhí)行程序記錄到系統(tǒng)中去,在這一步中,主要是說明定義并發(fā)程序的所在應(yīng)用產(chǎn)品,執(zhí)行方法,執(zhí)行文件名信息執(zhí)行文件名處輸入:開發(fā)包名.主要方法名2 .定義并發(fā)程序菜單:系統(tǒng)管理員/并發(fā)/方案/定義在定義了可執(zhí)行并發(fā)程序后,就要在此基礎(chǔ)上定義具體的并發(fā)請求來執(zhí)行這個并發(fā)程序.在這個步驟中,指定并
54、發(fā)請求的請求名稱,使用到的參數(shù)信息,是否是必選等等.在這個定義界面中,關(guān)鍵的是值集的使用,如果數(shù)據(jù)是一個特定的集合,可以通過定義值集的方式來確定,值集的定義方法不在此介紹了.3 .增加到報表組菜單:系統(tǒng)管理員/安全性/責(zé)任/請求并發(fā)請求定義好以后,用戶是無法直接調(diào)用的,是通過職責(zé)作為橋梁,通過請求組來調(diào)用的.這就要求將不同的并發(fā)請求放到不同的請求組中.值集的定義在定義報表參數(shù)時用到的值集主要分兩種:table類型的值集和獨立值集1table類型的值集:在值集定義頁面輸入值集的名稱,輸入值集的說明,在最大尺寸處輸入所包含值的大約最大寬度,值驗證類型選擇表,然后點擊編輯信息進(jìn)入驗證表信息窗體2選擇
55、表應(yīng)用,也可以不輸入,一般是所建立的值集輸入在哪個模塊而選擇相應(yīng)的應(yīng)用,在表名處輸入值集數(shù)據(jù)的表或視圖,其中有三個字段其中value和Id都為值,Id的優(yōu)先級高于Value,但一般我們只定義Value,類型一般選擇“可變字符2”,大小輸入字段的大約的最大值;在出處/排序依據(jù)處輸入要限定和排序依據(jù)。關(guān)聯(lián)子集定義的語法為wherefield_name=$FLEX$.value_set_name;當(dāng)然要求兩個子集都在參數(shù)里面2獨立值集:像定義Table類型的值集一樣輸入值集信息,只不過在值驗證處選擇獨立然后,進(jìn)入獨立值集值定義窗口,在名稱處輸入剛才定義的值集名稱,然后點擊查找按鈕,進(jìn)入值定義窗口在值
56、定義窗口,輸入值,及相應(yīng)的說明性文字房OLld應(yīng)用產(chǎn)帖-RujIhiJEitPMD&里廿女件舊雌香舌怪”!.!迎ng”轉(zhuǎn)曲日-、制信.二1,1J浮7I?六.一個報表開發(fā)的實例假設(shè)以開發(fā)一個“請購單”報表為例,表樣如下:請購單1通過分析報表及咨詢顧問和客戶,可以知道報表顯示的是請購單的部分明細(xì)信息路徑:在職責(zé) FHSZ PO Super User »申請申請在ERP界面如下可以找到數(shù)據(jù)的出處:然后把光標(biāo)定位與行上, 點擊菜單的“幫助”,進(jìn)入路徑:幫助診斷檢查,在對話框中block 中輸入system ,然后把光標(biāo)移到value中,系統(tǒng)會自動給出一段 sql語句在 field 中
57、輸入 last_query請購單號物料說明單位數(shù)量20030969IMIDAZOLEKG2000.0020031017TRIETHANOLAMINE,100%KG2760.0020031018DISSOLVINEAMFE50%LT75000.00總計79760.00參數(shù):請購單號然后把sql語句拷到sql window 中找到from 后的視圖(表)是 PO_REQUISITION_LINES_V ,然后點擊右鍵,選擇Edit ,又找到視圖(表)Po_Requisition_Lines然后再點擊右鍵,選擇Edit ,找到基表Po_Requisition_Lines_AllPo_Requisition_headers_AllSelect prh.*,看表名,可以知道是一個行表,根據(jù)以上的介紹,可以找到頭表應(yīng)為,。兩個表之間應(yīng)該通過 header_id 等類似Id字段來連接。經(jīng)測試兩者的連接應(yīng)為From Po_Requisition_Lines_All prl,Po_Requisition_headers_All prhWhere prh.requisition_header_id = prl.requisition_header_id然后查找當(dāng)前的請購單信息,再進(jìn)入檢查窗體,在
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東司法警官職業(yè)學(xué)院《Thermo-fluids》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東石油化工學(xué)院《藝術(shù)教育概覽》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東生態(tài)工程職業(yè)學(xué)院《統(tǒng)計軟件操作》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東青年職業(yè)學(xué)院《營銷業(yè)務(wù)實訓(xùn)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東梅州職業(yè)技術(shù)學(xué)院《機(jī)器人教育》2023-2024學(xué)年第一學(xué)期期末試卷
- 一年級數(shù)學(xué)計算題專項練習(xí)匯編
- 防震減災(zāi)工作總結(jié)5篇
- 電氣工程師工作總結(jié)
- 【名師金典】2022新課標(biāo)高考生物總復(fù)習(xí)限時檢測21染色體變異和人類遺傳病-
- 【名師一號】2020-2021學(xué)年蘇教版化學(xué)檢測題-選修四:《專題2-化學(xué)反應(yīng)速率與化學(xué)平衡》
- 手動及手持電動工具培訓(xùn)考核試卷
- 2024年湖北省公務(wù)員錄用考試《行測》真題及答案解析
- 自然辯證法習(xí)題及答案
- 特色農(nóng)產(chǎn)品超市方案
- 2024國有企業(yè)與民營企業(yè)之間的混合所有制改革合同
- 物流倉庫安全生產(chǎn)
- 2024年醫(yī)院食堂餐飲獨家承包協(xié)議
- 保險公司廉政風(fēng)險防控制度
- DB34T4868-2024智慧醫(yī)院醫(yī)用耗材院內(nèi)物流規(guī)范
- 2025年蛇年年會匯報年終總結(jié)大會模板
- 《稻草人》閱讀題及答案
評論
0/150
提交評論