This article will demonstrate the following
Let us call the symbolic name "ihdsTest"
request.ihdsTest.className=com.ai.htmlgen.DBHashTableFormHandler1
#Main data request
request.ihdsTest.maindatarequest.className=com.ai.db.DBrequestExecutor2
request.ihdsTest.maindatarequest.db=(my-db-alias)
request.ihdsTest.maindatarequest.stmt=(my sql statement)
#it has one loop called "works"
request.ihdsTest.loopNames=works
#Loop data section for "works"
request.ihdsTest.works.class_request.className=com.ai.htmlgen.GenericTableHandler6
request.ihdsTest.works.query_request.className=com.ai.db.DBRequestExecutor2
request.ihdsTest.works.query_request.db=(my-db-alias)
request.ihdsTest.works.query_request.stmt=(select statement)
ihds hds = null;
try
{
Hashtable args = new Hashtable();
args.put("key1".toLowerCase(), "value1");
IFactory factory = AppObjects.getFactory();
ihds hds = (ihds)factory.getObject("ihdsTest",args);
//use ihds accroding to the api
}
finally
{
//finally close it when you are done
if (hds != null)
hds.close();
}
request.ihdsTest.className=com.ai.htmlgen.DBHashTableFormHandler1
#Main data request
request.ihdsTest.maindatarequest.className=com.ai.db.DBrequestExecutor2
request.ihdsTest.maindatarequest.db=(my-db-alias)
request.ihdsTest.maindatarequest.stmt=(my sql statement)
request.ihdsTest.className=com.ai.htmlgen.DBHashTableFormHandler1
#Main data request
request.ihdsTest.maindatarequest.className=com.ai.db.DBrequestExecutor2
request.ihdsTest.maindatarequest.db=(my-db-alias)
request.ihdsTest.maindatarequest.stmt=(my sql statement)
#it has one loop called "works"
request.ihdsTest.loopNames=works
#Loop data section for "works"
request.ihdsTest.works.class_request.className=com.ai.htmlgen.GenericTableHandler6
request.ihdsTest.works.query_request.className=com.ai.db.DBRequestExecutor2
request.ihdsTest.works.query_request.db=(my-db-alias)
request.ihdsTest.works.query_request.stmt=(select statement)
request.ihdsTest.className=com.ai.htmlgen.DBHashTableFormHandler1
#Main data request
request.ihdsTest.maindatarequest.className=com.ai.db.DBrequestExecutor2
request.ihdsTest.maindatarequest.db=(my-db-alias)
request.ihdsTest.maindatarequest.stmt=(my sql statement)
#it has one loop called "works"
request.ihdsTest.loopNames=works,works2
#Loop data section for "works"
request.ihdsTest.works.class_request.className=com.ai.htmlgen.GenericTableHandler6
request.ihdsTest.works.query_request.className=com.ai.db.DBRequestExecutor2
request.ihdsTest.works.query_request.db=(my-db-alias)
request.ihdsTest.works.query_request.stmt=(select statement)
#Loop data section for "works2"
request.ihdsTest.works2.class_request.className=com.ai.htmlgen.GenericTableHandler6
request.ihdsTest.works2.query_request.className=com.ai.db.DBRequestExecutor2
request.ihdsTest.works2.query_request.db=(my-db-alias)
request.ihdsTest.works2.query_request.stmt=(select statement)
request.ihdsTest.className=com.ai.htmlgen.DBHashTableFormHandler1
#Main data request
request.ihdsTest.maindatarequest.className=com.ai.db.DBrequestExecutor2
request.ihdsTest.maindatarequest.db=(my-db-alias)
request.ihdsTest.maindatarequest.stmt=(my sql statement)
#it has one loop called "works"
request.ihdsTest.loopNames=works
#Loop data section for "works"
request.ihdsTest.works.class_request.className=com.ai.htmlgen.GenericTableHandler6
request.ihdsTest.works.loopNames=childloop1
request.ihdsTest.works.query_request.className=com.ai.db.DBRequestExecutor2
request.ihdsTest.works.query_request.db=(my-db-alias)
request.ihdsTest.works.query_request.stmt=(select statement)
#Loop data section for subloop called "childloop1" of "works"
request.childloop1.class_request.classname=com.ai.htmlgen.GenericTableHandler6
request.childloop1.query_request.classname=com.ai.db.DBRequestExecutor2
request.childloop1.query_request.db=(my-db-alias)
request.childloop1.query_request.stmt=(select statement)