001    /*
002     * Copyright 2011 The Kuali Foundation.
003     * 
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     * 
008     * http://www.opensource.org/licenses/ecl2.php
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.kfs.sys;
017    
018    import java.util.ArrayList;
019    import java.util.List;
020    
021    import org.apache.commons.lang.StringUtils;
022    import org.kuali.kfs.gl.businessobject.OriginEntryFull;
023    import org.kuali.kfs.sys.context.SpringContext;
024    import org.kuali.rice.core.util.JSTLConstants;
025    import org.kuali.rice.kew.util.KEWConstants;
026    import org.kuali.rice.kns.service.DataDictionaryService;
027    import org.kuali.rice.kns.util.KNSConstants;
028    import org.kuali.rice.kns.util.KualiDecimal;
029    import org.kuali.rice.kns.util.KualiInteger;
030    
031    /**
032     * This class is used to define global constants.
033     */
034    public class KFSConstants extends JSTLConstants implements ParameterKeyConstants {
035        private static final long serialVersionUID = 2882277719647128949L;
036    
037        public static final String APPLICATION_NAMESPACE_CODE = "KFS";    
038        
039        @Deprecated // Please switch all references to KFSConstants.CoreModuleNamespaces 
040        public static class ParameterNamespaces {
041            public static final String KFS = "KFS-SYS";
042            public static final String CHART = "KFS-COA";
043            public static final String FINANCIAL = "KFS-FP";
044            public static final String GL = "KFS-GL";
045            public static final String VENDOR = "KFS-VND";
046            public static final String PDP = "KFS-PDP";
047            public static final String KNS = KNSConstants.KNS_NAMESPACE;
048            public static final String ACCESS_SECURITY = "KFS-SEC";
049        }
050    
051        public static class CoreModuleNamespaces {
052            public static final String KFS = "KFS-SYS";
053            public static final String CHART = "KFS-COA";
054            public static final String FINANCIAL = "KFS-FP";
055            public static final String GL = "KFS-GL";
056            public static final String VENDOR = "KFS-VND";
057            public static final String PDP = "KFS-PDP";
058            public static final String KNS = KNSConstants.KNS_NAMESPACE;
059            public static final String ACCESS_SECURITY = "KFS-SEC";
060        }
061        
062        // for ease of reference, a list of the optional modules delivered with and supported by the KFS project
063        public static final class OptionalModuleNamespaces {
064            public static final String LABOR_DISTRIBUTION = "KFS-LD";
065            public static final String PURCHASING_ACCOUNTS_PAYABLE = "KFS-PURAP";
066            public static final String CAPITAL_ASSET = "KFS-CAM";
067            public static final String CAPITAL_ASSET_BUILDER = "KFS-CAB";
068            public static final String ACCOUNTS_RECEIVABLE = "KFS-AR";
069            public static final String EFFORT_COMMITTMENT = "KFS-EC";
070            public static final String BUDGET_CONSTRUCTION = "KFS-BC";
071            public static final String ENDOWMENT = "KFS-ENDOW";
072            public static final String CONTRACTS_AND_GRANTS = "KFS-CG";
073        }
074        
075        // special user used in the post-processor
076        //TODO: eventually this should be removed and the system user should be pulled from a parameter
077        // right now, you HAVE to make sure that a 'kfs' user exists in your system, either in the DB
078        // or in an external system such as LDAP if implemented
079        public static final String SYSTEM_USER = "kfs";
080    
081        public static final String ENVIRONMENT_KEY = "environment";
082        public static final String LOG4J_SETTINGS_FILE_KEY = "log4j.settings.file";
083        public static final String LOG4J_RELOAD_MINUTES_KEY = "log4j.reload.minutes";
084        public static final String APPLICATION_URL_KEY = "application.url";
085        public static final String TEMP_DIRECTORY_KEY = "temp.directory";
086        public static final String EXTERNALIZABLE_HELP_URL_KEY = "externalizable.help.url";
087        public static final String EXTERNALIZABLE_IMAGES_URL_KEY = "externalizable.images.url";
088        public static final String RICE_EXTERNALIZABLE_IMAGES_URL_KEY = "kr.externalizable.images.url";
089        public static final String KC_APPLICATION_URL_KEY = "kc.application.url";
090        public static final String REPORTS_DIRECTORY_KEY = "reports.directory";
091        public static final String WORKFLOW_URL_KEY = "workflow.url";
092        public static final String PROD_ENVIRONMENT_CODE_KEY = "production.environment.code";
093        public static final String BATCH_FILE_LOOKUP_ROOT_DIRECTORIES = "batch.file.lookup.root.directories";
094        public static final String BATCH_UPLOAD_HELP_SYS_PARAM_NAME = "BATCH_UPLOAD_HELP_URL";
095    
096        public static final String LOOKUP_RESULTS_LIMIT_URL_KEY = "RESULTS_LIMIT";
097    
098        @Deprecated
099        public static final String ACCOUNT_NUMBER_PROPERTY_NAME = "accountNumber";
100        public static final String ACCOUNTING_PERIOD_ACTIVE_INDICATOR_FIELD = "active";
101        public static final String ACTION_FORM_UTIL_MAP_METHOD_PARM_DELIMITER = "~";
102        public static final String ADD_LINE_METHOD = "addLine";
103        public static final String ADD_PREFIX = "add";
104        public static final String ACTIVE_INDICATOR = "Y";
105        @Deprecated
106        public static final String AGGREGATE_ENCUMBRANCE_BALANCE_TYPE_CODE = "EN";
107        public static final String AMOUNT_PROPERTY_NAME = "amount";
108        public static final String APPROVE_METHOD = "approve";
109        @Deprecated
110        public static final String NON_ACTIVE_INDICATOR = "N";
111        public static final String BLANK_SPACE = " ";
112        public static final String BACK_LOCATION = "backLocation";
113        @Deprecated // Move to GL constants
114        public static final String BALANCE_INQUIRY_REPORT_MENU_ACTION = "balanceInquiryReportMenu.do";
115        @Deprecated
116        public static final String BALANCE_TYPE_CURRENT_BUDGET = "CB";
117        @Deprecated
118        public static final String BALANCE_TYPE_BASE_BUDGET = "BB";
119        @Deprecated
120        public static final String BALANCE_TYPE_MONTHLY_BUDGET = "MB";
121        @Deprecated
122        public static final String BALANCE_TYPE_EXTERNAL_ENCUMBRANCE = "EX";
123        @Deprecated
124        public static final String BALANCE_TYPE_INTERNAL_ENCUMBRANCE = "IE";
125        @Deprecated
126        public static final String BALANCE_TYPE_COST_SHARE_ENCUMBRANCE = "CE";
127        @Deprecated
128        public static final String BALANCE_TYPE_ACTUAL = "AC";
129        @Deprecated
130        public static final String BALANCE_TYPE_AUDIT_TRAIL = "NB";
131        @Deprecated
132        public static final String BALANCE_TYPE_A21 = "A2";
133        @Deprecated
134        public static final String BALANCE_TYPE_PRE_ENCUMBRANCE = "PE";
135        public static final String BLANKET_APPROVE_METHOD = "blanketApprove";
136        public static final String BUSINESS_OBJECT_CLASS_ATTRIBUTE = "businessObjectClassName";
137        public static final String CASH_MANAGEMENT_DOCUMENT_ACTION = "financialCashManagement.do";
138        public static final String CHANGE_JOURNAL_VOUCHER_BALANCE_TYPE_METHOD = "changeBalanceType";
139        @Deprecated
140        public static final String CHART_OF_ACCOUNTS_CODE_PROPERTY_NAME = KFSPropertyConstants.CHART_OF_ACCOUNTS_CODE;
141        public static final String CONFIRMATION_QUESTION = "confirmationQuestion";
142        public static final String CONVERSION_FIELDS_PARAMETER = "conversionFields";
143        public static final String LOOKUP_READ_ONLY_FIELDS = "readOnlyFields";
144        public static final String LOOKUP_AUTO_SEARCH = "autoSearch";
145        @Deprecated
146        public static final String CREDIT_AMOUNT_PROPERTY_NAME = "newSourceLineCredit";
147        @Deprecated
148        public static final String DEBIT_AMOUNT_PROPERTY_NAME = "newSourceLineDebit";
149        public static final String DELETE_LINE_METHOD = "deleteLine";
150        public static final String DISBURSEMENT_VOUCHER_PDP_EXTRACT_FILE_NAME = "extr_fr_disb_voucher";
151        public static final String DISENCUMBRANCE = "Disencumbrance";
152        public static final String DISPATCH_REQUEST_PARAMETER = "methodToCall";
153        public static final String DOC_FORM_KEY = "docFormKey";
154        public static final String FORM_KEY = "formKey";
155        public static final String BALANCE_INQUIRY_REPORT_MENU_CALLER_DOC_FORM_KEY = "balanceInquiryReportMenuCallerDocFormKey";
156        public static final String DOCUMENT_CANCEL_QUESTION = "DocCancel";
157        public static final String DOCUMENT_DELETE_QUESTION = "DocDelete";
158        public static final String DOCUMENT_HEADER_ID = "documentHeaderId";
159        public static final String DOCUMENT_HEADER_DOCUMENT_STATUS_CODE_PROPERTY_NAME = "financialDocumentStatusCode";
160        public static final String NOTE_TEXT_PROPERTY_NAME = "noteText";
161        public static final String DOCUMENT_HEADER_PROPERTY_NAME = "documentHeader";
162        public static final String DOCUMENT_SAVE_BEFORE_CLOSE_QUESTION = "DocSaveBeforeClose";
163        @Deprecated
164        public static final String EMPLOYEE_ACTIVE_STATUS = "A";
165        public static final String EXISTING_SOURCE_ACCT_LINE_PROPERTY_NAME = "sourceAccountingLine";
166        public static final String EXISTING_TARGET_ACCT_LINE_PROPERTY_NAME = "targetAccountingLine";
167        public static final String SOURCE_ACCT_LINE_TYPE_CODE = "F"; // F = From, the label for this on most documents
168        public static final String TARGET_ACCT_LINE_TYPE_CODE = "T"; // T = To, the label for this on most documents
169        public static final String NEW_DOCUMENT_NOTE_PROPERTY_NAME = "newDocumentNote";
170        public static final String NEW_SOURCE_ACCT_LINE_PROPERTY_NAME = KFSPropertyConstants.NEW_SOURCE_LINE;
171        public static final String NEW_TARGET_ACCT_LINES_PROPERTY_NAME = KFSPropertyConstants.NEW_TARGET_LINE + "s";
172        public static final String NEW_TARGET_ACCT_LINE_PROPERTY_NAME = KFSPropertyConstants.NEW_TARGET_LINE;
173        public static final String DOCUMENT_PROPERTY_NAME = "document";
174        public static final String DOCUMENT_TYPE_NAME = "docTypeName";
175        public static final String DASH = "-";
176        public static final String EMPTY_STRING = "";
177        public static final String ENCUMBRANCE = "Encumbrance";
178        public static final String EXPENSE = "Expense";
179        public static final String FIELD_CONVERSION_PAIR_SEPERATOR = ":";
180        public static final String FIELD_CONVERSIONS_SEPERATOR = ",";
181        @Deprecated
182        public static final String FINANCIAL_OBJECT_CODE_PROPERTY_NAME = KFSPropertyConstants.FINANCIAL_OBJECT_CODE;
183        @Deprecated
184        public static final String FINANCIAL_OBJECT_LEVEL_CODE_PROPERTY_NAME = KFSPropertyConstants.FINANCIAL_OBJECT_LEVEL_CODE;
185        @Deprecated
186        public static final String FINANCIAL_SUB_OBJECT_CODE_PROPERTY_NAME = KFSPropertyConstants.FINANCIAL_SUB_OBJECT_CODE;
187        public static final String FROM = "From";
188        public static final String GENERIC_CODE_PROPERTY_NAME = "code";
189        public static final String GL_BALANCE_INQUIRY_FLAG = "inquiryFlag";
190        @Deprecated // Move to GL constants
191        public static final String GL_ACCOUNT_BALANCE_BY_CONSOLIDATION_LOOKUP_ACTION = "glAccountBalanceByConsolidationLookup.do";
192        @Deprecated // Move to GL constants
193        public static final String GL_BALANCE_INQUIRY_ACTION = "glBalanceInquiry.do";
194        @Deprecated // Move to GL constants
195        public static final String GL_MODIFIED_INQUIRY_ACTION = "glModifiedInquiry.do";
196        @Deprecated // Move to GL constants
197        public static final String GL_PE_OFFSET_STRING = "TP Generated Offset";
198        @Deprecated
199        public static final String SUB_OBJECT_CODE_PROPERTY_NAME = KFSPropertyConstants.SUB_OBJECT_CODE;
200        @Deprecated
201        public static final String UNIVERSITY_FISCAL_YEAR_PROPERTY_NAME = KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR;
202        @Deprecated
203        public static final String UNIVERSITY_FISCAL_PERIOD_CODE_PROPERTY_NAME = KFSPropertyConstants.UNIVERSITY_FISCAL_PERIOD_CODE;
204        @Deprecated
205        public static final String FINANCIAL_BALANCE_TYPE_CODE_PROPERTY_NAME = KFSPropertyConstants.FINANCIAL_BALANCE_TYPE_CODE;
206        @Deprecated
207        public static final String ACCOUNT_SUFFICIENT_FUNDS_CODE_PROPERTY_NAME = KFSPropertyConstants.ACCOUNT_SUFFICIENT_FUNDS_CODE;
208        @Deprecated
209        public static final String CURRENT_BUDGET_BALANCE_AMOUNT_PROPERTY_NAME = "currentBudgetBalanceAmount";
210        @Deprecated
211        public static final String ACCOUNT_ENCUMBRANCE_AMOUNT_PROPERTY_NAME = "accountEncumbranceAmount";
212        @Deprecated
213        public static final String TRANSACTION_DEBIT_CREDIT_CODE = KFSPropertyConstants.TRANSACTION_DEBIT_CREDIT_CODE;
214        @Deprecated
215        public static final String TRANSACTION_LEDGER_ENTRY_AMOUNT = KFSPropertyConstants.TRANSACTION_LEDGER_ENTRY_AMOUNT;
216        @Deprecated
217        public static final String ACCOUNT_SUFFICIENT_FUNDS_FINANCIAL_OBJECT_CODE_PROPERTY_NAME = KFSPropertyConstants.ACCT_SUFFICIENT_FUNDS_FIN_OBJ_CD;
218        @Deprecated
219        public static final String FINANCIAL_OBJECT_TYPE_CODE = KFSPropertyConstants.FINANCIAL_OBJECT_TYPE_CODE;
220        @Deprecated
221        public static final String FINANCIAL_DOCUMENT_TYPE_CODE = KFSPropertyConstants.FINANCIAL_DOCUMENT_TYPE_CODE;
222        @Deprecated
223        public static final String ORGANIZATION_CODE_PROPERTY_NAME = KFSPropertyConstants.ORGANIZATION_CODE;
224        public static final String ORIGIN_CODE_KUALI = "01";
225        @Deprecated
226        public static final String TRANSFER_FUNDS = "TF";
227        @Deprecated
228        public static final String[] ENCUMBRANCE_BALANCE_TYPE = new String[] { BALANCE_TYPE_EXTERNAL_ENCUMBRANCE, BALANCE_TYPE_INTERNAL_ENCUMBRANCE, BALANCE_TYPE_PRE_ENCUMBRANCE };
229        public static final String OVERRIDE_KEYS = "overrideKeys";
230        public static final String PERCENTAGE_SIGN = "%";
231        public static final String RICE_PATH_PREFIX = "kr/";
232        public static final String USE_CONTINUATION_BANK_QUESTION = "UseContinuationBankQuestion";
233        public static final String NEW_WINDOW_URL_TARGET = "_blank";
234        public static final String AND = "and";
235        public static final String COMMA = ",";
236        public static final String PERFORMANCE_BALANCE_INQUIRY_FOR_METHOD = "performBalanceInquiryFor";
237        public static final String INSERT_METHOD = "insert";
238        public static final String SOURCE_ACCOUNTING_LINES_GROUP_NAME = "source";
239        public static final String TARGET_ACCOUNTING_LINES_GROUP_NAME = "target";
240        public static final String SUB_ACCOUNT_EDIT_CG_ICR_SECTION_ID = "Edit CG ICR";
241    
242        /**
243         * This value denotes that a max length has not been defined for a given lookup results field
244         */
245        public static final int LOOKUP_RESULT_FIELD_MAX_LENGTH_NOT_DEFINED = -1;
246    
247        /**
248         * The number of levels BusinessObjectDictionaryServiceImpl will recurse. If this number is high, it may lead to serious
249         * performance problems
250         */
251        public static final int BUSINESS_OBJECT_DICTIONARY_SERVICE_PERFORM_FORCE_UPPERCASE_RECURSION_MAX_DEPTH = 3;
252    
253    
254        /**
255         * When checkboxes are rendered on the form, a hidden field will also be rendered corresponding to each checkbox with the
256         * checkbox's name suffixed with the value of this constant. No real fields should have names that contain this suffix, since
257         * this may lead to undesired results.
258         */
259        public static final String CHECKBOX_PRESENT_ON_FORM_ANNOTATION = "{CheckboxPresentOnFormAnnotation}";
260    
261        public static class OrgReversion {
262            public static final String VALID_PREFIX = "EXTENDED_DEFINITIONS_INCLUDE_";
263            public static final String INVALID_PREFIX = "EXTENDED_DEFINITIONS_EXCLUDE_";
264            public static final String OBJECT_CONSOL_PARAM_SUFFIX = "OBJECT_CONSOLIDATIONS_BY_ORGANIZATION_REVERSION_CATEGORY";
265            public static final String OBJECT_LEVEL_PARAM_SUFFIX = "OBJECT_LEVELS_BY_ORGANIZATION_REVERSION_CATEGORY";
266            public static final String OBJECT_TYPE_PARAM_SUFFIX = "OBJECT_TYPES_BY_ORGANIZATION_REVERSION_CATEGORY";
267            public static final String OBJECT_SUB_TYPE_PARAM_SUFFIX = "OBJECT_SUB_TYPES_BY_ORGANIZATION_REVERSION_CATEGORY";
268            public static final String IS_EXPENSE_PARAM = "EXTENDED_DEFINITIONS_EXPENSE_CATEGORIES";
269        }
270    
271        // CR doc properties
272        public static final String NEW_CHECK_PROPERTY_NAME = "newCheck";
273        public static final String EXISTING_CHECK_PROPERTY_NAME = "check";
274    
275        public static final int DOCUMENT_ANNOTATION_MAX_LENGTH = 2000;
276    
277        // TRN_LDGR_DEBIT_CRDT_CD valid values
278        public static final String GL_DEBIT_CODE = "D";
279        public static final String GL_CREDIT_CODE = "C";
280        public static final String GL_BUDGET_CODE = " ";
281    
282        // TRN_ENCUM_UPDT_CD value values
283        public static final String ENCUMB_UPDT_DOCUMENT_CD = "D";
284        public static final String ENCUMB_UPDT_REFERENCE_DOCUMENT_CD = "R";
285        public static final String ENCUMB_UPDT_NO_ENCUMBRANCE_CD = "N";
286    
287        // GL Reversal Generated Entry Description Prefix
288        public static final String GL_REVERSAL_DESCRIPTION_PREFIX = "AUTO REVERSAL-";
289    
290        // Misc GL text.
291        public static final String PLANT_INDEBTEDNESS_ENTRY_DESCRIPTION = "GENERATED TRANSFER TO NET PLANT";
292    
293        // Sufficient Funds Type Codes
294        public static final String SF_TYPE_NO_CHECKING = "N";
295        public static final String SF_TYPE_OBJECT = "O";
296        public static final String SF_TYPE_LEVEL = "L";
297        public static final String SF_TYPE_CONSOLIDATION = "C";
298        public static final String SF_TYPE_CASH_AT_ACCOUNT = "H";
299        public static final String SF_TYPE_ACCOUNT = "A";
300    
301        public static final String GRANT = "Grant";
302        public static final String HIDE_LOOKUP_RETURN_LINK = "hideReturnLink";
303        public static final String SUPPRESS_ACTIONS = "suppressActions";
304        public static final String REFERENCES_TO_REFRESH = "referencesToRefresh";
305        public static final String INCOME = "Income";
306        public static final String INITIAL_KUALI_DOCUMENT_STATUS_CD = "?";
307        public static final String INSERT_SOURCE_LINE_METHOD = "insertSourceLine";
308        public static final String INSERT_TARGET_LINE_METHOD = "insertTargetLine";
309        public static final String ICR = "Receipt";
310        public static final String PROJECT_CODE_PROPERTY_NAME = "projectCode";
311    
312        public static final String INQUIRY_ACTION = "kr/inquiry.do";
313        public static final String JOURNAL_VOUCHER_CHANGE_BALANCE_TYPE_QUESTION = "JournalVoucherChangeBalanceTypeQuestion";
314        public static final String JOURNAL_VOUCHER_ROUTE_OUT_OF_BALANCE_DOCUMENT_QUESTION = "JournalVoucherRouteOutOfBalanceDocumentQuestion";
315        public static final String JOURNAL_VOUCHER_ENCUMBRANCE_UPDATE_CODE_BALANCE_TYPE_EXTERNAL_ENCUMBRANCE = "R";
316        public static final String JOURNAL_LINE_HELPER_PROPERTY_NAME = "journalLineHelper";
317        public static final String AUXILIARY_LINE_HELPER_PROPERTY_NAME = "auxiliaryLineHelper";
318        public static final String VOUCHER_LINE_HELPER_CREDIT_PROPERTY_NAME = ".credit";
319        public static final String VOUCHER_LINE_HELPER_DEBIT_PROPERTY_NAME = ".debit";
320        public static final String LOOKUP_ACTION = "kr/lookup.do";
321        public static final String LOOKUP_RESULTS_SEQUENCE_NUMBER = "lookupResultsSequenceNumber";
322        public static final String LOOKUP_RESULTS_BO_CLASS_NAME = "lookupResultsBOClassName";
323        public static final String LOOKED_UP_COLLECTION_NAME = "lookedUpCollectionName";
324        public static final String MULTIPLE_VALUE_LOOKUP_PREVIOUSLY_SELECTED_OBJ_IDS_PARAM = "previouslySelectedObjectIds";
325        public static final String MULTIPLE_VALUE_LOOKUP_DISPLAYED_OBJ_ID_PARAM_PREFIX = "displayedObjId-";
326        public static final String MULTIPLE_VALUE_LOOKUP_SELECTED_OBJ_ID_PARAM_PREFIX = "selectedObjId-";
327        public static final String LOOKUP_ANCHOR = "lookupAnchor";
328        public static final String LOOKUPABLE_IMPL_ATTRIBUTE_NAME = "lookupableImplServiceName";
329        public static final String LOOKUPABLE_SUFFIX = "Lookupable";
330        public static final String KUALI_LOOKUPABLE_IMPL = "kualiLookupable";
331        public static final String KUALI_DISBURSEMENT_PAYEE_LOOKUPABLE_IMPL = "disbursementPayeeLookupable";
332        public static final String KUALI_VENDOR_ADDRESS_LOOKUPABLE_IMPL = "vendorAddressLookupable";
333        public static final String DOC_HANDLER_ACTION = "DocHandler.do";
334        public static final String DOC_HANDLER_METHOD = "docHandler";
335        public static final String PARAMETER_DOC_ID = "docId";
336        public static final String PARAMETER_COMMAND = "command";
337        public static final String METHOD_DISPLAY_DOC_SEARCH_VIEW = "displayDocSearchView";
338        public static final String MAINTENANCE_ACTION = "maintenance.do";
339        public static final String MAINTENANCE_ADD_PREFIX = "add.";
340        public static final String MAINTENANCE_COPY_ACTION = "Copy";
341        public static final String MAINTENANCE_EDIT_ACTION = "Edit";
342        public static final String MAINTENANCE_NEW_ACTION = "New";
343        public static final String MAINTENANCE_COPY_METHOD_TO_CALL = "copy";
344        public static final String MAINTENANCE_EDIT_METHOD_TO_CALL = "edit";
345        public static final String MAINTENANCE_NEW_METHOD_TO_CALL = "start";
346        public static final String MAINTENANCE_NEWWITHEXISTING_ACTION = "newWithExisting";
347        public static final String MAINTENANCE_NEW_MAINTAINABLE = "document.newMaintainableObject.";
348        public static final String MAINTENANCE_OLD_MAINTAINABLE = "document.oldMaintainableObject.";
349        public static final String MAPPING_BASIC = "basic";
350        public static final String MAPPING_CANCEL = "cancel";
351        public static final String MAPPING_CLOSE = "close";
352        public static final String MAPPING_ERROR = "error";
353        public static final String MAPPING_PORTAL = "portal";
354        public static final String MAPPING_BALANCE_INQUIRY_REPORT_MENU = "balanceInquiryReportMenu";
355        public static final String MAPPING_DV_PER_DIEM_LINKS = "dvPerDiemLinks";
356        public static final String METHOD_TO_CALL_ATTRIBUTE = "methodToCallAttribute";
357        public static final String METHOD_TO_CALL_PATH = "methodToCallPath";
358        public static final String METHOD_TO_CALL_BOPARM_LEFT_DEL = "(!!";
359        public static final String METHOD_TO_CALL_BOPARM_RIGHT_DEL = "!!)";
360        public static final String METHOD_TO_CALL_PARM1_LEFT_DEL = "(((";
361        public static final String METHOD_TO_CALL_PARM1_RIGHT_DEL = ")))";
362        public static final String METHOD_TO_CALL_PARM2_LEFT_DEL = "((#";
363        public static final String METHOD_TO_CALL_PARM2_RIGHT_DEL = "#))";
364        public static final String METHOD_TO_CALL_PARM3_LEFT_DEL = "((<";
365        public static final String METHOD_TO_CALL_PARM3_RIGHT_DEL = ">))";
366        public static final String METHOD_TO_CALL_PARM4_LEFT_DEL = "(([";
367        public static final String METHOD_TO_CALL_PARM4_RIGHT_DEL = "]))";
368        public static final String METHOD_TO_CALL_PARM5_LEFT_DEL = "((*";
369        public static final String METHOD_TO_CALL_PARM5_RIGHT_DEL = "*))";
370        public static final String METHOD_TO_CALL_PARM6_LEFT_DEL = "((%";
371        public static final String METHOD_TO_CALL_PARM6_RIGHT_DEL = "%))";
372        public static final String METHOD_TO_CALL_PARM7_LEFT_DEL = "((^";
373        public static final String METHOD_TO_CALL_PARM7_RIGHT_DEL = "^))";
374        public static final String METHOD_TO_CALL_PARM8_LEFT_DEL = "((&";
375        public static final String METHOD_TO_CALL_PARM8_RIGHT_DEL = "&))";
376        public static final String METHOD_TO_CALL_PARM9_LEFT_DEL = "((~";
377        public static final String METHOD_TO_CALL_PARM9_RIGHT_DEL = "~))";
378        public static final String METHOD_TO_CALL_PARM10_LEFT_DEL = "((/";
379        public static final String METHOD_TO_CALL_PARM10_RIGHT_DEL = "/))";
380        public static final String METHOD_TO_CALL_PARM11_LEFT_DEL = "(:;";
381        public static final String METHOD_TO_CALL_PARM11_RIGHT_DEL = ";:)";
382        public static final String METHOD_TO_CALL_PARM12_LEFT_DEL = "(::;";
383        public static final String METHOD_TO_CALL_PARM12_RIGHT_DEL = ";::)";
384        public static final String METHOD_TO_CALL_PARM13_LEFT_DEL = "(:::;";
385        public static final String METHOD_TO_CALL_PARM13_RIGHT_DEL = ";:::)";
386        // if more strings needed, then add more colons to the PARM11 strings above, e.g. (::; (:::;, etc.
387    
388        public static final String ACTION_EXTENSION_DOT_DO = ".do";
389        public static final String ANCHOR = "anchor";
390        public static final String ANCHOR_TOP_OF_FORM = "topOfForm";
391        public static final String NOT_AVAILABLE_STRING = "N/A";
392        public static final int NEGATIVE_ONE = -1;
393        @Deprecated
394        public static final String OBJECT_TYPE_CODE_PROPERTY_NAME = KFSPropertyConstants.OBJECT_TYPE_CODE;
395        public static final String QUESTION_CLICKED_BUTTON = "buttonClicked";
396        public static final String QUESTION_INST_ATTRIBUTE_NAME = "questionIndex";
397        public static final String QUESTION_REFRESH = "QuestionRefresh";
398        public static final String QUESTION_CONTEXT = "context";
399        public static final String QUESTION_REASON_ATTRIBUTE_NAME = "reason";
400        public static final String RELOAD_METHOD_TO_CALL = "reload";
401        public static final String REFRESH_CALLER = "refreshCaller";
402        public static final String REQUIRED_FIELD_SYMBOL = "*";
403        public static final String RETURN_LOCATION_PARAMETER = "returnLocation";
404        public static final String RETURN_METHOD_TO_CALL = "refresh";
405        public static final String ROUTE_METHOD = "route";
406        public static final String SAVE_METHOD = "save";
407        public static final String START_METHOD = "start";
408        public static final String SEARCH_METHOD = "search";
409        public static final String COPY_METHOD = "copy";
410        public static final String ERRORCORRECT_METHOD = "correct";
411        public static final String SOURCE = "Source";
412        public static final String SQUARE_BRACKET_LEFT = "[";
413        public static final String SQUARE_BRACKET_RIGHT = "]";
414        @Deprecated
415        public static final String SUB_ACCOUNT_NUMBER_PROPERTY_NAME = KFSPropertyConstants.SUB_ACCOUNT_NUMBER;
416        public static final String TARGET = "Target";
417        public static final String TO = "To";
418        public static final String USER_SESSION_KEY = "UserSession";
419        public static final String VERSION_NUMBER = "versionNumber";
420    
421        public static final String SEARCH_LIST_REQUEST_KEY = "searchResultKey";
422    
423        public static final int CORRECTION_RECENT_GROUPS_DAY = 10;
424    
425        public static final String GLOBAL_ERRORS = "GLOBAL_ERRORS";
426        public static final String GLOBAL_MESSAGES = "GlobalMessages";
427        public static final String DOCUMENT_DOCUMENT_ERRORS = "document.document*";
428        public static final String DOCUMENT_EXPLANATION_ERRORS = "document.explanation*";
429        public static final String DOCUMENT_REVERSAL_ERRORS = "document.reversal*";
430        public static final String DOCUMENT_SELECTED_ERRORS = "document.selected*";
431        public static final String DOCUMENT_HEADER_ERRORS = "document.header*";
432        public static final String DOCUMENT_ERRORS_LESS_DOCUMENT = DOCUMENT_EXPLANATION_ERRORS + "," + DOCUMENT_REVERSAL_ERRORS + "," + DOCUMENT_SELECTED_ERRORS + "," + DOCUMENT_HEADER_ERRORS;
433        public static final String DOCUMENT_ERRORS = DOCUMENT_DOCUMENT_ERRORS + "," + DOCUMENT_EXPLANATION_ERRORS + "," + DOCUMENT_REVERSAL_ERRORS + "," + DOCUMENT_SELECTED_ERRORS + "," + DOCUMENT_HEADER_ERRORS;
434        public static final String DOCUMENT_NOTES_ERRORS = "newDocumentNote*";
435    
436        public enum NoteTypeEnum {
437            BUSINESS_OBJECT_NOTE_TYPE("BO", "documentBusinessObject"), DOCUMENT_HEADER_NOTE_TYPE("DH", "documentHeader");
438            private String noteTypeCode;
439            private String noteTypePath;
440    
441            private NoteTypeEnum(String noteTypeCode, String noteTypePath) {
442                this.noteTypeCode = noteTypeCode;
443                this.noteTypePath = noteTypePath;
444            }
445    
446            public String getCode() {
447                return this.noteTypeCode;
448            }
449    
450            public String getPath() {
451                return this.noteTypePath;
452            }
453    
454            public String getFullPath() {
455                return KFSConstants.DOCUMENT_PROPERTY_NAME + "." + getPath();
456            }
457        }
458    
459        public static final String EDIT_JOURNAL_VOUCHER_ERRORS = "EditJournalVoucherErrors";
460        public static final String EDIT_AUXILIARY_VOUCHER_ERRORS = "EditAuxiliaryVoucherErrors";
461        public static final String EDIT_PRE_ENCUMBRANCE_ERRORS = "EditPreEncumbranceErrors";
462    
463        public static final String ACCOUNTING_LINE_ERRORS = "document.accountingLines";
464        public static final String SOURCE_ACCOUNTING_LINE_ERROR_PATTERN = "document.sourceAccounting*,sourceAccountingLines,newSourceLine*,journalLineHelper*,auxiliaryLineHelper*";
465        public static final String TARGET_ACCOUNTING_LINE_ERROR_PATTERN = "document.targetAccounting*,targetAccountingLines,newTargetLine*";
466        public static final String ACCOUNTING_LINE_GROUP_SUFFIX = "s";
467        public static final String SOURCE_ACCOUNTING_LINE_ERRORS = EXISTING_SOURCE_ACCT_LINE_PROPERTY_NAME + ACCOUNTING_LINE_GROUP_SUFFIX;
468        public static final String TARGET_ACCOUNTING_LINE_ERRORS = EXISTING_TARGET_ACCT_LINE_PROPERTY_NAME + ACCOUNTING_LINE_GROUP_SUFFIX;
469        public static final String ITEM_LINE_ERRORS = "newItem*,document.item*";
470        
471        public static final String CREDIT_CARD_RECEIPTS_LINE_ERRORS = "newCreditCardReceipt*,document.creditCardReceipt*";
472        public static final String ADVANCE_DEPOSITS_LINE_ERRORS = "newAdvanceDeposit*,document.advanceDeposit*";
473        public static final String GENERAL_LEDGER_PENDING_ENTRIES_TAB_ERRORS = "document.generalLedgerPendingEntr*";
474        public static final String BUDGET_CONSTRUCTION_SALARY_SETTING_TAB_ERRORS = "document.budgetConstructionSalarySetting*";
475        public static final String BUDGET_CONSTRUCTION_REVENUE_TAB_ERRORS = "document.budgetConstructionRevenue*";
476        public static final String BUDGET_CONSTRUCTION_EXPENDITURE_TAB_ERRORS = "document.budgetConstructionExpenditure*";
477        public static final String BUDGET_CONSTRUCTION_MONTHLY_BUDGET_ERRORS = "document.budgetConstructionMonthlyBudget*";
478    
479        public static final String WILDCARD_CHARACTER = "*";
480        public static final String WILDCARD_NOT_ALLOWED_ON_FIELD = "error.fieldDoNotAllowWildcard";
481    
482        // disbursement voucher error fields
483        public static final String DV_PAYEE_TAB_ERRORS = "DVPayeeErrors,document.dvPayeeDetail.disbVchrPayeeIdNumber,document.dvPayeeDetail.disbVchrPayeeCityName,document.dvPayeeDetail.disbVchrPayeePersonName," + "document.dvPayeeDetail.disbVchrPayeeStateCode,document.dvPayeeDetail.disbVchrPayeeLine1Addr,document.dvPayeeDetail.disbVchrPayeeZipCode,document.dvPayeeDetail.disbVchrPayeeLine2Addr,document.dvPayeeDetail.disbVchrPayeeCountryCode,document.dvPayeeDetail.disbursementVoucherPayeeTypeCode,";
484        public static final String DV_PAYEE_INIT_TAB_ERRORS = "DVPayeeErrors,payeeIdNumber,payeePersonName,payeeTypeCode";
485        public static final String DV_PAYMENT_TAB_ERRORS = "DVPaymentErrors,document.dvPayeeDetail.disbVchrPaymentReasonCode,document.disbVchrCheckTotalAmount,document.disbursementVoucherDueDate,document.dvPayeeDetail.disbVchrAlienPaymentCode," + "document.dvPayeeDetail.disbVchrPayeeEmployeeCode,document.disbVchrAttachmentCode,document.disbVchrSpecialHandlingCode,document.disbVchrPayeeW9CompleteCode" + "document.disbVchrPaymentMethodCode,document.disbursementVoucherDocumentationLocationCode,document.disbVchrCheckStubText";
486        public static final String DV_NRATAX_TAB_ERRORS = "DVNRATaxErrors,document.dvNonResidentAlienTax.incomeClassCode,document.dvNonResidentAlienTax.incomeTaxTreatyExemptCode,document.dvNonResidentAlienTax.federalIncomeTaxPercent," + "document.dvNonResidentAlienTax.foreignSourceIncomeCode,document.dvNonResidentAlienTax.stateIncomeTaxPercent,document.dvNonResidentAlienTax.incomeTaxGrossUpCode,document.dvNonResidentAlienTax.postalCountryCode," + "document.dvNonResidentAlienTax.referenceFinancialDocumentNumber";
487        public static final String DV_FOREIGNDRAFTS_TAB_ERRORS = "DVForeignDraftErrors,document.dvWireTransfer.disbursementVoucherForeignCurrencyTypeCode,document.dvWireTransfer.disbursementVoucherForeignCurrencyTypeName";
488        public static final String DV_CONTACT_TAB_ERRORS = "DVContactErrors,document.disbVchrContact*";
489        public static final String DV_SPECHAND_TAB_ERRORS = "DVSpecialHandlingErrors,document.dvPayeeDetail.disbVchrSpecialHandlingPersonName,document.dvPayeeDetail.disbVchrSpecialHandlingCityName,document.dvPayeeDetail.disbVchrSpecialHandlingLine1Addr,document.dvPayeeDetail.disbVchrSpecialHandlingStateCode," + "document.dvPayeeDetail.disbVchrSpecialHandlingLine2Addr,document.dvPayeeDetail.disbVchrSpecialHandlingZipCode,document.dvPayeeDetail.disbVchrSpecialHandlingCountryName";
490        public static final String DV_WIRETRANSFER_TAB_ERRORS = "DVWireTransfersErrors,document.dvWireTransfer.disbursementVoucherBankName,document.dvWireTransfer.disbVchrBankRoutingNumber,document.dvWireTransfer.disbVchrBankCityName,document.dvWireTransfer.disbVchrBankStateCode," + "document.dvWireTransfer.disbVchrBankCountryCode,document.dvWireTransfer.disbVchrAttentionLineText,document.dvWireTransfer.disbVchrAdditionalWireText,document.dvWireTransfer.disbVchrPayeeAccountNumber,document.dvWireTransfer.disbVchrCurrencyTypeName,document.dvWireTransfer.disbVchrCurrencyTypeCode," + "document.dvWireTransfer.disbursementVoucherWireTransferFeeWaiverIndicator,document.dvWireTransfer.disbursementVoucherPayeeAccountName,document.dvWireTransfer.disbursementVoucherPayeeAccountTypeCode,document.dvWireTransfer.disbursementVoucherAutomatedClearingHouseProfileNumber";
491        public static final String DV_NON_EMPL_TRAVEL_TAB_ERRORS = "DVNonEmployeeTravelErrors,newPrePaidNonEmployeeExpenseLine.*,newNonEmployeeExpenseLine.*,document.dvNonEmployeeTravel.*";
492        public static final String DV_PREPAID_TAB_ERRORS = "DVPrePaidTravelErrors,newPreConferenceRegistrantLine.*,document.dvPreConferenceDetail.*";
493        public static final String GENERAL_PAYMENT_TAB_ERRORS = "DVPaymentErrors";
494        public static final String GENERAL_NRATAX_TAB_ERRORS = "DVNRATaxErrors";
495        public static final String GENERAL_SPECHAND_TAB_ERRORS = "DVSpecialHandlingErrors";
496        public static final String GENERAL_PREPAID_TAB_ERRORS = "DVPrePaidTravelErrors";
497        public static final String GENERAL_NONEMPLOYEE_TAB_ERRORS = "DVNonEmployeeTravelErrors,document.dvNonEmployeeTravel.totalTravelAmount";
498        public static final String DV_CHECK_TRAVEL_TOTAL_ERROR = "document.dvNonEmployeeTravel.totalTravelAmount";
499    
500        // country
501        public static final String COUNTRY_CODE_UNITED_STATES = "US";
502    
503        // CashManagement tab errors
504        public static final String CASH_MANAGEMENT_DEPOSIT_ERRORS = "document.deposit*";
505    
506        // Coin and Currency Amounts
507        public static class CoinTypeAmounts {
508            public static final KualiDecimal HUNDRED_CENT_AMOUNT = new KualiDecimal(1.0);
509            public static final KualiDecimal FIFTY_CENT_AMOUNT = new KualiDecimal(0.5);
510            public static final KualiDecimal TWENTY_FIVE_CENT_AMOUNT = new KualiDecimal(0.25);
511            public static final KualiDecimal TEN_CENT_AMOUNT = new KualiDecimal(0.1);
512            public static final KualiDecimal FIVE_CENT_AMOUNT = new KualiDecimal(0.05);
513            public static final KualiDecimal ONE_CENT_AMOUNT = new KualiDecimal(0.01);
514        }
515    
516        public static class CurrencyTypeAmounts {
517            public static final KualiDecimal HUNDRED_DOLLAR_AMOUNT = new KualiDecimal(100.0);
518            public static final KualiDecimal FIFTY_DOLLAR_AMOUNT = new KualiDecimal(50.0);
519            public static final KualiDecimal TWENTY_DOLLAR_AMOUNT = new KualiDecimal(20.0);
520            public static final KualiDecimal TEN_DOLLAR_AMOUNT = new KualiDecimal(10.0);
521            public static final KualiDecimal FIVE_DOLLAR_AMOUNT = new KualiDecimal(5.0);
522            public static final KualiDecimal TWO_DOLLAR_AMOUNT = new KualiDecimal(2.0);
523            public static final KualiDecimal ONE_DOLLAR_AMOUNT = new KualiDecimal(1.0);
524        }
525    
526        // Cashiering source constants
527        public static class CurrencyCoinSources {
528            public static final String CASH_MANAGEMENT_IN = "R"; // money coming in through cashiering activity
529            public static final String DEPOSITS = "D"; // money going out through deposits
530            public static final String CASH_RECEIPTS = "C"; // money coming in through cash receipts
531            public static final String CASH_MANAGEMENT_OUT = "O"; // money going out through cashiering activity
532            public static final String CASH_MANAGEMENT_MASTER = "M"; // an amalgamation of a cashiering transaction
533        }
534    
535        // Constants for check sources
536        // Why are these constants different from the Currency/Coin constants?
537        // Why, I ask you in return, is the sky blue? That's right, because of
538        // the effect of Rayleigh scattering on atmospheric particles. That's why.
539        public static class CheckSources {
540            public static final String CASH_RECEIPTS = "R";
541            public static final String CASH_MANAGEMENT = "I";
542        }
543    
544        public static final String CASHIERING_TRANSACTION_OPEN_ITEM_IN_PROCESS_PROPERTY = "document.currentTransaction.openItemInProcess";
545    
546        // Tab error patterns must be at the top level; JSPs do not have access to the nested classes.
547        public static final String EDIT_CASH_RECEIPT_CASH_RECONCILIATION_ERRORS = "document.totalCashAmount,document.totalCheckAmount,document.totalCoinAmount,document.sumTotalAmount";
548        public static final String EDIT_CASH_RECEIPT_CHECK_DETAIL_ERRORS = "newCheck*,document.check*";
549        public static final String EDIT_CASH_RECEIPT_CURRENCY_COIN_ERRORS = "document.currencyDetail.*,document.coinDetail.*";
550        public static final String EDIT_CASH_MANAGEMENT_CASHIERING_TRANSACTION_ERRORS = "document.currentTransaction.*";
551        public static final String EDIT_CAPITAL_ASSET_INFORMATION_ERRORS = "document.capitalAssetInformation*";
552        
553        public static final String MULTIPLE_VALUE = "multipleValues";
554    
555        // special chars that I don't know how to put into string literals in JSP expression language
556        public static final String NEWLINE = "\n";
557    
558        // Workflow constants
559        @Deprecated
560        public static final String WORKFLOW_FYI_REQUEST = KEWConstants.ACTION_REQUEST_FYI_REQ;
561        
562        @Deprecated
563        public static final String WORKFLOW_DOCUMENT_SAVE = "Save";
564        @Deprecated
565        public static final String WORKFLOW_DOCUMENT_BLANKET_APPROVE = "BlanketApprove";  
566        @Deprecated
567        public static final String WORKFLOW_DOCUMENT_ROUTE = "Route";    
568        @Deprecated
569        public static final String ACCOUNT_RESTRICTED_STATUS_CODE = "R";
570        
571        public static class DocumentStatusCodes {
572            public static final String INITIATED = "?";
573            public static final String CANCELLED = "X";
574            public static final String ENROUTE = "R";
575            public static final String DISAPPROVED = "D";
576            public static final String APPROVED = "A";
577    
578            public static class CashReceipt {
579                // once a CashReceipt gets approved, its financialDocumentStatus goes to "verified"
580                public static final String VERIFIED = "V";
581    
582                // when a CashReceipt associated with a Deposit, its financialDocumentStatus changes to "interim" or "final"
583                public static final String INTERIM = "I";
584                public static final String FINAL = "F";
585    
586                // when the CMDoc is finalized, the CRs of its Deposits change to status "approved"
587            }
588        }
589    
590        public static class AdvanceDepositConstants {
591            public static final String CASH_RECEIPT_ADVANCE_DEPOSIT_COLUMN_TYPE_CODE = "R";
592        }
593    
594        public static class AuxiliaryVoucher {
595            public static final String ADJUSTMENT_DOC_TYPE = "AVAD";
596            public static final String ADJUSTMENT_DOC_TYPE_NAME = "Adjustment";
597            public static final String RECODE_DOC_TYPE = "AVRC";
598            public static final String RECODE_DOC_TYPE_NAME = "Recode";
599            public static final String ACCRUAL_DOC_TYPE = "AVAE";
600            public static final String ACCRUAL_DOC_TYPE_NAME = "Accrual";
601            public static final int ACCRUAL_DOC_DAY_OF_MONTH = 15;
602            public static final String CHANGE_VOUCHER_TYPE = "changeVoucherType";
603        }
604    
605        public static class CashDrawerConstants {
606            public static final String STATUS_CLOSED = "C";
607            public static final String STATUS_OPEN = "O";
608            public static final String STATUS_LOCKED = "L";
609        }
610    
611        public static class CashReceiptConstants {
612            public static final String DEFAULT_CASH_RECEIPT_CAMPUS_LOCATION_CODE = "??";
613    
614            public static final String CASH_RECEIPT_CAMPUS_LOCATION_CODE_PROPERTY_NAME = "campusLocationCode";
615            public static final String CASH_RECEIPT_DOC_HEADER_STATUS_CODE_PROPERTY_NAME = KFSConstants.DOCUMENT_HEADER_PROPERTY_NAME + "." + KFSConstants.DOCUMENT_HEADER_DOCUMENT_STATUS_CODE_PROPERTY_NAME;
616        }
617    
618        public static class DepositConstants {
619            public static final String DEPOSIT_TYPE_INTERIM = "I";
620            public static final String DEPOSIT_TYPE_FINAL = "F";
621    
622            public static final String DEPOSIT_WIZARD_CASHRECEIPT_ERROR = "cashReceiptErrors";
623            public static final String DEPOSIT_WIZARD_DEPOSITHEADER_ERROR = "depositHeaderErrors";
624        }
625    
626        public static class CreditCardReceiptConstants {
627            public static final String CASH_RECEIPT_CREDIT_CARD_RECEIPT_COLUMN_TYPE_CODE = "R";
628        }
629    
630        public static class BudgetAdjustmentDocumentConstants {
631            public static final String SOURCE_BA = "From/Decrease";
632            public static final String TARGET_BA = "To/Increase";
633            public static final String GENERATE_BENEFITS_QUESTION_ID = "GenerateBenefitsQuestion";
634            public static final String ADJUSTMENT_RESTRICTION_LEVEL_FUND = "F";
635            public static final String ADJUSTMENT_RESTRICTION_LEVEL_CHART = "C";
636            public static final String ADJUSTMENT_RESTRICTION_LEVEL_ORGANIZATION = "O";
637            public static final String ADJUSTMENT_RESTRICTION_LEVEL_ACCOUNT = "A";
638            public static final String ADJUSTMENT_RESTRICTION_LEVEL_SUBFUND = "S";
639            public static final String ADJUSTMENT_RESTRICTION_LEVEL_NONE = "N";
640            public static final String CROSS_INCOME_STREAM_GLPE_TRANSFER_GENERATING_FUND_GROUPS = "CROSS_INCOME_STREAM_GLPE_TRANSFER_GENERATING_FUND_GROUPS";
641            public static final String CROSS_INCOME_STREAM_GLPE_TRANSFER_GENERATING_SUB_FUND_GROUPS = "CROSS_INCOME_STREAM_GLPE_TRANSFER_GENERATING_SUB_FUND_GROUPS";
642        }
643    
644        @Deprecated
645        public static class BudgetConstructionPositionConstants {
646            public static final String POSITION_REGULAR_TEMPORARY_REGULAR = "R";
647            public static final String POSITION_REGULAR_TEMPORARY_TEMPORARY = "T";
648            public static final String POSITION_EFFECTIVE_STATUS_ACTIVE = "A";
649            public static final String POSITION_EFFECTIVE_STATUS_INACTIVE = "I";
650            public static final String POSITION_STATUS_APPROVED = "A";
651            public static final String POSITION_STATUS_DELETED = "D";
652            public static final String POSITION_STATUS_FROZEN = "F";
653            public static final String POSITION_STATUS_TEMPORARILY_INACTIVE = "T";
654        }
655    
656        public static class DisbursementVoucherDocumentConstants {
657            public static final String CLEAR_NON_EMPLOYEE_TAB_QUESTION_ID = "ClearNonEmplTravTabQuestion";
658            public static final String CLEAR_WIRE_TRANSFER_TAB_QUESTION_ID = "ClearWireTransferTabQuestion";
659            public static final String CLEAR_FOREIGN_DRAFT_TAB_QUESTION_ID = "ClearForeignDraftTabQuestion";
660        }
661    
662        public static final String ACCOUNTING_LINE_IMPORT_MAX_FILE_SIZE_PARM_NM = "MAX_FILE_SIZE_ACCOUNTING_LINE_IMPORT";
663        public static final String ORIGIN_ENTRY_IMPORT_MAX_FILE_SIZE_PARM_NM = "MAX_FILE_SIZE_ORIGIN_ENTRY_IMPORT";
664    
665        public static class ChartApcParms {
666    
667            public static final String FISCAL_YEAR_MAKER_REPLACE_MODE = "OVERRIDE_TARGET_YEAR_DATA_IND";
668            public static final String FISCAL_YEAR_MAKER_SOURCE_FISCAL_YEAR = "SOURCE_FISCAL_YEAR";
669    
670            // added from parameter refactoring.
671            public static final String APC_HRMS_ACTIVE_KEY = "USE_HRMS_ORGANIZATION_ATTRIBUTES_IND";
672            public final static String OBJECT_CODE_ILLEGAL_VALUES = "OBJECT_CODES";
673            public static final String DOCTYPE_AND_OBJ_CODE_ACTIVE = "DOCUMENT_TYPES_REQUIRING_ACTIVE_OBJECT_CODES";
674            public static final String CG_ALLOWED_SUBACCOUNT_TYPE_CODES = "SUB_ACCOUNT_TYPES";
675    
676            // Account parms
677            public static final String INCOME_STREAM_ACCOUNT_REQUIRING_FUND_GROUPS = "INCOME_STREAM_ACCOUNT_REQUIRING_FUND_GROUPS";
678            public static final String INCOME_STREAM_ACCOUNT_REQUIRING_SUB_FUND_GROUPS = "INCOME_STREAM_ACCOUNT_REQUIRING_SUB_FUND_GROUPS";
679    
680            // Org parms
681            public static final String DEFAULT_ACCOUNT_NOT_REQUIRED_ORG_TYPES = "ORGANIZATION_TYPES_NOT_REQUIRING_DEFAULT_ACCOUNT";
682            public static final String ORG_MUST_REPORT_TO_SELF_ORG_TYPES = "ORGANIZATION_TYPES_THAT_MUST_REPORT_TO_SELF";
683    
684            public static final String ACCOUNT_FUND_GROUP_DENOTES_CG = "FUND_GROUP_DENOTES_CG_IND";
685            public static final String ACCOUNT_CG_DENOTING_VALUE = "CG_DENOTING_VALUE";
686        }
687    
688        public static class FinancialApcParms {
689            public static final String ACCOUNTING_LINE_IMPORT_HELP = "ACCOUNTING_LINE_IMPORT";
690        }
691    
692        public static class SystemGroupParameterNames {
693    
694            public static final String FLEXIBLE_OFFSET_ENABLED_FLAG = "USE_FLEXIBLE_OFFSET_IND";
695            public static final String PURGE_GL_ACCT_BALANCES_T_BEFORE_YEAR = "PRIOR_TO_YEAR";
696            public static final String PURGE_GL_ENCUMBRANCE_T_BEFORE_YEAR = "PRIOR_TO_YEAR";
697            public static final String PURGE_GL_SF_BALANCES_T_BEFORE_YEAR = "PRIOR_TO_YEAR";
698            public static final String PURGE_GL_BALANCE_T_BEFORE_YEAR = "PRIOR_TO_YEAR";
699            public static final String PURGE_GL_ENTRY_T_BEFORE_YEAR = "PRIOR_TO_YEAR";
700            public static final String PURGE_GL_ID_BILL_T_BEFORE_YEAR = "PRIOR_TO_YEAR";
701    
702            public static final String GL_ANNUAL_CLOSING_DOC_TYPE = "ANNUAL_CLOSING_DOCUMENT_TYPE";
703            public static final String GL_INDIRECT_COST_RECOVERY = "INDIRECT_COST_RECOVERY_DOCUMENT_TYPE";
704            public static final String GL_ORIGINATION_CODE = "MANUAL_FEED_ORIGINATION";
705            public static final String GL_SCRUBBER_VALIDATION_DAYS_OFFSET = "CG_ACCOUNT_EXPIRATION_EXTENSION_DAYS";
706    
707            public static final String MULTIPLE_VALUE_LOOKUP_RESULTS_PER_PAGE = "MULTIPLE_VALUE_RESULTS_PER_PAGE";
708            public static final String MULTIPLE_VALUE_LOOKUP_RESULTS_EXPIRATION_AGE = "MULTIPLE_VALUE_RESULTS_EXPIRATION_SECONDS";
709    
710            public static final String ACTIVE_INPUT_TYPES_PARAMETER_NAME = "ACTIVE_FILE_TYPES";
711    
712            public static final String COLLECTOR_VALIDATOR_EMAIL_SUBJECT_PARAMETER_NAME = "VALIDATION_EMAIL_SUBJECT_LINE";
713            public static final String COLLECTOR_DEMERGER_EMAIL_SUBJECT_PARAMETER_NAME = "ERROR_EMAIL_SUBJECT_LINE";
714            public static final String COLLECTOR_EQUAL_DC_TOTAL_DOCUMENT_TYPES = "EQUAL_DEBIT_CREDIT_TOTAL_DOCUMENT_TYPES";
715            public static final String COLLECTOR_PERFORM_DUPLICATE_HEADER_CHECK = "PERFORM_DUPLICATE_HEADER_CHECK_IND";
716    
717            public static final String BATCH_SCHEDULE_CUTOFF_TIME = "CUTOFF_TIME";
718            public static final String BATCH_SCHEDULE_CUTOFF_TIME_IS_NEXT_DAY = "CUTOFF_TIME_NEXT_DAY_IND";
719            public static final String BATCH_SCHEDULE_STATUS_CHECK_INTERVAL = "STATUS_CHECK_INTERVAL";
720                    
721            /**
722             * Used by PurgePendingAttachmentsJob to compute the maximum amount of time a pending attachment is allowed to persist on
723             * the file system before being deleted.
724             */
725            public static final String PURGE_PENDING_ATTACHMENTS_STEP_MAX_AGE = "MAX_AGE";
726    
727            public static final String NUMBER_OF_DAYS_SINCE_LAST_UPDATE  = "NUMBER_OF_DAYS_SINCE_LAST_UPDATE";
728            
729            public static final String ACCOUNTS_CAN_CROSS_CHARTS_IND = "ACCOUNTS_CAN_CROSS_CHARTS_IND";
730        }
731    
732        public static class GeneralLedgerApplicationParameterKeys {
733            public static final String INCOME_OBJECT_TYPE_CODES = "INCOME_OBJECT_TYPE_CODES";
734            public static final String INCOME_TRANSFER_OBJECT_TYPE_CODES = "INCOME_TRANSFER_OBJECT_TYPE_CODES";
735            public static final String EXPENSE_OBJECT_TYPE_CODES = "EXPENSE_OBJECT_TYPE_CODES";
736            public static final String EXPENSE_TRANSFER_OBJECT_TYPE_CODES = "EXPENSE_TRANSFER_OBJECT_TYPE_CODES";
737        }
738    
739        public static class GeneralLedgerCorrectionProcessApplicationParameterKeys {
740            public static final String RECORD_COUNT_FUNCTIONALITY_LIMIT = "RECORD_COUNT_FUNCTIONALITY_LIMIT";
741            public static final String RECORDS_PER_PAGE = "RECORDS_PER_PAGE";
742        }
743    
744        public static class EnterpriseFeederApplicationParameterKeys {
745            public static final String TO_ADDRESS = "INVALID_FILE_TO_EMAIL_ADDRESSES";
746        }
747    
748        public static class ParameterValues {
749            public static final String YES = "Y";
750            public static final String NO = "N";
751        }
752    
753        public static class Maintenance {
754            public static final String AFTER_CLASS_DELIM = "!!";
755            public static final String AFTER_FIELDNAME_DELIM = "^^";
756            public static final String AFTER_VALUE_DELIM = "::";
757        }
758    
759        public static class ObjectCodeConstants {
760            public static final String INACTIVE_OBJECT_LEVEL_QUESTION_ID = "InactiveObjectLevelQuestion";
761            public static final String SECTION_ID_RESEARCH_ADMIN_ATTRIBUTES = "researchAdminAttributes";
762            public static final String PARAMETER_KC_ENABLE_RESEARCH_ADMIN_OBJECT_CODE_ATTRIBUTE_IND = "ENABLE_RESEARCH_ADMIN_OBJECT_CODE_ATTRIBUTE_IND";
763        }
764    
765        public static final String MONTH1 = "01";
766        public static final String MONTH2 = "02";
767        public static final String MONTH3 = "03";
768        public static final String MONTH4 = "04";
769        public static final String MONTH5 = "05";
770        public static final String MONTH6 = "06";
771        public static final String MONTH7 = "07";
772        public static final String MONTH8 = "08";
773        public static final String MONTH9 = "09";
774        public static final String MONTH10 = "10";
775        public static final String MONTH11 = "11";
776        public static final String MONTH12 = "12";
777        public static final String MONTH13 = "13";
778        public static final String PERIOD_CODE_ANNUAL_BALANCE = "AB";
779        public static final String PERIOD_CODE_BEGINNING_BALANCE = "BB";
780        public static final String PERIOD_CODE_CG_BEGINNING_BALANCE = "CB";
781    
782        public static final String REQUEST_SEARCH_RESULTS = "reqSearchResults";
783        public static final String REQUEST_SEARCH_RESULTS_SIZE = "reqSearchResultsSize";
784        public static final String GL_COLLECTOR_STAGING_DIRECTORY = "collector.staging.directory";
785    
786        public static final String DISBURSEMENT_VOUCHER_DOCUMENTATION_LOCATION_CODE_PROPERTY_NAME = "disbursementVoucherDocumentationLocationCode";
787        public static final String FUND_GROUP_CODE_PROPERTY_NAME = "code";
788        public static final String SUB_FUND_GROUP_CODE_PROPERTY_NAME = "subFundGroupCode";
789    
790        public static final String RULE_CODE_R1 = "R1";
791        public static final String RULE_CODE_R2 = "R2";
792        public static final String RULE_CODE_N1 = "N1";
793        public static final String RULE_CODE_N2 = "N2";
794        public static final String RULE_CODE_C1 = "C1";
795        public static final String RULE_CODE_C2 = "C2";
796        public static final String RULE_CODE_A = "A";
797        public static final String TRANSACTION_DT = "TRANSACTION_DT";
798        public static final String UNALLOC_OBJECT_CD = "UNALLOC_OBJECT_CD";
799        public static final String BEG_BUD_CASH_OBJECT_CD = "BEG_BUD_CASH_OBJECT_CD";
800        public static final String FUND_BAL_OBJECT_CD = "FUND_BAL_OBJECT_CD";
801        public static final String UNIV_FISCAL_YR = "UNIV_FISCAL_YR";
802    
803        public static final String EMPLOYEE_LOOKUP_ERRORS = "document.employeeLookups,document.emplid,universityFiscalYear";
804    
805        public static class BudgetConstructionConstants {
806    
807            /* KFSConstants for the budget construction flag names */
808            public final static String BUDGET_ADMINSTRATION_ACTIVE = "BAACTV";
809            public final static String BASE_BUDGET_UPDATES_OK = "BASEAD";
810            public final static String BUDGET_BATCH_SYNCHRONIZATION_OK = "BSSYNC";
811            public final static String CSF_UPDATES_OK = "CSFUPD";
812            public final static String BUDGET_CONSTRUCTION_ACTIVE = "BCACTV";
813            public final static String BUDGET_CONSTRUCTION_GENESIS_RUNNING = "BCGENE";
814            public final static String BUDGET_CONSTRUCTION_UPDATES_OK = "BCUPDT";
815            public final static String BUDGET_ON_LINE_SYNCHRONIZATION_OK = "PSSYNC";
816    
817            /*
818             * object code which stores amounts by which pending general ledger rows in budget construction are out of balance
819             */
820            @Deprecated
821            public final static String OBJECT_CODE_2PLG = "2PLG";
822            
823        }
824    
825        public static class OperationType {
826            public static final String READ = "read";
827            public static final String REPORT_ERROR = "with error";
828            public static final String INSERT = "insert";
829            public static final String UPDATE = "update";
830            public static final String DELETE = "delete";
831            public static final String SELECT = "select";
832            public static final String BYPASS = "bypassed";
833        }
834    
835        public static class PENDING_ENTRY_APPROVED_STATUS_CODE {
836            public static final String APPROVED = "A";
837            public static final String PROCESSED = "X";
838        }
839    
840        public static class TableRenderConstants {
841            public static final String SWITCH_TO_PAGE_METHOD = "switchToPage";
842            public static final String SORT_METHOD = "sort";
843    
844            public static final String PREVIOUSLY_SORTED_COLUMN_INDEX_PARAM = "previouslySortedColumnIndex";
845            public static final String VIEWED_PAGE_NUMBER = "viewedPageNumber";
846        }
847    
848        public static final String PCDO_FILE_TYPE_INDENTIFIER = "procurementCardInputFileType";
849        public static final String COLLECTOR_XML_FILE_TYPE_INDENTIFIER = "collectorXmlInputFileType";
850        public static final String COLLECTOR_FLAT_FILE_TYPE_INDENTIFIER = "collectorFlatFileInputFileType";
851        public static final String ENTERPRISE_FEEDER_FILE_SET_TYPE_INDENTIFIER = "enterpriseFeederFileSetType";
852    
853        // next 2 variables for the enterprise feeder batch upload
854        public static final String DATA_FILE_TYPE = "DATA";
855        public static final String RECON_FILE_TYPE = "RECON";
856        
857        // next variable used by the batch upload framework
858        public static final String DONE_FILE_TYPE = "DONE_FILE";
859        
860        /**
861         * The base implementation of {@link org.kuali.kfs.gl.batch.service.impl.EnterpriseFeederStatusBase} uses strings contained within
862         * ApplicationResources.properties to store the human-readable descriptions of each status object. The fully qualified class
863         * name is appended to the end of this key to generate the true key. For example,
864         * gl.EnterpriseFeeder.StatusDescriptionPrefix.org.kuali.kfs.gl.batch.service.impl.FileReconBadLoadAbortedStatus
865         */
866        public static final String ENTERPRISE_FEEDER_STATUS_DESCRIPTION_PREFIX = "gl.EnterpriseFeeder.StatusDescription.";
867    
868        public static final String BATCH_STEP_RUNNER_JOB_NAME = "stepRunByBatchStepRunner";
869    
870        // Some static method calls below that could be done in static variables instead but isn't safe to do during class loading
871        // w/SpringContext.
872        private static String DASH_FINANCIAL_OBJECT_CODE = null;
873    
874        public static String getDashFinancialObjectCode() {
875            if (DASH_FINANCIAL_OBJECT_CODE == null) {
876                DASH_FINANCIAL_OBJECT_CODE = StringUtils.rightPad("", SpringContext.getBean(DataDictionaryService.class).getAttributeMaxLength(OriginEntryFull.class, KFSPropertyConstants.FINANCIAL_OBJECT_CODE), '-');
877            }
878            return DASH_FINANCIAL_OBJECT_CODE;
879        }
880    
881        private static String DASH_FINANCIAL_SUB_OBJECT_CODE = null;
882    
883        public static String getDashFinancialSubObjectCode() {
884            if (DASH_FINANCIAL_SUB_OBJECT_CODE == null) {
885                DASH_FINANCIAL_SUB_OBJECT_CODE = StringUtils.rightPad("", SpringContext.getBean(DataDictionaryService.class).getAttributeMaxLength(OriginEntryFull.class, KFSPropertyConstants.FINANCIAL_SUB_OBJECT_CODE), '-');
886            }
887            return DASH_FINANCIAL_SUB_OBJECT_CODE;
888        }
889    
890        private static String DASH_SUB_ACCOUNT_NUMBER = null;
891    
892        public static String getDashSubAccountNumber() {
893            if (DASH_SUB_ACCOUNT_NUMBER == null) {
894                DASH_SUB_ACCOUNT_NUMBER = StringUtils.rightPad("", SpringContext.getBean(DataDictionaryService.class).getAttributeMaxLength(OriginEntryFull.class, KFSPropertyConstants.SUB_ACCOUNT_NUMBER), '-');
895            }
896            return DASH_SUB_ACCOUNT_NUMBER;
897        }
898    
899        private static String SPACE_SUB_ACCOUNT_NUMBER = null;
900    
901        public static String getSpaceSubAccountNumber() {
902            if (SPACE_SUB_ACCOUNT_NUMBER == null) {
903                SPACE_SUB_ACCOUNT_NUMBER = StringUtils.rightPad("", SpringContext.getBean(DataDictionaryService.class).getAttributeMaxLength(OriginEntryFull.class, KFSPropertyConstants.SUB_ACCOUNT_NUMBER), ' ');
904            }
905            return SPACE_SUB_ACCOUNT_NUMBER;
906        }
907    
908        private static String DASH_PROJECT_CODE = null;
909    
910        public static String getDashProjectCode() {
911            if (DASH_PROJECT_CODE == null) {
912                DASH_PROJECT_CODE = StringUtils.rightPad("", SpringContext.getBean(DataDictionaryService.class).getAttributeMaxLength(OriginEntryFull.class, KFSPropertyConstants.PROJECT_CODE), '-');
913            }
914            return DASH_PROJECT_CODE;
915        }
916        
917        //AR TAB ERROR KEYS
918        
919        //Customer Invoice Document
920        @Deprecated
921        public static final String CUSTOMER_INVOICE_DOCUMENT_ORGANIZATION_ERRORS = "document.billByChartOfAccountCode,document.billedByOrganizationCode,document.accountsReceivableDocumentHeader.processingChartOfAccountCode";
922        @Deprecated
923        public static final String CUSTOMER_INVOICE_DOCUMENT_GENERAL_ERRORS = "document.accountsReceivableDocumentHeader.customerNumber,document.invoice*,document.billingDate,document.invoiceDueDate";
924        @Deprecated
925        public static final String CUSTOMER_INVOICE_DOCUMENT_ADDRESS = "document.customerBillToAddressIdentifier,document.customerShipToAddressIdentifier"; 
926        @Deprecated
927        public static final String CUSTOMER_INVOICE_DOCUMENT_RECEIVABLE_ACCOUNTING_LINE = "document.payment*";
928        @Deprecated
929        public static final String CUSTOMER_INVOICE_DOCUMENT_RECURRENCE_DETAILS_ERRORS = "document.customerInvoiceRecurrenceDetails,document.customerInvoiceRecurrenceDetails.*,document.customerInvoiceRecurrenceDetails.document*";
930    
931        
932        //Cash Control Document
933        public static final String CASH_CONTROL_DOCUMENT_ERRORS = "document.accountsReceivableDocumentHeader.processingChartOfAccountCode,document.referenceFinancialDocumentNumber,document.customerPaymentMediumCode,document.organizationCode,document.bankCode";
934        public static final String CASH_CONTROL_DETAILS_ERRORS = "newCashControl*,document.cashControlDetail*";
935        
936        // Customer Credit Memo Document
937        @Deprecated
938        public static final String CUSTOMER_CREDIT_MEMO_DETAILS_ERRORS = "document,document.creditMemoDetails*";
939        @Deprecated
940        public static final String CUSTOMER_CREDIT_MEMO_DETAIL_PROPERTY_NAME = "creditMemoDetails";
941        
942        // Customer Invoice Writeoff Document
943        @Deprecated
944        public static final String CUSTOMER_INVOICE_WRITEOFF_INIT_ERRORS = "document.financialDocumentReferenceInvoiceNumber*";
945        @Deprecated
946        public static final String CUSTOMER_INVOICE_WRITEOFF_DETAILS_ERRORS = "document.customerInvoiceDetailsForWriteoff*";
947        
948        // Customer Invoice Writeoff Lookup
949        @Deprecated
950        public static final String CUSTOMER_INVOICE_WRITEOFF_LOOKUP_RESULT_ERRORS = "customerInvoiceWriteoffLookupResults";
951        
952        public static final class ReportGeneration{
953            public final static String PARAMETER_NAME_SUBREPORT_DIR = "SUBREPORT_DIR";
954            public final static String PARAMETER_NAME_SUBREPORT_TEMPLATE_NAME = "SUBREPORT_TEMPLATE_NAMES";
955            public final static String DESIGN_FILE_EXTENSION = ".jrxml";
956            public final static String JASPER_REPORT_EXTENSION = ".jasper";
957            public final static String PDF_FILE_EXTENSION = ".pdf";
958            public final static String PDF_MIME_TYPE = "application/pdf";
959            public final static String TEXT_MIME_TYPE = "text/plain";
960            public final static String ACCOUNT_EXPORT_FILE_NAME = "account_export.txt";
961            public final static String MONTHLY_EXPORT_FILE_NAME = "monthly_export.txt";
962            public final static String FUNDING_EXPORT_FILE_NAME = "funding_export.txt";
963        }
964        
965        public final static KualiInteger ONE_HUNDRED = new KualiInteger(100);
966        public final static KualiInteger ONE = new KualiInteger(1);
967        
968        // effort certification period status codes
969        public static final class PeriodStatusCodes {
970            public static final String CLOSED = "C";
971            public static final String NOT_OPEN = "N";
972            public static final String OPEN = "O";
973        }
974        
975        @Deprecated
976        public static final class CustomerParameter {
977            public static final String TAX_NUMBER_REQUIRED_IND = "TAX_NUMBER_REQUIRED_IND";
978        }
979        
980        // financial document type codes
981        @Deprecated
982        public static final class FinancialDocumentTypeCodes {
983            public static final String ALL = "ALL";
984            // budget construction
985            public static final String BUDGET_CONSTRUCTION = "BC";
986            
987            // financial processing
988            public static final String GENERAL_ERROR_CORRECTION = "GEC";
989            public static final String YEAR_END_GENERAL_ERROR_CORRECTION = "YEGE";
990            public static final String DISTRIBUTION_OF_INCOME_AND_EXPENSE = "DI";
991            public static final String YEAR_END_DISTRIBUTION_OF_INCOME_AND_EXPENSE = "YEDI";
992            public static final String SERVICE_BILLING = "SB";
993            public static final String INTERNAL_BILLING = "IB";
994            public static final String CASH_RECEIPT = "CR";
995            public static final String PROCUREMENT_CARD = "PCDO";        
996            public static final String ADVANCE_DEPOSIT = "AD";
997            public static final String CASH_MANAGEMENT = "CMD";
998            public static final String CREDIT_CARD_RECEIPT = "CCR";
999            
1000            // accounts receivable
1001            public static final String PAYMENT_APPLICATION = "APP";
1002            public static final String CASH_CONTROL = "CTRL";
1003            public static final String CUSTOMER_CREDIT_MEMO = "CRM";
1004            public static final String CUSTOMER_INVOICE = "INV";
1005            
1006            // capital asset
1007            public static final String ASSET_PAYMENT = "MPAY";
1008            
1009            // labor
1010            public static final String SALARY_EXPENSE_TRANSFER = "ST";
1011            
1012            // purap
1013            public static final String REQUISITION = "REQS";
1014            public static final String PAYMENT_REQUEST = "PREQ";
1015            public static final String PURCHASE_ORDER = "PO";
1016            public static final String PURCHASE_ORDER_AMENDMENT = "POA";
1017            public static final String PURCHASE_ORDER_CLOSE = "POC";
1018            public static final String PURCHASE_ORDER_SPLIT = "POSP";
1019            public static final String PURCHASE_ORDER_REOPEN = "POR";
1020            public static final String PURCHASE_ORDER_PAYMENT_HOLD = "POPH";
1021            public static final String PURCHASE_ORDER_REMOVE_HOLD = "PORH";
1022            public static final String PURCHASE_ORDER_RETRANSMIT = "PORT";
1023            public static final String PURCHASE_ORDER_VOID = "POV";
1024            public static final String LINE_ITEM_RECEIVING = "RCVL";
1025            public static final String CORRECTION_RECEIVING = "RCVC";
1026            public static final String VENDOR_CREDIT_MEMO = "CM";
1027            public static final String BULK_RECEIVING = "RCVB";
1028        }
1029        
1030        // financial document type names
1031        @Deprecated
1032        public static final class FinancialDocumentTypeNames {
1033            public static final String GENERAL_ERROR_CORRECTION = "General Error Correction";
1034            public static final String YEAR_END_GENERAL_ERROR_CORRECTION = "Year End General Error Correction";
1035            public static final String DISTRIBUTION_OF_INCOME_AND_EXPENSE = "Distribution of Income and Expense";
1036            public static final String YEAR_END_DISTRIBUTION_OF_INCOME_AND_EXPENSE = "Year End Distribution of Income and Expense";
1037            public static final String SERVICE_BILLING = "Service Billing";
1038            public static final String INTERNAL_BILLING = "Internal Billing";
1039            public static final String CASH_RECEIPT = "Cash Receipt";
1040            public static final String PROCUREMENT_CARD = "Procurement Card";        
1041        }
1042    
1043        public static final class AccountingLineViewStandardBlockNames {
1044            public static final String ACTION_BLOCK = "actions";
1045            public static final String SEQUENCE_NUMBER_BLOCK = "sequenceNumber";
1046            public static final String SALES_TAX_BLOCK = "salesTaxInformation";
1047        }
1048        
1049        public static final class TaxRegionConstants {
1050            public static final String TAX_REGION_RATES = "taxRegionRates";
1051            public static final String TAX_REGION_COUNTIES = "taxRegionCounties";
1052            public static final String TAX_REGION_STATES = "taxRegionStates";
1053            public static final String TAX_REGION_POSTAL_CODES = "taxRegionPostalCodes";
1054            public static final String TAX_REGION_STATE_CODE = "stateCode";
1055            public static final String TAX_REGION_COUNTY_CODE = "countyCode";
1056            public static final String TAX_REGION_POSTAL_CODE = "postalCode";
1057            public static final String TAX_REGION_TAX_RATE = "taxRate";
1058            public static final String TAX_REGION_EFFECTIVE_DATE = "effectiveDate";
1059            public static final String TAX_REGION_TYPE_CODE = "taxRegionTypeCode";
1060            public static final String TAX_REGION_COUNTIES_SECTION_ID = "TaxRegionCounties";
1061            public static final String TAX_REGION_STATES_SECTION_ID = "TaxRegionStates";
1062            public static final String TAX_REGION_POSTAL_CODES_SECTION_ID = "TaxRegionPostalCodes";
1063            public static final String TAX_REGION_RATES_SECTION_ID = "TaxRegionRates";
1064            public static final String TAX_REGION_CREATE_SECTION_ID = "CreateTaxRegion";
1065            
1066            public static final String TAX_REGION_TYPE_CODE_COUNTY = "CNTY";
1067            public static final String TAX_REGION_TYPE_CODE_POSTAL_CODE = "POST";
1068            public static final String TAX_REGION_TYPE_CODE_STATE = "ST";
1069        }
1070        
1071        public static final class SubAccountType {
1072            public static final String COST_SHARE = "CS";
1073            public static final String EXPENSE = "EX";
1074            
1075            public static final List<String> ELIGIBLE_SUB_ACCOUNT_TYPE_CODES = getEligibleSubAccountTypeCodes();
1076            
1077            private static final List<String> getEligibleSubAccountTypeCodes(){
1078                List<String> subAccountTypeCodesList = new ArrayList<String>();
1079                subAccountTypeCodesList.add(KFSConstants.SubAccountType.COST_SHARE);
1080                subAccountTypeCodesList.add(KFSConstants.SubAccountType.EXPENSE);
1081                return subAccountTypeCodesList;
1082            }
1083        }
1084    
1085        @Deprecated // Move to AR
1086        public static final class CustomerOpenItemReport {
1087            public static final String CUSTOMER_NUMBER = "customerNumber";
1088            public static final String DOCUMENT_NUMBER = "documentNumber";
1089            public static final String REPORT_NAME = "reportName";
1090            public static final String PROCESSING_OR_BILLING_CHART_CODE = "processingOrBillingChartCode";
1091            public static final String ORGANIZATION_CODE = "orgCode";
1092            public static final String REPORT_OPTION = "reportOption";
1093            public static final String COLUMN_TITLE = "columnTitle";
1094            public static final String REPORT_RUN_DATE = "reportRunDate";
1095            public static final String REPORT_BEGIN_DATE = "startDate";
1096            public static final String REPORT_END_DATE = "endDate";
1097            public static final String ACCOUNT_NUMBER = "accountNumber";
1098            public static final String ACCOUNT_CHART_CODE = "accountChartCode";
1099            public static final String ALL_DAYS = "All days";
1100            public static final String HISTORY_REPORT_NAME = "Customer History Report";
1101            public static final String OPEN_ITEM_REPORT_NAME = "Customer Open Item Report";
1102            public static final String REPORT_OPTION_ACCT = "Account";
1103            
1104            public static final String PROCESSING_COA_CODE = "processingChartOfAccountCode";
1105            public static final String PROCESSING_ORGANIZATION_CODE = "processingOrganizationCode";
1106        }
1107        
1108        @Deprecated // Move to AR
1109        public static final class CustomerAgingReport {
1110            public static final String CUSTOMER_NAME = "customerName";
1111            public static final String UNPAID_BALANCE_0_TO_30 = "unpaidBalance0to30";
1112            public static final String UNPAID_BALANCE_31_TO_60 = "unpaidBalance31to60";
1113            public static final String UNPAID_BALANCE_61_TO_90 = "unpaidBalance61to90";
1114            public static final String UNPAID_BALANCE_91_TO_SYSPR = "unpaidBalance91toSYSPR";
1115            public static final String UNPAID_BALANCE_SYSPR_PLUS_1_OR_MORE = "unpaidBalanceSYSPRplus1orMore";
1116        }
1117        
1118        @Deprecated // move to PDP
1119        public static final class PdpConstants {
1120            public static final String PAYMENT_OPEN_STATUS_CODE = "OPEN";
1121        }
1122    
1123        @Deprecated
1124        public static final String PAYMENT_APPLICATION_DOCUMENT_ERRORS = "document";
1125        @Deprecated
1126        public static class PaymentApplicationTabErrorCodes {
1127            public static final String NON_AR_TAB = "nonInvoicedAddLine*";
1128            public static final String UNAPPLIED_TAB = "document.nonAppliedHolding*";
1129            public static final String APPLY_TO_INVOICE_DETAIL_TAB = "customerInvoiceDetail*";
1130        }
1131        
1132        // define a set of indicators related to payments, including payee types, tax review requirements and others
1133        public static class AdHocPaymentIndicator{
1134            public static final String EMPLOYEE_VENDOR = "E";
1135            public static final String ALIEN_VENDOR = "A"; 
1136            public static final String EMPLOYEE_PAYEE = "E";
1137            public static final String ALIEN_PAYEE = "A"; 
1138            public static final String TAX_CONTROL_REQUIRING_TAX_REVIEW = "T"; 
1139            public static final String PAYMENT_REASON_REQUIRING_TAX_REVIEW = "P";
1140            public static final String OTHER = "N";
1141        }
1142        
1143        public static class SysKimConstants{
1144            public static final String ACCOUNT_SUPERVISOR_KIM_ROLE_NAME = "Account Supervisor";
1145            public static final String CONTRACTS_AND_GRANTS_PROJECT_DIRECTOR = "Contracts & Grants Project Director";
1146            public static final String FISCAL_OFFICER_KIM_ROLE_NAME = "Fiscal Officer";
1147            public static final String FISCAL_OFFICER_PRIMARY_DELEGATE_KIM_ROLE_NAME = "Fiscal Officer Primary Delegate";
1148            public static final String FISCAL_OFFICER_SECONDARY_DELEGATE_KIM_ROLE_NAME = "Fiscal Officer Secondary Delegate";
1149            public static final String AWARD_SECONDARY_DIRECTOR_KIM_ROLE_NAME = "Award Project Director";
1150            public static final String ACTIVE_FACULTY_OR_STAFF_KIM_ROLE_NAME = "Active Faculty or Staff";
1151            public static final String ACTIVE_PROFESSIONAL_EMPLOYEE_KIM_ROLE_NAME = "Active Professional Employee";
1152            public static final String ACTIVE_EMPLOYEE_AND_KFS_USER_KIM_ROLE_NAME = "Active Employee & Financial System User";
1153            public static final String ACTIVE_PROFESSIONAL_EMPLOYEE_AND_KFS_USER_KIM_ROLE_NAME = "Active Professional Employee & Financial System User";
1154            public static final String CHART_MANAGER_KIM_ROLE_NAME = "Chart Manager";
1155            public static final String ORGANIZATION_REVIEWER_ROLE_NAMESPACECODE = ParameterNamespaces.KFS;
1156            public static final String ACCOUNTING_REVIEWER_ROLE_NAME = "Accounting Reviewer";
1157            public static final String ORGANIZATION_REVIEWER_ROLE_NAME = "Organization Reviewer";
1158        } 
1159    
1160        public enum PermissionAttributeValue {
1161            SOURCE_ACCOUNTING_LINES("sourceAccountingLines"), TARGET_ACCOUNTING_LINES("targetAccountingLines");
1162    
1163            public final String value;
1164    
1165            private PermissionAttributeValue(String value) {
1166                this.value = value;
1167            }
1168        }
1169    
1170        public enum PermissionTemplate {
1171            DEFAULT("Default"), ERROR_CORRECT_DOCUMENT("Error Correct Document"),
1172            MODIFY_ACCOUNTING_LINES("Modify Accounting Lines"), CLAIM_ELECTRONIC_PAYMENT("Claim Electronic Payment"),
1173            MODIFY_BATCH_JOB("Modify Batch Job"), EDIT_BANK_CODE("Edit Bank Code"), ADMINISTER_ROUTING_FOR_DOCUMENT("Administer Routing for Document"),
1174            VIEW_BATCH_FILES("Administer Batch File"), UPLOAD_BATCH_INPUT_FILES("Upload Batch Input File(s)");
1175    
1176            public final String name;
1177            private PermissionTemplate(String name) {
1178                this.name = name;
1179            }
1180        }
1181        
1182        public class PermissionNames {
1183            public static final String EDIT_INACTIVE_ACCOUNT = "Edit Inactive Account";
1184            public static final String SERVE_AS_ACCOUNT_MANAGER = "Serve As Account Manager";
1185            public static final String SERVE_AS_ACCOUNT_SUPERVISOR = "Serve As Account Supervisor";
1186            public static final String SERVE_AS_FISCAL_OFFICER = "Serve As Fiscal Officer";
1187            public static final String SERVE_AS_FISCAL_OFFICER_DELEGATE = "Serve As Fiscal Officer Delegate";
1188        }
1189    
1190        public static final String KFS_ACTION_CAN_ERROR_CORRECT = "canErrorCorrect";
1191        public static final String KFS_ACTION_CAN_EDIT_BANK = "canEditBank";
1192        
1193    
1194        public static final String AMOUNT_TOTALING_EDITING_MODE = "amountTotaling";
1195        public static final String BANK_ENTRY_VIEWABLE_EDITING_MODE = "bankEntryViewable";
1196        public static final String BANK_ENTRY_EDITABLE_EDITING_MODE = "bankEntry";
1197        
1198        public class RouteLevelNames {
1199            public static final String ACCOUNT = "Account";
1200            public static final String ACCOUNTING_ORGANIZATION_HIERARCHY = "AccountingOrganizationHierarchy";
1201            public static final String ACCOUNT_REVIEW_FULL_EDIT = "Account Review Full Edit";
1202            public static final String PROJECT_MANAGEMENT = "ProjectManagement";
1203            public static final String ORGANIZATION_HIERARCHY = "OrganizationHierarchy";
1204        }
1205        
1206        public static final String ROOT_DOCUMENT_TYPE = "KFS";
1207        public static final String FINANCIAL_SYSTEM_TRANSACTIONAL_DOCUMENT = "KFST";
1208        public static final String FINANCIAL_SYSTEM_COMPLEX_MAINTENANCE_DOCUMENT = "KFSM";
1209        public static final String FINANCIAL_SYSTEM_SIMPLE_MAINTENANCE_DOCUMENT = "FSSM";
1210        public static final String FINANCIAL_SYSTEM_LEDGER_ONLY_ROOT_DOCUMENT_TYPE = "FSLO";
1211        
1212        public static class COAConstants{        
1213            public static final String ORG_REVIEW_ROLE_ORG_ACC_ONLY_CODE = "A";
1214            public static final String ORG_REVIEW_ROLE_ORG_ACC_ONLY_TEXT = "Organization Accounting Only";
1215            public static final String ORG_REVIEW_ROLE_ORG_ONLY_CODE = "O";
1216            public static final String ORG_REVIEW_ROLE_ORG_ONLY_TEXT = "Organization Only";
1217            public static final String ORG_REVIEW_ROLE_ORG_ACC_BOTH_CODE = "B";
1218            public static final String ORG_REVIEW_ROLE_ORG_ACC_BOTH_TEXT = "Both";
1219            public static final String ORG_REVIEW_ROLE_CREATE_DELEGATION_DISPLAY_TEXT = "create delegation";
1220    
1221        }
1222        
1223        public static class ReportConstants{
1224            public static final String EMPTY_CELL_ENTRY_KEY_PREFIX = "EMPTY_CELL";
1225            
1226            public static final String TABLE_HEADER_LINE_KEY = "tableHeaderLine";
1227            public static final String SEPARATOR_LINE_KEY = "separatorLine";
1228            public static final String TABLE_CELL_FORMAT_KEY = "tableCellFormat";
1229            public static final String[] FORMAT_ESCAPE_CHARACTERS = new String[]{"%", "\\"};
1230        }
1231        
1232        public static final String REPORT_WRITER_SERVICE_PAGE_NUMBER_PLACEHOLDER = "${pageNumber}";
1233        
1234        public static class SchemaBuilder {
1235            public static final String SCHEMA_FILE_DD_VALIDATION_PLACEHOLDER_BEGIN = "${";
1236            public static final String SCHEMA_FILE_DD_VALIDATION_PLACEHOLDER_END = "}";      
1237            public static final String XSD_VALIDATION_PREFIX = "xsd:";
1238            public static final String DD_VALIDATION_PREFIX = "dd:";
1239        }
1240        
1241        @Deprecated
1242        public static class Research {
1243            public static final String KC_NAMESPACE_URI = "KC";
1244            public static final String KC_BUDGET_CATEGORY_SERVICE = "budgetCategorySoapService";
1245            public static final String KC_UNIT_SERVICE = "institutionalUnitSoapService";
1246        }
1247    }
1248