Vous êtes sur la page 1sur 76

ORACLE APPLICATION FRAMEWORKOAF (9.0.3/10.1.

3)

By Meher Irk 98 !0 !1

INTRO"#CTION
Oracle application framework-(OAF) is mainly come into the picture to replace d2k forms. it came because to meet some new requirements from oracle corporation. Till now we ha e three kinds of applications. -Form based -self web applications based -mobile de ices applications -Form based applications mainly based on the client!ser er technolo"y. -As we know we were usin" the tool Form #uilder $i!%i and database as oracle. -&n case of self ser ice web based applications we should use oracle database only and not any one. This is mainly based on '() architecture. -&n turn it is inherited from *2ee architecture. +ere we can use the terminolo"y like pa"es instead of forms. here we use the tool ,--e eloper %i. Wh$% &' OAFr$(e)*rk+ The Oracle Applications Framework (OA Framework) is a de elopment and deployment platform used for Oracle Applications (Apps) +T'.-based screens. &n other words/ OA Framework is the standard approach for buildin" and launchin" Apps web pa"es. This includes the 0i0 modules/ such as i1ecei ables/ i2rocurement/ etc. The framework contains the desi"n rules and components that include the look-and-feel for web pa"es/ so any custom-built pa"es will ha e a presentation identical to Oracle-de eloped pa"es. Why 'h*,-. )e ,'e OAF+ Advantages: -open throu"h web browser -li"ht wei"ht component compare to forms -look and feel is "ood compare to forms "&'$./$0%$1e'2 -Only oracle database should use. -3o dra" 4 drop option. 3*) %* 4&0. 5*rre5% /er'&*0 *4 6.e/+ -1efer 3ote 56$789.6 into metal ink The )*rk 5*(e' &0 %er(' *4 2 -de elopment of new pa"es -customi:ation of e;istin" pa"es(e;tensions) -pa"es personali:ation (<ome limitations) Per'*0$-&7$%&*0 - Wh$% &' 8*''&9-e+ -Add e;tra field in a re"ion or .O(. )an be done only at <ite le el --isplay ! +ide a field!re"ion in a pa"e -'ake a field read-only --isplay ! +ide -FF in a re"ion. =ou can also specify default editable! iewable -FF conte;ts -)onditionally display!hide fields. 3eed to know <2>. (e;pression lan"ua"e) for this Per'*0$-&7$%&*0 Le/e-'2 <ite? @sually set for addin" field!re"ion item which can be done only at site le el. Or"ani:ation? refers to operatin" unit

2
Meher Irk: 9866206216

1esponsibility? refers to 1esponsibility Function? &f you define same OA pa"e as two different menu functions then you can personali:e both differently E:%e0'&*0 - Whe0+ -Add a new re"ion to e;istin" standard oracle pa"e -Add a field that belon"s to custom table column or a column that is not part of e;istin" (O (query) associated with re"ion -Add custom alidation for fields on pa"e -'odify .O( on a field. )han"e search criteria/ display fields in .O( pa"e Wh$% $re %he 8re-re;,&'&%e' 4*r -e$r0&01 OA Fr$(e)*rk+ 6. =ou need to ha e an Oracle Apps 66i or hi"her en ironment to play around with. 2. #asic knowled"e of *a a is needed. 1ather & would say basic knowled"e of OO2 AOb*ect Oriented 2ro"rammin"B is needed. & mean *ust the concepts. C. #asics of D'./ which can be learnt within an hour from wCschools link 5. @nderstand '() as a concept Anot in depths as you are *ust "ettin" startedB. I0'%$--$%&*0' <%e8'2 6)First we recei e the patch file from client @n:ip the :ip file. 2)Three folders "et created Jdevbin ? &ncludes an e;tended ersion of the Oracle ,-e eloper 68" e;ecutable and OA Framework class libraries. Jdevdoc? )ontains documentation. Jdevhome? &ncludes the OA Framework Toolbo; Tutorial source and de eloper workin" area. C))reate The en ironment ariable? 'y)omputerE 2ropertiesE Ad ancedE >n ironment(airableE 3ew Variable Name : ,->(F@<>1F+O'> Variable Value : F?!OAF!*de home!*de 5)Get the -#) file -#) file contains the details of +ost/ 2ort 4 <&-. Hhich helps in alidatin" the session. He can "et the -#) file from ser er in F3- top -?IoracleI isapplIfndI66.J.8IsecureI(&<FappsI is.dbc 2aste in below path F?IOAFI*de homeI*de IdbcFfilesIsecureI is.dbc J))reate <hort )ut =ou can find in below location? F?IOAFI*de binI*de IbinI*de H To -esktop

C
Meher Irk: 9866206216

M*.e- =&e) C*0%r*--er - M=C


