NO1 Famous Amil Baba In Karachi Kala Jadu In Karachi Amil baba In Karachi Add...
Using Oracles' account generator for Projects
1. APPLIES TO:
Oracle ProjectCosting- Version12.1.3
Oracle WorkflowBuilder2.6.3.5
GOAL:
The objective of thisarticle istodescribe indetail the accountgenerationprocessusedinacase where
projecttype isusedto derive natural accountsandthe processin general coversthe following:
POWFRQAG(PORequisitionAccountGenerator)
PAAPINVW(ProjectSupplierInvoiceAccountGeneration)
PABDACWF(ProjectBudgetAccountGeneration)
The chart of accounts of the use case is an 8 segmentcombinationand isasfollows:
Segment0- GL Book:This segmentisusedtoidentifythe GLbook of the organizationunderstudy.This
isset constantto 01 for organizational transactions.Manual GVsare usedto pass transactiontothe
otherbookwhichisdenotedby02. The transactionsare done forthe “01” book.
Segment1- GL BusinessUnit:There are variousdepartmentsinthe organizationandeachdepartmentis
assignedaunique value.Inprojectaccounting,thisaccountisderivedusingprojectorganization(as
againstexpenditure organization)
Segment2- GL Account:Thisdefinesthe natural accountsegment.
Segment3- GL Activity:Thisisdefinesacertainactivityforwhichthe transactionisdone.Project
transactionsmake use of the class code on projectdefinition toderivethissegment.
Segment4- GL Cost:The value here ismainlyusedbythe organizationtoidentifytheircapital and
operatingexpenditures.
Segment5- GL Project:The organizationusesuniqueidentifierstoidentifyprojectsbeforethe use of
projectcostingandbillingmodule.Thissegmentissettobecome redundantafterthe Oracle project
costingand billingapplicationgoeslive.
Segment6 andSegment7 are future segments.The genericvaluesare presetat000.
The requirementof the organizationmandatedthatthe projecttransactionderivenatural accounton
the basisof projecttype andexpenditure type.Hence the autoaccountinglookupswere definedwhere
multiple accountshadtobe derivedfora single expendituretype.
Additional forthe POWFRQAGandPAAPINVWthere wasanaskfor restrictingthe dataentryat
transactionlevel sothatno otherorganizationotherthanthe projectorganizationcanbe enteredas
expenditure organization.
2. SOLUTION:
In discussingthe solution,the example of PAAPINVW(ProjectSupplierInvoice AccountGeneration) will
be used, whichisa singularprocessforderivingthe charge accountfor APinvoices’distributionlines
whichcontainsprojectinformationtoderivethe charge account.
Figure 1
Step0:
Create ProjectAutoAccountingLook- upsforderivingSegment2,Segment3,Segment4, andSegment5
Step1: Create twoprocessesforcompletingthe accountgeneratorconfigurationbycopyingthe default
“Generate DefaultAccount”:
XX ProjectSupplierInvoice AccountGenerator
XX ProjectSupplierInvoice AccountGeneratorSub
Figure 2
Openthe process:XXProjectSupplierInvoiceAccountGenerator,andembedthe secondprocess:XX
ProjectSupplierInvoice AccountGeneratorSub,bydraggingitintothe firstprocess. Developacondition
to start generationof accountinthe process“XX ProjectSupplierInvoice AccountGenerator”with
successconditionof the process“XXProjectSupplierInvoice AccountGenerator Sub”endingin
“Validationof AccountCode Combination”withsuccessfulendgenerationprocess.
3. Figure 3
Step2: Define functionsforthe process:XXProjectSupplierInvoice AccountGeneratorSub
Figure 4
Table 1
Node 1 Start GeneratingCode Combination
ItemType StandardFlex Field Workflow
Internal Name FND_FLEX_START_GENERATION
The secondnode belowistodetermine whetherthe expenditure organization enteredbythe useristhe
same as the projectorganizationornot. The processendsinerror if value doesnotmatch.
Table 2
Node 2 Compare Text(if successful gotonextnode or
abort generation)
ItemType STANDARD
Internal Name COMPARETEXT
Node Attributes
Name Value Type Value Type
TestValue ItemAttribute Expenditure Organization
4. Reference value ItemAttribute ProjectOrganization
Assigning values to segment with constant values:
The followingstandardfunctionswere usedtoassignvalue toGL segmentswhere constantvalueswere
used(Inthe current case it was:Segment0, Segment5,Segment6 andSegment7)
Table 3
Node AssignValue tosegment
ItemType STANDARDFLEXFIELDWORKFLOW
Internal Name FND_FLEX_ASSIGN_TO_SEGMENT
Node Attributes
Name Value Type Value Type
SegmentIdentifier Constant Name
Segment Constant <GL Segment Name>
Value Constant <ConstantValue forGL Segment>
Replace ExistingValue Constant True
Assigning values to segment which depended on “Auto Accounting Lookups” defined in
project accounting (PA) module:
The followingstandardfunctionwasusedtodefine the lookupfromwhichthe segmentvalue needsto
be pickedup:
Table 4
Node SegmentLookupSetValue
ItemType ProjectSupplierInvoice AccountGeneration
Internal Name SEGMENT_LOOKUP_SET
Node Attributes
Name Value Type Value Type
LookupSetName Constant <AutoAccountingLookupsetname definedin
PA>
IntermediateValue ItemAttribute <Selectthe itemattribute towhichyouwantto
associate the segmentderivationto.Eg:
Expenditure Type,ProjectType,Project
Organization,etc.>
The function“SegmentLookupSetValue”was followedbyaconditionwhichsaysif true thenuse the
function“AssignValue tosegment”andif false endthe abortaccount generator.The conditionsthat
needtobe metare as follows:
1. PA auto accountingLookupdefinedinthe “SegmentLookupSetValue” isavailable.
5. 2. Itemattribute passedinthe transactionfromUI matchesthe valuesinthe PA AutoAccounting
Lookup.Incase of supplierinvoice the itemattributestoderive projectaccountsare asfollows:
a. Projectattributes(ProjectType,ProjectId,etc)
b. Expenditure type
c. Task Attribute
d. Expenditure organization
Figure 5 Project Information in AP invoice lines
“AssignValue tosegment”isusedtoassignsegmentvalue derivedfromthe lookupassociatedtothe
functionmentionedabove:
Table 5
Node AssignValue tosegment
ItemType STANDARDFLEXFIELDWORKFLOW
Internal Name FND_FLEX_ASSIGN_TO_SEGMENT
Node Attributes
Name Value Type Value Type
SegmentIdentifier Constant Name
Segment Constant <GL Segment Name>
Value ItemAttribute LookupSetValue
Replace ExistingValue Constant True
Natural Account Segment Derivation
The natural accountsegmentderivationinthiscase isbasedonthe combinationof the projecttype of
the projectassignedtothe transaction(inthiscase AP invoice) andPA autoaccountinglookup.The
followingrelationneedstobe established:
If ProjectType= ProjectType 1, thenchose the natural account value fromAutoAccountingLookup1.
If ProjectType= ProjectType 2, thenchose the natural account value fromAutoAccountingLookup2.
If ProjectType= ProjectType 3, thenchose the natural account value fromAutoAccountingLookup3.
……………………………………………………………………………………………………………………………………………………….......
If ProjectType= ProjectType XX,thenchose the natural account value fromAutoAccountingLookupXX.
To derive the above logicasub processwasincludedinthe process:“XXProjectSupplierInvoice
AccountGeneratorSub”.This iscalled“FetchNatural AccountagainstProjectType”- (seefigure 4.)
Followingfunctionswere usedtoderive the logic:
Compare Text:Thiswas usedtoequate the projecttype name of the projectassignedtothe transaction
level detailinAPinvoice withthe condition.
6. Table 6
Node 1 Compare Text(if successful gotonextnode or
abort generation)
ItemType STANDARD
Internal Name COMPARETEXT
Node Attributes
Name Value Type Value Type
TestValue ItemAttribute ProjectType
Reference value Constant <ProjectType Name>
If the projecttype wasequivalenttothe constantreference valueforprojecttype definedinthe above
functionthenthe nextfunctionwasactivatedwhichfetchedthe segmentvaluefromthe PA auto
accountinglookupset.
Table 7
Node SegmentLookupSetValue
ItemType ProjectSupplierInvoice AccountGeneration
Internal Name SEGMENT_LOOKUP_SET
Node Attributes
Name Value Type Value Type
LookupSetName Constant <AutoAccountingLookupset name definedin
PA>
IntermediateValue ItemAttribute Expenditure Type
The above was followedbythe “AssignValue tosegment”function.
The process“Fetch Natural AccountagainstProjectType”followedthe followingmap:
7. Start Natural Accout
Derivation
Is Project Type=
Project Type 1
Fetch Segment
Value from Lookup 1
Is Project Type=
Project Type 2
Fetch Segment
Value from Lookup 2
Is Project Type=
Project Type 3
Fetch Segment
Value from Lookup 3
Is Project Type=
Project Type 4
Fetch Segment
Value from Lookup 4
Is Project Type=
Project Type XX
Fetch Segment
Value from Lookup
XX
True
True
True
True
True
Assign Value to
Natural Account
Segment from
Lookup
Go to next function
Abort Generation
No Matching Project
Type Found
Figure 6
General
Otherstandardfunctionsusedare:
1. AbortGeneration:Usedtodefine if afunction’sconditionisnotmet:
8. Node AssignValue tosegment
ItemType STANDARDFLEXFIELDWORKFLOW
Internal Name FND_FLEX_ABORT_GENERATION
Node Attributes
Name Value Type Value Type
Error Message ItemAttribute Error Message
2. End Generationonsuccessful CCIDgeneration
Node End GenerationCode Combination
ItemType STANDARDFLEXFIELDWORKFLOW
Internal Name FND_FLEX_END_GENERATION
Node
Label:FND_FLEX_END_GENERATION
Start/End:End
Result:Success
3. End on successfullyassigningsegmentvaluetoGL segment
Node END (Success)
ItemType STANDARD
Internal Name FND_FLEX_END_GENERATION
Node
Label:End
Start/End:End
Result:Success
4. Validate code combination:Thisisusedtovalidate the CCID.ThisfunctionisusedinProject
SupplierAccountgenerationandProjectBudgetAccountgenerationatthe endof the process
flow. (SeeFigure3)
Node End GenerationCode Combination
ItemType STANDARDFLEXFIELDWORKFLOW
Internal Name FND_FLEX_VALIDATE_COMBINATION
Node