Jira Tasks
Revision History
| Version |
Date |
User |
Description |
| 1.0 |
01/22/2009 |
Julie Wingate |
Initial Spec |
| 1.1 |
02/18/2009 |
Julie Wingate |
Updated to reflect project work actually done |
Technical Description
This spec requests the creation of a maintenance document for the existing Procurement Cardholder business object. In addition, two extended attribute fields need to be created and added to the newly created maintenance document. This maintenance document also has validation and access requirements. See the functional spec for details.
Details
- Database Requirements
- Document Number: varchar2(14), required, primary key
- Cardholder Net ID: varchar2(40), required, validated
- Reconciler Workgroup: varchar2(70), required, validated
- UI Design
- New Procurement Cardholder Maintenance Document; Procurement Card Number, Chart, Account, Sub-Account (optional)
- The Procurement Cardholder extended attribute fields are added to the Procurement Cardholder Maintenance Document
- Development Checklist
- Create the Procurement Cardholder extension business object table (FP_PRCRMNT_CARD_HLDR_EXT_T).
- Create the Procurement Cardholder extension POJO (ProcurementCardHolderExtension.java) that extends PersistableBusinessObjectExtensionBase.
- Create the OJB repository file (ojb-fp.xml) to include the Procurement Cardholder base business object definition and define the Procurement Cardholder extension business object definition.
- Update data dictionary.
- Create the Procurement Cardholder extension data dictionary file (ProcurementCardHolderExtension.xml).
- Copy and update the Procurement Cardholder (base BO) data dictionary file (ProcurementCardHolder.xml).
- Create the maintenance document data dictionary file (ProcurementCardHolderMaintenanceDocument.xml).
- Define the new maintenance document to workflow using the XML ingester.
- Create the Procurement Cardholder (base BO) business rules class (ProcurementCardHolderRule.java).
- Create a new Key Constants file (KFSKeyConstants) and add any needed error message constants.
- Add any new error messages to ApplicationResources.properties file.
- Create a Spring file (spring-fp.xml).
- Add the new Spring file definition to the list of Spring source file in the application build.properties file
- Create a new link under Financial Processing on the KFS portal maintenance tab.
- Development Steps Completed
- Created a package in Eclipse to store our institution's files. (edu.arizona.kfs.fp)
- Wrote SQL script to create the new table FP_PRCRMNT_CARD_HLDR_EXT_T and added it to kfs.work.db.scripts.arizona.schema-oracle.sql. It includes:
- The primary key (Document Number) in the table that we are extending (FP_PRCRMNT_CARD_HLDR_T)
- The version number and object id which should be in every table
- The new extended attribute fields Cardholder Net ID and Reconciler Workgroup
- Created a business object (POJO) named ProcurementCardHolderExtension.java which includes:
- The primary key and the new fields we are adding
- The business objects needed for quick finders and auditing (Person and Group)
- The toStringMapper method that overrides org.kuali.rice.kns.bo.PersistableBusinessObjectExtensionBase.toStringMapper
- Created the ojb-fp.xml file that maps the column names in the database to the names in our POJO:
- Created a class-descriptor for our new extension table mapping
- Copied the class-descriptor for the FP_PRCRMNT_CARD_HLDR_T table in the delivered obj-fp.xml file so we could add a reference-descriptor of the name "extension" to refer to the extended business object.
- Created a new data dictionary file for the extended business object named ProcurementCardHolderExtension.xml. Added definitions for the following:
- The primary key
- The extended field attributes we are adding
- The version number
- The relationship and support attributes needed to enable the Net ID Quick Finder
- Created the ProcurementCardHolder.xml data dictionary file that adds to and overwrites parts of the delivered ProcurementCardHolder.xml file. Includes definitions for the following:
- References to base business object attributes not overridden
- The extended field attributes we are adding
- The support attributes needed to enable the Net ID Quick Finder
- An overridden Procurement Card Number attribute to implement a partial mask
- Created the maintenance document data dictionary file (ProcurementCardHolderMaintenanceDocument.xml) which includes:
- Default existence checks for Chart, Account, and Sub-Account business objects
<property name="defaultExistenceChecks" >
<dd:defaultExistenceChecks>
<dd:check boAttribute="chartOfAccounts" attributeToHighlightOnFail="chartOfAccountsCode" />
<dd:check boAttribute="account" attributeToHighlightOnFail="accountNumber" />
<dd:check boAttribute="subAccount" attributeToHighlightOnFail="subAccountNumber" />
</dd:defaultExistenceChecks>
</property>
- The Allows New or Copy property set to false (this document is update only)
- The base business object maintainable field definitions
- The extended attribute maintainable field definitions
- Defined the maintenance document to workflow using the XML ingester. I had problems accessing the XML ingester so I defined the document to workflow via SQL.
- Created the business rules class (ProcurementCardHolderRule.java). Currently, this class audits for a valid workgroup. If I can figure out how to implement this requirement via a default existence check, this class will go away.
- Created another package in Eclipse to store our institution's files. (edu.arizona.kfs.sys)
- Created a new Key Constants file (KFSKeyConstants) and added needed business rule error message constants.
- Added new error messages to arizona-ApplicationResources.properties file.
- Created a Spring file (spring-fp.xml) and added our institution's packages and file paths.
- Added the new Spring file definition to the list of Spring source file in the application arizona-build.properties file.
- Created a new link under Financial Processing on the KFS portal maintenance tab.
- Tested the new business object lookup and maintenance document.