OAF is desi"ned by the simple '()-('odel-(iew-)ontroller) architecture desi"n pattern. The '() paradi"m is way of breakin" an application into %hree parts? 6)'odel 2)(iew C))ontroller. 1-Model: The 'odel is where the application implements its business lo"ic. All the #)5, components in OAF comes under 'odel like A' (Application 'odule)/ (O ((iew Ob*ect)/ >O (>ntity Ob*ect)/ (. ((iew .ink) 4 AO (Association Ob*ect). -&n order to de elop any OAF Application you need to know few concepts before doin" any kind of de elopment. The concepts are basically the #usiness )omponents for ,a a(#)5,) components. They are: >ntity Ob*ect (>O) (iew Ob*ect ((O) Application 'odule (A') Association Ob*ect (AO) (iew .ink ((.) 3ow let us see the description of each component? E0%&%y O9>e5% (EO)2 ->ntity Ob*ects represents a row in a database table. ->o ob*ect based on Table or (iew or <ynanonym or snapshot. ->O encapsulates the business lo"ic and rules/>OKs are used for &nsertin"/ @pdatin" and -eletin" data. -Also This is used for alidatin" across the applications. -,--e eloper automatically creates methods for insert/ update and delete of records whene er an >O is created. ->ach entity ob*ect represtns a sin"le row. -)ontains attributes representin" data base column. -)entral point for business lo"ic and alidation related to a table. -)an contain custom business methods. Standards: -#ase your >os on the FA.. tables rather than on or"ani:ation le el -restricted iews. -Always "enerate accessors (setters!"etters to impro e performance) Features: -(alidation/ lockin" and postin" order of children -+andled by composite associations -Hho columns (1ecord history) -<et automatically durin" >o create() or do-'.() Eo should have ollo!ing attributes (Hho coloumns) -)reationdate -)reatedby -.ast@pdated-ate

5
Meher Irk: 9866206216

-.ast@pdated#y -.ast@pdate.o"in Entity ob"ects iles? ->ach eo should ha e -Lyour3ameE>O.;ml --eclarati e information about >O -Lyour3ameE>O&mpl.*a a(optional) -Add create()/remo e()/ alidate>ntity()/setter and "etter methods. >ntity ob*ects that you create subclass of the oracle.apps.fnd.framework.ser er.OA>ntity&mpl class #)5, packa"e?;;.oracle.apps."l.comp.schema.ser er =&e) O9>e5% (=O)2 -1epresents a query result. -&t can be either based on the >ntity ob*ect or plain <M. query(1ead only o). -)an also constructed from a <M. statement. -)an be based on any number of entity ob*ects -&t is used for selectin" data. -)ontains attributes representin" data base column. -(iew Ob*ects can be created declarati ely or pr"rammatically.Hhich e er way you create it /you need an application module contain it -(iew ob*ects are not an appropriate home for business lo"ic? we should not be writin" alidation rules in our iewob*ects. Vie! ob"ects "ava iles: -)reate (o *a a class ((o&mpl) if needed. -(os should not contain business or alidation lo"ic/ e;pect transient attribute lo"ic -Always create (iew 1ow *a a class ((iew1ow&mpl) and accessory (setters!"etters) 3ote? The iew1ow&mpl class should always be created for 2 reasons One? it is the iterator that allows you step throu"h the indi idual rows of the (O. Two? it "enerates the "et!set methods for the (O.'erely creatin" the set!"et methods doesnNt "ain anythin" /but it does allow others to e;tend those methods should the need rise. Vie! ob"ects iles: -Lyour nameE(O.;ml --eclarati e information about (O -Lyour nameE(O&mpl.*a a(optional) -Add initMuery() method if needed -Lyour nameE(O1ow&mpl.*a a(1equired) -)ontains accessors (setters 4 "etters) for o attributes -behind the scenes/ these accessors call correspondin" methods in your >o&mpl.*a a iew ob*ects that you create subclass the oracle.apps.fnd.framework.ser er.OA(iewOb*ect&mpl class BC4JPackage:?;;.oracle.apps."l.comp.ser er

A88-&5$%&*0 M*.,-e (AM)2

J
Meher Irk: 9866206216

Application 'odules ser e as containers for related #)5, components. The pa"es are related by participatin" in the same task. &t also defines the lo"ical data model and business methods needed. They pro ide the transaction conte;t and also used for establishin" database connection. -Application module a lo"ical container that mana"es and pro ides access to related #)5, module ob*ects. -)ontainer of the iew ob*ects and iew links. -An application module may be a root application module or a nested application module. -A root application module is not contained in another application module. -&t pro ides transaction conte;t for all ob*ects it contains. -1oot application module also maintains the database connection. -+andles transactions. - iew ob*ects are identified by iew instance names which names referenced by @& framework -A' communicate with controllers and (ONs -while the A' holds all the >Os/the >o and >o related ob*ects are not e;plicitly declared as belon"in" to the A'/ unlike (Os that e;plicitly declared. A##lication modules iles: >ach A' should ha e? -Lyour nameEA'.;ml --eclarati e information about A' -Lyour nameEA'&mpl.*a a -Add methods to in oke assi"n (Os initMuerys methods if needed. Application modules that you create subclass of the oracle.apps.fnd.framework.ser er.OAApplication'odule&mpl class #)5,2acka"e?;;.oracle.apps."l.comp.ser er A''*5&$%&*0 (AO)2 An association is created where we need to link 2 >ntity Ob*ectKs. A Association can be created by pro idin" the source and destination eo and source and destination attributes. --efine relationship between entity ob*ects -)onsist of a source (master) and destination(detail) entity >;? 'aster!-etail create pa"e? =&e) L&0k (=L)2 A iew link is created where we need to link 2 iew ob*ects. A iew link can be created by pro idin" the source and destination iews and source and destination attributes. -(iew link is an acti e link between iew ob*ects you can create iew links pro idin" the followin"? -source and destination iews -source and destination attributes >;? 'aster!-etail iew pa"e

$-Vie!:

$
Meher Irk: 9866206216

(iew means out put of the ;ml pa"e. it is responsible for the output of the model. Hhen you desi"n a pa"e/ you store pa"e definition in D'. format on local machine. -The (iew is where the application implements its user interface. -(iew means the @& (@ser &nterface) that is isible to the @sers. -Hhen deployin" to our system!ser er /we load this D'. file into '-< repository usin" D'. import statements. Hhen the user run the pa"e in the browser/ the pa"e definition is fetched from the '-< repository and is con erted into the D'. file by the '-< en"ine. %-&ontroller: The )ontroller is where the application handles user interaction and directs business flow. )ontroller is a simple *a a class file that contains methods for initial pa"e request and post back request. )ontroller that you create subclass of the? Oracle.apps.fnd.framework.webui.OA)ontroller&mpl class &ontroller contains % methods? -2rocess 1equest -2rocessFrom1equest -2rocessForm-ata Pr*5e'' Re;,e'%2 This phase is in oked on pa"e load (when pa"e is rendered) #y default it contains OA2a"e)onte;t and OAHeb#ean class. super.process1equest(pa"e)onte;t/ web#ean)O method E': On pa"e load if you want display the data will "o for write the code in process 1equest. Pr*5e''Fr*(Re;,e'%2 This phase is in oked after pa"e load. #y default it contains OA2a"e)onte;t and OAHeb#ean classes and super.processForm1equest(pa"e)onte;t/ web#ean)O method E':After pa"e opens if you wants to handle any e ent like submit or ne;t button will write the code in processForm1equest. Pr*5e''F*r("$%$2 Fires when form submit happens. -1arely will write custom code in this phase. if e;ceptions are thrown durin" this phase/ the process form request phase is skipped and the pa"e re-displayed. E': >o le el e;ceptions #'$1e' 2( OAPageContext and OAWebBean) (A)age&onte't --To "et and set alues of the fields. pa"e)onte;t."et2arameter and pa"e)onte;t.put2arameter -3a i"ate to one pa"e to another pa"e pa"e)onte;t.setForward@1. -Get handle of Application module in co

7
Meher Irk: 9866206216

pa"e)onte;t."etApplication'odule() -To write debu" messa"es pa"e)onte;t.write-ia"nostics -Get profile/sequence F3- mess"ae in co (A*eb+ean -To "et the handle of the webbeans web#ean.find)hild1ecursi e()O -To set web#ean properties web#ean.set1eadonly()O BC?6 N$(&01 '%$0.$r.'(B,'&0e'' 5*(8*0e0%' 4*r >$/$) #)5, packa"es also corresponds to directory paths -E*-related (business lo"ic).*a a and .;ml files in oracle.apps.Lapplication short nameE.LmoduleE.schema.ser er -AM and /* .*a a and .;ml files in oracle.apps.Lapplication short nameE.LmoduleE.ser er -8*8-&'% .*a a and .;ml files in oracle.apps.Lapplication short nameE.LmoduleE.poplist.ser er --*/ .*a a and .;ml files in oracle.apps.Lapplication short nameE.LmoduleE.lo .ser er N*%e? 3amin" standards are not enforced on customers.these standards are simply what oracle uses..ike any standards /they e ol e o er time.if you encounter ob*ects that dont adhere to any "i en namin" standard/chances are those are older ob*ects adherin" to an older namin" standard /chances are those are older ob*ects to an older namin" standard that is no lon"er used.

META "ATA <ER=ICE -M"<


He know it means 'eta -ata <er ice. He also know that it has somethin" to do with web pa"e displayed in OA Framework. .ets try to understand the basics of '-<. Me%$2- &n technical world/ meta work symboli:es dictionar8y. Think of a web pa"e broken into small units which are fields/ buttons/ list bo;es. These small indi idual unitsAfields/ buttons etcB are stored in a dictionary/ in the database. These units when combined to"ether/ they become a webpa"e that "ets rendered on the browser. "$%$?- Those meta pieces are not stored as binary files/ but as data in tables. Those tables be"in with ,-1/ for e;ample ,-1FATT1&#@T></ ,-1FATT1&#@T><FT1A3</ and ,-1F)O'2O3>3T< 4 ,-1F2AT+<. The definition and relationship of each field!re"ion!component is stored in these ,-1 tables. OA framework reads that data when you request a pa"e. The pa"e structure is then built based on 'etadata. <er/&5e2 - 'eta -ata is a ailable as a ser ice (plain ser ice not web ser ice). The data is there in ,-1 tables/ but all such data has to be co-related/ all fields/ re"ions/ buttons etc ha e to be clubbed into a meanin"ful manner to make a web pa"e. =ou can say that '-< pro ides ser ice

9
Meher Irk: 9866206216

to store 4 return pa"e definitions. '-< collates those definitions in components!fields in a meanin"ful manner to build a pa"e.

The (iew formats the data and presents the data to the user. &n OAF (iew is implemented usin" the @&D. @&D uses D'. to describe the components and hierarchy that make up an application pa"e. @&D also pro ides runtime capabilities to translate that metadata into +T'. output so that it can be shown on a #rowser or a mobile de ice. The metadata used to describe the @& is loaded into a database repository/ called 'eta -ata <er ices ('-<)/ at deployment time and optionally at desi"n time as well. 2a"es are de eloped declarati ely usin" the Oracle %i ,-e eloper OA >;tension. 2a"es are made up of hierarchy of re"ions and items. >ach @& wid"et corresponds to one or more ,a a ob*ects (beans). And these *a a beans are used to create the +T'. at runtime. Hhen you desi"n a pa"e/ you store 0pa"e definition0 in D'. format on your local machine. Hhen deployin" to our system!ser er/ we load this D'. file into '-< repository usin" the ;ml import statements. Hhen the user run the pa"e in the browser/ the pa"e definition is fetched from the '-< repository and is con erted into the D'. file by the '-< en"ine. >ach component in D'. is translated into the ,a a web bean ob*ect. And this web bean is rendered by the OA Framework. 2a"e definition is cached in to the memory/ and if it is there/ framework will not "o to '-< repository to "et the pa"e definition.

OA Fr$(e)*rk $r5h&%e5%,re &' 9$'e. *0 M=C .e'&10 8$%%er0

I0%er$5%&*0 9e%)ee0 (*.e-@ /&e) $0. 5*0%r*--er

%
Meher Irk: 9866206216

C*0%r*--er 5-$'' (CO)

M=C Ar5h&%e5%,re

68
Meher Irk: 9866206216

O0&*0 Ar5h&%e5%,re *4 OAF -OAF 5$0 9e e:%r$5%e. &0%* $ 'er&e' *4 5*05e0%r&5 -$yer'@ -&ke $' *0&*0 -E$5h -$yer' *0-y Ak0*)'B $9*,% %he -$yer' 9e-*) &%

Re1&*0COAF

66
Meher Irk: 9866206216

1e"ion is a part of an Oracle Apps Framework pa"e which acts as a container for the items or components. #y default the top most le el of an OA Framework pa"e has to be of the 0pa"e .ayout0 re"ion type. &n OA Framework or OAF the re"ions can be nested so as to pro ide the desired layout to the OAF pa"e. >ach re"ion is a *a a bean which acts as a container for the sub-re"ions or items in any Oracle Application Framework pa"e. 1e"ions which are parallel in the bean hierarchy/ in an OAF pa"e/ are called as <iblin"s and the re"ions inside a re"ion in an OAF pa"e are called )hild re"ions. The same nomenclature is also applied for &tems in OAF. +ence/ by default all the re"ions that you create become the child re"ions of the pa"e .ayout re"ion as mentioned earlier that the pa"e .ayout re"ion is the top most re"ion in any OA Framework pa"e. Also e ery re"ion in OAF has specific properties which can be "i en some alues while creation of the OA Framework pa"e e.". rendered property which allows the re"ion to be displayed onto the OAF pa"e/ as per Oracle Application Framework "uidelines (called as OAF standards) this rendered property can ha e 2 alues namely true( isible) or false(hidden). &f the re"ion in an OAF pa"e is set to be hidden then all the children re"ions!items will by default be rendered false once that OAF pa"e is rendered on to screen. > en these properties can be chan"ed at runtime usin" a ,a a controller/ but that needs an understandin" on how to import the re"ion beans and then how to create handle of the bean and then how to set properties. +owe er this is not so much difficult to do but still some ,a a concept and ,a a pro"rammin" knowled"e is needed to achie e this. This is called as runtime control of the bean in OAF and is e;plained in detail for e ery re"ion in the correspondin" re"ion type. > ery re"ion has a specific way of representin" the data onto the screen once the OA Framework pa"e is rendered. +ence while creation of a OAF pa"e we ha e to ery cautious in choosin" the type of re"ions. >.". a default-ouble)olumn type of re"ion will create two columns and will automatically render all the components created inside it in these two columns once the OAF pa"e is rendered to screen. There are arious types of re"ions a ailable in OA Framework. The complete list of all the re"ions pro ided by Oracle Application Framework is "i en below. ad ancedTable bulleted.ist cellFormat content)ontainer contentFooter default-ouble)olumn defaultForm<tack default<in"le)olumn default<tack fle;ible)ontent fle;ible.ayout flow.ayout footer Gantt "raphTable header +Grid hide<how hide<how+eader

62
Meher Irk: 9866206216

labeledField.ayout listOf(alues messa"e)omponent.ayout na i"ation#ar pa"e#utton#ar pa"e.ayout query row.ayout shuttle stack.ayout subTab.ayout switcher table table.ayout train tree $./$05e.T$9-e2 &t was earlier that OA Framework used OATable#ean to render tables but now thin"s ha e chan"ed and OAAd ancedTable#ean e;tends OATable#ean. The best part of this is that with ad ancedtable pro ides declarati e support for the functionalities which required pro"rammin" with simple table. The ma"ic doesnPt ends here/ OAAd ancedTable#ean also pro ides declarati e support to many of the new features that were not a ailable with OATable#ean/ *ust for an e;ample features like column span in a table column header were not a ailable with OATable#ean but is now declarati ely supported by OAAd ancedTable#ean. Ad anced table has many rich features/ some of which can be like a table can now ha e an instruction te;t and e en a tip/ also table can ha e a na i"ation bar/ selection column/ add rows button/ control bar/ recalculate and many more. Ad anced table e en allows you to brand the table so that it looks more beautiful once itPs displayed. The brandin" options include? 6. 1ow#randin" 2. )olumn#randin" C. 3o#randin" #y default Pno#randin"P option will be acti e. ,o! +randing: Once you set the brandin" style in the property palette of ad ancedTable re"ion and run the pa"e/ you will note that the alternati e rows of the table are in "rey bands of color. > en you ha e the option to choose the brandin" inter al/ by default the brandin" inter al is 6 and hence alternati e row is displayed in "rey brand color/ if you choose 2 as brandin" inter al then the "rey band row will appear after e ery 2 rows. &olumn +randing: This is similar to row bandin" e;cept that now rather that rows the columns of your ad anced table will be in the "rey band brandin" style. No +randing: This is the default brandin" style thatPs selected if you donPt choose other styles/ in this style neither rows nor columns will be branded and all the rows and tables of the ad anced table will be displayed as mentioned in Oracle #.AF.

6C
Meher Irk: 9866206216

<ome more features of ad anced table are? Te;t? This is the te;t that will be displayed on the top of the table once the OA Framework pa"e is rendered. ,ecords -is#layed: This property can limit the number of records that can be displayed on the screen once the ad anced table is rendered. #e default the number of records displayed is 68. *idth: this is another important property of ad ancedtable. +ere as the name su""ests you can enter the width of the table once the table is rendered. =ou can either enter the width in pi;els or in percenta"e. &n order to enter the width of the table in pi;el enter J88 or $88 in the property palette. &n order to enter the width of the table in percenta"e enter 78Q or 98Q in the palette. Once you enter the width of table to be 688Q the na i"ation links (3e;t and 2re ious) will be displayed on top of the table. These links allow you to na i"ate to the other rows/ apart from those bein" displayed on the OA Framework pa"e currently. &ontroller &lass: This is an optional property. &f you want to perform some runtime action then only you need to create a controller class where you will be handlin" the e ents and na i"ations performed on the ad ancedTable. Admin )erosnli.ation: <et to true if you want the admin to be able to personali:e the ad ancedTable re"ion else false. /ser )ersonali.ation: <et to true if you want the user to be able to personali:e the ad ancedTable re"ion else false. 9,--e%e.L&'%2 &n oracle application framework pa"e the OAF #ulleted.ist appears with a bullet prefi;ed to any item present in this re"ion. For e'am#le - <uppose you ha e C items placed inside the #ulleted.ist re"ion type in an Oracle Application Framework pa"e/ then all the C items will ha e a bullet attached as prefi; when the OA Framework pa"e renders. #ut the only condition that OAF applies for makin" the bullet as prefi; is that each of the items should ha e its 1endered property set as true. +ence/ if bullet re"ion is ha in" 5 items in an Oracle Application Framework pa"e and out of these 5 items/ 2 items ha e the rendered property as false then you will find only 2 items with bullet attached to it once the Oracle Apps Framework pa"e renders on the browser. Generally/ Oracle Application Framework uses #ulleted.ist to hold plain te;ts or links/ but this doesnNt means that it cannot hold other re"ions or items. Oracle Apps Framework "i es you the freedom to add any other re"ions or items inside the #ulleted.ist re"ion style. Oracle Application Framework allows you to specify the whether you want to show all the items in columns or in the apps framework you can also set the number of rows that you e;pect to be displayed at runtime. To achie e the abo e mentioned functionality Oracle Application Framework pro ides you the +ei"ht attribute property of the #ulleted.ist. .etNs consider one more e;ample <uppose you ha e 68 items that ha e to be displayed in 2 columns when the Oracle Apps Framework pa"e is rendered. To make this happen all you need to do is to *ust set the hei"ht property alue as 2 in the ,-e eloper Tool property palette. This makes the items 6-J to come in one column and the items $-68 to be displayed in the second column. #ut there is a restriction to the number of columns that you can create with the abo e approach. As per Oracle Application Framework you cannot e;ceed the number of columns by C/ this means that you cannot ha e more than three columns for a #ulleted.ist re"ion in an OAF pa"e.

65
Meher Irk: 9866206216

)orrespondin" web bean? OA#ulleted.ist#ean 0o! to create +ulleted1ist 2tem in (AF #age34 )reatin" a #ulleted.ist on an Oracle Apps Framework pa"e is simple. ,ust follow the steps "i en below. 6. )reate a re"ion on an OAF pa"e usin" ,-e eloper 2. <et the style property to #ulleted.ist. C. <et the properties of the newly created #ulleted.ist re"ion accordin" to the requirement and the standards of Oracle Apps Framework. 5. )reate items of any item style as children in this re"ion. 5e--F*r($%2 &n oracle application framework pa"e the OAF )ellFormat re"ion is used inside 1ow.ayout re"ion. )ellFormat re"ion is a container of re"ions or items. &t imparts the properties like column<pan/ row<pan/ Ali"n/ hAli"n/ etc. <uppose you ha e C rows and 2 columns in a table. 3ow you want to mer"e 2 columns of first row. For this you can use row<pan property of cell and will "et the first of resultin" in only one column/ i.e. now when you run OAF pa"e/ table will ha e total of J cells in it. )ellFormat allows you to control the ertical and hori:ontal ali"nment of item present in it. =ou can achie e the same usin" Ali"n and hAli"n. <uppose there is cell consistin" of messa"eTe;t&nput in it/ messa"eTe;t&nput should be top *ustified and at the end of the cell in the Oracle application framework pa"e. For this/ set the Ali"n ((ertical ali"nment) property of cellFormat as top and hAli"n (+ori:ontal Ali"nment) property of cellFormat as ri"ht. N*%e - &t will not take care the ali"nment of the te;t of the webbean present in it. .ike/ in a messa"eTe;t&nput there is a te;t of (A1)+A1 data type/ it will be only left ali"ned. )orrespondin" web bean? OA)ellFormat#ean 0o! to create cell Format ,egion in (AF #age3 )reatin" a cellFormat re"ion on an Oracle Apps Framework pa"e is simple. ,ust follow the steps "i en below. 6. )reate a re"ion on an OAF pa"e usin" ,-e eloper 2. <et the style property to cellFormat. C. <et the properties of the newly created cellFormat re"ion accordin" to the requirement and the standards of Oracle Apps Framework. 5. )reate items or re"ions of any style as children in this re"ion. 5*0%e0%C*0%$&0er2 &n oracle application framework pa"e the OAF )ontent)ontainer re"ion is used to display additional information of the OAF pa"e in Oracle #.AF ( #rowser .ook and Feel). )ontent)ontainer is ha in" special features which will help it to differentiate from other content of the OAF pa"e. E'am#le: &t can ha e different back"round color which can be different from the standard back"round color of oracle apps framework pa"e. This can be done by usin" #ack"round <hade property of the )ontent)ontainer. &t can ha e border to it to identify it as a separate re"ion. )ontent )ontainer can ha e items and re"ions of any style in it. To add this into oracle application framework pa"e/ create a shared re"ion in the OAF pa"e for )ontent)ontainer.

6J
Meher Irk: 9866206216

Generally/ #ullet.ist re"ion is placed in it/ as we use )ontent)ontainer to display additional information/ and that will be displayed pointwise. &n the #ullet.ist we can add further items or re"ions in it as per the requirement. )ontent)ontainer will be "enerally displayed at the end (ri"ht side) of the Oracle Apps Framework pa"e. )orrespondin" web bean? OA)ontent)ontainer#ean 0o! to create content&ontainer ,egion in (AF #age3 )reatin" a content)ontainer re"ion on an Oracle Apps Framework pa"e is simple. ,ust follow the steps "i en below. 6. )reate a shared re"ion for the content)ontainer 2. )reate a re"ion on an OAF pa"e usin" ,-e eloper C. <et the style property to content)ontainer 5. <et the properties of the newly created content)ontainer re"ion accordin" to the requirement and the standards of Oracle Apps Framework. J. )reate items or re"ions of any style as children in this re"ion. 5*0%e0%F**%er2 &n oracle application framework pa"e the OAF )ontentFooter re"ion was used to hold buttons (links) at the bottom le el of the Oracle Apps Framework pa"e. &t displays as a bottom line which is separated from the pa"e footer with the content of the oracle application framework pa"e and also known as 0ski0. &t is deprecated style. 2a"e buttons should be used instead of )ontentFooter to hold buttons in it. )orrespondin" web bean? OA)ontentFooter#ean (deprecated) .e4$,-%"*,9-eC*-,(02 &n oracle application framework pa"e the OAF -efault-ouble)olumn re"ion was used to hold items in two columns. 2rompt of items will be ri"ht *ustified and the input fields will be left *ustified. #ut it was not fulfillin" the Oracle #.AF (#rowser .ook and Feel) @& requirement!"uidelines. +ence/ it is deprecated and messa"e)omponent.ayout should be used for better ser in" the purpose of placin" items in OAF pa"e alon" with header re"ion which is called before messa"e)omponent.ayout in the OAF pa"e. Alon" with -efault-ouble)olumn layout/ there was one more re"ion known as -efault<in"le)olumn layout was present. -efault<in"le)olumn se ers the requirement of placin" items in one columnO it is also deprecated due to the same reason of not ser in" the purpose of Oracle #.AF @&. )orrespondin" web bean? OA-efault-ouble)olumn#ean (deprecated) .e4$,-%F*r(<%$5k2 &n oracle application framework pa"e the OAF -efaultForm<tack re"ion was used to hold re"ions or items in a stack format i.e. it was used when each re"ion or items needs to come in Oracle apps framework pa"e one under another (stacked) either to the left side of the pa"e or ri"ht or center as per the requirement. &t is a deprecated re"ion style. stack.ayout should be used instead of -efaultForm<tack in current scenarios. )orrespondin" web bean? OA-efaultForm<tack.ayout#ean (deprecated)

6$
Meher Irk: 9866206216

.e4$,-%<&01-eC*-,(02 &n oracle application framework pa"e the OAF -efault<in"le)olumn re"ion was used to hold items in a sin"le column. 2rompt of items will be ri"ht *ustified and the input fields will be left *ustified. #ut it was not fulfillin" the Oracle #.AF (#rowser .ook and Feel) @& requirement!"uidelines. +ence/ it is deprecated and messa"e)omponent.ayout should be used for better ser in" the purpose of placin" items in OAF pa"e alon" with header re"ion which is called before messa"e)omponent.ayout in the OAF pa"e. Alon" with -efault<in"le)olumn layout/ there was one more re"ion known as -efault-ouble)olumn layout was present. -efault-ouble)olumn se ers the requirement of placin" items in two columnsO it is also deprecated due to the same reason of not ser in" the purpose of Oracle #.AF @&. )orrespondin" web bean? OA-efault<in"le)olumn#ean (deprecated) .e4$,-%<%$5k2 &n oracle application framework pa"e the OAF -efault<tack re"ion was used to hold re"ions or items in a stack format i.e. it was used when each re"ion or item needs to come in Oracle apps framework pa"e one under another (stacked) either to the left side of the pa"e or ri"ht or center as per the requirement. &t is a deprecated re"ion style. stack.ayout should be used instead of -efault<tack in current scenarios. )orrespondin" web bean? OA-efault<tack.ayout#ean (deprecated) 4-e:&9-eC*0%e0%2 Fle;ible)ontent re"ion is used to identify content that can be placed in a fle;ible.ayout re"ion. The content can also be specified by referrin" to it. &t represents a ailable content which may or may not be made use ofO and thus acts as a resource to the pa"e desi"ner. )orrespondin" web bean? OAFle;ible)ontent#ean 4-e:&9-eL$y*,%2 The fle;ible.ayout re"ion can be used to define a customi:able layout/ as fle;ible.ayout re"ions can be nested to form a customi:able layout and can be positioned anywhere in the pa"e. A pa"e can ha e a number of Ntop-le elN fle;ible.ayoutsO they do not ha e to be nested. )orrespondin" web bean? OAFle;ible.ayout#ean 4-*)L$y*,%2 &n oracle application framework pa"e the OAF -efault<tack re"ion is used to hold buttons or ima"es in a hori:ontal line. <uppose you ha e a table or ad ancedTable in oracle application framework pa"e and you want to define table actions to the table re"ion/ as soon as you create table action by default flowlayout "ets created as a child of tableActions. 1e"ion style can be chan"ed to row.ayout or can ha e the same flow.ayout attached to it. &n case you want table actions to be performed only by usin" buttons then itNs better to use flow.ayout instead of row.ayout. &f table action in ol es other item style i.e. OA'essa"e)hoice#ean or OA'essa"eTe;t#ean then use row.ayout/ because if you use

67
Meher Irk: 9866206216

flow.ayout is used then Oracle #.AF (#rowser .ook and Feel) of @& will "et hampered/ i.e. ali"nment wonNt be proper. Hhene er you create pa"e<tatus re"ion in pa"e.ayout re"ion flow.ayout will also be "et created automatically in it as a child. &n flow.ayout re"ion there can be any re"ion or item attached to it as child of it. )orrespondin" web bean? OAFlow.ayout#ean 0o! to create lo!1ayout ,egion in (AF #age3 )reatin" a flow.ayout re"ion on an Oracle Apps Framework pa"e is simple. ,ust follow the steps "i en below. 6. )reate a re"ion on an OAF pa"e usin" ,-e eloper 2. <et the style property to flow.ayout. C. <et the properties of the newly created flow.ayout re"ion accordin" to the requirement and the standards of Oracle Apps Framework. 5. )reate items or re"ions of any style as children in this re"ion 4**%er2 &n oracle application framework pa"e the OAF Footer re"ion is used to hold links which are for top-le el applications/ buttons ("lobal)/ copyri"ht information/ pri acy information (optional) and About this pa"e link (optional) components in it. &t is a child of pa"e.ayout re"ion. &t is shown at the end of the OA Framework pa"e in the #.AF @&. &f we want to attach a 01eturn toP0 link i.e. a back na i"ation it will also "et added in the footer re"ion. )orrespondin" web bean? OAFooter#ean D$0%%2 &n oracle application framework pa"e the OAF Gantt re"ion is used to hold create Gantt charts. &t retrie es the data from the #)5, ob*ects. &t is mostly used for the pro*ect plannin" and schedulin" information. &t is like a matri; i.e. it is ha in" a ertical a;is and a hori:ontal a;is. <uppose you want to use Gantt for pro*ect plannin" then 2ro*ect will be at the ertical a;is and the time period will be placed in an hori:ontal a;is. &t inherits the properties of the +Grid re"ion by e;tendin" it/ only the width property of +Grid we cannot chan"e thru the Gantt re"ion. )orrespondin" web bean? OAGantt#ean 1r$8hT$9-e2 &n oracle application framework pa"e/ throu"h OAF GraphTable re"ion you can draw "raphs. GraphTable may not use all the columns present in the GraphTable to plot the "raph. &f there are multiple "raphs dependin" on one GraphTable then each "raph may use different set of columns to plot in the OAF pa"e. GraphTable is based on the table.ayout re"ion and inherits all their property. He need to set a property of GraphTable named as Graph 1ender <tyle property as either "raph or both. Hhen we set the alue as "raph that time we can iew one or more "raph elements. And when we set the property as both then we can iew both the table data and the correspondin" "raph

69
Meher Irk: 9866206216

below the table/ and if you ha e multiple "raphs then below the table there will be poplist item in the OAF pa"e from which we need to choose the "raph which we want to display. )orrespondin" web bean? OAGraphTable#ean he$.er2 &n oracle application framework pa"e we create an OAF +eader re"ion to "i e separate title of the pa"e to "i e the information of the pa"e functionality to the user. #y usin" +eader re"ion/ pa"e content and the header re"ion "ets seperated!partitioned for more clear information display. +eader re"ion is also used for some important messa"e display on the Oracle application framework pa"e like >rror/ Harni"/ &nformation/ etc at the top of the pa"e. #y use of +eader re"ion/ the pa"e le el action buttons!links will be displayed both at the top of the pa"e and the bottom of the OAF pa"e. 3ote? +eader element does not support style)lass attribute. )orrespondin" web bean? OA+eader#ean 3Dr&.2 As from the name h"rid itself/ it su""ests hirarchy "rid. &n an oracle application pa"e OAF +"rid re"ion is used when the data needs to be represented in a hirarchical!tree struture. =ou can use the Tree re"ion to represent the tree structure but tree re"ion in OAF emphasis on the relationship of the ob*ects of the hierarchy. =ou can use +"rid to display the hirarchical structure alon" with the detail information of each row!node. &t "i es the pri eled"e of modifin" the hierarchy by performin" the action as add/ delete/ update/ etc. +"rid has 2 special columns? 6. Focus )olumn. 2. Ob*ect +ierarchy )olumn. h&.e<h*)? &n oracle application framework pa"e/ to pro ide the functionality to hide and show the items and (or) re"ions we use +ide<how re"ion/ i.e. all the items or re"ion/ which should be displayed or hidden/ should be a child of a re"ion which will ha e a hide!show control. #y usin" hode!show control we can hide or show a part of the section of information or the entire section. <uppose you want to hide or show details of a particular ob*ect in an OA framework pa"e/ hide!show re"ion can be used. =ou can use hide!show re"ion when you want to hide or show the "raph/ which is present in an OAF pa"e. =ou can use this e en when a row of a table needs to hide and shown on some action on OAF pa"e. +ide!show re"ion can only pro ide its functionality on a sin"le pa"e at multiple parts. 3estin" can also be done. )orrespondin" web bean? OA-efault+ide<how#ean h&.e<h*)3e$.er2 &n oracle application framework pa"e/ to pro ide the functionality to hide and show the items under a header we use +ide<how+eader re"ion. &n both the case of to""lin" i.e. hidden or shown header te;t will remain as it is. &n +ide<how+eader re"ion we can add items as we add in +eader re"ion. 2lease refer +eader re"ion for more information on the properties of +eader re"ion.

6%
Meher Irk: 9866206216

)orrespondin" web bean? OA+ide<how+eader#ean -$9e-e.F&e-.L$y*,%2 The labeledField.ayout re"ion lays out its children in columnsO one column is for the 0labels0 and the other for the 0fields0/ with a "ap in between. The children are laid out across and down/ the first child in each row takes the 0label0 position and the second child takes the 0field0 position. The contents of each row are centered in the a ailable space. The 0labels0 are always ri"ht ali"ned/ and the 0fields0 left ali"ned. Hith multiple columns/ the children continue to be layed out across and down. For e;ample/ with two columns/ the third child will be used as the label for the first row and second column. &t also has support for the inline messa"in" beans where each inline messa"in" bean will automatically occupy both a 0label0 and 0field0 position. )orrespondin" web bean? OA.abeledField.ayout#ean Note? The labeledField.ayout component has been deprecatedO use the messa"e)omponent.ayout component instead. 2lease refer to the messa"e)omponent.ayout section for information about messa"e)omponent.ayout -&'%O4=$-,e'2 A listOf(alues re"ion is rendered in a separate modal dialo" containin" a comple; list of possible alues that can be selected as a alid alue for an entry field on a transaction pa"e or a field within a table. 1efer to the messa"e.o &nput section for information on the properties of messa"e.o &nput. A listOf(alues re"ion is rendered as a popup of separate OAF pa"e re"ion containin" a list of possible alues/ any of which can be selected as a alid alue for an entry field on a transaction pa"e or a field within a table. )orrespondin" web bean? OA.istOf(alues#ean (e''$1eC*(8*0e0%L$y*,%2 &n oracle application framework pa"e OAF messa"e)omponent.ayout is the most widely used re"ion to hold components. &t is restricted to messa"e components/ and it does not allow other re"ions to become its child. The components/ which are child of OAF messa"e)omponent.ayout re"ion/ will ha e/ prompt of the component will be ri"ht (end) ali"ned and the te;t field will be left ali"ned. &t ser es the multiple column display of components in an OA framework pa"e and also satisfies the standard @& "uidelines. &t is recommended that we should not display more than C columns in respect to follow the @& "uidelines. &n the OAF messa"e)omponent.ayout the spacin" between the components are accordin" to the Oracle #.AF @& "uidelines. )orrespondin" web bean? OA'essa"e)omponent.ayout#ean 0$/&1$%&*0B$r2 &n oracle application framework OAF 3a i"ation#ar is used to na i"ate to the ne;t or pre ious set of records. =ou mi"ht ha e mostly saw 3a i"ation#ar attached with the table or ad ance table.

28
Meher Irk: 9866206216

<uppose you ha e run a #)5, (O query that retrie ed more than 68 records to be displayed in a table. Then a 3a i"ation#ar will appear at the top and bottom of the table. #y usin" the 3a i"ation#ar link you can display the ne;t 68 records/ which are retrie ed from the query. 3a i"ation#ar can also be seen in the +"rid re"ion/ in case we e;pand a node and the child retrie ed are more than the record limit/ that time we ha e to use 3a i"ation#ar link. 3ote? 3o need to declare 3a i"ation#ar functionality e;plicitely. )orrespondin" web bean? OA3a i"ation#ar#ean 8$1eB,%%*0B$r2 &n oracle application framework/ OAF pa"e#utton#ar is used when a set of buttons!action links needs to be created at the pa"e layout le el. 2a"e#utton#ar is the child of pa"e.ayout re"ion. #uttons!action links will be displayed both at the top of the pa"e *ust below the pa"e title and below the pa"e footer line. )orrespondin" web bean? OA2a"e#utton#ar#ean 8$1eL$y*,%2 The pa"e.ayout re"ion is the hi"hest-le el layout element. &t acts as a template for the entire pa"e. &t/ by default/ has to be the top most re"ion of the pa"e. &t supports se eral other re"ions and na i"ation areas so as to maintain the Oracle Application Framework <tandards. )orrespondin" web bean? OA2a"e.ayout#ean ;,ery? A query re"ion is basically an e;tension of the stack.ayout re"ion. A query re"ion can contain the followin"? 6. <imple search panel 2. ad anced search panel C. a results table 5. Other elements as inde;ed children <imple search panel can contain any of the followin" re"ions a) default<in"le)olumn b) default-ouble)olumn c) default<tack d) defaultForm<tack elements. The ad anced search panel can contain a) ad anced<earch element. The results of a query are rendered usin" either a +Grid or a table. The table or +Grid elements are added as inde;ed children of the query re"ion. A query re"ion can ha e three types of search panels as listed below. <imple Ad anced )ustomi:e Also the query re"ion runs in three modes? 6. -efault mode 2. 1esults #ased <earch (1#<) mode

26
Meher Irk: 9866206216

C. Auto )ustomi:ation )riteria (A))) mode. -e ault mode: -e eloper is responsible for definin" the search panels and bindin" the results of the search to the results table!+Grid. ,esults +ased Search 5,+S6 mode: <earch panel is created dynamically usin" the queryable property of the re"ion items inside the nested table or +Grid inde;ed children Auto &ustomi.ation &riteria 5A&&6 mode: =ou ha e the fle;ibility of definin" your own @& for the search panels/ but the bindin" is powered by the framework as lon" as items on the panels are mapped to items in the results table!+Grid. <et the @ser 2ersonali:ation property of the table!h"rid re"ion (under the query re"ion) to True if you want to support user-personali:able searches which are surfaced in a (iews panel. )orrespondin" web bean? OAMuery#ean r*)L$y*,%2 &n oracle application framework pa"e the OAF 1ow.ayout re"ion is used which will hold )elFormat inside i.e. as a child to it. 1ow.ayout re"ion can be defined as an independent re"ion or it can be a child of a table.ayout! ad anceTable re"ion to create a row of a table!ad anceTable. 1ow.ayout pro ides hori:ontal ali"nment of items or re"ions as these items or re"ions will be under cellFormat and row.ayout holds cellFormat in a hori:ontal line. +ence row contains cell and cell in-turn contains items to it. He use row.ayout only when other layouts are not supportin" the requirement in a standard way i.e. not followin" the Oracle #.AF @& "uidelines. )orrespondin" web bean? OA1ow.ayout#ean 0o! to create ro!1ayout ,egion in (AF #age3 )reatin" a row.ayout re"ion on an Oracle Apps Framework pa"e is simple. ,ust follow the steps "i en below. 6. )reate a re"ion on an OAF pa"e usin" ,-e eloper 2. <et the style property to row.ayout. C. <et the properties of the newly created row.ayout re"ion accordin" to the requirement and the standards of Oracle Apps Framework. 5. )reate cellFormat re"ion as a child of row.ayout. J. )reate items or re"ions of any style as children in cellFormat re"ion. 'h,%%-e2 The shuttle re"ion pro ides a means for mo in" items between two lists and reorderin" one of these lists. Often the shuttle will be used to select items from one list by placin" them in the other. )orrespondin" web bean? OA<huttle#ean '%$5kL$y*,%2 The stack.ayout re"ion is a layout element that lays out each of its children ertically. )orrespondin" web bean? OA<tack.ayout#ean ',9T$9L$y*,%? The subTab.ayout re"ion has a child called 0subTabs0 that takes a subTab#ar bean.

