Вы находитесь на странице: 1из 84

1

ORACLEAPPLICATIONS

1. INTRODUCTION
ERP:ResourcePlanningwithinanEnterprise.ERPisatermthatcoverswholeProduct line
n of different module. Any business will greatly benefits by adapting this featur
n customize it or integrate it with other Packages tosatisfyuniquerequire
ectively 2).MaintainingStandardizations
leisDataIntegration. Master data is Integrated: All the application share co
ers, suppliers, employee, items and other entities that are used by multiple appl
ansactiondataisIntegrated:Oracleautomaticallybridgetransactionsfromone systemtoan
cial data is integrated: Financial data is carried in a common format, and finan
ittedfromoneapplicationtoanother.

2
2.
ORACLEAPPLICATIONS

Oracle Applications is one of the Enterprise Resource Planning (ERP) Business Ap


ckages. It comprises of various Modules, Libraries, Forms, Reports, etc. Oracle Ap
s is designed on the basis of Generally Acceptable Accounting Principles(GAAP).It
heBusinessneedsofanOrganization.Itconsists of256differenttypesofmodules,4000Fo
nyOrganizationcan adopt this package and use the supplied modules with the custo
their businessrequirements. Oracle works on 3 Tier Architecture (i.e. Client, A
Database). It supports Form based Interface (i.e. FIN, MFG, MM & HR) and HTML b
.e.CRM,SSWA). Note:SSWASelfServiceWebArchitecture
Applications3TierArchitecture
Desktop Tier Application Tier Database Tier
Forms Server Web Browser Database Server
Reports Server
iAS Server Concurrent Processing Server Discoverer Server
Administration Server

3
3.
PRODUCTDIRECTORYSTRUCTURE

WhenOracleApplicationsinstallsinamachineitcreatesabasedirectorywiththe nameO
toryforaccessingtheapplication.

OracleApplicationssuppliedinthreeflavors
1. ProductionOracleApplications:usedforimplementinginanyorganization. 2. VisionOrac
ations:usedforDemonstrationorTrainingpurpose. 3. TestOracleApplications:usedforR&
ProductDirectoryStructureofOracleApplications

ORACLE Production OA Vision OA Test OA


PRODDB PRODORA PRODCOMM PRODDATA PRODAPPL
VISDB VISORA VISCOMM VISDATA VISAPPL
TESTDB TESTORA TESTCOMM TESTDATA TESTAPPL

VISDB: ConsistsofOracle8i/Oracle9i/Oracle10gDatabaseexecutablefiles. V
iddlewareDatabaseexecutablefiles. VISCOMM:Captures Control Script files, which a
rt or Stop the ApplicationServices. VISDATA: Capturesall.DBFfiles. VISAPPL:
ificDirectoriesandSomeSpecialDirectories.

4
APPL_TOP(i.e.VISAPPL)DirectoryStructure

APPL_TOP GL 11.5.0 APPL_TOP = D:\ORACLE\VISAPPL


Forms AR AP Reports BIN LIB SQL HTML LOG OUT Message FND AU 11.5.0 Forms Resourc
e
US US
US

5 GL_TOP:(APPL_TOP/GL/11.5.0)isoneoftheModuleDirectoryofOracleApplications. Itcon
edirectory(i.e.11.5.0)underwhichForms,Reports,BIN,LIB,SQL, etc., GL_TOP/11.5.0
rectorytostoreall.FMX(Compiled)Formfilesofa specificmodule. GL_TOP/11.5.0/Repor
ts directory to capture all the .RDF (Compiled) Reportfilesofaspecificmoduledir
gespecificdirectory. GL_TOP/11.5.0/BINwillcapturetheC,C++,PRO*C,SQL*LOADERetc.,
1.5.0/LIBwillcaptureall.OBJfilesofC,C++orJAVACLASSfiles. GL_TOP/11.5.0/Message
ssagebodyfiles. GL_TOP/11.5.0/LOGwillcaptureall.LOGfiles. GL_TOP/11.5.0/OUTwill
iles. GL_TOP/11.5.0/SQLwillcaptureall.SQLscriptfiles. GL_TOP/11.5.0/HTMLwillcap
HTMwebfiles. GL_TOP/11.5.0/FNDisaSpecialDirectoryknownasApplicationObjectLibrar
y.ItisusedtocaptureallModulesApplicationExecutableFiles. GL_TOP/11.5.0/AUisan
AU)Directory.Itconsistsofaapplication release SubDirectory, which consists of Fo
e directories. It is used to storeall.FMBand.PLLandPL/SQLLibraryfiles. GL_TO
Forms/USwillcapture.FMBFormfilesofallModules. GL_TOP/11.5.0//AU/11.5.0/Resource i
ore .PLL and .PL/SQL Library files of OracleApplications.

6
4.

DATAMODEL

WhenweinstallOracleDatabasebydefaultsystemwillcreatesSYSandSYSTEM schemas. Thes


ta Dictionary Tables. Like this if we install Oracle ApplicationsSystemwillautoma
esschemasofallModules(i.e.GL,AR,AP, etc.)withtherespectivemodulenameasUseran
hemas some special Schemas i.e. APPS, APPLSYS, APPLSYSPUB will be created for spe
. APPSADMIN Application Administrator GL/GL AR/AR User Schemas AP/AP PPR/PPR
APPLSYS/APPS FND Foundation Tables ALR Alert Tables WF Work Flow Tables AD Appli
cation database APPLSYSPUB/PU APPS/APPS

APPSSchema:ItisPublicSchema.Itconsistsofacollectionofpublicsynonymofall
theobjectsofalltheschemasintheApplicationdatabase.AlltheProcedures,Functions an
stbestoredinthisSchema.

APPLSYS Schema: This is a special Schema consists of the files starts with FND,
ALR,WFandAD.

APPLSYSPUBSchema: This schema is a collection of public synonyms of all FND


Tables, which are used for User verification. This is the Gate Way User ID of
s. Note:1.WhenwearechangingtheAPPSSchemapassword,firstwehavetochangein t
mas. 2.PasswordforbothAPPSandAPPLSYSshouldbesame. 3.Change
es and recreate the Concurrent Manager ServicewiththePasswordasAPPSPassword.

8
5. RESPONSIBILITIESANDUSER

Responsibility: It is a role authorized to access specific Forms and Programs of


particular Module. A responsibility is a collection of Menus, Request Groups and
enusandDataGroupsaremandatorytoaresponsibility.
Menu:AmenuisacollectionofSubMenusandFunctions.

RequestGroup(RG):ItisacollectionofconcurrentPrograms.Itisusedtorequest program
ty. Data Group (DG): It is a collection of Modules used to integrate one or
Modules for cross application transfer of data, cross application reporting and cr
ationreference.IfwewanttogetdatafromotherModulesweneedtodefinethose modulesi

Functions:Afunctionisapartofanapplicationsfunctionalitythatisregisteredunder
auniquenameforthepurposeofassigningitto,orexcludingitfrom,amenu(andby exten
racle Applications feature that lets you control user access to certain functions
fault,accesstofunctionalityisnotrestricted;yoursystem administrator customizes eac
bility at your site by including or excluding functions and menus in the Respons
ow. There are several types of functions:formfunctions,subfunctions,andnonformf

Thesearetwotypesoffunctions
1 FormFunctions:areusedtosecureFormsfromtheresponsibilities. 2 NonFormFunctions:
youtItemswithintheForm.

AdvantagesofFormFunctions
IfyouwanttoopentheFormindifferentmodeswithoutcreatingthecopies,we can create
the parameters based on the requirement. The parameter, which is passed in the f
ust be already defined in the form whiledesigningtheForm. Amenucanbeassignedt
ity.Ifyouwanttorestrict some of the Forms from a particular responsibility, we
nction of thoseFormsinMenuExclusionsoftheResponsibility.

PreDefinedResponsibilities
S.No 1 2 3 4 5 6 Module ApplicationObjectlibrary SystemAdministration OracleGen
ublicSectorPayables OracleReceivables OracleAlerts Responsibility ApplicationDevelop
temAdministrator GeneralLedgerSuperUser PayablesManager ReceivablesManager AlertsM

HowtoCreateaResponsibility?
Step1:ConnecttoOracleApplicationwithAPPSADMIN/APPSADMINUser. Step2:GotoApplicati
r. Step3:GotoSecuritythenResponsibilitythenDefine Step4:EntertheDataintheope
Note:AboveInformationofResponsibilityisstoredinFND_RESPONSIBILITYTable.

10

HowtoCreateaUser?
Step1:ConnecttoOracleApplicationwithAPPSADMIN/APPSADMINUser. Step2:GotoApplicati
r. Step3:GotoSecuritythenUserthenDefine Step4:EntertheDataintheopenedWindow

Note:AboveInformationofUserisstoredinFND_USERTable. UserResponsibilitiesst
ROUPSTable.

11
6.

NEWMODULEDEVELOPMENT
StepsrequiredfordevelopingaNewModule?

1. RegistertheNewModulewithAOLmodule.

SavetheEntries. 2.CreateaSchema/UserfortheNewModuleandGrantRollstoitfrom
s. SQL>CREATEUSERPPRSIDENTIFIDBYPPRS; SQL>GRANTCONNECT,RESOURCETOPPRS; SQL> 3.
toryStructuretotheNewModuleatServerend. \\Orafin8\d$\appl\pprs\11.5.0\forms\us \\
$\appl\pprs\11.5.0\reports\us \\Orafin8\d$\appl\pprs\11.5.0\bin \\Orafin8\d$\appl\
pprs\11.5.0\sqletc., 4. Create the Form Using Form Builder with all the coding
ed accordingtoOracleApplications. 5. CompiletheFormandCopy.FMXfileinModuleS
. Copysome.fmxFormfilesfromanyexistingmodulestonewmoduledirectoryfor registra
ormwithApplicationObjectLibrary(AOL)Module. ConnecttoAPPSTECH/APPSTECH GotoApplic
er

12 Application Form

Save&Close 8.CreateFormFunctionforalltheForm,whichareregisteredwithour
ECH GotoApplicationDeveloper Application Function

Save&Close 9. DefineamenuforournewmoduleusingAOLModule. ConnecttoAPPST

13 GotoApplicationDeveloper Application Menu



10.AssigntherequiredFormFunctionstothemenus.

11.DefineDataGroup(DG)usingSystemAdministrationModule. SystemAdministrator

14

11.DefineaResponsibilityforthenewmodule. SystemAdministrator Security Re

12.AssignResponsibilitytotheUser. SystemAdministrator Security User

15

13.SetupthebasepathoftheNewModuleattheServerend. PPRS_TOPisthebasepath

CreateanewString RenametheNewStringasPPRS_TOP PPRS_TOP:\\Oracle\visappl\pprs\1

16
7.

TABLEREGISTRATION

Q:WhywehavetoregisteraTable?
Ans:TodefinetheSpecialObjectsatthetimeofdefinitionofaBusinessApplications. S
ields(KFF)andDescriptiveFlexFields(DFF)

InApplicationsTablesareclassifiedintothreecategories
1 TransactionDataTables:arenormaltables,whichareusedtostorethedata inallthemo
nyDMLoperations. 2 SeedDataTables:Thedataforthesetablescreatedatthetimeofinst
esentinthesetablesarereadonly. 3 InterimDataTables:arethetemporarytables,which
purpose. These tables are used when we are transferring the data from externalap
ystemtables.

StepsRequiredforregisteringaTable
1.CreateaTableinModuleSpecificSchema. ConnectasPPRS/PPRS@VIS SQL>CREATETABLEPP
MBER(5), PART_NO VARCHAR2(50), PART_NAMEVARCHAR2(100), QPS NUMBER(3),
)); 2.CreateaPublicSynonyminAPPSSchema. ConnecttoAPPS/APPS@VIS SQL>CREATEPUBL
ORPPRS_PARTS; Note:PublicSynonymNameshouldbesameasTableName; 3.RegistertheTa
cttoAPPSTECH/APPSTECH ApplicationDeveloper Functions Application Dat

