<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-35634327</id><updated>2012-01-29T22:41:35.412-08:00</updated><title type='text'>Get Oracle Apps Traning Here</title><subtitle type='html'>Blog for oracle Apps Training ( Copyright Protected )</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>36</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-35634327.post-116547597417950195</id><published>2006-12-06T23:10:00.000-08:00</published><updated>2007-02-21T06:20:23.786-08:00</updated><title type='text'>Value Sets In Oracle Apps</title><content type='html'>&lt;b&gt;Many thanks to Rakesh Sreenivasa for contributing yet another article for Get Apps Training&lt;/b&gt;&lt;br /&gt;&lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;&lt;br /&gt;Value Sets&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Value Set is a collection of values. It validates the values entered by the user for a flex-field, report parameters or a concurrent.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;The navigation path: Application :- Validation :- Sets&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/730285/valueset_01.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/691083/valueset_01.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Value Set is associated with the following validations which holds the key to the value sets.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Types of Validations:&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="1" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;None :-      Validation is minimal.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/12344/valueset_02.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/398758/valueset_02.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="2" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Independent      :- The data input is based on previously defined list of values.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/253756/valueset_03.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/606551/valueset_03.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="3" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Dependent      :- The data input is checked against a defined set of values.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/312671/valueset_04.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/514931/valueset_04.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/501538/valueset_05.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/393916/valueset_05.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="4" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Table :-      The data input is checked against values in a table.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/2358/valueset_06.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/977152/valueset_06.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=""&gt;     &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/874155/valueset_07.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/379702/valueset_07.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="5" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Special      :- The data input is checked against a flex-field.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/586457/valueset_08.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/842898/valueset_08.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/774616/valueset_09.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/290654/valueset_09.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="6" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Pair :-      The data input is checked against two flex-field specified range of      values.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/333519/valueset_10.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/173760/valueset_10.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/18888/valueset_11.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/439540/valueset_11.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="7" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Translatable      independent :- The data input is checked against previously defined list      of values.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/1078/3631/1600/684639/valueset_12.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/1078/3631/400/705602/valueset_12.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;ol style="margin-top: 0in;" start="8" type="1"&gt;&lt;li class="MsoNormal" style=""&gt;Translatable      dependent :- The data input is checked against defined set of values.&lt;/li&gt;&lt;/ol&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Significance of $FLEX$&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;$FLEX$: &lt;span style=""&gt; &lt;/span&gt;enables to match the prior segment with either value set name or segment name.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;Let v2 be the value set definition of 2nd parameter and v1 be the value set definition for the first parameter then&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;In the value set definition of v2 = value $FLEX$.v1&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;&lt;b style=""&gt;Note:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in; text-indent: -0.25in;"&gt;Changes You Should Never Make&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;You should never make these types of changes (old value set to new value set) because you will corrupt your existing key flex-field combinations data:&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;. Independent to Dependent&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;. Dependent to Independent&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;. None to Dependent&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;. Dependent to Table&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;. Table to Dependent&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;. Translatable Independent to Translatable Dependent&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;. Translatable Dependent to Translatable Independent&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;. None to Translatable Dependent&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;. Translatable Dependent to Table&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;. Table to Translatable Dependent&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 9.35pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116547597417950195?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116547597417950195/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116547597417950195' title='52 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116547597417950195'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116547597417950195'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/12/value-sets-in-oracle-apps.html' title='Value Sets In Oracle Apps'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>52</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116537061755556372</id><published>2006-12-05T18:02:00.000-08:00</published><updated>2007-02-21T20:59:38.163-08:00</updated><title type='text'>Oracle Payroll Elements with Element Links</title><content type='html'>Please find an article that explains with examples why Elements are used in Oracle Payroll, and what they actually mean.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oracle.anilpassi.com/payroll-elements-and-element-links.html"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;LINK FOR ORACLE PAYROLL  ELEMENT &amp;amp; ELEMENT LINKS&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116537061755556372?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116537061755556372/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116537061755556372' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116537061755556372'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116537061755556372'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/12/oracle-payroll-elements-with-element.html' title='Oracle Payroll Elements with Element Links'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116527671561096840</id><published>2006-12-04T15:56:00.000-08:00</published><updated>2007-01-16T03:45:28.770-08:00</updated><title type='text'>Enable Audit Trail in  APPS - Oracle</title><content type='html'>This article explains how to create Audit Groups using System Administrator, to generate audit trail on any Oracle Apps Table&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oracle.anilpassi.com/audit-trail-in-oracle-apps-ebs.html"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;LINK FOR ORACLE APPS AUDIT TRAIL ARTICLE&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116527671561096840?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116527671561096840/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116527671561096840' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116527671561096840'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116527671561096840'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/12/enable-audit-trail-in-apps-oracle.html' title='Enable Audit Trail in  APPS - Oracle'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116527659076110050</id><published>2006-12-04T15:53:00.000-08:00</published><updated>2006-12-04T15:56:30.760-08:00</updated><title type='text'>Profile Options Hierarchy in Oracle</title><content type='html'>A new article has been added to explain Hierarchy Profile Options in Oracle Apps.&lt;br /&gt;This feature was delivered in version 11.5.9&lt;br /&gt;&lt;br /&gt;It covers the relationship between Site Level Profile, Application Level Profile, Responsibility Level Profile, User Level Profile Options, Server Level Profile Options, User Level Profile Options and Organization Level Profile Options&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oracle.anilpassi.com/hierarchy-profile-options.html"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;LINK FOR HIERARCHY PROFILE OPTIONS IN ORACLE&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116527659076110050?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116527659076110050/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116527659076110050' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116527659076110050'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116527659076110050'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/12/profile-options-hierarchy-in-oracle.html' title='Profile Options Hierarchy in Oracle'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116527634845741837</id><published>2006-12-04T15:48:00.000-08:00</published><updated>2006-12-04T15:52:28.466-08:00</updated><title type='text'>Oracle Java Concurrent Programs</title><content type='html'>I have written an article on Oracle Java Concurrent Programs.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;This article contains:-&lt;/span&gt;&lt;br /&gt;1. Sample code for developing Interface with non-Oracle database using Java Concurrent Program&lt;br /&gt;2. How do report messages in Output or the Log file of Java Concurrent Program&lt;br /&gt;3. How to make Java Concurrent Program end with warning.&lt;br /&gt;4. How to set CLASSPATH Of Java Concurrent Program in Oracle&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oracle.anilpassi.com/java-concurrent-programs-in-oracle.html"&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;LINK FOR ORACLE JAVA CONCURRENT PROGRAM&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Many Thanks,&lt;br /&gt;Anil Passi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116527634845741837?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116527634845741837/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116527634845741837' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116527634845741837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116527634845741837'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/12/oracle-java-concurrent-programs.html' title='Oracle Java Concurrent Programs'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116454352731786484</id><published>2006-11-26T04:15:00.000-08:00</published><updated>2006-11-30T07:52:41.486-08:00</updated><title type='text'>Develop Oracle Reports concurrent program from Scratch</title><content type='html'>Please find an article about that explains how to develop Oracle Reports from Scratch.&lt;br /&gt;&lt;br /&gt;To take you a step beyond, it also contains step by step approach for using XML Publisher with Oracle Reports [Concurrent Program]&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://oracle.anilpassi.com/xml-publisher-concurrent-program-xmlp.html"&gt;&lt;span style="font-weight: bold;"&gt;XML Publisher based Concurrent Program Report&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116454352731786484?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116454352731786484/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116454352731786484' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116454352731786484'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116454352731786484'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/develop-oracle-reports-concurrent.html' title='Develop Oracle Reports concurrent program from Scratch'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116406596878935699</id><published>2006-11-20T15:38:00.000-08:00</published><updated>2006-11-20T15:39:28.806-08:00</updated><title type='text'>How to customize Oracle Apps Reports</title><content type='html'>A step by step approach for customization of Oracle Apps Reports has been listed &lt;a style="font-weight: bold;" href="http://oracle.anilpassi.com/customization-of-reports-in-oracle-apps.html"&gt;in this link&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Anil Passi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116406596878935699?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116406596878935699/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116406596878935699' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116406596878935699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116406596878935699'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/how-to-customize-oracle-apps-reports.html' title='How to customize Oracle Apps Reports'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116369931681879943</id><published>2006-11-16T09:47:00.000-08:00</published><updated>2006-11-30T03:33:50.073-08:00</updated><title type='text'>Article on Key flexfields in Oracle Apps</title><content type='html'>The article for KeyFlexfields can be accessed via the below Link.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oracle.anilpassi.com/key-flexfields-basics.html"&gt;&lt;span style="font-weight: bold;"&gt;Key Flexfields Article&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Anil Passi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116369931681879943?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116369931681879943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116369931681879943' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116369931681879943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116369931681879943'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/article-on-key-flexfields-in-oracle.html' title='Article on Key flexfields in Oracle Apps'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116360877106092871</id><published>2006-11-15T08:37:00.000-08:00</published><updated>2006-11-15T08:39:31.060-08:00</updated><title type='text'>Data migration of People records in HR</title><content type='html'>During next week, I will be covering working examples of various APIs  in Oracle HRMS that can be used during data migration.&lt;br /&gt;&lt;br /&gt;The first article in that series &lt;a style="font-weight: bold;" href="http://oracle.anilpassi.com/oracle-hrms-api-employee-people-migrate.html"&gt;can be accessed from this link&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116360877106092871?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116360877106092871/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116360877106092871' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116360877106092871'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116360877106092871'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/data-migration-of-people-records-in-hr.html' title='Data migration of People records in HR'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116358689246736792</id><published>2006-11-15T02:29:00.000-08:00</published><updated>2006-12-21T07:31:14.066-08:00</updated><title type='text'>Case insensitive query in Oracle Apps</title><content type='html'>This is response to a question posted by a comment in Article..&lt;a href="http://getappstraining.blogspot.com/2006/10/why-call-it-apps-and-not-oracle-erp.html"&gt;&lt;span style="font-weight: bold;"&gt;Why Is it Called Apps&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;Click on the field in question, and click on Help/Diagnostic/Properties/Item&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/case_insensitive_01.gif"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/case_insensitive_01.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the property field, select case insensitive query&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/case_insensitive_02.gif"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/case_insensitive_02.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;If the value is TRUE, then you will know that Case Insensitive Query is possible on this field.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/case_insensitive_03.gif"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/case_insensitive_03.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116358689246736792?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116358689246736792/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116358689246736792' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116358689246736792'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116358689246736792'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/case-insensitive-query-in-oracle-apps.html' title='Case insensitive query in Oracle Apps'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116344218088859545</id><published>2006-11-13T10:20:00.000-08:00</published><updated>2006-11-13T10:23:00.966-08:00</updated><title type='text'>Apps Data Migration - Example Program</title><content type='html'>Please find the link below, that explains how to design and build programs for doing data migration in Oracle Applications.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:130%;" &gt;&lt;a href="http://oracle.anilpassi.com/migration-program-in-apps.-migrate-customers.html"&gt; Example for Data Migration Program&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116344218088859545?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116344218088859545/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116344218088859545' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116344218088859545'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116344218088859545'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/apps-data-migration-example-program.html' title='Apps Data Migration - Example Program'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116251379832222710</id><published>2006-11-02T16:19:00.000-08:00</published><updated>2007-02-15T11:46:05.970-08:00</updated><title type='text'>Steps for your first pl/sql Concurrent Program in Oracle Apps</title><content type='html'>&lt;span style="font-size:85%;"&gt; I think this topic is already covered partially in one of the &lt;a href="http://oracle.anilpassi.com/concurrent-programs-in-oracle-apps.html"&gt;previous training lesson[ for concurrent programs]&lt;/a&gt;, but I would like to touch base on this again.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Lets revisit some basics first&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Question: &lt;/span&gt;What are the ingredients for a concurrent program?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;A concurrent executable and a program attached to that  executable.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Question: &lt;/span&gt;Will executable for a pl/sql concurrent program be a database stored procedure?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;Yes, but in addition to above you can also register a procedure within a package as an executable. However, you can't make a Function to become the executable for a stored procedure.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question: &lt;/span&gt;Does this stored procedure need to have some specific parameters, in order to become an executable of a concurrent program?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;Yes, such procedure must have at least two parameters&lt;br /&gt; ( errbuff out VARCHAR2, retcode out NUMBER)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question:&lt;/span&gt; Can we add additional parameters to such pl/sql procedures that happen to be Conc Prog Executables?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;Sure you can, but those parameters must be defined after the first two parameters. Effectively I mean first two parameters must always be errbuff and retcode. The sequence of the remaining parameters must match with the sequence in which parameters are registered in define concurrent program-parameters window.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Question: &lt;/span&gt;Can those parameters be validated or will these parameters be free text?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;These parameters can be attached to a value set, hence this will avoid users passing free text values.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question: &lt;/span&gt;What are the possible things that a concurrent pl/sql program can do?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;Firstly your stored procedure would have been created in apps. This concurrent program will connect to "apps schema" from where access to all the tabes across every module will be available.&lt;br /&gt;You can do the following:-&lt;br /&gt;1. Insert records in tables(usually interface or temp tables)&lt;br /&gt;2. Update and delete records&lt;br /&gt;3. Initiate workflows&lt;br /&gt;4. Display messages in the output file or the log file of the concurrent program.&lt;br /&gt;5. Make this concurrent program complete with status Error or Warning or Normal.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Question: &lt;/span&gt;Please give me an example of a pl/sql concurrent program in Oracle apps in real life?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;Lets say you have an external application which is integrated with apps. Assume that it is Siebel application where the new customer records are created. Siebel is assumingly hosted on a Oracle database from where it has database links to  your Oracle apps database.&lt;br /&gt;In this case, siebel inserts sales order records into your custom staging tables.&lt;br /&gt;You can then develop a concurrent process which will do the following:--------&lt;br /&gt;&lt;span style="font-style: italic;"&gt; Loop through the records in that staging table&lt;/span&gt;&lt;br /&gt; &lt;span style="font-style: italic;"&gt;Check if the customer already exists in Oracle AR TCA&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; If customer already exists, thencall the api to update existing customer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt; If this is a new customer, then update existing TCA Customer/Party record&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Question: &lt;/span&gt;Ok, how do I do the above?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;Find the steps below for doing so&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1&lt;/span&gt;&lt;br /&gt;Connect xxschema/password&lt;br /&gt;Create table xx_stage_siebel_customers ( customer_Id integer, customer name varchar2(400));&lt;br /&gt;Grant all on xx_stage_siebel_customers to apps ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2&lt;/span&gt;&lt;br /&gt;Connect apps/apps_password&lt;br /&gt;Create or replace synonym xx_stage_siebel_customers for xxschema.xx_stage_siebel_customers ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3 &lt;/span&gt;( again in apps schema)&lt;br /&gt;Create or replace procedure xx_synch_siebel_cust ( errbuff out varchar2, retcode out varchar2 ) is&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;n_ctr INTEGER := 0 ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt; Begin&lt;br /&gt;for p_rec in ( select * from &lt;/span&gt;&lt;span style="font-size:85%;"&gt;xx_synch_siebel_cust ) LOOP&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt; Select count(*) into n_ctr from hz_parties where party_number = p_rec.customer_number;&lt;br /&gt;If n_ctr=0 then&lt;br /&gt;  Hz_party_create(pass appropriate parameters here).&lt;br /&gt;Else&lt;br /&gt; Hz_party_update(&lt;/span&gt;&lt;span style="font-size:85%;"&gt;pass appropriate parameters here&lt;/span&gt;&lt;span style="font-size:85%;"&gt;);&lt;br /&gt;End if;&lt;br /&gt;END LOOP ;&lt;br /&gt;delete from &lt;/span&gt;&lt;span style="font-size:85%;"&gt;xx_synch_siebel_cust  ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt; End xx_synch_siebel_cust&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 4&lt;/span&gt;&lt;br /&gt;Create concurrent program executable ( for example of screenshot, visit &lt;a href="http://oracle.anilpassi.com/concurrent-programs-in-oracle-apps.html"&gt;link )&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Step 5&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;Create concurrent program for that executable&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Step 6&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; &lt;/span&gt;Add this concurrent program to request group&lt;br /&gt;&lt;br /&gt;Now your program is ready to roll....&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116251379832222710?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116251379832222710/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116251379832222710' title='33 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116251379832222710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116251379832222710'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/steps-for-your-first-plsql-concurrent.html' title='Steps for your first pl/sql Concurrent Program in Oracle Apps'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>33</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116251240692553174</id><published>2006-11-02T16:03:00.000-08:00</published><updated>2006-11-02T16:09:10.793-08:00</updated><title type='text'>Advanced Oracle Apps Training Index</title><content type='html'>Dear All,&lt;br /&gt;&lt;br /&gt;In response to a query that I received asking "Once all the training index topics have been covered, will this blog be stopped?"&lt;br /&gt;&lt;br /&gt;Other readers might have had a similar question in mind.&lt;br /&gt;&lt;br /&gt;Just so that you know, once these topics have been exhausted, we will then work upon an "Advanced Apps Training" index, one that will have articles influenced by real life problems faced during implementation and their resolutions.&lt;br /&gt;&lt;br /&gt;Thanks&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116251240692553174?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116251240692553174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116251240692553174' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116251240692553174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116251240692553174'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/advanced-oracle-apps-training-index.html' title='Advanced Oracle Apps Training Index'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116248260997775264</id><published>2006-11-02T07:49:00.000-08:00</published><updated>2007-02-03T15:22:03.516-08:00</updated><title type='text'>Oracle Forms Basic Concepts</title><content type='html'>&lt;span style="font-weight: bold;"&gt;ARTICLE AUTHOR: Rakesh Sreenivasa &lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;table&gt; &lt;tbody&gt; &lt;tr&gt; &lt;td&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b&gt;&lt;u&gt;Oracle Forms  Basic Concepts&lt;o:p&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;The focus of the document is for consultants who are new to  Oracle Forms and needs a kick-start on the concepts for better understanding of  the subject.&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Let’s start understanding the basic but important concepts in  Forms.&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;b&gt;Form :&lt;/b&gt;It is a developmental tool that is used for  designing data entry and query screens. It is a front-end tool that runs in a  Graphical User Interface (GUI).&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;b&gt;GUI Concepts:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;o:p&gt;&lt;span style="text-decoration: none;"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;These concepts holds good for any  user-interface.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;u&gt;&lt;o:p&gt;&lt;span style="text-decoration: none;"&gt;&lt;/span&gt;&lt;/o:p&gt;&lt;/u&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;To develop an effective GUI there are 4 basic stages:&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;ol style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;Define User Requirements  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Plan the User Interface  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Build the User Interface Elements (Create/Modify  elements/functionality)  &lt;/li&gt;&lt;li class="MsoNormal"&gt;User Feedback (Holds Key on the functionality and basis of  the requirement)&lt;/li&gt;&lt;/ol&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Let’s move on to Forms Developer&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;There are 3 components involved in the application  development&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;ol style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;Form Builder  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Form Compiler  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Form Runtime&lt;/li&gt;&lt;/ol&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Form builder consists of  following tools to perform a specific task&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;ol style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;Object Navigator  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Layout Editor  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Property Palette  &lt;/li&gt;&lt;li class="MsoNormal"&gt;PL/SQL Editor  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Menu Editor  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Object Library&lt;/li&gt;&lt;/ol&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;Object Navigator:&lt;/b&gt; It’s a  hierarchal representation of all objects.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;Layout Editor:&lt;/b&gt; It provides  a virtual representation of the application user interface.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;Property Palette:&lt;/b&gt; Each  object in the form module has a property associated to it. Developer can  view/set properties for one/multiple object.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;PL/SQL Editor:&lt;/b&gt;  Programmatically to enhance the functionality and appearance of an  application.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;Menu Editor:&lt;/b&gt; Create menu  as per applications requirement and can add various functionality to various  menu options.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;Object Library:&lt;/b&gt; Creation  of objects on some default specification. Storing some standard objects that can  be re-used in other forms/menu.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;Blocks:&lt;/b&gt; Logically related  interface items are grouped into functional units called Blocks.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Types of Block:&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;Data Block:&lt;/b&gt; It is  associated with or bound, to a database table or view or a set of stored  procedures.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;Control Block:&lt;/b&gt; It is not  associated with any database table but items that will control the behavior of  the application.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Let’s move on to the next scheme  of things…&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;b&gt;Canvas:&lt;/b&gt; It is a surface  inside a window on which we place the interface that end user interacts.&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;Types of Canvas: &lt;/p&gt; &lt;ol style="margin-top: 0in;" type="1"&gt;&lt;li class="MsoNormal"&gt;Stacked Canvas  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Content Canvas  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Horizontal Toolbar  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Vertical Toolbar  &lt;/li&gt;&lt;li class="MsoNormal"&gt;Tab Canvas&lt;/li&gt;&lt;/ol&gt; &lt;p class="MsoNormal" style="margin-left: 0.25in;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Let’s discuss briefly about the triggers in this section, for  more information you can look through the Forms Builder Help Topics.&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;Note: The hierarchy of Objects in a form is&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;b&gt;Form &lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/p&gt; &lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Block&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Record&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Item&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Triggers: &lt;/b&gt;These are program units which enhance the  functionality of a form/application.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;The following triggers can be used to enhance the  functionality of the form:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Block Processing Triggers:&lt;/b&gt; It fires in response to  events related to record management in block.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;e.g., When_Create_Record,When_Clear_Block,…&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Interface Event Triggers:&lt;/b&gt; It fires in response to  events that occur in form interface.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;e.g., When_Button_Pressed,When_Checkbox_Changed,…&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Master-Detail Triggers:&lt;/b&gt; It fires automatically when  defined master-detail relationship between blocks. (Master-Detail relationship  discussed further in the document)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;e.g.,On_Checkdelete_Master,On_Clear_Details,…&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Message Handling Triggers:&lt;/b&gt; It fires to issue  appropriate error and information messages in response to runtime events.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;e.g.,On_Error,On_Message,..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Navigational Triggers:&lt;/b&gt; It fires in response to  Navigational Items.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;e.g., Pre_Form, Post_Form, When_New_Form_Instance,  When_New_Block_Instance,..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Query Time Triggers:&lt;/b&gt; It fires before/after the  operator/application executes a query.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;e.g.,Pre_Query,Post_Query,…&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Transactional Triggers:&lt;/b&gt; It fires in response to wide  variety of events that occur as a form interacts with data source.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;e.g.,On_Delete,On_Update,..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Validation Triggers: &lt;/b&gt;It fires when it validates data  in an item/record.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;e.g.,When_Validate_Item,When_Validate_Record,..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Mouse Event Triggers:&lt;/b&gt; It fires for a mouse event.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;e.g.,When_Mouse_Enter,When_Mouse_Click,..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Key Triggers:&lt;/b&gt; It has one to one relationship with  specific Keys.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;e.g.,Key F1,Key Enter,..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;There are lot number triggers that can be used, please use as  per the requirement with reference to Form Builder Help Topics.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Master- Detail Relationship :&lt;/b&gt; It is an association  between two datablocks.One block is called Master Block and other Detail block.  The relationship signifies that there is a primary key to foreign key  relationship between the tables on the blocks associated.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;Properties associated with blocks in a master-detail  relationship.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Isolated :&lt;/b&gt; If you delete master records, associated  detail records are not deleted from the database.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Non-Isolated:&lt;/b&gt; You cannot delete master records if the  associated detail records exist in database.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Cascading:&lt;/b&gt; If you delete master records then  automatically detail records will be automatically deleted from the  database.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Windows :&lt;/b&gt; It is a container for all visual objects  that make up a form, including canvases.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;There are 2 types of Windows:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Document Window :&lt;/b&gt; It typically display the main  canvases and work areas of the application where most data entry, and data  retrieval is performed. It always remains within the application window  frame.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Dialog Window:&lt;/b&gt; are free-floating, windows typically  used for modal dialogs that require immediate user interaction.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Modality&lt;/b&gt; of the window depends on the functionality  required i.e., Modal or Modeless.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Alert :&lt;/b&gt; It is a modal window that displays message to  inform user about some application condition. E.g., STOP,CAUTION,NOTE,…&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Invoking an alert :&lt;/b&gt; show_alert(alert_name)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;Return number;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Record Group:&lt;/b&gt; It is an internal form builder structure  that has column/row structure similar to database table. Static and Query based  record groups can be used on the functionality of the form.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;List of Values (LOV) :&lt;/b&gt; It is a pop-up window that  provides end user selection list. LOV’s can be invoked programmatically or  statically based on the record group. It can be &lt;b&gt;positional&lt;/b&gt; based or  &lt;b&gt;automatic display&lt;/b&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;The most important features of LOV are it provides  &lt;b&gt;auto-reduction&lt;/b&gt; and &lt;b&gt;search&lt;/b&gt; features due to which user can locate  specific values easily.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;Let’s get to items on canvas which holds the key points.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Boilerplate Text&lt;/b&gt; Tool is used to create or edit a  graphics text in the form. Graphics text is a static text in the form. E.g.  Labels for items&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Text Item&lt;/b&gt; Tool is used to create text item. It is an  interface control that displays and allows editing of a text. It can be single  or multi-line format.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Display Item&lt;/b&gt; tool are similar to text items but  display items only store and displayed fetched or assigned values.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Buttons&lt;/b&gt; is a tool to execute commands or initiate  buttons. E.g., OK ,CANCEL,..&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;Types : Text and Iconic Buttons&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;List Item&lt;/b&gt; is a list of text elements. A list item  displays a fixed number of elements.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;Types: Tlist,Pop List, Combo Box&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;br /&gt;&lt;b&gt;Checkbox:&lt;/b&gt; It is a control that has 2 states i.e.,  checked or unchecked. It is used to indicate whether a certain condition is true  or false.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Radio Button/Box :&lt;/b&gt; It is a logical set of options.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Editors:&lt;/b&gt; are used to edit item values in form. There  are three editors that can be used at run time: Default editor, System Editor,  User Named Editor&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Property Class:&lt;/b&gt; Form builder provides a facility to  create a named list of common properties and their values. This object is known  as property class. Once you create a property class, you can base other objects  on it. It is similar to the OOPS concept in programming languages.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Visual attribute :&lt;/b&gt; is a list of font, color and  pattern properties and their values. This visual attribute can be attached to  various objects to define object’s visual attributes.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;b&gt;Conclusion:&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;p class="MsoNormal"&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;&lt;font&gt;I started creating this document to include the necessary  concepts required for a consultant who wants to harness his skills on Oracle  Forms. I have tried to include most of the necessary topics required before  jumping to develop a form. For further details on Forms, you can always refer  the &lt;b&gt;Form Builder Help Topics&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;ARTICLE AUTHOR: Rakesh Sreenivasa &lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt; &lt;div&gt; &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116248260997775264?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116248260997775264/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116248260997775264' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116248260997775264'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116248260997775264'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/oracle-forms-basic-concepts.html' title='Oracle Forms Basic Concepts'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116245197079691335</id><published>2006-11-01T23:16:00.000-08:00</published><updated>2007-02-18T10:14:40.440-08:00</updated><title type='text'>New Custom Form in Apps -Article Added</title><content type='html'>Please find the training article on how to create a "Custom Form" from scratch in Oracle Apps.&lt;br /&gt;I assume that you have followed the instructions in previous chapters regarding TEMPLATE.fmb.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://oracle.anilpassi.com/a-new-custom-form-in-oracle-apps.html"&gt;Link for the article &lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Your feedback is precious, in helping us improve the quality of the training material. Based upon the feedback, this article will be amened to add further details where required.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116245197079691335?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116245197079691335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116245197079691335' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116245197079691335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116245197079691335'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/new-custom-form-in-apps-article-added.html' title='New Custom Form in Apps -Article Added'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116241633899460167</id><published>2006-11-01T13:11:00.000-08:00</published><updated>2006-11-01T13:25:39.026-08:00</updated><title type='text'>Welcome Rakesh Sreenivasa</title><content type='html'>For the very first time, I received an email from a reader that wanted to contribute to this blog.&lt;br /&gt;&lt;br /&gt;I would like to Welcome Rakesh as a contributor to this blog. Rakesh Sreenivasa will be publishing some documents on Oracle Apps Forms and Apps Reports, and who knows...may be more.&lt;br /&gt;&lt;br /&gt;Hence I will add Rakesh as a contributor to this blog.  Welcome on board Rakesh.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;IMPORTANT NOTE&lt;/span&gt;:- I received another email where someone desired to use AudioVisual Workflow Training material of the blog in their training course. Surely I have denied them this request, because I do not want the knowledge on this blog/website to be sold. &lt;span style="font-weight: bold;"&gt;This information is free and should remain free&lt;/span&gt;. In case anyone ever discovers a professional training course using the material on this website in exchange of money, then please bring that to my attention by mailing me at anilpassi@gmail.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116241633899460167?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116241633899460167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116241633899460167' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116241633899460167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116241633899460167'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/11/welcome-rakesh-sreenivasa.html' title='Welcome Rakesh Sreenivasa'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116233979319041190</id><published>2006-10-31T16:06:00.000-08:00</published><updated>2007-02-04T15:38:27.953-08:00</updated><title type='text'>Oracle Apps Forms Customization - Step by Step approach</title><content type='html'>A new article has been added that explains the steps required to customize forms in Oracle Applications.&lt;br /&gt;&lt;br /&gt;This article can be &lt;span style="font-size:130%;"&gt;&lt;a href="http://oracle.anilpassi.com/forms-customization-steps-in-oracle-applications.html"&gt;linked from here&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hope you are enjoying the Training Articles on Oracle Applications.&lt;br /&gt;&lt;br /&gt;Your feedback is precious in improving the quality of training information being published here.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116233979319041190?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116233979319041190/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116233979319041190' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116233979319041190'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116233979319041190'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/oracle-apps-forms-customization-step.html' title='Oracle Apps Forms Customization - Step by Step approach'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116225022070198364</id><published>2006-10-30T15:14:00.001-08:00</published><updated>2006-10-30T15:18:28.600-08:00</updated><title type='text'>Setting up your PC for Oracle Apps Development</title><content type='html'>Dear readers,&lt;br /&gt;&lt;br /&gt;A new article has been added, that  explains the various things you need to do on your PC to set it up for Oracle  Apps Development.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The article can be accessed via &lt;a href="http://oracle.anilpassi.com/install-tools-for-oracle-apps-development.html"&gt;&lt;span style="font-size:130%;"&gt;this link&lt;/span&gt;.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Anil Passi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116225022070198364?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116225022070198364/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116225022070198364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116225022070198364'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116225022070198364'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/setting-up-your-pc-for-oracle-apps.html' title='Setting up your PC for Oracle Apps Development'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116212096837122300</id><published>2006-10-29T03:20:00.000-08:00</published><updated>2006-10-29T03:22:48.373-08:00</updated><title type='text'>Training Articles on Descriptive Flexfields added</title><content type='html'>Two articles on Descriptive Flexfields have been added accessed from following links:-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;a style="font-weight: bold;" href="http://oracle.anilpassi.com/descriptive-flexfield-basics-in-oracle-apps.html"&gt;Basics of Descriptive Flexfields in Oracle Applications, with example&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;a style="font-weight: bold;" href="http://oracle.anilpassi.com/context-sensitive-descriptive-flexfields.html"&gt;Step by Step approach for Context Sensitive Descriptive Flexfields in Oracle Apps&lt;br /&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116212096837122300?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116212096837122300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116212096837122300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116212096837122300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116212096837122300'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/training-articles-on-descriptive.html' title='Training Articles on Descriptive Flexfields added'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116190414192940548</id><published>2006-10-26T16:00:00.000-07:00</published><updated>2006-12-11T03:57:35.046-08:00</updated><title type='text'>Difference between Lookups and Value Sets</title><content type='html'>I hope you have read the previous articles on Value Sets and also on Lookups.&lt;br /&gt;&lt;br /&gt;It is important for the learners to read things in Sequence. Hence you may decide to browse through the  &lt;a href="http://getappstraining.blogspot.com/2006/10/oracle-apps-training-index.html"&gt;Training Index Page&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Difference 1&lt;/span&gt;&lt;br /&gt;Value sets can be attached to parameters of a concurrent program, whereas Lookups can't.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Difference 2&lt;/span&gt;&lt;br /&gt;Certain types of Lookups are maintainable by the users too, for example HR Users will maintain "Ethnic Minority" lookups. Value Sets are almost never maintained by end users, with the exception of GL Flexfield codes. Value sets are usually maintained by System Administrators.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Difference 3&lt;/span&gt;&lt;br /&gt;Value sets can contain values that are a result of an SQL Statement.&lt;br /&gt;Hence it is possible to make Value Set list of values dynamic.&lt;br /&gt;On the contrary, Lookup Codes are Static list of values.&lt;br /&gt;&lt;br /&gt;Here comes the end of another simple article...&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Anil Passi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116190414192940548?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116190414192940548/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116190414192940548' title='13 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116190414192940548'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116190414192940548'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/difference-between-lookups-and-value.html' title='Difference between Lookups and Value Sets'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>13</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116190361696593690</id><published>2006-10-26T15:58:00.000-07:00</published><updated>2006-11-02T04:54:50.133-08:00</updated><title type='text'>Article on Lookups Training in Oracle Apps</title><content type='html'>Dear all,&lt;br /&gt;&lt;br /&gt;The most simplest article thus far in this series has now been added. This article happens to be for Lookups in Oracle apps, and can be accessed by clicking &lt;a href="http://oracle.anilpassi.com/lookup-types-and-lookup-codes-in-oracle-apps.html"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;Anil&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116190361696593690?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116190361696593690/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116190361696593690' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116190361696593690'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116190361696593690'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/article-on-lookups-training-in-oracle.html' title='Article on Lookups Training in Oracle Apps'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116182341015017730</id><published>2006-10-25T17:39:00.000-07:00</published><updated>2006-12-04T23:28:22.206-08:00</updated><title type='text'>New Oracle Apps Training Articles Added</title><content type='html'>The &lt;a href="http://getappstraining.blogspot.com/2006/10/oracle-apps-training-index.html"&gt;training index&lt;/a&gt; has now been updated with three further articles....&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oracle.anilpassi.com/concurrent-programs-in-oracle-apps.html"&gt;What is a Concurrent Program&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oracle.anilpassi.com/concurrent-manager-in-oracle-apps.html"&gt;What is concurrent Manager&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://oracle.anilpassi.com/value-set-basics-in-oracle-apps.html"&gt;What is a Value set&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116182341015017730?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116182341015017730/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116182341015017730' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116182341015017730'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116182341015017730'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/new-oracle-apps-training-articles.html' title='New Oracle Apps Training Articles Added'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116133668422749095</id><published>2006-10-20T02:30:00.000-07:00</published><updated>2006-10-22T14:56:20.726-07:00</updated><title type='text'>Oracle Forms Functions Menus and their relationship</title><content type='html'>Every screen we develop delivers a business functionality of sorts. Notice the word &lt;span style="font-weight: bold;"&gt;function&lt;/span&gt;ality.&lt;br /&gt;Hence the word function or call it "Form Function" is related to Oracle Forms.&lt;br /&gt;&lt;br /&gt;You all know that a form is nothing but a screen from where users can enter or retrieve(query) existing  data.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns: &lt;/span&gt;In Oracle why do we have a form and then also a Form Function? Isn't just having a Screen/Form just good enough?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans: &lt;/span&gt;What if, for the same form, you wish to provide slightly different functionalities depending upon which menu is clicked to invoke that form??&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question:&lt;/span&gt; Are there any examples?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer:&lt;/span&gt; Lets assume the following&lt;br /&gt;&lt;br /&gt;There are two responsibilities&lt;br /&gt;------------------------------&lt;br /&gt;Payables Manager responsibility&lt;br /&gt;Payables clerk responsibility&lt;br /&gt;&lt;br /&gt;There is one form for invoices&lt;br /&gt;------------------------------&lt;br /&gt;Payables invoice screen&lt;br /&gt;&lt;br /&gt;Our requirement&lt;br /&gt;-------------------------------&lt;br /&gt;If invoice screen is invoked from Payables Manager Responsibility, then at startup of the screen we want to provide a "Search Window", so that manager can search for the invoices to review&lt;br /&gt;&lt;br /&gt;If the invoice screen is invoked from "Payables Clerk Responsibility", then at startup of the screen we want to provide "Invoice Data Entry window", so that clerk can begin entering the invoices.&lt;br /&gt;&lt;br /&gt;The form will have following code within it in when-new-form-instance.&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 102);"&gt;If :parameter.invoice_mode='MANAGER' then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 102);"&gt; Go_block(lfind_invoices')&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 102);"&gt;Elsif :parameter.invoice_mode='CLERK' then&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 102);"&gt;  GO_BLOCK('invoice_header'),&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic; color: rgb(0, 0, 102);"&gt;End if;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question: &lt;/span&gt;From above example it appears that form function will be passing parameter named invoice_mode to the form?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer&lt;/span&gt;. Correct in this case.&lt;br /&gt;So that we understand how things hang together.&lt;br /&gt;Invoice form is attached to a Form Function, when defining the Form Function we pass parameters to it. Then this Form Function is attached to the Menu, and it is the Menu that gets attached to responsibility.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question &lt;/span&gt;: Oh dear,are the form functions  all about parameters?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer: &lt;/span&gt;Parameters is the main feature of Form Functions. But there are others too.&lt;br /&gt;As you know from previous training lessons, each form will be located in a specific directory on Unix box. For example, Purchasing Form executables will be in $PO_TOP/foms/US&lt;br /&gt;And account payables form executables will be located in $AP_TOP/forms/US.&lt;br /&gt;&lt;br /&gt;Did you wonder how Oracle will know to look for a payables  form executable in AP_TOP and not in PO_TOP??&lt;br /&gt;Oracle will think like this...hmm user clicked on a menu, what is the form function for this menu...hmm it is InvoiceReview....ok...what is the application assigned to the for form function...oh...its ap(account payables) application...right....what is the base path for this application...rite..it is AP_TOP...lets then run the fmx file from ap_top/forms/us&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Screenshots for examples&lt;br /&gt;A. Go to application developer click on menu /application/form&lt;br /&gt;Define you form...remember, oracle will expect an executable of .fmx for this name&lt;br /&gt;&lt;br /&gt;Click on menu /application/function&lt;br /&gt;Define your two functions, invoice review, invoice entry, pass them parameters as below.&lt;br /&gt;&lt;br /&gt;Login to Oracle Apps , and select responsibility "Application Developer"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/1.1.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/1.0.gif" alt="" border="0" /&gt;&lt;/a&gt;Navigate the menu "Form"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/2.3.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/2.3.gif" alt="" border="0" /&gt;&lt;/a&gt;Define the Form as below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/3.3.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/3.3.png" alt="" border="0" /&gt;&lt;/a&gt;Now, lets define the function&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/4.4.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/4.4.gif" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/5.3.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/5.3.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/6.1.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/6.1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/7.1.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/7.1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/8.1.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/8.1.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Do you wish to know the name of form that has approx 600 functions defined in oracle apps? To find the answer, click on &lt;a href="http://oracle.anilpassi.com/technical-interview-questions-oracle-apps.html"&gt;interview questions link&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116133668422749095?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116133668422749095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116133668422749095' title='25 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116133668422749095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116133668422749095'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/oracle-forms-functions-menus-and-their.html' title='Oracle Forms Functions Menus and their relationship'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>25</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116121510834828441</id><published>2006-10-18T16:44:00.000-07:00</published><updated>2007-02-20T13:21:58.773-08:00</updated><title type='text'>Oracle Apps Training Testing Environments</title><content type='html'>&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;In every implementation, there are always more than one environments in Oracle Apps.&lt;br /&gt;&lt;br /&gt;The rule of thumb states that below environment are a must:-&lt;br /&gt;1. &lt;span style="font-weight: bold;"&gt;Development environment&lt;/span&gt;, where developers usually have System Administrator responsibility and also the apps password. If not System Administrator then at least they should have access to "Application Developer" responsibility.&lt;br /&gt;&lt;br /&gt;2. &lt;span style="font-weight: bold;"&gt;Testing environment&lt;/span&gt;&lt;br /&gt;Developers usually do not and must not have apps password to this environment . This is where users sign-off customizations or even setup changes.&lt;br /&gt;&lt;br /&gt;3. &lt;span style="font-weight: bold;"&gt;Production environment&lt;/span&gt;&lt;br /&gt;This is where the business runs&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Optional environments:-&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;CRP environment&lt;/span&gt;&lt;br /&gt;Conference room pilot environment is where usually implementation team gets buying to their product offering from user community, during implementation. This environment is usually used for sign off during new implementations.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Patching environment&lt;/span&gt;&lt;br /&gt;This is where all new Oracle Patches are sanity tested.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Support environment&lt;/span&gt;&lt;br /&gt;This environment is exclusive to support staff. This environment is usually the most frequently cloned environment in Oracle Apps site that has gone live. Frequent cloning helps the Oracle Applications support staff to reproduce production issues&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Migration Environment&lt;/span&gt;&lt;br /&gt;This is where repeated data migration can take place before migration code gets frozen and ready for UAT.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;User Training Environment&lt;/span&gt;&lt;br /&gt;Some clients mix this with the CRP itself. But post-goLive of APPS, when rolling out new module, an environment like this comes handy.&lt;br /&gt;&lt;br /&gt;You as a developer do not need to worry about these environments, as your focus will be on Development Environment only.&lt;br /&gt;&lt;br /&gt;Now some notes:-&lt;br /&gt;1. There can be more than one development environment at any implementation site, when different big modules are being implemented, all having different timelines. However, the changes to each environment are UAT'ed on a common Test environment.&lt;br /&gt;2. The development to production cycle is.... Developer does development &amp;amp; unit testing on Development Environment, and their code gets promoted to User Testing environment. Following this, the changes get applied to Production environment.&lt;br /&gt;3. The changes done to "development environment" must be scripted in all cases where possible. As a thumb rule, everything except for Functional Configuration can be scripted. You may be intersted in &lt;a href="http://oracle.anilpassi.com/oracle-fndload-script-examples.html"&gt;FNDLOAD Link&lt;br /&gt;&lt;/a&gt;&lt;a href="http://oracle.anilpassi.com/oracle-fndload-script-examples.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116121510834828441?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116121510834828441/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116121510834828441' title='18 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116121510834828441'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116121510834828441'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/oracle-apps-training-testing.html' title='Oracle Apps Training Testing Environments'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116121409909401497</id><published>2006-10-18T16:25:00.000-07:00</published><updated>2007-01-25T14:40:23.463-08:00</updated><title type='text'>Oracle Apps Deployment Training</title><content type='html'>When you are a fresh new Oracle Apps developer, your fundamental question is...where to find the piece of code that you are being asked to customize?&lt;br /&gt;Before I begin to explain you this, first some fundamentals.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; You will most likely find that any implementation of oracle apps will involve at least two machines, i.e. Database tier and then at least one web tier.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; Oracle thought very logically to decide which executable runs on database tier and which on web/forms tier(also known as mid-tier).&lt;br /&gt;Any executable that has intense database operations is stored at database tier. To give you some examples.... sql files, oracle report java concurrent programs, sql*loader are all deployed in database tier of Oracle Applications.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.&lt;/span&gt; Any executable that has intense UI operations is deployed at forms tier. Examples are Oracle Forms fmx files, jsp files, pll/plx etc.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns: &lt;/span&gt;The above sounds good in most cases, but what if you have to build a form that has intense database processing.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; Well the form will still be deployed in the mid-tier, otherwise your form will never be run. However, for such forms, you must handle most of the database processing within pl/sql packages. The api's that you build in pl/sql must have well defined parameters.&lt;br /&gt;I am saddened to see that some apps programmers write tons of sql code/DMLs inside the oracle forms triggers. In this era of high speed networks, such aproach may be justified to an extent, but what if some other developer desires to use validations developed for your form in other areas of apps.? Hence building pl/sql api's is the preferred approach.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; Why do we have multiple middle tiers for one database.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; Most implementations install multiple mid-tiers to distribute the user load. The user requests are first sent to a load balancer switch, this switch the decides which middle tier to use. Hence, if one server has 1000 user cpacity, then you can have 5mid tiers to handle 5000 concurrent users.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; That's fine for the theory, but how do multiple mid-tiers impact my forms deployment?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; You will need to deploy your forms file to each middle tier machine (unles shared APPL_TOP) has been implemented.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; Where do I pick the fmb files delivered by oracle?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; These are picked from $AU_TOP/forms/us&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; Where do I  deploy the fmx file on mid tier, assuming a purchasing screen has been customized.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; This will be deployed at $XXPO_TOP/forms/us&lt;br /&gt;Basically by deployment I mean that fmx file will be copied to xxpo_top/forms/us&lt;br /&gt;Have you read the previous article on applications?&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; Where do I deploy a pl/sql package?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; All of the pl/sql packages are installed in apps schema.&lt;br /&gt;This includes your custom packages and also oracle delivered packages.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; Ehere do we create the database views?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; Views will be created in apps schema too.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; How do I generate fmx, should this be done on pc or on the mid tier?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; This must always be done on the mid tier&lt;br /&gt;For example use below steps&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Step 1&lt;/span&gt;&lt;br /&gt;FORMS60_PATH=$FORMS60_PATH:$AU_TOP/forms/US&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Step 2&lt;/span&gt;&lt;br /&gt;export FORMS60_PATH&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Step 3&lt;/span&gt;&lt;br /&gt;cd $XXPO_TOP/forms/US&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Step 4&lt;/span&gt;   ----Below in one single line&lt;br /&gt;f60gen module=XXPOSCREEN.fmb userid=apps/apps module_type=form batch=no compile_all=special&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt;I have deployed the form at $XXPO_TOP but I can't run it,I get message can not find form&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; Firstly find out the application to which this form is registered against. In reality the forms are attached to form functions and it is the form function that is attached to an application&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; How can I generate CUSTOM.pll or any other Forms Library&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt;&lt;br /&gt;----Below statements in one single line&lt;br /&gt;cd $AU_TOP/resource&lt;br /&gt;f60gen module=$AU_TOP/resource/CUSTOM.pll userid=apps/apps output_file=./CUSTOM.plx module_type=LIBRARY&lt;br /&gt;&lt;br /&gt;f60gen module=$AU_TOP/resource/XX_POENT.pll userid=apps/apps output_file=./XX_POENT.plx module_type=LIBRARY&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; All the above sounds good, but how on earth do I connect to Mid Tier to generate forms&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; For Mid-Tier server, you will be provided with a Unix Username &amp; Password. &lt;span style="font-style: italic;"&gt;Before you start moaning, let me clarify that I assume that hosting o/s will be Unix.&lt;/span&gt; As soon as you logon to your mid-tier, your environment should automatically be setup based on scripts within .profile file. To know whether your environment has been setup on Unix box, do the below:&lt;br /&gt;echo $FND_TOP&lt;br /&gt;If the above returns blank, then it means you need to contact your DBAs to find out why environment variables are not being populated on your sign-on to Unix&lt;br /&gt;...Ditto for DB Tier&lt;br /&gt;&lt;br /&gt;Please let me know if you have any questions.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Anil Passi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116121409909401497?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116121409909401497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116121409909401497' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116121409909401497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116121409909401497'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/oracle-apps-deployment-training.html' title='Oracle Apps Deployment Training'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116103393137207759</id><published>2006-10-16T14:17:00.000-07:00</published><updated>2007-02-20T10:35:53.410-08:00</updated><title type='text'>Applications in Oracle Apps</title><content type='html'>&lt;span style="font-size:85%;"&gt;In this training chapter I will explain what Application means, in Oracles context.&lt;br /&gt;&lt;br /&gt;As a thumbrule, for one module there is one single application.&lt;br /&gt;&lt;br /&gt;Uptill 8 years ago, it was mandatory for each table to be registered against an Application in Oracle Financials; but now such a relation no longer exist.&lt;br /&gt;&lt;br /&gt;Oracle is a mixture of various applications like Payables, General Ledger, Payroll, Human Resources, manufacturing. You can call these modules, but officially these are called applications. Hence the name Oracle Applications(i think)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Is there a relation between application and table:-&lt;/span&gt;&lt;br /&gt;Indirectly/logically there is, as the table is owned by a specific schema, and then a schema is related to an Application( though logically, as this relation is not enforced by the System).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; What precautions do I take when creating a new table in oracle apps:-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans: &lt;/span&gt;Find out from DBA's the schema in which your custom tables are meant to be created. Create the desired table in custom schema. &lt;span style="font-weight: bold;"&gt;Note:&lt;/span&gt; If your custom table will support multi-org, then its name must finish with _all and also it must have a integer column named org_id&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Qns: &lt;/span&gt;For an Oracle Apps developer, what else must be the consideration with respect to Application.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt; Ans: &lt;/span&gt;I will jump the training ship to explain this. In case you do not understand, then wait for the training lesson on concurrent programs.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;a.&lt;/span&gt; Each program has an executable. For example reports have rdf, sql*plus has .sql file, forms has .fmx,  Unix Shell Script has .prog(in apps) &amp; D2k libraries have .plx&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;b.&lt;/span&gt; When you register an executable with Oracle Apps, you must then register this against an Application.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;c&lt;/span&gt;. Each application is mapped to a specific path,say to a directory in unix box. For example, Applicaton XXPO (that holds PO Customizations) may map to /home/oracle/apps/appl/po&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;d. &lt;/span&gt; Say you have developed/customized a report for PO Module. Assume your report executable name is XXPOPRINT.rdf   . If you register this executable with XXPO applicaton, then this rdf must be copied/ftp'ed to  /home/oracle/apps/appl/po&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;e&lt;/span&gt;. When  running this report in Oracle Apps, oracle will ask below series of questions to itself&lt;br /&gt;&lt;span style="font-style: italic;"&gt; I see that user is running XXPOPRINT.rdf, which applicaton is this report registered against? Oh well, it is XXPO application, then where is the directory location where I can expect to find this file? Oh ok, application definition of XXPO is mapped to  /home/oracle/apps/appl/po (as per application definition), hence lets pick the rdf from  /home/oracle/apps/appl/po/reports/US&lt;/span&gt;&lt;br /&gt;Here lies the significance of applicaton in oracle apps.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Now some notes:-&lt;/span&gt;&lt;br /&gt;1. Profile options can be defined at application level too.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2&lt;/span&gt;. All the Forms &amp; Reports are attached to an Application.&lt;br /&gt;3. Each application has a base path, which effectively is also the Environment variable on operating system.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The below image can be clicked to see how applications are defined in Oracle Apps. One needs to navigate to System Administrator responsibilotu. and select Menu /Application/Register.&lt;br /&gt;As a developer, it is not your responsibility to define this, however I suggest that you  understand this well.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/1.6.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/1.3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116103393137207759?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116103393137207759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116103393137207759' title='26 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116103393137207759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116103393137207759'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/applications-in-oracle-apps.html' title='Applications in Oracle Apps'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>26</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116072392681871511</id><published>2006-10-13T00:14:00.000-07:00</published><updated>2007-03-21T09:23:22.494-07:00</updated><title type='text'>ORG_ID and Multi Org In Oracle Apps</title><content type='html'>In this Oracle Apps training article, we will learn about org_id. I hope that you have read and understood the significance of profile options that we discussed in the earlier chapter.&lt;br /&gt;&lt;br /&gt;Before I tell you what is org_id, lets do some questions &amp; answers:-&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why do we need org_id&lt;/span&gt;&lt;br /&gt;In any global company, there will be different company locations that are autonomous in their back office operations. For example, lets take the &lt;span style="font-style: italic; color: rgb(0, 0, 102);"&gt;example of a gaming company named GameGold Inc &lt;/span&gt;that has operations in both UK and France.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Please note the following carefully:-&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; This company(GameGold Inc) has offices in both London and Paris&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; UK has different taxation rules that France, and hence different tax codes are defined for these countries.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.&lt;/span&gt;GameGold Inc has implemented Oracle Apps in single instance(one common Oracle Apps database for both UK &amp; France).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.&lt;/span&gt; When "UK order entry" or "UK Payables" user logs into Oracle Apps, they do not wish to see tax codes for their French sister company. This is important because French tax codes are not applicable to UK business.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5.&lt;/span&gt; Given the single database instance of GameGold Inc, there is just one table that holds list of taxes. Lets assume that the name of the Oracle table is ap_tax_codes_all&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6.&lt;/span&gt; Lets assume there are two records in this table.&lt;br /&gt;Record 1 tax code -"FRVAT"&lt;br /&gt;Record 2 tax code - "UKVAT"&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;7.&lt;/span&gt; Lets further assume that there are two responsibilities&lt;br /&gt;Responsibility 1 - "French order entry".&lt;br /&gt;Responsibility 2 - "UK order entry"&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;8.&lt;/span&gt; Now, users in France are assigned responsibility 1 -  "French order entry"&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;9.&lt;/span&gt; Users in UK will be using responsibility named "UK order entry"&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;10&lt;/span&gt;. In the Order Entry screen, there is a field named Tax Code(or VAT Code).&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;11.&lt;/span&gt; To the French user, from the vat field in screen, in list of values UKVAT  must not be visible.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;12.&lt;/span&gt; Also, the "French order entry" user should only be able to select "FRVAT" in the tax field.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;13.&lt;/span&gt; Similarly, UK order entry user, that uses responsibility "UK Order Entry", only "UKVAT" should be pickable.&lt;br /&gt;&lt;br /&gt;How can all this be achieved, without any hard coding in the screen.&lt;br /&gt;Well....the answer is org_id&lt;br /&gt;&lt;br /&gt;ORG_ID/Multi-Org/Operating Unit are the terminologies that get used interchangeably.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;In brief steps, first the setup required to support this....&lt;br /&gt;The screenshots are at the bottom of the article&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; You will be defining two organizations in apps named "French operations" and "UK Operations". This can be done by using organization definition screen.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; In Oracle Apps, an organization can be classified as HRMS Org, or Inventory Warehouse Org, or Business Group, Operating Unit Org or much more types. Remember, Organization type is just a mean of tagging a flag to an organization definition.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.&lt;/span&gt; The two organizations we define here will be of type operating unit. I will be using words org_Id &amp; operating unit interchangeably.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.&lt;/span&gt; Lets say, uk org has an internal organization_I'd =101&lt;br /&gt;And french org has orgid =102.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; How will you establish  a relation betwee uk responsibility and uk organization.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; By setting profile option MO : Operating unit  to a value of UK Org, against uk order entry responsibility&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Qns:&lt;/span&gt; How will the system know that UKVAT belongs to uk org?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Ans:&lt;/span&gt; In VAT code entry screen(where Tax Codes will be entered), following insert will be done&lt;br /&gt;Insert into ap_vat_codes_all values(:screenblock.vatfield, fnd_profile.value('org_id').&lt;br /&gt;Alternately, use USERENV('CLIENT_INFO')&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Next question&lt;/span&gt;, when displaying VAT Codes in LOV, will oracle do: select * from ap_vat_codes_all where org_id=fnd_profile.value('ORG_ID')?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer:&lt;/span&gt; almost yes.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Oracle will do the following&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; At the tme of inserting data into multi-org table, it will do insert into (vatcode,org_id) ....&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; Creates a view in apps as below&lt;br /&gt;Create or replace view ap_vat_codes as Select * from ap_vat_codes_all where org_id = fnd_profile.value('ORG_ID')&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3.&lt;/span&gt; In the lov, select * from ap_vat_codes ,&lt;br /&gt;&lt;br /&gt;If the above doesn't make sense, then keep reading.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;May be &lt;/span&gt;&lt;span style="font-weight: bold;"&gt;quick revesion&lt;/span&gt; is necessary:_&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1.&lt;/span&gt; In multi org environment(like uk + france in one db), each Multi-Org Table will have a column named org_id. Tables like invoices are org sensitive, because UK has no purpose to see and modify french invoices. Hence a invoice table is a candidate for ORG_ID column.&lt;br /&gt;By doing so, UK Responsibities will filter just UK Invoices. This is possible because in Apps, Invoice screens will use ap_invoices in their query and not AP_INVOICES_ALL.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2.&lt;/span&gt; Vendor Sites/Locations are partitined too, because UK will place its ordersfrom dell.co.uk whereas france will raise orders from dell.co.fr.  These are called vendor sites in Oracle Terminology. &lt;span style="font-weight: bold;"&gt;&lt;br /&gt;3.&lt;/span&gt; Any table that is mutli-org (has column named org_id),  then such table name will end with _all&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4.&lt;/span&gt; For each _all table , Oracle provides a correspondong view without _all. For examples &lt;span style="font-style: italic;"&gt;create or replace view xx_invoices as select * from xx_invoices_all where org_id=fnd _profile.value('org_id').&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;5.&lt;/span&gt; At the time of inserting records in such table, org_id column will always be populated.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;6.&lt;/span&gt; If you ever wish to report across all operating units, then select from _all table.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;7. &lt;/span&gt;_all object  in APPS will be a synonym to the corresponding _all table in actual schema. For example po_headers_all in apps schema is a synonym for po_headers_all in PO schema.&lt;br /&gt;8. When you connect to SQL*Plus do the below&lt;br /&gt;connect apps/apps@dbapps ;&lt;br /&gt;--assuming 101 is French Org Id&lt;br /&gt;execute dbms_application_info.set_client_info ( 101 );&lt;br /&gt;select tax_code from ap_tax_codes ;&lt;br /&gt;---Returns FRVAT&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;--assuming 102 is UKOrg Id&lt;br /&gt;execute dbms_application_info.set_client_info ( 102 );&lt;br /&gt;select tax_code from ap_tax_codes ;&lt;br /&gt;---Returns UKVAT&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Now some screenshots&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/1.3.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/1.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/2.2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/2.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/3.2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/3.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/4.2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/4.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/5.2.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/5.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/6.1.jpg"&gt;&lt;img style="cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/6.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Anil Passi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116072392681871511?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116072392681871511/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116072392681871511' title='105 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116072392681871511'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116072392681871511'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/orgid-and-multi-org-in-oracle-apps.html' title='ORG_ID and Multi Org In Oracle Apps'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>105</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116061371216001508</id><published>2006-10-11T17:12:00.000-07:00</published><updated>2007-02-05T06:13:37.553-08:00</updated><title type='text'>Profile Options Examples Screenshots</title><content type='html'>You have reached this page from &lt;a href="http://getappstraining.blogspot.com/2006/10/what-are-profile-options-in-oracle_10.html"&gt;Profile Options Training Article&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Firstly, lets define the responsibility for Clerk, as we discussed in Article.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/1.1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/1.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Next, lets define the sales manager responsibility, as we discussed in Article.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/2.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Lets define user JOHN, that is Clerk&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/3.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And also, lets define user SMITH ( Sales manager )&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/4.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/4.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, we need to define the profile option for discount, hence go to responsibility "Application Developer"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/5.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/5.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;When you click on menu "Profile" above, you will then see below screen for defining profile option. Please note that the "Name" field is the short name of profile option, and it is this name used in API call to FND_PROFILE.value&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/6.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/6.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, after having defined a profile option, its time to assign these to JOHN &amp; SMITH.&lt;br /&gt;Hence go to responsibility "System Administrator"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/7.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/7.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Click on Menu Profile/System, as below&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/8.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/8.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;The profile option assignment screen looks like below. Enter JOHN in USER, OEPASSI% in Profile,  to select profile named "OEPASSI Maximum Discount Allowed"&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/9.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/9.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Assign a value of 5 to the user.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/10.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/10.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Click on torch, to return to search screen as below&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/11.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/11.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;and this time we will assign value of 15 against user SMITH.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/12.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/12.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;OK, what if we have too many clerks, we can also simply assign profile value to Responsibility of Clerk. Doing so, all the users that use this responsibility, will inherit profile option value against Responsibility.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/13.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/13.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/14.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/14.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Assign 5% max discount for Clerks&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/15.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/15.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Now, lets select Sales Manager responsibility in profile screen&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/16.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/16.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Search on this...as below......&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/17.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/17.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Assign value 15% to Sales Manager responsibility.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/18.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/400/18.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That's it for setup.&lt;br /&gt;Any questions? leave your question by click on &lt;a href="http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116054841169514684"&gt;link Leave Comment for this article&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks&lt;br /&gt;Anil Passi&lt;br /&gt;&lt;span style=""&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;  &lt;v:stroke joinstyle="miter"&gt;  &lt;v:formulas&gt;   &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;   &lt;v:f eqn="sum @0 1 0"&gt;   &lt;v:f eqn="sum 0 0 @1"&gt;   &lt;v:f eqn="prod @2 1 2"&gt;   &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;   &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @0 0 1"&gt;   &lt;v:f eqn="prod @6 1 2"&gt;   &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;   &lt;v:f eqn="sum @8 21600 0"&gt;   &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;   &lt;v:f eqn="sum @10 21600 0"&gt;  &lt;/v:formulas&gt;  &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;  &lt;o:lock ext="edit" aspectratio="t"&gt; &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" style="'width:482.25pt;"&gt;  &lt;v:imagedata src="file:///C:\DOCUME~1\apassi\LOCALS~1\Temp\msohtml1\01\clip_image001.png" title=""&gt; &lt;/v:shape&gt;&lt;![endif]--&gt;&lt;!--[if !vml]--&gt;&lt;!--[endif]--&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116061371216001508?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116061371216001508/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116061371216001508' title='92 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116061371216001508'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116061371216001508'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/profile-options-examples-screenshots.html' title='Profile Options Examples Screenshots'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>92</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116054841169514684</id><published>2006-10-10T23:32:00.001-07:00</published><updated>2007-02-21T00:16:31.133-08:00</updated><title type='text'>What are Profile Options in Oracle Apps ?</title><content type='html'>Profile Options provide flexibility to Oracle Apps. They are a key component of Oracle Applications, hence these much be understood properly. I will be taking multiple examples here to explain what profile options mean. I will also try to explain by stepping into Oracle shoes "How will you design a program that is flexible", by using Profile Options.&lt;br /&gt;&lt;br /&gt;Following that, if you still have questions regarding profile options, then leave a comment and I promise to respond. For the learners of Oracle Apps, understanding profile options is mandatory.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;What is profile option?&lt;/span&gt;&lt;br /&gt;The profile option acts like a Global Variable in Oracle.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Why does Oracle provide profile options?&lt;/span&gt;&lt;br /&gt;These are provided to keep the application flexible. The business rules in various countries and various companies can be different. Hence the profile options are delivered by Oracle in such a manner to avoid hard-coding of logic, and to let the implementation team at site decide the values of those variables.&lt;br /&gt;&lt;br /&gt;For screenshots of below listed examples in this article, please &lt;span style="font-size:130%;"&gt;&lt;a href="http://getappstraining.blogspot.com/2006/10/profile-options-examples-screenshots.html"&gt;click this link&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;span style="font-weight: bold;"&gt;Enough definitions, give me some scenarios where profile options are used by Oracle....&lt;/span&gt;&lt;br /&gt;1. There are profile options which can turn the debugging on, to generate debug messages. Say one of 1000 users reports a problem, and hence you wish to enable debugging against just that specific user. In this case you can “Turn On” the debugging profile option "again that specific user".&lt;br /&gt;2. There are profile options that control which user can give discount to their customers at the time of data entry. You can set profile option "Discount Allowed" to a value of either Yes or No against each Order Entry user.&lt;br /&gt;3. Lets assume an Organization has department D1 and D2. Managers of both the Departments have "HRMS Employee View" responsibility. But you do not want Manager of D2 to be able to see the list of Employees in Organization D1. Hence you can set a profile option against the username of each of these users. The value assigned to such profile option will be "Name of the Organization" for which they can see the employees. Of course, the SQL in screen that displays list of employees will filter off the data based on “logged in users profile option value”.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Let’s take an example.&lt;/span&gt; Let’s assume you are a developer in Oracle Corporation building a screen in ERP. Let us further assume that you are developing an Order Entry screen.&lt;br /&gt;Assume that business requirements for your development work is:-&lt;br /&gt;1. Screen should be flexible to ensure that different users of the screen can give different levels of discounts. For example, a clerk Order Entry User can give no more than 5% discount. But Sales Manager can enter an Order with 15% discount.&lt;br /&gt;2. There should not be any hard-coding regarding the maximum permissible discount.&lt;br /&gt;3. In the screen there will be a discount field.&lt;br /&gt;4. When the discount value is entered in discount field, an error will be raised if user violates the maximum permissible discount.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Here is how Oracle will code this screen&lt;/span&gt;&lt;br /&gt;1. They will define a profile option named "OEPASSI Maximum Discount Allowed".&lt;br /&gt;2. The short name of this profile option is "OEPASSI_MAX_DISCOUNT"&lt;br /&gt;2. In the  when-validate-item of the discount field(assuming Oracle Forms), following code will be written&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  IF :oe_line_block.discount_value &gt; fnd_profile.value('OEPASSI_MAX_DISCOUNT') &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  THEN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;     message( &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;      'You can’t give discount more than ' &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;       || fnd_profile.value('OEPASSI_MAX_DISCOUNT') || '%' ) ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;     raise form_trigger_failure ;-- I mean raise error after showing message&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  END IF ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Here is how, the client implementing Oracle Order Entry will configure their system.&lt;/span&gt;&lt;br /&gt;1. Navigate to System administration and click on system profile menu.&lt;br /&gt;2. For Clerk User(JOHN), set value of profile "OEPASSI Maximum Discount Allowed" to 5&lt;br /&gt;For Sales Manager User(SMITH), set value of profile "OEPASSI Maximum Discount Allowed" to 15&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Question: &lt;/span&gt;This sounds good, but what if you have 500 Order Entry Clerks and 100 Order Entry Sales Managers? Do we have to assign profile option values to each 600 users?&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Answer : &lt;/span&gt;Well, in this case, each Clerk will be assigned Responsibility named say “XX Order Entry Clerk Responsibility”&lt;br /&gt;Each Sales Manager will be assigned Responsibility named say “XX Order Entry Sales Manager Responsibility”&lt;br /&gt;In this case, you can assign a profile option value to both these responsibilities.&lt;br /&gt;“XX Order Entry Clerk Responsibility” will have a value 5% assigned against it. However, “XX Order Entry Sales Manager Responsibility” will have a profile option value of 15% assigned.&lt;br /&gt;In the  when-validate-item of the discount field, following code will then be written&lt;br /&gt;&lt;span style="font-style: italic;"&gt;IF :oe_line_block.discount_value &gt; fnd_profile.value('OEPASSI_MAX_DISCOUNT') &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  THEN&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;     message( &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;      'You can’t give discount more than ' &lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;       || fnd_profile.value('OEPASSI_MAX_DISCOUNT') || '%' ) ;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;     raise form_trigger_failure ;-- I mean raise error after showing message&lt;/span&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;  END IF ;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Please note that our coding style does not change even though the profile option is now being assigned against responsibility. The reason is that API fnd_profile.value  will follow logic similar to below.&lt;br /&gt;Does Profile option value exist against User?&lt;br /&gt;--Yes: Use the profile option value defined against the user.&lt;br /&gt;--No: Does Profile option value exist against Responsibility&lt;br /&gt;-----Yes: Use the profile option value defined against the current responsibility in which user  has logged into.&lt;br /&gt;     -----No: Use the profile option value defined against Site level.&lt;br /&gt;&lt;br /&gt;For screenshots of examples in this article, please &lt;span style="font-size:130%;"&gt;&lt;a href="http://getappstraining.blogspot.com/2006/10/profile-options-examples-screenshots.html"&gt;refer this link&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;a href="http://getappstraining.blogspot.com/2006/10/profile-options-examples-screenshots.html"&gt;&lt;/a&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116054841169514684?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116054841169514684/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116054841169514684' title='147 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116054841169514684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116054841169514684'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/what-are-profile-options-in-oracle_10.html' title='What are Profile Options in Oracle Apps ?'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>147</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116054836041251673</id><published>2006-10-10T23:32:00.000-07:00</published><updated>2006-10-10T23:32:40.423-07:00</updated><title type='text'>What are Profile Options in Oracle Apps ?</title><content type='html'>This article is under edit. Real life like examples and screenshots remain to be added.&lt;br /&gt;&lt;br /&gt;Profile Options provide flexibility to Oracle Apps. They are a key component of Oracle Applications, hence these much be understood clearly. I will be taking multiple examples here to explain what profile options mean. I will also try to explain by stepping into Oracle shoes "How  will you design a program that is flexible".&lt;br /&gt;&lt;br /&gt;Following that, if you still have questions regarding profile options, then leave a comment and I promise to respond. For a learner of Oracle Apps, this step is a must and not be skipped.&lt;br /&gt;&lt;br /&gt;What is profile option?&lt;br /&gt;The profile option acts like a Global Variable in Oracle.&lt;br /&gt;&lt;br /&gt;Why does Oracle provide profile options?&lt;br /&gt;These are provided to keep the application flexible. The business rules in different countries and&lt;br /&gt;different companies can be different. Hence, the profile options are delivered by Oracle in such a manner to avoid hardcoding of logic, and to let the implementation team at site decide the values of those variables.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Give me some scenarios where profile options are used by Oracle&lt;br /&gt;1. There are profile options which can turn the debugging on. Say one out of 1000 user reports a problem, and hence you wish to enable debugging against that specific user. In this case you can Turn On the debugging profile option "Again that user".&lt;br /&gt;2. There are profile options that control which user can give discount to their customers at the time of data entry. You can set profile option "Discount Allowed" to a value of either Yes or No against each Order Entry user.&lt;br /&gt;3. Lets assume an Organization has department D1 and D2. Managers of both the Departments have "HRMS Employee View" responsibility. But you do not want Manager of D2 to be able to see the list of Employees in Organization D1. Hence you can set a profile option against the username of each of these users. The value assigned to such profile option will be "Name of the Organization" for which they can see the employees.&lt;br /&gt;&lt;br /&gt;Lets take a example. Lets assume you are a developer in Oracle Corporation building a screen in ERP. Let us say you are developing an Order Entry screen.&lt;br /&gt;The requirements are:-&lt;br /&gt;1. Screen should be flexible to ensure that different users can give upto different discounts. For example, a clerk Order Entry User can give no more than 5% discount. But Sales Manager can enter an Order with 15% discount.&lt;br /&gt;2. There should not be any hardcoding regarding the maximum permissible discount.&lt;br /&gt;3. In the screen there will be a discount field.&lt;br /&gt;4. When the discount value is entered inn discount  field, an error will be raised if user violates the maximum permissible discount.&lt;br /&gt;&lt;br /&gt;Here is how Oracle will code this screen(link will be provided for screenshots)&lt;br /&gt;1. They will define a profile option named "OEPASSI Maximum Discount Allowed".&lt;br /&gt;2. The short name of this profile option is "OEPASSI_MAX_DISCOUNT"&lt;br /&gt;2. In the  when-validate-item  of the discount field(assuming oracle forms), following code will be written&lt;br /&gt;  IF :oe_line_block.discount_value &gt; fnd_profile.value('OEPASSI_MAX_DISCOUNT')&lt;br /&gt;  THEN&lt;br /&gt;     message(&lt;br /&gt;      'You cant give discount more than '&lt;br /&gt;       || fnd_profile.value('OEPASSI_MAX_DISCOUNT') || '%' ) ;&lt;br /&gt;     raise form_trigger_failure ;-- i mean raise error after showing message&lt;br /&gt;  END IF ;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is how, the client implementing Order Entry will configure their system.&lt;br /&gt;Navigate to System administration and click on profile menu.&lt;br /&gt;for Clerk User(JOHN), set value of profile "OEPASSI Maximum Discount Allowed" to 5&lt;br /&gt;For Sales Manager User(SMITH), set value of profile "OEPASSI Maximum Discount Allowed" to 15&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116054836041251673?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116054836041251673/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116054836041251673' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116054836041251673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116054836041251673'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/what-are-profile-options-in-oracle.html' title='What are Profile Options in Oracle Apps ?'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116052275311235634</id><published>2006-10-10T16:24:00.000-07:00</published><updated>2007-02-17T09:25:22.136-08:00</updated><title type='text'>Why call it Apps and not Oracle ERP ?</title><content type='html'>Ever wondered why is Oracle’s eBusiness Suite nicknamed apps?&lt;br /&gt;&lt;br /&gt;Is it just the short name of Oracle Applications? Possibly yes, however this question is an excuse for me to explain to you the evolution of APPS schema.&lt;br /&gt;&lt;br /&gt;I started working in Oracle Financials 9 years ago. Those days each module had its own database schema(which we still have). However, a purchasing user (until version 10.6) used to connect to PO schema (by the virtue of the screen being a PO screen).&lt;br /&gt;&lt;br /&gt;Hence, if a report or screen of AR ( Oracle Receivables ) module wanted to access a table named PO_HEADERS_ALL, they would then use notation PO.PO_HEADERS_ALL&lt;br /&gt;&lt;br /&gt;However, now we have several database schemas(in most cases one schema per module).&lt;br /&gt;&lt;br /&gt;The tables are still owned by their respective schema, but now we have a central schema named APPS. Oracle ERP simply connects to APPS database schema for all its operations(with a couple of exceptions that are best ignored for now).&lt;br /&gt;&lt;br /&gt;Hence, if Oracle wants to create anew table named PO_HEADERS_ALL, they will do the following&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1. &lt;/span&gt;Connect to po/po@XX_DEVDB&lt;br /&gt;Create table PO_HEADERS_ALL ( ...all columns here )&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step2.&lt;/span&gt; Grant all on po_headers_all to apps ;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 3.&lt;/span&gt; connect to apps/apps@XX_DEVDB&lt;br /&gt;Create or replace synonym PO_HEADERS_ALL for PO.PO_HEADERS_ALL&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;By following the above steps, as you can see, APPS schema is able to access PO_HEADERS_ALL without the notation po.po_headers_all&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;In Oracle ERP, now we have 100s of schemas, example po, ar, ap, gl etc.&lt;br /&gt;&lt;br /&gt;But the screens, reports, workflows etc in Oracle Applications connect to APPS schema only. Just like saying, ALL ROADS LEAD TO ROME. Here, all schema lead to APPS.&lt;br /&gt;&lt;br /&gt;Hence if you have a pseudo report that joins ap_invoices_all table( in AP schema) to PO_HEADERS_ALL table( in AP schema), you will simply need to do the below once connected to APPS.&lt;br /&gt;&lt;br /&gt;Selelct 'x’ from po_headers_all p, ap_invoices_all a where a.po_Id = p.po_Id&lt;br /&gt;&lt;br /&gt;Note, prior to version 10.6(of Oracle ERP –not database version), one had to do&lt;br /&gt;Selelct 'x’ from PO.po_headers_all p, AP.ap_invoices_all a where a.po_Id = p.po_Id&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note:&lt;/span&gt; To keep matters simple, I haven’t considered org_Id in this example.&lt;br /&gt;Org_Id will be covered in one of the following chapters ( have a look at index).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Moral of the Story is:- &lt;/span&gt;&lt;br /&gt;All the pl/sql packages will be created in APPS Schema&lt;br /&gt;All the views will be created in APPS Schema&lt;br /&gt;For each table in individual schema, there will exist one synonym in APPS schema&lt;br /&gt;Tables are not created in APPS schema.&lt;br /&gt;Every implementation has at least 1 custom schema, where custom tables are created.&lt;br /&gt;For each custom table created by you, you will need to create a Synonym in APPS schema&lt;br /&gt;As a developer, you will either connect to APPS Schema or to the custom schema where you will create new tables.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Some notes:-&lt;/span&gt;&lt;br /&gt;Custom tables are generally required in Oracle ERP because:-&lt;br /&gt;1. You wish to create a custom screens ( your own screen to capture some info) for a functionality that is not delivered by Oracle&lt;br /&gt;2. Pre-Interface tables ( Interface will certainly be discussed in one of the latter chapters)&lt;br /&gt;3. Temp processing&lt;br /&gt;4. Staging of data for third party extract interfaces….and much more&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116052275311235634?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116052275311235634/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116052275311235634' title='83 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116052275311235634'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116052275311235634'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/why-call-it-apps-and-not-oracle-erp.html' title='Why call it Apps and not Oracle ERP ?'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>83</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116046144121337310</id><published>2006-10-09T23:19:00.000-07:00</published><updated>2007-02-12T06:33:13.360-08:00</updated><title type='text'>What happens when you login to Apps?</title><content type='html'>&lt;strong&gt;&lt;/strong&gt;Firstly and surely there is a URL for oracle applications that is structured possibly in below format, although it can vary from version of apps.&lt;br /&gt;http://machinename:portnumber/OA_HTML/US/ICXINDEX.htm&lt;br /&gt;http://machinename:portnumber /oa_servlets/AppsLogin&lt;br /&gt;&lt;br /&gt;When you join an Oracle Apps development team for an employer, you will first be given URL of the development environment.&lt;br /&gt;&lt;br /&gt;In any Oracle Apps implementation project (assuming it has gone live), there are minimum of three environments, each with different URL's and different database instances.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;These are:-&lt;/span&gt;&lt;br /&gt;---------------&lt;br /&gt;Development environment&lt;br /&gt;Testing environment&lt;br /&gt;Production environment&lt;br /&gt;&lt;br /&gt;You will most probably, as a techie, be given url,username ad password of the development environment.&lt;br /&gt;&lt;br /&gt;What happens when you login(no advanced info here):-&lt;br /&gt;--------------------------------------&lt;br /&gt;A. Your login gets authenticated against a table named fnd_user for your username and password. The screen below is where username and password defined. This screen is called user definition screen. Only system administrators have access to this screen.&lt;br /&gt;&lt;br /&gt;B. As you can see above, this username xxpassi is attached to two responsibilities (this will be discussed in details in latter training lesson). It is this assignment to the responsibility that controls what a logged in person can do and can't do. In layman’s words, a responsibility is a group of menu.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/1.0.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/320/1.0.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;C. When you successfully login you will see below screens.&lt;br /&gt;&lt;br /&gt;This screen below will prompt you to change your password, to a value different than that assigned by System Administrator.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/2.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/320/2.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/3.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/320/3.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Click on either of the above Responsibility Names, will initiate Oracle Apps( Note: You might be prompted to install jinitiator…..just keep clicking OK…OK for all Jinitiator messages). Effectively, what I mean to say is that you do not need to download jinitiator from anywhere; Oracle will do this automatically (provided your DBA’s got this cofig’ed) for you during your first logon attempt from the PC. Once your jInitiator gets installed&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/4.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/320/4.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/1078/3631/1600/5.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/blogger/1078/3631/320/5.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hurray, we have logged into apps.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Some notes on advanced info (beginners may ignore this):&lt;/span&gt;&lt;br /&gt;Oracle internally uses a login named GUEST, prior to invoking validation of actual username. Some people regard this as a security threat, but it isn’t. Your DBA’s can change the “guest” password from its default value after installation.&lt;br /&gt;&lt;br /&gt;Oracle uses a DB User account named applsyspub to which it first connects during validation of LOGIN. This user account has very restricted privileges and has access to below objects (primarily for authentication purposes):-&lt;br /&gt;FND_APPLICATION&lt;br /&gt;FND_UNSUCCESSFUL_LOGINS&lt;br /&gt;FND_SESSIONS&lt;br /&gt;FND_PRODUCT_INSTALLATIONS&lt;br /&gt;FND_PRODUCT_GROUPS&lt;br /&gt;FND_MESSAGES&lt;br /&gt;FND_LANGUAGES_TL&lt;br /&gt;FND_APPLICATION_TL&lt;br /&gt;FND_APPLICATION_VL&lt;br /&gt;FND_LANGUAGES_VL&lt;br /&gt;FND_SIGNON&lt;br /&gt;FND_PUB_MESSAGE&lt;br /&gt;FND_WEBFILEPUB&lt;br /&gt;FND_DISCONNECTED&lt;br /&gt;FND_MESSAGE&lt;br /&gt;FND_SECURITY_PKG&lt;br /&gt;FND_LOOKUPS&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116046144121337310?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116046144121337310/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116046144121337310' title='115 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116046144121337310'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116046144121337310'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/what-happens-when-you-login-to-apps.html' title='What happens when you login to Apps?'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>115</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116035435340558615</id><published>2006-10-08T17:34:00.000-07:00</published><updated>2007-02-21T23:09:29.006-08:00</updated><title type='text'>Oracle Apps Training Index</title><content type='html'>Please find the list of Oracle Apps Training Articles that are being covered by this blog.&lt;br /&gt;&lt;br /&gt;Also, I am currently finalizing the list of Training lessons that will be covered. This list will change based upon the requests/suggestions that I will receive. As and when the corresponding Article gets posted, the article below will then appear hyperlinked.&lt;br /&gt;&lt;br /&gt;You may suggest changes to the below schedule by &lt;a href="mailto:anilpassi@gmail.com"&gt;emailing me&lt;/a&gt; or by dropping a comment to this article.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Training Articles listed below will published on this blog:-&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Note: The articles already published appear with a URL below&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;1.       &lt;a style="font-weight: bold;" href="http://getappstraining.blogspot.com/2006/10/what-happens-when-you-login-to-apps.html"&gt;What happens when you login to Oracle Apps&lt;/a&gt;&lt;br /&gt;2.    &lt;a href="http://getappstraining.blogspot.com/2006/10/why-call-it-apps-and-not-oracle-erp.html"&gt;&lt;span style="font-weight: bold;"&gt;Why is it called apps&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;3.    &lt;a href="http://getappstraining.blogspot.com/2006/10/what-are-profile-options-in-oracle_10.html"&gt;&lt;span style="font-weight: bold;"&gt;What is a profile option?&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;4.    &lt;a style="font-weight: bold;" href="http://getappstraining.blogspot.com/2006/10/orgid-and-multi-org-in-oracle-apps.html"&gt;What is org_id. Why is it important.&lt;/a&gt;&lt;br /&gt;5.    &lt;a style="font-weight: bold;" href="http://getappstraining.blogspot.com/2006/10/applications-in-oracle-apps.html"&gt;Relationship between Applications and Modules&lt;/a&gt;&lt;br /&gt;6.    &lt;a style="font-weight: bold;" href="http://getappstraining.blogspot.com/2006/10/oracle-apps-deployment-training.html"&gt;Where to find/deploy the code (Forms tier/Middle tier or DB Tier)&lt;/a&gt;&lt;br /&gt;7.    &lt;a href="http://getappstraining.blogspot.com/2006/10/oracle-apps-training-testing.html"&gt;&lt;span style="font-weight: bold;"&gt;The testing cycle in Oracle Apps&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;8.    &lt;a style="font-weight: bold;" href="http://getappstraining.blogspot.com/2006/10/oracle-forms-functions-menus-and-their.html"&gt;Difference between forms and form functions and menu&lt;/a&gt;&lt;br /&gt;9.    &lt;a href="http://oracle.anilpassi.com/concurrent-programs-in-oracle-apps.html"&gt;&lt;span style="font-weight: bold;"&gt;What is a Concurrent Program&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;10.    &lt;a href="http://oracle.anilpassi.com/concurrent-manager-in-oracle-apps.html"&gt;&lt;span style="font-weight: bold;"&gt;What is concurrent Manager&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;11.    &lt;a href="http://oracle.anilpassi.com/value-set-basics-in-oracle-apps-2.html"&gt;&lt;span style="font-weight: bold;"&gt;What is a Value set&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;11a. &lt;a href="http://getappstraining.blogspot.com/2006/12/value-sets-in-oracle-apps.html"&gt;&lt;span style="font-weight: bold;"&gt;Different types of Value Sets&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;12.    &lt;a href="http://oracle.anilpassi.com/lookup-types-and-lookup-codes-in-oracle-apps.html"&gt;&lt;span style="font-weight: bold;"&gt;What is a lookup in oracle apps&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;13.    &lt;a href="http://getappstraining.blogspot.com/2006/10/difference-between-lookups-and-value.html"&gt;&lt;span style="font-weight: bold;"&gt;How does lookup differ from Value Sets&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;14.    &lt;a style="font-weight: bold;" href="http://oracle.anilpassi.com/descriptive-flexfield-basics-in-oracle-apps.html"&gt;What is a flexfield, and give example of simple Descriptive Flexfield&lt;/a&gt;&lt;span style="font-weight: bold;"&gt;.&lt;/span&gt;&lt;br /&gt;15.    &lt;a style="font-weight: bold;" href="http://oracle.anilpassi.com/context-sensitive-descriptive-flexfields.html"&gt;How to make context sensitive descriptive flexfields ( step by step)&lt;/a&gt;&lt;br /&gt;16.    &lt;a href="http://oracle.anilpassi.com/install-tools-for-oracle-apps-development.html"&gt;&lt;span style="font-weight: bold;"&gt;Setting up your PC for development environment&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;17. &lt;a style="font-weight: bold;" href="http://getappstraining.blogspot.com/2006/11/oracle-forms-basic-concepts.html"&gt;Oracle FormsD2k Basic Concepts&lt;/a&gt; (&lt;span style="font-style: italic;"&gt;Thanks Rakesh&lt;/span&gt;)&lt;br /&gt;18.    &lt;a href="http://oracle.anilpassi.com/forms-customization-steps-in-oracle-applications.html"&gt;&lt;span style="font-weight: bold;"&gt;Your Oracle forms customization steps&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;19.    &lt;a style="font-weight: bold;" href="http://oracle.anilpassi.com/a-new-custom-form-in-oracle-apps.html"&gt;Your first custom form from scratch&lt;/a&gt;&lt;br /&gt;20.    &lt;a href="http://oracle.anilpassi.com/customization-of-reports-in-oracle-apps.html"&gt;&lt;span style="font-weight: bold;"&gt;Your first report customization&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;21.    &lt;a href="http://getappstraining.blogspot.com/2006/11/develop-oracle-reports-concurrent.html"&gt;&lt;span style="font-weight: bold;"&gt;Your first custom report from scratch&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;22.    &lt;a href="http://getappstraining.blogspot.com/2006/11/steps-for-your-first-plsql-concurrent.html"&gt;&lt;span style="font-weight: bold;"&gt;Your first pl/sql concurrent program from scratch&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;23.    Your first java concurrent program from scratch&lt;br /&gt;24.    &lt;a style="font-weight: bold;" href="http://oracle.anilpassi.com/index.php?option=com_search&amp;Itemid=5&amp;amp;searchword=workflow+lesson&amp;submit=Search&amp;amp;searchphrase=all&amp;ordering=oldest"&gt;Workflow training&lt;/a&gt;&lt;br /&gt;25.    &lt;a style="font-weight: bold;" href="http://oracle.anilpassi.com/migration-program-in-apps.-migrate-customers.html"&gt;Your first data migration program&lt;/a&gt;&lt;br /&gt;26.    &lt;a href="http://oracle.anilpassi.com/key-flexfields-basics.html"&gt;&lt;span style="font-weight: bold;"&gt;Key Flexfields. What are they and why are they used&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;27.    Oracle Self service : Important profile options&lt;br /&gt;28.    How did oracle's self service evolve, a brief history&lt;br /&gt;29.    How to do Personalizations in Oracle Self Service&lt;br /&gt;30.    How to export and import self service personalizations from one environment to another&lt;br /&gt;31.    &lt;a href="http://oracle.anilpassi.com/fnd-debug-log-debugging-oracle-apps-code.html"&gt;&lt;span style="font-weight: bold;"&gt;How to debug programs oracle applications&lt;/span&gt;&lt;br /&gt;&lt;/a&gt;32.    Troubleshooting tips for investigating issues in Oracle Apps&lt;br /&gt;33.    How to make menu for specific concurrent programs.&lt;br /&gt;&lt;br /&gt;I do not wish to re-invent the wheel, hence if I come across an article on the web that already has any of the above training material, then a link will be published. You as a reader should also feel free to provide me a URL that I can link onto, provided that article is of good quality.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116035435340558615?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116035435340558615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116035435340558615' title='99 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116035435340558615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116035435340558615'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/oracle-apps-training-index.html' title='Oracle Apps Training Index'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>99</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116035360590452577</id><published>2006-10-08T17:20:00.000-07:00</published><updated>2007-02-19T18:52:12.640-08:00</updated><title type='text'>Prerequisites for Technical Oracle Apps Training</title><content type='html'>This blog is an effort to help you become a technical Oracle Apps consultant. In this blog, I will publish articles on Oracle Applications training right from the very basics.&lt;br /&gt;&lt;br /&gt;In my case, 10 years ago, I first took training in some programming languages like C,C++,VB, &amp; of course Oracle. The good thing that came out was that I realised all programming languages have a  commonality, i.e logic. But logic iwas the thing I feared the most, I never knew I could do it. At university, I had always bunked my Fortran and Unix lessons simply because of the logic phobia I had in my mind. Anyway, eventually I learnt Oracle SQL-PL/SQL, Forms and Reports. The bottom line is, keep your fears aside and take the dive and get started with the learning path.&lt;br /&gt;&lt;br /&gt;Please note the pre-requisites. Kindly note that you can't jump onto becoming an Oracle Apps Technical Career path without having learnt the prerequisites that will form the base of Oracle Apps Development work.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pre-requisites&lt;/span&gt;&lt;br /&gt;------------------&lt;br /&gt;1. Learn SQL and PL/SQL.&lt;br /&gt;Firstly learn SQL. I think this &lt;a href="http://www.w3schools.com/sql/default.asp"&gt;link for w3schools&lt;/a&gt; will get you started from the very basics. You may also install Oracle Lite from &lt;a href="http://technet.oracle.com"&gt;technet&lt;/a&gt; and practice some SQL. Just the basic SQL with couple of joins and couple of where classes is good enough to get started. When learning SQL, try to imagine/visualize the scanning and filtering of records that Oracle will be performing behind the scenes.&lt;br /&gt;&lt;br /&gt;2. Learn D2k. More importantly Oracle Forms 6.0 and Reports 2.5/3.0. All you need to learn are the fundamentals at this stage. You should be able to created a Master Detail block based form that calls from PL/SQL and one pll. For Oracle Reports, you must try to develop a report from scratch that has at least two queries with one link joining the two. You should also know things like formula column, b4 report &amp;amp; after param triggers.&lt;br /&gt;&lt;br /&gt;3. It is good to know some Java Programming, however, knowledge of java has not yet become mandatory for Oracle Apps Technical Consultants. Ditto for XML and HTML. If you are a beginner, then don’t bother to learn Java right now. Java can be learnt in parallel while you work on Oracle Applications.&lt;br /&gt;&lt;br /&gt;Once having learnt the above tools, you will then be ready to begin Oracle Apps Technical Training from scratch.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116035360590452577?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116035360590452577/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116035360590452577' title='203 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116035360590452577'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116035360590452577'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/prerequisites-for-technical-oracle.html' title='Prerequisites for Technical Oracle Apps Training'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>203</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116026508189736095</id><published>2006-10-07T16:47:00.000-07:00</published><updated>2007-02-20T10:58:03.026-08:00</updated><title type='text'>Confusion: Functional or Technical Apps Consultant</title><content type='html'>Parvin raised a very valid and important question.&lt;br /&gt;Should he work towards becoming a Functional Apps Consultant or a Technical Apps Consultant? I guess, this is a very common confusion for those who decide to switch their career into becoming an Oracle Apps Consultant. It becomes important to find an answer to this question specially if you are about to commit huge amount of money into an Oracle Applications Training Course. Finding the right answer to this question is very important, as it can possibly change the course of your life.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;First some thumb rules, that will hold true in most cases:-&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. You can work towards becoming a Functional Consultant if :-&lt;/span&gt;&lt;br /&gt;a. You are from an Accounting Background&lt;br /&gt;b. You were a Super User for Financials/HRMS Manufacturing Modules for many years. You may even consider taking up a Support Analyst role.&lt;br /&gt;c. You have never written a "Hello World" program, regardless of the programming language.&lt;br /&gt;d. You are a MBA from a non-technical background&lt;br /&gt;e. You don't mind spending most part of your day in meetings &amp; writing documents.&lt;br /&gt;f. You understand the overall ERP system very well, and how it all hangs together knowing the dependencies between various modules.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. You must work towards becoming a Technical Consultant if:-&lt;/span&gt;&lt;br /&gt;a. You are from a technical background, regardless of the stream i.e. Electrics/Comps etc. Even a Civil Engineer can make into a good Oracle Apps Technical Consultant.&lt;br /&gt;b. You want to be a technical Oracle Apps consultant but you fear whether you can succeed. Remember, fear is important, as it gets the best out of you.&lt;br /&gt;c. You find writing lengthy documents very boring.&lt;br /&gt;d. You like to get a feeling of having achieved something each day.&lt;br /&gt;e. You do not have much patience(like me), then surely you must not be a functional person. Some of the end users can really test your patience to limits.&lt;br /&gt;f. You don't mind taking difficult challenges at times.&lt;br /&gt;g. You can't be bothered to know how say Order Management links with General Ledger.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pros of choosing a Technical path&lt;/span&gt;&lt;br /&gt;1. For each Functional person, there are at an average 3 to 5 technical consultants. Hence more job opportunities for Technical Oracle Applications Role.&lt;br /&gt;2. If you are an immigrant, then you face lesser comptetion from local workforce in western countries. For example, in UK I notice there are more Brits doing functional job than the number of Brits doing technical job. So much so that, I have seen some of my old techie friends to switch to functional roles latter in their career.&lt;br /&gt;3. Not much emphasis on educational background. This holds very true in Europe, where you will be recruited(provided you have some experience) purely on the basis of your technical skills &amp; technical knowledge.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cons of choosing a Technical path&lt;/span&gt;&lt;br /&gt;1. You have to keep up with ever changing technology and toolsets.&lt;br /&gt;For example tools like Oracle Forms may be totally redundant after 5Years from now.&lt;br /&gt;2. More and more work in Oracle Apps is moving to Functional domain. To give an example, prior to introduction of self service personalizations, a developer was required for any single change to the layout of the screen. However now, a functional or even a business super user can be trained within half a day to do Self Service Personalizations.&lt;br /&gt;s to invest in a Oracle Apps Training course.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Pros of choosing a Functional path&lt;/span&gt;&lt;br /&gt;1. Legislations and business rules do not change as often as does the technology changes.&lt;br /&gt;Hence your knowledge can be carried forward from one version of Applicatiton to another.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Cons of choosing a Functional path&lt;/span&gt;&lt;br /&gt;1. Boring at times, because too much time gets wasted in meetings.&lt;br /&gt;2. It is almost impossible to keep away from office politics.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Another stream&lt;/span&gt;&lt;br /&gt;One ignored stream is Support Analyst. But the reason I haven't discussed this streat here is because you rarely become Support Analyst in your first job. However, to become a good Support Analyst you must know a little bit of SQL.&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Anil Passi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116026508189736095?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116026508189736095/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116026508189736095' title='243 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116026508189736095'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116026508189736095'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/confusion-functional-or-technical-apps.html' title='Confusion: Functional or Technical Apps Consultant'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>243</thr:total></entry><entry><id>tag:blogger.com,1999:blog-35634327.post-116019110451777103</id><published>2006-10-06T20:11:00.000-07:00</published><updated>2007-02-04T18:55:51.713-08:00</updated><title type='text'>Become Apps Consultant from Oracle Consultant / Programmer</title><content type='html'>Dear friends,&lt;br /&gt;&lt;br /&gt;This blog is dedicated to help you become an Oracle Apps Consultant.&lt;br /&gt;There are many in this world who know Oracle as a database, but do not know how to become an Oracle Apps Consultant. I will take you through this journey of becoming an Oracle Apps Consultant.&lt;br /&gt;&lt;br /&gt;There are thousands of websites for you to learn pl/sql, hence some basic knowledge of SQL, PL/SQL, Forms &amp; Reports will be assumed.&lt;br /&gt;&lt;br /&gt;To begin with, I will teach you the basics of Oracle Applications, its foundation &amp;amp; security.&lt;br /&gt;&lt;br /&gt;When I learnt APPS, the first thing I wanted to learn :-&lt;br /&gt;1. How to logon&lt;br /&gt;2. How is my login validated&lt;br /&gt;3. After logging into Oracle Apps, what do you see there&lt;br /&gt;4. How do you access screens&lt;br /&gt;5. How do you run reports&lt;br /&gt;6. How do you build interfaces&lt;br /&gt;7. How do you configure Oracle Applications&lt;br /&gt;&lt;br /&gt;I will be covering such topics in this journey to help you become an Oracle Financials Consultant.&lt;br /&gt;&lt;br /&gt;The knowledge provided here will be just enough to get you kick started.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks,&lt;br /&gt;Anil Passi&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/35634327-116019110451777103?l=getappstraining.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://getappstraining.blogspot.com/feeds/116019110451777103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=35634327&amp;postID=116019110451777103' title='45 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116019110451777103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/35634327/posts/default/116019110451777103'/><link rel='alternate' type='text/html' href='http://getappstraining.blogspot.com/2006/10/become-apps-consultant-from-oracle.html' title='Become Apps Consultant from Oracle Consultant / Programmer'/><author><name>Anil Passi</name><uri>http://www.blogger.com/profile/14859722075898946765</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>45</thr:total></entry></feed>