22
Meher Irk: 9866206216

subTab#ar bean contains link elements as its inde;ed children. subTab#ar is rendered once on top. The number of inde;ed children of subTab#ar/ which are the link elements/ should be equal to the number of inde;ed children of the parent subTab.ayout. The link elements are used to switch between the inde;ed children of the subTab.ayout. )orrespondin" web bean? OA<ubTab.ayout#ean ')&%5her2 The switcher re"ion is used in typical business requirements e.". supopose we want to show an .O( when one of the alue of the defined attribute of the (O is selected and an OA'essa"eTe;t&nput#ean when another alue is selected in the (O i.e. it has a property/ 0child3ame0/ which is used to render the named child under this name. The item to be displayed on the OA Framework pa"e is decided at runtime. A iew name and a iew attribute ha e to be specifed to a switcher. )orrespondin" web bean? OA<witcher#ean %$9-e2 As the name su""ests a table re"ion is used to display tabular data and also supports selection (both sin"le and multiple)/ sortin"/ record na i"ation/ detail-disclosure and totalin" but totalin" can be enabled for any column e;cept for the first column in a table. )orrespondin" web bean? OATable#ean %$9-eL$y*,%2 The table.ayout re"ion is also of table type only and acts as a thin wrapper around the +T'.Ns table element. &t contains a series of row.ayout elements for embeddin" other re"ions and items. )orrespondin" web bean? OATable.ayout#ean %r$&02 The train re"ion is used to si"nify the in pro"ress pa"e of a multi-pa"e process. The hi"hli"hted 0step0 indicates the currently acti e pa"e. The train has one property/ 0selected&nde;0/ which is the inde; of the selected 0step0. )orrespondin" web bean? OATrain#ean %ree2 As the name su""ests that a tree re"ion is used to display ob*ects in a hierarchical format. &t se"re"ates data into child!leaf nodes and parent nodes which can be either e;panded or collapsed. The purpose of tree is to allow users to promptly browse throu"h composite sets of hierarchical ob*ects and access detailed information for a record by hi"hli"htin" it in the tree. The isual representation of the hierarchy usin" the tree also depicts the relationship between ob*ects with respect to one another. )orrespondin" web bean? OATree#ean ITEM< - OAF An item in OAF is a *a a bean which allows a user to interact with the Oracle Apps Framework pa"e e.". a te;t bo; or a choice bo; etc.

