Category attribute value in OCS DB

Hi !
Im doing a SQL search directly in OCS DB and so far Im able to search via oracle text in documents content. My question is: where are located the attributes values that the user
enters in attributes when creating a document ?
By attributes I mean the elements of one single categories.
i.e.: My category name is MyCategory and I have one attribute in it MyAttribute which is a String value.
Where is that value located in the database when its created on document creation?
Thanks

Sorry
This answer is valid to Oracle Content Database. I am not aware if it works for OCSDB also.
Hope that helps,
Dani
Hi,
The values of the categories attributes are located on the tables of the categories. All the categories and attributes are managed by internalnames. I hope this query help to answer your question:
SELECT odmv_metadataschemacategory.displayname as catname,
'ODM_'|| odmv_metadataschemacategory.ASSOCIATEDSCHEMAOBJECT || 'AH' as tablename,
odmv_mdataattrschemacategory.displayname as atrname,
odmv_mdataattrschemacategory.name as columnname
FROM odmv_metadataschemacategory,
odmv_mdataattrschemacategory,
odm_schemacategory,
odm_classobject
WHERE odmv_mdataattrschemacategory.associatedschemaobject =
odmv_metadataschemacategory.id
and odmv_metadataschemacategory.id = odm_schemacategory.id
and odm_classobject.id = odm_schemacategory.associatedschemaobject;
Best regards,
Dani
Message was edited by:
DanielRubio