17

TableRegistrationwithApplicationInterface(API)
WecanalsoregistertheTableusingApplicationDBADataDefinitions(AD_DD) Packagefromt
setheAD_DDAPItodeletetheregistrations of tables and columns from Oracle Applica
ry tables. To alter a registration you should first delete the registration, and
er the table or column.Youshoulddeletethecolumnregistrationfirst,thenthetabler
dureregister_table(p_appl_short_nameinvarchar2, p_tab_nameinvarchar2,p_tab_typeinva
p_next_extentinnumberdefault512,p_pct_freeinnumberdefault10, p_pct_usedinnumberd
edureregister_column(p_appl_short_nameinvarchar2, p_tab_nameinvarchar2,p_col_namein
2, p_col_seqinnumber,p_col_typeinvarchar2, p_col_widthinnumber,p_nullableinvarcha
ateinvarchar2,p_precisioninnumberdefaultnull, p_scaleinnumberdefaultnull); pro
le(p_appl_short_nameinvarchar2,p_tab_nameinvarchar2); proceduredelete_column(p_ap
nameinvarchar2, p_tab_nameinvarchar2,p_col_nameinvarchar2);

18 Note: Table can be register from Fro


ministrator.

TypeofTableSuffixesandtheirmeaning
_TL NoSuffix _V _VL _All Translation Tables, Used to Store the Information o
AreNormalTables AreViews AreViewsbasedonTranslationTables IndicatesMultiOrganiza

19

ApplicationsStoragesTables
TableName FND_APPLICATION FND_FORM FND_FORM_FUNCTIONS FND_MENU FND_MENU_ENTRIES Stor
urpose NewModuleInformation FormsInformation InformationofFunctionsofaForm MenuI
t of Functions Assigned to the Menu Information FND_DATAGROUP DataGroupInformation
ROUP_UNIT ListofModulesAssignedtotheDataGroup FND_RESPONSIBILITY AllResponsibility
n FND_RESP_GROUPS Allresponsibilitygroupsinformation FND_TABLES AllTablesInformation
OLUMNS AllTableColumnsInformation FND_USER AllUsersInformation FND_USER_RESP_GROUPS
sResponsibilityInformation FND_ID_FLEXS AllKeyFlexFieldsInformation FND_ID_FLEX_STRU
S AllStructuresInformation FND_ID_FLEX_SEGMENTS AlltheSegmentsInformation FND_FLEX_V
SETS EachSegmentsValueSetInformation FND_FLEX_VALUES EachValueCodesofaValueSet
VALUE_TL Each Value Description of a Value Set of a Segment

20
8.
FLEXFIELDS

A flexfield is a field made up of subfields, or segments.There are two types


ieldsanddescriptiveflexfields.Akeyflexfieldappearsonyourform as a normal text
riate prompt. A descriptive flexfield appears on yourformasatwocharacterwidetex
ckets[]asitsprompt. Flex Fields are used to capture the Business Information o
The organizationcanusetheFlexFieldsbasedontheirBusinessStructure.

KEYFLEXFIELDS(KFF)
KFF are used to capture mandatory or Key Business information of the Organizati
ldishavingitswonbaseTable.

21 Q:HowmanyKFFaresuppliedwiththePackage? Ans:Thereare31KFF. S.No TypeofF


tingFF GL GL_CODE_COMBINATION 2 JobFF HR PER_JOB_DEFINITIONS 3 PositionFF HR PER
deFF HR PER_GRADE 5 LocationFF FA FA_LOCATION 6 AssetFF FA FA_KEYWORDS 7 Sales
8 TerritoryFF AR AR_TERRITORY 9 SystemItemsFF INV MTL_SYSTEM_ITEM 10 ItemCategor
_CATEGORY . 31
AccountingCompanyKFFStructure

GGC
GM
GSS
Seg1
Seg2
Seg3
Seg1
Seg2
Seg3
Seg4
Seg4
Company
Department
Accounts
Company
Production
Location
Department
Accounts
VS1
VS2
VS3
VS4
VS5
VS6
VS7

VS8
1. Trucks 2. Cars
1. Sales 2. Finance 3.
1. 2. 3. 4. 5.
Cash Bank Rent X Y

CodeCombinationIDofKFFisGGC_GM_VS1_1 GGC CompanyName GM BranchNam

22 Value Set: is a collection of properties like Length, Data Type, Minimum Val
e,AlignmentandValueValidationetc. FlexfieldsconsistsofStructures Structurescon
SegmentsconsistsofValueSet ValueSetconsistsofParameters. FND_ID_FLEXSTable
onofalltheKeyFlexFields. APPL_ID ColumnconsistsofApplicationID ID_FLE
:AR,AP,GLetc. ID_FLEX_CODE:AR#,AP#,GL#,etc.
STRUCTURES
ACCOUNTING
GL#

RECEIVABLE
AP#
101
TM
102
TTS
103
TTC
101
TMAP
101
APTC
201
S1
202
S2
203
S3
301
S1
302
S2
301

S1
302
S2
Code Descr
Code Descr
Code Descr
Code Descr
Code Descr
Code Descr
Code Descr

FND_ID_FLEX_STRUCTURESTablecapturestheinformationofallthestructures. EachStruct
dentifiedby APPLICATION_ID(ModuleCode), ID_FLEX_CODE(CodeofKFF) ID_FLEX_NUM(Number
) FND_ID_FLEX_SEGMENTSTablecapturestheinformationofSegments. EachSegmentisUnique
y APPL_ID ID_FLEX_CODE ID_FLEX_NUM SEG_NUM FLEX_VALUE_SET_ID

23 FND_FLEX_VALUE_SETS Table captures the information of each Segments Value Set.


tisUniquelyidentifiedbyFLEX_VALUE_SET_IDasForeignKeyof FND_ID_FLEX_SEGMENTSTable.
LUESTablecapturestheinformationeachValuecodesofaValueSet ofaSegment. EachValu
edby FLEX_VALUE_SET_ID FLEX_VALUE_ID FND_FLEX_VALUE_TLTablecapturestheinformation
escriptionofa ValueSetofaSegment. EachValueDescriptionisuniquelyidentifiedby
cept a KFF in the form, the information will be stored first in GL_CODE_COMBINAT
Mater Table) then in Transaction Table i.e. Detailstable).

FormtoAcceptKFF
Responsibility:R1(TM)/R2(TCS) JournalForm Journal:
tailsTable) This Code is generated by SN Date Debt Credit . CCID DataBase 1 1 1

24
StepsrequiredtoregistrationofNewKeyFlexfield(KFF)
1. CreateaKFFTableinModuleSpecificSchema. ConnecttoPPRS/PPRS@VIS

2. CreateaPublicSynonyminAPPSSchema. ConnecttoAPPS/APPS@VIS SQL>CREATEPUBLIC


PRS_PARTS; 3. RegistertheTablewithAOLModule. PPRS_PARTSTablealreadyregistered. 4.
FwithAOLModule. ConnecttoAPPSTECH/APPSTECH GotoFlexField Key Registrati

25

26

27

28

DESCRIPTIVEFLEXFIELDS(DFF)
DFF are used to capture the additional or extra Business information of the or
sedtoaddextraaccounts,thesearevarryfromonebusinessto anotherbusiness.AllDFFco
uteColumns.Allthesecolumns aredefinedinthetransactiontableitself.Therearearound
ththe package. DFFhavetwodifferenttypesofSegments 1. GlobalDFF 2. ContextSensi
ataformishavingDFF? Ans:GotoHelpinMenuBar Diagnostic Examine
exfields(Changethefieldlikethis)) Field:PPRSFLEX IftheFormhavingthebutton with
aythatthe formishavingDFF.AformcanhavemultipleDFFbutaBlockcanhaveonlyone
DFF_Name.

Q:HowtoenableaDFF?
ToenableDFFswitchresponsibilityto ApplicationDeveloper FlexField Des
gmentButtonatthebottomofthePopUpWindow.

29 Example: TableT1 Column1 Column2 Column3 Column4 .. A


ntextColumnAC1,Ac2,Ac3,AC4. FORM Block1 Column1 DFF1 AC1 AttributeA1..
n3 DFF3 AC3 AttributeA16..A20 WecanregistermorethanoneDFFonatable.Ho
,wemusthavethosemanynumberofattributecategoriesor Contextcolumnsaretobeusedt
.Theattributecategory andattributecolumnsmappedwithonDFFcantbemappedwithother
FF, System internally generates the default Context field value as global data el
. The values for Attribute Category column or ContextColumnarenull,whenweareen
aldataelements. C1 AC1 A1..A20 Column DFF GlobalDataElementsA1,A2 IN
ntryValueswillbestoredinAttributeCategoryColumn(OR)ContextColumn.We can also d
ch is enabled, as global data elements are common for all theuserdefinedcontext
ereasontheattributecolumns,whichare mappedwithglobaldataelements,arenotmappedw
ments.

