Reg: Java API for MDM work flow

Hi,
I am using MDM java API (Version: 5.5 SP 06 Patch 2) for webdynpro. I am creating a record in MDM using MDM java API. Once the record gets created in MDM i need to call the MDM workflow. Is there any java API available to call the MDM workflow into webdynpro. If that is not possible, what is the alternative to call the MDM workflow into webdynpro.
Kindly suggest.
Thanks,
Prasanthi.

Hi Prasanthi,
You need to use the three main classes to work with MDM Workflows
1. RetrieveWorkflowTasksCommand
2. WorkflowTask
Both of the above classes are used to retrieve the current workflow tasks.
3. WorkflowTaskAction
4. WorkflowActionMenuNode
Above classes tells the possible actions of the workflow task.
You will find more information about the above classes in the Java docs
I would still suggest to use UWL if you dont need any customization.
Regards,
Jitesh Talreja

Similar Messages

  • ABAP API for MDM work flow

    Hi SDN,
    I need some information related to ABAP API for MDM workflow. I did search in SDN and I found one solution in a thered posted on Jul-2008.
    ABAP API - MDM Workflow execute
    My dought is: Do we have any ABAP API for call MDM work flow. Please provide me the solution ASAP. Apprciate for your immediate response.
    Regards,
    Kumar.

    Hi LAKSHMAN ,
    To answer your question specifically
    Using ABAP api you cannot call MDM workflows as of mdm 5.5 there are no functions specific to calling MDM workflows in ABAP.If you want to implement workflows on ABAP side you need to go for SAP ECC workflows which is a different topic than MDM>
    To call MDM workflows over the Java stack ie WAS (SAP portal),You have 2 ways
    - UWL
    - Guided Procedures.
    - UWL is a way of calling MDM workflows on EP.Wherein the workflow design will be done in MDM and it will only be called in portal using appropiate connections and configurations.
    You can refer the below links to know more on them:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/771f1a61-0e01-0010-daa9-93a52905da09 (uwl)
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a3461636-0301-0010-3787-978f5ac8bd45 (UWL config)
    - GP is a way where by you need to design the entire workflow on SAP portal the logic can be pertaining to MDM but the design is completely on portal using webdynpros and api.
    You can refer the below links to know more on them:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/92811997-0d01-0010-9584-f7d535177831  (Guided procedures)
    Enterprise Master Data Management   (EP Guided)
    To know more on ABAP api and its provider classes you can refer the below:
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/601ddb01-e5c8-2910-d981-b190b51fca44  (abap api webinar)
    Re: Abap api error (Abap api provider classes Forum)
    Hope It Helped
    Thanks & Regards
    Simona Pinto

  • Java API for MDM Catalog-2

    Any idea folks where I can get the API specs from MDM Cat-2.
    Thanks.
    Anshuman.

    Hello Anshuman,
                            I have found some guides on MDM Catalog 2.0 but to download you need to have Marketplace account here is d link
    <a href="http://https://websmp203.sap-ag.de/~form/sapnet?_SHORTKEY=01100035870000679533&">MDM Catalog guides</a>
    Regards
    Tejas..................

  • Java API for images retriveal, Create and update in New Java API for SP05 ?

    Hello Everyone,
        Does any one know Which Java API Can be used to Display an Image in main table & API to add an image to Image table and link to Main Table in new release of Java API for MDM SP05.
    Really Appreciate all help.
    Thanks
    Vinita

    Hello Everyone,
        Does any one know Which Java API Can be used to Display an Image in main table & API to add an image to Image table and link to Main Table in new release of Java API for MDM SP05.
    Really Appreciate all help.
    Thanks
    Vinita

  • Steps for java apis and mdm

    Hi all ,
    How we can work with JAVA APIs and MDM .
    Please tell step by step ways.
    thanks in advance.
    Thnks
    nm

    Hi Man,
    You have to specify the correct JAR files in the classpath of the Java Virtual Machine (JVM). The API consists of five JAR files:
    1. mdm-admin.jar
    2. mdm-common.jar
    3. mdm-core.jar
    4. mdm-data.jar
    5. mdm-protocol.jar
    These files in one single archive file with the name MDMJavaAPI_Ver<buildnumber>.zip. you can download this file from the service market place by using mentioned below link:
    http://service.sap.com/swdc
    then goto Download>Support Packages and Patches> Entry by application group -->SAP NetWeaver -->SAP MDM -->SAPMDM5.5 -->Java API
    for the Java API documentation, you can download it from the link below:
    http://help.sap.com/javadocs/MDM/current
    But remember one thing that this JAVA API Version file must be compitable with your MDM Server version.you can verify this as per the build version.
    Hope this will help you.
    TNR,
    Saurabh...
    Edited by: Saurabh Kumar Sahu on Feb 1, 2008 8:09 AM
    Edited by: Saurabh Kumar Sahu on Feb 4, 2008 7:49 AM

  • Java API for running entire ".sql" files on a remote DB ( mySQL or Oracle)?

    Hi,
    Would anyone happen to know if there's a java API for executing entire ".sql" files (containing several different SQL commands), on a remote database server ?
    It's enough if the API works with MySQL and/or Oracle.
    Just to demonstrate what i'm looking for:
    Suppose you've created sql file "c:/test.sql" with several script lines:
    -- test.sql:
    insert into TABLE1 values(3,3);
    insert into TABLE1 values(5,5);
    create table TABLE2 (name VARCHER) ENGINE innoDB; -- MYSQL specific
    Then the java API should look something like:
    // Dummy java code:
    String driver="com.mysql.jdbc.Driver";
    String url= "jdbc:mysql://localhost:3306/myDb";
    SomeAPI.executeScriptFile( "c:/test.sql", driver, url);
    Thanks.

    No such a API, but it's easy to parse all sqls in a file, then run those command:
    For instance:
    import java.sql.*;
    import java.util.Properties;
    /* A demo show how to load some sql statements. */
    public class testSQL {
    private final static Object[] getSQLStatements(java.util.Vector v) {
    Object[] statements = new Object[v.size()];
    Object temp;
    for (int i = 0; i < v.size(); i++) {
    temp = v.elementAt(i);
    if (temp instanceof java.util.Vector)
    statements[i] = getSQLStatements( (java.util.Vector) temp);
    else
    statements[i] = temp;
    return statements;
    public final static Object[] getSQLStatements(String sqlFile) throws java.
    io.IOException {
    java.util.Vector v = new java.util.Vector(1000);
    try {
    java.io.BufferedReader br = new java.io.BufferedReader(new java.io.
    FileReader(sqlFile));
    java.util.Vector batchs = new java.util.Vector(10);
    String temp;
    while ( (temp = br.readLine()) != null) {
    temp = temp.trim();
    if (temp.length() == 0)
    continue;
    switch (temp.charAt(0)) {
    case '*':
    case '"':
    case '\'':
    // System.out.println(temp);
    break; //Ignore any line which begin with the above character
    case '#': //Used to begin a new sql statement
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    break;
    case 'S':
    case 's':
    case '?':
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    v.addElement(temp);
    break;
    case '!': //Use it to get a large number of simple update statements
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    String part1 = temp.substring(1);
    String part2 = br.readLine();
    for (int i = -2890; i < 1388; i += 39)
    batchs.addElement(part1 + i + part2);
    for (int i = 1890; i < 2388; i += 53) {
    batchs.addElement(part1 + i + part2);
    batchs.addElement(part1 + i + part2);
    for (int i = 4320; i > 4268; i--) {
    batchs.addElement(part1 + i + part2);
    batchs.addElement(part1 + i + part2);
    for (int i = 9389; i > 7388; i -= 83)
    batchs.addElement(part1 + i + part2);
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    break;
    default:
    batchs.addElement(temp);
    break;
    if (batchs.size() > 0) {
    v.addElement(getSQLStatements(batchs));
    batchs.removeAllElements();
    br.close();
    br = null;
    catch (java.io.FileNotFoundException fnfe) {
    v.addElement(sqlFile); //sqlFile is a sql command, not a file Name
    Object[] statements = new Object[v.size()];
    for (int i = 0; i < v.size(); i++)
    statements[i] = v.elementAt(i);
    return statements;
    public static void main(String argv[]) {
    try {
    String url;
    Object[] statements;
    switch (argv.length) {
    case 0: //Use it for the simplest test
    case 1:
    url = "jdbc:dbf:/.";
    if (argv.length == 0) {
    statements = new String[1];
    statements[0] = "select * from test";
    else
    statements = argv;
    break;
    case 2:
    url = argv[0];
    statements = getSQLStatements(argv[1]);
    break;
    default:
    throw new Exception(
    "Syntax Error: java testSQL url sqlfile");
    Class.forName("com.hxtt.sql.dbf.DBFDriver").newInstance();
    //Please see Connecting to the Database section of Chapter 2. Installation in Development Document
    Properties properties = new Properties();
    Connection con = DriverManager.getConnection(url, properties);
    Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
    ResultSet.CONCUR_READ_ONLY);
    //Statement stmt = con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
    // stmt.setMaxRows(0);
    stmt.setFetchSize(10);
    final boolean serializeFlag = false;//A test switch to serialize/deserialize the resultSet
    ResultSet rs;
    for (int i = 0; i < statements.length; i++) {
    if (statements[i] instanceof java.lang.String) {
    String temp = (java.lang.String) statements;
    switch (temp.charAt(0)) {
    case 'S':
    case 's':
    case '?':
    System.out.println(temp);
    rs = stmt.executeQuery(temp);
    if (serializeFlag) {
    // serialize the resultSet
    try {
    java.io.FileOutputStream fileOutputStream = new
    java.io.FileOutputStream("testrs.tmp");
    java.io.ObjectOutputStream
    objectOutputStream = new java.io.
    ObjectOutputStream(fileOutputStream);
    objectOutputStream.writeObject(rs);
    objectOutputStream.flush();
    objectOutputStream.close();
    fileOutputStream.close();
    catch (Exception e) {
    System.out.println(e);
    e.printStackTrace();
    System.exit(1);
    rs.close(); //Let the CONCUR_UPDATABLE resultSet release its open files at once.
    rs = null;
    // deserialize the resultSet
    try {
    java.io.FileInputStream fileInputStream = new
    java.io.FileInputStream("testrs.tmp");
    java.io.ObjectInputStream objectInputStream = new
    java.io.ObjectInputStream(
    fileInputStream);
    rs = (ResultSet) objectInputStream.
    readObject();
    objectInputStream.close();
    fileInputStream.close();
    catch (Exception e) {
    System.out.println(e);
    e.printStackTrace();
    System.exit(1);
    ResultSetMetaData resultSetMetaData = rs.
    getMetaData();
    int iNumCols = resultSetMetaData.getColumnCount();
    for (int j = 1; j <= iNumCols; j++) {
    // System.out.println(resultSetMetaData.getColumnName(j));
    /* System.out.println(resultSetMetaData.getColumnType(j));
    System.out.println(resultSetMetaData.getColumnDisplaySize(j));
    System.out.println(resultSetMetaData.getPrecision(j));
    System.out.println(resultSetMetaData.getScale(j));
    System.out.println(resultSetMetaData.
    getColumnLabel(j)
    + " " +
    resultSetMetaData.getColumnTypeName(j));
    Object colval;
    rs.beforeFirst();
    long ncount = 0;
    while (rs.next()) {
    // System.out.print(rs.rowDeleted()+" ");
    ncount++;
    for (int j = 1; j <= iNumCols; j++) {
    colval = rs.getObject(j);
    System.out.print(colval + " ");
    System.out.println();
    rs.close(); //Let the resultSet release its open tables at once.
    rs = null;
    System.out.println(
    "The total row number of resultset: " + ncount);
    System.out.println();
    break;
    default:
    int updateCount = stmt.executeUpdate(temp);
    System.out.println(temp + " : " + updateCount);
    System.out.println();
    else if (statements[i] instanceof java.lang.Object[]) {
    int[] updateCounts;
    Object[] temp = (java.lang.Object[]) statements[i];
    try {
    for (int j = 0; j < temp.length; j++){
    System.out.println( temp[j]);
    stmt.addBatch( (java.lang.String) temp[j]);
    updateCounts = stmt.executeBatch();
    for (int j = 0; j < temp.length; j++)
    System.out.println((j+1)+":"+temp[j]);
    for (int j = 0; j < updateCounts.length; j++)
    System.out.println((j+1)+":" +updateCounts[j]);
    catch (java.sql.BatchUpdateException e) {
    updateCounts = e.getUpdateCounts();
    for (int j = 0; j < updateCounts.length; j++)
    System.out.println((j+1)+":"+updateCounts[j]);
    java.sql.SQLException sqle = e;
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" +
    sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    catch (java.sql.SQLException sqle) {
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" +
    sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    stmt.clearBatch();
    System.out.println();
    stmt.close();
    con.close();
    catch (SQLException sqle) {
    do {
    System.out.println(sqle.getMessage());
    System.out.println("Error Code:" + sqle.getErrorCode());
    System.out.println("SQL State:" + sqle.getSQLState());
    sqle.printStackTrace();
    while ( (sqle = sqle.getNextException()) != null);
    catch (Exception e) {
    System.out.println(e.getMessage());
    e.printStackTrace();

  • Image not displayed in pdf generated using Java API for Forms service

    Hi,
    I am creating a pdf document using Java API for Forms Service.
    I am able to generate the pdf but the images are not visible in the generated pdf.
    The image relative path is coming in the xml as defined below. The images are stored dynamically in the Livecycle repository each time a request is fired with unique name before the xml is generated.
    <imageURI xfa:contentType="image/png" href="../Images/logo.png"></imageURI>
    Not sure if I need to specify specify specific URI values that are required to render a form with image.
    The same thing is working when I generate pdf document using Java API for Output Service.
    As, I need to generate interactive form, I have to use Forms service to generate pdfs.
    Any help will be highly appreciated.
    Thanks.

    Below is the code snippet:
                //Create a FormsServiceClient object
                FormsServiceClient formsClient = new FormsServiceClient(myFactory);
                //Specify URI values that are required to render a form
                URLSpec uriValues = new URLSpec();
                                  // Template location contains the whole rpository path for the form
                uriValues.setContentRootURI(templateLocation);
               // The base URL where form resources such as images and scripts are located.  Whole Image path is passed in BaseUrl in the http format.
                      String baseLocation = repositoryPath.concat(serviceName).concat(imagesPath);   
                                  uriValues.setBaseURL(baseLocation);                                        
                // Set run-time options using a PDFFormRenderSpec instance
                PDFFormRenderSpec pdfFormRenderSpec = new PDFFormRenderSpec();
                pdfFormRenderSpec.setCacheEnabled(new Boolean(true));           
                pdfFormRenderSpec.setAcrobatVersion(com.adobe.livecycle.formsservice.client.AcrobatVersio n.Acrobat_8);
                                  //Invoke the renderPDFForm method and write the
                //results to a client web browser
                String tempTemplateName =templateName;
                FormsResult formOut = formsClient.renderPDFForm(tempTemplateName,
                                              inXMDataTransformed,pdfFormRenderSpec,uriValues,null);
                //Create a Document object that stores form data
                Document outputDocument = formOut.getOutputContent();
                InputStream inputStream = outputDocument.getInputStream();

  • What is MDM Work Flow

    Hi MDM frnds,
    What is MDM work flow, its Just like ABAP Work Flow??
    At what stage we need to define MDM work Flow??
    If anybody having usefull documentation shere to me..
    Regards,Raj

    Hi,
    What is MDM work flow?
    Workflow is used to run the processes working on master data in a systematic and orderly way.
    Generally, we need to have some validations and approvals in order to make sure that master data is
    correct.These validations ,approvals and other processes are not done by the single person.Different
    operations will be done by different users in master data management.In order to control the overall
    processes done by different users in an systematic way, we need workflow.
    At what stage we need to define MDM work Flow??
    As i said above whenever we have validations, assignments and matching and merging and various
    approvals which should be act on our master data before send the master data various application
    Systems, then we go for workflow.
    For example as soon as we import the data, workflow can be triggered by setting configuration options
    in import manager and imported records can be addeed to workflow automatically by setting Trigger action
    to record import.By doing this,we can cleanse and normalize the data using various operations in workflow.
    and also we can execute the MDM workflows in portal using guided procedures.
    Not only that using workflow we can extract the data from MDM to remote system using syndicate step(Available from SP5) of the workflow.
    Finally what i can say is using workflow all the operations which need to be executed on master data can
    be done in a proper way.
    For better understanding, go through below documnents.
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/9180cbaf-0801-0010-f882-f2af6dc975d0
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d0be83e4-a1e6-2a10-c1be-8395ae948844
    Hope it helps'
    Reward points,if found useful
    Thanks
    Narendra
    Edited by: mullapudi on May 6, 2008 7:35 AM

  • JAVA API for human intervention in SOA 11g

    Hi all,
    what is the JAVA API that does work for human intervention fault-policies?
    Please help me in finding out this.
    Regards
    PavanKumar.M

    Hi,
    Workflow api
    http://download.oracle.com/docs/cd/E17904_01/apirefs.1111/e10660/toc.htm
    Rules api
    http://download.oracle.com/docs/cd/E17904_01/apirefs.1111/e10660/toc.htm
    Thanks,
    Raja

  • Java API for Adobe Flex(AIR and Browser)

    Hello Community,
    Sometime ago i started the project located at: : http://code.google.com/p/gwt4air/ , wich primary goal was to bring another approach on writing AIR application by providing a Java API for the AIR API. On top of that i added support for PDF and Excel generation using Java.
    I m glad to announce that  the project  will now add support for the Flex Framework
    I wrote a post about it on the main page.
    The Idea behind it is to give Java Developers a more simple way to write Flex Application by leaveraing a swing like API.
    I hope this project will be a good alternative to the MXML+ ActionScript approach and looking for people willing to join the project.
    Regards,
    Alain

    Good question, I'd like to know this myself. 4.5 has a huge number of changes since 4.0.

  • EWS JAVA API for availability is giving only 10 suggested times in a particular day

    I'm using EWS JAVA API for seeing the availability of contacts who had shared their calender with me. Here in the suggested timings, I can able to see only 10 suggested timings even though there can be more than 10 suggested slots. 
    I would like to check is there any limit  on suggested times ? 
    API is also giving quality of timing like "Good", "Excellent" on what basis this is decided ?

    You can specify the maximum number of suggestions per day using the MaximumResultsByDay parameter (http://msdn.microsoft.com/en-us/library/office/aa565641(v=exchg.150).aspx).
    The quality is determined based on how many attendees are available and is influenced by the GoodThreshold:
    http://msdn.microsoft.com/en-us/library/office/aa563485(v=exchg.150).aspx.

  • How to use java api for function activity in embed oracle workflow?

    because i can't install standalone oracle workflow successfully.
    pls tell me how to use java api for function activity in embed oracle workflow?
    are there some patch or pulg-in package?
    ths a lot...........

    The Java Function Activity Agent is not certified for Oracle Workflow embedded in Oracle Applications. Installing standalone workflow should be a lot easier than what you have found, although it looks like you did hit a Pentium 4 issue with the Oracle Universal Installer. I suggest you contact Oracle Support or Oracle Consulting for assistance.
    because i can't install standalone oracle workflow successfully.
    pls tell me how to use java api for function activity in embed oracle workflow?
    are there some patch or pulg-in package?
    ths a lot...........

  • Java API for Webchannel 7.0

    Hello,
    for the ISA 4.0 we had the API of the java classes. Is there something like this for CRM 7.0.
    Best regards,
    Nils

    Hi Nils,
    Follow below steps.
    Yes you can get it from service market place.
    Follow below steps.
    1) Log in to service market place.
    2) Click on "Download" Tab
    3) On Left side click on SAP Software Distribution Center -->Download > Support Packages and Patches> Entry By Application Group.
    4) On Right side. Support Packages and Patches>SAP Application Components> SAP CRM> SAP CRM 2007> Entry by Component--> CRM Application Server Java
    5) Click on "SAP SHARED JAVA COMPONENTS"
    6) From Below screen click on "Download" tab and Download "SAPSHRJAVxx_x-xxxxxxxx.SCA" file.
    7) Open "SAPSHRJAVxx_x-xxxxxxxx.SCA" file by "WINRAR" and unzip on your local laptop.
    8) After unzip you will get several zip files under folder "BUILDARCHIVES"
    9) Find "crmshrjavadoc" file inside folder "BUILDARCHIVES"
    10) Unzip "crmshrjavadoc" file and you will get "javadoc.ppa" file
    11) Rename "Javadoc.ppa" file to "Javadoc.zip"
    12) Unzip "Javadoc.zip" file which we just rename in step 11.
    13) you will get folder "Docs". This folder contain actual "javadoc.zip" file
    14) Unzip above file and you will get Java API Documents for ISA 5.0 or ISA 6.0 or ISA 7.0 depends on "SAPSHRJAVxx_x-xxxxxxxx.SCA" version and SP level.
    I just got ISA Java Doc by following above steps. It looks 14 step but once you download SCA file it will take only 2-3 minutes.
    I am sure you will get Standard Java API for ISA just like ISA 4.0
    Please let me know if you face any problem.
    Also Visit this ECmmerce 6.0 Java API needed
    Let me know if you face any error or problem.
    Regards.
    Ecommerce Developer.

  • Event linakge for PO work flow not transporting to Qualty system

    This is Sudhakar ,
    I have a problem in Event linkage for PO Release strategy work flow.
    I have created a work flow for PO release strategy and done the event linkage through SWETYPV transaction code.
    I have added a new entry in SWETYPV transaction code and tick the 'Linkage Activated' check box. I have done this in development server. When I saved it prompted for a request and I have saved this Under the request( Customize request).
    When I create the purchase Order  for the first time the work flow is getting triggered. When I run the second time its not triggering.
    If I observe the reason is 'Linkage Activated' check box  is getting unchecked  when I create the PO. If I check it again it is asking for a request again.But after next run the linkage is again deactivated.
    Can you please help why this is happening.
    I have created another request in Customize client and transported first the development client, next the customise client request. When I observe in quality system an entry is created in SWETYPV transaction code for my work flow but 'Linkage Activated' check box is not checked.
    How to transport 'Linkage Activated' check box  to quality.
    This is an urgent one. Any body please help me
    Thanks
    Sudhakar

    Hi Imthiaz,
    What you said is correct. Its throwing one error in event trace
    Feedback after error - The message is.
    The mandatory input parameters of the workflow must be set.
    I think I am missing some input parameters.
    One more queation, I had transported this already to Quality
    But the linkage activation flag is not moved.  What could be the reason.
    Thanks
    Sudhakar

  • Newbie who want to use Java API for OLAP

    Hi all,
    I'm trying to learn how to use Java API for Oracle 10.2 OLAP. I went through the Java OLAP API user guide and I'm getting even more confused. Can somebody guide me to some good online materials?
    Many thanks!
    - Andrew

    Hi there,
    Did you see the examples in the Reference doc? :- http://download.oracle.com/docs/cd/B19306_01/olap.102/b14348/toc.htm
    Thanks,
    Stuart Bunby
    OLAP Blog: http://oracleOLAP.blogspot.com
    OLAP Wiki: http://wiki.oracle.com/page/Oracle+OLAP+Option
    OLAP on OTN: http://www.oracle.com/technology/products/bi/olap/index.html
    DW on OTN : http://www.oracle.com/technology/products/bi/db/11g/index.html

Maybe you are looking for