2C
Meher Irk: 9866206216

)omponents or items are always placed inside some re"ion so that they are always displayed as per the Oracle Application Framework standards. > ery item or component has specific properties which can be "i en some alues while creation of the OA Framework pa"e e.". rendered property which allows the bean to be displayed onto the screen it can be true( isible) or false(hidden). &tems "et rendered on the Oracle Apps Framework pa"e in the fashion as described by the re"ion in which that item has been placed either at declarati e!desi"n time or at runtime. > en these properties can be chan"ed at runtime/ but that needs an understandin" on how to import the beans and then how to create handle of the bean and then how to set properties. +owe er this is not so much difficult to achie e but still some pro"rammin" knowled"e is needed to achie e this. This is called as runtime control of the bean and is e;plained in detail for e ery item in the correspondin" item type. A complete list of all the items pro ided by Oracle Application Framework is "i en below. button e;port#utton fle; formattedTe;t form2arameter form(alue ima"e link messa"e)heck#o; messa"e)hoice messa"e-ownload messa"eFile@pload messa"e&nlineAttachment messa"e.o )hoice messa"e.o &nput messa"e1adio#utton messa"e1adioGroup messa"e1ichTe;t>ditor messa"e<tyledTe;t messa"eTe;t&nput rawTe;t reset#utton richTe;t>ditor selection#utton separator ser let&nclude spacer static<tyledTe;t submit#utton tip url&nclude 9,%%*02 The button item style in Oracle Application Framework creates a push button. &t allows the user to tri""er certain action in response to a click. To do this the Oracle Apps Framework "i es the property of fire action. The fire action property needs the name of the action to be fired e.". 0buttonAction0. 3ow/ once the button is clicked the control "oes to the processForm1equest

25
Meher Irk: 9866206216

method to search for the buttonAction code. This all is handled by the OA Framework. &n the buttonAction code you need to write the business lo"ic as per the requirement. =ou cannot ha e children to this button bean. )orrespondin" web bean? OA#utton#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.na .OA#utton#eanO e:8*r%B,%%*02 &n Oracle Application Framework the >;port#utton is used to? >;port the displayed data of a particular re"ion or for all re"ions on an OAF pa"e to a comma separated alue (cs ) file. o Only the re"ions that are displayed on the OA Framework will be e;ported. o >ach re"ion on the e;ported file will ha e a row of column names followed by the results. 2n *indo!s? )lickin" on the >;port#utton will open a dialo" accordin" to which o =ou can open the e;ported file and then sa e the same/ or/ o =ou could sa e the file and then open it. e'#ort+utton can be used as ollo!s: 6. >;portin" the data of all re"ions on a pa"e. 2. >;portin" data of a specific re"ion on a pa"e. 6. >;portin" the data of all re"ions on a pa"e? A. )reate a contentFooter re"ion under the pa"e.ayout re"ion of that OAF 2a"e. #. Add an 0>;port#utton0 to the contentFooter re"ion. ). &f there is more than one button which needs to be added to the contentFooter/ then all the buttons should be put under a flow.ayout re"ion/ and this flow layout should then be added to the contentFooter. 2. >;portin" data of a specific re"ion on a pa"e? A. )reate an 0>;port#utton0 under the re"ion whose data needs to be e;ported. #. 3ow/ in the container ob*ect/ position this >;port#utton and set a iew usa"e name for this >;port#utton. The data of the attached (O will be e;ported to a )<( file. &t e;tends the OA FrameworkNs submit#utton and inherits all the properties from it. )orrespondin" web bean? OA>;port#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.form.OA>;port#eanO 4-e:2 Oracle Application has two types or styles of fle; item styles. &n other words you can say that there are two types of fle; fields in Oracle Application/ they are? 6. -escripti e fle; field. 2. Rey fle; field. 17 -escri#tive le' ields: &t pro ides a customi:able 0e;pansion space0 which can be used to track additional information/ important and unique to a customerNs business/ which would not otherwise be captured by the form.

2J
Meher Irk: 9866206216

$7 8ey le' ields? They are the key buildin" block for the business "roup and are made up of meanin"ful se"ments identifyin" business entities like 2osition/ ,ob/ and Grade etc. #y usin" fle; item style/ we create the complete structure of key fle; field and descripti e fle; field as it is declared in Oracle Applications. )orrespondin" web beans? OA-escripti eFle;#ean/ OAReyFle;#ean import oracle.apps.fnd.framework.webui.beans.OA-escripti eFle;#eanO import oracle.apps.fnd.framework.webui.beans.OAReyFle;#eanO 4*r($%%e.Te:%2 =ou may ha e "uessed from the name itself that a formattedTe;t item style will accept a strin". &n OAF the FormattedTe;t accepts the strin" in one of its attribute named as 0Te;t0 and contains a ery limited set of +T'. markup and outputs formatted results. Oracle Apps Framework de elopers/ who need more of +T'. functionality must use the rawTe;t bean. >.". formattedTe;t bean wonNt support the use of +T'. tables or +T'. linksO hence OAF de elopers ha e to use either table.ayout and link beans or use *ust the rawTe;t bean. formattedTe;t bean pro ides a limited ability to use a sin"le source for translated or userpro ided FormattedTe;t without parsin" or filterin". &t supports more attributes than the rawTe;t beanO e.". it supports style)lass. 0TM1 mar9u#s su##orted by FormattedTe't are: &n the )<< attributes 0class0/ 0style0 and 0href0 are the only attributes that are supportedO all the other )<< attributes others are i"nored. )orrespondin" web bean? OAFormattedTe;t#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.OAFormattedTe;t#eanO 4*r(P$r$(e%er2 &n Oracle Apps Framework the form2arameter item style pro ides the functionality to act as a placeholder for submission parameters. <uppose you want a user to fill his credit card details and then you want to call a payment "ateway by passin" his credit card information/ then you will use the form2arameter bean to hold the alues of the credit card filled by the user in the OAF pa"e. Oracle Application Framework also pro ides the form(alue bean for holdin" the alues/ but there are differences between form2arameter and form(alue beans of OAF/ these are listed below. 6. form2arameter wonNt support a 0 alue0 attribute. &nstead/ the alue is set only at form submission time. 2. A form2arameter with a particular name can be added 3 number of times to a form without ill effectsO only one instance will appear. This is noticeably different from the form(alue/ where reuse will cause the same alue to appear multiple times in the form submission. )orrespondin" web bean? OAForm2arameter#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.form.OAForm2arameter#eanO

2$
Meher Irk: 9866206216

4*r(=$-,e2 &n Oracle Apps Framework the form(alue bean is used to add alue that will be submitted with a form/ but the key point to mention is that alue is not displayed to the user. To make the form(alue bean "et a alue the form(alueNs (iew3ame and (iewAttribute has to be mapped to a (iew Ob*ect and as soon as that (iew Ob*ect is e;ecuted the form(alue "etNs the alue of the mapped attribute. )orrespondin" web bean? OAForm(alue#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.form.OAForm(alue#eanO &($1e2 <uppose you want to show an ima"e on to an Oracle Application Framework pa"e then you ha e to use the Oracle Apps Framework pro ided &ma"e bean. This bean has to be mapped to an ima"e so that the ima"e can be displayed to once the OAF pa"e is rendered. For e;ample when we see an update column in a table/ that column uses ima"e bean to display the ima"e of update icon. )orrespondin" web bean? OA&ma"e#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.OA&ma"e#eanO -&0k2 The Oracle Application Framework pro ides the .ink bean so that you can redirect the control to any other pa"e once the .ink bean has been clicked. The link bean item style creates an +T'. link ta" which can then be redirected to some other pa"e as required. To open a new browser on the click of the link bean from an OAF pa"e you *ust need to make the tar"et property of the link bean to Fblank. )orrespondin" web bean? OA.ink#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.na .OA.ink#eanO (e''$1eChe5kB*:2 &n order to create a check bo; in an Oracle Application Framework pa"e the messa"e)heck#o; bean is used. &t is created with the userNs defined inline te;t which acts as a prompt once the Oracle Apps Framework pa"e is loaded. 'essa"e)heck#o; ser es the purpose of one or multiple selection. )orrespondin" web bean? OA'essa"e)heck#o;#ean &mport2ath? oracle.apps.fnd.framework.webui.beans.messa"e.OA'essa"e)heck#o;#eanO (e''$1eCh*&5e2 &n order to make a drop down bo; in any Oracle Application Framework pa"e the messa"e)hoice bean is used. The messa"e)hoice bean "i es the user the functionality to select a alue from the drop down list in an Oracle Apps pa"e. 2eople often "et confused between the 'essa"e)hoice and the .ist Of (alues (.O()/ whereas there are hu"e differences between both.

27
Meher Irk: 9866206216

(alue of the dropdown list of 'essa"e)hoice bean comes from the #)5, ob*ect. )orrespondin" web bean? OA'essa"e)hoice#ean &mport path? import oracle.apps.fnd.framework.webui.beans.messa"e.OA'essa"e)hoice#eanO (e''$1e"*)0-*$.2 The 'essa"e-ownload bean is a ery special one in Oracle Apps Framework. &tNs special because it allows the user to download a file from the middle tier to the clientNs machine directly from the OAF pa"e. )orrespondin" web bean? OA'essa"e-ownload#ean &mport2ath?oracle.apps.fnd.framework.webui.beans.messa"e.OA'essa"e-ownload#eanO (e''$1eF&-e#8-*$.2 &n Oracle Apps Framework the messa"eFile@pload item style is created as a combination of the file@pload and inline'essa"e controls. The file@pload control adds a wid"et that can be used to upload a file ri"ht from the Oracle Application Framework pa"e. Any OAF pa"e that contains this control must ha e attribute 0uses@pload0 set to true. )orrespondin" web bean? OA'essa"eFile@pload#ean &mport2ath? import oracle.apps.fnd.framework.webui.beans.messa"e.OA'essa"eFile@pload#eanO (e''$1eI0-&0eA%%$5h(e0%2 &n any Oracle Apps Framework pa"e the messa"e&nlineAttachment item style is used to display attachments in a messa"e bean. )orrespondin" web bean? OA'essa"e&nlineAttachment#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.messa"e.OA'essa"e&nlineAttachment#eanO (e''$1eL*/Ch*&5e2 The Oracle Application Framework creates a messa"e.o )hoice item style as a hybrid between a messa"e.o &nput and a messa"e)hoice. The messa"e.O()hoice bean appears as a torch icon on the OAF pa"e on the ri"ht side of a messa"e)hoice. Once the torch is clicked a new re"ion will be opened/ this re"ion is called as the .O( re"ion in Oracle Application Framework terms/ the .O( re"ion will allow the user to search and select a alue from the a ailable ones. Once the alue is selected the re"ion will close automatically/ the control will return back to the base OAF pa"e and the choice bo; will display the alue selected from the .O( re"ion. )orrespondin" web bean? OA'essa"e.o )hoice#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.messa"e.OA'essa"e.o )hoice#eanO

29
Meher Irk: 9866206216

(e''$1eL*/I08,%2 &n Oracle Apps Framework the messa"e.o &nput item style is a combination of the lo &nput and inline'essa"e controls. 3ote? messa"e.o &nput can ha e two or more lo 'aps created under it/ and each of those lo 'aps can ha e the )riteria &tem property set. +owe er if you set the )riteria &tem property on more than one lo 'ap/ at runtime when the user in okes an .O(/ selects a alue from the .O(/ and then re-in okes it/ both the entered criteria are used. &n this case/ deletin" the alue from the search item will not enable the user to query all records from the .O( tableNs iew ob*ects. )orrespondin" web bean? OA'essa"e.o &nput#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.messa"e.OA'essa"e.o &nput#eanO (e''$1eR$.&*B,%%*02 The messa"e1adio#utton item style in Oracle Application Framework is a combination of the radio#utton and inline'essa"e controls. &t is used to create a radio button usin" which a user can select or deselect a alue in an OAF pa"e. )orrespondin" web bean? OA'essa"e1adio#utton#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.messa"e.OA'essa"e1adio#utton#eanO (e''$1eR$.&*Dr*,82 The Oracle Apps Framework creates the messa"e1adioGroup item style as a combination of the radioGroup and inline'essa"e controls. =ou can ha e many radio buttons in the messa"e1adioGroup but only one of the radio buttons can be selected at a time. This is used where er you want user to select only one alue from many choices a ailable. <uppose in your OAF pa"e you want the user to select a payment method out of the three a ailable options namely )redit )ard/ 2ay 2al or )ash on -eli ery ()O-)/ then either you can use messa"e)hoice bean or you can use the messa"e1adioGroup to achie e the same. )orrespondin" web bean? OA'essa"e1adioGroup#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.messa"e.OA'essa"e1adioGroup#eanO (e''$1eR&5hTe:%E.&%*r2 The messa"e1ichTe;t>ditor item style in Oracle Apps Framework pa"e pro ides rich te;t editin" capability within the OAF pa"e. @sin" this re"ion the users can format the te;t same as '< Hord or other word processin" tools. &t has the capacity to hold the te;t in bold/ italics/ underlined/ colored or any other format. A user can e en add bullets/ numbers etc to his te;t. Also/ the user can hi"hli"ht the te;t or write the te;t in different colors/ is also "i es the user the functionality to copy the te;t from any word processin" tools and paste the same. The only condition that Oracle Application Framework puts for the messa"e1ichTe;t>ditor is that it can be placed within any re"ion e;cept search re"ions or tables. Also/ the browser should support &F1A'>< for the rich te;t editor to work.

2%
Meher Irk: 9866206216

)orrespondin" web bean? OA'essa"e1ichTe;t>ditor#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.messa"e. OA'essa"e1ichTe;t>ditor#eanO (e''$1e<%y-e.Te:%2 &n Oracle Apps Framework the messa"e<tyledTe;t item style is a combination of the styledTe;t and inline'essa"e controls. &t is used to display a prompt and a alue a"ainst that prompt. For e;ample you want to display the percenta"e of tasks done/ then you need the name of the tasks to come as labels and the percenta"e of the tasks completed will be fetched from the (iew Ob*ect. Task6? %8Q Task2? J8Q +ere in the abo e e;ample Task6 and Task2 are the labels that you "i e to the messa"e<tyledTe;t and the fi"ures %6 and J8 are the alues fetched by the (iew Attributes of the (iew Ob*ect attached with the messa"e<tyledTe;t to display the alue. )orrespondin" web bean? OA'essa"e<tyledTe;t#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.messa"e. OA'essa"e<tyledTe;t#eanO (e''$1eTe:%I08,%2 The messa"eTe;t&nput in Oracle Application Framework pro ides an item which acts as a te;t bo; so that a user can enter the alues into it and can sa e the same once the entered alues passes the #)5, alidation if any. &t is a combination of the te;t&nput and inline'essa"e controls. =ou can also write a prompt for the te;t bo; to specify the purpose of the te;t bo; in the label field pro ided by the Oracle Apps Framework. )orrespondin" web bean? OA'essa"eTe;t&nput#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.messa"e.OA'essa"eTe;t&nput#eanO r$)Te:%2 The rawTe;t item style supports output of unescaped te;t. @se of this class means assumin" full responsibility for "eneratin" proper +T'.. )lients should stron"ly consider usin" elements in the +T'. namespace instead of this class. &n particular/ this class does not attempt to encode or escape characters for 3.< or +T'. compliance. )orrespondin" web bean? OA1awTe;t#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.OA1awTe;t#eanO

re'e%B,%%*02 <uppose you want to create a button which will clear all the contents that a user has filled in the form in one shot/ in these cases you can use the 1eset#utton pro ided by Oracle Application

C8
Meher Irk: 9866206216

Framework. &n the push of the 1eset#utton all the contents placed in all the items of that OAF 2a"e will be cleared and become blank. &n simple words the 1eset#utton is used to reset the contents of the whole OAF 2a"e. )orrespondin" web bean? OA1eset#utton#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.form.OA1eset#utton#eanO r&5hTe:%E.&%*r2 The richTe;t>ditor item style pro ides rich te;t editin" capability within the OA Framework. &t can be placed within any re"ion e;cept search re"ions or tables. The component allows users to author/ edit and iew rich te;t content in a browser that supports &F1A'>s. The richTe;t>ditor item style e;tends messa"eTe;t&nput and can be used to pro ide rich te;t editin" capabilities where they are required. 2lease refer to the messa"eTe;t&nput section for more information on all richTe;t>ditor properties. 3ote? The richTe;t>ditor item style has been deprecatedO use messa"e1ichTe;t>ditor instead. )orrespondin" web bean? OA1ichTe;t>ditor#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.messa"e.OA1ichTe;t>ditor#eanO 'e-e5%&*0B,%%*02 The <election#utton in Oracle Application Framework creates a button that can select the whole row of a table. The restriction that Oracle Apps Framework puts for the <election#utton is that it can be created only under a sin"le<election or multiple<election named child in a table re"ion. <election#utton inherites all the properties from submit#utton hence please refer to the submit#utton section for more information on all submit#utton properties. )orrespondin" web bean? OA<election#utton#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.form.OA<election#utton#eanO 'e8$r$%*r2 The separator bean creates a hori:ontal line on the OAF pa"e so that there is a clear demarcation between the components placed on any Oracle Application Framework pa"e. &t is rendered as a dashed hori:ontal line once the OAF pa"e is rendered. )orrespondin" web bean? OA<eparator#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.layout.OA<eparator#eanO 'er/-e%I05-,.e2 The ser let&nclude item style allows you to include +T'. content loaded from a local <er let or ,<2 under the parent re"ion directly from the Oracle Application Framework pa"e. )orrespondin" web bean? OA<er let&nclude#ean

C6
Meher Irk: 9866206216

&mport 2ath? import oracle.apps.fnd.framework.webui.beans.include.OA<er let&nclude#eanO <8$5er2 The spacer item style inserts empty space in a pa"e. <pacer #eans occupy a fi;ed amount of space in an +T'. layout. <uppose you want to ha e some "ap in between the re"ions or in between the items placed in any Oracle Application Framework pa"e then you can use the <pacer item type pro ided by Oracle Apps Framework. The spacer item style has hei"ht and width properties so that you can specify either hori:ontal/ ertical or e en both types of spaces in the Oracle Apps Framework pa"e. )orrespondin" web bean? OA<pacer#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.layout.OA<pacer#eanO <%$%&5<%y-e.Te:%2 The static<tyledTe;t item style e;tends styled Te;t. All attributes supported by styled Te;t are inherited by static<tyledTe;t. <ee the section on styled Te;t for a list of attributes a ailable on the styled Te;t element. )orrespondin" web bean? OA<tatic<tyledTe;t#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.OA<tatic<tyledTe;t#eanO <,9(&% B,%%*02 The <ubmit #utton item style is used to submit the OAF 2a"e. The destination attribute of the submit #utton is always i"nored and in place of it the destination of the form is used as destination by Oracle Apps Framework. &t also has the fire action property that you can use to handle the alidations for the alues bein" submitted with the form. )orrespondin" web bean? OA<ubmit#utton#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.form.OA<ubmit#utton#eanO T&82 The tip item style pro ides pa"e or section le el hints to the user. This is a ery essential component that Oracle Apps Framework as there is always a demand for tips to be displayed once the mouse is ho ered o er any component. Typically/ the only inde;ed child of the tip will be a Te;t 3ode/ but as many children as necessary can be added and will be laid out as with a flow.ayout. )orrespondin" web bean? OATip#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.OATip#eanO

C2
Meher Irk: 9866206216

#r-I05-,.e2 The url&nclude item style allows you to include +T'. content loaded from an e;ternal source under the parent re"ion. )orrespondin" web bean? OA@rl&nclude#ean &mport 2ath? import oracle.apps.fnd.framework.webui.beans.include.OA@rl&nclude#eanO

L*/ -(L&'% *4 /$-,e')


&n Oracle Apps Framework the messa"e.o &nput item style is a combination of the lo &nput and inline'essa"e controls. .o is used to displays the list of alues from data base in separate re"ion/when e er user clicks on torch icon.where user can search the alue and do the selection. 3ote? messa"e.o &nput can ha e two or more lo 'aps created under it/ and each of those lo 'aps can ha e the )riteria &tem property set. +owe er if you set the )riteria &tem property on more than one lo 'ap/ at runtime when the user in okes an .O(/ selects a alue from the .O(/ and then re-in okes it/ both the entered criteria are used. &n this case/ deletin" the alue from the search item will not enable the user to query all records from the .O( tableNs iew ob*ects. <%e8' %* 5re$%e $ LO=2 -)reate new bc5* packa"e imp.oracle.apps.po.student.lo .ser er -)reate new Application module -)reate new iew ob*ect .O(A' .O((O

