Fetching Non Qualifier value frm main table

Hi All,
       I have a requirement where I need to get 3  Non-Qualifier value present in the Main table .
       These 3 Non-Qualifier values are present in 1 Qualified Table.
        Kindly send me some sample code for this scenario
awaiting for your reply
Regards

Hi Sudheendra,
              Get the record result set by serching one particular column(other than field of type qualified) of the main table.
then follow the steps.
QualifiedLookupValue LVAL =(QualifiedLookupValue) temprs.getRecords()[0].getFieldValue(repoSchemacmd.getRepositorySchema().getTableSchema("mainTableName").getField("MaintableFieldName").getId());
QualifiedLinkValue[] qlinks = LVAL.getQualifiedLinks();
for (int k = 0; k < qlinks.length; k++) {
   //check whether qualifiercolumn is Display field or not.
   if(displayField){
   RecordId RID[] = new RecordId[1];
   RID[0] = qlinks[k].getLookupId();
        ResultDefinition rd =new ResultDefinition(repoSchema.getTable("qualifertableName").getId());
        rd.setSelectFields(repoSchemacmd.getRepositorySchema().getTableSchema("qualifertableName").getDisplayFieldIds());
        RetrieveRecordsByIdCommand retrievedRecords =new RetrieveRecordsByIdCommand(conAccessor);
       retrievedRecords.setSession(userSessionID);
       retrievedRecords.setIds(RID);
       retrievedRecords.setResultDefinition(rd);
          try {
               retrievedRecords.execute();
              } catch (CommandException e) {
          Record[] rec = retrievedRecords.getRecords().getRecords();
                 for (int m = 0; m < rec.length; m++) {
                     //if the field value is String.
                    String Value = qlinks[k].getQualifierValue(repoSchemacmd.getRepositorySchema().getFieldId(tableName,column)).toString();
  else{
       //if columt type in qualifier table is StringValue.
       String value1 =qlinks[k].getQualifierValue(repoSchemacmd.getRepositorySchema().getFieldId("qualifertableName","qualifiercolumn")).toString();
Regards,
Sandeep.

Similar Messages

  • Sorting the Non qualifier values.. Is it Possible!!

    Hi Experts,
    I have a qualified table.
    week day -> Non qualifier
    Time In -> Qualifier
    Time out -> Qualifier
    The Week day Field is fileed with all 7 days of the week.
    Monday, Tuesday,wednesday,Th..... sunday
    Wehave 2 issues here..
    1) In DM qualified lookup selection for a record, i can see it is autiomaticallyy sorted Based on Alphabetical order..
    that is Friday, Monday, Saturday, Sunday, thursday, Tuesday, Wednesday.
    we require this to be in Monday to Sunday order..
    2) Also i selected Monday first and gave timein time out values, and for the same record when i ALSO select Friday and provided Time in and Time out values and once i Hit save, then i can see that Friday is seen first and Monday is seen Next to it.
    Which means it is also saving the Entries for Qualified table in a Non qualifier Alphabetical sorting order.
    Can we get rid of this??
    User should see the Qualifid Lookup selection box in Monday to sunday order
    Once user selects the any of the values in non qualifiers they should be seen in Monday to Sunday order once they save.
    Note: Sort Type option at Non qualifier Field level did not help.
    did anyone face similar issue??
    KR
    John

    Hi,
    I used a Integer field called Code.
    which has 1-7 numbers.
    Name                 :     Code
    Monday                     1
    Tuesday                   2
    Wednesday              3
    thursday                   4
    Friday                       5
    Saturday                   6
    Sunday                     7
    These 2 fields are Non qualifiers, But in Portal we have hidden the Code field.
    This way the sorting worked.
    Closing thread.
    KR
    John

  • Unable to read field value from main table - unexpected socket read error

    Hi Friends,
    While executing the below code, I am able to get the value of the field 'id' but i am unable to get the value for the 'materialnumber' field. i am getting the below exception
    +com.sap.mdm.commands.CommandException: com.sap.mdm.internal.protocol.manual.ProtocolException: java.io.IOException: Unexpected socket read.  Result is -1.
         at com.sap.mdm.data.commands.AbstractRetrieveLimitedRecordsCommand.execute(AbstractRetrieveLimitedRecordsCommand.java:158)
         at com.sap.mdm.data.commands.RetrieveLimitedRecordsCommand.execute(RetrieveLimitedRecordsCommand.java:157)
         at updaterecords.main(updaterecords.java:126)
    Caused by: com.sap.mdm.internal.protocol.manual.ProtocolException: java.io.IOException: Unexpected socket read.  Result is -1.
         at com.sap.mdm.internal.protocol.manual.AbstractProtocolCommand.execute(AbstractProtocolCommand.java:100)
         at com.sap.mdm.data.commands.AbstractRetrieveLimitedRecordsCommand.execute(AbstractRetrieveLimitedRecordsCommand.java:146)
         ... 2 more
    Caused by: java.io.IOException: Unexpected socket read.  Result is -1.
         at com.sap.mdm.internal.net.DataSocket.receiveData(DataSocket.java:59)
         at com.sap.mdm.internal.net.ConnectionImpl.readInt(ConnectionImpl.java:417)
         at com.sap.mdm.internal.net.ConnectionImpl.nextMessage(ConnectionImpl.java:501)
         at com.sap.mdm.internal.net.ConnectionImpl.receiveMessage(ConnectionImpl.java:472)
         at com.sap.mdm.internal.net.ConnectionImpl.send(ConnectionImpl.java:209)
         at com.sap.mdm.internal.net.ReservedConnection.send(ReservedConnection.java:105)
         at com.sap.mdm.internal.protocol.manual.AbstractProtocolCommand.execute(AbstractProtocolCommand.java:97)
         ... 3 more+
    import com.sap.mdm.commands.AuthenticateUserSessionCommand;
    import com.sap.mdm.commands.CommandException;
    import com.sap.mdm.commands.CreateUserSessionCommand;
    import com.sap.mdm.commands.DestroySessionCommand;
    import com.sap.mdm.commands.GetRepositoryRegionListCommand;
    import com.sap.mdm.data.Record;
    import com.sap.mdm.data.RegionProperties;
    import com.sap.mdm.data.ResultDefinition;
    import com.sap.mdm.data.commands.RetrieveLimitedRecordsCommand;
    import com.sap.mdm.ids.TableId;
    import com.sap.mdm.net.ConnectionException;
    import com.sap.mdm.net.ConnectionPool;
    import com.sap.mdm.net.ConnectionPoolFactory;
    import com.sap.mdm.schema.FieldProperties;
    import com.sap.mdm.schema.RepositorySchema;
    import com.sap.mdm.schema.commands.GetFieldListCommand;
    import com.sap.mdm.schema.commands.GetRepositorySchemaCommand;
    import com.sap.mdm.search.Search;
    import com.sap.mdm.server.DBMSType;
    import com.sap.mdm.server.RepositoryIdentifier;
    public class updaterecords {
         public static void main(String[] args) {
              try {               
                    String serverName = "159.112.6.26";
                    ConnectionPool connections = null;
                    try {
                         connections = ConnectionPoolFactory.getInstance(serverName);
                    } catch (ConnectionException e) {
                         e.printStackTrace();
                         return;
                   // specify the repository to use
                   // alternatively, a repository identifier can be obtain from the GetMountedRepositoryListCommand
                   String repositoryName = "DEMO";
                   String dbmsName = "MDMD";
                   RepositoryIdentifier reposId = new RepositoryIdentifier(repositoryName, dbmsName, DBMSType.ORACLE);
                   // get list of available regions for the repository
                   GetRepositoryRegionListCommand regionListCommand = new GetRepositoryRegionListCommand(connections);
                   regionListCommand.setRepositoryIdentifier(reposId);
                   try {
                        regionListCommand.execute();
                   } catch (CommandException e) {
                        e.printStackTrace();
                        return;
                   RegionProperties[] regions = regionListCommand.getRegions();
                   // create a user session
                   CreateUserSessionCommand sessionCommand = new CreateUserSessionCommand(connections);
                   sessionCommand.setRepositoryIdentifier(reposId);
                   sessionCommand.setDataRegion(regions[0]); // use the first region
                   try {
                        sessionCommand.execute();
                   } catch (CommandException e) {
                        e.printStackTrace();
                        return;
                   String sessionId = sessionCommand.getUserSession();
                   // authenticate the user session
                   String userName = "meter1";
                   String userPassword = "meter1";
                   AuthenticateUserSessionCommand authCommand = new AuthenticateUserSessionCommand(connections);
                   authCommand.setSession(sessionId);
                   authCommand.setUserName(userName);
                   authCommand.setUserPassword(userPassword);
                   try {
                        authCommand.execute();
                   } catch (CommandException e) {
                        e.printStackTrace();
                        return;
                   GetRepositorySchemaCommand cmd=new GetRepositorySchemaCommand(connections);
                   cmd.setSession(sessionId);
                   try{
                        cmd.execute();               
                   }catch(CommandException e){
                        System.out.println(e.getLocalizedMessage());
                   RepositorySchema repsch=cmd.getRepositorySchema();
                   // the main table, hard-coded
                   TableId mainTableId = new TableId(1);     
                   // specify the result definition (what to retrieve); in this example, nothing
                   ResultDefinition rd = new ResultDefinition(mainTableId);
                   // select all records
                   Search search = new com.sap.mdm.search.Search(mainTableId);
                   //get fields
                   GetFieldListCommand getFieldListCommand = new GetFieldListCommand(connections);
                   getFieldListCommand.setSession(sessionCommand.getUserSession());
                   getFieldListCommand.setTableId(mainTableId);
                   try {
                        getFieldListCommand.execute();
                   } catch (CommandException e) {
                        System.out.println(e);
                   FieldProperties[] lookupFields = getFieldListCommand.getFields();
                   // add fields to records to retrieve
                   rd.addSelectField(repsch.getFieldId("Products","Id"));
                   rd.addSelectField(repsch.getFieldId("Products","MaterialNumber"));                              
                   // retrieve the records
                   RetrieveLimitedRecordsCommand limitingCommand = new RetrieveLimitedRecordsCommand(connections);
                   limitingCommand.setSession(sessionId);
                   limitingCommand.setResultDefinition(rd);
                   limitingCommand.setSearch(search);
                   //limitingCommand.setPageSize(2000);
                   try {
                        limitingCommand.execute();
                   } catch (CommandException e) {
                        e.printStackTrace();
                        return;
                   System.out.println("Record count is " + limitingCommand.getRecords().getCount()+"\n");
                   Record[] records=limitingCommand.getRecords().getRecords();
    System.out.println(records[0].getFieldValue(repsch.getFieldId("Products","Id"))+ " \n");
    System.out.println(records[0].getFieldValue(repsch.getFieldId("Products","MaterialNumber"))+ " \n");
                   // finally destroy the session
                   DestroySessionCommand destroySessionCommand = new DestroySessionCommand(connections);
                   destroySessionCommand.setSession(sessionId);
                   try {
                        destroySessionCommand.execute();
                   } catch (CommandException e) {
                        e.printStackTrace();
                        return;
              } catch (Exception e) {
                   System.out.println(e.getLocalizedMessage());
                   e.printStackTrace();
    Kindly let me know where i am going wrong. MaterialNumber field is a TEXT not a lookup table field.  Above fields are from the main table.
    Thanks,
    Raags

    Hi Friends,
    I got the solution. It was the error because of not having a the below statement.
    limitingCommand.setPageSize(1);
    As i havent used that statement, it was trying to get 1000 records, and i dont know exactly what makes this to get that error. Anyhow., As i want to use for updation, i cn live with one record.
    Thanks,
    Raags

  • How to replace NULL values from main table

    Dear all,
    I like to remove the NULL values from a main table field. Or the question is how to replace any part of the string field in MDM repository main table field.
    e.g.   I have a middle name field partly the value is NULL in some hundreds of records, I like to replace NULL values with Space
    any recommendation.
    Regards,
    Naeem

    Hi Naeem,
    You can try using Workflows for automatically replacing NULLs with any specific value.
    What you can do is: Create a workflow and set trigger action as Record Import, Record Create and Record Update. So, that whenever any change will occur in the repository; that workflow will trigger.
    Now create an assignment expression for replacing NULLs with any specific value and use that assignment expression in your workflow by using Assign Step in workflow.
    For exiting records, you will have to replace NULLs manually using the process given by Preethi else you can export those records in an Excel spreadsheet which have NULLs and then replace all NULLs with any string value and then reimport those records in your MDM repository.
    Hope this will solve your problem.
    Regards,
    Varun
    Edited by: Varun Agarwal on Dec 2, 2008 3:12 PM

  • Function module to fetch SOBID field value from hrp1001 table

    Hi,
    Is there any function module, to fetch the value of the SOBID field from hrp1001 table by passing RSIGN,RELAT,OTYPE,SCLAS field values to that function module.
    Regards,
    Shalini.

    Hi Sikindar,
    I am not able to find these function modules.I am getting message as function module not found.Please let me know is there any other function module.
    Thanks,
    Shalini.

  • Excluding a column causes non-repeating values in 2nd table view

    I have an analysis (11.1.1.5) that has these columns: Month, Country, State, City, Sales, Country Sales, Share of Country. Country Sales is a level-based measure that returns sales at the Country level. Country, State, and City are a hierarchy as you might expect.
    When I display the initial Table view for this analysis, the Country Sales column shows a value on every row.
    When I create a 2nd Table view and exclude the City column from that view, the Country Sales column now only shows a value for the first State within each Country. In other words, each value of Country Sales is shown only once, and is NOT repeated on each subsequent row for that country.
    Any ideas if this is a bug, or if it was intentionally designed this way for some reason? Is there a way to force the values to repeat? (Green Bar / Repeat doesn't do it.)

    Thank you for the responses, guys. Still no luck.
    I moved the Country Sales column as Deepak suggested, both in the criteria and in the view. That didn't change the results. I also started fresh with a new analysis, and placed the columns in the suggested positions from the start. Still no change.
    New information: I tried excluding State and leaving City in the table view. Got the same goofy results - Country Sales did not repeat.
    More new information: I added a Brand Revenue measure to the Sample Sales subject area. Brand Revenue is defined as '1 - Revenue' at the Product Brand level. Created a similar view, and it worked fine.
    I'll investigate what the differences might be between Sample Sales and my repository. Hard to imagine what it might be. My repository is very simple and straightforward.

  • Syndicate Qualifers along wiht main table as a flat file

    Hi All,
    Is it possible to syndicate qualifiers along with main table as a flat file??
    I can see the data in the data manager... I mapped the source Qualifers to the destination field.. But I am unable to see the data/value in the preview tad or in the file... Am I missing some thing?
    Please advise.
    Thanks
    RAJEEV

    Hi Rajeev,
    Is it possible to syndicate qualifiers along with main table as a flat file??
    Yes this is quite possible.
    I checked, this is working fine at my end. I mapped qualifier fields e.g quiliferfield1 [Qual] under(when navigate) flower node(symbol) of field say XX in main table which is look up to Qualified table. I am able to see Qualifier values in Destination Preview tab.
    But I am unable to see the data/value in the preview tad or in the file... Am I missing some thing?
    Just check through Data Manager, whether for those Qualified table with main table record has associated Qualifier values or not. May be in your case main table records has not associated qualifier values,  I mean has empty or null Qualifiers.
    Regards,
    Mandeep Saini

  • Application hangs for non existing value

    Hi,
    At the DB level I tried to query non existing value from the table, query came out with "no rows selected" . But when I try to do the same from front end, application hangs! I just checked in the statspack report it shows like query is taking more cpu time to execute. what could be the reason for this?
    when I join the v$session,v$sql to get the currently running query on database, it shows the query which try to execute from the application as active.
    why it is hanging in application and why not in DB?
    can any one brief me on this regard? why does application hangs for non exsting value?
    With Regards
    Boo

    Hi,
    At the DB level I tried to query non existing value from the table, query came out with "no rows selected" . But when I try to do the same from front end, application hangs! I just checked in the statspack report it shows like query is taking more cpu time to execute. what could be the reason for this?
    when I join the v$session,v$sql to get the currently running query on database, it shows the query which try to execute from the application as active.
    why it is hanging in application and why not in DB?
    can any one brief me on this regard? why does application hangs for non exsting value?
    With Regards
    Boo

  • Error while inserting value Qualified field in the main table

    Hello,
    I am trying to populate Qualified field in the main table when a new record is inserted in the Products Repository.
    The field is Reference Price and its a qualified lookup field. I am using the below code to create qualified lookup value and create qualified link values.
    QualifiedLookupValue qlvRefPrice = new QualifiedLookupValue();
    TableId qltabid = repSchema.getTableId("ReferencePrices");
    FieldId qlfieldid = repSchema.getFieldId("ReferencePrices","RP_ReferncePrices");
    RecordId rdRefPrice = getRecordId(connPool,session,"RP",qlfieldid,qltabid);
    HashMap map = new HashMap();
    map.put(repSchema.getFieldId("ReferencePrices","StartDate_ReferencePrice"),new DateTimeValue(cal));
    map.put(repSchema.getFieldId("ReferencePrices","EndDate_ReferencePrice"),new DateTimeValue(cal));
    map.put(repSchema.getFieldId("ReferencePrices","ListPrice"),new FloatValue(Float.parseFloat("123.3")));
    map.put(repSchema.getFieldId("ReferencePrices","Currency"),new LookupValue(getLookupRecordId(connPool,session,"Currencies","Currency_Currencies","EUR")));
    QualifiedLinkValue qlvLinkValue = MdmValueFactory.createQualifiedLinkValue(rdRefPrice,map);
    qlvRefPrice.addValue(qlvLinkValue);
    emptyRecord.setFieldValue(fieldIdRefPriceHistory,qlvRefPrice);
    However when the createrecord command is executed I get the following error.
    java.lang.RuntimeException: No matching validation Id 97. at com.sap.mdm.internal.validation.ValidationInfoHelper.retrieveValidations(ValidationInfoHelper.java:71) at com.sap.mdm.data.commands.CreateRecordCommand.execute(CreateRecordCommand.java:246) at com.alcatel_lucent.productdetail.ProductItemDetail_Comp.createProduct(ProductItemDetail_Comp.java:2927) at com.alcatel_lucent.productdetail.wdp.InternalProductItemDetail_Comp.createProduct(InternalProductItemDetail_Comp.java:656) at com.alcatel_lucent.productdetail.ProductItemAddView.onActionSave(ProductItemAddView.java:971) at com.alcatel_lucent.productdetail.wdp.InternalProductItemAddView.wdInvokeEventHandler(InternalProductItemAddView.java:662) at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87) at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132) at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:332) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingPortal(ClientSession.java:761) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:696) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253) at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149) at com.sap.tc.webdynpro.clientserver.session.core.ApplicationHandle.doProcessing(ApplicationHandle.java:73) at com.sap.tc.webdynpro.portal.pb.impl.AbstractApplicationProxy.sendDataAndProcessActionInternal(AbstractApplicationProxy.java:869) at com.sap.tc.webdynpro.portal.pb.impl.localwd.LocalApplicationProxy.sendDataAndProcessAction(LocalApplicationProxy.java:77) at com.sap.portal.pb.PageBuilder.updateApplications(PageBuilder.java:1356) at com.sap.portal.pb.PageBuilder.SendDataAndProcessAction(PageBuilder.java:327) at com.sap.portal.pb.PageBuilder$1.doPhase(PageBuilder.java:869) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processPhaseListener(WindowPhaseModel.java:755) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doPortalDispatch(WindowPhaseModel.java:717) at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:136) at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335) at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143) at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:332) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:741) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:694) at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:253) at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62) at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:386) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(AccessController.java:219) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:104) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:176)      
    I spoke to my MDM team and they say there is no validation which they have put for Reference Price field. I have tried inserting values in another field of type qualified lookup in the same main table and that works without any issue.
    The code is as below:
    QualifiedLookupValue qlvRating = new QualifiedLookupValue();
    TableId qlvtable = repSchema.getTableId("ProductRatings");
    FieldId qlvratinglink = repSchema.getFieldId("ProductRatings","RatingLink");                    
    RecordId rdidPR = getRecordId(connPool,session,"CI",qlvratinglink,qlvtable);
    wdComponentAPI.getMessageManager().reportSuccess("rdidPR "+rdidPR);
    HashMap mapPR = new HashMap();
    mapPR.put(repSchema.getFieldId("ProductRatings","AvailRating"),new LookupValue(getLookupRecordId(connPool,session,"AvailabilityRatings","AvailabilityRating_AvailabilityRatings","CI")));
    mapPR.put(repSchema.getFieldId("ProductRatings","EffectiveDate"),new DateTimeValue(cal));
    mapPR.put(repSchema.getFieldId("ProductRatings","FERAIndic"),new LookupValue(getLookupRecordId(connPool,session,"ReplacementIndicators","Code","FE")));
    mapPR.put(repSchema.getFieldId("ProductRatings","FERAOrdItem"),new LookupValue(getLookupRecordId(connPool,session,"ReplProducts","ProdID","100008200")));
    QualifiedLinkValue qlvLink = MdmValueFactory.createQualifiedLinkValue(rdidPR,mapPR);
    qlvRating.addValue(qlvLink);
    emptyRecord.setFieldValue(fieldIdRatingHistory,qlvRating);     
    I would really appreciate if someone can help in solving the issue.
    Thanks in advance,
    Aamod

    Hi Aamod,
    Sees that some validation/assignments are getting triggered as soon as you make changes to the record in MDM. Please check once after removing validations/workflow that you may have. This way you may debug the issue.
    Hope this helps!!
    Cheers,
    Arafat

  • Get Qualifier value from Qualified table

    Hi,
    I am trying to get all the qualifier value for a qualified table. What is the best way to do it. Can I use QualifierSearchDimension to search for all the qualifier value.
    Re: Lookup [Qualified Flat] type field how to use as a query condition? link gives us a way to do this , but it talk about getting the non - qualifiers only , so How can we get the qualifier values.
    The link Search Qualifier Fields : MDM Java APIs gives us a way to this , but it is using old Java API , does anyone know how to do it using MDM API SP06.
    Thanks and Regards,
    Subhasis

    Hi Subhasis,
    The Search API's will only search for a particular value in the qualified tables. In order to read all the qualifier and non qualifier for a record, please follow the below mentioned steps.
    Assuming 'rec' is the variable that holds the reference for the current record.
    MdmValue lookUpVal = rec.getFieldValuel(<Field Id of the field>);
    com.sap.mdm.valuetypes.QualifiedLookupValue val = (com.sap.mdm.valuetypes.QualifiedLookupValue) lookUpVal;
    // Get the total number of qualified records present for that field
    int size = val.getValuesCount();
    // Iterate through each qualified record to fetch the details
    for(int i=0;i<size;i++){
        MdmValue nqVal = val.getValue(i);
       if(nqVal != null){
             MdmValue incVal = val.getQualifierFieldValue(i,<Field Id of the qualifier field value>);
    Regards,
    Ponraj M
    Edited by: Ponraj M on Jul 10, 2009 10:12 AM

  • Values of Non-Qualifiers (lookups) not auto-converting.

    We've been trying to use Import Server to automatically import records (XML) that had data for qualified lookup tables. Apparently there is an issue with namespaces in both the schema that we mapped to and the source field.
    After removing the namespaces, we now have an issue with the non-qualifier that uses a lookup table not automapping it's values and thus retaining the compound field at the Customer main level.
    First, the Partner Function is mapped to the Partner Function flat lookup table. At this level, the value auto-converts and the green dot is visible to the left. 
    Second, at the Customer Partner qualified lookup, the Partner Function is again mapped to the Partner Function lookup. This time, however, the values do not automatically convert and the "AUTOMAP" button must be manually pushed for them to map. The other non-qualifiers (CustomerID, PartnerNum, PartnerSAP_ID) are also mapped and their values auto-convert (green dot).
    Finally, at the Customer main level, all of the non-qualified field from the Customer Partner table are mapped and all auto-convert except for the Partner Function field. This requires us to manually push "Automap". Then, and only then, does it allow us to right click on one of the fields and create the compound field to map to the Customer Partner field. Again, the value mapping is not automatic but must be done manually.
    This map is then saved and ImpMgr closed. When the IM is reopened with the same map, the compound field is not recreated due to the fact that the Partner Function values did not convert. Once these are redone manually, then and only then can the compound field be recreated and value mapped.
    When this same map is used in the Import Server, the error is that the qualified fields cannot be mapped. This brings us back to the lookup fields not value mapping. Likewise, if this same file is opened in Import Manager mannually, and the map applied, it STILL does not convert the values and the Compound Field for the Qualified L/Up table is dropped. 
    We are using MDM 5.5 SP4 Patch 3.

    Hello Christiane,
    Yes, this is a very important point and I should have noted it in my original post. Yes, my Default Batch Handling settings are:
      Yes - Automap unmapped values
      Add - Unmapped Value Handling
    Plus:
      Replace - Default multi-valued update
      Append - Deault qualified update
      None - Default matching qualifiers
    Also, in my mdis.ini file, my settings are:
      Automap Unmapped Value = True
      Unmapped Value Handling = Add
      Always Use Unmapped Value Handling = True
    It used to work when we were in SP4, Patch 2, but have since upgraded to Patch 3, Hotfix 2(?) and can't get it to work.
    Thanks for helping!
    Don

  • Can we run an assignment on a qualified table from a main table?

    Can I run an assignment on a qualified table from a main table.
    For example: My main table Vendor and Qualified  Table is Company Qualified .
    Company Qualified - VendorNr (Non- Qualifier),Company(Qualifier,lookupFlat - Company)
    Company  - Name,Description (It has valid values in it already).
    How to add a default value into the Company Qualified table.
    When i add a assignment like
    If(is_null(Company Qualified [Record],default lookup value from Company)  ...it says invalid.
    Any help greatly appreciated  thanks

    This is not possible currently in MDM.  I've tried many times to find a good way to do this and so far have been unsuccessful.  I also have tried to have a workflow on the main table call an assignment in a lookup / qualified table, and that doesn't work either.  The biggest reason is because you have to select a table field when you create an assignment, and it doesn't give you the option to choose fields within a table.
    Hopefully they will address this in a future release.
    Edited by: Harrison Holland on Jun 3, 2008 2:33 PM

  • Header value in data table can be fetched from managed bean.

    hi
    My requirement is to display a report in which column headers are also retrieved from data base, it cannot be hardcoded.
    instead of My Column it should come from managed bean
    <f:facet name="header">
    <h:outputText value="My Column"/>
    </f:facet>
    I am not able to fetch the header value from the managed bean.
    I tried
    <f:facet name="header">
    <h:outputText value="#{character.name}"/>
    </f:facet>
    but failed.
    Is there any way i can fetch these values at run time.

    Is that bean the main bean or the row object? It should be the main bean. There is only one column per table, its value is not to be derived from the row object.

  • Updating  a qualifier value of qualified lookup table failed

    Hello,
    I am trying to update  a qualifier value of qualified lookup table.
    I  have written the method attached to this email.
    I am not able to modify a qualifier field, that "Installation instructions DAR Update" field of "Vendor Details" table with this method call. Is there anything I am missing or not doing correctly?
    Also, I noticed that in SP6 API documentation, this line in section of ModifyRecordsCommand:
    Note: Qualifier values is currently not supported by this command. This command simply ignore qualifier values passed in.
    First I have used this method failed. After I saw this, I tried to use ModifyRecordCommand but no success still.
    I am copying my method content here. qlv1 and qlv2 is geeting new value after setQualifierFieldValue.
    It will be highly appreciated if you can help me.
                    boolean isUpdated = false;
              final MdmValue mval = record.getFieldValue(qualFieldID);
              qlv = (QualifiedLookupValue) mval;
              QualifiedLinkValue[] qlinkvals = qlv.getQualifiedLinks();
              for (int j = 0; j < qlinkvals.length; j++) {
                   qlinkval = qlinkvals[j];
                   qrec = qlinkval.getQualifiedLookupRecord();
                   tabId = qrec.getTable();
                   qfields = qlinkval.getQualifierFields();
                   vdrec = getTSVal(tsVals, qrec);
                   for (int k = 0; k < qfields.length; k++) {
                        fieldId = qfields[k];
                        fieldValue = qlinkval.getQualifierValue(fieldId).toString();
                        mstr = mdmHandle.getSchema().getField(tabId, fieldId).getName();
                        fieldName = mstr.get(MDMBase.LANG);
                        if (!(vdrec.containsKey(fieldName)))
                             continue;
                        String curTSVal = fieldValue;
                        String darTSval = vdrec.get(fieldName);
                        // If the dar updated value has different timestamp value,
                        // then it means MDM have changed the value after we sent the
                        // last export to DAR.For this case, we won't change status flag
                        if (!(darTSval.equalsIgnoreCase(curTSVal)))
                             continue;
                        FieldId updateFieldID = tsUpdateFields.get(fieldName);
                        //test
                        FieldId iid = tsUpdateFields.get("Parts Breakdown Timestamp");
                        //test
                        try {
                             MdmValue mvalTrue = MdmValueFactory
                                       .createBooleanValue(true);
                             qlv.setQualifierFieldValue(j, updateFieldID, mvalTrue);
                             //test
                             qlv.setQualifierFieldValue(j, iid, mvalTrue);
                             String qlv1 = qlv.getQualifierFieldValue(j,updateFieldID).toString();
                             String qlv2 = qlv.getQualifierFieldValue(j,iid).toString();
                             QualifiedLinkValue qlv11 = qlv.getQualifiedLinks()[1];
                             logger.info(qlv1":"qlv2);
                             //test
                        } catch (IllegalArgumentException e) {
                             // TODO Auto-generated catch block
                             e.printStackTrace();
                        isUpdated = true;
                   if (isUpdated){
                        qlv.setCompleteSet(true);
                        mdmHandle.modifyRecord(record,true);
                        mdmHandle.modifyRecord(qrec,true);
    Regards

    Apparently you can configure the fields that are shown in the pop-up window, but it also limits the fields that are displayed on the iView of the main table.

  • Fetch the values from internal table inside an internal table (urgent!!)

    data : BEGIN OF PITB2_ZLINFO occurs 0,
             BEGDA LIKE SY-DATUM,
             ENDDA LIKE SY-DATUM,
             PABRJ(4) TYPE N,                       "Payroll Year
             PABRP(2) TYPE N,                       "Pay. Period
             ZL LIKE PC2BF OCCURS 0,
           END OF PITB2_ZLINFO.
    I have a internal table like this,
    How to Fetch the values from internal table inside an internal table.
    Kindly Help me on this..
    Regards,
    Ram.

    Hi,
    Try this....
    Loop at PITB2_ZLINF0.
    Loop at PITB2_ZLINF0-ZL.
    endloop.
    Endloop.
    Thanks...
    Preetham S

Maybe you are looking for

  • C310 Does not wake up from Energy Sleep mode

    Printer wont wake up from Sleep mode. I have to unplug the printer from the electrical plug. Then it connects Wireless to my network. This Piece of {Content Removed: Language Filter Evasion} is about to find its way back to the store and I'm going to

  • EPrint only Attatchments

    Hey, sorry for my bad English, I'm from Germany and my English knowledges aren't perfect I just bought the printer "HP Photosmart B110".My first problem was, that I couldn't connect to it by W-LAN. I have an idea, why this problem might appear, maybe

  • Procmail issues

    Hi guys, I'm having some trouble configuring procmail. If anybody can help me out i'd be infinitely grateful. All I want is for email from the [arch] mailing list to go to a separate 'arch' mailbox (not necessarily a separate directory but I don't re

  • After upgrading to snow leopard my system will tell me to restart while in the middle of doing something. a shadow screen comes down

    Since upgrading to snow leopard, my system will roll down a transparent screen and it says you must power off computer, its usually when Im on a website doing something

  • Full screen view background color Pages 5.5.1

    Is there a way to change the background color in Full Screen View back to black in Pages 5.5.1? I do not prefer the new default grey and would like to change it. I found a similar question in the forum for an earlier version of pages the pointed to a