30

StepsrequiredforregisteringaDFF
1. CreateaDFFTableinModuleSpecificSchema. ConnecttoPPRS/PPRS@VIS SQL>ALTERTAB
ibute1 Varchar2(150), Attribute2 Varchar2(150), Attribute3 Varchar2(150), Attribute4 V
rchar2(150), Context Varchar2(25)); 2. CreateaPublicSynonyminAPPSSchema. Connect
IS SQL>CREATEPUBLICSYNONYMPPRS_PARTSFORPPRS_PARTS; 3. RegistertheTablewithAOL
ablealreadyregistered. 6. RegistertheKFFwithAOLModule. ConnecttoAPPSTECH/APPSTE
iptive Register

31

32
9.

NEWFORMDEVELOPMENT

ToenabletheendusertooperatetheFormsuserfriendlyweneedtostandardize the Forms.


e form with Applications Standards, Package providedaStandardFormcalledAPPSTAND.fm
.fmb:isacollectionoftheentirestandardobjectGroupsusedintheOracle Applications.
ollowingobjectGroupProperties 1. STAND_PC_AND_VA:ThisconsistsofWindows,Canvases,
sed forPropertyClassesandVisualAttributes. 2. STAND_TOOLBAR:ThisconsistsofWind
ksandItemsusedfor ToolBars. 3. STANDARD_CALENDER: This consists of Windows, C
Items usedforCalendars. 4. STANDARD_FOLDER:ThisconsistsofWindows,Canvases,Block
ataRestrictionandChangingtheLayoutoftheFormatruntime.Andthisisnot usedforCu
This consists of Windows, Canvases, Blocks and Items used for implementingfindwin
thods. 6. LIBRARIES: APPCORE.PLL: is the collection of Procedures, Functions
to defineMenusandToolBars. FNDSQF.PLL: is the collection of Procedures, Functi
sed to defineSpecialObjectslikeKFF,DFF,FormFunctionsandNonForm functions. APP
llection of Procedures, Functions and Packages used to defineCalendars. CUSTOM.PL
llection of Procedures, Functions and Packages used to customize the Forms with o
the code of Oracle Applications.

33 Note: The Builtins of CUSTOM.PLL are internally called by the Builtins of AP


ltinsofAPPCORE.PLLarecalledbyfewTriggerslike WHENNEWFORMINSTANCE, WHENNEWRE
ANCE, PREBLOCK, PRERECORD, PREITEM APPCORE2.PLL: isaDuplicate/ReplicaofAPPCO
nsas APPCORE.PLLandthisisusedinCUSTOME.PLL GLOBE.PLL: is used to change the
he Package with out modifyingthecodeofApplications.GLOBE.PLLinternallycallsthe B
L.PLLandJA.PLLLibraries. JE.PLL: isusedtochangetheregionalsettingsofMiddleEas
isusedtochangetheregionalsettingsofAsiaPacificCountries. JL.PLL: isusedtocha
fLatinAmerica.

FORMTEMPLATE:ItisusedtodevelopthenewFormofaBusinessApplication.
1. 2. 3. 4. TEMPLATE.fmbinheritsalltheObjectGroupsofAPPSTAND.fmb. Attache
hesStandardMenucalledFNDMENU.mmb. CreatesFormlevelTriggers.SomeoftheseTriggersar
eread and write. Read only triggers are marked with RED Colour and Read and Wr
dwithBLUEColour.

5. APPS_CUSTOMPackageisacollectionofOPEN_WINDOW(WNDINVARCHAR2) and OPEN_WINDOW(W


2) Procedures. These are created by defaultwhenweopentheTEMPLATE.fmbForm.

34
Example:Ifwewanttoopenawindowinthefollowingstructure.

FORM
BLOCK-1
ITEM-1 WHEN-NEW-ITEM-INSTANCE ITEM-2 ITEM-3 WHEN-VALIDATE-ITEM KEY-NEXT-ITEM KEY
-LIST-VALUE
BLOCK-2
ITEM-1 ITEM-2
BLOCK-3

Write the following code in the OPEN_WINDOW Procedure of the APP_CUSTOM Package
ionofthefirstwindowandsubsequentwindows,which iscalledbythePREFORMtrigger.
nt2; ELSIF(WND=W2)THEN Statement1; Statement2; ELSIF(WND=
CANVAS with the Name Block Name and Dummy WINDOW with the name Block Name. Purp
nlytounderstandthecreationofBlocks,Canvasesand WindowsinaForm.

35

NamingConventionstobefollowedintheFormsDevelopment
1. 2. 3. 4. 5. 6. 7. 8. NameoftheFormModuleshouldbesameas.fmb. NameoftheDataB
ableName. NameoftheCanvasandWindowissameasBlockname. NameoftheLOVshouldbes
ouldbesameasBlockName. NameoftheProcedureshouldbesameasItemName. Nameofthe
QF. NameoftheFND_WINDOWshouldbesameasBlock_Name_QF.

StepsRequiredtoDevelopingaNewForm
1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Open the TEMPLATE.fmb Form from Form Builder and S
as with Module specificformname. Delete the default Blocks with names BLOCK_NAME
OCK, CanvaswithnameBLOCK_NAMEandWindowwithnameBLOCK_NAME. CreateanewWindowanda
lasstoit. CreateCanvasandassignCanvaspropertyclasstoit. AssignCanvastoWindowa
e Data Block using wizard and name it as Table Name. Assign Text Item Property
ataBlock. ModifyPreFormTriggeratFormLevel. ModifyAPP_CUSTOMPackage. ChangeFormM
ies. Save and Compile the Form and copy the .FMX file in the Module specific d
ltheprerequisitestoregistertheForm. a. RegistertheformwithAOLmodule. b. Define
ignformfunctiontotheMenu. d. AssignthemenutotheResponsibility. e. AssignResponsi

Note:CheckthefollowingattachmentswhenyouopentheTEMPLATE.fmbForm. 1. Checkther
achedornot. 2. ChecktherequiredObjectGroupsattachedornot. 3. ChecktherequiredVi
achedornot. 4. ChecktherequiredPropertyClassesattachedornot. 5. Checktherequired
screatedornot.

36

10. DEFININGCALENDARS
Calendars are special objects are used to select the date value in userfriendl
igatetoadatefielditdisplaysanLOVicon. TheCalendarletsyousatisfythefollowing
tesandtimegraphicallysothatyoucanmakeaquickdateandtime selectionwithoutadditi
hosedatesordaterangesthatareappropriateforthecurrentfield.
YoucanusetheCalendarwindow,asshowninFigure31,tohelpyouenteradate.
CalendarforDateSelection CalendarforDateandtimeSelection

StepsrequiredtodefiningtheCalendar

1. Changethefollowingpropertiesofthedateitem a. ChangetheSubClasstoText_Item_Dat
b. LOVEnableListLamp c. ValidatefromlistpropertysettoNO. Note: Enable List La
ch is going to come with TEMPLATE.fmb. The record Group associated with this LOV
ROM DUAL; we can use this LOV whenever we want to define someSpecialObjectson

37 2. CreateKEYLISTVALTriggeratItemLevel. Date: ChangethePropertiesofdatefi


2. Enable_List_Lamp 3. Key_ListvalTrigger WriteCode:CALENDAR.SHOW; SaveandCompilethe
erformalltheFormregistrationprocess.
3. 4.

38

11. WHOCOLUMNS
WHOcolumnsareusedtotracktheinformationupdatedorinsertedbytheusers against th
D package is used for this purpose. FND_STANDARD.SET_WHOProcedureisusedtoupdatet
le whenaDMLoperations(i.e.INSERT,UPDATE)performed.

StepsrequiredtoTrackWHOInformationinourform
1. 2. 3. 4. 5. 6. 7. ALTERthetablebyaddingWHOcolumnsinthetable. OpenTEMPLATE.fmbi
Performalltheprerequisitestodevelopaform. IncludealltheWHOcolumnsintheDataBl
_STAND.SET_WHOprocedureinPreInsertandPreUpdatetriggers atBlockLevel. SaveandCom
rmalltheprerequisitestoregistertheform 2.TableregistrationwillbedoneonlyforK
velopmenttableregistrationsnotrequired. ToShowtheModuleFormDirectoryPath 1. In
gethemodulenamefromFNDtospecificmodule shortname(i.e.EX,INC,PPR,etc.,). 2. Sa
Note:1.WHOColumnsneednotregisterwiththetableregistrationoption.

39

12. NONFORMFUNCTIONS
Nonformfunctions(subfunctions)arealsoknownasLayoutItems.Nonformfunctions al
bsetofformfunctionalityfromthismenu.
Q:
Howthefunctionsecurityworks?

Ans: Whenever we select responsibility information, it selects the Responsibility_ID


_ID, Request_Group_ID and Data_Group_ID values. Using MENU_ID identifiesMenuinformat
D_MENUES.RetrievesallitsMenu_IDentries fromFND_MENU_ENTRIES.Beforedisplayingthepro
triesinthe navigator Window application checks whether any functions and submenus
the above responsibility along with the Application_ID in FND_RESP_FUNCTIONS. If an
s found then it suppresses the display of thepromptsoffunctionsandsubmenusint
STRUCTURES
GL (101) AP (102) AR (103)
R1 (201)
R2 (202)
R3 (203)
R1 (201)
R2 (202)
R1 (201)
M1 (301)
RG (302)
DG (303)
F1 F1 F1 F1
(401) (401) (401) (401) F1 F1 (401) (401)

40 DetailsoftheaboveStructure GL,AR,AP areApplicationUsersinformationstoredin


3 R1,R2,R3 201,202,203 M1,RG,DG 301,302,303 F1,F2,F3,M2 areApplication_ID
CATIONS areResponsibilitiesinformationstoredin FND_RESPONSIBILITY areResponsibility_I
formationstoredin FND_RESP_GROUPS areMenusinformationstoredinFND_MENUES areMenu_ID
nstoredinFND_MENU_ENTRIES informationstoredinFND_FORM_FUNCTIONS

StepsRequiredForCodingNonFormfunctions

1. OpenTEMPLATE.fmbinFormBuilder. 2. PerformalltheprerequisitestodevelopaForm.
TTONinthedataBlockandchangethefollowing properties. Name : BOOK SubClass :
: CanvasName 4. CreateaNonFormFunctionforthisLayoutIteminAOLModule. 5. Assig
enuleavingthepromptempty. 6. ModifyPREFORMTriggeratFormLevel. IFFND_FUNCTION.TES
CTION_NAME)THEN /*RetrievesFunctionID*/ APP_ITEM_PROPERTY.SET_PROPERTY(EX_
ON); ELSE APP_ITEM_PROPERTY.SET_PROPERTY(EX_ORDERS.BOOK, ENABLED,PROPERTY_OFF);
eandCompiletheForm. 8. Performalltheprerequisitestoregistertheform.