E,ery2 <>.>)T (>3-O1F3A'>/(>3-O1F&- F1O' 2OF(>3-O1<O -Add .O((O in .O(A' -)reate shared re"ion Type? listOf(alues -)reate new table usin" wi:ard Attributes set properties? =e0.*rI"2 seacrhAllowed-True <ortAllowed -Assindin" <ort sequence? First =e0.*rN$(e2 <earch Allowed? True -&n a pa"e create new item for supplier and set the below properties Ty8e2 messa"e.o &nput E:%er0$- L*/2 imp.oracle.apps.po.student.lo .webui.supplier.o 13

CC
Meher Irk: 9866206216

L*/ ($88&01 2 L*/ Re1&*02 (endor3ame Re%,r02 <upplier Cr&%er&$2 <upplier

Me''$1e Ch*&5e( P&5k-&'% *r P*8-&'% )


&n order to make a drop down bo; in any Oracle Application Framework pa"e the messa"e )hoice bean is used. The messa"e )hoice bean "i es the user the functionality to select a alue from the drop down list in an Oracle Apps pa"e. 2eople often "et confused between the 'essa"e)hoice and the .ist Of (alues (.O()/ whereas there are hu"e differences between both. (alue of the dropdown list of 'essa"e )hoice bean comes from the #)5, ob*ect. <%e8' %* 5re$%e $ (e''$1eCh*&5e2 -)reate new bc*5 packa"e imp.oracle.apps.po.student.poplist.ser er -)reate new iew ob*ect <upplier(O E,ery2 <>.>)T (>3-O1F3A'>/(>3-O1F&- F1O' 2OF(>3-O1<O -Add it in root Application module -)reate a item in pa"e Ty8e2 OA'essa"e)hoice <et below properties? P&5k-&'% /&e) .e4&0&%&*02 imp.oracle.apps.po.student.poplist.ser er.<upplier(O P&5k-&'% "&'$8-y A%%r&9,%e2 (endor3ame P&5k-&'% =$-,e A%%r&9,%e 2 (endor&d

P&5k-&'% P&5k-&'% P&5k-&'% P&5k-&'%

/&e) .e4&0&%&*02 Automatically e;ecutes the o query on pa"e load "&'$8-y A%%r&9,%e2 The attribute name you want show in the front end =$-,e A%%r&9,%e 2 The attribute name you want to sa e in the back end -#. /&e) &0'%$05e 2 3eed to manually e;ecute the query.

I(8 <%,.e0% O8er$%&*0'2 <%,.e0% Re1&'%r$%&*02


The student re"istration pa"e is used to re"ister or create a student and trainin". this is a master details pa"e /here student is the master trainin" is child and one student may in more than one trainin".

C5
Meher Irk: 9866206216

Screen shot:

-ata base com#onents: )reate below 2 custom tables in custom schema?

CJ
Meher Irk: 9866206216

6- &'2F<T@->3TF+>A->1< ('aster table) 2- &'2F<T@->3TFT1A&3&3GF->TA&.<()hild table) )1>AT> TA#.> &'2F<T@->3TF+>A->1< (<T@->3TF&- 3@'#>1(%) 21&'A1= R>=/ F&1<TF3A'> (A1)+A12(2J) 3OT 3@../ .A<TF3A'> (A1)+A12(2J) 3OT 3@../ -AT>FOFF1>G&<T1AT&O3 -AT>/ 'O#&.>F3O 3@'#>1(68)/ >'A&. (A1)+A12(2J)/ G>3->1 (A1)+A12(9)/ T>1'<F)O3-&T&O3< (A1)+A12(6) 3OT 3@../ #MF)O@1<>F3A'> (A1)+A12(J8)/ #MF<2>)&A.&SAT&O3 (A1)+A12(J8)/ #MF@3&(>1<&T= (A1)+A12(J8)/ #MFG1A-@AT>F&3 -AT>/ 2GF)O@1<>F3A'> (A1)+A12(J8)/ 2GF<2>)&A.&SAT&O3 (A1)+A12(J8)/ 2GF@3&(>1<&T= (A1)+A12(J8)/ 2GFG1A-@AT>F&3 -AT>/ FAT+>1F3A'> (A1)+A12(J8)/ 'OT+>1F3A'> (A1)+A12(J8)/ -AT>FOFF#&1T+ -AT>/ 'A1T&A.F<TAT@< (A1)+A12(68)/ <2O@<>F3A'> (A1)+A12(J8)/ )+&.-1>3 (A1)+A12(C)/ A--1><< (A1)+A12(688)/ <TAT> (A1)+A12(J8)/ )O@3T1= (A1)+A12(2J)/ A#O@TF=O@1<>.F (A1)+A12(J88)/ )1>AT&O3F-AT> -AT> 3OT 3@../ )1>AT>-F#= 3@'#>1(%) 3OT 3@../ .A<TF@2-AT>-F#= 3@'#>1 3OT 3@../ .A<TF@2-AT>F-AT> -AT> 3OT 3@../ .A<TF@2-AT>F.OG&3 3@'#>1 3OT 3@../ ATT1&#@T>6 (A1)+A12(2J)/ ATT1&#@T>2 (A1)+A12(2J)/ ATT1&#@T>C (A1)+A12(2J)/ ATT1&#@T>5 (A1)+A12(2J)/ ATT1&#@T>J (A1)+A12(2J)/ ATT1&#@T>$ (A1)+A12(2J) ) )1>AT> TA#.> &'2F<T@->3TFT1A&3&3GF->TA&.< ( T1A&3&3GF&- 3@'#>1(%) 21&'A1= R>=/ <T@->3TF&- 3@'#>1(%) 3OT 3@../ T1A&3&3G (A1)+A12(2J) 3OT 3@../ T1A&3&3GF#AT)+ 3@'#>1(%)/ <TA1TF-AT> -AT>/ >3-F-AT> -AT>/ F>> 3@'#>1(%)/

C$
Meher Irk: 9866206216

)1>AT&O3F-AT> -AT> 3OT 3@../ )1>AT>-F#= 3@'#>1(%) 3OT 3@../ .A<TF@2-AT>-F#= 3@'#>1 3OT 3@../ .A<TF@2-AT>F-AT> -AT> 3OT 3@../ .A<TF@2-AT>F.OG&3 3@'#>1 3OT 3@../ ATT1&#@T>6 (A1)+A12(2J)/ ATT1&#@T>2 (A1)+A12(2J)/ ATT1&#@T>C (A1)+A12(2J)/ ATT1&#@T>5 (A1)+A12(2J)/ ATT1&#@T>J (A1)+A12(2J)/ ATT1&#@T>$ (A1)+A12(2J) ) A0. 1r$0% %* $88' "rant all on &'2F<T@->3TF+>A->1< to apps "rant all on &'2F<T@->3TFT1A&3&3GF->TA&.< to apps )reate synonym for both the tables )reate synonym &'2F<T@->3TF+>A->1< for po.&'2F<T@->3TF+>A->1< )reate synonym &'2F<T@->3TFT1A&3&3GF->TA&.< for po. &'2F<T@->3TFT1A&3&3GF->TA&.< Cre$%e %)* 'e;,e05e' 4*r '%,0.e0%F&. $0. %r$&0&01F&. IMP_STUDENT_ID IMP_STUDENT_TRAINING_ID )reate <equence &'2F<T@->3TF&<TA1T H&T+ 6 '&3(A.@> 6 'AD(A.@> %%%%%%%%%%%%%%%%%%%% &3)1>'>3T #= 6O

)reate <equence &'2F<T@->3TFT1A&3&3GF&<TA1T H&T+ 6 '&3(A.@> 6 'AD(A.@> %%%%%%%%%%%%%%%%%%%% &3)1>'>3T #= 6O L**k,8' $0. ';- ;,er&e'2 Go to F,05%&*0$- A.(&0&'%r$%*r responsibility and create below lookup types and prepare the sql queries for the same. 2M):1/:;EN-E, select lookupFcode/meanin" from F3-F.OOR@2F(A.@><

C7
Meher Irk: 9866206216

where .OOR@2FT=2> T N&'2F.@FG>3->1NO

2M):1/:T,A2N2N; select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@FT1A&3&3GNO 2M):1/:+<:&(/,SE select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@F#MF)O@1<>NO 2M):1/:+<:S)E&2A12=AT2(N select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@F#MF<2>)&A.&SAT&O3NO 2M):1/:/N2VE,S2T> select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@F@3&(>1<&T=NO 2M):1/:);:&(/,SE select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@F2GF)O@1<>NO 2M) :1/:);:S)E&2A12=AT2(N select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@F2GF<2>)&A.&SAT&O3NO

2M):1/:MA,2T2A1:STAT/S select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@F'A1&T&A.F<TAT@<NO

2M):1/:STATES select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@F<TAT><NO ;o to Jdevl# to design #age: -)reate a data base connection -)reate OAHorkspace and OA2ro*ect &mp<tudent.*ws/ &mp<tudent.*pr and &mp<tudent.*p; "ot created.

C9
Meher Irk: 9866206216

-)reate 'odel components -)reate new #)5, component )ac9age: imp.oracle.apps.po.student.ser er 1i"ht click on bc5* and create 3ew Application madule Name: &mp<tudentA' )ac9age: imp.oracle.apps.po.student.ser er 1i"ht click on 2ro*ect to create a 2a"e. Name: &mp<tudent1esitration2G )ac9age: imp.oracle.apps.po.student.webui #y default its creates pa"e.ayout re"ion. <et below properties? AM -e inition? imp.oracle.apps.po.student.ser er.&mp<tudnetA' *indo! Title? &mp <tudent 1e"istration )age Title? <tudent 1e"istration -esi"n the pa"e as we shown in screen shot.

L&'% *4 /$-,e' - LO=

for country and states.

17 &reate ne! +&?J com#onent )ac9age : imp.oracle.apps.po.student.lov.server 1i"ht click on #)5, and create 3ew Application module Name: &mp<tudent.O(A' 1i"ht click on #)5, and create 3ew lo (iew Ob*ect $7 &reate 1(VV( or &ountry and states Name: &mp)ountry.O(O <uery : select countryFcode/name from 2AF)O@3T1=F( Name : &mp<tate.O((O <uery : select meanin"/description/ta" from fndFlookupF alues where lookupFtypeTN&'2F<TAT><N 3e;t add these into .O(A'. %7&reate shared region or country

C%
Meher Irk: 9866206216

