on 07-23-2009 11:20 PM
Hi,
I am trying to display values from a Lookup field named "Status".
I tried using
if(records<i>.getLookupDisplayValue(objRepositorySchema.getFieldId("MDM_PRODUCTS","PRODUCTS_STATUS"))!=null){
String mdmval = records<i>.getLookupDisplayValue(objRepositorySchema.getFieldId("MDM_PRODUCTS","PRODUCTS_STATUS"));
}
which returned blank values.
Also I tried using
Record[] countries = records[0].findLookupRecords(objRepositorySchema.getFieldId "MDM_PRODUCTS","PRODUCTS_STATUS"));
I get nullpointer exception for this?
Kindly send me code samples or any related documents
Thanks
Hi ,
The issue has been resolved.
The code which I used is given below:
for(int i =0;i<objRecordResultSet.getCount() ; i++)
{
strRecordId = objRecordResultSet .getRecord(i).getId().toString() ;
//int intRecordId = Integer.parseInt(strRecordId);
int intRecordId = objRecordResultSet .getRecord(i).getId().getIdValue();
MdmValue mdmval = records<i>.getFieldValue(objRepositorySchema.getFieldId("MDM_PRODUCTS","PRODUCTS_STATUS"));
RetrieveRecordsByIdCommand objRecordsByIDCommand = new RetrieveRecordsByIdCommand(connections);
objRecordsByIDCommand.addId( new RecordId(strRecordId));
objRecordsByIDCommand.setSession(sessionId);
objRecordsByIDCommand.setResultDefinition(rd);
try {
objRecordsByIDCommand.execute();
} catch (CommandException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
String strFieldValue = null;
if(objRecordsByIDCommand.getRecords().getCount() > 0)
if(objRecordsByIDCommand.getRecords().getRecord(0).getFieldValue( new FieldId( objRepositorySchema.getFieldId("MDM_PRODUCTS","PRODUCTS_STATUS")))!= new NullValue())
{
strFieldValue = objRecordsByIDCommand.getRecords().getRecord(0).getFieldValue( new FieldId( objRepositorySchema.getFieldId("MDM_PRODUCTS","PRODUCTS_STATUS"))).toString();
}
for(int k = 0; k<strStatus1.length;k++)
{
String we = statusRecordResultSet.getRecord(k).getId().toString() ;
if(we.equals(strFieldValue)){
String strValue3 = statusRecordResultSet.getRecord(k).getFieldValue(objRepositorySchema.getFieldId("New_Code9","STATUS_STATUS")).toString() ;
System.out.println("Product Status>>"+strValue3);
}
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I am trying to collect MDMValues in an array as seen below
MdmValue mdmval[] = records<i>.getFieldValue(objRepositorySchema.getFieldId("New_Code9","STATUS_STATUS"));
I get error as cannot convert error. I am not able to append to an array also.
Please let me know how to acheive this? A piece of code would be great help
Thanks
Prabhu.M...
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi, With the below piece of code I am able to get status from status field as Active, InActive.
if(statusCommand.getRecords()!=null)
{
RecordResultSet statusRecordResultSet = statusCommand.getRecords();
Record [] record1 = statusCommand.getRecords().getRecords();
System.out.println("record1.length>>"+record1.length);
strStatus1 = new String[record1.length];
// RecordResultSet objRecordResultSet = limitingCommand.getRecords();
for (int d=0;d<record1.length;d++)
{
// System.out.println("intRecordId>>"+intRecordId);
strStatus1[d] = statusCommand.getRecords().getRecord(d).getFieldValue( new FieldId( objRepositorySchema.getFieldId("New_Code9","STATUS_STATUS"))).toString();
System.out.println("strFieldValue>>>"+strStatus1[d]);
}
}
Also I get records as R1 , R2 using the below piece of code
if(limitingCommand.getRecords()!= null){
RecordResultSet objRecordResultSet = limitingCommand.getRecords();
String strRecordId = "";
for(int i =0;i<objRecordResultSet.getCount() ; i++)
{
strRecordId = objRecordResultSet .getRecord(i).getId().toString() ;
//int intRecordId = Integer.parseInt(strRecordId);
int intRecordId = objRecordResultSet .getRecord(i).getId().getIdValue();
//System.out.println("strRecordId>>>"+strRecordId);
RetrieveRecordsByIdCommand objRecordsByIDCommand = new RetrieveRecordsByIdCommand(connections);
objRecordsByIDCommand.addId( new RecordId(strRecordId));
objRecordsByIDCommand.setSession(sessionId);
objRecordsByIDCommand.setResultDefinition(rd);
try {
objRecordsByIDCommand.execute();
} catch (CommandException e3) {
// TODO Auto-generated catch block
e3.printStackTrace();
}
String strFieldValue = null;
if(objRecordsByIDCommand.getRecords().getCount() > 0)
strFieldValue = objRecordsByIDCommand.getRecords().getRecord(0).getFieldValue( new FieldId( objRepositorySchema.getFieldId("MDM_PRODUCTS","PRODUCTS_STATUS"))).toString();
System.out.println("strFieldValue>>>"+strFieldValue);
}
As a result I get
strFieldValue>>>ACTIVE
strFieldValue>>>INACTIVE
strFieldValue>>>R2
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
Now my requirement is , I need to match the status (Active/InActive) coresspondigly to the records R1, R2.
and display the results.
Kindly let me know how to do this?
Thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
I still get records displayed as
strFieldValue>>>R2
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
strFieldValue>>>R1
Thanks
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Prabhu,
You can use the following code to retrieve the lookup value based on the Record Identifier (i.e. R1, R2...). Just pass the required Table Id, Field Id and Record Id to the below command and you will get the Value.
ResultDefinition objResultDefiniton = new ResultDefinition(new TableId(LookupTableID));
objResultDefiniton.addSelectField( new FieldId( (LookupstrFieldID ) ) );
RetrieveRecordsByIdCommand objRecordsByIDCommand = new RetrieveRecordsByIdCommand(objConnectionAccessor);
objRecordsByIDCommand.addId( new RecordId(LookupRecordID));
objRecordsByIDCommand.setSession(strUserSessionID);
objRecordsByIDCommand.setResultDefinition(objResultDefiniton);
objRecordsByIDCommand.execute();
String strFieldValue = null;
if(objRecordsByIDCommand.getRecords().getCount() > 0)
strFieldValue = objRecordsByIDCommand.getRecords().getRecord(0).getFieldValue( new FieldId( LookupFieldID )) .toString() ;
Hope this helps!!
Regards,
Arafat
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
The null value that gets stored in MDM is not null it is new NUllValue(). so inspite of comparing the values for !=null try giving value != new NullValue(). I think it will solve ur problem.
Regards,
Vibha
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
79 | |
9 | |
9 | |
7 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.