Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
DWHServerService dss = new DWHServerService();
DWHServer ds = dss.getDWHServerPort();

ArrayList<AccountParameters> pl3 = new ArrayList<AccountParameters>();
AccountParameters ap31 = new AccountParameters();
ap31.setKfsChartCode("IR");
ap31.setKfsAcctNumber("1000766");
AccountParameters ap32 = new AccountParameters();
ap32.setKfsChartCode("IR");
ap32.setKfsAcctNumber("1008543");
AccountParameters ap33 = new AccountParameters();
ap33.setKfsChartCode("XX");
ap33.setKfsAcctNumber("1234");
AccountParameters ap34 = new AccountParameters();
ap34.setKfsChartCode("XX");
ap34.setKfsAcctNumber("1234576");
pl3.add(ap31);
pl3.add(ap32);
pl3.add(ap33);
pl3.add(ap34);
List<AccountDetails> resultList5 = ds.getValidKFSAccounts(pl3);
if (resultList5 != null) {
	for (Iterator i = resultList5.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");
}

getAllKFSChildAccounts(kfsChartCode, kfsOrgCode))

This service is used retrieve valid KFS account and related attributes. Returns an XML result set with a list of accounts (example getAllValidKFSAccounts result). 

Input Specifications

IndexParameterDescriptionRequired?Data Type (max length)Example
0kfsChartCodeKFS Chart CodeYesString (2)'IR'
1kfsAcctNumberKFS Account NumberYesString (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
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()
  AND ((a.FIN_COA_CD='<kfsChartCode1>' AND ACCOUNT_NBR='<kfsAcctNumber1>') OR 
       (a.FIN_COA_CD='<kfsChartCode2>' AND ACCOUNT_NBR='<kfsAcctNumber2>') OR
       . . . etc
      )
 

Result Schema: A list of following elements (AccountDetails.java)

DB ParameterJava ParameterDescriptionData TypeExample
FIN_COA_CDkfsChartCodeKFS Chart CodeString (2)'IR'
ACCOUNT_NBRkfsAcctNumberKFS Account NumberString (7)

'1234567'

ACCOUNT_NMkfsAcctNameKFS Account NameString (40) 
ACCT_FSC_OFC_UIDkfsAcctFiscalOfficerIdKFS Account Fiscal Officer IDString  
ACCT_SPVSR_UNVL_IDkfsAcctSupervisorIdKFS Account Supervisor IDString  
ACCT_MGR_UNVL_IDkfsAcctManagerIdKFS Account Manager IDString  
ORG_CDkfsOrgCodeKFS Organization CodeString  
ACCT_TYP_CDkfsAcctTypeCodeKFS Account Type CodeString  
ACCT_PHYS_CMP_CDkfsAcctCampusCodeKFS Account Campus CodeString  
SUB_FUND_GRP_CDkfsSubFundCodeKFS Sub Fund Group CodeString  
ACCT_FRNG_BNFT_CDkfsAcctFringeBenefitCodeKFS Account Fringe Benefit CodeString  
FIN_HGH_ED_FUNC_CDkfsHigherEduFundCodeKFS Higher Education Function CodeString  
ACCT_RSTRC_STAT_CDkfsAcctRestrictedCodeKFS Account Restricted Status CodeString  
ACCT_RSTRC_STAT_DTkfsAcctRestrictedDateKFS Account Restricted Status DateString  
ACCT_CITY_NMkfsAcctCityKFS Account City NameString  
ACCT_STATE_CDkfsAcctStateKFS Account State CodeString  
ACCT_STREET_ADDRkfsAcctAddressKFS Account Street AddressString  
ACCT_ZIP_CDkfsAcctZipKFS Account Zip CodeString  
RPTS_TO_FIN_COA_CDkfsReportToChartCodeKFS Reports To Chart CodeString  
RPTS_TO_ACCT_NBRkfsReportToAcctNumberKFS Reports To Account NumberString  
ACCT_CREATE_DTkfsAcctCreateDateKFS Account Create DateString  
ACCT_EFFECT_DTkfsAcctEffectiveDateKFS Account Effective DateString  
ACCT_EXPIRATION_DTkfsAcctExpDateKFS Account Expiration DateString  
CONT_FIN_COA_CDkfsContChartCodeKFS Continuation Chart CodeString  
CONT_ACCOUNT_NBRkfsContAcctNumberKFS Continuation Account NumberString  
ENDOW_FIN_COA_CDkfsEndowChartCodeKFS Endowment Chart CodeString  
ENDOW_ACCOUNT_NBRkfsEndowAcctNumberKFS Endowment Account NumberString  
CONTR_CTRL_FCOA_CDkfsCandGChartCodeKFS C&G Control Chart CodeString  
CONTR_CTRLACCT_NBRkfsCandGAcctNumberKFS C&G Control Account NumberString  
INCOME_FIN_COA_CDkfsIncomeChartCodeKFS Income Stream Chart CodeString  
INCOME_ACCOUNT_NBRkfsIncomeAcctNumberKFS Income Stream Account NumberString  
ACCT_ICR_TYP_CDkfsICRTypeCodeKFS ICR Type CodeString  
AC_CSTM_ICREXCL_CDkfsCustomICRCodeKFS Custom ICR CodeString  
FIN_SERIES_IDkfsICRRateCodeKFS ICR Rate CodeString  
ICR_FIN_COA_CDkfsICRChartCodeKFS ICR Credit Chart CodeString  
ICR_ACCOUNT_NBRkfsICRAcctNumberKFS ICR Credit Account NumberString  
ACCT_IN_FP_CDkfsTPSFCodeKFS Transaction Processing Sufficient Funds Check CodeString  
BDGT_REC_LVL_CDkfsBudgetLevelCodeKFS Budget Recording Level CodeString  
ACCT_SF_CDkfsAcctSFCodeKFS Account Sufficient Fund Check CodeString  
ACCT_PND_SF_CDkfsAcctPSFCodeKFS Account Pending Sufficient Fund Check CodeString  
FIN_EXT_ENC_SF_CDkfsEESFCodeKFS External Encumbrance Sufficient Fund Check CodeString  
FIN_INT_ENC_SF_CDkfsIESFCodeKFS Internal Encumbrance Sufficient Fund Check CodeString  
FIN_PRE_ENC_SF_CDkfsPESFCodeKFS Pre-Encumbrance Sufficient Fund Check CodeString  
FIN_OBJ_PRSCTRL_CDkfsObjPCCodeKFS Object Presence Control CodeString  
CG_CFDA_NBRkfsCGCFDANumberKFS CG CFDA numberString  
ACCT_OFF_CMP_INDkfsAcctOffCampusCodeKFS Account Off Campus Indicator CodeString  
ACCT_CLOSED_INDkfsAcctClosedCodeKFS Account Closed Indicator CodeString  
CG_ACCT_RESP_IDkfsAcctRespIdKFS Account Responsibility IDString  
UC_LOC_CDucLocationCodeFS Location Code (legacy)String(1) 
UC_ACCT_NBRucAccountCodeFS Account Code (legacy)String(6) 
UC_FUND_NBRucFundCodeFS 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>
            <kfsAcctNumber>1000766</kfsAcctNumber>
            <kfsChartCode>IR</kfsChartCode>
         </kfsAccountList>
         <kfsAccountList>
            <kfsAcctNumber>1008543</kfsAcctNumber>
            <kfsChartCode>IR</kfsChartCode>
         </kfsAccountList>
         <kfsAccountList>
            <kfsAcctNumber>1234</kfsAcctNumber>
            <kfsChartCode>XX</kfsChartCode>
         </kfsAccountList>
         <kfsAccountList>
            <kfsAcctNumber>1234576</kfsAcctNumber>
            <kfsChartCode>XX</kfsChartCode>
         </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-09-05</kfsAcctCreateDate>
            <kfsAcctEffectiveDate>2011-07-01</kfsAcctEffectiveDate>
            <kfsAcctFiscalOfficerId>000000060345</kfsAcctFiscalOfficerId>
            <kfsAcctFringeBenefitCode>Y</kfsAcctFringeBenefitCode>
            <kfsAcctManagerId>000000247608</kfsAcctManagerId>
            <kfsAcctName>INSTITUTIONAL/LATE CHARGE I 102168-03440</kfsAcctName>
            <kfsAcctNumber>1000766</kfsAcctNumber>
            <kfsAcctOffCampusCode>N</kfsAcctOffCampusCode>
            <kfsAcctPSFCode>N</kfsAcctPSFCode>
            <kfsAcctRestrictedCode>U</kfsAcctRestrictedCode>
            <kfsAcctSFCode>N</kfsAcctSFCode>
            <kfsAcctState>CA</kfsAcctState>
            <kfsAcctSupervisorId>000000089121</kfsAcctSupervisorId>
            <kfsAcctTypeCode>NA</kfsAcctTypeCode>
            <kfsAcctZip>92697</kfsAcctZip>
            <kfsBudgetLevelCode>C</kfsBudgetLevelCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsEESFCode>N</kfsEESFCode>
            <kfsHigherEduFundCode>NA</kfsHigherEduFundCode>
            <kfsIESFCode>N</kfsIESFCode>
            <kfsObjPCCode>N</kfsObjPCCode>
            <kfsOrgCode>8820</kfsOrgCode>
            <kfsPESFCode>N</kfsPESFCode>
            <kfsSubFundCode>SRC001</kfsSubFundCode>
            <kfsTPSFCode>Y</kfsTPSFCode>
            <ucAccountCode>102168</ucAccountCode>
            <ucFundCode>03440</ucFundCode>
            <ucLocationCode>9</ucLocationCode>
         </return>
         <return>
            <kfsAcctAddress>Campus Dr</kfsAcctAddress>
            <kfsAcctCampusCode>IR</kfsAcctCampusCode>
            <kfsAcctCity>Irvine</kfsAcctCity>
            <kfsAcctClosedCode>N</kfsAcctClosedCode>
            <kfsAcctCreateDate>2012-09-05</kfsAcctCreateDate>
            <kfsAcctEffectiveDate>2011-07-01</kfsAcctEffectiveDate>
            <kfsAcctFiscalOfficerId>000000060345</kfsAcctFiscalOfficerId>
            <kfsAcctFringeBenefitCode>Y</kfsAcctFringeBenefitCode>
            <kfsAcctManagerId>000000247608</kfsAcctManagerId>
            <kfsAcctName>D/NSF DMS-1001006 YI J53.0  221602-21602</kfsAcctName>
            <kfsAcctNumber>1008543</kfsAcctNumber>
            <kfsAcctOffCampusCode>N</kfsAcctOffCampusCode>
            <kfsAcctPSFCode>N</kfsAcctPSFCode>
            <kfsAcctRestrictedCode>U</kfsAcctRestrictedCode>
            <kfsAcctSFCode>N</kfsAcctSFCode>
            <kfsAcctState>CA</kfsAcctState>
            <kfsAcctSupervisorId>000000089121</kfsAcctSupervisorId>
            <kfsAcctTypeCode>IN</kfsAcctTypeCode>
            <kfsAcctZip>92697</kfsAcctZip>
            <kfsBudgetLevelCode>C</kfsBudgetLevelCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsEESFCode>N</kfsEESFCode>
            <kfsHigherEduFundCode>NA</kfsHigherEduFundCode>
            <kfsIESFCode>N</kfsIESFCode>
            <kfsObjPCCode>N</kfsObjPCCode>
            <kfsOrgCode>6046</kfsOrgCode>
            <kfsPESFCode>N</kfsPESFCode>
            <kfsSubFundCode>SRC001</kfsSubFundCode>
            <kfsTPSFCode>Y</kfsTPSFCode>
            <ucAccountCode>221602</ucAccountCode>
            <ucFundCode>21602</ucFundCode>
            <ucLocationCode>9</ucLocationCode>
         </return>
      </ns2:getValidKFSAccountsResponse>
   </soap:Body>
</soap:Envelope>

Java Client Example

Code Block
DWHServerService dss = new DWHServerService();
DWHServer ds = dss.getDWHServerPort();

ArrayList<AccountParameters> pl3 = new ArrayList<AccountParameters>();
AccountParameters ap31 = new AccountParameters();
ap31.setKfsChartCode("IR");
ap31.setKfsAcctNumber("1000766");
AccountParameters ap32 = new AccountParameters();
ap32.setKfsChartCode("IR");
ap32.setKfsAcctNumber("1008543");
AccountParameters ap33 = new AccountParameters();
ap33.setKfsChartCode("XX");
ap33.setKfsAcctNumber("1234");
AccountParameters ap34 = new AccountParameters();
ap34.setKfsChartCode("XX");
ap34.setKfsAcctNumber("1234576");
pl3.add(ap31);
pl3.add(ap32);
pl3.add(ap33);
pl3.add(ap34);
List<AccountDetails> resultList5 = ds.getValidKFSAccounts(pl3);
if (resultList5 != null) {
	for (Iterator i = resultList5.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.

...

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
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:getAllKFSAccounts/>
   </soapenv:Body>
</soapenv:Envelope>
Response (See getValidKFSAccounts)

Java Client Example

Code Block
DWHServerService dss = new DWHServerService();
DWHServer ds = dss.getDWHServerPort();
 
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");
}

...

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
long start7 = System.currentTimeMillis();
System.out.println("\nWSClient--getAllKFSAccountsPK(), starting time: " + start7);
// get all the accounts primary key
List<AccountDetails> resultList7 = ds.getAllKFSAccountsPK();
if (resultList7 != null) {
	System.out.println("PK-total size: " + resultList7.size());
	System.out.println("PK-the 1st item ChartCode / AcctNumber: " + ((AccountDetails) resultList7.get(0)).getKfsChartCode() + " / " + ((AccountDetails) resultList7.get(0)).getKfsAcctNumber());
	ArrayList<AccountParameters> pl70 = new ArrayList<AccountParameters>();
	long start71 = System.currentTimeMillis();
	// get details for each KFSAccount in a chunk of 1000
	for (int i = 0; i < resultList7.size(); i++) {
		// single record detail
		if (i != 0 && i % 1000 == 0) {
			start71 = System.currentTimeMillis();
			List<AccountDetails> resultList70 = ds.getValidKFSAccounts(pl70);
			System.out.println(i);
			System.out.println("PK-elapsed after " + i + " item time (sec): " + (System.currentTimeMillis() - start71) / 1000F);
			// do whatever with the 1000 records in resultList70
			System.out.println("result size: " + resultList70.size());
			System.out.println("1st item details, acctname: " + resultList70.get(0).getKfsAcctName() + ", addr: " + resultList70.get(0).getKfsAcctAddress());
			// once hit multiple of 1000, reset argument list
			pl70.clear();
		} else {
			// building arguments list for getValidKFSAccounts()
			AccountParameters ap70 = new AccountParameters();
			ap70.setKfsChartCode(resultList7.get(i).getKfsChartCode());
			ap70.setKfsAcctNumber(resultList7.get(i).getKfsAcctNumber());
			pl70.add(ap70);
		}
	}
	System.out.println("PK-elapsed time (sec): " + (System.currentTimeMillis() - start7) / 1000F);
} else {
	System.out.println("something bad happened...please check your query");
}

...

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

Input Specifications

IndexParameterDescriptionRequired?Data Type (max length)
0fsLocationCodeThe FS location codeYesString (2)
1fsAccountCodeThe FS accounts codeYesString (6)
2fsFundCodeThe FS fund codeYesString (5)

DB Query

Code Block
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')
);

...

ParameterDescriptionData TypeExample
fsLocationCodeThe FS location codeString (2)9
fsAccountCodeThe FS accounts codeString (6)110001
fsFundCodeThe FS fund codeString (5)111200
kfsChartCodeKFS Chart CodeString (2)'IR'
kfsAcctNumberKFS Account NumberString (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>
            <fsAccountCode>110001</fsAccountCode>
            <fsFundCode>18888</fsFundCode>
            <fsLocationCode>9</fsLocationCode>
         </fsAccountList>
         <fsAccountList>
            <fsAccountCode>111200</fsAccountCode>
            <fsFundCode>18213</fsFundCode>
            <fsLocationCode>9</fsLocationCode>
         </fsAccountList>
         <fsAccountList>
            <fsAccountCode>111200</fsAccountCode>
            <fsFundCode>182</fsFundCode>
            <fsLocationCode>9</fsLocationCode>
         </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>1061114</kfsAcctNumber>
            <kfsChartCode>IR</kfsChartCode>
         </return>
         <return>
            <fsAccountCode>111200</fsAccountCode>
            <fsFundCode>18213</fsFundCode>
            <fsLocationCode>9</fsLocationCode>
            <kfsAcctNumber>1060532</kfsAcctNumber>
            <kfsChartCode>IR</kfsChartCode>
         </return>
      </ns2:translateFSAccountFundsResponse>
   </soap:Body>
</soap:Envelope>

Java Client Example

Code Block
DWHServerService dss = new DWHServerService();
DWHServer ds = dss.getDWHServerPort();
 
ArrayList<AccountTranslateParameters> pl8 = new ArrayList<AccountTranslateParameters>();
AccountTranslateParameters at80 = new AccountTranslateParameters();
at80.setFsLocationCode("9");
at80.setFsAccountCode("110001");
at80.setFsFundCode("18888");
AccountTranslateParameters at81 = new AccountTranslateParameters();
at81.setFsLocationCode("9");
at81.setFsAccountCode("111200");
at81.setFsFundCode("18213");
AccountTranslateParameters at82 = new AccountTranslateParameters();
at82.setFsLocationCode("9");
at82.setFsAccountCode("111200");
at82.setFsFundCode("182");
pl8.add(at80);
pl8.add(at81);
pl8.add(at82);
List<Fs2KFSAccountDetails> resultList8 = ds.translateFSAccountFunds(pl8);
if (resultList8 != null) {
	for (Iterator i = resultList8.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");
}

...

  • (uc_loc_cd, uc_acct_nbr, uc_sau_cd) are the composite PK for UC_ACCOUNT_T but uc_sau_cd is almost always 0.  There are some rows with uc_sau_cd is NOT 0, but (uc_loc_cd, uc_acct_nbr) are not overlapped.  Only uc_loc_cd and uc_acct_nbr are the input parameters which may result multiple KFSObjCode back.

 

Input Specifications

IndexParameterDescriptionRequired?Data Type (max length)
0fsLocationCodeThe FS location codeYesString (2)
1fsAccountCodeThe FS accounts codeYesString (6)
2fsFundCodeThe FS fund codeYesString (5)

DB Query

Code Block
SELECT DISTINCT
 a.UC_LOC_CD,
 a.UC_ACCT_NBR,
 CONVERT(varchar(4),x.UNIV_FISCAL_YR) AS UNIV_FISCAL_YR,
 x.FIN_COA_CD,
 x.FIN_OBJECT_CD
FROM UC_ACCOUNT_T a
JOIN UCI_CA_OBJECT_CODE_XW_T x ON a.UC_LOC_CD = x.UC_LOC_CD
AND a.UC_ACCT_GRP_CD = x.ACCT_GRP_CD
AND a.FIN_COA_CD = x.FIN_COA_CD
WHERE 
(
  (a.UC_LOC_CD = '9' AND a.UC_ACCT_NBR = '100133') OR
  (a.UC_LOC_CD = '9' AND a.UC_ACCT_NBR = '101695') OR
  (a.UC_LOC_CD = '9' AND a.UC_ACCT_NBR = '101698')
);

...

ParameterDescriptionData TypeExample
fsLocationCodeThe FS location codeString (2)9
fsAccountCodeThe FS accounts codeString (6)100133
kfsFiscalYearThe KFS Fiscal YearString (4)2012
kfsChartCodeKFS Chart CodeString (2)IR
kfsObjCodeKFS Object CodeString (4)4000

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:translateFSAccountToKFSObject>
         <fsAccountList>
            <fsAccountCode>100133</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
         </fsAccountList>
         <fsAccountList>
            <fsAccountCode>101695</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
         </fsAccountList>
         <fsAccountList>
            <fsAccountCode>101698</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
         </fsAccountList>
      </adc:translateFSAccountToKFSObject>
   </soapenv:Body>
</soapenv:Envelope>
Response
Code Block
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
   <soap:Body>
      <ns2:translateFSAccountToKFSObjectResponse xmlns:ns2="http://www.adcom.uci.edu">
         <return>
            <fsAccountCode>101695</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsFiscalYear>2012</kfsFiscalYear>
            <kfsObjCode>0727</kfsObjCode>
         </return>
         <return>
            <fsAccountCode>101698</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsFiscalYear>2012</kfsFiscalYear>
            <kfsObjCode>0727</kfsObjCode>
         </return>
         <return>
            <fsAccountCode>100133</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsFiscalYear>2012</kfsFiscalYear>
            <kfsObjCode>0731</kfsObjCode>
         </return>
         <return>
            <fsAccountCode>101695</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsFiscalYear>2012</kfsFiscalYear>
            <kfsObjCode>0732</kfsObjCode>
         </return>
         <return>
            <fsAccountCode>101698</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsFiscalYear>2012</kfsFiscalYear>
            <kfsObjCode>0732</kfsObjCode>
         </return>
         <return>
            <fsAccountCode>101695</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsFiscalYear>2012</kfsFiscalYear>
            <kfsObjCode>0733</kfsObjCode>
         </return>
         <return>
            <fsAccountCode>101698</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsFiscalYear>2012</kfsFiscalYear>
            <kfsObjCode>0733</kfsObjCode>
         </return>
         <return>
            <fsAccountCode>100133</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsFiscalYear>2012</kfsFiscalYear>
            <kfsObjCode>0521</kfsObjCode>
         </return>
         <return>
            <fsAccountCode>100133</fsAccountCode>
            <fsLocationCode>9</fsLocationCode>
            <kfsChartCode>IR</kfsChartCode>
            <kfsFiscalYear>2012</kfsFiscalYear>
            <kfsObjCode>0523</kfsObjCode>
         </return>
      </ns2:translateFSAccountToKFSObjectResponse>
   </soap:Body>
</soap:Envelope>

Java Client Example

Code Block
ArrayList<AccountTranslateParameters> pl9 = new ArrayList<AccountTranslateParameters>();
AccountTranslateParameters at90 = new AccountTranslateParameters();
at90.setFsLocationCode("9");
at90.setFsAccountCode("100133");
AccountTranslateParameters at91 = new AccountTranslateParameters();
at91.setFsLocationCode("9");
at91.setFsAccountCode("101695");
AccountTranslateParameters at92 = new AccountTranslateParameters();
at92.setFsLocationCode("9");
at92.setFsAccountCode("101698");
pl9.add(at90);
pl9.add(at91);
pl9.add(at92);
List<FsAccount2KFSObjectDetails> resultList9 = ds.translateFSAccountToKFSObject(pl9);
if (resultList9 != null) {
	for (Iterator i = resultList9.iterator(); i.hasNext();) {
		FsAccount2KFSObjectDetails element = (FsAccount2KFSObjectDetails) i.next();
		System.out.println("\t" + element.getFsLocationCode() + "/" + element.getFsAccountCode() + "/" + element.getKfsFiscalYear() + " : " + element.getKfsChartCode() + "/" + element.getKfsObjCode());
	}
} else {
	System.out.println("something bad happened...please check your query");
}