1i"ht click pro*ect E 3ew E HebTier E OA)omponents E 1e"ion Name? &mp)ountry.O(13 Style ? listOf(alues ?7 Set belo! #ro#erties o 1(V,N: Sco#e? 2ublic AM -e inition? imp.oracle.apps.po.student.lov.server.ImpStudent O!A" #ig$t click region to create table using %i&ard &ountryName set belo% properties 'e$5rhA--*)e. ' true '*r%$9-e ' ascending '*r% 'e;,e05e' (irst G. C*,0%ry 'e% 9e-*) 8r*8er%&e'2 E'terNal 1(V'imp.oracle.apps.po.student.lov.server.ImpCountr) O!#* ov mapping+' 1ov ,egion item ' Countr)*ame ,eturn to' Countr) &riteria item' Countr) Create t$e same (or States and student.

Me''$1e Ch*&5e (8&5k -&'%) (or "arital status,B-Course*ame,B- Speciali&ation


,universit) ,P. Course*ame and P.Speicali&ation -)reate new #)5, component )ac9age: imp.oracle.apps.po.student.picklist.server 1i"ht click on #)5, and create 3ew (iewOb*ect Name: &mp'arital<tatus(O <uery : select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@F'A1&T&A.F<TAT@<NO -Add into data modle of the application module -Go to pa"e and set below properties 2tem Style? messa"e)hoice )ic9list -e inition: imp.oracle.apps.po.poplist.ser er.&mp )reate same for all rest of pick lists and radio Group. E0%&%yO9>e5% (EO) =&e) O9>e5% (=O)2

58
Meher Irk: 9866206216

162M):ST/-ENT:0EA-E,S Name: &mp<tudent+eaders>O Schema (b"ect: &'2F<T@->3TF+>A->1< )heck createrow ()/ remo e ()/ alidate () methods )reate by default entity based iew Ob*ect Name: &mp<tudent+eader>O(O &reate one more eo and vo or $62M):ST/-ENT:T,A2N2N;:-ETA21S Name: &mpTrainin"-etails>O Schema (b"ect: &'2F<T@->3TFT1A&3&3GF->TA&.< )heck createrow() / remo e() / alidate() methods )reate by default entity based iew Ob*ect Name: &mpTrainin"-etails>O(O 3ote? &F you want you can create manual entity based iew Ob*ects. -Add these iew Ob*ects into data model of the Application module(A') A ter success ully creation o eo and vo do the ma##ing or each every ield in the #age @Set Vie! 2nstance and Vie! Attribute5Ma##ing6 #ro#erties or each every item in the #age7 Vie! 2nstance? &mp<tudent+eaders>O(O Vie! Attribute? &mpTrainin"-etails>O(O C*.&01 8$r% '%$r%' 4r*( here AM2 I(8<%,.e0%AM import oracle.*bo.1owO import oracle.apps.fnd.framework.ser er.OA-#TransactionO import oracle.*bo.domain.3umberO public oid create<tudent () U <ystem.out.println(0&3 A' create<tudent0)O &mp<tudent+eaders>O(O&mpl sh(OT"et&mp<tudent+eaders>O(O()O OA-#Transaction tr T "etOA-#Transaction()O if(Vsh(O.is2reparedFor>;ecution()) U

56
Meher Irk: 9866206216

sh(O.e;ecuteMuery()O <ystem.out.println(0&3 A' (O0)O W 1ow rowTsh(O.create1ow()O sh(O.insert1ow(row)O row.set3ew1ow<tate(1ow.<TAT@<F&3&T&A.&S>-)O 3umber student&dTtr."et<equence(alue(0&'2F<T@->3TF&-F<>M0)O sh(O."et)urrent1ow().setAttribute(0<tudent&d0/student&d)O W public oid sa e() U OA-#Transaction tr T "etOA-#Transaction()O tr.commit()O W CO2 I(8<%,.e0%Re1&'%r$%&*0CO import imp.oracle.apps.po.student.ser er.&mp<tudentA'&mplO public oid process1equest(OA2a"e)onte;t pa"e)onte;t/ OAHeb#ean web#ean) U super.process1equest(pa"e)onte;t/ web#ean)O &mp<tudentA'&mpl A'T(&mp<tudentA'&mpl)pa"e)onte;t."etApplication'odule(web#ean)O A'.create<tudent()O W public oid processForm1equest(OA2a"e)onte;t pa"e)onte;t/ OAHeb#ean web#ean) U super. processForm1equest (pa"e)onte;t/ web#ean)O if(pa"e)onte;t."et2arameter(0<a e0)VTnull) U A'.sa e()O W W AM2 I(8<%,.e0%AM public oid createTrainin"s() U &mp<tudentTrainin"s>O(O&mpl st(OT"et&mp<tudentTrainin"s>O(O() O &mp<tudent+eaders>O(O&mpl sh(OT"et&mp<tudent+eaders>O(O()O OA-#Transaction tr T "etOA-#Transaction()O st(O.set'a;Fetch<i:e(8)O 1ow rowTst(O.create1ow()O st(O.first()O st(O.insert1ow(row)O row.set3ew1ow<tate(1ow.<TAT@<F&3&T&A.&S>-)O

52
Meher Irk: 9866206216

3umber trainin"&d T tr."et<equence(alue(0&'2FT1A&3&3GF&-F<>M0)O <trin" student&dTsh(O."et)urrent1ow()."etAttribute(0<tudent&d0).to<trin"()O st(O."et)urrent1ow().setAttribute(0Trainin"&d0/trainin"&d)O st(O."et)urrent1ow().setAttribute(0<tudent&d0/student&d)O W CO2 I(8<%,.e0%Re1&'%r$%&*0CO if(0&mpTrainin"AT130.equals(pa"e)onte;t."et2arameter(<O@1)>F2A1A')) 44 A--F1OH<F>(>3T.equals(pa"e)onte;t."et2arameter(>(>3TF2A1A'))) U A'.createTrainin"s()O W

<,88-&er <e$r5h (E,ery re1&*0)2


<uery region: @sin" query re"ion style we can de elop a search pa"e with out any sin"le line of code/*ust we need to set some properties. Screen shot:

5C
Meher Irk: 9866206216

)reate Muery re"ion in pa"e layout re"ion /ri"ht click to create table usin" wi:ard here select o name as we prepared for the search results. 3ote? prepared simple query no need of any bind params required to pass. e ery thin" will be take care of by query re"ion it self *ust need set some properties. ,ust set below properties for query re"ion? &onstructionMode : 1esult#ased<earch 2nclude sim#le #anel? True 2nclude Vie!s #anel? True 2nclude advance#anel? True <et below properties for endor &d and endor name searchAllo!ed: true After settin" this property both the items a ailable in search criteria and search with same.

<%,.e0% <e$r5h2
The student search pa"e is used to search the student and trainin" details for e;istin" student. Screen shot:

-esi"n the pa"e as shown in the screen shot abo e.

55
Meher Irk: 9866206216

-)reate .O( for <tudent id /First name and .ast name Name: &mp<tudnet.O((O <uery: <elect studentFid/firstFname/lastFname from impFstudnetFheaders -)reate 1eadonly search iew ob*ects Name:&mp<tudent<earch(O <uery : <elect &<+.<T@->3TF&-/&<+.F&1<TF3A'>XXN/NXX&<+..A<TF3A'> F@..F3A'>/initcap(&<+.G>3->1)/ initcap(&<T<.T1A&3&3G)/&<T<.<TA1TF-AT>/&<T<.>3-F-AT> from &'2F<T@->3TF+>A->1< &<+/&'2F<T@->3TFT1A&3&3GF->TA&.< &<T< where &<+.<T@->3TF&-T&<T<.<T@->3TF&-(Y) A3- &<+.<T@->3TF&- .&R> 3(.(?6/&<+.<T@->3TF&-) A3- &<+.F&1<TF3A'> .&R> 3(.(?2/&<+.F&1<TF3A'>) A3- &<+..A<TF3A'> .&R> 3(.(?C/&<+..A<TF3A'>) A3- &<+.G>3->1 .&R> 3(.(?5/&<+.G>3->1) <et the (iew &nstance and (iew Attribute properties for Table re"ion AM2 I(8<%,.e0%AM import oracle.apps.fnd.framework.webui.OA2a"e)onte;tO import oracle.apps.fnd.framework.webui.beans.OAHeb#eanO public oid search<tudent(OA2a"e)onte;t pa"e)onte;t/ OAHeb#ean web#ean) U OA(iewOb*ect&mpl s(OT"et&mp<tudent<earch(O()O <trin" <trin" <trin" <trin" <trin" student&dTnew <trin"()O first3ameTnew <trin"()O last3ameTnew <trin"()O "enderTnew <trin"()O fla"T030O

if(pa"e)onte;t."et2arameter(0<tudent&d0)VTnull 44 Vpa"e)onte;t."et2arameter(0<tudent&d0).equals(00)) U student&dT pa"e)onte;t."et2arameter(0<tudent&d0)O s(O.setHhere)lause2aram(8/student&d)O fla"T0=0O W else U s(O.setHhere)lause2aram(8/null)O W if(pa"e)onte;t."et2arameter(0First3ame0)VTnull

5J
Meher Irk: 9866206216

44 Vpa"e)onte;t."et2arameter(0First3ame0).equals(00)) U first3ameT pa"e)onte;t."et2arameter(0First3ame0)O s(O.setHhere)lause2aram(6/first3ame)O fla"T0=0O W else U s(O.setHhere)lause2aram(6/null)O W if(pa"e)onte;t."et2arameter(0.ast3ame0)VTnull 44 Vpa"e)onte;t."et2arameter(0.ast3ame0).equals(00)) U last3ameT pa"e)onte;t."et2arameter(0.ast3ame0)O s(O.setHhere)lause2aram(2/last3ame)O fla"T0=0O W else U s(O.setHhere)lause2aram(2/null)O W if(pa"e)onte;t."et2arameter(0Gender0)VTnull 44 Vpa"e)onte;t."et2arameter(0Gender0).equals(00)) U "enderT pa"e)onte;t."et2arameter(0Gender0)O s(O.setHhere)lause2aram(C/"ender)O fla"T0=0O W else U s(O.setHhere)lause2aram(C/null)O W if(0=0.equals(fla")) U s(O.e;ecuteMuery()O W W CO2 I(8<%,.e0%Re1&'%r$%&*0CO import imp.oracle.apps.po.student.fourth.ser er.&mp<tudentA'&mplO public oid processForm1equest(OA2a"e)onte;t pa"e)onte;t/ OAHeb#ean web#ean) U super.processForm1equest(pa"e)onte;t/ web#ean)O &mp<tudentA'&mpl A'T(&mp<tudentA'&mpl)pa"e)onte;t."etApplication'odule(web#ean)O if(pa"e)onte;t."et2arameter(0Go0)VTnull)

5$
Meher Irk: 9866206216

U A'.search<tudent(pa"e)onte;t/web#ean)O W if(pa"e)onte;t."et2arameter(0)lear0)VTnull) U pa"e)onte;t.forward&mmediatelyTo)urrent2a"e(null/false/null)O W

<%,.e0% #8.$%e $0. Tr$&0&01 #8.$%e2


The student update pa"e is used to update the student details and trainin" details or add the trainin" details for e;istin" student. Screen shot:

<et below properties for edit ima"e Action Ty#e? fireAction Event ? update <PEL (<&(8-e P*''&9-e E:8re''&*0 L$01,$1e) -@sin" spel we can "et the row reference alue. -<2>. is the basic foundation of 221 in OAF. -<2>. is an e;pression that will either return T1@> or F.A<>. -Filed will be displayed if <2>. equates to T1@>.

57
Meher Irk: 9866206216

-Filed will not be displayed if <2>. equates to FA.<>. -.etKs say you wish to hide fieldKs <pouse and )hildren based on marital status selected dynamically. &n order to hide these fields/ you can simply set the ,endered property of that field to FA.<> Pr*8er%&e' %h$% 5$0 9e (*.&4&e. $% r,0 %&(e (#'&01 <PEL) ,endered: To conditionally make a filed in OAF displayed. ,ead(nly: To conditionally make a enterable or non-enterable. ,eAuired: To conditionally make a field mandatory or non-mandatory. -isabled: To conditionally make a field disable or enable. <y0%$: *4 %he <PEL2 ZUoa.(iew&nstance.Attribute3ameW

2repare <2>. for student id ZUoa.&mp<tudnet<earch(O.<tudnet&dW <et in below property for edit P$r$(e%er'2 )arameter : p<tudent&d Value : ZUoa.&mp<tudnet<earch(O.<tudnet&dW CO2 I(8<%,.e0%<e$r5hCO2 import oracle.apps.fnd.framework.webui.OAHeb#ean)onstantsO if(0update0.equals(pa"e)onte;t."et2arameter(>(>3TF2A1A'))) U pa"e)onte;t.setForward@1.(0OA.*spP pa"eT!imp!oracle!apps!po!student!fourth!webui!&mp<tudent1e"istration2G0/ null/ OAHeb#ean)onstants.R>>2F'>3@F)O3T>DT/ null/ null/ true/ !! 1etain A' OAHeb#ean)onstants.A--F#1>A-F)1@'#F3O/ !! -o not display breadcrumbs OAHeb#ean)onstants.&G3O1>F'><<AG><)O W AM2 I(8<%,.e0%AM public oid update<tudent(<trin" student&d) U &mp<tudent+eaders>O(O&mpl sh(OT"et&mp<tudent+eaders>O(O()O &mp<tudentTrainin"s>O(O&mpl st(OT"et&mp<tudentTrainin"s>O(O() O <trin" whereT0<T@->3TF&-T0Ystudent&dO sh(O.setHhere)lause2arams(null)O sh(O.setHhere)lause(where)O sh(O.e;ecuteMuery()O

59
Meher Irk: 9866206216

st(O.setHhere)lause2arams(null)O st(O.setHhere)lause(where)O st(O.e;ecuteMuery()O W

<5ree0 'h*% 2

5%
Meher Irk: 9866206216

J8
Meher Irk: 9866206216

<%,.e0% "e-e%e $0. Tr$&0&01 "e-e%e2


The <tudent delete pa"e is used to delete the e;istin" student and trainin" details. Screen shot:

<et below properties for delete ima"e Action Ty#e: fireAction Event : delete P$r$(e%er' 2 Name: p<tudent&d Value: ZUoa.&mp<tudnet<earch(O.<tudent&dW OA"$&-*1 8$1e2 The daio" pa"e is used to display the confirmation /information or errors messa"es .here we donKt need to create dialo"ue pa"e from the scratch it is already created by oracle corporation *ust we need set some properties .

J6
Meher Irk: 9866206216

<5ree0 'h*%

CO2 I(8<%,.e0%<e$r5hCO2 import *a a.util.+ashtableO import oracle.apps.fnd.framework.OA>;ceptionO import oracle.apps.fnd.framework.webui.OA-ialo"2a"eO if(0delete0.equals(pa"e)onte;t."et2arameter(>(>3TF2A1A'))) U <trin" student&d T pa"e)onte;t."et2arameter(0p<tudent&d0)O oracle.apps.fnd.common.'essa"eToken tokensAB T nullO OA>;ception delete'essa"e T new OA>;ception(02O0/ 0&'2F<T@->3TF->.>T>0/ tokens)O OA-ialo"2a"e dialo"2a"e T new OA-ialo"2a"e((byte)6/ delete'essa"e/ null/ 00/ 00)O dialo"2a"e.setOk#uttonTo2ost(true)O dialo"2a"e.set3o#uttonTo2ost(true)O dialo"2a"e.setOk#utton&tem3ame(0-elete=es0)O dialo"2a"e.set2ostTo)allin"2a"e(true)O dialo"2a"e.setOk#utton.abel(0=es0)O dialo"2a"e.set3o#utton.abel(03o0)O +ashtable form2arams T new +ashtable(8)O form2arams.put(0p<tudent&d0/ student&d)O dialo"2a"e.setForm2arameters(form2arams)O pa"e)onte;t.redirectTo-ialo"2a"e(dialo"2a"e)O W if(pa"e)onte;t."et2arameter(0-elete=es0)VTnull) U <trin" student&dTpa"e)onte;t."et2arameter(0p<tudent&d0)O A'.delete<tudent(student&d)O W AM2 I(8<%,.e0%AM import oracle.*bo.1ow<et&teratorO public oid delete<tudent(<trin" student&d)

J2
Meher Irk: 9866206216

U int student&dTo-elete T &nte"er.parse&nt(student&d)O OA-#Transaction tr T "etOA-#Transaction()O &mp<tudent+eaders>O(O&mpl sh(OT"et&mp<tudent+eaders>O(O()O &mp<tudent+eaders>O(O1ow&mpl row T nullO int 1ow)ount T sh(O."et1ow)ount()O 1ow<et&terator delete&ter T sh(O.create1ow<et&terator(0delete&ter0)O delete&ter.set1an"e<tart(8)O delete&ter.set1an"e<i:e(1ow)ount)O for(int iT8OiL1ow)ountOiYY) U row T (&mp<tudent+eaders>O(O1ow&mpl)delete&ter."et1owAt1an"e&nde;(i)O 3umber n<tudent&d T (3umber)row."etAttribute(0<tudent&d0)O if(n<tudent&d.compareTo(student&dTo-elete) TT 8) U row.remo e()O tr.commit()O breakO W W delete&ter.close1ow<et&terator()O W <5ree0 'h*% 2

<et below properties for delete ima"e Action Ty#e: fireAction Event : delete P$r$(e%er' 2 Name: pTrainin"&d Value: ZUoa.&mp<tudnet<earch(O.Trainin"&dW AM2 I(8<%,.e0%AM

JC
Meher Irk: 9866206216

public oid deleteTrainin"(<trin" trainin"&d) U <ystem.out.println(0&3 A' <2>.3?0Ytrainin"&d)O int trainin"&dTo-elete T &nte"er.parse&nt(trainin"&d)O OA-#Transaction tr T "etOA-#Transaction()O &mp<tudentTrainin"s>O(O&mpl st(OT"et&mp<tudentTrainin"s>O(O() O &mp<tudentTrainin"s>O(O1ow&mpl row T nullO int 1ow)ount T st(O."et1ow)ount()O 1ow<et&terator delete&ter T st(O.create1ow<et&terator(0delete&ter0)O delete&ter.set1an"e<tart(8)O delete&ter.set1an"e<i:e(1ow)ount)O for(int iT8OiL1ow)ountOiYY) U row T (&mp<tudentTrainin"s>O(O1ow&mpl)delete&ter."et1owAt1an"e&nde;(i)O <ystem.out.println(0&3 FO1 .OO2??0Yi)O 3umber nTrainin"&d T (3umber)row."etAttribute(0Trainin"&d0)O <ystem.out.println(0&3 FO1 .OO2??0YnTrainin"&d)O if(nTrainin"&d.compareTo(trainin"&dTo-elete) TT 8) U <ystem.out.println(0if -elete trainin"0)O row.remo e()O breakO W W delete&ter.close1ow<et&terator()O W CO2 I(8<%,.e0%Re1&'%r$%&*0CO2 <trin" trainin"&dTnew <trin" ()O if(0delete0.equals(pa"e)onte;t."et2arameter(>(>3TF2A1A'))) U if(pa"e)onte;t."et2arameter(0pTrainin"&d0)VTnull) U trainin"&dTpa"e)onte;t."et2arameter(0pTrainin"&d0)O A'.deleteTrainin"(trainin"&d)O W W

<%,.e0% /&e) .e%$&-'2


The student details pa"e is used iew the details of the student and trainin" details for e;istin" student. This pa"e has only the read-only access /user cant do any editin" in this pa"e. <5ree0'h*%2

J5
Meher Irk: 9866206216

->nable the Action of iew details ima"e in search pa"e. <et below properties for details ima"e Action Ty#e: fireAction Event : details P$r$(e%er' 2 Name: p<tudent&d Value: ZUoa.&mp<tudnet<earch(O.<tudent&dW <5ree0 'h*% 2

JJ
Meher Irk: 9866206216

-esi"n the pa"e as shown in the screen shot

I(8<%,.e0%3e$.er"e%$&-'=O2 E,ery2 <>.>)T <T@->3TF&-/ F&1<TF3A'>/ .A<TF3A'>/ -AT>FOFF1>G&<T1AT&O3/ 'O#&.>F3O/ >'A&. / G>3->1 / T>1'<F)O3-&T&O3</

J$
Meher Irk: 9866206216

#MF)O@1<>F3A'> / #MF<2>)&A.&SAT&O3/ #MF@3&(>1<&T= / #MFG1A-@AT>F&3 / 2GF)O@1<>F3A'> / 2GF<2>)&A.&SAT&O3 / 2GF@3&(>1<&T= / 2GFG1A-@AT>F&3 / FAT+>1F3A'> / 'OT+>1F3A'> / -AT>FOFF#&1T+ / 'A1T&A.F<TAT@</ <2O@<>F3A'>/ )+&.-1>3/ A--1><</ <TAT> / )O@3T1=/ A#O@TF=O@1<>.F F1O' &'2F<T@->3TF+>A->1< H+>1> <T@->3TF&-T?6 I(8Tr$&0&01"e%$&-'=O2 E,ery2 <>.>)T T1A&3&3GF&-/ <T@->3TF&- / T1A&3&3G / T1A&3&3GF#AT)+/ <TA1TF-AT> / >3-F-AT> / F>> F1O' &'2F<T@->3TFT1A&3&3GF->TA&.< H+>1> <T@->3TF&-T?6

CO2 I(8<%,.e0%<e$r5hCO2 if(0details0.equals(pa"e)onte;t."et2arameter(>(>3TF2A1A'))) U pa"e)onte;t.setForward@1.(0OA.*spP pa"eT!imp!oracle!apps!po!student!fourth!webui!&mp<tudent-etails2G0/ null/ OAHeb#ean)onstants.R>>2F'>3@F)O3T>DT/ null/ null/ true/ !! 1etain A' OAHeb#ean)onstants.A--F#1>A-F)1@'#F3O/ !! -o not display breadcrumbs

J7
Meher Irk: 9866206216

OAHeb#ean)onstants.&G3O1>F'><<AG><)O W AM2 I(8<%,.e0%AM public oid student-etails(<trin" student&d) U &mp<tudent+eader-etails(O&mpl s(OT"et&mp<tudent+eader-etails(O()O OA(iewOb*ect&mpl t(OT"et&mpTrainin"-etails(O()O s(O.setHhere)lause2aram(8/student&d)O t(O.setHhere)lause2aram(8/student&d)O s(O.e;ecuteMuery()O t(O.e;ecuteMuery()O W

CO2 I(8<%,.e0%"e%$&-'CO import imp.oracle.apps.po.student.fourth.ser er.&mp<tudentA'&mplO public oid process1equest(OA2a"e)onte;t pa"e)onte;t/ OAHeb#ean web#ean) U super.process1equest(pa"e)onte;t/ web#ean)O &mp<tudentA'&mpl A'T(&mp<tudentA'&mpl)pa"e)onte;t."etApplication'odule(web#ean)O if(pa"e)onte;t."et2arameter(0p<tudent&d0)VTnull) U <trin" student&dTpa"e)onte;t."et2arameter(0p<tudent&d0)O A'.student-etails(student&d)O W W

PPR (P$r%&$- P$1e Re0.er&01)


<5ree0 'h*%2

Why PPR+

J9
Meher Irk: 9866206216

-221 is used to chan"e the contents of the pa"e dynamically/ if certain e ent takes place. Wh$% &' PPR+ -#y usin" 221 the entire pa"e is not refreshed. -Only the chan"ed portion of the web pa"e be re-drawn -This reduces the network traffic. <PEL (<&(8-e P*''&9-e E:8re''&*0 L$01,$1e) -<2>. is the basic foundation of 221 in OAF. -<2>. is an e;pression that will either return T1@> or F.A<>. -Filed will be displayed if <2>. equates to T1@>. -Filed will not be displayed if <2>. equates to FA.<>. -.etKs say you wish to hide fieldKs <pouse and )hildren based on marital status selected dynamically. &n order to hide these fields/ you can simply set the ,endered property of that field to FA.<> Pr*8er%&e' %h$% 5$0 9e (*.&4&e. $% r,0 %&(e (#'&01 <PEL) ,endered: To conditionally make a filed in OAF displayed. ,ead(nly: To conditionally make a enterable or non-enterable. ,eAuired: To conditionally make a field mandatory or non-mandatory. -isabled: To conditionally make a field disable or enable. <y0%$: *4 %he <PEL2 ZUoa.(iewOb*ect3ame.TransientAttributeW <%e8'2 -)reate table -)reate >O and (o for that table. -)reate a row A9*/e 3 '%e8' )e h$/e $-re$.y .*0e. - Field 'arital <tatus set below properties A5%&*02 Fire2artialAction E/e0% 2 <tatus -)reate one transient attribute N$(e2 <tatusTr Ty8e2 #oolean #8.$%$9-e2 Always -Pre8$re <PEL 'y0%$: ZUoa.imp<tudent+eaders(o.<tatusTrW -Fields <pouse and children set below property with <2>. -isabled: ZUoa.imp<tudent+eaders(o.<tatusTrW

J%
Meher Irk: 9866206216

221 setup has been done /now codin" part starts. AM2 I(8<%,.e0%AM public oid status221(<trin" status) U <tudent+eaders>O(O&mpl o T "et<tudent+eaders>O(O()O if(['A11&>-\.equals(status)) U row.setAttribute(0<tatusTr0/ #oolean.FA.<>)O W else U row.setAttribute(0<tatusTr0/ #oolean.T1@>)O W W CO2 I(8<%,.e0%Re1&'%r$%&*0CO if(0status0.equals(pa"e)onte;t."et2arameter(>(>3TF2A1A'))) U if(pa"e)ontest."et2arameter(['arital<tatus\)VTnull) U <trin" statusT pa"e)ontest."et2arameter(['arital<tatus\)O A'. status221 ()O W

"e8e0.e0% LO=2
-)reate .O( for )ountry &mp)ountry.O((O query select countryFcode/name from 2AF)O@3T1=F( -)reate .O( for <tate &mp<tate.O((O query select meanin"/description/ta" from fndFlookupF alues where lookupFtypeTN&'2F<TAT><N &n both queries countryFcode and ta" is the common column. 5*,0%ryF5*.eH%$1 @ser has to select alue in <upplier.o first then only user can select alue in <upplier<ite.o . &f user will try to select alue in <upplier<ite.o without selectin" any alue in <upplier.o then error messa"e will come like After successfully creation two lo Ks create forms alue items

$8
Meher Irk: 9866206216

Name? )ountryF Ty#e? form(alue -&ountry item: 6st.o 'appin"properties? 1(V ,egion item2 3ame ,eturnto: )ountry &riteria item: )ountry )reate one more lo mappin" for country i.e. special lo mappin" and set below properties. 1(V ,egion item2 )ountryFcode ,eturnto: )ountryF +ere we are "ettin" the )ountryFcode alue and returnin" to )ountryF i.e form alue. -States item: 6st.o 'appin"properties? 1(V ,egion item2 'eanin" ,eturn to: <tate &riteria item: <tate )reate one more lo mappin" for states i.e. special lo mappin" and set below properties. 1(V ,egion item2 ta" &riteria item: )ountryF +ere )ountryF holds the countryFcode alue selected in country field and we are searchin" with same countryFcode alue in <tate .O(.

"e8e0.e0% P&5k L&'%2


6))reate picklist for +<&ourseName 2m#+<&ourseNameV( Auery? select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@F#MF)O@1<>NO 2))reate picklist for +<S#eiali.ation 2m#+<S#eciali.ation Auery : select lookupFcode/meanin" from F3-F.OOR@2F(A.@>< where .OOR@2FT=2> T N&'2F.@F#MF<2>)&A.&SAT&O3NO 3ow user wants to filter speciali:ation alues based on course selection at runtime dynamically/ He can achi e the same by dependent pick list .

$6
Meher Irk: 9866206216

<%e8'2 -<et #M)ourse3ame below properties? Action? fire2artialAction Event ? #M)ourse> ent -Get the abo e fire2artialAction in processForm1equest method of the co and filter the speciali:ation o based on the alue selected in #M)ourse3ame AM2 I(8<%,.e0%AM2 2ublic oid alidate#M<peciali:ation(<trin" bq)ourse3ame) U OA(iewOb*ect&mpl bq(OT"et&mp#M<peicali:ation(O() O <trin" whereT0TAGTN0Ybq)ourse3ameY0N0O bq(O.setHhere)lause2arams(null)O bq(O.setHhere)lause(where)O bq(O.e;ecuteMuery()O W public oid alidate2G<peciali:ation (<trin" p")ourse) U OA(iewOb*ect&mpl p"(OT "et&mp2G<peciali:ation(O()O <trin" whereT0TAGTN0Yp")ourseY0N0O p"(O.setHhere)lause2arams(null)O p"(O.setHhere)lause(where)O p"(O.e;ecuteMuery()O W CO2 I(8<%,.e0%Re1&'%r$%&*0CO2 <trin" bq)ourse3ameTnew <trin"()O if([#M)ourse> ent\.equals(pa"e)ontest."et2arameter(>(>3TF2A1A')) U &f(pa"e)ontest."et2arameter([#M<peciali:ation\)VTnull) U <trin" bq)ourse3ameT pa"e)ontest."et2arameter([#M<peciali:ation\)O A'. alidate#M<peciali:ation (bq)ourse3ame)O W W if(02G)ourse> ent0.equals(pa"e)onte;t."et2arameter(>(>3TF2A1A'))) U if(pa"e)onte;t."et2arameter(02G)ourse3ame0)VTnull) U <trin" p")ourseTpa"e)onte;t."et2arameter(02G)ourse3ame0)O A'. alidate2G<peciali:ation (p")ourse)O W W

$2
Meher Irk: 9866206216

=$-&.$%&*0' $0. C$'e'2


6) First 3ame/ .ast 3ame/ 'obile no/ O1 and Gender is mandatory. 2) -O1 should be equals to the current date C) 'obile no should be equals to 68 di"its 5) <tudent should not be delete if user e;ist in trainin" J) &3 update First3ame/ .ast3ame/ -O1 and Gender should be in read-only mode. $) & A"ree T3) is required. 7) Tip messa"es. 9) 2a"e title should be chan"e in update mode. %) Trainin" end date should be "reater than Trainin" start date. 68)Trainin" start date should be "reater than or equals to the -O1. 66)&n >mployee creation empno should not be duplicate.

"e8-*y(e0% <%e8'2
6) )opy the )lass files and mo e to into ser er He can "et class file EEF?IOAFI*de homeI*de ImyclassesIimp Imypro*ects (imp) .oad into ser er (*a a TO2) EE-?IoracleI iscomnI*a aI 2) 1un the D'. import <cripts in )ommand 2rompt EEEF?IOAFI*de binI*de Ibin For e ery 2a"e and e ery .o re"ion 2m#Student,esitration);: import -?IOAFI*de homeI*de Imypro*ectsIimpIoracleIappsIpoIstudentIfourthIwebuiI&mp<tudent1e"is tration2G.;ml -username apps -password apps -rootdir -?IOAFI*de homeI*de Imypro*ectsI -dbconnection 0(-><)1&2T&O3T(A--1><<T(21OTO)O.Ttcp)(+O<TTA22<.ora.com) (2O1TT6J26))()O33>)TF-ATAT(<&-T(&<)))0 2m#StudentSearch);: import -?IOAFI*de homeI*de Imypro*ectsIimpIoracleIappsIpoIstudentIfourthIwebuiI&mp<tudent<earc h2G.;ml -username apps -password apps -rootdir -?IOAFI*de homeI*de Imypro*ectsI -dbconnection 0(-><)1&2T&O3T(A--1><<T(21OTO)O.Ttcp)(+O<TTA22<.ora.com) (2O1TT6J26))()O33>)TF-ATAT(<&-T(&<)))0 2m#Student-etails);: import -?IOAFI*de homeI*de Imypro*ectsIimpIoracleIappsIpoIstudentIfourthIwebuiI&mp<tudent-etail s2G.;ml -username apps -password apps -rootdir -?IOAFI*de homeI*de Imypro*ectsI -dbconnection 0(-><)1&2T&O3T(A--1><<T(21OTO)O.Ttcp)(+O<TTA22<.ora.com) (2O1TT6J26))()O33>)TF-ATAT(<&-T(&<)))0 2m#&ountry1(V,N: import -?IOAFI*de homeI*de Imypro*ectsIimpIoracleIappsIpoIstudentIfourthIlo IwebuiI&mp)ountry. O(13.;ml -username apps -password apps -rootdir -?IOAFI*de homeI*de Imypro*ectsI -dbconnection 0(-><)1&2T&O3T(A--1><<T(21OTO)O.Ttcp)(+O<TTA22<.ora.com) (2O1TT6J26))()O33>)TF-ATAT(<&-T(&<)))0