41

13. SEARCHMETHODS
TherearetwosearchmethodsavailablewithAPPSPackage 1. ROWLOVTypeSearchMethod. 2
chMethod. ToOpenaSearchWindow GotoMenuBar View
1.

ROWLOV
ItisusedtosearcharecordbasedonPrimaryKeyColumn.

StepsRequiredtoImplementROWLOV
1. OpenForminFormBuilder. 2. Performalltheprerequisitestodeveloptheform 3. Creat
Parameter and change the Data Type and width of the column,sameasPrimaryKeyCol
using wizard and assign the return value of the LOV to the Parameter. 5. ROWLOV
. 6. SELECTOrder_No,CustomerFROMEx_Orders; P_Order_No(Parameter_Name)

7. CreateQUERY_FINDuserdefinedTriggeratBlockLevel. Note:LOVNameshouldbeBlock_Nam
ERY_FIND(UserDefinedTrigger) APPS_FIND.QUERY_FIND(LOV); IFQUERY_FINDISNOTNULLTHEN
ETHEN 8.CreatePRE_QUERYTriggeratBlockLevel. Execute_Query; ENDIF;

42 IFPARAMETER.G_QUERY_FIND=TRUETHEN :EX_ORDERS.ORDER_NO:=:PARAMETER.P_ORDER_N
ND:=FALSE; ENDIF; Note: In latest versions of Applications Parameter_Query_Fin
ly assignedbythecompilerafterQueryExecute.Weneednotassignit
le in to module specific forms directory.

2.
FINDWINDOWS

QueryFind is used to search the matching records based on value entered in sp


