Extracting image variants for web index from MDM via Java API

Hi There, we are currently using an open source search engine to crawl the MDM database and build indexes for our webstores nightly. In this process, we have an image extraction method using the MDM java API's. Can someone please tell me how to call an image variant into this process rather than the 'original image' stored in MDM? I've created a variant that will optimise for web conditions and we need to call this one into the webstore, not the originals that are sometimes huuuuge...

Hi Adam,
From MDM Documentation (can be found here [http://help.sap.com/saphelp_nwmdm71/helpdata/en/49/0505fba870404ce10000000a42189b/frameset.htm]):
Retrieving Image Variants
To retrieve binary data for image variants carry out these steps:
       1.      Retrieve all image variants using the RetrieveImageVariantsCommand class.
       2.      Retrieve the Image BLOB whose variants you want to get, (see Retrieving BLOB Records above).
       3.      Retrieve the BLOB for the specific image variant using the RetrieveBlobCommand.
Hope this information helps,
Idan

Similar Messages

  • How to retrieve data from MDM using java API

    hi experts
    Please explain me the step by step procedure
    how to retrieve data from MDM using java API
    and please tell me what are the
    important classes and packages in MDM Java API
    thanks
    ramu

    Hi Ramchandra,
    You can refer to following links
    MDM Java API-pdf
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2d18d355-0601-0010-fdbb-d8b143420f49
    webinr of java API
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/89243c32-0601-0010-559d-80d5b0884d67
    Following Fourm Threads will also help.
    Java API
    Java API
    Re: usage of  java API ,
    Matching Record
    Need Java API for Matching Record
    Thanks and Regards,
    Shruti.
    Edited by: Shruti Shah on Jul 16, 2008 12:35 PM

  • Failed to connect to MDM via Java API

    Hi,
    I wrote a very simple application in which there is a view which
    calls the component contoller. The Component Controller
    connects to MDM Repository.
    I think I am wrong with the calling of Component from Web Dynpro view.
    As, the code resulting in no error or success.
    Please suggets something.
    public void getRepositoryConnection( java.lang.String hostName, java.lang.String repositoryName, java.lang.String userId, java.lang.String passWord )
        //@@begin getRepositoryConnection()
    //          create connection pool to a MDM server
             String serverName = "kolapon.HCLT.CORP.HCL.IN";
             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
                           repositoryName = "KaushikRepo";
             String dbmsName ="MDM";
              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 ="kaushikb";
          String userPassword ="taton";
          AuthenticateUserSessionCommand authCommand =
                                    new AuthenticateUserSessionCommand(connections);
          if(authCommand!=null)
               wdComponentAPI.getMessageManager().reportSuccess("Success");                          
          else{
               wdComponentAPI.getMessageManager().reportWarning("Failure");
          authCommand.setSession(sessionId);
          authCommand.setUserName(userName);
          authCommand.setUserPassword(userPassword);
          try {
                                    authCommand.execute();
                               } catch (CommandException e) {
                                    e.printStackTrace();
                                    return;
                               // the main table, hard-coded
           try{
              GetRepositorySchemaCommand getRepositorySchemaCommand = new GetRepositorySchemaCommand(connections);
              getRepositorySchemaCommand.setSession(sessionId);
              getRepositorySchemaCommand.execute();
              RepositorySchema repositorySchema;
              repositorySchema = getRepositorySchemaCommand.getRepositorySchema();
              TableId tableId= repositorySchema.getTable("MDM_BUSINESS_PARTNERS").getId();
         RecordFactory.createEmptyRecord(tableId);
         //RecordFactory.createEmptyRecord(mainTableId);
         if(tableId!=null)
              wdComponentAPI.getMessageManager().reportSuccess("It is success");
         else{
         wdComponentAPI.getMessageManager().reportWarning("Failure");     
    catch(Exception ce)
    ce.printStackTrace();     
    //  catch(SessionException se)
    //se.printStackTrace();
        //@@end
    Regards
    Kaushik Banerjee

    Hi Jitesh,
    getRepositoryConnection() is my method which does the connection.
    Now, there are methods as :
    getFields
    public FieldId[] getFields()Get array of field IDs for all populated records.
    Returns:
    array of field IDs. Empty array is returned if any field was populated
    getFieldValue
    public MdmValue getFieldValue(FieldId fieldId)
                           throws java.lang.IllegalArgumentExceptionGet value of the specified field.
    Parameters:
    fieldId - field ID
    Returns:
    field value
    Throws:
    java.lang.IllegalArgumentException - if field with specified ID does not exist or was not populated
    I want to use all these methods.
    So, I need to declare these methods in the Controller Class and these methods will call themselves so, that I can achieve the real purpose of creating records, getting values from the field and getting field Ids etc.
    Regards
    Kaushik Banerjee
    Edited by: Kaushik Banerjee on Apr 28, 2009 7:09 AM

  • How to cache images retrieved from MDM on Java WebAS

    Hello Colleagues,
    We have a scenario where we are trying to retrieve image records from the MDM using Java APis. Instead of hitting the DB everytime, is there a way to implement caching? For instance, is it possible to cache the images on the java WebAS and return the path of the images instead of returning the byte stream everytime?
    Thanks and Regards,
    Nisha
    Edited by: Nisha NC on Sep 1, 2009 7:35 AM

    Hi Nisha,
    You can use the Class ObjectCache from the Java API.
    For more information please refer to:
    http://help.sap.com/javadocs/MDM71/current/API/index.html
    Hope this helps,
    Idan

  • Extract image and Features from the Catalog via JAVA API

    Hello,
    I would like to Extract image from the Catalog via JAVA API, Can anybody help on that? I also tried to extract the Features field form the Catalog but results in the error "Features field not found" Any ideas what could have wrong?
    Many thanks,
    Dharmi

    Hello,
    Can anybody tell me where i can find the latest JAVAAPI reference guide? I found the one for MDM 5.5 SP 1 but that also refers to the last parameter of the CatalogCache.Init as int and not string.
    I looked up in service.sap.com/instguides -> SAP Netweaver -> Release 4 -> Installation and there only following 3 files are there for MDM 5.5 SP2
    MDM 5.5 SP02 - Configuration Guide  SAP MDM
    MDM 5.5 SP02 - Installation Guide   SAP MDM
    MDM 5.5 SP02 – ERP-MDM Field Mapping and Check Tables
    Regards,
    Dharmi
    Message was edited by: Dharmi Tanna
    Message was edited by: Dharmi Tanna

  • Capture an image using the web camera from a web application

    Hi All,
    Could anyone please share the steps what have to be followed for capture an image using the web camera from a web application.
    I have a similar requirement like this,
    1) Detect the Webcam on the users machine from the web application.(To be more clear when the user clicks on 'Add Photo' tool from the web application)
    2) When the user confirms to save, save the Image in users machine at some temporary location with some unique file name.
    3) Upload the Image to the server from the temporary location.
    Please share the details like, what can be used and how it can be used etc...
    Thanks,
    Suman

    1) Detect the Webcam on the users machine from the web application.(To be more clear when the user clicks on 'Add Photo' tool from the web application)There's not really any good way to do this with JMF. You'd have to somehow create a JMF web-start application that will install the native JMF binaries, and then kick off the capture device scanning code from the application, and then scan through the list of devices found to get the MediaLocator of the web cam.
    2) When the user confirms to save, save the Image in users machine at some temporary location with some unique file name.You'd probably be displaying a "preview" window and then you'd just want to capture the image. There are a handful of ways you could capture the image, but it really depends on your situation.
    3) Upload the Image to the server from the temporary location.You can find out how to do this on google.
    All things told, this application is probably more suited to be a FMJ (Freedom for Media in Java) application than a JMF application. JMF relies on native code to capture from the web cams, whereas FMJ does not.
    Alternately, you might want to look into Adobe Flex for this particular application.

  • How to create process variant for delete index in a process chain

    Respected all
    I am creating a process chain, but unable to create process variant for the delete index. kindly tell me the
    step by step proceure for creating the variant for delete index. also if we use variant which is previously prepared then will it be safe? will it affect the other running process chian.
    pls reply
    thanks
    abhay

    Hi,
    Please do not use an already created variant for index deletion. It might delete indices of some other cube.
    You can follow the following steps -
    1. Open the chain in Edit mode and click on "Process Types" button
    2. On the Left hand side you will have various process types. Choose "Data Target Administration" and expand it.
    3. Choose the first process "Delete Index" (it will be marked with a trash bin sign) and drag it to your chain
    4. It will ask you create a variant. Press the create Button
    5. In new window enter the Process Variant technical name and description
    6. Then in new window choose Object Type = Cube through dropdown and Object name via browsing. After choosing the cube name click on "Transfer Selections"
    7. Save and return to your chain
    8. It will automatically generate a create index step also after delete index.
    9. You need to break the link between create and delete step and insert infopackage in between to get the following steps - delete index --> load cube --> create index.
    Please let me know if this is helpful..
    Regards
    nishant

  • How to obtain a disk image (dmg) for an app from the App Store

    Is there anyway to obtain a disk image (dmg) for an app from the App Store?
    I need to obtain an dmg for a small App that is only available from the App store, but I need to put it on a Snow Leopard machine that does not have App Strore installed (and cannot be upgraded further).

    Any Mac with Snow Leopard can be updated to 10.6.8, which includes the MAS. Just download the 10.6.8 update combo and install it on that Mac.
    Mac OS X v10.6.8 Update Combo v1.1
    http://support.apple.com/kb/DL1399
    You also do not need a dmg, just copy the app from one Mac to another. Unless the app has an installer MAS apps are simple drag & drop installation apps. If it has an installer drag & drop the installer and then run it on the Mac where you want the app.
    Most MAS apps require a minimum of Mac OS X 10.6, and many require 10.6.6, 10.6.7, or 10.6.8 to run.

  • Search for a Multilingual value in MDM using JAVA API

    Good day,
    Could you kindly assist.
    I am trying to search for a field in MDM, from Portal using JAVA API. I do retrieve the value in English, but the problem is when I am trying to retrieve it in other languages. Please see sample code:
         private Search getSearch(MDMConnection mdmconnection,String value, TableId tableid){
              Search search =null;
              FieldSearchDimension fielddimension=null;
              TextSearchConstraint textcontrain=null;
              RepositorySchema reposchema =mdmconnection.reposchema;          
                                               if(value!=null)
                   search= new Search(tableid);
                   fielddimension=new FieldSearchDimension(reposchema.getFieldId("ATTR_VAL_ABBR","TEXT_VALUE"));
                   textcontrain=new TextSearchConstraint(value,TextSearchConstraint.EQUALS);
                   search.addSearchItem(fielddimension,textcontrain);
                   search.setComparisonOperator(Search.AND_OPERATOR);
              return search;
    Thank you in advance.
    Regards,
    Simni

    Hi ,
    Mdm- Multilingual value in MDM using JAVA API:
    you can check the first point as its reagrdign youisue related pdf and soloutions for your question.
    1.  http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0e8aedc-cdfe-2c10-6d90-bea2994455c5?QuickLink=index&overridelayout=true
    2.  http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b0e8aedc-cdfe-2c10-6d90-bea2994455c5?QuickLink=index&overridelayout=true
    Hope this information helps you in solving the  issue!!
    Thanks&Regards
    AswinChandraGirmaji

  • Req. Sample code for the Updation of Master record in MDM using Java API..

    Hi All,
    Can anyone provide me the same code for Updation of master record in MDM using Java API ??

    Hi SakthiNarayananD,
    You can additionally go through the following links to work with MDM and Java API:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/2d18d355-0601-0010-fdbb-d8b143420f49  (Java API)
    http://help.sap.com/javadocs/MDM/SP05/(Java api programs)
    https://help.sap.com/javadocs/MDM/current/index.html  (java api codes)
    http://help.sap.com/javadocs/MDM/SP06P2/index.html (Java Docs for SP06)
    Reg: Using JAVA API - Search
    Re: Retrieving Drop Down List Value using JAVA API - Lookup values
    How to retreive records from Lookuptable of type flat - Lookup Values
    Reg: MDM with webdynpro - READ,INSERT,MODIFY
    Hope It Helped
    Thanks & Regards
    Simona Pinto

  • Fetching Images Via JAVA API

    Hi,
    I am trying to fetch images via Java Api.
    Please look at the code below:
    A2iValueArray imgs1 = null;
    for(int y=0; y<rs1.GetRecordCount(); y++){
         imgs1 = rs1.GetValueAt(y,"Product_Image").GetValueArray();
    It is throwing me a Class cast exception.
    I also tried
    imgs1 = (A2iValueArray) rs1.GetValueAt(y,"Product_Image").GetValueArray();
    but to no avail...
    I am using MDM Sp04..
    Please guide me...

    This Code Worked for me:
              try {     
              A2iResultSet rs1 = catalogData.GetResultSet(search, rsd, null, true, 0);
               A2iValueArray imgs1 = new A2iValueArray();
                   for(int y=0; y<rs1.GetRecordCount(); y++){
                        if(!rs1.GetValueAt(y, "Images").IsNull()){
                        imgs1 = rs1.GetValueAt(y,"Images").GetValueArray();
                        int id = imgs1.GetValueAt(0).GetIntValue();
                        //int id = rs1.GetValueAt(0, "Product_Color").GetIntValue();
                        String imagePath = catalogCache.GetImagePath("Products", id);//"Thumbnail" ,
                        //wdComponentAPI.getMessageManager().reportWarning("Your image is at: " + CACHE_DIRECTORY + "\" + imagePath);
                        System.out.println("imagePath="+imagePath);
                        break;
                   catalogData.Logout();
              } catch (StringException e) {
                   e.printStackTrace();
    Posting your program may help troubleshoot.
    Venkat

  • Want the link to open EAS IN WEb mode and also the Java API details needed

    Want the link to open EAS IN WEb mode and also the Java API details needed to get it up and running.
    Kindly provide the answer if knows.
    Thanks .

    Yes, you can have single sign on enabled on multiple essbase servers,
    It works like using single userid and password across mulple servers. you can configure essbase server to read from active directory.
    you can configure css.xml file in bin folder
    sample CSS FILE
    here is an example of a css.xml
    <?xml version="1.0" encoding="UTF-8"?>
    <css xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <spi>
    <provider>
    <msad name="msad1"> <trusted>false</trusted>
    <url>ldap://ldapserver:389/dc=CompanyName,dc=com</url>
    <userDN>CN=#######,OU=Security Accounts,OU=IT,DC=CompanyName,DC=com</userDN>
    <password>########</password>
    <authType>simple</authType>
    <identityAttribute>dn</identityAttribute>
    <user>
    <loginAttribute>sAMAccountName</loginAttribute>
    <fnAttribute>givenname</fnAttribute>
    <snAttribute>sn</snAttribute>
    <emailAttribute>mail</emailAttribute>
    <objectclass>
    </objectclass>
    </user>
    <group>
    <url>cn=LostAndFound</url>
    </group>
    </msad>
    </provider>
    </spi>
    <searchOrder>
    <el>msad1</el>
    </searchOrder>
    <token>
    <timeout>60</timeout>
    </token>
    <logger>
    <priority>ERROR</priority>
    </logger>
    </css>

  • Modifying record in MDM using JAVA API

    hello all
    I have created record in MDM using JAVA API now I want to update record using API. I used ModifyRecordCommand. But this requires input as Record but I have RecordID of the record to be modified. How do I get Record value from RecordID.

    Hi,
                      You can use RetrieveRecordsByIdCommand to get the record by Record Id.
                RetrieveRecordsByIdCommand recordbyidcom = new  RetrieveRecordsByIdCommand(con);
                recordbyidcom.setSession(session);
                recordbyidcom.addId(recordid);
                recordbyidcom.setResultDefinition(resultdefinition);
                recordbyidcom.execute();
                RecordResultSet rs = recordbyidcom.getRecords();
                Record record = rs.getRecord(0);
                //Modify the record
                record.setFieldValue(fieldid,value);
                ModifyRecordCommand modify = new ModifyRecordCommand(con);
                modify.setSession(session);
                modify.setRecord(record);
                modify.execute();
    Regards,
    Sreenivasulu Thimmanapalli.
    Edited by: Sreenivasulu Thimmanapalli on Dec 8, 2008 2:36 AM

  • Example code for each and every class in java API

    hi,
    Is there any place where i can get example code for eacha and every class in java API.
    for eample...if i wanna find sample codes for all the clases in java.lang.*
    please let me know ASAP.
    thanks in advance

    Crossposted here: http://forum.java.sun.com/thread.jsp?thread=570264&forum=54&message=2820774

  • Using CS4 - in the past PS set up a file for images saved for "web

    I am using PS and Dreamweaver CS4. In the past, when saving an image for "web and devices", PS set up a separate file for saved images which then showed up in Dreamweaver. I have somehow lost PS in Dreamweaver. Instead, Photoshop puts the saved image back into the original file.PS is grayed out in Dreamweaver so cannot connect back to any images from Dreamweaver either. How do I get back to preferences I originally set up for saving images for web and devices. I have Windows XP Professional.

    Save For Web is an Export, not a Save. That distinction means it saves out a copy, leaving the original as it was. The export destination is set in the SFW dialog, and is sticky. The next time it exports to the same location unless you change it again.
    So you just need to point Dreamweaver to where your SFW exports go. That's all.
    (Disclaimer - I don't use DW, but I assume it works like any other software).

Maybe you are looking for

  • BAPI/FM for creation of CONTACT RECORD for the contract account

    Hi All, I need to create a contact record for the a contract account. The contact record details will be maintained in the table BCONT. Let me know if there is a function module/BAPI/any othere way to create a contact record. Regards Shiva

  • Ultra 24 with 2TB Drives? (Anyone try it?)

    Hi, Has anyone had success with using 2TB drives in the Ultra 24? What have people installed and Had success with? The manual says 750GB drive but a max capacity of 4TB, which would be 4x1TB but that is Sun... Oracle for you. I will not purchase thes

  • HT1349 Need serial number and it is not showing up where it should be...

    my iphone was lost (or stolen) and i need the serial number and IMEI number in order to report it to insurance company. However, when i go into itunes (10) and click on devices (as instructed), my iphone shows up  in the list of devices...but when i

  • Facing issues with oracle client installation 32 bit 10.2.0.1

    Hi , I am facing issues with oracle client installation 32 bit 10.2.0.1 Windows 2008 R2 enterprise edition 64 bit Java 1.6 update 34 Below is the error recieved: Unexpected Signal : EXCEPTION_ACCESS_VIOLATION (0xc0000005) occurred at PC=0x8079055 Fun

  • Unable to convert XLS to PDF

    existing repair function does not fix problem program will not convert Excel file to .pdf