$C
Meher Irk: 9866206216

2m#State1(V,N: import -?IOAFI*de homeI*de Imypro*ectsIimpIoracleIappsIpoIstudentIfourthIlo IwebuiI&mp<tates.O (13.;ml -username apps -password apps -rootdir -?IOAFI*de homeI*de Imypro*ectsI -dbconnection 0(-><)1&2T&O3T(A--1><<T(21OTO)O.Ttcp)(+O<TTA22<.ora.com) (2O1TT6J26))()O33>)TF-ATAT(<&-T(&<)))0 2m#Student1(V,N: import -?IOAFI*de homeI*de Imypro*ectsIimpIoracleIappsIpoIstudentIfourthIlo IwebuiI&mp<tudent. O(13.;ml -username apps -password apps -rootdir -?IOAFI*de homeI*de Imypro*ectsI -dbconnection 0(-><)1&2T&O3T(A--1><<T(21OTO)O.Ttcp)(+O<TTA22<.ora.com) (2O1TT6J26))()O33>)TF-ATAT(<&-T(&<)))0 C) 3e;t Go to apps <ystem administrator )reate Function for a pa"e "e'5r&8%&*0 %$92 Function Name ? &'2F<T@->3TF1>G&<T1AT&O3 /ser Function Name? &mp <tudent 1e"istration -escri#tion ? &mp <tudent 1e"istration Pr*8er%&e' T$92 Type? <<WA 6<P 4,05%&*0 We93TML T$9 Function? 0TM1 call? OA.*spPpa"eT!imp!oracle!apps!po!student!webui!&mp<tudent1esitration2G 3ote? -O the same for all the pa"es 5) Attach these Functions to 2m# Student (#erations menu to 2m# Student (#erations responsibility to /ser. J) #ounce the apache.

