Hi,
I am trying to get information about the approvers in the system. I came out with a working code, but probably I am doing something very wrong, because I lose the docbase :-) Yes, I am taking it down!
I admit it that I have no experience programming for Documentum, so I will be very grateful for any ideas. I have the code below, the ArrayList contains the r_object_ids of the documents needed to test.
Thanks in advance.
public static void ArrayL (ArrayList<String> stringList) throws DfException{
IDfCollection rs = null;
for (String num : stringList){
try {
IDfClient client = DfClient.getLocalClient();
IDfLoginInfo loginInfo = new DfLoginInfo();
loginInfo.setUser(USERNAME);
loginInfo.setPassword(PASSWORD);
loginInfo.setDomain("");
IDfSession docbase_session =
client.newSession(DOCBASE,loginInfo);
if(docbase_session != null){
//System.out.println("successful connect to docbase");
}
else {
System.out.println("failed to connect to docbase");
}
IDfQuery query = new DfQuery();
String approver_name="";
String approver_position="";
String approve_start="";
String approve_end="";
query.setDQL("select drs_aprv_name, drs_aprv_position, dsdt_aprv_start_date, dsdt_act_finish_date, drs_aprv_department from ddt_approve_stage "+
"where r_object_id in (select r_object_id from ddt_approve_stage where r_object_id in "+
"(select child_id from ddt_triple_relation where dsid_root_doc_id in (select i_chronicle_id from dm_sysobject"+
" where r_object_id ='"+num+"')))");
rs=query.execute(docbase_session, DfQuery.DF_READ_QUERY);
while(rs.next()){
approver_name = rs.getString("drs_aprv_name");
approver_position = rs.getString("drs_aprv_position");
String approver_dep = rs.getString("drs_aprv_department");
approve_start = rs.getString("dsdt_aprv_start_date");
approve_end = rs.getString("dsdt_act_finish_date");
Date d1 = new SimpleDateFormat("dd.M.yyyy").parse(approve_start );
Date d2 = new SimpleDateFormat("dd.M.yyyy").parse(approve_end );
long diff = d2.getTime() - d1.getTime();
if((diff / (1000 * 60 * 60 * 24))>3 ){
System.out.println("Name: " + approver_name);
System.out.println(num);
System.out.println("Position: " + approver_position);
System.out.println("Department: "+ approver_dep);
System.out.println("Start approve: " + approve_start );
System.out.println("End approve: " + approve_end);
System.out.println();
}
}
}
catch(Exception e){
e.printStackTrace();
}finally{
if (rs != null) {
}
rs.close();
}
}
}