STEP: 1
Create a Custom
Type with super type Null as per
requirement using DQL or Composer
Using DQL:
create type seq_number(min_no string(32),max_no
string(32))with supertype null;
select * from dm_type where "owner"='sravanth'
create seq_number object set min_no='0',set
max_no='99999999'
select * from seq_number
update seq_number object set min_no='1'where
r_object_id='00de75d180000501'
Create a Custom
type to which u want to generate a Unique no:
Using DQL:
create type custom_details (emp_id string(16),emp_name
string(32),emp_address string(48)) with supertype dm_document;
Using Composer:
Write a TBO to
generate a Unique No for every
object create on a particular Type
STEP: 4
Creating TBO:
import
com.documentum.com.DfClientX;
import
com.documentum.com.IDfClientX;
import
com.documentum.fc.client.DfDocument;
import
com.documentum.fc.client.IDfBusinessObject;
import
com.documentum.fc.client.IDfCollection;
import
com.documentum.fc.client.IDfQuery;
import
com.documentum.fc.client.IDfSysObject;
import com.documentum.fc.common.DfException;
import
com.documentum.fc.common.DfLogger;
import
com.documentum.fc.common.IDfDynamicInheritance;
import
com.documentum.fc.common.IDfId;
public class AutoNumber extends DfDocument implements
IDfBusinessObject,
IDfDynamicInheritance
{
private String vendor = "This is
sample Application";
private String version = "1.0";
@Override
public String
getVendorString() {
// TODO
Auto-generated method stub
return null;
}
@Override
public String
getVersion() {
// TODO Auto-generated
method stub
return null;
}
@Override
public boolean
isCompatible(String arg0) {
// TODO
Auto-generated method stub
return false;
}
@Override
public boolean
supportsFeature(String arg0) {
// TODO
Auto-generated method stub
return false;
}
/**
* Call this method when import/create is happening
*
* @param
* @param
*/
public void save() {
try {
System.out.println("*******TBO
CALLED*********");
IDfId
newId = getObjectId();
int number = 0;
IDfSysObject
docObj = (IDfSysObject) getSession().getObject(newId);
IDfCollection
col = null;
IDfClientX
clientx = new DfClientX();
IDfQuery
q = clientx.getQuery();
q.setDQL("select
min_no from seq_number;");
col
= q.execute(getSession(), IDfQuery.DF_READ_QUERY);
while (col.next()) {
number
= Integer.parseInt(col.getString("min_no"));
}
number
= number + 1;
// Give it the
query
q.setDQL("update
seq_number object set min_no='" + number + "'where
r_object_id='00de75d180000501'");
q.execute(getSession(),
IDfQuery.DF_READ_QUERY);
String
idAttr = "" + number;
docObj.setString("emp_id", idAttr);
super.save();
q.setDQL("update
verinon_details objects set empid='" + idAttr + "'");
DfLogger.trace(this, "AfterImport/New : " + newId, null, null);
System.out.println("********TBO
END**********");
}
catch (DfException
dfe) {
System.out.println("**********InheritFromFolderToDoc::save():"+
dfe.toString());
}
}
}
Create a Jar file
for above TBO Class
STEP: 6
Create a Jar
Definition:
STEP: 7
Create a Module:
Note : Module
Name must be same as a created Custom type
After creation of Module now validate and deploy the TBO.
No comments:
Post a Comment