E(8-*yee Cre$%&*0 (,'&01 P--<;- )2


The pa"e is used to create the employee/ here we were creatin" employee usin" pl-sql packa"e or procedure and alidatin" the employee usin" sql query. &n this pa"e we "et know how to call #l-sAl packa"es and sAl queries in OAF. Oracle pro ided two classes for us to achie e the same &allable statements and )re#are Statements &allable statements is used to call t$e pl/s0l packages in OA1 )re#ared Statements is used to call S- 0ueries 2(unctions3 in OA1 <5ree0 'h*%2

$5
Meher Irk: 9866206216

E(8 T$9-e2 )1>AT> TA#.> &'2F>'2(empno 3@'#>1(5) 21&'A1= R>=/ ename (A1)+A12(68 #=T>)/ *ob (A1)+A12(% #=T>)/ m"r 3@'#>1(5)/ sal 3@'#>1(7/2)/ deptno 3@'#>1(2)/ comm 3@'#>1(2)/ creationFdate -AT>/ createdFby 3@'#>1(6J)/ lastFupdateFdate -AT> 3OT 3@../ lastFupdatedFby 3@'#>1(6J) 3OT 3@..) Pr*5e.,re2 )1>AT> O1 1>2.A)> 21O)>-@1> &'2F)1>AT>F>'2.O=>( pFempno 3@'#>1 /pFename (A1)+A1 /pF*ob (A1)+A1 /pFm"r 3@'#>1 /pFsal 3@'#>1 /pFdeptno 3@'#>1 /pFcomm 3@'#>1 /pFempFid O@T 3@'#>1 ) A< #>G&3 #>G&3 fndF"lobal.appsFinitiali:e(fndF"lobal.userFid /fndF"lobal.respFid /fndF"lobal.respFapplFid )O >3-O <>.>)T empFseq.3>DT(A. &3TO pFempFid

$J
Meher Irk: 9866206216

F1O' -@A.O &3<>1T &3TO &'2F>'2 (empno /ename /*ob /m"r /sal /deptno /comm /creationFdate /createdFby /lastFupdateFdate /lastFupdatedFby ) (A.@>< (pFempno /pFename /pF*ob /pFm"r /pFsal /pFdeptno /pFcomm /<=<-AT> /fndF"lobal.userFid /<=<-AT> /fndF"lobal.userFid )O )O''&TO >D)>2T&O3 H+>3 OT+>1< T+>3 fndFfile.putFline(fndFfile..OG/ N>;ception at insertin"N XX <M.>11')O >3-O CO2 I(8E(8-*yeeCre$%&*02 public oid processForm1equest(OA2a"e)onte;t pa"e)onte;t/ OAHeb#ean web#ean) U super.processForm1equest(pa"e)onte;t/ web#ean)O &mp<tudentA'&mpl A' T (&mp<tudentA'&mpl)pa"e)onte;t."etApplication'odule(web#ean)O <trin" numberTnew <trin"()O <trin" salaryTnew <trin"()O if(pa"e)onte;t."et2arameter(0<a e0) VT null) U /IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII I Pre8$re. I IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII/ int countT8O <trin" empnoTpa"e)onte;t."et2arameter(0>'23umber0)O

$$
Meher Irk: 9866206216

try U 2repared<tatement prpd<tmt6 T A'."etOA-#Transaction()."et,dbc)onnection().prepare<tatement(0select count(empno) from &'2F>'2 where empnoTN0YempnoY0N 0)O 1esult<et rsTprpd<tmt6.e;ecuteMuery()O !!)ursor fetch row while(rs.ne;t()) U countTrs."et&nt(6)O W if(count E8) U throw new OA>;ception(0>mployee already e;ist.0/ OA>;ception.>11O1)O W else U <ystem.out.printline([>mployee number not e;ist.\)O W W catch(>;ception e) U throw new OA>;ception(0>mployee already e;ist.0/ OA>;ception.>11O1)O W BCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC C C$--$9-e C CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCB <trin" seqTnew <trin"()O try U )allable<tatement cs T A'."etOA-#Transaction()."et,dbc)onnection().prepare)all(0Ucall &'2F)1>AT>F>'2.O=>(P/P/P/P/P/P/P/P)W0)O numberTpa"e)onte;t."et2arameter(0>'23umber0).to<trin"()O int e3umberT&nte"er.parse&nt(number)O cs.set&nt(6/e3umber)O <trin" nameTpa"e)onte;t."et2arameter(0>'23ame0).to<trin"()O cs.set<trin"(2/name)O <trin" *obTpa"e)onte;t."et2arameter(0,ob0).to<trin"()O cs.set<trin"(C/*ob)O <trin" mana"erTpa"e)onte;t."et2arameter(0'ana"er0).to<trin"()O int e'ana"erT&nte"er.parse&nt(mana"er)O cs.set&nt(5/e'ana"er)O salaryTpa"e)onte;t."et2arameter(0<alary0).to<trin"()O int e<alaryT&nte"er.parse&nt(salary)O

$7
Meher Irk: 9866206216

cs.set&nt(J/e<alary)O <trin" dept3oTpa"e)onte;t."et2arameter(0-ept3o0).to<trin"()O int e-eptnoT&nte"er.parse&nt(dept3o)O cs.set&nt($/e-eptno)O if(pa"e)onte;t."et2arameter(0)ommission0)VTnull 44 Vpa"e)onte;t."et2arameter(0)ommission0).equals(00)) U <trin" commisionTpa"e)onte;t."et2arameter(0)ommission0).to<trin"()O int ecommisionT&nte"er.parse&nt(commision)O cs.set&nt(7/ecommision)O W else cs.set&nt(7/8)O cs.re"isterOut2arameter (9/ Types.&3T>G>1)O cs.e;ecute()O seqTcs."et<trin"(9)O OA'essa"eTe;t&nput#ean internal&dT(OA'essa"eTe;t&nput#ean)web#ean.find&nde;ed)hild1ecursi e(0&nternal&d0)O internal&d.set(alue (pa"e)onte;t/ seq)O cs.close()O A'."etOA-#Transaction().commit()O throw new OA>;ception(0>mployee )reated sucessfully.0/ OA>;ception.)O3F&1'AT&O3)O W catch(>;ception e) U <ystem.out.println(0)atch??0Ye."et'essa"e())O throw new OA>;ception(e."et'essa"e()/ OA>;ception.)O3F&1'AT&O3)O W W W

Per'*0$-&7$%&*02
To chan"e .ook and feel of seeded oracle self-ser ice pa"e/ we need to follow the process called personali:ation. >.". you may want to add a new field or chan"e label of any field etc. &nitially we need to enable the 2ersonali:ation link in oracle apps instance/ use profile called )ersonali.ation Sel service de inition profile to enable personali:ation link. The same we can set profile options user/ responsibility and site le el. once we set this profile to yes then 2ersonali:ation link appears. -Add e;tra field in a re"ion or .O(. )an be done only at <ite le el --isplay ! +ide a field!re"ion in a pa"e -'ake a field read-only --isplay ! +ide -FF in a re"ion. =ou can also specify default editable! iewable -FF conte;ts -)onditionally display!hide fields. 3eed to know <2>. (e;pression lan"ua"e) for this . Per'*0$-&7$%&*0 Le/e-'2 <ite? @sually set for addin" field!re"ion item which can be done only at site le el. Or"ani:ation? refers to operatin" unit

$9
Meher Irk: 9866206216

1esponsibility? refers to responsibility Function? &f you define same OA pa"e as two different menu functions then you can personali:e both differently 2ersonali:ationKs can be enabled at the function/ site/ operatin" unit or responsibility le el. 2ersonali:ationKs at lower le els o erride personali:ationKs at hi"her le els. (alues inherit the definition from the le el immediately abo e unless chan"ed. F,05%&*0$- $.(&0&'%r$%*r re'8*0'&9&-&%y usin" this we can mo e the personali:ationKs from instance to other instance.

$%
Meher Irk: 9866206216

C,'%*(&7$%&*02
To modify e;istin" business lo"ic or to add new business lo"ic to seeded oracle self-ser ice pa"e/ we need to follow process called customi:ation. @nder this we ha e 5 processes? 6. )O >;tension 2. (O >;tension C. >O >;tension 5. A' >;tension

CO E:%e0'&*02
&n seeded if you we need to chan"e the business functionality will "ot for e;tension of co. <%e8'2 Get the e;act requirement from client and decide whether we need of co e;tension or o e;tension. +ow can you know whether its required need of co or o e;tension.. --&f any chan"es required in codin" will "o for co e;tension to full the requirement. --&f any chan"e required in query of o will "o for o e;tension to full fill the requirement. --Open the seeded the pa"e that is you want to do the e;tension

78
Meher Irk: 9866206216

--)lick on about this pa"e link/ here you can see all #)5, components of the pa"e. find out the co name and full path and download it from ser er. &nclude those directories in your 2ro*ect )lass path in ,de lp.

<et profile option FN"2 "&$10*'%&5': Je' to enable the About this pa"e --)omes to ,--e eloper --)reate OAHorkspace and OA2ro*ect &mp>;tendHorkspace and &mp>;tend2ro*ect -1i"ht click on pro*ect create new class Name: &mp<tarndard)O )ac9age: imp.oracle.apps.po.req.webui E'tends: <tandard )O (<elect the seeded co/ that is we recently downloaded) --)lick on ok/ its creates new controller it e;tend the seeded co. public class &mp<tandard)O e;tends <tandard)O U public oid process1equest(OA2a"e)onte;t pa"e)onte;t/ OAHeb#ean web#ean) U super.process1equest(pa"e)onte;t/ web#ean)O W W --write the code to full fill the requirement. --After successfully compilation of co "oes to my classes and transfer to *a a (imp) >nsure that personali:ation is turned on for your username. This can be done by settin" profile 02ersonali:e <elf-<er ice -efn0 to =es --)lick on 2ersonali:e 2a"e link on ri"ht handside top corner. --<elect 0)omplete (iew0 and 0>;pand All0 Option in personali:ation pa"e. --+ere try to find the e;act re"ion(the re"ion contains the seeded co) where you want add co and "i e the full path of )ustom co and click on apply to sa e the chan"es. *hy is the &ontroller e'tension unsa e3 T)* re$'*0'2)oint 1. &f in your e;tended )O class/ you write a method named process1equest/ then framework will e;ecute this method in your custom class. Framework will not e;ecute the method in ori"inal controller class. )oint $7 &n Oracle Fusion Applications/ the @ser &nterface layer will certainly chan"e/ and controller may not e;ist in F@<&O3 in same manner as we see it now. +ence you may ha e to re-de elop!desi"n your e;tension to controller in equi alent technolo"y in Fusion Apps AA-F with FacesB. Hhat can we do to make the controller e;tension safeP Hhilst we canNt do much about the 02oint 20/ but we can certainly play safe on 02oint 60.

76
Meher Irk: 9866206216

&f in your e;tended controller/ you call super () method/ then there is a possibility that your e;tension is safe.

=O E:%e0'&*02
&n seeded if you we need to chan"e !add new business functionality will "ot for e;tension of o. <%e8'2 Get the e;act requirement from the client and decide whether we need of co e;tension or o e;tension. +ow can you know whether its required need of co or o e;tension.. --&f any chan"es required in codin" will "o for co e;tension to full the requirement. --&f any chan"e required in query of o will "o for o e;tension to full fill the requirement. --Open the seeded the pa"e that is you want to do the e;tension --)lick on About this pa"e link/ here you can see all the #)5, components of the pa"e. Try find out the o name and full path that you want e;tend and download it from ser er. <et profile option FN"2 "&$10*'%&5': Je' to enable the About this pa"e --download all related o files .;ml/ .&mpl/ .1ow&mpl files. &nclude those directories in your 2ro*ect )lass path in *-e --)omes to ,--e eloper --)reate OAHorkspace and OA2ro*ect &mp>;tendHorkspace and &mp>;tend2ro*ect --)reate new #)5, component same as the seeded #)5* but it should be in custom top. Name : <tandard(O )ac9age? imp.oracle.apps.po.req.ser er E'tends ? &mp<tandard)O (<elect the seeded o/ that is we recently downloaded) --)lick on ne;t button/ here "i e the modified query and test it. --After successfully compilation of it will creates new .;ml/&mpl/1ow&mpl files. --1i"ht click on .*p; to do the substitution --A ailable window select seeded o and <ubstitute window select the custom(O and click on add and ok button. --'o e these files to *a a top into the ser er (imp top!custom top) -- &mport the substitution definition usin" *p; /run the *p; import command to update in '-< repository. --Then bounce apache. --Open the seeded pa"e click on 2ersonali:ation link to add the o --Find e;act re"ion and set below two properties Vie!2nstacne? <tandard(O Vie!Attriuites? 3ewAttribute 3ote? +ere will "i e the standard o name.

72
Meher Irk: 9866206216

7C
Meher Irk: 9866206216

I(8*r%$0% Pr*4&-e O8%&*0'2


6-FN-:-iagnostics: <ettin" the F3- ? -ia"nostics (F3-F-&AG3O<T&)<) profile option to 0=es0 will enable the dia"nostics "lobal button to be rendered on the screen. 2ressin" this button brin"s the user to an interface where the user can choose what type of lo""ed messa"es to display. 2-)ersonali.e Sel -Service -e n D <et this profile to =es to allow personali:ations. C-FN-: )ersonali.ation ,egion 1in9 Enabled: (alid alues? =es - renders the 02ersonali:e 1e"ion0 links abo e each re"ion in a pa"e. >ach link takes you first to the )hoose 2ersonali:ation )onte;t pa"e/ then to the 2a"e +ierarchy 2ersonali:ation pa"e with focus on the re"ion node from which you selected the 02ersonali:e 1e"ion0 link. 5--isable Sel -Service )ersonali.ation D =es will disable all personali:ationKs at any le el.

75
Meher Irk: 9866206216

J-FN-: )ersonali.ation -ocument ,oot )ath (new in 66.J.68)? 1equired to mi"rate personali:ations, set this profile option to a tmp directory with open (777) permissions for mi"ratin" personali:ation between instances.

I0%er/&e) ;,e'%&*0'2 6)+ow many custom(self ser ice ) pa"eKs de elopedP 2)+a e you done co / o e;tensions and personali:ationKsP C)Hhat is the client requirement for custom oaf pa"esP 5)Hhat is the client requirement for e;tensionsP J)>;plain '() arctecutreP $)Hhat is 'odelP 7)Hhat is entity ob*ectP 9)Hhat is (iew ob*ectP %)Hhat is AssociationP 68)Hhat is (iew .inkP 66)Hhat is Application moduleP 62)Hhat is (iewP 6C)Hhat is )ontrollerP 65)Hhat is 1e"ion and &temP 6J)+ow to create .O(P 6$)+ow to create 2ick list or messa"e )hoice or 2op list 67)+ow to create -ependent .O(P

7J
Meher Irk: 9866206216

69)+ow to create -ependent 2ick listP 6%)Hhat is form (alueP 28)<teps to create )reation pa"eP 26)<teps to create <earch pa"eP 22)<teps to create >dit pa"eP 2C)<teps to create -elete pa"eP 25)+ow to create 1adio "roupP 2J)+ow to na i"ate between pa"esP 2$)+ow to pass parameters from one pa"e to another pa"eP 27)+ow to "et the profile alues in oafP 29)+ow to "et sequence alue in oafP 2%)(alidationsP C8)<teps to set ,de lpP C6)Hhat is <2>.P C2)what is 221P CC)+ow to make chan"e item properties in process 1equestP C5)+ow to make filed 1ead-Only dynamically in processForm1equestP CJ)Hhat are the properties we can set usin" <2>.P C$)<2>. synta;P C7)+ow to call sql or packa"es in OAFP C9)+ow to >nables 2ersonali:ationKsP C%)+ow to do 2ersonali:ationP 58)+ow to find out the pa"e componentsP 56)+ow to enable to AboutThispa"e linkP 52)+ow to do co e;tensionP 5C)+ow to do o e;tensionP 55)-eployment stepsP 5J)Hhy we need to run import scriptP 5$)Hhat happens if run import scriptP 5$)+ow to disable the personali:ationKsP 57)Hhat is OA-ailo" pa"eP 59)+ow to create -ialo" pa"eP 5%)+ow to mi"rate the 2ersonali:ationKs from -e elop to testin" instanceP J8)+ow to mi"rate the >;tensions from -e elop to testin" instanceP

7$
Meher Irk: 9866206216

Vous aimerez peut-être aussi