r.ItconsistsofWindow,Canvas,Block,TextItemsandthree defaultlayoutItems(i.e.CLE
QUERY_FIND Consists of WINDOW (Default Name is QUERY_FIND) CANVAS (Default Name
is QUERY_FIND) BLOCK (Default Name is QUERY_FIND) KEY_NXTBLK (Block Level trigge
r) CLEAR (Button Item) Trigger WHEN_BUTTON_PRESSED APP_FIND.FIND (Results_Block_N
ame);
CLEAR (Button Item) Trigger WHEN_BUTTON_PRESSED APP_FIND.CLEAR;
CLEAR (Button Item) Trigger WHEN_BUTTON_PRESSED APP_FIND.NEW (Results_Block_Name);

StepsRequiredToCreateaFINDWINDOW

43 1 2 3 4 5 OpenTEMPLATE.fmbforminFormBuilder. Performalltheprerequisitestodevelo
enAPPSTAND.fmbforminFormBuilder. OpenQUERY_FINDObjectGroupfromAPPSTAND.fmbtoTEMP
meQUERY_FINDWindow,CanvasandBlocknameswiththenameofthe ResultsBlockname(i.e.E

Note:NameoftheQUERY_FINDlookslikeEX_ORDERS_QF. 6 7 8 9 ModifytheFIND_BLOCKbyaddin
ertherequirement. ModifythecodinginKEYNXTBLKtriggeratBlockLevel. APP_FIND.FIND(
me); Modify the coding in the WHENBUTTONPRESSED Trigger associated with theNEW
APP_FIND.FIND(Results_Block_Name); 10 Modify the coding in the WHENBUTTONPRESSED
ciated with theFINDButton.

APP_FIND.FIND(Results_Block_Name); 11 CreateQUERY_FINDuserdefinedtriggeratResultsB

APP_FIND.FIND(Results_Window_Name,Find_Window_Name, Find_Block_Name); 12 When we p


ND button in FIND_WINDOW, it will first evaluates G_QUERY_FIND = TRUE then fire
then Fetches the resultsbasedonmatchesthenfiresPOSTQUERYTrigger. CreatePREQUERY
ckLevel. COPY(:FIND_BLOCK.ITEM_NAME1,RESULTS_BLOCK,ITEM_NAME1); COPY(:FIND_BLOCK.ITEM_
NAME2,RESULTS_BLOCK,ITEM_NAME2); COPY(:FIND_BLOCK.ITEM_NAME3,RESULTS_BLOCK,ITEM_NAME3)
APP_FIND.QUERY_FIND(:FIND_BLOCK.START_DATE, :FIND_BLOCK.END_DATE,RESULTS_BLOCK.ORDER
_DATE); ENDIF; 14 15 Save and Compile the form and copy .fmx file in to modu
ctory. Performalltheprerequisitestoregistertheform.
13
IF:PARAMETER.G_QUERY_FIND=TRUETHEN

44 Note:APP_FIND.QUERY_RANGE(:Query_Find_Block_Name.START_DATE, :Query_Find_Block_N
ame.END_DATE,Results_Block_Name.Order_Date); This code is to be written in PREQUE
Results Block Level and is usedtosearchthevaluesbasedontherangeofvalues. 1
oduleSpecificSchema. CreateaPublicSynonyminAPPSSchema. RegistertheTablewithAOL
ithAOLModule. OpenTEMPLATE.fmbForminFormBuilder. Performalltheprerequisitestode
udealltheDFFcolumnsinDataBlockwithNULLCanvas. CreateaTextItemintheDataBlock
ies. Name : DFF SubClass : Text_Item_Desc_Felx DatabaseItem : NO LOV :
romList : NO Canvas : Canvas_Name CreateaPackageSpecificationinProgramUnit
eofthepackageissameasBlockName. PROCEDUREDFF(EVENTINVARCHAR2); CreatePackageB
DUREDFF(EVENTINVARCHAR2)IS BEGIN IFEVENT=WHWNNEWFORMINSTANCETHEN FIND_DESC
X,EXDFF); FIND_DESCR_FLEX.DEFINE(Block_Name,Item_Name, Application_Short_N
ll the DFF procedure in WHWNNEWFORMINSTANCE Trigger at Form Levelandpassingthe
NCE. Call FND_FLEX.EVENT in WHENNEWITEMINSTANCE Trigger at form level.
StepsRequiredToInvokeDescriptiveFlexFields(DFF)
9
10

11 12

45 Note:FND_FLEX.EVENTisacommonBuiltInusedtoinvokeDFFandKFF. Save and Compile


file in to module specific forms directory. Performalltheprerequisitestoregister
etheDFF GotoFlexField Descriptive Segments To see the Enable DFF Go to For
ton Open the DFF Window with Invoked Fields
13 14 1 2 3 4

StepsRequiredInvokeKeyFlexFieldsfromtheForm
CreateaKFFTableinModuleSpecificSchema. CreateaPublicSynonyminAPPSSchema. Regis
le. RegisterKFFwithAOLModule. Note:WheneverweregisteraKFF,Systeminternallygene
hesamenameasTitleoftheKFFandtheStructure_ID. CreatetheStructureofKFF. Associa
e. DefineValueSets. AssignValueSetstoSegments. DefineValuestoeachSegmentbasedo
ATE.fmbForminFormBuilder. Performalltheprerequisitestodeveloptheform. Includeal
lockwithNULLCanvas. CreateaTextItemintheDataBlockandchangethefollowingpropert
Text_Item DatabaseItem : NO LOV : Enable_List_Lamp ValidateFromList : NO Ca
ateaPackageSpecificationinProgramUnitwithaKFFProcedureandthe nameofthepackage
UREKFF(EVENTINVARCHAR2);
5 6 7 8 9 10 11 12 13
14

46 15 CreatePackageBodyinProgramUnit. PROCEDUREKFF(EVENTINVARCHAR2)IS BEGIN IFE


NCETHEN FIND_DESCR_FLEX.DEFINE(EX_ORDERS,KFF,EX, Code_Of_KFF,Structure_Code_N
INE(Block_Name,Item_Name, Application_Short_Name,Code_Of_KFF,Structure_Code_No
KFF procedure in WHWNNEWFORMINSTANCE Trigger at Form Levelandpassingtheeventas
all FND_FLEX.EVENT in WHENNEWITEMINSTANCE Trigger at form level. Note: FND_FLEX.
ltInusedtoinvokeDFFandKFF. Save and Compile the form and copy .fmx file in
rectory. Performalltheprerequisitestoregistertheform.

16 17
18 19

47

14. PROFILES
Profiles are used to determine the behavior of Oracle Application Forms and Progr
stration information of all the users will be stored in FND_PROFILES_OPTIONtable.
yofalltheProfileOptionsismaintained byAOLmodule.TosetthevaluesoftheProfileO
ator Module. Profile Options are used to pass the values to the variables declar
nd programs, by which we can determine the behavior of Oracle Application Forms.
16typesofprofilesoptionsaregoingtocomewiththepackage. EachProfileOptionhasa
ssLevel. 2 ProgramAccessLevel. 3 SystemAdministratorLevel USER LEVEL: If the Pr
access at this level any front end login user can changethevaluesoftheProfile
dit References Profiles PROGRAM LEVEL: If the Profile is having access at Pr
n we can use theminourPrograms. SYSTEMADMINISTRATORLEVEL:IftheProfileishavin
anuseProfileOptionsatthefollowingfoursublevels. 1 SITELevel 2 APPLICATIONLevel
YLevel 4 USERLevel SITELEVEL:SiteisacollectionofModules.AModuleisacollectio
ponsibilityisassignedtodifferentusers.

48 If we set the Profile Options at Site level then these Profile Options get a
Forms and Programs of all the Modules, which are accessedfromoursite. APPLICAT
t the Profile Options at this level then the Profile Optionsgetaffectedtoallth
ule. RESPONSIBILITY LEVEL: If we set the Profile Options at this level then the
etaffectedtoalltheFormsandPrograms,whichareassignedtoa particularResponsibility
ttheProfileOptionsatthislevelthentheProfileOptionsget affectedtoalltheFormsa
bilities,whichare assignedtoaparticularUser.

WhenwesettheProfileOptionsatallthe4levelthen
1. UserLevelwilloverwriteResponsibilityLevel 2. ResponsibilityLevelwilloverwritethe
ionLevel 3. ApplicationLevelwilloverwritetheSiteLevel The BuiltIn that is use
he Profile Option is FND_PROFILE.GET,whichtakestwoargumentsi.e.NameoftheProfile
tVariable.ThisBuiltInfirstsearchesforthevalueatUserLevelanditwillgetthe USE
nd APPLICATION_ID of Form where the Form is called.
Site Site Level
GL
AR
AP
Application Level
R1
R2
R3
R4
R5
R6
R7
Responsibility Level
User-1
User-2
User Level

49

WhenwecalltheBuiltIn,itwillfirstsearchesatUserLevel
1 2 3 IfthevalueisnotfoundatUserLevelthenitwillsearchatResponsibilityLevel.
sibilityLevelthenitwillsearchatApplication Level. IfthevalueisnotfoundatAppl
chatSiteLevel.This isthedefaultlevelofProfileOption.
Q: HowtosetthevaluesforexistingProfileOptions?
Sys.Admin Security User Define Password Length can be changed by Profile Option.
BuiltIntochangethelengthofthepasswordiscalledSIGNONPasswordLength. Note:
le Option at Site Level, we have to relogin into Applications.
ThedifferentSignonAuditAccountsare
NONE USER RESPONSIBILITYand FORM.

Q: How to know the WHO the users are currently connected to the ServerforAudi
Sys.Admin Security Monitor
FORM

Query the Form and Select the Signon Audit Account LOVbasedonRecordGroup,RecordGroup
edonSelectStatement.

50 ProfileswillbechangedonthebasisofProfileOptionsRecordGroup. Profile Profile


SQLValidationisnotrequired P2 Static/Fixed SQLValidationisrequired Values Defined
able P3 Variable SQLValidationisrequired Validationisbasedonanytable.
Stepsrequiredcreatingaprofileontables
1. Defineaprofile. 2. Settinganewprofile. 3. AddingcodeintoFormsTrigger.

51

15. CUSTOMIZATIONOFFORMS
CUSTOM.PLL is used to customize the forms with out modifying the code of Oracl
here is only one CUSTOM.PLL exists for all the Forms in Oracle Applications. CUS
g to be in use when ever we start Form Server Service.InCUSTOM.PLLwehaveaPac
ackagewe havethebuiltinsasZOOMAVAILABLE,EVENTandSTYLE. ZOOM AVAILABLE: is th
ns a BOOLEAN value (TRUE or FALSE).BydefaultitreturnsFALSE.Ifthisfunctionisgo
enu Item from the main menu is enabled. The ZOOM menu item is used to call on
VENT:isaprocedurewhichisusedtohandlespecificeventsinwhichwearegoingto addou
ecanhandlewiththisprocedureare WHENNEWFORMINSTANCETrigger WHENNEWBLOCKINSTANC
STANCETrigger WHENNEWITEMINSTANCETrigger WHENVALIDATERECORDTrigger PREFORMTrigge
r Allthesetriggers,whicharecreatedatformlevel,whichareidentifiedwithblue col
aultperformsNULL. STYLE:isafunction.Itreturnsanintegerrangingfrom1to4 1 i
R 3 indicate OVERWRITE 4 indicate STANDARD TheseareModuleSpecificevents.Thebui
ecalledbythe builtins of APPCORE.PLL in all the form level triggers which are
PLATE.fmbform. CUSTOM.PLL(LibraryName) CUSTOM(PackageName) EVENT(ProcedureN
ateordevelopaforminapplicationsthesearesomeformlevel triggers, which will be
form level triggers builtins of

52 APPCORE.PLLarecalled.ThebuiltinsofAPPCORE.PLLaregoingtocallthebuiltins ofC

RestrictionsinCUSTOM.PLL
1. WeshouldnotattachandcallanybuiltinsofAPPCORE.PLLinCUSTOM.PLLto avoidrecursi
ORE2.PLLinCUSTOM.PLL. 2. APPCORE2.PLLisaduplicateofAPPCORE.PLL.Allthebuiltinsof
xedwith2. 3. We cant use SQL statements directly in CUSTOM.PLL. In order to us
akeuseofPackagesandProcedures. Note:1.Togettheinformationaboutcurrentformnam
plications 2.TogettheBlockNameandItemNameofthecurrentform Gotohelp

HowtoImplementZOOMAvailability?
1. Firstidentifycallingformandcalledformdetails. 2. Opencalledforminformbuilder.
eter. 4. ModifyWHENNEWINSTANCEtriggeratformlevel. IF:Parameter.P_Vendor_NameISN
OCK(VNDR); DO_KEY(EXECUTE_QUERY): :Parameter.P_Vendor_Name:=NULL; ELSE /*Exi
ENDIF; 5. ModifyPREQUERYtriggeratBlocklevel. 6. SaveandCompiletheformandcopy.
irectory. Note:BydefaultZOOMoptionintheMenubarisdisabledforalltheForms. 7. Op
nOracleFormBuilder. 8. ModifythecodeinZOOM_AVAILABLEFunction.

53 FORM_NAME:=NAME_IN(SYSTEM.CURRENT_FORM); BLOCK_NAME:=NAME_IN(SYSTEM.CURSOR_BLOCK
NAME=POXPOEPOAND BLOCK_NAME=PO_HEADERS)THEN RETURNTRUE; ELSE RETU
TOM.PLL. Builtins of calling or Opened Form are CALL_FORM, OPEN_FORM and NEW_FORM
ON.EXECUTE(FUNCTION_NAME=, OPEN_FORM=Y, SESSION_FLAG=N, OTHER_PARAMETERS

54

16. CONCURRENTPROCESSING(CP)
ConcurrentProgrammingisaprocessingrequestssimultaneouslyandproducing differentr
renttypesofprogramssupportedbyoracleapplicationsareOracle Reports,PL/SQL,JAVA,JA
cess,SQLScripts,SQL*Loader,PRO*C, C,C++,HOSTetc. To process all the Concurr
ions is Application User ConcurrentManagerServer.Inapplicationswecanrunonlythose
assignedtotheRequestGroupofourResponsibility.TorunanyConcurrentProgramin applic
ardRequestSubmission)Form.Actualexecutablenameof the SRS Form is FNDRSRUN.fmb. W
RS From directly from the main menu or we can create a form function for this
o our Menu Responsibility. Based on the executable name CP identifies the actual
me, executable methodsandforwhichmoduleitisassigned. ReportsServerstoresOracle
rverstoresJAVA,C,etc. ConcurrentManagerServerStoresPro*C,Pro*Cobol,etc. Th
urrent Programs are stored in FND_CONCURRENT_PROCESSEStable. Columnsofthistablea
User Program Executable Arguments Phase Pending,Runnin
s (or) Normal,Paused,WarningsNormal Whenever we submit a program
ion goes to InternalConcurrentManager. InternalConcurrentManagerhastwocomponent
ponent 2. IdentificationComponent ResponsecomponentgeneratesauniqueRequest_IDfor
bmittedfor SRS form and updates the request information in FND_CONCURRENT_REQUEST
forwardstherequest toIdentification component. Identification Component

55 searchesfortheprograminFND_CONCURRENT_REQUESTtableandexecutesoutput formatando
edontheexecutablenameitidentifiestheactualexecutable name,executionmethodandmod
dulenameandexecutable methodapplicationidentifiestheexecutableinModulespecificdir
he parametervaluestotheexecutablefromFND_CONCURRENT_REQUESTandupdates the program
n in FND_CONCURRENT_PROCESSES. Once the process is completeditgeneratesthe.logand
lespecificdirectory. Note:InFormsFormFunctionsareusedtopasstheparametersatr
gramsareusedtosetthedifferentoutputformats.

StepsRequiredforRegisteringaSimpleReport
1. 2. 3. 4. 5. 6. 7. 8. CreateaReportusingReportBuilder. Compileandcopy.RDFfilein
icdirectory. RegistertheexecutablewithSystemAdministratorModule. DefinetheConcurre
AssigntheexecutabletoConcurrentProgram. AssigntheConcurrentProgramtoRequestGroup.
estGrouptotheResponsibility. AssigntheResponsibilitytotheUser.

FND_EXECUTABLES Table captures the information of all the executables, which are
. FND_CONCURRENT_PROGRAMS Table stores the information of Concurrent Programs.
Q:
HowtoRuntheReportfromOracleApplications?

Ans: OpenVIEWinmainmenu Requests Submitarequestbypressingthebutton

Q:WhatarethedifferenttypesofparametersavailableinReports?
Ans: Therearetwotypesofparameters 1. BINDPARAMETERS 2. LEXICALPARAMETERS. The
eateatdesigntime,arecalledActualParameters.The parameters defined at concurrent
re called Formal Parameters. Validationofaparameteristobedonetotheformalparame

56

RegisteringParametricReports
1. CreateaReportusingReportBuilderwithparameters. 2. Compileandcopy.RDFfileinmo
tory. 3. RegistertheexecutablewithSystemAdministratorModule. 4. DefinetheValueset
arameters. 5. DefinetheConcurrentProgram. 6. AssigntheexecutabletoConcurrentProgram
ineParameters. 8. AssignValueSettotheParameters. 9. Assignbindparameterofyoursto
oken is used to map bind parameters with the formal parameters of the Concurrent
signtheConcurrentProgramtoRequestGroup. 11. AssigntheRequestGrouptotheResponsibi
gntheResponsibilitytotheUser. ToreferencethevaluesofPriorParametersofapartic
sof other parameter is based on the Value Set. The value of the 1st parameter
ereclauseofthe2ndParameter. WHEREDeptno=:$FLEX$.First_Parameter Note:1.Toca
isterSRSForm(FNDRSRUN)in ourModule. To run the programs of the Request
ity it is not compulsory to assign the Request Group to the Responsibility. We
orm function to the Menu it is defined on FNDRSRUN with Request Group code, Req
ionshortnameandTitleasparameters. 2.WecanassignonlyoneRequestGroupforaResp
he programs of multiple Request Groups from a Request Group. 4.ForeachRequestGr
ion.

57

17. FLEXFIELDFEPORTS
USEREXITS:Thesearethe3rdpartyprograms(i.e.Java,Pro*C,etc.)thatwecanlink w
lar task.Wecanlink3rdpartyprogramswithour reports with SRW.USER_EXIT(Name_of_the
can reference the input parametersinuserexitswithSRW.REFERENCE(:input_parameters).
IT: ThisUserExitisusedtoinitializethereportinthememory. FNDSRWEXIT: This U
he memory occupied by the program. ThisUserExitisusedtotailortheSELECTstatem
SQL: astring.ItisaconcatenationoftheSegmentcolumnsofaparticularstructure. Pa
hortName:SQLGL Code: GL# Number: P_STRUCTURE_ID Output: P_FLEXDATA Not
only one column where as Lexical Parametersisaplaceholdercolumnwhichcanbeusedt
e parameter. Example: SELECTP_FlexDataCflexData,Journal_Name,,, FROMKFF,TRANS WH
ANS.CCID ANDSTRUCT_ID=:P_STRUCT_ID; FND FLEXID_VAR: is user to retrieve Value_Se
he Segments based on a parameterStructureandalsoretrievesvaluesanddescriptionsba
d Value_Set_IDs. ApplicationShortName : SQLGL Code : GL# Number : P_ST
iption : :C_DESC ItconcatenatestheValueSetIDsofSegments.

58

StepsRequiredtocreateaSimpleFlexFieldReport
1. 2. OpentheReportinReportBuilder. CreateUserdefinedparametersasperourrequireme
Initial Notes Type Value F_CONC_REQUEST_ID Number 15 0 AlwaysCreate P_FLEXDATA Char
00 Long Cumulativewidthmore String thanexpectedwidth requiredtoholdthe data(i.e.
lueofSegments1..n) P_STRUCT_NUM Character 15 101 ContainsStructure Number 3. Call
erExitinBeforeReportTrigger. BEGIN SRW.USER_EXIT(FNDSRWINIT); RETURN(TRUE);
rExitinAfterReporttrigger. BEGIN SRW.USER_EXIT(FNDSRWEXIT); RETURN(TRUE); E
itinBeforeReportTrigger. BEGIN SRW.USER_EXIT(FNDSRWEXIT); BEGIN SRW.REFER
ER_EXIT(FNDFLEXSQL APPL_SHORT_NAME=SQLGL CODE=GL# NUM=:P_S
RN(TRUE); Name
4.
5.

59 END; Note: When we are calling multiple user exits in a trigger we should
nseparateBlocks(i.e.BEGIN..END). CreateareportqueryintheDataModel. SELECT&
L_CODE_COMBINATION WHERECHART_OF_ACCOUNT_ID=&P_STRUCT_NUM; CreatetwoFormulaColumns
ndC_DESC_ALL. CallFNDFLEXIDVALinthePL/SQLformulaofCVALUEtoreferenceValue Code
eve the concatenated flexfield segment values and description you incorporatetheAO
hesecolumns BEGIN SRW.REFERENCE(:C_FLEXDATA); SRW.FND(:P_STRUCT_NUM); SRW.USER
ID_VAL APPL_SHORT_NAME=SQLGL CODE=GL# NUM=:P_STRUCT_NUM
VALUE); END; Call FND FLEXIDVAL in the PL/SQL formula of C_DESC_ALL to retrie
eCombination. BEGIN SRW.REFERENCE(:C_FLEXDATA); SRW.FND(:P_STRUCT_NUM); SRW.US
X_ID_VAL APPL_SHORT_NAME=SQLGL CODE=GL# NUM=:P_STRUCT_NUM
AY=ALL); RETURN(:C_DESC_ALL); END;
6.
7. 8.
9.

60 10. 11. 12. RunthereportwithdefaultLayout. Compileandcopy.RDFinmodulespecific


formalltheprerequisitestoregisterthereport. SystemAdministrator Concurrent
Note:AlltheFNDTablesarestoredinApplicationObjectLibrary(AOL).

61

18. QUALIFIERS
QualifiersareusedtoidentifytheSegmentswithspecificPropertyandthevalueofthe S
hereports.Qualifiersareclassifiedintotwocategories. 1. FlexFieldQualifiers(FFQs)
lifiers(SQs)

FlexFieldQualifiers(FFQs):areusedtoassignaspecificpropertytotheSegment
Qualifier. These are based on Key Flex Fields (KFF). FFQs are varry from one KF
snotcompulsorythatalltheKFFshouldhaveFFQs.

SegmentQualifiers(SQs): are used to assign a specific property to the value of


Segment.SQsisbasedonFFQsanditisnotcompulsorythatalltheFFQsshouldhave SQs.
alifierbeforeyoudefineSegmentQualifier. ForexampleaccordingtoAccountingFlexFiel
gSegmentProperty(UserName) GL_BALANCING(ActualName) a. GlobalFlexfieldQualifier:ap
gments. b. UniqueFlexfieldQualifier:appliestoonlyoneSegment. c. RequiredFlexfieldQ
ppliestoatleastoneSegment. WriteCodebeforeExecutionoftheReport FNDFLEXSQL
NY MODE=SELECT DISPLAY=GL_BALANCING 2. NaturalAccountingSegmentP
lFlexfieldQualifier b. UniqueFlexfieldQualifier c. RequiredFlexfieldQualifier

62 WriteCodebeforeExecutionoftheReport FNDFLEXSQL APPL_SHORT_NAME=SQLGL


enterSegmentProperty(UserName) GL_COST_CENTER(ActualName) a. ThisisnotUniqueandi

19.INTERFACES
Interfaces are the Tables, which are act as a medium to transfer the data fro
er module or to transfer the data from legacy system into Oracle Applications. T
les provided by the Oracle Package. Each module is havingitsownInterfaceTables.

Interfacing:
Itistheprocessofconvertingtherecordsfromoneformattoanotherformat. Themaincom
re TransferProgram InterfaceTableand ImportProgram

TransferProgram:
If the source modules data are implemented in Oracle Applications then the Transf
egoingtocomewiththePackage.Ifthesourcemodulesareimplementedin external system
le Applications) then we have to develop our own Transfer Programs. Generally the
rograms are developed using PL/SQL, JAVAorSQLLoader. TheLogicoftheTransferPro
nsofsourcetablewiththecolumnsofInterfaceTables. ItperformsRowLevelandColumnLe
sfersthedatafromSourcetotheInterfaceTable.

63

InterfaceTables:
Thecolumnsofthesetablesareclassifiedinto4types. 1. MandatoryColumns. 2. Condition
olumns. 3. OptionalColumns. 4. InternalProcessingColumns.

MandatoryColumns:
ThesearetheNormalcolumnsintheInterfaceTables.Thesearethemaincolumnswhich arer
ntables(i.e.OracleApplicationModuleTables). Note: With the help of mandatory c
port Program will converts the recordsfromsourcetodestination.

ConditionallyRequiredColumns:
ThevaluesforthesecolumnsarebasedonthevaluesofMandatorycolumns. Example: When
ign currency transactions to INR then it as compulsory to provide conditionally r
mns like Currency conversionrate,ConversionTimeandConversionDate.

OptionalColumns:
These are used when a client wanted to transfer some additional information from
ation.Thesearebasedonclientsrequirement.

InternalProcessingColumns:
Status and Error Message columns are called Internal Processing Columns. These are
nly to Interface Table. These columns are going to be used by the Import Progra
us and errormessage, ifthe record fails itsvalidation while importingfromInterfa
nationTable.

ImportProgram:
For all Interface Tables, Oracle Application Package is going to provide Import P
se are generally registered with destination modules. These Import Programsaredesi
/SQL,JAVA,C,C++,etc. ThelogicoftheImportProgramis It maps the columns of
or more columns in the destinationtable.

64 Q: Itperformsrowlevelandcolumnlevelvalidation. It imports the data


estination tables, if the records validatedsuccessfully. Itdeletesallthesuccessful
drecordsfromInterfaceTable. If the record fails its validation then the Import
te the status anderrormessagecolumnsofInterfaceTable. What is the difference be
nd Application Program Interface (API)?

Ans: InterfacesareusedtotransferthedatafromlegacysystemtoOracleApplication sy
nvertthedatafromoneform toanother form withintheOracleApplicationModule. Exa
Transfer Program
Transfer Program 1
Import Program
Transfer Program
GL
Daily Transactions
Transfer Program
Journal
Interface Table
Weekly Transactions
FA
Ledger
Legacy
Transfer Program
Balance

65

Scenario1: Interface Tables are provided and the integrating modules are
implemented in Oracle Applications. In this scenario the package itself is going
aratetransferprogramforeachintegratingmodule.Seefigurefordetails. Indent:isspeci
ke,thelistofmaterialsrequired,howmuchquantityis required,whenthematerialisrequ
ms. Interface AP GL

Scenario2:InterfaceTablesareprovidedandtheintegratedmodulesareimplemented
inexternalsystemwiththesamedatabaseasOracleApplications.Inthisscenariofront end
aseissame. Takeforexamplethereare40columnsaccordingtotransactiontableofclien
ycolumnsand17areoptionalcolumns.Butasperapplications interface table is having
ns. While transferring the data from existing system to applications we have to
hing columns in transaction tablewiththeinterfacemandatorycolumns.Matchingcolumns
ryor optional columns of transaction table of client. Assume that there are 17
atchingcolumnsoutof20mandatorycolumns.Ifwewanttoinserttherecord intointerface
lumnscompulsorily.Inthisexamplesince thereare17matchingcolumnsoutof20columnswe
luesto the nonmatching (i.e. 3) columns with the authentication of the client.
vingmandatorycolumnsofhisown,whicharenotmandatoryininterfacetable,then wemapt
nalcolumnsofinterfacetable. LogicoftheTransferPrograminthisscenario 1. Create
eenthetwodatabases. 2. Search for the matching columns of the interface table wi
s or externaltables. 3. Provide default values for the mandatory columns of inter
r the columnswherethematchingcolumnsarenotfoundinsourcetable. 4. Performrowlev
ations. 5. Incase if the clients requirement is to transfer all the mandatory co
rce to the destination, we can map the remaining mandatory columns of the client
ithoptionalcolumnsoftheinterfacetable. 6. CreateaPL/SQLprocedureandmapthecolumn
lumns. 7. TransferthedatafromsourcetabletotheInterfaceTable.

66

Scenario3: Interface Tables are provided and the integrating modules are
implemented in external system with different database (i.e. Sybase, DB2, SQL Serv
nthisscenariowehavetoconvertthedataintoflatfile(i.e..dat).Thenwewrite thetr
ipt. Scenario-3: Transfer the Data from Legacy System to Oracle Apps. SYBASE INTE
RFACE Import DB2 TABLE Program SQL SERVER Using PL/SQL Transfer Data To Temp. Or
acle Table Applications Database Convert Load SQL Flat File Data To Data To Load
er Convert Data UTL Load Using PL/SQL Data To FILE GL_DAILY_RATES_INTEAFACE Tabl
is used to store the conversion rates on daily basis.Itconsistsofthefollowingf
_ To_ User_ Conversion_ Mode_ Currency currency Conversion_ Conversion_ Conversion_ R
ate Flag Date Date Type USD INR 01SEP2006 30SEP2006 Corporate 44 I ASD INR
is Interface table consists of Database Trigger, which fires the input program wh
ert the record in this. This will create no of records into GL_DAILY_RATES Table
ed on the From_Conversion_Date and To_Conversion_Dateperiod. Example: Intheabovet
aysinthefirstrecord. ThisDBTriggerupdatestotal60recordsinGL_DAILY_RATESi.e. 3
omUSDtoINRand 30recordsforconversionfromINRtoUSD.

67 ValidationsRequiredaccordingtothisinterfacetableare 1. Fromcurrencyshouldexists
CYTableanditshouldbeactive. 2. TocurrencyshouldalsoexistsinGL_CURRENCYTableand
romConversionDate:Alldatevalidationsappliedforthisdate. 4. ToConversionDate:Same
iredasfromcurrencybutitshouldbe greaterorequaltoFromConversionDate. 5. Convers
ontypeshouldexistinGL_CONVERSION_TYPE. 6. ConversionRate:Itshouldbeanumber. 7. M
tuscolumninGL_DAILY_RATESinterfacetable. I stand forInsert U stands for
omCurrency,ToCurrencyandConversionTypeareCasesensitive. Stepsrequiredfortransf
cysystemtooracleapplications 1. Create daily.dat flat file and save it in server
racle\Visdb\plsql\temp(thisisthedefaultdirectoryforUTLscriptfiles.To knowthepath
entheinitvis.orafile.
From_ To_ Currency currency USD ASD INR INR From_ Conversion_ Date 01SEP2006 01
ion_ Date 30SEP2006 15Sep2006 User_ Conversion_ Type Corporate Spot Conversion_
Flag I I
2. Create Transfer program using SQL and PL/SQL to upload data from flat file
le.

WritethecodeatSQL*PLUSprompt(i.e.SQL>)
DECLARE Fp UTL_FILE.FILE_TYPE; F_Curr Varchar2(10); T_Curr Varchar2(10);
r2(9); C_Rate Varchar2(2); M_Flag Varchar2(1); My_Line Varchar2(100); BEG
sdb\9.2.0\plsql\temp,daily.dat,r); UTL_FILE.GET.LINE(Fp,My_Line);

68 LOOP UTL_FILE.GET.LINE(Fp,My_Line); F_Curr:=SUBSTR(My_Line,1,3); T_Curr:=


1,3); F_Date:=SUBSTR(My_Line,1,3); T_Date:=SUBSTR(My_Line,1,3); C_type:=TRIM(S
ne,1,3)); C_Rate:=SUBSTR(My_Line,1,3); M_Flag:=SUBSTR(My_Line,1,3); INSERTINTOG
Y_RATES_INTERFACE( FROM_CURRENCY, TO_CURRENCY, FROM_CONVERSION_RATE, TO_CONVERSION_R
ATE, USER_CONVERSION_RATE, CONVERSION_DATE,M_FLAG)VALUES (F_Curr,T_Curr,F_Date,T_Dat
pe,C_Rate,M_Flag); ENDLOOP; EXCEPTIONWHENNO_DATA_FOUNDTHEN TL_FILE.FCLOS

20. BISINESSCOMPONENTS
The main components that are required to any business transaction are DATE, CUR
ndENTITIES. DATES:Tovalidatethesedatecomponentsweneedtodefinecalendarbasedon
od type is to specify how many number of periods required for maintainingthebal
tion(i.e.daily,weekly,monthly,quarterly,etc.). This period types are stored in G
S table. Based on these period types we define calendars. These calendars informa
d in GL_CALENDARS table. Foreachcalendarwedefineperiodsdependinguponthenumberof
eriod types. This periods information is stored in GL_PERIODS table. By default
l these periods is closed. This period statuses are stored in GL_PERIOD_STATUSESt
TS: To define accounting structure in General Ledger or in Finance Module we use
ctures. The structures defined using accounting KFF are called as ChartOfAccounts
tsIDuniquelyidentifieseachStructure. ENTITIES:entityisnothingbutamodule.Suppli
merEntity(AR), EmployeeEntity(HR),etc.,aresomeexamples.

69 CURRENCY:Thereare200typesofcurrenciescomewiththepackage.Allthecurrency inf
nGL_CURRENCIEStable.Thecurrency,whichisassignedto ourSetOfBooks,iscalledFuncti
ainingallthecurrenciesare calledasForeignCurrencies. Thereare3typesofcurrenc
ency 2. ForeignCurrency 3. StaticCurrency FunctionalCurrency:inwhichwearegoingt
nces. ForeignCurrency:Allthecurrenciesotherthanfunctionalcurrenciesarecalledfore
tatistical Currency: This is used to record the usage factor for various measurem
mple:If3departmentsaregoingtosharethesamepremisesandrentforthe premises is 2
shared proportionally to all the departments dependingupontheirusagefactor. CHA
estructuredefinedonaccountingKeyFlexField. SETOFBOOKS(SOB):Theseareusedtos
faparticular companyandareacollectionofcomponentsCalendar,CurrencyandChartOfAc
e SOB to a responsibility to the GL_RESPONSIBILITY using GL_SET_OF_BOOKS profile o
n we open the Journal from the responsibility thedefaultstatusofthisperiodiscl
tionfromourresponsibility we have to open the periods. Depending upon the first
ystem assigns never open status to its prior period and future entry status peri
ds dependinguponthenumberoffutureperiodsetsinourSetsOfBooks. PeriodStatus J
s/ Entry Posting Reports NeverOpen NO NO NO Open YES YES YES Closed NO NO YES
rmanentlyClosed YES NO YES Set Of Books information stored in GL_DETS_OF_BOOKS
of_Books_ID uniquelyidentifieseachsetofbook.

70 Q: How do we can find the Set Of Books, Flex Fields, Open/Close Periods, Ca
OLModule InAOLModule Setup Setup Financials FlexFields Books
InAOLModule Setup Journal Sources

GL_INTERFACE:ItisusedtoconvertthetransactionsofsubledgerintoJournals.

ValidationsrequiredforGL_INTERFACEtableare
1. STATUS: should be always new when we are transferring the data from sub ledge
ralledger.Importprogramchangesthestatustohold iftherecordisnotvalidatedsuccess
dbeinsentencecase. 2. SET_OF_BOOKS_ID:thisshouldexistinGL_SETS_OF_BOOKStable. DEC
; BEGIN SELECT X INTOCHKFROMAPPS.GL_SETS_OF_BOOKS WHERESET_OF_BOOKS_ID=&
DYOUCANPROCEED ); EXCEPTIONWHENNO_DATA_FOUNDTHEN DBMS_OUTPUT.PUT_LINE( THISSOB
COUNTING_DATE:isthedatewhenexactlywecanpostthejournals.Tables required to valid
g date are GL_SETS_OF_BOOKS, GL_PERIOD_TYPES, GL_PERIOD_SETS, GL_PERIODS and GL_PERIO
TATUSES. 4. CURRENCY_CODE: This code should be same as the currency assigned to t
ks. This code should exist in GL_CURRENCY table. If the currency

71 codeisdifferentfromSetsofBooksthenitismandatoryforustoprovidevalues for t
ike USER_CURRENCY, USER_TYPE, CURRENCY_CONCERSION_RATEandCURRENCY_CONVERSION_DATE. Not
e: 5. DATE_CREDITED:isthetransactiondateorJournaldate.Thisdateshouldbein open
etablesaffectedforthissameasaccountingdate. Herewehavetogivetheconditionforo
ouldbe between starting date of latest open period and ending date of future en
EATED_BY:ThisisfrontendloginUSER_IDshouldexistinFND_USERtable andthisusershoul
ilitytorecordtheJournals. 7. ACTUAL_FLAG:ingeneralledgerwearegoingtomaintain3t
ctualBalances(flagisA) b. BudgetBalances(flagisB) c. EncumbranceBalances(flagis
lancesthegeneralhastobecreatedasactualjournal.Budget journals are going to aff
. Encumbrance journals are going to affectencumbrancebalances. 8. USER_JE_CATEGORY_N
t is usedtodescribe the purpose of thejournal entry.Thiscategoryisgoingtobes
. 9. USER_JE_SOURCE_NAME:itisusedtostoretheoriginofthejournalentry.This source
CES. 10. BUDGET_VERSION_ID: This column is required when we are going to record B
s.ThisinformationisstoredinGL_BUDGET_ENTITIES. 11. ENCUBRANCE_TYPE_ID: This is requ
n we are going to required EncumbranceJournals. 12. SEGMENT_COLUMNS:Wehavetoprovi
hesegmentcolumns depending upon howmany number of segment columns associated with
f_Accounts_IDorStructure_IDassociatedwithourSet_Of_Books. Thetablesusedtovalidate
ND_ID_FLEXES, FND_ID_FLEXE_STRUCTURES, FND_ID_FLEXE_SEGMENTS, FND_ID_FLEXE_VALUE_SETS
, FND_ID_FLEXE_VALUES, FND_ID_FLEXE_VALUE_TL.

72 13. ENTER_DR and ENTER_CR: Columns are used to enter the debit amount ar Credi
leCodeRequiredtoUploadtheDatafromLegacySystem
LOADDATA INFILE* INTOTABLEGL.GL_INTERFACE FIELDSTERMINATEDBY,OPTIONALLY
ING_DATE, CURRENCY_CODE, DATE_CREATED, ACTUAL_FLAG, USER_JE_CATEGORY_NAME, USER_JE_SO
URCE_NAME, SEGMENT1, SEGMENT2, SEGMENT3,SEGMENT4,SEGMENT5,ENTER_DR,ENTER_CR) BEGINDAT
5MAY2001, USD, 25MAY2001, 1001239,A,Sales Invoice, Receivables, 03, 1
1239,A,Sales Invoice, Receivables, 03, 110, 6160, 1100,120,,1947

Save the above code with the file name GLINT.CTL in the path Oracle\visdb\8.1.6\b
ThenrunthefollowingcommandatcommandpromptatServerendtouploadthedata intovario
DRAPPS/APPS@VIScontrol=glint.ctl Journalsaregoingtobemaintainedin3levels 1. Batc
tion of Headers. This information will be stored in GL_JE_BATCHEStable. 2. Headers
ction of Lines. Headers are based on Category and Currency. Thisinformationwillb
EADERStable. 3. Lines:ThisinformationwillbestoredinGL_JE_LINEStable.

73

21. MULTIORGANIZATION
The ability to define multiple organizations and the relationships among them with
installation of Oracle Applications is called multi organization. Multi Organization
future used to store the data of multiple organizations in a single Database.

StructureofMultiOrganization
GL: Set Of Books Name (SOB1) MO: Operation Unit
Group) TRUCKS_AR GL: Set Of Books Name (SOB1) MO: Operation Units (Cars) HR: Bu
siness Group (Tata Group) CARS_AR Trucks Cars Develop Consulting Training SOB1 S
OB2 SOB3 SOB4 TM TCS TTS TS Nth Org Tata Groups

74 Themaincomponentsofthemultiorganizationare 1) BusinessGroup(BG) 2) LegacyEnt


OB) 4) OperatingUnitsorDivisions 5) Organizations Business Group (BG): The busin
resents the highest level in the organization structure, such as the consolidated
, a major division, or an Operation Company. A BG is used to secure human reso
ike generation of employee numbers, generation of applicants, position flex fields,
fields,GradeFlexfield,Fiscalyear,etc. LegacyEntity:Itisalegalbusiness,whichi
tioncodeortax registrationnumber.Atthislevelwearegoingtoprepareallourfinancia
ooks (SOB): ASOBisacollectionofCurrency,CalendarandChartofAccounts (COA). Oracle
is used to secure Journal transactions (such as journal entriesandbalances)ofac
oreachorganizationoftheBusiness GroupweneedtodefineasetofBook. OperationUni
noraBusinessunitofthelegalentity.At this level we are going to maintain the
. We are going to maintain the ledgers at Legal Entity level. Receivable, Payabl
. are comes underOperationUnitlevel. Organization: The different types of organ
ventory Organization, Asset Organization, Human ResourceOrganization, etc. These o
tions are going tobe maintainedatoperatingunitlevel. Note:In case if we are
nization we can define an entity as a BusinessGroup,LegalEntity,OperatingUnitan
he individual Accounts (i.e. Application Receivables) of an organization (i.e. Tata
fmultiorganization(TataGroup)areidentifiedby FirstbyModulethenResponsibilitythen
nSetofBooks

75 Intheaboveexample: Module GL GL GL GL GL GL Responsibility TM_GL TCS_GL TTS_


ofileOption GL_Set_Of_Books GL_Set_Of_Books GL_Set_Of_Books GL_Set_Of_Books GL_Set_Of_
Books GL_Set_Of_Books SetOfBooks SOB1 SOB2 SOB3 SOB4 . SOBn

DatawillbesecuredforeveryorganizationbyusingSetOfBooksID. The following are t


e effected for all the Organizations of multi organization. GL_JE_BATCHES GL_JE_HEA
JE_LINES To record the sales transactions of all the organizations will be stored
NSACTION_ALLtable.Extracolumnsrequiredtoidentifytheindividualsales transactions ar
ooks_ID, Org_ID (Operating Unit) and Organization_ID (BusinessGroup).

76

22. ALERTS
OracleAlertfacilitatestheflowofinformationwithinyourorganizationbylettingyou cre
edalerts.OracleAlertwillsendmessagesorperformpredefined actionsinanactionsetwh
ur. Alertisamechanismthatchecksyourdatabaseforaspecificexceptioncondition. Al
urbusinessinformationandtonotifyyouoftheinformation youwant. Therearetwotyp
2. Aperiodicalert.

Aneventalerts:Eventalertsimmediatelynotifiestheactivity(i.e.aninsertoran
updatetoatable)inthedatabaseasithappens/occurs. Tocreateaneventalert,youpe
derlisted: Definethedatabaseeventsthatwilltriggeryouralert Specifythedetails
ionsforyouralert Createactionsetscontainingtheactionsyouwantyouralerttoperfo
:Selectstatementthatreportsthecreationofnewusers: SELECTuser_name,:MAILIDINTO&N
nd_user WHERErowid=:ROWID;

Aperiodicalerts:Periodicalertsperiodicallyreportkeyinformationaccordingtoa
scheduleyoudefine. For example, you can define a periodic alert for Oracle Purc
a messagetothePurchasingManagerlistingthenumberofapprovedrequisitionlinesthat e
ent placed on purchase orders. You can define this alert to run weekly,andprovi
urementonaconsistentandtimelybasis. Tocreateaperiodicalert,youperformthefoll
ed: Define your periodic alert and specify its frequency Specify the details for
your alert Defineactionsforyouralert Createactionsetscontainingtheactionsyouw
rm

77 Exampleofaperiodicalert:Selectstatementthatlooksforuserswhohavenotchanged t
in the number of days specified by the value in :THRESHOLD_DAYS.: SELECTuser_na
te,:THRESHOLD_DAYS INTO&USER,&LASTDATE,&NUMDAYS FROMfnd_user WHEREsysdate=NVL(pas
ysdate)+:THRESHOLD_DAYS ORDERBYuser_name; AlertAction:Anactionyouwantyouralert
ioncandependon theoutputfromthealert.Anactioncanincludesendinganelectronicmai
ing an Oracle Applications program, running a program or script from youroperatin
ingaSQLscripttomodifyinformationinyourdatabase. Youcanhavemorethanoneactionf
rporatetheoutput ofthealert. Action Set: A sequence of alert actions that are
ular alert. You can assignasequencenumbertoeachactionyouincludeinanactionset
eactionsareperformed.

78

79 Message: This action is used to send a message to application user email_id u


cmailserver. Concurrent Program: Using this action we can run any concurrent pro
egisteredinoracleapplicationswhenanexceptionisraised. SQLStatementScript:Thisopt
Lstatementswhenanexception israised. OS Script: This option is used to run a
ile when an exception is raised. Responsibility is used to define the Alerts are
in production services. AlertsManagerVisionEnterprisesinvisiondatabase. Note:Hist
sed to store the exceptions raised and actions taken by alerts information.Alert
lert isfiredor not)status isfound inAlerts Historyoption. Details:Validatesof
ry.Anyoneoftheconditionsissatisfiedis enoughtoraiseanexception. ActionSets:is
hisoptioncallstheactionswhenanexceptionis raised. Note:VisionApplicationscomes
racleIDisAPPSandOperationUnitisVISION

80

23. DISCOVERER
Oracle Discoverer is a decision support product that enables you to perform ad h
atabase, analyze and format the results of the query, prepare the resultsforpres
agedatainawaythatismeaningfulforyourbusiness situation.Itseparatesthemorediff
rationtasksfromthesimpler queryingandreportingtaskssothatanalysts,managers,ando
rkers caneasilygettheirworkdonewithouthavingtoknowabouteitherdatabasesorSQL.
eeparts: 1. AdministrationEditionenablesyoutocreatealayerofmetadata,calledthe
ecomplexityofthedatabasefromusersandreflectsthe businessareasspecifictoyourcom
erer Plus enables you to easily query a database, save query results in workb
ts,andformatareport. 3. Discoverer Viewer enables you to view workbooks create
us usingnothingmorethanawebbrowser. Business Intelligence: is software it is
ons, Business Solutions and predictfuturetrends. Discoverer: is one of the busine
nce tool used to answer business queries by creatingadhocquerieswithoutdependin
e.Developers).Theother BusinessIntelligencetoolsareCagnos,Informatica,etc.
erver Different Databases Oracle Discoverer Static Databases Reporting Tools
Data Warehousing
Cagnoes
Informedia

81 Themaintoolsofdiscovererare 1. DiscovererAdministrator 2. DiscovererDesktop 3.


rViewer 4. DiscovererPlus From release 11.5.9 onwards discoverer is fully integrat
lication server. All theabovetoolsarebasedonenduserlayer. EndUserLayer:isaM
gicaldatabase,whichisused tohidethecomplexicityofthedatabase.Enduserlayercanb
or nondatabase users. Nondatabase users are also called as application users. On
icationusercanhaveonlyoneenduserlayer.Enduserlayerdefinedon end user can als
er database users. An end user layer is a collectionofoneormorebusinessareas.
ator:functionsare BusinessArea:isalogicalgroupoftablesandviewsof
ionoffolders.Afolderisatableloadedfromthedatabase.Folderisacollection ofite
nthetable.Wecanalsodefinespecialitemsfor calculationpurpose. Discoverer Desktop:
ng to be used by the end user in standalone machine.Itis used to access end
op we can create worksheets. Wecananalyzethedata.Wecancreatecharts(Graphs). Di
is tool is going to access the end user layer at client site on the WebinHTM
ananalyzethedataandcreategraphs. Discovererplus:isusedtoaccessenduserlayeron
his toolwecancreateworksheets,analyzedataandcreatecharts. Gatherstherequi
duserlayer CreatesBusinessArea LoadDataintoBusinessArea GiveControlaccesstoBu
sandConditions SendtoUsers

Вам также может понравиться