Similar Messages

  • Can we update the Category attribute values of a file

    Can we update the Category attibute values of a file with out checkout the file?
    I have set the version configuration to folder and try to update the category attribute values of a file under that folder,
    It is asking to checkout the file before modifying the category attibute values.
    Is it required to checkout the file before modifying the category attribute values of that file?
    Is there any way to update the category attribute values without checkout the file?
    Please help on this

    One of the ways i can think of is using Batch Loader script for large number of files. Mention such files in Batch Loader script, and it will update category and all meta-data required in terms of next revision.
    In case number of files are less manual checkout and check-in will help.

  • Extract category attribute value desgin question

    I created a search application which returns a result set of documents that have a custom category. I need to extract the values of the applied category. Right now I'm doing some looping a getting the requestedAttributes until i have the CUSTOM_ALL. I get the values using the internal names.
    Document -> Categories -> CUSTOM_ALL -> Custom Attributes Values
    Is there a better way to do this?

    Unfortunately no, at least as far as I know. I wrote some procedures that I can use in all places where I need category information (procedures like getCatInfoFromFolder, mapInternalToDisplayNames, ....), it took me a while but it saved me a lot of time in later coding.
    Pedja

  • Category attributes default values updating

    Hi,
    I'm developing an application that, upon upload of a file to the specified root folder(through the application), reads some values from a file, creates a folder structure based on those values, and moves the file in the bottom folder. Now, a predefined category should be attached to the file, to enable search by category attributes. My idea is to set the category as required on that bottom folder (or the first), and modify it's attribute default values, so that the file inherits them when moved in it. I have found mshannon's examples in some other thread ( Updating a document with category metadata using updateDocument(): error! ), the first one works only with files, not folders, and the second one doesn't work for me at all, I get an error:
    javax.faces.el.EvaluationException: ORACLE.FDK.AggregateError:ORACLE.FDK.AggregateError
    here is my code:
    public static void updateAttributes() throws FdkException, RemoteException{
    login();
    FileManager fm = s_WsCon.getFileManager();
    Item fajl = fm.resolvePath(prop.getProperty("userhome") + "/root folder/folder1/readme1.txt",
    null);
    long docID = fajl.getId();
    NamedValue[] catInstAtr = new NamedValue[] {
    new NamedValue("CUSTOM_138297", "changed value for att1"),
    new NamedValue("CUSTOM_138299", "changed value for att2")
    NamedValue[] catDef = new NamedValue[] {
    new NamedValue(Options.UPDATE_CATEGORY_ID,new Long(139054)),
    new NamedValue(Options.CATEGORY_DEFINITION_ATTRIBUTES, catInstAtr)
    NamedValue[] docDef = new NamedValue[] {
    new NamedValue(Options.CATEGORY_DEFINITION, catDef)
    AttributeRequest[] reqAtr = new AttributeRequest[]{
    new AttributeRequest(Attributes.DESCRIPTION, null)
    fajl = fm.updateDocument(docID, docDef, reqAtr);
    logut();
    This example is (I think) only for updating on document level, but I could use a solution for folder-level updating, as I explained before. Can anyone help me?
    Thanks,
    Pedja

    Pedja,
    Here is my code to get category from Folder this is updated version from sample code TestCategory2.java
    1. It will get the required category of a folder.
    2. gets the internal category attribute names
    3. get Category id if uploading file along with category attribute values OR
    updating file and also updating previous category instance values..
    package oracle.ifs.examples.content.testcases;
    import java.util.Map;
    import java.util.Properties;
    import java.util.*;
    // Facade Objects
    import oracle.ifs.fdk.AttributeRequest;
    import oracle.ifs.fdk.Attributes;
    import oracle.ifs.fdk.FdkConstants;
    import oracle.ifs.fdk.FdkErrorCodes;
    import oracle.ifs.fdk.FdkException;
    import oracle.ifs.fdk.FdkExceptionEntry;
    import oracle.ifs.fdk.Item;
    import oracle.ifs.fdk.Options;
    import oracle.ifs.fdk.NamedValue;
    import oracle.ifs.fdk.NamedValueSet;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import HTTPClient.HTTPConnection;
    import HTTPClient.HTTPResponse;
    import HTTPClient.HttpOutputStream;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.URL;
    // Web Services Managers
    import oracle.ifs.fdk.CategoryManager;
    import oracle.ifs.fdk.CommonManager;
    import oracle.ifs.fdk.FileManager;
    // Framework
    import oracle.ifs.examples.content.fdk.FdkSession;
    import oracle.ifs.examples.content.fdk.FdkUtils;
    import oracle.ifs.examples.content.fdk.Managers;
    import oracle.ifs.examples.content.fdk.constants.ItemAttributes;
    import oracle.ifs.examples.content.fdk.constants.NamedValueConstants;
    import oracle.ifs.examples.content.testcases.AbstractTest;
    public class TestCategories3
    implements ItemAttributes, NamedValueConstants
    public TestCategories3()
    public static void main(String[] args)
    TestCategories3 tc3= new TestCategories3();
    tc3.getCatinfo();
    * This is where you write your test program.
    public void getCatinfo()
    log(this.getClass().getName()+": starting");
    FdkSession session = null;
    try
    AttributeRequest[] requestedAttributes = null;
    NamedValue[] sortOptions = null;
    Map returnedAttrs = null, map = null;
    log("\nAuthenticating as regular test user ...");
    session = new FdkSession("http://xxx.com:8320/content/","anakkala","sample");
    CommonManager commonM = Managers.getCommonManager(session);
    CategoryManager categoryM = Managers.getCategoryManager(session);
    FileManager fileM = Managers.getFileManager(session);
    // save this attribute request so that it can be used later
    AttributeRequest[] AR_CATEGORY_CONFIGURATION_ATTRIBUTES =
    FdkUtils.newAttributeRequestArray(Attributes.CATEGORY_CONFIGURATION,
    FdkUtils.newAttributeRequestArray(new Object[]
    // Is the category configuration enabled
    FdkUtils.newAttributeRequest(Attributes.CONFIGURATION_ENABLED),
    // Can the category configuration be overridden or is it final
    FdkUtils.newAttributeRequest(Attributes.CONFIGURATION_FINAL),
    // What are the required categories for the category configuration
    FdkUtils.newAttributeRequest(Attributes.REQUIRED_CATEGORIES,
    // for the required categories ...
    FdkUtils.newAttributeRequestArray(new Object[]
    // What is the category classobject display name
    FdkUtils.newAttributeRequest(Attributes.DISPLAY_NAME),
    // get attributes inherited and introduced by category object
    FdkUtils.newAttributeRequest(Attributes.METADATA_ATTRIBUTES,
    // get full settings for each of these attributes
    FdkUtils.newAttributeRequestArray(METADATA_ATTRIBUTE_ATTRIBUTES)
    // Are there any attribute overrides for this category config?
    FdkUtils.newAttributeRequest(Attributes.ATTRIBUTE_OVERRIDES,
    // get full settings for each of these attribute overrides
    FdkUtils.newAttributeRequestArray(ATTRIBUTE_OVERRIDE_ATTRIBUTES))
    log("\nLooking up folder /d-rco/C1/L1/folder1 ...");
    // convert attribute request map to AttributeRequest[]
    requestedAttributes = AR_CATEGORY_CONFIGURATION_ATTRIBUTES;
    Item folder =fileM.resolvePath(
    "/d-rco/C1/L1/folder1",
    requestedAttributes);
    log("folder id is="+folder.getId());
    log("\nProcessing requested attributes - goal: generate override ...");
    //returns a map
    returnedAttrs = FdkUtils.getAttributesMap(folder);
    Item categoryConfig = (Item)
    returnedAttrs.get(Attributes.CATEGORY_CONFIGURATION);
    returnedAttrs = FdkUtils.getAttributesMap(categoryConfig);
    // is CategoryConfiguration enabled?
    Boolean ccEnabled = (Boolean) returnedAttrs.
    get(Attributes.CONFIGURATION_ENABLED);
    // is CategoryConfiguration final? false=subfolders can override
    Boolean ccFinal = (Boolean) returnedAttrs.
    get(Attributes.CONFIGURATION_FINAL);
    // what are the attribute overrides for this category configuration
    log("\nAttribute overrides ...");
    Item[] attributeOverrides = (Item[]) returnedAttrs.
    get(Attributes.ATTRIBUTE_OVERRIDES);
    FdkUtils.log(attributeOverrides);
    // what are the requred categories for this category configuration
    log("\nRequired categories ...");
    Item[] reqCategories = (Item[]) returnedAttrs.get(Attributes.REQUIRED_CATEGORIES);
    FdkUtils.log(reqCategories);
    log("After printing required categories");
    if(ccEnabled.booleanValue() && !ccFinal.booleanValue()
    && reqCategories != null && reqCategories.length >= 1)
    // Folder /<domain>/<basecontainer>/L1/F3.EC has an enabled category
    // configuration that can be overridden and has required categories
    // present ...
    Item category = null;
    for (int i=0; i < reqCategories.length; i++)
    returnedAttrs = FdkUtils.getAttributesMap(reqCategories);
    log( "xxx name="+((String) returnedAttrs.get(Attributes.DISPLAY_NAME) ));
    if ( ((String) returnedAttrs.get(Attributes.DISPLAY_NAME)).
    equals("BG_Serv_Req"))
    category = reqCategories[i];
    break;
    log("category id="+category.getId());
    if (category != null)
    NamedValue[] internalCategoryAttrs = null;
    try {
    internalCategoryAttrs =getInternalCategoryAttrNames("BG_Serv_Req",session);
    }catch(Exception e)
    log("error getting internal names");
    e.printStackTrace();
    log("Category Attribute internal Name ="+ (String)internalCategoryAttrs[0].getValue());
    log("Category Attribute internal Name ="+ (String)internalCategoryAttrs[1].getValue());
    NamedValue[] categoryInstanceAttributes = new NamedValue[] { 
    // use the internal attribute name for all attributes
    new NamedValue((String)internalCategoryAttrs[0].getValue(), "XNXNXNXN 234"),
    new NamedValue((String)internalCategoryAttrs[1].getValue(), "SNKKSKSK 1234")
    NamedValue[] categoryDef = new NamedValue[] { 
    // the id of the category object class for which this new category will be an
    //instance of
    new NamedValue(Options.CATEGORY_CLASS_ID, new Long(category.getId())),
    // the updated values of the category instance
    new NamedValue(Options.CATEGORY_DEFINITION_ATTRIBUTES, categoryInstanceAttributes)
    String sourceFile="test.doc";
    String folderPath = "C:\\upload";
    requestedAttributes = FdkUtils.newAttributeRequestArray(Attributes.URL);
    Item doc = fileM.resolveRelativePath(folder.getId(),sourceFile, requestedAttributes);
    log("START ORACLE TEST CODE FROM TAR");
    // this will get the category instance id
    AttributeRequest categoryAR = new AttributeRequest();
    categoryAR.setAttributeName(Attributes.CATEGORIES);
    AttributeRequest[] attrRequests = new AttributeRequest[]
    { categoryAR};
    Item myDoc = commonM.getItem(doc.getId(), attrRequests);
    NamedValue[] requestedAttributesNV = myDoc.getRequestedAttributes();
    int length = requestedAttributesNV == null ? 0 :
    requestedAttributesNV.length;
    Item[] itemCategories = null;
    log("length="+length);
    for (int i = 0; i < length; i++)
    log("requestedAttributesNV[i].getName()="+requestedAttributesNV[i].getName());
    if(requestedAttributesNV[i].getName().equals(Attributes.CATEGORIES))
    itemCategories = (Item[]) requestedAttributesNV[i].getValue();
    length = itemCategories == null ? 0 : itemCategories.length;
    log("length="+length);
    long categoryInstanceId = 0;
    for (int i = 0; i < length; i++)
    log("Category instance " + itemCategories[i].getName() + " has id " +
    itemCategories[i].getId());
    categoryInstanceId = itemCategories[i].getId();
    log("END ORACLE TEST CODE FROM TAR");
    /* If the document does not exist in OCS */
    if (doc == null) {
    requestedAttributes = FdkUtils.newAttributeRequestArray(Attributes.URL);
    NamedValue[] nvdoc = FdkUtils.newNamedValueArray(
    new Object[][] { { Attributes.NAME,sourceFile} }
    Item def = fileM.createDocumentDefinition(nvdoc,requestedAttributes);
    int uploadStatusCode = uploadContent(
    session,
    getSampleFileStream(sourceFile,folderPath),
    (String) FdkUtils.getAttribute(def,Attributes.URL)
    log("Upload Status to definition file: "+uploadStatusCode);
    nvdoc = FdkUtils.newNamedValueArray(
    new Object[][]
    { Attributes.NAME,sourceFile},
    { Options.USE_SAVED_DEFINITION, new Long(def.getId())},
    { Options.DESTFOLDER, new Long(folder.getId()) },
    // apply category instance informationnew
    { Options.CATEGORY_DEFINITION, categoryDef }
    requestedAttributes = FdkUtils.newAttributeRequestArray(Attributes.URL);
    doc = fileM.createDocument(nvdoc,null,requestedAttributes);
    }else /* if document already exist in OCS */
              log(sourceFile+" file exists so updating ...");
    int uploadStatusCode = uploadContent(
    session,
    getSampleFileStream(sourceFile,folderPath),
    (String) FdkUtils.getAttribute(doc ,Attributes.URL)
    log("uploadStatusCode="+uploadStatusCode);
    FileInputStream fi= getSampleFileStream(sourceFile,folderPath);
    log("category id using in update="+ category.getId());
    NamedValue[] updatecatdef = new NamedValue[] {
    //new NamedValue(Options.UPDATE_CATEGORY_ID, new Long(category.getId())),
    new NamedValue(Options.UPDATE_CATEGORY_ID, new Long(categoryInstanceId)),
    new NamedValue(Options.CATEGORY_DEFINITION_ATTRIBUTES,
    new NamedValue[] {
    new NamedValue((String)internalCategoryAttrs[0].getValue(), "AH234 V2"),
    new NamedValue((String)internalCategoryAttrs[1].getValue(), "SNHGZ12 V2")
    NamedValue[] nv = FdkUtils.newNamedValueArray(
    new Object[][]
    { Attributes.NAME,sourceFile},
    { Attributes.DESCRIPTION,"Sample file"},
    //{Options.CONTENTSTREAM, fi},
    { Options.CATEGORY_DEFINITION, updatecatdef }//Newly added for category upload
    requestedAttributes = FdkUtils.newAttributeRequestArray(Attributes.URL);
    // THIS IS WHERE WE ARE GETTING ERROR
    fileM.updateDocument(doc.getId(),nv,requestedAttributes);
    System.out.println("doc = fm.updateDocument is complete ........." );
    } // end if (Document Confidentiality category present)
    } // end if category configuration enabled / overridable etc
    catch (FdkException fe)
    FdkUtils.log(fe);
    fe.printStackTrace();
    catch (Exception e)
    // java.net.MalformedURLException;
    // java.rmi.RemoteException;
    // javax.xml.rpc.ServiceException;
    // org.apache.axis.AxisFault
    log("Fatal exception occurred in run():");
    e.printStackTrace();
    finally
    if (session != null)
    session.disconnect();
    log("\n"+this.getClass().getName()+": ending");
    private FileInputStream getSampleFileStream(String filename,String path)
    throws FileNotFoundException
    FileInputStream stream = null;
    if (filename != null && filename.length() >= 1)
    if (path.length() >=1 && !path.endsWith("/"))
    path += "/";
    stream = new FileInputStream(new File(path+filename));
    return stream;
    public int uploadContent(
    FdkSession session,
    InputStream inputStream,
    String destinationURL
    throws Exception
    int statusCode = -1;
    if (inputStream == null) return statusCode;
    HTTPConnection conn = null;
    try
    URL url = new URL(destinationURL);
    conn = session.getHttpConnection(url);
    byte[] buffer = new byte[8192];
    int count=0;
    HttpOutputStream outputStream = new HttpOutputStream();
    HTTPResponse response = conn.Put(url.getFile(), outputStream);
    try
    while ((count = inputStream.read(buffer)) != -1)
    outputStream.write(buffer, 0, count);
    finally
    outputStream.flush();
    outputStream.close();
    statusCode = response.getStatusCode();
    finally
    if (inputStream != null)
    inputStream.close();
    if (conn != null)
    conn.stop();
    conn = null;
    return statusCode;
    // Handle the response. Note that a successful response may not be
    // 200, but may also be 201 Created, 204 No Content or any of the other
    // 2xx range responses.
    public void log(String s)
    System.out.println(s);
    public NamedValue[] getInternalCategoryAttrNames(String categoryName,FdkSession session) throws Exception
    NamedValue[] returnNV = null;
    Map attmap = new HashMap();
                   attmap.put(Attributes.METADATA_ATTRIBUTES,
                   FdkUtils.newAttributeRequestArray(
                   new String[] { Attributes.ATTRIBUTE_NAME,
                   Attributes.DISPLAY_NAME }));
                   AttributeRequest[] request = FdkUtils.getAttributeRequestArray(attmap);
                   Item cat = FdkUtils.getCategoryObject(session, null, categoryName, request);
    log("inside method cat id="+cat.getId());
    /** ANAKKALA START **/
    NamedValue[] catNV = cat.getRequestedAttributes();
    if( catNV != null && catNV.length >0)
    for (int i=0; i<catNV.length; i++)
    if(catNV[i].getName().equals("METADATA_ATTRIBUTES"))
    //log("** CatNV.getName="+catNV[i].getName()+" value="+catNV[i].getValue());
    Item[] meta = (Item[]) catNV[i].getValue();
    log("meta length="+meta.length);
    returnNV = new NamedValue[meta.length];
    for (int j=0; j<meta.length; j++)
    log("--Item getname="+meta[j].getName()+" value="+meta[j].getId()+" gettype="+meta[j].getType()+" gettypedesc="+meta[j].getTypeDesc());
    returnNV[j] = new NamedValue(meta[j].getName(),meta[j].getName());
    NamedValue[] metaNV = meta[j].getRequestedAttributes();
    log("---metaNV length="+metaNV.length);
    for(int k=0; k<metaNV.length; k++)
    log("------metaNV.getName="+metaNV[k].getName()+" value="+metaNV[k].getValue());
    /** ANAKKALA END **/
    //NamedValue[] ret = null;
    return returnNV;

  • Get Folder Content with category attributes

    Hi Gurus,
    I want to get all documents of a folder with few custom category attributes values.
    How can I query this?
    Thanks
    JO

    Yes, you make a SearchExpression tree that holds all your attributes and values to compare them to. Here is something I used for a category with 7 attributes:
            AttributeRequest[] ar = new AttributeRequest[]{
                new AttributeRequest(Attributes.CLASS_NAME, null),
                new AttributeRequest(Attributes.METADATA_ATTRIBUTES, new AttributeRequest[]{
                new AttributeRequest(Attributes.ATTRIBUTE_NAME, null),
                new AttributeRequest(Attributes.DISPLAY_NAME, null)
            NamedValue[] SEARCH_INCLUDES_VERSIONHISTORY = new NamedValue[] {
                new NamedValue(Options.SEARCH_VERSION_HISTORY,Boolean.TRUE)
            NamedValue[] PRI_SORT_NAME_ASC = new NamedValue[] {
                new NamedValue(Options.PRIMARY_SORT_ATTRIBUTE,Attributes.NAME),
                new NamedValue(Options.PRIMARY_SORT_DIRECTION,Boolean.TRUE) // asc
            NamedValue[] options = (NamedValue[])FdkUtils.combineArrays(PRI_SORT_NAME_ASC, SEARCH_INCLUDES_VERSIONHISTORY);
            AttributeRequest[] reqAtr1 = new AttributeRequest[]{
                new AttributeRequest(Attributes.CATEGORIES, new AttributeRequest[]{
                    new AttributeRequest(Attributes.CUSTOM_ALL, null),
                    new AttributeRequest(Attributes.CATEGORY_CLASS_OBJECT, null) }),
                new AttributeRequest(Attributes.PATH, null),
                new AttributeRequest(Attributes.URL, null)
            Item kat = FdkUtils.getCategoryObject(s_WsCon, null, "DICOM", ar);      
            String className = (String)FdkUtils.getAttribute(kat, Attributes.CLASS_NAME);
            String atr1 = FdkUtils.getAttributeNameFromDisplayName(s_WsCon, kat.getId(), "Ime pacijenta");
            String atr2 = FdkUtils.getAttributeNameFromDisplayName(s_WsCon, kat.getId(), "ID pacijenta");
            String atr3 = FdkUtils.getAttributeNameFromDisplayName(s_WsCon, kat.getId(), "Ime per doktora");
            String atr4 = FdkUtils.getAttributeNameFromDisplayName(s_WsCon, kat.getId(), "Ime ref doktora");
            String atr5 = FdkUtils.getAttributeNameFromDisplayName(s_WsCon, kat.getId(), "ID studije");
            String atr6 = FdkUtils.getAttributeNameFromDisplayName(s_WsCon, kat.getId(), "Opis studije");
            String atr7 = FdkUtils.getAttributeNameFromDisplayName(s_WsCon, kat.getId(), "Datum studije");
            String atr1Operand = "[" + className + FdkConstants.SEPARATOR + atr1 + "]";
            String atr2Operand = "[" + className + FdkConstants.SEPARATOR + atr2 + "]";
            String atr3Operand = "[" + className + FdkConstants.SEPARATOR + atr3 + "]";
            String atr4Operand = "[" + className + FdkConstants.SEPARATOR + atr4 + "]";
            String atr5Operand = "[" + className + FdkConstants.SEPARATOR + atr5 + "]";
            String atr6Operand = "[" + className + FdkConstants.SEPARATOR + atr6 + "]";
            String atr7Operand = "[" + className + FdkConstants.SEPARATOR + atr7 + "]";
            SearchManager sem = s_WsCon.getSearchManager();
            SearchExpression seExp1 = new SearchExpression();
            seExp1.setOperator(FdkConstants.OPERATOR_EQUAL);
            seExp1.setLeftOperand(atr1Operand);
            seExp1.setRightOperand(imePac);
            SearchExpression seExp2 = new SearchExpression();
            seExp2.setOperator(FdkConstants.OPERATOR_EQUAL);
            seExp2.setLeftOperand(atr2Operand);
            seExp2.setRightOperand(IDPac);
            SearchExpression seExp3 = new SearchExpression();
            seExp3.setOperator(FdkConstants.OPERATOR_EQUAL);
            seExp3.setLeftOperand(atr3Operand);
            seExp3.setRightOperand(imePerDok);
            SearchExpression seExp4 = new SearchExpression();
            seExp4.setOperator(FdkConstants.OPERATOR_EQUAL);
            seExp4.setLeftOperand(atr4Operand);
            seExp4.setRightOperand(imeRefDok);
            SearchExpression seExp5 = new SearchExpression();
            seExp5.setOperator(FdkConstants.OPERATOR_EQUAL);
            seExp5.setLeftOperand(atr5Operand);
            seExp5.setRightOperand(IDStud);
            SearchExpression seExp6 = new SearchExpression();
            seExp6.setOperator(FdkConstants.OPERATOR_EQUAL);
            seExp6.setLeftOperand(atr6Operand);
            seExp6.setRightOperand(opisStud);
            SearchExpression seExp7 = new SearchExpression();
            seExp7.setOperator(FdkConstants.OPERATOR_EQUAL);
            seExp7.setLeftOperand(atr7Operand);
            seExp7.setRightOperand(datStud);
            SearchExpression seExp8 = new SearchExpression();
            seExp8.setOperator(FdkConstants.OPERATOR_AND);
            seExp8.setLeftOperand(seExp1);
            seExp8.setRightOperand(seExp2);
            SearchExpression seExp9 = new SearchExpression();
            seExp9.setOperator(FdkConstants.OPERATOR_OR);
            seExp9.setLeftOperand(seExp3);
            seExp9.setRightOperand(seExp4);
            SearchExpression seExp10 = new SearchExpression();
            seExp10.setOperator(FdkConstants.OPERATOR_AND);
            seExp10.setLeftOperand(seExp5);
            seExp10.setRightOperand(seExp6);
            SearchExpression seExp11 = new SearchExpression();
            seExp11.setOperator(FdkConstants.OPERATOR_AND);
            seExp11.setLeftOperand(seExp8);
            seExp11.setRightOperand(seExp9);
            SearchExpression seExp12 = new SearchExpression();
            seExp12.setOperator(FdkConstants.OPERATOR_AND);
            seExp12.setLeftOperand(seExp10);
            seExp12.setRightOperand(seExp7);
            SearchExpression seExp = new SearchExpression();
            seExp.setOperator(FdkConstants.OPERATOR_AND);
            seExp.setLeftOperand(seExp11);
            seExp.setRightOperand(seExp12);
            NamedValue[] result = sem.search(seExp, options, reqAtr1);
            NamedValue[] nvRezultat = null;Hope this helps!
    Pedja

  • Updating category attribute (metadata) value

    How do you update the value of a category attribute ?
    For exemple, I have a document x with a category myCat with an attribute myAttr.
    I want to change the value of myAttr once in a while. Is this possible?
    How can I update that value ?
    Thanks

    Hi,
    With removing category(using the categoryManager.deleteCategory) and reassigning the updated category attribute back to the document using (filemanager.UpdateDocument), this can be achive,
    Have you worked out any other way?
    Regards,

  • Attributes and attribute values for a Product

    Hi all
    Is there any table or FM from where I can get a list of all the attributes and the attribute values linked to a particular product?
    I got tables which link product with Prod Category, Prod Category with Set types and so on.
    Could anyoe please provide me an FM which will give the attribute and its values for a particular product?
    Please help!!
    Regards
    Debolina

    Attributes created under s settype will be under the table with the name of that particular settype itself i.e Table name and the settype name are the same.
    The other part of your question of where to find the list of all settypes and their corresposing attributes, you can make use of COMM_PR_FRG_REL.
    Regards,
    Harshit

  • Concatenation of attribute values

    Hi Friends,
    We are on MDM 5.5 SP06 PL04.
    We have a requirement where in we have to update a field in the main table based on the attribute values entered by the user in the lookup field [taxonomy] in the same table through the Data Manager..
    Say, there are 5 attributes : A1, A2, A3, A4, A5. The value to be updated in the field would be the concatenation of the values entered in the attributes, separated by a space.
    None of the attributes are mandatory, though at least one has to be populated.
    Is it possible to carry out this requirement through assignments? If not, could you please suggest some alternatives to acheive the same?
    Regards,
    Anil Madhavan

    Hi,
    This requirement can be achieved using Assignment.
    Say In record mode, You have a Record in your Main table of MDM data Manager which has a category associated with it.
    This category is linked with 5 Attributes say A1, A1, A2, A3, A4, A5.
    say A1 has value XYZ
    A2 has value ABC
    A3 has Value 123
    A4 has Value 456
    A5 has Value 789
    so you want concatenation of all these three Attribute value as: XYZ ABC 123 456 789
    Create an Assignment: give the Assignment field where do you want to have this concatenation value populated.
    Now right click on this assignment-->Add Branch.
    Select the Branch Value of that category: Write Assignment Expression here in this Add Branch Assignment as:
    write Assignment Expression as below:
    A1&" "&A2&" "&A3&" "&A4&" "&A5
    Note: Select the Attributes names from Drop down Attributes tab.
    Thanks and Regards,
    Mandeep Saini

  • Modifying Category Attributes without bumping the version of a versioned do

    Hi,
    I was wondering if anybody knows how I can make a change to a document's category attributes without having the document bump up a version.
    I have an Event Handler that detects specific events where I am required to change a couple of attribute values.
    The document itself could have versioning turned on explicitly or it could have inherited the feature via the folder. Either way, I'd like to shut down the versioning for a moment, make the change and re-set it to normal operation.
    Thanks
    Winston

    Hi Winston,
    Once the file is under version control and checked-in, there is no way to make a subsequent change(s) without causing a new version to be created.
    One option you could do from your event handler after changing the metadata (which causes a new version to be created), is to remove the old version, then look to update the new version's creator/lastmodifier with the old version's details.
    As the code above may likely re-trigger your event handler, you may need to some how flag the file (using metadata) so as to be able to determine whether the new version resulted from the event handler rather than end-user so as to be able to skip processing.

  • How to get the attribute values out?

    Hi everyone,
    <root>
    <category name="Mens Clothing" id="0">
    <subcategory>Active/Baselayer Tops</subcategory>
    <subcategory>Active/Baselayer
    Bottoms</subcategory>
    </category>
    <category name="Womens Clothing" id="1">
    <subcategory>aaa</subcategory>
    <subcategory>bbb</subcategory>
    </category>
    </root>
    How to get the attribute values out? For example "Mens
    Clothing" and "Womens Clothing".
    // the line below returns "Active/Baselayer Tops" and
    "Active/Baselayer Bottoms"
    var myXml:XML = new XML(event.result);
    Thanks,
    May

    Here is attribute identifier operator from FB Help:
    @ attribute identifier Operator
    Usage myXML.@attributeName
    Identifies attributes of an XML or XMLList object. For
    example, myXML.@id identifies attributes named id for the myXML XML
    object. You can also use the following syntax to access attributes:
    myXML.attribute("id"), myXML["@id"], and myXML.@["id"]. The syntax
    myXML.@id is recommended. To return an XMLList object of all
    attribute names, use @*. To return an attribute with a name that
    matches an ActionScript reserved word, use the attribute() method
    instead of the @ operator.
    Operands attributeName:* — The name of the attribute.
    Example
    How to use examples
    The first example shows how to use the @ (at sign) operator
    to identify an attribute of an element:
    var myXML:XML =
    <item id = "42">
    <catalogName>Presta tube</catalogName>
    <price>3.99</price>
    </item>;
    trace(myXML.@id); // 42The next example returns all attribute
    names:
    var xml:XML =<example id='123' color='blue'/>
    var xml2:XMLList = xml.@*;
    trace(xml2 is XMLList); // true
    trace(xml2.length()); // 2
    for (var i:int = 0; i < xml2.length(); i++)
    trace(typeof(xml2
    )); // xml
    trace(xml2.nodeKind()); // attribute
    trace(xml2
    .name()); // id and color
    } The next example returns an attribute with a name that
    matches a reserved word in ActionScript. You cannot use the syntax
    xml.@class (since class is a reserved word in ActionScript). You
    need to use the syntax xml.attribute("class"):
    var xml:XML = <example class='123'/>
    trace(xml.attribute("class"));

  • "EQG-31210:Missing security attribute value from document" for crawl CDB

    I am using Secure Enterprise Search to crawl Content Database. But the crawler throws the following exception for all the document the crawler crawled.
    13:18:24:424 INFO     filter_1          submitting doc http://dvod1.cn.oracle.com:7778/content/dav/cn/mtblog/t/te/TEST1/2007/06/only_a_test.html with status: 200
    13:18:24:425 INFO     filter_1          Processing http://dvod1.cn.oracle.com:7778/content/dav/cn/mtblog/t/te/TEST1/2007/06/only_a_test.html
    13:18:24:425 ERROR     filter_1     EQG-31210: Missing security attribute value from document: http://dvod1.cn.oracle.com:7778/content/dav/cn/mtblog/t/te/TEST1/2007/06/only_a_test.html oracle.search.crawler.WebCrawlerException     oracle.search.crawler.URLAccess:processUrlEntry:2759     oracle.search.crawler.CrawlingThread:submitForProcessing:7183     oracle.search.plugin.ocs.cservices.CSBrowse:submit:1727     oracle.search.plugin.ocs.cservices.CSBrowse:processDocument:1334     oracle.search.plugin.ocs.cservices.CSBrowse:processNextItem:1083     oracle.search.plugin.ocs.cservices.CSBrowse:browse:1170     oracle.search.plugin.ocs.cservices.OCSCSPlugin:crawl:154     oracle.search.crawler.CrawlingThread:run:1443

    Hi Juwan,
    Which SES are you using ?
    we had seen such exception in SES 10.1.8 if we try to submit a public document .

  • Not getting attribute values in IPC routines Scenerio R/3 B2B using AP 7.0

    Hi,
    Our Scenerio is using ISA R/3 B2B using AP 7.0. I have developed IPC routines but when i debug my routines in SM53 I notice that I'm not getting any attribute value except for VKORG.
    I'm pasting the code below. Please help me if I have to implement some BADI or do something more to get the attribute values.
    I have defined the attributes properly in Routine assignment in tcode /n/sapcnd/ueass
    userexitlogger.writeLogDebug("*requirment 901*" + "Plant = "plant"||ANZ_MONATE ="+ item.getAttributeValue(ANZ_MONATE_STR).toString()"||ANZ_JAHRE="item.getAttributeValue(ANZ_JAHRE_STR).toString()"||MATKL="item.getAttributeValue(MATKL_STR).toString()"||PSTYV="item.getAttributeValue(PSTYV_STR).toString()"||VKORG="item.getAttributeValue(VKORG_STR)"||PRSFD="item.getAttributeValue(PRSFD_STR)"||MVGR2="item.getAttributeValue(MVGR2_STR).toString()"||PRSDT="item.getAttributeValue(PRSDT_STR).toString()"||AUDAT="item.getAttributeValue(AUDAT_STR).toString());
    I would reward points for help
    Many Thanks n regards,
    Dipender

    I would like to go through each Value of the xml file and give each Value a name
    e.g. from the xml file <VentCount Value=1> Retreive the value above and giving it the name VentCount. Then I would beable to use the name vent count as follows:
    setVentCount() //My own method can use as follows: setVentCount(VentCount); I would like to do his for ever value, each value with a specific name

  • Passing attribute value in session variable

    Hi All
    I need to store one field value from my SIM form as a session variable and pass them to the next page along with my session, using some jscript stuff or else. Does this make sense?
    If it is possible or anyone have any prior experience please reply.
    Thanks in advance

    We have tested a code-snippet that 'gets' attribute-values from the session:
    <invoke name='getAttribute'>
        <invoke name='getHttpSession'>
            <ref>:display.state</ref>
        </invoke>
        <s>attribute_name</s>
    </invoke>You can try 'setAttribute' in the similar way.
    Thanks,
    Adi

  • Need Help ::  Current row attribute value returning null

      Hi Frds,
    I am facing the problem that
    Current row attribute value returning null............ even though value is there..... plz.. he
    This is the code in PFR
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    if (pageContext.getParameter("queryBtn")!= null)
        String  pPersonId = pageContext.getParameter("ctrlPersonId");
         String rowReference = pageContext.getParameter(EVENT_SOURCE_ROW_REFERENCE);
         OptionsVORowImpl curRow = (     OptionsVORowImpl) am.findRowByRef(rowReference);
        String dtlsItem =  (String)curRow.getFlexValue();   /*  this is returning null value */
    /*  here creating  the hashmap and calling the page with the hashmap*/
    Thanks & Regards,
    jaya
    Message was edited by: 9d452cf7-d17f-4d1e-8e0e-b22539ea8810

    Hi Jaya,
    You want to catch Flexfield values?
    Try below code for catch value.
    OAApplicationModule am = pageContext.getApplicationModule(webBean);
    if (pageContext.getParameter("queryBtn")!= null)
    OADescriptiveFlexBean dfb = (OADescriptiveFlexBean)webBean.findChildRecursive("flexDFF"); //get the DFF bean
    OAWebBean dffbean = (OAWebBean)dfb.findChildRecursive("flexDFF0"); //get the field that applies to the attribute1 column that is being rendered
    OAMessageStyledTextBean Stylebean = (OAMessageStyledTextBean)dffbean;
    String dtlsItem  = (String)Stylebean.getText(pageContext);
    /*  here creating  the hashmap and calling the page with the hashmap*/
    Thanks,
    Dilip

  • Not getting all the attributes value from Trusted Recon in eventhandler

    Hi,
    I am not getting the values of all the attributes in hashmap from Trusted recon in eventhandler.
    Following is the hashmap value I am getting :
    Parameter Hashmap value is {re_key=1869, Email=[email protected], Role=Full-Time, act_key=22, User Login=TUser43, Xellerate Type=End-User, Last Name=User43, First Name=Test}
    Please let me know how to get all the attributes value in eventhandler. I need to take some decisions based on these attributes.
    Thanks

    You should be getting all the values in the recon event.
    To get the current user states for all the records in the bulk event use this:
    Identity[] currentUserStates = (Identity[]) eventDataHashMap.get("CURRENT_USER");
    Now when you are looping through your bulkParametersp[], you can use the same get from the currentUserStates:
    Identity currentUser = null;
    currentUser = currentUserStates[counter];
    Now if the attribute is not in your hashmap, you can use:
    currentUserState.getAttributes().get(attribute)
    -Kevini

Maybe you are looking for

  • How can i see what phobe hacked into my account

    I got an email saying my password was changed. Is there anyway I can tell what phone or any other information as far as what kind of phone or anything else to that matter. I think I know who did it but how can I tell if anyone else is on my account ?

  • How should I back up? - Ethernet HD vs Time Machine

    The rundown: -I think it would be pointless to back up my whole computer since I just want certain files / folders to remain secured. -I want to have access to these files remotely (do not want .mac account) -Want the functionality of NAS drive to sh

  • "The iPhone "Dani's iPhone" cannot be synced. The required file cannot be f

    Can anyone PLEASE shed some light and - hopefully - help me... I used to be able to sync my iPhone with iTunes no problem... dead easy. However, for some unknown reason - total mystery - all of a sudden it's started to 'refuse me'. Now, when I connec

  • Hearing Loss from shrill noisy high pitched laptop squeal :: HP Compaq CQ62

    compaq presario CQ62 Of the many complaints I have with this laptop, the inferior fan design has hurt me the most. The network cord may fall out like greased butter, constantly disconnecting me, but that is not the lynch pin. The fan is so poorly d

  • Error  M8783 : Prec.medio var.del mat.se vuelve neg

    When making a invoice verification I get the error becomes neg Prec.medio var.del mat.se.: 10004752 3000 Message No.: M8783 As I can correct this error so as to verify the invoice without having to cancel movement of material as the material consumed