...
Code Block |
---|
theme | Eclipse |
---|
language | java |
---|
title | RewardSettlementRunDefinition.java |
---|
collapse | true |
---|
|
public class RewardSettlementRunDefinition extends ViewObject {
/**
*
*/
private static final long serialVersionUID = 1L;
private CRMDOProcessRunDefinition processRunDefinition;
private SchedulerTask schedulerTask;
//input settings
private RewardSettlementType rewardSettlementType;
//criteria
private Set<RewardSchemeCriterion> schemeCriteria;
private Integer daysAgo;
public CRMDOProcessRunDefinition getProcessRunDefinition() {
return processRunDefinition;
}
public void setProcessRunDefinition(CRMDOProcessRunDefinition processRunDefinition) {
this.processRunDefinition = processRunDefinition;
}
public SchedulerTask getSchedulerTask() {
return schedulerTask;
}
public void setSchedulerTask(SchedulerTask schedulerTask) {
this.schedulerTask = schedulerTask;
}
public RewardSettlementType getRewardSettlementType() {
return rewardSettlementType;
}
public void setRewardSettlementType(RewardSettlementType rewardSettlementType) {
this.rewardSettlementType = rewardSettlementType;
}
public Set<RewardSchemeCriterion> getSchemeCriteria() {
return schemeCriteria;
}
public void setSchemeCriteria(Set<RewardSchemeCriterion> schemeCriteria) {
this.schemeCriteria = schemeCriteria;
}
public Integer getDaysAgo() {
return daysAgo;
}
public void setDaysAgo(Integer daysAgo) {
this.daysAgo = daysAgo;
}
@Override
protected LinkedHashMap<String, CRMDO> getAssociatedDataObjects() {
LinkedHashMap<String, CRMDO> dataObjects=new LinkedHashMap<String, CRMDO>();
dataObjects.put("processRunDefinition", getProcessRunDefinition());
return dataObjects;
}
@Override
public LinkedHashMap<String, String> getViewMandatoryFields() {
LinkedHashMap<String, String> viewMandatoryFields = new LinkedHashMap<String, String>();
viewMandatoryFields.put( "rewardSettlementType", "key_reward_settlement_type");
return viewMandatoryFields;
} |
Create Summary Pages
In the following steps, five Five new summary pages need to be implemented in order to have a complete image of a give the user all the necessary information about the process run definition screen, thus the image below illustrates the run definition summary page. The main summary page includes other four, starting from the first , its runs, and their results.
Process Run Definition Summary Page
The first summary page to create is the process run definition summary page, which is shown in the process runs drill-own. This drill-down also includes another two summary pages for successful and failed entries accordingly and lastly one summary page for the previous versions, as we can see.
...
...
the main summary page that will display all the process run definition records.
Ui expand |
---|
title | Rewards Settlements Process Run Definition Summary Page |
---|
|
Code Block |
---|
language | xml |
---|
title | settlementProcessRunDefinitions.xml |
---|
| <?xml version="1.0" encoding="UTF-8"?><summary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/summary.xsd">
<title>key_process_run_definitions</title>
<sql>FROM PROCESSRUNDEFINITIONS
LEFT JOIN USERS CREATEDBY ON CREATEDBY.USERID = PROCESSRUNDEFINITIONS.PROCESSRUNDEFCREATEDBYUSERID
LEFT JOIN USERS UPDATEDBY ON UPDATEDBY.USERID = PROCESSRUNDEFINITIONS.PROCESSRUNDEFUPDATEDBYUSERID
LEFT JOIN OUUNITS CREATEDBYUNIT ON CREATEDBYUNIT.OUUID = PROCESSRUNDEFINITIONS.PROCESSRUNDEFCREATEDBYOUUID
LEFT JOIN OUUNITS UPDATEDBYUNIT ON UPDATEDBYUNIT.OUUID = PROCESSRUNDEFINITIONS.PROCESSRUNDEFUPDATEDBYOUUID
WHERE PROCESSRUNDEFINITIONS.PROCESSRUNDEFDELETED = 0
AND PROCESSRUNDEFINITIONS.PROCESSID = 'REWARD_SETTLEMENT_PROCESSING'
AND PROCESSRUNDEFINITIONS.MODULEID = 'REWARDS'
AND PROCESSRUNDEFINITIONS.PROCESSRUNDEFVERSION = (
SELECT MAX(PRD.PROCESSRUNDEFVERSION) FROM PROCESSRUNDEFINITIONS PRD
WHERE PRD.PROCESSRUNDEFUNIFIEDCODE = PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE
)
</sql>
<rowsperpage>20</rowsperpage>
<primaryfield>PROCESSRUNDEFINITIONS.PROCESSRUNDEFID</primaryfield>
<mainlinkfield>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE</mainlinkfield>
<autosearch>true</autosearch>
<allownocriteria>true</allownocriteria>
<module>REWARDS</module>
<fieldlist>
<!-- external filters -->
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFID</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<!-- basic search -->
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE</fieldname>
<caption>key_unified_code</caption>
<filter>true</filter>
<filtercaseinsensitive>true</filtercaseinsensitive>
<filtersearchonchange>true</filtersearchonchange>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFNAME</fieldname>
<caption>key_name</caption>
<filter>true</filter>
<filtercaseinsensitive>true</filtercaseinsensitive>
<filtersearchonchange>true</filtersearchonchange>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFALTCODE</fieldname>
<caption>key_alternative_code</caption>
<filter>true</filter>
<filtercaseinsensitive>true</filtercaseinsensitive>
<filtersearchonchange>true</filtersearchonchange>
</field>
<field>
<fieldname>PROCESS_RUN_FILTER</fieldname>
<fieldfunction>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE</fieldfunction>
<caption>key_process_run_number</caption>
<filter>true</filter>
<filtercondition>
PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE IN (
SELECT PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE FROM PROCESSRUNDEFINITIONS
WHERE PROCESSRUNDEFINITIONS.PROCESSRUNDEFID IN (
SELECT PROCESSRUNLOG.PROCESSRUNDEFID FROM PROCESSRUNLOG
WHERE PROCESSRUNLOG.PROCESSRUNLOGNUM = '#1'
AND PROCESSRUNLOG.PROCESSRUNLOGDELETED = 0
)
)
</filtercondition>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.LIFECYCLESTATE</fieldname>
<caption>key_life_cycle_state</caption>
<filter>true</filter>
<fixedlookup>ejb/CRMUISubscriptionProcessRunDefinition.getLifeCycleStateOptions:key_all</fixedlookup>
</field>
<!-- advanced search -->
<field>
<fieldname>CREATEDBYUSER_FILTER</fieldname>
<fieldfunction>CREATEDBY.USERID</fieldfunction>
<caption>key_created_by_user</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filterlookupname>dataset;users.load;userid;username:name</filterlookupname>
</field>
<field>
<fieldname>CREATEDBYUNIT_FILTER</fieldname>
<fieldfunction>CREATEDBYUNIT.OUUID</fieldfunction>
<caption>key_created_by_unit</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filterlookupname>dataset;networkmanagement.loadunits;ouuid;ouuname:ougname:oucname</filterlookupname>
</field>
<field>
<fieldname>PROCRUNDEFCREATEDDATE_FILTER</fieldname>
<fieldfunction>PROCESSRUNDEFINITIONS.PROCESSRUNDEFCREATEDDATE</fieldfunction>
<fieldtype>date</fieldtype>
<caption>key_date_created</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filtertextoption>range</filtertextoption>
</field>
<field>
<fieldname>UPDATEDBYUSER_FILTER</fieldname>
<fieldfunction>UPDATEDBY.USERID</fieldfunction>
<caption>key_updated_by_user</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filterlookupname>dataset;users.load;userid;username:name</filterlookupname>
</field>
<field>
<fieldname>UPDATEDBYUNIT_FILTER</fieldname>
<fieldfunction>UPDATEDBYUNIT.OUUID</fieldfunction>
<caption>key_updated_by_unit</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filterlookupname>dataset;networkmanagement.loadunits;ouuid;ouuname:ougname:oucname</filterlookupname>
</field>
<field>
<fieldname>PROCRUNDEFUPDATEDDATE_FILTER</fieldname>
<fieldfunction>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUPDATEDDATE</fieldfunction>
<fieldtype>date</fieldtype>
<caption>key_date_updated</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filtertextoption>range</filtertextoption>
</field>
<!-- fields -->
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE</fieldname>
<caption>key_unified_code</caption>
<summary>true</summary>
<link>page.do?xml=rewards/settlementProcessRunDefinition&act=itm&jndi=ejb/CRMUIRewardSettlementRunDefinition&fc=loadForm&pv0=((PROCESSRUNDEFINITIONS.PROCESSRUNDEFID))&pvc=1</link>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFNAME</fieldname>
<caption>key_name</caption>
<summary>true</summary>
<link>page.do?xml=rewards/settlementProcessRunDefinition&act=itm&jndi=ejb/CRMUIRewardSettlementRunDefinition&fc=loadForm&pv0=((PROCESSRUNDEFINITIONS.PROCESSRUNDEFID))&pvc=1</link>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFALTCODE</fieldname>
<caption>key_alternative_code</caption>
<summary>true</summary>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFDESC</fieldname>
<caption>key_description</caption>
<summary>true</summary>
<mouseover>true</mouseover>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFVERSION</fieldname>
<caption>key_version</caption>
<summary>true</summary>
</field>
<field>
<fieldname>CREATEDBYUSERNAME</fieldname>
<fieldfunction>CREATEDBY.USERNAME</fieldfunction>
<caption>key_created_by_user</caption>
<expand>true</expand>
</field>
<field>
<fieldname>UPDATEDBYUSERNAME</fieldname>
<fieldfunction>UPDATEDBY.USERNAME</fieldfunction>
<caption>key_updated_by_user</caption>
<expand>true</expand>
</field>
<field>
<fieldname>CREATEDBYUNITOUUNAME</fieldname>
<fieldfunction>CREATEDBYUNIT.OUUNAME</fieldfunction>
<caption>key_created_by_unit</caption>
<expand>true</expand>
</field>
<field>
<fieldname>UPDATEDBYUNITOUUNAME</fieldname>
<fieldfunction>UPDATEDBYUNIT.OUUNAME</fieldfunction>
<caption>key_updated_by_unit</caption>
<expand>true</expand>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFCREATEDDATE</fieldname>
<fieldtype>date</fieldtype>
<caption>key_date_created</caption>
<expand>true</expand>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUPDATEDDATE</fieldname>
<fieldtype>date</fieldtype>
<caption>key_date_updated</caption>
<expand>true</expand>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFSCHEDULEDDATE</fieldname>
<fieldtype>date</fieldtype>
<caption>key_scheduled_date</caption>
<expand>true</expand>
</field>
<!-- drilldowns -->
<field>
<fieldname>PROCESSRUNS_DD</fieldname>
<fieldfunction>''</fieldfunction>
<caption>key_process_runs</caption>
<summary>true</summary>
<fieldtype>label</fieldtype>
<label>key_process_runs</label>
<link>drilldown:rewards/settlementProcessRuns;hidefilters~true~PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE~((PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE))</link>
</field>
<field>
<fieldname>PREVIOUSVERSION_DD</fieldname>
<fieldfunction>''</fieldfunction>
<caption>key_previous_version</caption>
<summary>true</summary>
<fieldtype>label</fieldtype>
<label>key_previous_version</label>
<link>drilldown:rewards/settlementProcessRunDefinitionsVersions;hidefilters~true~PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE~((PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE))~PROCESSRUNDEFINITIONS.PROCESSRUNDEFID~((PROCESSRUNDEFINITIONS.PROCESSRUNDEFID))</link>
</field>
</fieldlist>
<actions>
<action>
<caption>key_new</caption>
<topmenu>true</topmenu>
<link>page.do?xml=rewards/settlementProcessRunDefinition&act=new&jndi=ejb/CRMUIRewardSettlementRunDefinition&fc=createButton</link>
</action>
</actions>
</summary> |
Image Added |
As you can see, two drill-down summary pages must be created and included in the main summary page: process runs and previous version pages.
Process Runs Drilldown Summary Page
Process runs summary page shows all the process runs created by a specific process run definition.
Ui expand |
---|
title | Rewards Settlements Process Runs Summary Page |
---|
|
Code Block |
---|
language | xml |
---|
title | settlementProcessRuns.xml |
---|
collapse | true |
---|
| <?xml version="1.0" encoding="UTF-8"?><summary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/summary.xsd">
<title>key_reward_settlement_process_runs</title>
<sql>
FROM PROCESSRUNLOG
INNER JOIN PROCESSRUNDEFINITIONS ON PROCESSRUNDEFINITIONS.PROCESSRUNDEFID = PROCESSRUNLOG.PROCESSRUNDEFID
LEFT JOIN USERS CREATEDBY ON CREATEDBY.USERID = PROCESSRUNLOG.PROCESSRUNLOGCREATEDBYUSERID
LEFT JOIN USERS UPDATEDBY ON UPDATEDBY.USERID = PROCESSRUNLOG.PROCESSRUNLOGUPDATEDBYUSERID
LEFT JOIN OUUNITS CREATEDBYUNIT ON CREATEDBYUNIT.OUUID = PROCESSRUNLOG.PROCESSRUNLOGCREATEDBYOUUID
LEFT JOIN OUUNITS UPDATEDBYUNIT ON UPDATEDBYUNIT.OUUID = PROCESSRUNLOG.PROCESSRUNLOGUPDATEDBYOUUID
WHERE PROCESSRUNLOGDELETED = 0
</sql>
<rowsperpage>20</rowsperpage>
<primaryfield>PROCESSRUNLOG.PROCESSRUNLOGID</primaryfield>
<mainlinkfield>PROCESSRUNLOG.PROCESSRUNLOGNUM</mainlinkfield>
<orderbyfields>PROCESSRUNLOG.PROCESSRUNLOGSTARTDATE DESC</orderbyfields>
<multiselect>true</multiselect>
<module>REWARDS</module>
<fieldlist>
<!-- external filters -->
<field>
<fieldname>PROCESSRUNLOG.PROCESSRUNLOGID</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<field>
<fieldname>PROCESSRUNLOG.PROCESSRUNDEFID</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<field>
<fieldname>PROCESSRUNLOG.MODULEID</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<field>
<fieldname>PROCESSRUNLOG.PROCESSID</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<!-- fields -->
<field>
<fieldname>PROCESSRUNLOG.PROCESSRUNLOGNUM</fieldname>
<caption>key_number</caption>
<summary>true</summary>
</field>
<field>
<fieldname>PROCESS_DEF_VER</fieldname>
<fieldfunction>PROCESSRUNDEFINITIONS.PROCESSRUNDEFVERSION</fieldfunction>
<caption>key_version</caption>
<summary>true</summary>
<link>page.do?xml=rewards/settlementProcessRunDefinition&act=itm&jndi=ejb/CRMUIRewardSettlementRunDefinition&fc=loadForm&pv0=((PROCESSRUNDEFINITIONS.PROCESSRUNDEFID))&pvc=1</link>
</field>
<field>
<fieldname>PROCESSRUNLOGSTATUS</fieldname>
<fieldfunction>PROCESSRUNLOG.PROCESSRUNLOGSTATUS</fieldfunction>
<caption>key_life_cycle_state</caption>
<summary>true</summary>
<fixedlookup>ejb/CRMUIProcessRunLog.getStatusOptions:key_n/a</fixedlookup>
</field>
<field>
<fieldname>PROCESSRUNLOG.PROCESSRUNLOGSTARTDATE</fieldname>
<caption>key_start_date</caption>
<summary>true</summary>
<fieldtype>date</fieldtype>
</field>
<field>
<fieldname>PROCESSRUNLOG.PROCESSRUNLOGENDDATE</fieldname>
<caption>key_end_date</caption>
<summary>true</summary>
<fieldtype>date</fieldtype>
</field>
<field>
<fieldname>PROCESSRUNLOGSTATUS_FILTER</fieldname>
<fieldfunction>PROCESSRUNLOG.PROCESSRUNLOGSTATUS</fieldfunction>
<caption>key_status</caption>
<filter>true</filter>
<fixedlookup>ejb/CRMUIProcessRunLog.getStatusOptions:key_all</fixedlookup>
</field>
<!-- Expand Fields -->
<field>
<fieldname>CREATEDBYUSERNAME</fieldname>
<fieldfunction>CREATEDBY.USERNAME</fieldfunction>
<caption>key_created_by_user</caption>
<expand>true</expand>
</field>
<field>
<fieldname>UPDATEDBYUSERNAME</fieldname>
<fieldfunction>UPDATEDBY.USERNAME</fieldfunction>
<caption>key_updated_by_user</caption>
<expand>true</expand>
</field>
<field>
<fieldname>CREATEDBYUNITOUUNAME</fieldname>
<fieldfunction>CREATEDBYUNIT.OUUNAME</fieldfunction>
<caption>key_created_by_unit</caption>
<expand>true</expand>
</field>
<field>
<fieldname>UPDATEDBYUNITOUUNAME</fieldname>
<fieldfunction>UPDATEDBYUNIT.OUUNAME</fieldfunction>
<caption>key_updated_by_unit</caption>
<expand>true</expand>
</field>
<field>
<fieldname>PROCESSRUNLOG.PROCESSRUNLOGCREATEDDATE</fieldname>
<caption>key_date_created</caption>
<expand>true</expand>
<fieldtype>date</fieldtype>
</field>
<field>
<fieldname>PROCESSRUNLOG.PROCESSRUNLOGUPDATEDDATE</fieldname>
<caption>key_date_updated</caption>
<expand>true</expand>
<fieldtype>date</fieldtype>
</field>
<!-- drilldowns -->
<field>
<fieldname>PROCESSSUCCESSFULLY_DD</fieldname>
<fieldfunction>''</fieldfunction>
<caption>key_process_successfully</caption>
<summary>true</summary>
<fieldtype>label</fieldtype>
<label>key_view</label>
<link>drilldown:rewards/settlementProcessRuns_successfulentries;hidefilters~true~PROCESSRUNENTITYLOG.PROCESSRUNLOGID~((PROCESSRUNLOG.PROCESSRUNLOGID))</link>
</field>
<field>
<fieldname>PROCESSWITHERRORS_DD</fieldname>
<fieldfunction>''</fieldfunction>
<caption>key_processed_with_errors</caption>
<summary>true</summary>
<fieldtype>label</fieldtype>
<label>key_view</label>
<link>drilldown:rewards/settlementProcessRuns_failedentries;hidefilters~true~PROCESSRUNENTITYLOG.PROCESSRUNLOGID~((PROCESSRUNLOG.PROCESSRUNLOGID))~PROCESSRUNENTITYSTATUS~FAILED</link>
</field>
</fieldlist>
<actions>
<action>
<caption>key_delete</caption>
<modal>true</modal>
<link>javascript:displayModalCreateAndRefreshWhenDone(
'processrun/deleteProcessRunLogForm',
'ejb/CRMUIProcessRunLog',
'loadDeleteProcessRunLogForm',
'java.util.ArrayList@[[SummaryComponent_((component))]]',
'edit',
null,
'processrun/processRunLogs',
getPageId()
)</link>
</action>
</actions>
</summary> |
Image Added |
As you can see, two drill-down summary pages must be created and included in process runs summary page: processed successfully and processed with errors pages.
Processed Successfully Summary Page
Processed successfully summary page shows all the entities that were processed successfully by a specific process run.
Ui expand |
---|
title | Rewards Settlement Run Entities Processed Successfully Summary Page |
---|
|
Code Block |
---|
language | xml |
---|
title | settlementProcessRuns_sucessfulentries.xml |
---|
collapse | true |
---|
| <?xml version="1.0" encoding="UTF-8"?><summary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/summary.xsd">
<title>key_process_results_/_errors</title>
<sql>FROM PROCESSRUNENTITYLOG
LEFT JOIN USERS CREATEDBY ON CREATEDBY.USERID = PROCESSRUNENTITYLOG.PROCRUNENTITYCREATEDBYUSERID
LEFT JOIN USERS UPDATEDBY ON UPDATEDBY.USERID = PROCESSRUNENTITYLOG.PROCRUNENTITYUPDATEDBYUSERID
LEFT JOIN OUUNITS CREATEDBYUNIT ON CREATEDBYUNIT.OUUID = PROCESSRUNENTITYLOG.PROCRUNENTITYCREATEDBYOUUID
LEFT JOIN OUUNITS UPDATEDBYUNIT ON UPDATEDBYUNIT.OUUID = PROCESSRUNENTITYLOG.PROCRUNENTITYUPDATEDBYOUUID
WHERE PROCESSRUNENTITYLOGDELETED = 0 AND PROCESSRUNENTITYSTATUS = 'COMPLETED'
</sql>
<rowsperpage>20</rowsperpage>
<primaryfield>PROCESSRUNENTITYLOG.PROCESSRUNENTITYLOGID</primaryfield>
<mainlinkfield>PROCESSRUNENTITYLOG.PROCESSRUNENTITYLOGID</mainlinkfield>
<orderbyfields>PROCESSRUNENTITYLOG.ENTITYPKID DESC</orderbyfields>
<hidefindbutton>true</hidefindbutton>
<module>REWARDS</module>
<fieldlist>
<!-- external filters -->
<field>
<fieldname>PROCESSRUNENTITYLOG.PROCESSRUNLOGID</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<!-- fields -->
<field>
<fieldname>Dummy1</fieldname>
<fieldfunction>''</fieldfunction>
<caption>key_entity</caption>
<summary>true</summary>
<fieldtype>label</fieldtype>
<label>key_entity</label>
<link>drilldown:
'((PROCESSRUNENTITYLOG.ENTITYID))'=='ACCOUNTSRECEIVABLE'~~accounts/accountsReceivable;hidefilters~true~ACCOUNTSRECEIVABLE.ACCRECID~((PROCESSRUNENTITYLOG.ENTITYPKID))|||
'((PROCESSRUNENTITYLOG.ENTITYID))'=='INVOICES'~~financialtransactions/financialTransactions;hidefilters~true~FINTRANSACTIONS.FINTRXNID~((PROCESSRUNENTITYLOG.ENTITYPKID))|||
'((PROCESSRUNENTITYLOG.ENTITYID))'=='CREDITNOTES'~~financialtransactions/financialTransactions;hidefilters~true~FINTRANSACTIONS.FINTRXNID~((PROCESSRUNENTITYLOG.ENTITYPKID))
</link>
</field>
<field>
<fieldname>PROCESSRUNENTITYLOG.ENTITYID</fieldname>
<caption>key_entity_name</caption>
<summary>true</summary>
<fieldtype>string</fieldtype>
<fixedlookup>ACCOUNTSRECEIVABLE|key_accounts_receivable|INVOICES|key_invoice|CREDITNOTES|key_credit_note</fixedlookup>
</field>
<field>
<fieldname>PROCESSRUNENTITYLOG.ENTITYPKID</fieldname>
<caption>key_entity_pk_id</caption>
<summary>false</summary>
<fieldtype>string</fieldtype>
</field>
<field>
<fieldname>PROCESSRUNENTITYSTATUS</fieldname>
<fieldfunction>PROCESSRUNENTITYLOG.PROCESSRUNENTITYSTATUS</fieldfunction>
<caption>key_status</caption>
<summary>true</summary>
<fixedlookup>ejb/CRMUIProcessRunLog.getEntityStatusOptions:key_n/a</fixedlookup>
</field>
<!-- Expand Fields -->
<field>
<fieldname>CREATEDBYUSERNAME</fieldname>
<fieldfunction>CREATEDBY.USERNAME</fieldfunction>
<caption>key_created_by_user</caption>
<expand>true</expand>
</field>
<field>
<fieldname>UPDATEDBYUSERNAME</fieldname>
<fieldfunction>UPDATEDBY.USERNAME</fieldfunction>
<caption>key_updated_by_user</caption>
<expand>true</expand>
</field>
<field>
<fieldname>CREATEDBYUNITOUUNAME</fieldname>
<fieldfunction>CREATEDBYUNIT.OUUNAME</fieldfunction>
<caption>key_created_by_unit</caption>
<expand>true</expand>
</field>
<field>
<fieldname>UPDATEDBYUNITOUUNAME</fieldname>
<fieldfunction>UPDATEDBYUNIT.OUUNAME</fieldfunction>
<caption>key_updated_by_unit</caption>
<expand>true</expand>
</field>
<field>
<fieldname>PROCESSRUNENTITYLOG.PROCRUNENTITYCREATEDDATE</fieldname>
<caption>key_date_created</caption>
<expand>true</expand>
<filter>true</filter>
<fieldtype>date</fieldtype>
<filtertextoption>range</filtertextoption>
<filteronexpand>true</filteronexpand>
</field>
<field>
<fieldname>PROCESSRUNENTITYLOG.PROCRUNENTITYUPDATEDDATE</fieldname>
<caption>key_date_updated</caption>
<expand>true</expand>
<filter>true</filter>
<fieldtype>date</fieldtype>
<filtertextoption>range</filtertextoption>
<filteronexpand>true</filteronexpand>
</field>
</fieldlist>
</summary> |
Image Added |
Processed with errors summary page shows all the entities that their processing, by a specific process run, failed.
Ui expand |
---|
title | Rewards Settlement Entities Processed with Errors Summary Page |
---|
|
Code Block |
---|
language | xml |
---|
title | settlementProcessRuns_failedentries.xml |
---|
collapse | true |
---|
| <?xml version="1.0" encoding="UTF-8"?><summary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/summary.xsd">
<title>key_process_results_/_errors</title>
<sql>FROM PROCESSRUNENTITYLOG
LEFT JOIN USERS CREATEDBY ON CREATEDBY.USERID = PROCESSRUNENTITYLOG.PROCRUNENTITYCREATEDBYUSERID
LEFT JOIN USERS UPDATEDBY ON UPDATEDBY.USERID = PROCESSRUNENTITYLOG.PROCRUNENTITYUPDATEDBYUSERID
LEFT JOIN OUUNITS CREATEDBYUNIT ON CREATEDBYUNIT.OUUID = PROCESSRUNENTITYLOG.PROCRUNENTITYCREATEDBYOUUID
LEFT JOIN OUUNITS UPDATEDBYUNIT ON UPDATEDBYUNIT.OUUID = PROCESSRUNENTITYLOG.PROCRUNENTITYUPDATEDBYOUUID
WHERE PROCESSRUNENTITYLOGDELETED = 0 AND PROCESSRUNENTITYSTATUS = 'FAILED'
</sql>
<rowsperpage>20</rowsperpage>
<primaryfield>PROCESSRUNENTITYLOG.PROCESSRUNENTITYLOGID</primaryfield>
<mainlinkfield>PROCESSRUNENTITYLOG.PROCESSRUNENTITYLOGID</mainlinkfield>
<orderbyfields>PROCESSRUNENTITYLOG.ENTITYPKID DESC</orderbyfields>
<hidefindbutton>true</hidefindbutton>
<module>REWARDS</module>
<fieldlist>
<!-- external filters -->
<field>
<fieldname>PROCESSRUNENTITYLOG.PROCESSRUNLOGID</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<!-- fields -->
<field>
<fieldname>Dummy1</fieldname>
<fieldfunction>''</fieldfunction>
<caption>key_entity</caption>
<summary>true</summary>
<fieldtype>label</fieldtype>
<label>key_entity</label>
<link>drilldown:
'((PROCESSRUNENTITYLOG.ENTITYID))'=='ACCOUNTSRECEIVABLE'~~accounts/accountsReceivable;hidefilters~true~ACCOUNTSRECEIVABLE.ACCRECID~((PROCESSRUNENTITYLOG.ENTITYPKID))|||
'((PROCESSRUNENTITYLOG.ENTITYID))'=='INVOICES'~~financialtransactions/financialTransactions;hidefilters~true~FINTRANSACTIONS.FINTRXNID~((PROCESSRUNENTITYLOG.ENTITYPKID))|||
'((PROCESSRUNENTITYLOG.ENTITYID))'=='CREDITNOTES'~~financialtransactions/financialTransactions;hidefilters~true~FINTRANSACTIONS.FINTRXNID~((PROCESSRUNENTITYLOG.ENTITYPKID))
</link>
</field>
<field>
<fieldname>PROCESSRUNENTITYLOG.ENTITYID</fieldname>
<caption>key_entity_name</caption>
<summary>true</summary>
<fieldtype>string</fieldtype>
<fixedlookup>ACCOUNTSRECEIVABLE|key_accounts_receivable|INVOICES|key_invoice|CREDITNOTES|key_credit_note</fixedlookup>
</field>
<field>
<fieldname>PROCESSRUNENTITYLOG.ENTITYPKID</fieldname>
<caption>key_entity_pk_id</caption>
<summary>false</summary>
<fieldtype>string</fieldtype>
</field>
<field>
<fieldname>PROCESSRUNENTITYSTATUS</fieldname>
<fieldfunction>PROCESSRUNENTITYLOG.PROCESSRUNENTITYSTATUS</fieldfunction>
<caption>key_status</caption>
<summary>true</summary>
<fixedlookup>ejb/CRMUIProcessRunLog.getEntityStatusOptions:key_n/a</fixedlookup>
</field>
<field>
<fieldname>PROCESSRUNENTITYLOG.PROCESSRUNLOGERRORCODE</fieldname>
<caption>key_error_code</caption>
<summary>true</summary>
</field>
<!-- Expand Fields -->
<field>
<fieldname>CREATEDBYUSERNAME</fieldname>
<fieldfunction>CREATEDBY.USERNAME</fieldfunction>
<caption>key_created_by_user</caption>
<expand>true</expand>
</field>
<field>
<fieldname>UPDATEDBYUSERNAME</fieldname>
<fieldfunction>UPDATEDBY.USERNAME</fieldfunction>
<caption>key_updated_by_user</caption>
<expand>true</expand>
</field>
<field>
<fieldname>CREATEDBYUNITOUUNAME</fieldname>
<fieldfunction>CREATEDBYUNIT.OUUNAME</fieldfunction>
<caption>key_created_by_unit</caption>
<expand>true</expand>
</field>
<field>
<fieldname>UPDATEDBYUNITOUUNAME</fieldname>
<fieldfunction>UPDATEDBYUNIT.OUUNAME</fieldfunction>
<caption>key_updated_by_unit</caption>
<expand>true</expand>
</field>
<field>
<fieldname>PROCESSRUNENTITYLOG.PROCRUNENTITYCREATEDDATE</fieldname>
<caption>key_date_created</caption>
<expand>true</expand>
<filter>true</filter>
<fieldtype>date</fieldtype>
<filtertextoption>range</filtertextoption>
<filteronexpand>true</filteronexpand>
</field>
<field>
<fieldname>PROCESSRUNENTITYLOG.PROCRUNENTITYUPDATEDDATE</fieldname>
<caption>key_date_updated</caption>
<expand>true</expand>
<filter>true</filter>
<fieldtype>date</fieldtype>
<filtertextoption>range</filtertextoption>
<filteronexpand>true</filteronexpand>
</field>
<field>
<fieldfunction>PROCESSRUNENTITYLOG.PROCESSRUNLOGERRORDESC</fieldfunction>
<fieldname>PROCESSRUNLOGERRORDESC</fieldname>
<caption>key_error_description</caption>
<expand>true</expand>
</field>
</fieldlist>
</summary> |
Image Added |
Previous Version Summary Page
Previous version summary page shows the previous version of a specific process run.
Ui expand |
---|
title | Rewards Settlement Run Previous Version Summary Page |
---|
|
Code Block |
---|
language | xml |
---|
title | settlementProcessRunDefinitionsVersions.xml |
---|
collapse | true |
---|
| <?xml version="1.0" encoding="UTF-8"?><summary xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xsd/summary.xsd">
<title>key_process_run_definitions</title>
<sql>FROM PROCESSRUNDEFINITIONS
LEFT JOIN USERS CREATEDBY ON CREATEDBY.USERID = PROCESSRUNDEFINITIONS.PROCESSRUNDEFCREATEDBYUSERID
LEFT JOIN USERS UPDATEDBY ON UPDATEDBY.USERID = PROCESSRUNDEFINITIONS.PROCESSRUNDEFUPDATEDBYUSERID
LEFT JOIN OUUNITS CREATEDBYUNIT ON CREATEDBYUNIT.OUUID = PROCESSRUNDEFINITIONS.PROCESSRUNDEFCREATEDBYOUUID
LEFT JOIN OUUNITS UPDATEDBYUNIT ON UPDATEDBYUNIT.OUUID = PROCESSRUNDEFINITIONS.PROCESSRUNDEFUPDATEDBYOUUID
WHERE PROCESSRUNDEFINITIONS.PROCESSRUNDEFDELETED = 0
AND PROCESSRUNDEFINITIONS.PROCESSID = 'REWARD_SETTLEMENT_PROCESSING' AND PROCESSRUNDEFINITIONS.MODULEID = 'REWARDS'
</sql>
<rowsperpage>20</rowsperpage>
<primaryfield>PROCESSRUNDEFINITIONS.PROCESSRUNDEFID</primaryfield>
<mainlinkfield>PROCESSRUNDEFINITIONS.PROCESSRUNDEFNAME</mainlinkfield>
<autosearch>true</autosearch>
<allownocriteria>true</allownocriteria>
<module>REWARDS</module>
<fieldlist>
<!-- external filters -->
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFID</fieldname>
<filtertextoption>equal</filtertextoption>
</field>
<!-- basic search -->
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE</fieldname>
<caption>key_unified_code</caption>
<filter>true</filter>
<filtercaseinsensitive>true</filtercaseinsensitive>
<filtersearchonchange>true</filtersearchonchange>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFNAME</fieldname>
<caption>key_name</caption>
<filter>true</filter>
<filtercaseinsensitive>true</filtercaseinsensitive>
<filtersearchonchange>true</filtersearchonchange>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFALTCODE</fieldname>
<caption>key_alternative_code</caption>
<filter>true</filter>
<filtercaseinsensitive>true</filtercaseinsensitive>
<filtersearchonchange>true</filtersearchonchange>
</field>
<field>
<fieldname>PROCESS_RUN_FILTER</fieldname>
<fieldfunction>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE</fieldfunction>
<caption>key_process_run_number</caption>
<filter>true</filter>
<filtercondition>
PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE IN (
SELECT PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE FROM PROCESSRUNDEFINITIONS
WHERE PROCESSRUNDEFINITIONS.PROCESSRUNDEFID IN (
SELECT PROCESSRUNLOG.PROCESSRUNDEFID FROM PROCESSRUNLOG
WHERE PROCESSRUNLOG.PROCESSRUNLOGNUM = '#1'
AND PROCESSRUNLOG.PROCESSRUNLOGDELETED = 0
)
)
</filtercondition>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.LIFECYCLESTATE</fieldname>
<caption>key_life_cycle_state</caption>
<filter>true</filter>
<fixedlookup>ejb/CRMUISubscriptionProcessRunDefinition.getLifeCycleStateOptions:key_all</fixedlookup>
</field>
<!-- advanced search -->
<field>
<fieldname>CREATEDBYUSER_FILTER</fieldname>
<fieldfunction>CREATEDBY.USERID</fieldfunction>
<caption>key_created_by_user</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filterlookupname>dataset;users.load;userid;username:name</filterlookupname>
</field>
<field>
<fieldname>CREATEDBYUNIT_FILTER</fieldname>
<fieldfunction>CREATEDBYUNIT.OUUID</fieldfunction>
<caption>key_created_by_unit</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filterlookupname>dataset;networkmanagement.loadunits;ouuid;ouuname:ougname:oucname</filterlookupname>
</field>
<field>
<fieldname>PROCESSRUNDEFCREATEDDATE_FILTER</fieldname>
<fieldfunction>PROCESSRUNDEFINITIONS.PROCESSRUNDEFCREATEDDATE</fieldfunction>
<fieldtype>date</fieldtype>
<caption>key_date_created</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filtertextoption>range</filtertextoption>
</field>
<field>
<fieldname>UPDATEDBYUSER_FILTER</fieldname>
<fieldfunction>UPDATEDBY.USERID</fieldfunction>
<caption>key_updated_by_user</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filterlookupname>dataset;users.load;userid;username:name</filterlookupname>
</field>
<field>
<fieldname>UPDATEDBYUNIT_FILTER</fieldname>
<fieldfunction>UPDATEDBYUNIT.OUUID</fieldfunction>
<caption>key_updated_by_unit</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filterlookupname>dataset;networkmanagement.loadunits;ouuid;ouuname:ougname:oucname</filterlookupname>
</field>
<field>
<fieldname>PROCESSRUNDEFUPDATEDDATE_FILTER</fieldname>
<fieldfunction>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUPDATEDDATE</fieldfunction>
<fieldtype>date</fieldtype>
<caption>key_date_updated</caption>
<filter>true</filter>
<filteronexpand>true</filteronexpand>
<filtertextoption>range</filtertextoption>
</field>
<!-- fields -->
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE</fieldname>
<caption>key_unified_code</caption>
<summary>true</summary>
<link>page.do?xml=rewards/settlementProcessRunDefinition&act=itm&jndi=ejb/CRMUIRewardSettlementRunDefinition&fc=loadForm&pv0=((PROCESSRUNDEFINITIONS.PROCESSRUNDEFID))&pvc=1</link>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFNAME</fieldname>
<caption>key_name</caption>
<summary>true</summary>
<link>page.do?xml=rewards/settlementProcessRunDefinition&act=itm&jndi=ejb/CRMUIRewardSettlementRunDefinition&fc=loadForm&pv0=((PROCESSRUNDEFINITIONS.PROCESSRUNDEFID))&pvc=1</link>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFALTCODE</fieldname>
<caption>key_alternative_code</caption>
<summary>true</summary>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFDESC</fieldname>
<caption>key_description</caption>
<summary>true</summary>
<mouseover>true</mouseover>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFVERSION</fieldname>
<caption>key_version</caption>
<summary>true</summary>
</field>
<field>
<fieldname>CREATEDBYUSERNAME</fieldname>
<fieldfunction>CREATEDBY.USERNAME</fieldfunction>
<caption>key_created_by_user</caption>
<expand>true</expand>
</field>
<field>
<fieldname>UPDATEDBYUSERNAME</fieldname>
<fieldfunction>UPDATEDBY.USERNAME</fieldfunction>
<caption>key_updated_by_user</caption>
<expand>true</expand>
</field>
<field>
<fieldname>CREATEDBYUNITOUUNAME</fieldname>
<fieldfunction>CREATEDBYUNIT.OUUNAME</fieldfunction>
<caption>key_created_by_unit</caption>
<expand>true</expand>
</field>
<field>
<fieldname>UPDATEDBYUNITOUUNAME</fieldname>
<fieldfunction>UPDATEDBYUNIT.OUUNAME</fieldfunction>
<caption>key_updated_by_unit</caption>
<expand>true</expand>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFCREATEDDATE</fieldname>
<fieldtype>date</fieldtype>
<caption>key_date_created</caption>
<expand>true</expand>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFUPDATEDDATE</fieldname>
<fieldtype>date</fieldtype>
<caption>key_date_updated</caption>
<expand>true</expand>
</field>
<field>
<fieldname>PROCESSRUNDEFINITIONS.PROCESSRUNDEFSCHEDULEDDATE</fieldname>
<fieldtype>date</fieldtype>
<caption>key_scheduled_date</caption>
<expand>true</expand>
</field>
<!-- drilldowns -->
<field>
<fieldname>PROCESSRUNS_DD</fieldname>
<fieldfunction>''</fieldfunction>
<caption>key_process_runs</caption>
<summary>true</summary>
<fieldtype>label</fieldtype>
<label>key_process_runs</label>
<link>drilldown:rewards/settlementProcessRuns;hidefilters~true~PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE~((PROCESSRUNDEFINITIONS.PROCESSRUNDEFUNIFIEDCODE))</link>
</field>
</fieldlist>
</summary> |
Image Added |
In this case, a UI class have to implement as well, extending the CRMUIProcessRunDefinitionBean. Also, module id and process id, must be defined in the UI as they declared in the module.xml file. To implement the basic functionality, we will need to create the following methods: createButton, loadForm, editButton, saveButton, submitButton, deleteButton and amendButton, as demonstrated below:
...