【BO-SDK】-(RAS) Get all Available and Userd Fields_@old_devlib_02
时间:2010-09-21 来源:xiangjinling
--------------------call side-----
myClientDocument = myReportfactory.openDocument(oInfoObject, 0, Locale.ENGLISH);
Fields usedF = null;
usedF=getUsedDatabaseFields(myClientDocument);
for(int j=0;j<usedF.size();j++){
System.out.println(usedF.getField(j).getLongName(Locale.ENGLISH));
}
System.out.println("*************");
Fields availableF = null;
availableF=getAvailableDatabaseFields(myClientDocument);
for(int j=0;j<availableF.size();j++){
System.out.println(availableF.getField(j).getLongName(Locale.ENGLISH));
}
-----------------------------------------
static Fields getUsedDatabaseFields(ReportClientDocument reportClientDocument){
Fields usedFields = new Fields();
Fields resultFields = null;
try {
resultFields=reportClientDocument.getDataDefController().getDataDefinition().getResultFields();
for(int i=0;i<resultFields.size();i++){
if(resultFields.getField(i).getKind()== FieldKind.DBField){
usedFields.add(resultFields.getField(i));
}
}
} catch (ReportSDKException e) {e.printStackTrace();}
return usedFields;
}
static Fields getAvailableDatabaseFields(ReportClientDocument reportClientDocument){
Tables tables=null;
try {
tables = reportClientDocument.getDatabaseController().getDatabase().getTables();
} catch (ReportSDKException e) {e.printStackTrace();}
Fields fields = new Fields();
for(int k=0;k<tables.size();k++){
for(int r=0;r<tables.getTable(k).getDataFields().size();r++){
IField field=tables.getTable(k).getDataFields().getField(r);
fields.add(field);
}
}
return fields;
}
-------------------------Console result:-----------------
Customer.Country
Customer.City
*************
Customer.Customer ID
Customer.Customer Credit ID
Customer.Customer Name
Customer.Contact First Name
Customer.Contact Last Name
Customer.Contact Title
Customer.Contact Position
Customer.Last Year's Sales
Customer.Address1
Customer.Address2
Customer.City
Customer.Region
Customer.Country
Customer.Postal Code
Customer.E-mail
Customer.Web Site
Customer.Phone
Customer.Fax
Orders.Order ID
Orders.Order Amount
Orders.Customer ID
Orders.Employee ID
Orders.Order Date
Orders.Required Date
Orders.Ship Date
Orders.Courier Website
Orders.Ship Via
Orders.Shipped
Orders.PO#
Orders.Payment Received
--------------------.rpt file view:------------------