Академический Документы
Профессиональный Документы
Культура Документы
Objectives
Learn from Forge better
your experiences relationships
Assumptions
Access to an Creativity knows
environment no bounds
An Architecture Overview
Event Architecture
Data Architecture
Demo Worked Examples
From our Master List
Hands-on Workshop
You Try The Master List
https://<hostname>/crmCommon/faces/ExtnConfiguratorHome
def messageText = "DEBUG: " + now() + " - " + message adf.util.WriteLog("${RecordName}, After Create")
println(messageText)
Custom Object
Controller field to trigger different events
Observe!
Web Content
Save
Save
After Changes Posted is the last event where the current record can be changed within in the current commit cycle
It is also the only event common to Create and Modify that is inside the current commit cycle
Object Validation
After Update
Before Update
24 events
https://blogs.oracle.com/fadevrel/entry/groovy_performance_series_gene
ral_recommendations
Opportunity
One To Many
Many To One
If Accessing from Child Context (Target) to Parent (Source) Then Use The
Accessor field: [ReferencedObjectName]_c
if(Opportunity_c.myStatus_c == 'Open') {
vc1.setValue("A");
Use setConjunction() def vc2 = vcRow1.ensureCriteriaItem("Name");
vc2.setValue("AMMM");
vcRow.setConjunction(1);
vc.insertRow(vcRow);
vc.insertRow(vcRow1);
vo.applyViewCriteria(vc);
vo.executeQuery();
while(vo.hasNext()){
println(row.getAttribute('Name'))
Understanding Commits
Explicitly commit is not recommended but is possible
The transaction commit is tied directly to a UI commit!
Calling commit() or rollback() will affect changes pending in the current transaction!
def findCriteria = [filter: [ group: [ [ item: [ [ attribute :'CreationDate', operator :'AFTER', value
:[[item:'2015-05-01']] ], ] ] ] ], findAttribute:[[item:'PartyUniqueName']]]
def findControl = [ ]
def acts = adf.webServices.SimplifiedAccountService.findAccount(findCriteria, findControl)
//Return all the Values for PartyUniqueName
def actlist = acts[0].Value.PartyUniqueName
//Return one specific row (first from index)
def actlist = acts[0].Value[0].PartyUniqueName
More Advanced: Use Groovy to pass the web service different parameters
(or call a different services) depending on another Business Object field
value.
READ: http://blogs.oracle.com/FADevRel
Over 200 expert technical articles, whitepapers, etc.
SEE: http://www.youtube.com/FADeveloperRelations
Over 150 demo how-to videos
ASK: http://bit.ly/CustForum
Over 500 questions answered
FOLLOW: @FADevRel