GetData()
This code sample describes how to set up the HTML page that is loaded when the initiator of a workflow specifies values for the workflow attributes on the Project and Customer pages just before the first task is routed to the corresponding workflow participant.
function Assoc GetData( \
Object prgCtx, \
Dynamic context, \
Dynamic data, \
Record request, \
Boolean forStatus = False )
Assoc paneData
Assoc tabPaneInfo
Assoc tmp
Dynamic retVal
Integer whichTab
RecArray array
if ( IsDefined( data ) && Length( data ) )
retVal = Assoc.CreateAssoc()
retVal.Data = data
retVal.HTMLFile = 'tablevalues.html'
retVal.ModuleName = 'custmod'
whichTab = ( RecArray.IsColumn( request, 'CustPaneIndex' \
) ) ? Str.StringToInteger( request.CustPaneIndex ) : 1
//Set up the information required to display the Project tab.
tmp.Label = 'Project'
tmp.URL = $CustMod.CustModPkg.SetSubPaneIndexArg( \
$WebDSP.HTMLPkg.ArgsToURL( request ), 1 )
tabPaneInfo.TabList = { tmp }
tmp = Assoc.CreateAssoc()
tmp.ModuleName = 'custmod'
tmp.HTMLFile = 'projectpane.html'
tmp.Data = data
tabPaneInfo.PaneList = { tmp }
//Set up the information required to display the Customer tab.
tmp = Assoc.CreateAssoc()
tmp.Label = 'Customer'
tmp.URL = $CustMod.CustModPkg.SetSubPaneIndexArg( \
$WebDSP.HTMLPkg.ArgsToURL( request ), 2 )
tmp.Active = FALSE
tabPaneInfo.TabList = { @tabPaneInfo.TabList, tmp }
tmp = Assoc.CreateAssoc()
tmp.ModuleName = 'custmod'
tmp.HTMLFile = 'customerpane.html'
tmp.Data = data
tabPaneInfo.PaneList = { @tabPaneInfo.PaneList, tmp }
//If the tab value is less than 2 or greater than the maximum
//number of tabs, reset it to 1 so that the first tab is
//displayed.
if ( ( whichTab < 2 ) || ( whichTab > Length( \
tabPaneInfo.TabList ) ) )
whichTab = 1
end
tabPaneInfo.TabList[ whichTab ].Active = True
retVal.TabInfo = tabPaneInfo
retVal.Tab = whichTab
end
return( retVal )
end