isValidKFSAccounts(List of (kfsChartCode, kfsAccountCode, effectiveDate))
This service is used to validate KFS account codes. Returns an XML result set with a value of true or false (example isValidKFSAccounts result) for each chart and account
- This is NOT recommended to pass in same value of (kfsChartCode, kfsAccountCode) but with different effectiveDate. An unexpected result maybe returned.
- The order of kfsChartCode, kfsAccountCode, effectiveDate CANNOT be swapped.
- effectiveDate has to be valid. Null will be returned otherwise.
Index | Parameter | Description | Required? | Data Type (max length) | Example |
---|
0 | kfsChartCode | KFS Chart Code | Yes | String(2) | 'IR' |
1 | kfsAcctNumber | KFS Account Number | Yes | String(7) | '1234567' |
2 | effectiveDate | The date the KFS account needs to be valid | No (default is today's date) | String(8) YYYYMMDD | '20120701' (begin fiscal year 2012/2013) |
DB Query
Code Block |
---|
Old:
select distinct
case when not exists (select * FROM dwhs_ods..ca_account_t a where a.account_nbr= '<kfsAccountCode>' AND a.fin_coa_cd= '<kfsChartCode>'
AND a.ACCT_CLOSED_IND <> 'Y' AND ( a.ACCT_EXPIRATION_DT >= getdate() or a.ACCT_EXPIRATION_DT IS NULL)
AND (a.ACCT_EFFECT_DT <= <effectiveDate> ) )
then 'false'
else 'true'
end
New:
SELECT a.FIN_COA_CD, a.ACCOUNT_NBR, 'true' AS VALID FROM dwhs_ods..ca_account_t a WHERE
a.ACCT_CLOSED_IND <> 'Y'
AND ( a.ACCT_EXPIRATION_DT >= getdate() or a.ACCT_EXPIRATION_DT IS NULL)
AND (
(a.account_nbr= '1000766'
AND a.fin_coa_cd= 'IR'
AND a.ACCT_EFFECT_DT <= getdate()) OR
(a.account_nbr= '1000768'
AND a.fin_coa_cd= 'IR'
AND a.ACCT_EFFECT_DT <= convert(datetime,'20100701',112)) OR
(a.account_nbr= '1000767'
AND a.fin_coa_cd= 'IR'
AND a.ACCT_EFFECT_DT <= getdate())
); |
Result Schema: A list of following elements (AccountValidation.java)
Parameter | Description | Data Type | Example |
---|
kfsChartCode | KFS Chart Code | String (2) | 'IR' |
kfsAcctNumber | KFS Account Number | String (7) | '1234567' |
isValid | Is the Chart/Account Active for that effective date (or today)? | boolean | true |
WS Example
Request
Code Block |
---|
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adc="http://www.adcom.uci.edu">
<soapenv:Header/>
<soapenv:Body>
<adc:isValidKFSAccounts>
<kfsAccountList>
<item>IR</item>
<item>1000766</item>
</kfsAccountList>
<kfsAccountList>
<item>IR</item>
<item>1000767</item>
</kfsAccountList>
<kfsAccountList>
<item>IR</item>
<item>1000768</item>
<item>20010701</item>
</kfsAccountList>
<kfsAccountList>
<item>XX</item>
<item>1234</item>
<item>20080101</item>
</kfsAccountList>
</adc:isValidKFSAccounts>
</soapenv:Body>
</soapenv:Envelope> |
Response
Code Block |
---|
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:isValidKFSAccountsResponse xmlns:ns2="http://www.adcom.uci.edu">
<return>
<kfsAcctNumber>1000767</kfsAcctNumber>
<kfsChartCode>IR</kfsChartCode>
<valid>true</valid>
</return>
<return>
<kfsAcctNumber>1000768</kfsAcctNumber>
<kfsChartCode>IR</kfsChartCode>
<valid>false</valid>
</return>
<return>
<kfsAcctNumber>1234</kfsAcctNumber>
<kfsChartCode>XX</kfsChartCode>
<valid>false</valid>
</return>
<return>
<kfsAcctNumber>1000766</kfsAcctNumber>
<kfsChartCode>IR</kfsChartCode>
<valid>true</valid>
</return>
</ns2:isValidKFSAccountsResponse>
</soap:Body>
</soap:Envelope> |
Java Client Example
Code Block |
---|
DWHServerService dss = new DWHServerService();
DWHServer ds = dss.getDWHServerPortCustom();
StringArray sa20 = new StringArray();
sa20.getItem().add("IR");
sa20.getItem().add("1000766");
StringArray sa21 = new StringArray();
sa21.getItem().add("IR");
sa21.getItem().add("1000767");
StringArray sa22 = new StringArray();
sa22.getItem().add("IR");
sa22.getItem().add("1000768");
sa22.getItem().add("20090701");
StringArray sa23 = new StringArray();
sa23.getItem().add("XX");
sa23.getItem().add("1234");
sa23.getItem().add("20130321");
List<AccountValidation> resultList2 = ds.isValidKFSAccounts(Arrays.asList(sa20, sa21, sa22, sa23));
if (resultList2 != null) {
for (Iterator i = resultList2.iterator(); i.hasNext();) {
AccountValidation element = (AccountValidation)i.next();
System.out.println("\t" + element.getKfsChartCode() + "/" + element.getKfsAcctNumber() + " : " + element.isValid());
}
} else {
System.out.println("something bad happened...please check your query");
} |
...
isValidKFSExpenseAccounts(List of (kfsChartCode, kfsAccountCode, effectiveDate))
This service is used to validate KFS chart and expense account codes. Returns an XML result set with a value of true or false for each chart/account
- This is NOT recommended to pass in same value of (kfsChartCode, kfsAccountCode) but with different effectiveDate. An unexpected result maybe returned.
- The order of kfsChartCode, kfsAccountCode, effectiveDate CANNOT be swapped.
- effectiveDate has to be valid. Null will be returned otherwise.
Index | Parameter | Description | Required? | Data Type (max length) | Example |
---|
0 | kfsChartCode | KFS Chart Code | Yes | String (2) | 'IR' |
1 | kfsAcctNumber | KFS Account Number | Yes | String(7) | '1234567' |
2 | effectiveDate | Date the KFS account needs to be valid | No (default is today's date) | String(8) YYYYMMDD | '20120701' (begin fiscal year 2012/2013) |
DB Query
Code Block |
---|
Old:
select distinct
case when not exists (select * FROM dwhs_ods..ca_account_t a where a.account_nbr= '<kfsAccountCode>' AND a.fin_coa_cd= '<kfsChartCode>'
AND a.ACCT_CLOSED_IND <> 'Y' AND ( a.ACCT_EXPIRATION_DT >= getdate() or a.ACCT_EXPIRATION_DT IS NULL)
AND (a.ACCT_EFFECT_DT <= <effectiveDate> ) AND a.ACCT_TYP_CD = 'EX')
then 'false'
else 'true'
end
New:
SELECT a.FIN_COA_CD, a.ACCOUNT_NBR,'true' AS VALID FROM dwhs_ods..ca_account_t a WHERE
a.ACCT_CLOSED_IND <> 'Y' AND
(a.ACCT_EXPIRATION_DT >= getdate() OR a.ACCT_EXPIRATION_DT IS NULL) AND
a.ACCT_TYP_CD = 'EX' AND
(
(a.ACCOUNT_NBR= '1000766' AND
a.FIN_COA_CD= 'IR' AND
a.ACCT_EFFECT_DT <= convert(datetime,'20100701',112)) OR
(a.ACCOUNT_NBR= '1008543' AND
a.FIN_COA_CD= 'IR' AND
a.ACCT_EFFECT_DT <= getdate())
); |
Result Schema: A list of following elements (AccountValidation.java)
chart code, account code and true or false
Parameter | Description | Data Type | Example |
---|
kfsChartCode | KFS Chart Code | String (2) | 'IR' |
kfsAcctNumber | KFS Account Number | String (7) | '1234567' |
isValid | Is the Chart/Account Active for that effective date (or today)? | boolean | true |
WS Example
Request
Code Block |
---|
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adc="http://www.adcom.uci.edu">
<soapenv:Header/>
<soapenv:Body>
<adc:isValidKFSExpenseAccounts>
<kfsAccountList>
<item>IR</item>
<item>1000766</item>
</kfsAccountList>
<kfsAccountList>
<item>IR</item>
<item>1008543</item>
<item>20110701</item>
</kfsAccountList>
<kfsAccountList>
<item>XX</item>
<item>1234</item>
<item>20110321</item>
</kfsAccountList>
</adc:isValidKFSExpenseAccounts>
</soapenv:Body>
</soapenv:Envelope> |
Response
Code Block |
---|
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:isValidKFSExpenseAccountsResponse xmlns:ns2="http://www.adcom.uci.edu">
<return>
<kfsAcctNumber>1008543</kfsAcctNumber>
<kfsChartCode>IR</kfsChartCode>
<valid>true</valid>
</return>
<return>
<kfsAcctNumber>1234</kfsAcctNumber>
<kfsChartCode>XX</kfsChartCode>
<valid>false</valid>
</return>
<return>
<kfsAcctNumber>1000766</kfsAcctNumber>
<kfsChartCode>IR</kfsChartCode>
<valid>false</valid>
</return>
</ns2:isValidKFSExpenseAccountsResponse>
</soap:Body>
</soap:Envelope> |
Java Client Example
Code Block |
---|
DWHServerService dss = new DWHServerService();
DWHServer ds = dss.getDWHServerPortCustom();
StringArray sa30 = new StringArray();
sa30.getItem().add("IR");
sa30.getItem().add("1000766");
StringArray sa31 = new StringArray();
sa31.getItem().add("IR");
sa31.getItem().add("1008543");
sa31.getItem().add("20110701");
StringArray sa32 = new StringArray();
sa32.getItem().add("XX");
sa32.getItem().add("1234");
sa32.getItem().add("20110321");
List<AccountValidation> resultList3 = ds.isValidKFSExpenseAccounts(Arrays.asList(sa30, sa31,sa32));
if (resultList3 != null) {
for (Iterator i = resultList3.iterator(); i.hasNext();) {
AccountValidation element = (AccountValidation)i.next();
System.out.println("\t" + element.getKfsChartCode() + "/" + element.getKfsAcctNumber() + " : " + element.isValid());
}
} else {
System.out.println("something bad happened...please check your query");
} |
...
getValidKFSAccounts(List of (kfsChartCode, kfsAccountCode))
This service is used retrieve valid KFS account and related attributes. Returns an XML result set with a list of accounts (example getAllValidKFSAccounts result).
Index | Parameter | Description | Required? | Data Type (max length) | Example |
---|
0 | kfsChartCode | KFS Chart Code | Yes | String (2) | 'IR' |
1 | kfsAcctNumber | KFS Account Number | Yes | String (7) | '1234567' |
DB Query
Code Block |
---|
SELECT a.FIN_COA_CD
,a.ACCOUNT_NBR
,a.ACCOUNT_NM
,a.ACCT_FSC_OFC_UID
,a.ACCT_SPVSR_UNVL_ID
,a.ACCT_MGR_UNVL_ID
,a.ORG_CD
,a.ACCT_TYP_CD
,a.ACCT_PHYS_CMP_CD
,a.SUB_FUND_GRP_CD
,a.ACCT_FRNG_BNFT_CD
,a.FIN_HGH_ED_FUNC_CD
,a.ACCT_RSTRC_STAT_CD
,a.ACCT_RSTRC_STAT_DT
,a.ACCT_CITY_NM
,a.ACCT_STATE_CD
,a.ACCT_STREET_ADDR
,a.ACCT_ZIP_CD
,a.RPTS_TO_FIN_COA_CD
,a.RPTS_TO_ACCT_NBR
,a.ACCT_CREATE_DT
,a.ACCT_EFFECT_DT
,a.ACCT_EXPIRATION_DT
,a.CONT_FIN_COA_CD
,a.CONT_ACCOUNT_NBR
,a.ENDOW_FIN_COA_CD
,a.ENDOW_ACCOUNT_NBR
,a.CONTR_CTRL_FCOA_CD
,a.CONTR_CTRLACCT_NBR
,a.INCOME_FIN_COA_CD
,a.INCOME_ACCOUNT_NBR
,a.ACCT_ICR_TYP_CD
,a.AC_CSTM_ICREXCL_CD
,a.FIN_SERIES_ID
,a.ICR_FIN_COA_CD
,a.ICR_ACCOUNT_NBR
,a.ACCT_IN_FP_CD
,a.BDGT_REC_LVL_CD
,a.ACCT_SF_CD
,a.ACCT_PND_SF_CD
,a.FIN_EXT_ENC_SF_CD
,a.FIN_INT_ENC_SF_CD
,a.FIN_PRE_ENC_SF_CD
,a.FIN_OBJ_PRSCTRL_CD
,a.CG_CFDA_NBR
,a.ACCT_OFF_CMP_IND
,a.ACCT_CLOSED_IND
,CG_ACCT_RESP_ID
,b.UC_LOC_CD
,b.UC_ACCT_NBR
,b.UC_FUND_NBR
,b.UCI_CAPITAL_CAT_CD
FROM ca_account_t a
JOIN ca_account_ext_t b on (a.FIN_COA_CD = b.FIN_COA_CD and a.ACCOUNT_NBR = b.ACCOUNT_NBR)
WHERE
a.ACCT_CLOSED_IND <> 'Y'
AND (a.ACCT_EXPIRATION_DT >= getdate() or a.ACCT_EXPIRATION_DT IS NULL)
AND a.ACCT_EFFECT_DT <= GETDATE()
AND ((a.FIN_COA_CD='<kfsChartCode1>' AND ACCOUNT_NBR='<kfsAccountCode1>') OR
(a.FIN_COA_CD='<kfsChartCode2>' AND ACCOUNT_NBR='<kfsAccountCode2>') OR
. . . etc
)
|
Result Schema: A list of following elements (AccountDetails.java)
DB Parameter | Java Parameter | Description | Data Type | Example |
---|
FIN_COA_CD | kfsChartCode | KFS Chart Code | String (2) | 'IR' |
ACCOUNT_NBR | kfsAcctNumber | KFS Account Number | String (7) | '1234567' |
ACCOUNT_NM | kfsAcctName | KFS Account Name | String (40) | |
ACCT_FSC_OFC_UID | kfsAcctFiscalOfficerId | KFS Account Fiscal Officer ID | String | |
ACCT_SPVSR_UNVL_ID | kfsAcctSupervisorId | KFS Account Supervisor ID | String | |
ACCT_MGR_UNVL_ID | kfsAcctManagerId | KFS Account Manager ID | String | |
ORG_CD | kfsOrgCode | KFS Organization Code | String | |
ACCT_TYP_CD | kfsAcctTypeCode | KFS Account Type Code | String | |
ACCT_PHYS_CMP_CD | kfsAcctCampusCode | KFS Account Campus Code | String | |
SUB_FUND_GRP_CD | kfsSubFundCode | KFS Sub Fund Group Code | String | |
ACCT_FRNG_BNFT_CD | kfsAcctFringeBenefitCode | KFS Account Fringe Benefit Code | String | |
FIN_HGH_ED_FUNC_CD | kfsHigherEduFundCode | KFS Higher Education Function Code | String | |
ACCT_RSTRC_STAT_CD | kfsAcctRestrictedCode | KFS Account Restricted Status Code | String | |
ACCT_RSTRC_STAT_DT | kfsAcctRestrictedDate | KFS Account Restricted Status Date | String | |
ACCT_CITY_NM | kfsAcctCity | KFS Account City Name | String | |
ACCT_STATE_CD | kfsAcctState | KFS Account State Code | String | |
ACCT_STREET_ADDR | kfsAcctAddress | KFS Account Street Address | String | |
ACCT_ZIP_CD | kfsAcctZip | KFS Account Zip Code | String | |
RPTS_TO_FIN_COA_CD | kfsReportToChartCode | KFS Reports To Chart Code | String | |
RPTS_TO_ACCT_NBR | kfsReportToAcctNumber | KFS Reports To Account Number | String | |
ACCT_CREATE_DT | kfsAcctCreateDate | KFS Account Create Date | String | |
ACCT_EFFECT_DT | kfsAcctEffectiveDate | KFS Account Effective Date | String | |
ACCT_EXPIRATION_DT | kfsAcctExpDate | KFS Account Expiration Date | String | |
CONT_FIN_COA_CD | kfsContChartCode | KFS Continuation Chart Code | String | |
CONT_ACCOUNT_NBR | kfsContAcctNumber | KFS Continuation Account Number | String | |
ENDOW_FIN_COA_CD | kfsEndowChartCode | KFS Endowment Chart Code | String | |
ENDOW_ACCOUNT_NBR | kfsEndowAcctNumber | KFS Endowment Account Number | String | |
CONTR_CTRL_FCOA_CD | kfsCandGChartCode | KFS C&G Control Chart Code | String | |
CONTR_CTRLACCT_NBR | kfsCandGAcctNumber | KFS C&G Control Account Number | String | |
INCOME_FIN_COA_CD | kfsIncomeChartCode | KFS Income Stream Chart Code | String | |
INCOME_ACCOUNT_NBR | kfsIncomeAcctNumber | KFS Income Stream Account Number | String | |
ACCT_ICR_TYP_CD | kfsICRTypeCode | KFS ICR Type Code | String | |
AC_CSTM_ICREXCL_CD | kfsCustomICRCode | KFS Custom ICR Code | String | |
FIN_SERIES_ID | kfsICRRateCode | KFS ICR Rate Code | String | |
ICR_FIN_COA_CD | kfsICRChartCode | KFS ICR Credit Chart Code | String | |
ICR_ACCOUNT_NBR | kfsICRAcctNumber | KFS ICR Credit Account Number | String | |
ACCT_IN_FP_CD | kfsTPSFCode | KFS Transaction Processing Sufficient Funds Check Code | String | |
BDGT_REC_LVL_CD | kfsBudgetLevelCode | KFS Budget Recording Level Code | String | |
ACCT_SF_CD | kfsAcctSFCode | KFS Account Sufficient Fund Check Code | String | |
ACCT_PND_SF_CD | kfsAcctPSFCode | KFS Account Pending Sufficient Fund Check Code | String | |
FIN_EXT_ENC_SF_CD | kfsEESFCode | KFS External Encumbrance Sufficient Fund Check Code | String | |
FIN_INT_ENC_SF_CD | kfsIESFCode | KFS Internal Encumbrance Sufficient Fund Check Code | String | |
FIN_PRE_ENC_SF_CD | kfsPESFCode | KFS Pre-Encumbrance Sufficient Fund Check Code | String | |
FIN_OBJ_PRSCTRL_CD | kfsObjPCCode | KFS Object Presence Control Code | String | |
CG_CFDA_NBR | kfsCGCFDANumber | KFS CG CFDA number | String | |
ACCT_OFF_CMP_IND | kfsAcctOffCampusCode | KFS Account Off Campus Indicator Code | String | |
ACCT_CLOSED_IND | kfsAcctClosedCode | KFS Account Closed Indicator Code | String | |
CG_ACCT_RESP_ID | kfsAcctRespId | KFS Account Responsibility ID | String | |
UC_LOC_CD | ucLocationCode | FS Location Code (legacy) | String(1) | |
UC_ACCT_NBR | ucAccountCode | FS Account Code (legacy) | String(6) | |
UC_FUND_NBR | ucFundCode | FS Fund Code (legacy) | String(5) | |
WS Example
Request
Code Block |
---|
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adc="http://www.adcom.uci.edu">
<soapenv:Header/>
<soapenv:Body>
<adc:getValidKFSAccounts>
<kfsAccountList>
<item>IR</item>
<item>1000766</item>
</kfsAccountList>
<kfsAccountList>
<item>IR</item>
<item>1008543</item>
</kfsAccountList>
<kfsAccountList>
<item>XX</item>
<item>1234</item>
</kfsAccountList>
<kfsAccountList>
<item>IR</item>
<item>1234567</item>
</kfsAccountList>
</adc:getValidKFSAccounts>
</soapenv:Body>
</soapenv:Envelope> |
Response
Code Block |
---|
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getValidKFSAccountsResponse xmlns:ns2="http://www.adcom.uci.edu">
<return>
<kfsAcctAddress>Campus Dr</kfsAcctAddress>
<kfsAcctCampusCode>IR</kfsAcctCampusCode>
<kfsAcctCity>Irvine</kfsAcctCity>
<kfsAcctClosedCode>N</kfsAcctClosedCode>
<kfsAcctCreateDate>2012-05-13</kfsAcctCreateDate>
<kfsAcctEffectiveDate>2011-07-01</kfsAcctEffectiveDate>
<kfsAcctFringeBenefitCode>Y</kfsAcctFringeBenefitCode>
<kfsAcctManagerId>000000066894</kfsAcctManagerId>
<kfsAcctName>CA-BOA- CAMPUS - 1233-12007 110001-18888</kfsAcctName>
<kfsAcctNumber>1000766</kfsAcctNumber>
<kfsAcctOffCampusCode>N</kfsAcctOffCampusCode>
<kfsAcctPSFCode>N</kfsAcctPSFCode>
<kfsAcctRestrictedCode>U</kfsAcctRestrictedCode>
<kfsAcctSFCode>N</kfsAcctSFCode>
<kfsAcctState>CA</kfsAcctState>
<kfsAcctSupervisorId>000000960010</kfsAcctSupervisorId>
<kfsAcctTypeCode>BS</kfsAcctTypeCode>
<kfsAcctZip>92697</kfsAcctZip>
<kfsBudgetLevelCode>C</kfsBudgetLevelCode>
<kfsCandGAcctNumber>9975430</kfsCandGAcctNumber>
<kfsCandGChartCode>MC</kfsCandGChartCode>
<kfsChartCode>IR</kfsChartCode>
<kfsContAcctNumber>0</kfsContAcctNumber>
<kfsContChartCode>0</kfsContChartCode>
<kfsEESFCode>N</kfsEESFCode>
<kfsEndowChartCode>0</kfsEndowChartCode>
<kfsFringeBenefitAcct>0</kfsFringeBenefitAcct>
<kfsFringeBenefitChart>0</kfsFringeBenefitChart>
<kfsHigherEduFundCode>NA</kfsHigherEduFundCode>
<kfsICRTypeCode>0</kfsICRTypeCode>
<kfsIESFCode>N</kfsIESFCode>
<kfsIncomeAcctNumber>0</kfsIncomeAcctNumber>
<kfsIncomeChartCode>0</kfsIncomeChartCode>
<kfsObjPCCode>N</kfsObjPCCode>
<kfsOrgCode>0922</kfsOrgCode>
<kfsPESFCode>N</kfsPESFCode>
<kfsSubFundCode>STC&G</kfsSubFundCode>
<kfsTPSFCode>Y</kfsTPSFCode>
<ucAccountCode>110001</ucAccountCode>
<ucFundCode>18888</ucFundCode>
<ucLocationCode>9</ucLocationCode>
</return>
<return>
<kfsAcctAddress>Campus Dr</kfsAcctAddress>
<kfsAcctCampusCode>IR</kfsAcctCampusCode>
<kfsAcctCity>Irvine</kfsAcctCity>
<kfsAcctClosedCode>N</kfsAcctClosedCode>
<kfsAcctCreateDate>2012-05-13</kfsAcctCreateDate>
<kfsAcctEffectiveDate>2011-07-01</kfsAcctEffectiveDate>
<kfsAcctFiscalOfficerId>000000061717</kfsAcctFiscalOfficerId>
<kfsAcctFringeBenefitCode>Y</kfsAcctFringeBenefitCode>
<kfsAcctManagerId>000000121170</kfsAcctManagerId>
<kfsAcctName>MERAGE/DEAN'S OFFICE/EDUCAT 400100-09535</kfsAcctName>
<kfsAcctNumber>1008543</kfsAcctNumber>
<kfsAcctOffCampusCode>N</kfsAcctOffCampusCode>
<kfsAcctPSFCode>N</kfsAcctPSFCode>
<kfsAcctRestrictedCode>U</kfsAcctRestrictedCode>
<kfsAcctSFCode>N</kfsAcctSFCode>
<kfsAcctState>CA</kfsAcctState>
<kfsAcctSupervisorId>000000082229</kfsAcctSupervisorId>
<kfsAcctTypeCode>EX</kfsAcctTypeCode>
<kfsAcctZip>92697</kfsAcctZip>
<kfsBudgetLevelCode>C</kfsBudgetLevelCode>
<kfsCandGAcctNumber>9975430</kfsCandGAcctNumber>
<kfsCandGChartCode>MC</kfsCandGChartCode>
<kfsChartCode>IR</kfsChartCode>
<kfsContAcctNumber>0</kfsContAcctNumber>
<kfsContChartCode>0</kfsContChartCode>
<kfsEESFCode>N</kfsEESFCode>
<kfsEndowChartCode>0</kfsEndowChartCode>
<kfsFringeBenefitAcct>0</kfsFringeBenefitAcct>
<kfsFringeBenefitChart>0</kfsFringeBenefitChart>
<kfsHigherEduFundCode>INST</kfsHigherEduFundCode>
<kfsICRTypeCode>0</kfsICRTypeCode>
<kfsIESFCode>N</kfsIESFCode>
<kfsIncomeAcctNumber>0</kfsIncomeAcctNumber>
<kfsIncomeChartCode>0</kfsIncomeChartCode>
<kfsObjPCCode>N</kfsObjPCCode>
<kfsOrgCode>0049</kfsOrgCode>
<kfsPESFCode>N</kfsPESFCode>
<kfsSubFundCode>OPPFNO</kfsSubFundCode>
<kfsTPSFCode>Y</kfsTPSFCode>
<ucAccountCode>400100</ucAccountCode>
<ucFundCode>09535</ucFundCode>
<ucLocationCode>9</ucLocationCode>
</return>
</ns2:getValidKFSAccountsResponse>
</soap:Body>
</soap:Envelope> |
Java Client Example
Code Block |
---|
DWHServerService dss = new DWHServerService();
DWHServer ds = dss.getDWHServerPortCustom();
StringArray sa40 = new StringArray();
sa40.getItem().add("IR");
sa40.getItem().add("1000766");
StringArray sa41 = new StringArray();
sa41.getItem().add("IR");
sa41.getItem().add("1008543");
StringArray sa42 = new StringArray();
sa42.getItem().add("XX");
sa42.getItem().add("1234");
StringArray sa43 = new StringArray();
sa43.getItem().add("IR");
sa43.getItem().add("1234567");
List<AccountDetails> resultList4 = ds.getValidKFSAccounts(Arrays.asList(sa40, sa41,sa42,sa43));
if (resultList4 != null) {
for (Iterator i = resultList4.iterator(); i.hasNext();) {
AccountDetails element = (AccountDetails)i.next();
System.out.println("\t" + element.getKfsChartCode() + "/" + element.getKfsAcctNumber() + " : " + element.getKfsAcctName());
}
} else {
System.out.println("something bad happened...please check your query");
} |
...
getAllKFSAccounts()
No input parameter, ALL active KFS account details will be returned in result set.
...
The best practice is using getAllKFSAccountsPK() and getValidKFSAccount() combined. Please see example in getAllKFSAccountsPK() section.
DB Query
Code Block |
---|
SELECT a.FIN_COA_CD
,a.ACCOUNT_NBR
,a.ACCOUNT_NM
,a.ACCT_FSC_OFC_UID
,a.ACCT_SPVSR_UNVL_ID
,a.ACCT_MGR_UNVL_ID
,a.ORG_CD
,a.ACCT_TYP_CD
,a.ACCT_PHYS_CMP_CD
,a.SUB_FUND_GRP_CD
,a.ACCT_FRNG_BNFT_CD
,a.FIN_HGH_ED_FUNC_CD
,a.ACCT_RSTRC_STAT_CD
,a.ACCT_RSTRC_STAT_DT
,a.ACCT_CITY_NM
,a.ACCT_STATE_CD
,a.ACCT_STREET_ADDR
,a.ACCT_ZIP_CD
,a.RPTS_TO_FIN_COA_CD
,a.RPTS_TO_ACCT_NBR
,a.ACCT_CREATE_DT
,a.ACCT_EFFECT_DT
,a.ACCT_EXPIRATION_DT
,a.CONT_FIN_COA_CD
,a.CONT_ACCOUNT_NBR
,a.ENDOW_FIN_COA_CD
,a.ENDOW_ACCOUNT_NBR
,a.CONTR_CTRL_FCOA_CD
,a.CONTR_CTRLACCT_NBR
,a.INCOME_FIN_COA_CD
,a.INCOME_ACCOUNT_NBR
,a.ACCT_ICR_TYP_CD
,a.AC_CSTM_ICREXCL_CD
,a.FIN_SERIES_ID
,a.ICR_FIN_COA_CD
,a.ICR_ACCOUNT_NBR
,a.ACCT_IN_FP_CD
,a.BDGT_REC_LVL_CD
,a.ACCT_SF_CD
,a.ACCT_PND_SF_CD
,a.FIN_EXT_ENC_SF_CD
,a.FIN_INT_ENC_SF_CD
,a.FIN_PRE_ENC_SF_CD
,a.FIN_OBJ_PRSCTRL_CD
,a.CG_CFDA_NBR
,a.ACCT_OFF_CMP_IND
,a.ACCT_CLOSED_IND
,CG_ACCT_RESP_ID
,b.UC_LOC_CD
,b.UC_ACCT_NBR
,b.UC_FUND_NBR
,b.UCI_CAPITAL_CAT_CD
FROM ca_account_t a
JOIN ca_account_ext_t b on (a.FIN_COA_CD = b.FIN_COA_CD and a.ACCOUNT_NBR = b.ACCOUNT_NBR)
WHERE
a.ACCT_CLOSED_IND <> 'Y'
AND (a.ACCT_EXPIRATION_DT >= getdate() or a.ACCT_EXPIRATION_DT IS NULL)
AND (a.ACCT_EFFECT_DT <= GETDATE())
|
Result Schema: SAME as getValidKFSAccounts
WS Example
Request
Code Block |
---|
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adc="http://www.adcom.uci.edu">
<soapenv:Header/>
<soapenv:Body>
<adc:getAllKFSAccounts/>
</soapenv:Body>
</soapenv:Envelope> |
Response (See getValidKFSAccounts)
Java Client Example
Code Block |
---|
DWHServerService dss = new DWHServerService();
DWHServer ds = dss.getDWHServerPortCustom();
List<AccountDetails> resultList5 = ds.getAllKFSAccounts();
if (resultList5 != null) {
//for (Iterator i = resultList5.iterator(); i.hasNext();) {
// AccountDetails element = (AccountDetails)i.next();
// System.out.println("Result List key: " + element.toString());
//}
System.out.println("total size: " + resultList5.size());
System.out.println("the 1st item ChartCode / AcctNumber: " + (AccountDetails)resultList5.get(0)).getKfsChartCode() + " / " + ((AccountDetails)resultList5.get(0)).getKfsAcctNumber());
} else {
System.out.println("something bad happened...please check your query");
} |
...
getAllKFSAccountsPK()
No input parameter, ALL active KFS account with chart code and account number only will be returned in result set.
DB Query
Code Block |
---|
SELECT a.FIN_COA_CD,a.ACCOUNT_NBR
FROM ca_account_t a
LEFT OUTER JOIN ca_account_ext_t b on (a.FIN_COA_CD = b.FIN_COA_CD and a.ACCOUNT_NBR = b.ACCOUNT_NBR)
WHERE
a.ACCT_CLOSED_IND <> 'Y'
AND (a.ACCT_EXPIRATION_DT >= getdate() or a.ACCT_EXPIRATION_DT IS NULL)
AND (a.ACCT_EFFECT_DT <= GETDATE()) |
Result Schema: SAME as getValidKFSAccounts
WS Example
Request
Code Block |
---|
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adc="http://www.adcom.uci.edu">
<soapenv:Header/>
<soapenv:Body>
<adc:getAllKFSAccountsPK/>
</soapenv:Body>
</soapenv:Envelope> |
Response
Code Block |
---|
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:getAllKFSAccountsPKResponse xmlns:ns2="http://www.adcom.uci.edu">
<return>
<kfsAcctNumber>1067496</kfsAcctNumber>
<kfsChartCode>IR</kfsChartCode>
</return>
<return>
<kfsAcctNumber>1067497</kfsAcctNumber>
<kfsChartCode>IR</kfsChartCode>
</return>
<return>
<kfsAcctNumber>1067498</kfsAcctNumber>
<kfsChartCode>IR</kfsChartCode>
</return>
...
...
</ns2:getAllKFSAccountsPKResponse>
</soap:Body>
</soap:Envelope> |
Java Client Example
Code Block |
---|
// get all the accounts primary key
List<AccountDetails> resultList7 = ds.getAllKFSAccountsPK();
if (resultList7 != null) {
StringArray sa70 = new StringArray();
// get details for each KFSAccount in a chunk of 1000
for (int i = 0; i < resultList7.size(); i++) {
if (i != 0 && i % 1000 == 0) {
start71 = System.currentTimeMillis();
List<AccountDetails> resultList70 = ds.getValidKFSAccounts(Arrays.asList(sa70));
// do whatever with the 1000 records in resultList70
System.out.println("1st item details, acctname: " + resultList70.get(0).getKfsAcctName() + ", addr: " + resultList70.get(0).getKfsAcctAddress());
// once hit multiple of 1000, reset argument list
sa70 = new StringArray();
} else {
// building arguments for getValidKFSAccounts
sa70.getItem().add(resultList7.get(i).getKfsChartCode());
sa70.getItem().add(resultList7.get(i).getKfsAcctNumber());
}
}
} else {
System.out.println("something bad happened...please check your query");
} |
...
translateFSAccountFunds(List of (fsLocationCode, fsAccountCode, fsFundCode))
This service is used to translate legacy FS accounts to KFS account codes. Returns an XML result set with a KFS chart/account (example isValidKFSAccounts result) for each FS location/account
Index | Parameter | Description | Required? | Data Type (max length) |
---|
0 | fsLocationCode | The FS location code | Yes | String (2) |
1 | fsAccountCode | The FS accounts code | Yes | String (6) |
2 | fsFundCode | The FS fund code | Yes | String (5) |
DB Query
Code Block |
---|
Old:
SELECT a.fin_coa_cd,
a.account_nbr,
FROM KFSINT.UCI_CA_ACCOUNT_XW_T a
WHERE a.ACTIVE_IND <> 'N'
AND a.UC_LOC_CD = 'pLocationCode'
AND a.UC_ACCT_NBR = 'pAccountCode'
AND a.UC_FUND_NBR = 'pFundCode'
New:
SELECT a.UC_LOC_CD, UC_ACCT_NBR, a.UC_FUND_NBR, a.FIN_COA_CD, a.ACCOUNT_NBR
FROM UCI_CA_ACCOUNT_XW_T a
WHERE a.ACTIVE_IND <> 'N'AND
(
(a.UC_LOC_CD = '9' AND a.UC_ACCT_NBR = '110001' AND a.UC_FUND_NBR = '18888') OR
(a.UC_LOC_CD = '9' AND a.UC_ACCT_NBR = '111200' AND a.UC_FUND_NBR = '18213') OR
(a.UC_LOC_CD = '9' AND a.UC_ACCT_NBR = '111200' AND a.UC_FUND_NBR = '182')
); |
Result Schema: A list of following elements (FS2KFSAccountDetails.java)
Parameter | Description | Data Type | Example |
---|
fsLocationCode | The FS location code | String (2) | 9 |
fsAccountCode | The FS accounts code | String (6) | 110001 |
fsFundCode | The FS fund code | String (5) | 111200 |
kfsChartCode | KFS Chart Code | String (2) | 'IR' |
kfsAcctNumber | KFS Account Number | String (7) | '1234567' |
WS Example
Request
Code Block |
---|
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:adc="http://www.adcom.uci.edu">
<soapenv:Header/>
<soapenv:Body>
<adc:translateFSAccountFunds>
<fsAccountList>
<item>9</item>
<item>110001</item>
<item>18888</item>
</fsAccountList>
<fsAccountList>
<item>9</item>
<item>111200</item>
<item>18213</item>
</fsAccountList>
<fsAccountList>
<item>9</item>
<item>111200</item>
<item>182</item>
</fsAccountList>
</adc:translateFSAccountFunds>
</soapenv:Body>
</soapenv:Envelope> |
Response
Code Block |
---|
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<ns2:translateFSAccountFundsResponse xmlns:ns2="http://www.adcom.uci.edu">
<return>
<fsAccountCode>110001</fsAccountCode>
<fsFundCode>18888</fsFundCode>
<fsLocationCode>9</fsLocationCode>
<kfsAcctNumber>1000766</kfsAcctNumber>
<kfsChartCode>IR</kfsChartCode>
</return>
<return>
<fsAccountCode>111200</fsAccountCode>
<fsFundCode>18213</fsFundCode>
<fsLocationCode>9</fsLocationCode>
<kfsAcctNumber>1000785</kfsAcctNumber>
<kfsChartCode>IR</kfsChartCode>
</return>
</ns2:translateFSAccountFundsResponse>
</soap:Body>
</soap:Envelope> |
Java Client Example
Code Block |
---|
DWHServerService dss = new DWHServerService();
DWHServer ds = dss.getDWHServerPortCustom();
StringArray sa60 = new StringArray();
sa60.getItem().add("9");
sa60.getItem().add("110001");
sa60.getItem().add("18888");
StringArray sa61 = new StringArray();
sa61.getItem().add("9");
sa61.getItem().add("111200");
sa61.getItem().add("18213");
StringArray sa62 = new StringArray();
sa62.getItem().add("9");
sa62.getItem().add("111200");
sa62.getItem().add("182");
List<Fs2KFSAccountDetails> resultList6 = ds.translateFSAccountFunds(Arrays.asList(sa60,sa61,sa62));
if (resultList6 != null) {
for (Iterator i = resultList6.iterator(); i.hasNext();) {
Fs2KFSAccountDetails element = (Fs2KFSAccountDetails)i.next();
System.out.println("\t" + element.getFsLocationCode() + "/" + element.getFsAccountCode() + "/" + element.getFsFundCode() + " : " + element.getKfsChartCode() + "/" + element.getKfsAcctNumber());
}
} else {
System.out.println("something bad happened...please check your query");
} |
...