Resource codes and UDFs in Primavera p6 R8.2 EPPM

Can anybody explain How to create Resource codes and UDFs in primavera p6 r8.2 EPPM.
what is the use of resource codes and UDFs.

Log into  P6 Web > Administer > Enterprise Data > Select to Create UDF's or Codes

Similar Messages

  • Extending resource status and reason code category

    Hi Experts,
    I have a couple of questions regarding the extensibility of status and reason codes in ME15.0 in the context of machine integration:
    1. Is it save to add new status fields (records) in WIP.STATUS for STATUS_GROUP="RESOURCE"? Is there any impact, if a resource doesn't match one of the predefined status values?
    2. The "logResourceStatusChanged" service creates entries in WIP.RESOURCE_TIME_LOG but not in WIP.RESRCE. That way, it is possible to get different status values in both tables at a given time. Do you see any negative impact resulting from this data inconsistency?
    The service "ChangeResourceStatusRequest" is not suitable in our case, since it doesn't provide a timestamp as input parameter for the status change. And even if it would, the prevention of a "sfc complete" when the status is "unscheduled down" is inconvenient for our customer. The scenario is, that the customer wants to complete the quantity produced until the machine broke down (assume lot production).
    3. Is it possible to add new "categories" in addition to the predefined values in WIP.REASON _CODE? What is the impact?
    regards,
    Georg

    Hi Georg,
    I cannot give you a precise yes/no answer - so this is just to share some info.
    - I've heard about some customer who implemented custom statuses. When a new status simply was added in the database, it did not affect a core functionality. But I do not know what happens if this status is assigned to a resource and then a core fucntionality is triggered. There might be some validation which could fail. But it is easier to test specific cases as how you are going to use SAP ME, and I doubt any developer will be happy to run a full analysis of code to answer your question.
    - The new statuses need to be considered for loading via IDAT and adding into LocaleSpecificText properties file.
    - As to custom categories of reason codes, I guess there are only few places where system behavior is tightly connected to specific predefined reason codes. So, I'm inclined to believe that adding reason codes and categories will not harm.
    Regards,
    Sergiy

  • How to read XI Data type in Java code and populate as array list, using UDF

    Hi,
    How to read XI Data type in Java code and populate as array list, using UDF?
    Is there any API using which  the XI data types can be read?
    Kindly reply.
    Richa

    Input Structure:
    <?xml version="1.0" encoding="UTF-8"?>
    <ns0:CustomerCreateResp xmlns:ns0="urn:bp:xi:up:re:cust_mdm:cmdm:pr5:100">
       <CUSTOMER>
          <item>
             <CUSTOMERNO/>
             <MDMCUSTOMER/>
             <CREATE_DATE/>
             <RETURN>
                <TYPE/>
                <MESSAGE/>
             </RETURN>
             <PT_CONTPART_RETURN>
                <item>
                   <MDM_CONTACT/>
                   <CONTACT/>
                </item>
             </PT_CONTPART_RETURN>
             <PARTNERS>
                <item>
                   <CUSTOMERNO/>
                   <PARTNER_FUNCTION/>
                   <PARTNER_NUMBER/>
                   <DEFAULT_PARTNER/>
                </item>
             </PARTNERS>
          </item>
       </CUSTOMER>
    </ns0:CustomerCreateResp>
    Output structure
    (Sample output structure.This actually needs to be mapped and generated using UDF)
    <?xml version="1.0" encoding="UTF-8"?>
    <ns1:updateCustomer xmlns:ns1="urn:xiSericeVi"><ns1:customer><ns2:ArrayList xmlns:ns2="java:sap/standard">[]</ns2:ArrayList></ns1:customer><ns1:name>2344566</ns1:name></ns1:updateCustomer>

  • Sample JAVA Mobile Server Publish code, and technical questions

    Dear Oracle technical representative, or user:
    I need to programmatically create, and remove publications using the pure JAVA classes of Consolidator, ConsolidatorManager, and ResourceManager for the Mobile Server in OracleLite 9i Release 5.0.1. On the creation side I have managed to get the example found in the directory OraLite501\Mobile\Server\Sample\Sample11 functioning using my installation parameters. I had a very difficult time of it because (1) the sample11 code fails to open an jdbc connection to the Mobile Server Repository Schema with the function Consolidator.OpenConnection, and (2) the ResourceManager function openConnection will not work unless the Webtogo.ora file is in the current working directory. The ConsolidatorManager function OpenConnection may also not work unless the Webtogo.ora file is in the current working directory, but I did test the hypothesis. Both of these problems need to be addressed in the sample11 code, and documentation to save other software developers from wasting hours of their valuable time. See line 223, 386, and 448 in the Publish.Java code that follows this problem description.
    With the above two problems resolved, I can now programmatically create publications, but no hints on how to programmatically remove a publication exist in the documentation. The application I am developing will require the dynamic creation, and removal of publications. Also, when developing applications the complete removal of a publication is absolutely necessary when you have botched a publication. Thus my first question is What sequence of ResourceManager, and ConsolidatorManager function calls will completely remove a Publication?.
    I also have two issues remaining with the code that I have so far developed. These issues will most likely be resolved, when I obtain instructions on how to completely remove a publication, and associated users. But, perhaps not. Referencing the Publish.java file that follows this problem description,
         1. The ResourceManager function dropUser does not drop a user. See my comments, and code beginning at line 277 in Publish.java. Do I need to de-instantiate all subscriptions, and unsubscribe all subscription users before calling this function.? I think, I tried the de-instantiate, unsubscribe sequence without success, but in the confusion I may not have made the try.
         2. How do I get rid of an index created with the ConsolidatorManager function DropPublicationItemIndex?. My comments on this problem begin at line 522 in Publish.java. For some reason the DropPublicationItemIndex function call made below line 448 does not work. What function calls are required prior to calling the DropPublicationItemIndex function?
    Throughout the Publish.java code, I have made comments about some of the problems that I have had in getting the sample11 code working for my installation parameters. I think these comments should help the programmers maintaining the ResourceManager, and ConsolidatorManager code improve the stability of the programs. Please pass these comments, and attached files to the appropriate individuals,
    if you are in a position to do so.
    The other files that follow the Publish.java code are
         1. Compile.bat - Compiles Publish.java using j2sdk1.4.0.
         2. Run.bat - Executes Publish using \ j2sdk1.4.0\jre\server\jvm.dll.
         3. Webtogo.ora
         4. tnsnames.ora for the Mobile Server.
         5. tnsnames.ora for the Database.
    Feel free to access my server if you need to do so in resolving my problems. The parameters you will need to gain access can be found at the top of Publish.java, and in the included *.ora files.
    Thanks,
    Thomas G. Matney
    [email protected]
    (662)325-2791
    //Start of Publish.java code
    // Oracle HTTP Server URL = http://yggdrasill.cfr.msstate.edu:7778
    // = http://130.18.168.225:7778
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center username = administrator
    // Mobile Server Control Center password = admin
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile administrator username = fiafield // Schema FIAFIELD on FIA.CFR.MSSTATE.EDU
    // Mobile administrator password = fiafield // Username and password are the same
    import java.sql.SQLException;
    import java.sql.*;
    import oracle.lite.sync.Consolidator;
    import oracle.lite.sync.ConsolidatorManager;
    import oracle.mobile.admin.ResourceManager;
    import oracle.mobile.admin.ResException;
    import oracle.sql.*;
    import oracle.jdbc.*;
    import oracle.mobile.admin.*;
    public class Publish
    // Schema names and usernames are not case sensitive.
    // UN fiafield = FIAFIELD
    // SCHEMA fiafield = FIAFIELD
    // Schema name/Username, and password used on creation of Mobile Repository
    static String CONS_SCHEMA = "fiafield";
    static String DEFAULT_PASSWORD = "fiafield";
    static String admin_jdbc_url = "jdbc:oracle:oci8:@WEBTOGO.WORLD";
    static String thin_jdbc_url =
    "jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU";
    static String Publication;
    static String CreateTreeTableShortNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "id FLOAT,"
    + "subp FLOAT,"
    + "rnum FLOAT,"
    + "st FLOAT,"
    + "unit FLOAT,"
    + "cnty FLOAT,"
    + "plot FLOAT,"
    + "cyc FLOAT,"
    + "scyc FLOAT,"
    + "tree FLOAT,"
    + "ncpt FLOAT NULL,"
    + "dist FLOAT NULL,"
    + "diam FLOAT NULL,"
    + "dmht FLOAT NULL,"
    + "dmck FLOAT NULL,"
    + "spec FLOAT NULL,"
    + "lang FLOAT NULL,"
    + "nctc FLOAT NULL,"
    + "stat FLOAT NULL,"
    + "util FLOAT NULL,"
    + "deca FLOAT NULL,"
    + "crat FLOAT NULL,"
    + "ccls FLOAT NULL,"
    + "az FLOAT NULL,"
    + "cond FLOAT NULL,"
    + "tlen FLOAT NULL,"
    + "alen FLOAT NULL,"
    + "lmet FLOAT NULL,"
    + "nctg FLOAT NULL,"
    + "rcul FLOAT NULL,"
    + "ncpd FLOAT NULL,"
    + "dead FLOAT NULL,"
    + "mor FLOAT NULL,"
    + "modm FLOAT NULL,"
    + "dml1 FLOAT NULL,"
    + "dmt1 FLOAT NULL,"
    + "dms1 FLOAT NULL,"
    + "dma1 FLOAT NULL,"
    + "dml2 FLOAT NULL,"
    + "dmt2 FLOAT NULL,"
    + "dms2 FLOAT NULL,"
    + "dma2 FLOAT NULL,"
    + "dml3 FLOAT NULL,"
    + "dmt3 FLOAT NULL,"
    + "dms3 FLOAT NULL,"
    + "dma3 FLOAT NULL,"
    + "dbtr FLOAT NULL,"
    + "dbsp FLOAT NULL,"
    + "nxtn FLOAT NULL,"
    + "dbds FLOAT NULL,"
    + "dbaz FLOAT NULL,"
    + "psta FLOAT NULL,"
    + "fiat FLOAT NULL,"
    + "fhmt FLOAT NULL"
    + ")";
    static String CreateTreeTableLongNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "ID FLOAT,"
    + "SUBPLOT FLOAT,"
    + "RECORD_NUMBER FLOAT,"
    + "STATE FLOAT,"
    + "UNIT FLOAT,"
    + "COUNTY FLOAT,"
    + "PLOT FLOAT,"
    + "CYCLE FLOAT,"
    + "SUBCYCLE FLOAT,"
    + "TREE FLOAT,"
    + "NC_PLOT_TYPE FLOAT,"
    + "DISTANCE FLOAT NULL,"
    + "DIAMETER FLOAT NULL,"
    + "DIAMETER_HEIGHT FLOAT NULL,"
    + "DIAMETER_CHECK FLOAT NULL,"
    + "SPECIES FLOAT NULL,"
    + "LEAN_ANGLE FLOAT NULL,"
    + "NC_TREE_CLASS FLOAT NULL,"
    + "STATUS FLOAT NULL,"
    + "UTILIZATION FLOAT NULL,"
    + "DECAY FLOAT NULL,"
    + "CROWN_RATIO FLOAT NULL,"
    + "CROWN_CLASS FLOAT NULL,"
    + "AZIMUTH FLOAT NULL,"
    + "CONDITION FLOAT NULL,"
    + "TOTAL_LENGTH FLOAT NULL,"
    + "ACTUAL_LENGTH FLOAT NULL,"
    + "LENGTH_METHOD FLOAT NULL,"
    + "NC_TREE_GRADE FLOAT NULL,"
    + "ROTTEN_CULL FLOAT NULL,"
    + "NC_PREVIOUS_DBH FLOAT NULL,"
    + "CAUSE_OF_DEATH FLOAT NULL,"
    + "MORTALITY_YEAR FLOAT NULL,"
    + "MO_DAMAGE FLOAT NULL,"
    + "DAMAGE_LOCATION1 FLOAT NULL,"
    + "DAMAGE_TYPE1 FLOAT NULL,"
    + "DAMAGE_SEVERITY1 FLOAT NULL,"
    + "NC_DAMAGE_AGENT1 FLOAT NULL,"
    + "DAMAGE_LOCATION2 FLOAT NULL,"
    + "DAMAGE_TYPE2 FLOAT NULL,"
    + "DAMAGE_SEVERITY2 FLOAT NULL,"
    + "NC_DAMAGE_AGENT2 FLOAT NULL,"
    + "DAMAGE_LOCATION3 FLOAT NULL,"
    + "DAMAGE_TYPE3 FLOAT NULL,"
    + "DAMAGE_SEVERITY3 FLOAT NULL,"
    + "NC_DAMAGE_AGENT3 FLOAT NULL,"
    + "DB_TREE FLOAT NULL,"
    + "DB_SPECIES FLOAT NULL,"
    + "NEXT_NUMBER FLOAT NULL,"
    + "DB_DISTANCE FLOAT NULL,"
    + "DB_AZIMUTH FLOAT NULL,"
    + "PREVIOUS_STATUS FLOAT NULL,"
    + "FIA_TREE_NUMBER FLOAT NULL,"
    + "FHM_TREE FLOAT NULL"
    + ")";
    public static void main(String argv[]) throws Throwable
    // Publish - an OKAPI sample
    if(argv.length == 2)
    CONS_SCHEMA = argv[0] ;
    DEFAULT_PASSWORD = argv[1] ;
    //create required tables using standard jdbc
    //DriverManager.registerDriver ((Driver)Class.forName ("oracle.jdbc.driver.OracleDriver").newInstance ());
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    Connection c = null;
    Statement s = null;
    try
    // Open connection to Mobile Repositoty/FIAFIELD schema as SYSTEM.
    // Need the ability to grant resources, and connection to Mobile Repository user
    //c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD", "SYSTEM", "phwphw" );
    // Remote connection. See attached webtogo.ora.
    c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD.YGG",
    "SYSTEM", "phwphw");
    s = c.createStatement ();
    try
    s.executeUpdate("DROP table FIAFIELD.ZMTR1TBL");
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate(CreateTreeTableShortNames);
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate("alter table FIAFIELD.ZMTR1TBL add constraint"
    +" zmtr1tbl_pk primary key(subp, tree)");
    catch (SQLException ee)
    ee.printStackTrace ();
    // Line 223 // create consolidator publications.
    try
    // *****!!!!! Unless the Webtogo.ora file is in the current working
    // directory the connection is not made. This version of the resource
    // manager must be looking for the file in the old 8i Mobile default
    // directory. This is a definite problem. If the code was working, the
    // addition of the webtogo.ora should have affect on the functionality
    // of the code.
    // The connection is made to the Mobile Server. At least no exceptions
    // are thrown, provided the webtogo.ora is in the current working
    // directory.
    //oracle.mobile.admin.ResourceManager.openConnection(CONS_SCHEMA, DEFAULT_PASSWORD);
    // I tried making a direct connect to possibly avoid needing to have the
    // webtogo.ora file in the current directory. The direct coonect did not work.
    // You can quickly convince yourself that the webtogo.ora file must
    // be in the current working directory, by running the code with and
    // without the webtogo.ora in the current working directory.
    // The directory OraLiteHome\Mobile\Server\bin is in the PATH after
    // after installation but the extension .ora is not in PATHEXT. The
    // OraLite installer should put .ora in PATHEXT. I tried adding .ora
    // to the PATHEXT, but it still could not find thw webtogo.ora file,
    // and it should have. What is going on? I am a bit rusty on DOS so
    // I may not have thing right.
    // OraLiteHome\Mobile\Server\bin is the residing directory for
    // the functional copy of the webtogo.ora file.
    oracle.mobile.admin.ResourceManager.openConnection(
    CONS_SCHEMA,
    DEFAULT_PASSWORD,
    "jdbc:oracle:oci8:@WEBTOGO.WORLD");
    catch(ResException ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    // The Mobile user is created, and then the function throws a resource exception.
    // This is a serious problem with the code. One would assume that the user
    // is not created if and exception is thrown.
    // This appears to be a bug in the createUser code. The function should return
    // false if the user is not created, and handle, or not throw the exception.
    // The function always returns false. It does return true when a user is created
    // because it throws an exception.
    boolean bIsCreated;
    System.out.println("Begin of why is ResourceManager not dropping users?");
    // Line 277
    try
    // The dropUser function will not drop a user. I have tested the function
    // by creating the user ZMPT1UA in the Mobile Server Control Center
    // http://Yggdrasill.cfr.msstate.edu/webtogo
    // so I know that the user exist.
    // This function throws a ResException but it is not declared correctly
    // since you cannot trap the exception as a ResException. It always tells
    // me the view does not exist. What steps are required to get the function
    // to work? What function calls need to be made prior to calling the dropUser
    // function.
    oracle.mobile.admin.ResourceManager.dropUser("ZMPT1UA");
    catch (Throwable ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    System.out.println("End of why is ResourceManager not dropping users?");
    try
    bIsCreated = oracle.mobile.admin.ResourceManager.createUser(
    "ZMPT1UA",
    DEFAULT_PASSWORD,
    "ZMPT1UA", "S");
    catch (Throwable ee)
    ee.printStackTrace (); // Ignore exception
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    // Create CONS_SCHEMA user on the database with the same username, and
    // password as the user on the Mobile Server side. This is why the
    // DriverManager connection was made as SYSTEM/phwphw.
    // Grant ALL to repository, and user on replicated database
    // On the database side there is a user with un = fiafield,
    // and pw = fiafield, which is the same as the Mobile Repository
    // schema name/password pair fiafield/fiafield. Can this duality
    // create a problem? Probably not.
    // Need SYSTEM ADMIN privilages for the next two steps, and that is
    // why the coonection was established as SYSTEM/phwphw.
    // Make user, and grants for Publish to user CONS_SCHEMA, and ZMPT1UA
    System.out.println("Pargress point D");
    try
    s.execute("Create user " + "ZMPT1UA" + " identified by " + DEFAULT_PASSWORD);
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + CONS_SCHEMA + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + "ZMPT1UA" + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    /* This code is not needed to test the code
    // Insert items into table FIAFIELD.ZMTR1TBL from FIAFIELD.HUSKY_TREE
    String Statement =
    "INSERT INTO FIAFIELD.ZMTR1TBL SELECT * from FIAFIELD.HUSKY_TREE WHERE PLOT = 1";
    try
    s.execute(Statement);
    catch (SQLException ee)
    System.out.println("FIAFIELD.HUSKY_TREE was not inserted into FIAFIELD.ZMTR1TBL");
    ee.printStackTrace (); // ignore
    c.commit ();
    catch (SQLException ee)
    ee.printStackTrace ();
    finally
    if (s!= null) try {s.close ();}catch (SQLException e1){}
    if (c!= null) try {c.close ();}catch (SQLException e2){}
    // The Consolidator class is not thread safe, and I will eventually
    // need thread safety. The ConsolidatorManage class is thread safe.
    //Consolidator ConsolidatorXX = new Consolidator();
    ConsolidatorManager ConsolidatorXX = new ConsolidatorManager();
    // Line 386
    // Try opening a connection. Sample11 does not open a connection, but it seems
    // like a logical first thing to do.
    // At least with this connection the DropPublication, and AddPublication functions
    // appear to work, or at least they do not throw exceptions. The DropPublication
    // throws an exception if a publication does not exist? I tested this and indeed
    // if I call the DropPublication function, and do not create the Publication again
    // when I reenter the program the DropPublication function throws an exception, and
    // produces the correct error message(The publication does not exist). There is hope.
    // It is very disturbing that the program fails unless the webtogo.ora file is not
    // in the current working directory. Because the OpenConnection functions of both
    // the ResourceManager, and ConsolidatorManager both appear to need access to the
    // webtogo.ora file, and they are finding them in the current directory, the
    // logical conclusion is that both of the classes are attempting to open the
    // webtogo.ora with the relative path webtogo.ora, and not the absolute path
    // OraHomeLite/Mobile/Server/Bin/webtogo.ora. As this has to be the case, why
    // is this very important fact not in the documentation? Or, am I wrong?
    Connection conn = null;
    try
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD);
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD,
    //"jdbc:oracle:oci8:@WEBTOGO.WORLD");
    conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    CONS_SCHEMA,DEFAULT_PASSWORD);
    //conn = DriverManager.getConnection
    //("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    //"SYSTEM","phwphw");
    ConsolidatorXX.OpenConnection(conn);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Publication name
    Publication = "ZMTR1PUB";
    try
    ConsolidatorXX.DeinstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    System.out.println("Could not Deinstantiate Subscription ZMPT1UA");
    e.printStackTrace(); //ignore error
    // Line 448
    // There is no Consolidator.OpenConnection in the orginal sample11.java code.
    // Why?. It appears to be neccessary. The only way I can make the sample11 code
    // or this program work is to open a jdbc connection with the Consolidator.OpenConnection
    // function. I assume that somehow the Consolidator.OpenConnection function was
    // deleted from sample11.java.
    // This try to drop a publication index does not work, because when I try
    // to recreate the index in the following code it warns me that I have a
    // bad column name for the index. So it thinks the index still exist.
    // Why?. How do I get rid of the index?
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItem("ZMTR1ITM");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublication(Publication);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    //ConsolidatorXX.CreatePublication(Publication, Consolidator.OKPI_CREATOR_ID,
    //"zMTR1.%s", null);
    ConsolidatorXX.CreatePublication(Publication, Consolidator.OKAPI_WINCE,
    "zMTR1.%s", null);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.CreatePublicationItem("ZMTR1ITM","FIAFIELD","ZMTR1TBL", "F",
    "SELECT * FROM FIAFIELD.ZMTR1TBL", null, null);
    catch (Throwable e)
    e.printStackTrace();
    System.out.println("Begin of how can drop this index and get rid of the warning?");
    // Line 522
    // I defined the index ZMTR1IX1 originally on the variable subp, and did not get
    // any warning. I then changed the index variable for the index to id, and started
    // receiving the warning to check the index column for typographical errors. Even
    // if I change the index variable back to subp, I continue to receive the warning.
    // How do I get rid of the index and the warning, so I can recreate the index for
    // another variable? I quess the real question is "How to I completely remove a
    // publication, and all of its parts so I can start over?
    try
    ConsolidatorXX.CreatePublicationItemIndex(
    "ZMTR1IX1", "ZMTR1ITM", "I", "id");
    catch (Throwable e)
    e.printStackTrace ();
    System.out.println("End of how can drop this index and get rid of the warning?");
    try
    ConsolidatorXX.AddPublicationItem(
    Publication, "ZMTR1ITM", null, null, "S", null, null);
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CreateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.InstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CloseConnection();
    if(conn != null)
    conn.close();
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    oracle.mobile.admin.ResourceManager.closeConnection();
    End of Publish.java code     
    Begin Compile.bat
    set CLASSPATH = .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\javac Publish.java
    End Compile.bat          
    Begin Run.bat
    set CLASSPATH= .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\java Publish
    End Run.bat
    Begin webtogo.ora
    USE_SYSTEM_CLASSPATH = NO
    MODE = SERVER
    PORT = 80
    BASE_URL=/webtogo
    ADMIN_TNS_NAME=WEBTOGO.WORLD
    ADMIN_JDBC_URL=jdbc:oracle:oci8:@WEBTOGO.WORLD
    APPLET_USE_THIN_JDBC = YES
    THIN_JDBC_URL=jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU
    SITE_OFFLINE_PERIOD=0
    CUSTOM_WORKSPACE=no
    CUSTOM_DIRECTORY=myworkspace
    DEFAULT_PAGE=myfirstpage.html
    ADMIN_USER=8B37E78535B55525292A3A2929292999
    ADMIN_PASSWORD=873515A838B85828292A3A2929292999
    [EXTERNAL_AUTHENTICATION]
    #CLASS=com.acme.SampleAuthenticator
    # Web-to-go workspace's font
    FONT_NAME=Arial
    [FILESYSTEM]
    #ROOT_DIR=%WEBTOGO_HOME%\server
    #TYPE=O8
    #TYPE=OL
    #TYPE=OS
    # Cache size in MBs
    #CACHE_SIZE=10
    MAX_CONNECTIONS=4
    [DEBUG]
    #ENABLE=YES
    # The log file name.
    #LOG_FILE=test.log
    # Machine name and port where wsh.exe -m is running. Web-to-go
    # will send debug output to that machine.
    #MACHINE=
    #PORT=100
    [APPLICATIONS]
    XMLFILE = ws1.xml
    PACK_HELP=D:\OraLite501\mobile\doc\wtg\html\wtgdep.htm
    [PUBLIC]
    oracle.lite.sync.ConsolidatorServlet=/Consolidator
    [CONSOLIDATOR]
    # Installer will change these values
    SERVER_VERSION=8.1.5
    # 8.0.5 or 8.1.5
    # Installer won't change these values
    MAX_THREADS=3
    JDBC_DRIVER=oracle.jdbc.driver.OracleDriver
    CREATE_USER_OPTIONS_O8I=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS TEMPORARY TABLESPACE INDX QUOTA UNLIMITED ON INDX
    CREATE_USER_OPTIONS_O8=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USR QUOTA UNLIMITED ON USR
    TEMPORARY TABLESPACE TEMPORARY QUOTA UNLIMITED ON TEMPORARY
    TEMP=c:\\temp
    WTG_PROXY_PORT=80
    TRACE=NO
    TRACE_ALL=NO
    End webtogo.ora
    Begin Mobile Server tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\OraLite501\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    WEBTOGO.WORLD =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    WEBTOGO.WORLD.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    End Mobile Server tnsnames.ora file
    Begin Database tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    INST1_HTTP.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    FIA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGGDRASILL.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    End Database tnsnames.ora file

    Dear Oracle technical representative, or user:
    I need to programmatically create, and remove publications using the pure JAVA classes of Consolidator, ConsolidatorManager, and ResourceManager for the Mobile Server in OracleLite 9i Release 5.0.1. On the creation side I have managed to get the example found in the directory OraLite501\Mobile\Server\Sample\Sample11 functioning using my installation parameters. I had a very difficult time of it because (1) the sample11 code fails to open an jdbc connection to the Mobile Server Repository Schema with the function Consolidator.OpenConnection, and (2) the ResourceManager function openConnection will not work unless the Webtogo.ora file is in the current working directory. The ConsolidatorManager function OpenConnection may also not work unless the Webtogo.ora file is in the current working directory, but I did test the hypothesis. Both of these problems need to be addressed in the sample11 code, and documentation to save other software developers from wasting hours of their valuable time. See line 223, 386, and 448 in the Publish.Java code that follows this problem description.
    With the above two problems resolved, I can now programmatically create publications, but no hints on how to programmatically remove a publication exist in the documentation. The application I am developing will require the dynamic creation, and removal of publications. Also, when developing applications the complete removal of a publication is absolutely necessary when you have botched a publication. Thus my first question is What sequence of ResourceManager, and ConsolidatorManager function calls will completely remove a Publication?.
    I also have two issues remaining with the code that I have so far developed. These issues will most likely be resolved, when I obtain instructions on how to completely remove a publication, and associated users. But, perhaps not. Referencing the Publish.java file that follows this problem description,
         1. The ResourceManager function dropUser does not drop a user. See my comments, and code beginning at line 277 in Publish.java. Do I need to de-instantiate all subscriptions, and unsubscribe all subscription users before calling this function.? I think, I tried the de-instantiate, unsubscribe sequence without success, but in the confusion I may not have made the try.
         2. How do I get rid of an index created with the ConsolidatorManager function DropPublicationItemIndex?. My comments on this problem begin at line 522 in Publish.java. For some reason the DropPublicationItemIndex function call made below line 448 does not work. What function calls are required prior to calling the DropPublicationItemIndex function?
    Throughout the Publish.java code, I have made comments about some of the problems that I have had in getting the sample11 code working for my installation parameters. I think these comments should help the programmers maintaining the ResourceManager, and ConsolidatorManager code improve the stability of the programs. Please pass these comments, and attached files to the appropriate individuals,
    if you are in a position to do so.
    The other files that follow the Publish.java code are
         1. Compile.bat - Compiles Publish.java using j2sdk1.4.0.
         2. Run.bat - Executes Publish using \ j2sdk1.4.0\jre\server\jvm.dll.
         3. Webtogo.ora
         4. tnsnames.ora for the Mobile Server.
         5. tnsnames.ora for the Database.
    Feel free to access my server if you need to do so in resolving my problems. The parameters you will need to gain access can be found at the top of Publish.java, and in the included *.ora files.
    Thanks,
    Thomas G. Matney
    [email protected]
    (662)325-2791
    //Start of Publish.java code
    // Oracle HTTP Server URL = http://yggdrasill.cfr.msstate.edu:7778
    // = http://130.18.168.225:7778
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center URL = http://yggdrasill.cfr.msstate.edu/webtogo
    // = http://130.18.168.225/webtogo
    // Mobile Server Control Center username = administrator
    // Mobile Server Control Center password = admin
    // Mobile Server URL = http://yggdrasill.cfr.msstate.edu/webtogo/startup
    // = http://130.18.168.225/webtogo/startup
    // Mobile administrator username = fiafield // Schema FIAFIELD on FIA.CFR.MSSTATE.EDU
    // Mobile administrator password = fiafield // Username and password are the same
    import java.sql.SQLException;
    import java.sql.*;
    import oracle.lite.sync.Consolidator;
    import oracle.lite.sync.ConsolidatorManager;
    import oracle.mobile.admin.ResourceManager;
    import oracle.mobile.admin.ResException;
    import oracle.sql.*;
    import oracle.jdbc.*;
    import oracle.mobile.admin.*;
    public class Publish
    // Schema names and usernames are not case sensitive.
    // UN fiafield = FIAFIELD
    // SCHEMA fiafield = FIAFIELD
    // Schema name/Username, and password used on creation of Mobile Repository
    static String CONS_SCHEMA = "fiafield";
    static String DEFAULT_PASSWORD = "fiafield";
    static String admin_jdbc_url = "jdbc:oracle:oci8:@WEBTOGO.WORLD";
    static String thin_jdbc_url =
    "jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU";
    static String Publication;
    static String CreateTreeTableShortNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "id FLOAT,"
    + "subp FLOAT,"
    + "rnum FLOAT,"
    + "st FLOAT,"
    + "unit FLOAT,"
    + "cnty FLOAT,"
    + "plot FLOAT,"
    + "cyc FLOAT,"
    + "scyc FLOAT,"
    + "tree FLOAT,"
    + "ncpt FLOAT NULL,"
    + "dist FLOAT NULL,"
    + "diam FLOAT NULL,"
    + "dmht FLOAT NULL,"
    + "dmck FLOAT NULL,"
    + "spec FLOAT NULL,"
    + "lang FLOAT NULL,"
    + "nctc FLOAT NULL,"
    + "stat FLOAT NULL,"
    + "util FLOAT NULL,"
    + "deca FLOAT NULL,"
    + "crat FLOAT NULL,"
    + "ccls FLOAT NULL,"
    + "az FLOAT NULL,"
    + "cond FLOAT NULL,"
    + "tlen FLOAT NULL,"
    + "alen FLOAT NULL,"
    + "lmet FLOAT NULL,"
    + "nctg FLOAT NULL,"
    + "rcul FLOAT NULL,"
    + "ncpd FLOAT NULL,"
    + "dead FLOAT NULL,"
    + "mor FLOAT NULL,"
    + "modm FLOAT NULL,"
    + "dml1 FLOAT NULL,"
    + "dmt1 FLOAT NULL,"
    + "dms1 FLOAT NULL,"
    + "dma1 FLOAT NULL,"
    + "dml2 FLOAT NULL,"
    + "dmt2 FLOAT NULL,"
    + "dms2 FLOAT NULL,"
    + "dma2 FLOAT NULL,"
    + "dml3 FLOAT NULL,"
    + "dmt3 FLOAT NULL,"
    + "dms3 FLOAT NULL,"
    + "dma3 FLOAT NULL,"
    + "dbtr FLOAT NULL,"
    + "dbsp FLOAT NULL,"
    + "nxtn FLOAT NULL,"
    + "dbds FLOAT NULL,"
    + "dbaz FLOAT NULL,"
    + "psta FLOAT NULL,"
    + "fiat FLOAT NULL,"
    + "fhmt FLOAT NULL"
    + ")";
    static String CreateTreeTableLongNames =
    "CREATE TABLE FIAFIELD.ZMTR1TBL("
    + "ID FLOAT,"
    + "SUBPLOT FLOAT,"
    + "RECORD_NUMBER FLOAT,"
    + "STATE FLOAT,"
    + "UNIT FLOAT,"
    + "COUNTY FLOAT,"
    + "PLOT FLOAT,"
    + "CYCLE FLOAT,"
    + "SUBCYCLE FLOAT,"
    + "TREE FLOAT,"
    + "NC_PLOT_TYPE FLOAT,"
    + "DISTANCE FLOAT NULL,"
    + "DIAMETER FLOAT NULL,"
    + "DIAMETER_HEIGHT FLOAT NULL,"
    + "DIAMETER_CHECK FLOAT NULL,"
    + "SPECIES FLOAT NULL,"
    + "LEAN_ANGLE FLOAT NULL,"
    + "NC_TREE_CLASS FLOAT NULL,"
    + "STATUS FLOAT NULL,"
    + "UTILIZATION FLOAT NULL,"
    + "DECAY FLOAT NULL,"
    + "CROWN_RATIO FLOAT NULL,"
    + "CROWN_CLASS FLOAT NULL,"
    + "AZIMUTH FLOAT NULL,"
    + "CONDITION FLOAT NULL,"
    + "TOTAL_LENGTH FLOAT NULL,"
    + "ACTUAL_LENGTH FLOAT NULL,"
    + "LENGTH_METHOD FLOAT NULL,"
    + "NC_TREE_GRADE FLOAT NULL,"
    + "ROTTEN_CULL FLOAT NULL,"
    + "NC_PREVIOUS_DBH FLOAT NULL,"
    + "CAUSE_OF_DEATH FLOAT NULL,"
    + "MORTALITY_YEAR FLOAT NULL,"
    + "MO_DAMAGE FLOAT NULL,"
    + "DAMAGE_LOCATION1 FLOAT NULL,"
    + "DAMAGE_TYPE1 FLOAT NULL,"
    + "DAMAGE_SEVERITY1 FLOAT NULL,"
    + "NC_DAMAGE_AGENT1 FLOAT NULL,"
    + "DAMAGE_LOCATION2 FLOAT NULL,"
    + "DAMAGE_TYPE2 FLOAT NULL,"
    + "DAMAGE_SEVERITY2 FLOAT NULL,"
    + "NC_DAMAGE_AGENT2 FLOAT NULL,"
    + "DAMAGE_LOCATION3 FLOAT NULL,"
    + "DAMAGE_TYPE3 FLOAT NULL,"
    + "DAMAGE_SEVERITY3 FLOAT NULL,"
    + "NC_DAMAGE_AGENT3 FLOAT NULL,"
    + "DB_TREE FLOAT NULL,"
    + "DB_SPECIES FLOAT NULL,"
    + "NEXT_NUMBER FLOAT NULL,"
    + "DB_DISTANCE FLOAT NULL,"
    + "DB_AZIMUTH FLOAT NULL,"
    + "PREVIOUS_STATUS FLOAT NULL,"
    + "FIA_TREE_NUMBER FLOAT NULL,"
    + "FHM_TREE FLOAT NULL"
    + ")";
    public static void main(String argv[]) throws Throwable
    // Publish - an OKAPI sample
    if(argv.length == 2)
    CONS_SCHEMA = argv[0] ;
    DEFAULT_PASSWORD = argv[1] ;
    //create required tables using standard jdbc
    //DriverManager.registerDriver ((Driver)Class.forName ("oracle.jdbc.driver.OracleDriver").newInstance ());
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    Connection c = null;
    Statement s = null;
    try
    // Open connection to Mobile Repositoty/FIAFIELD schema as SYSTEM.
    // Need the ability to grant resources, and connection to Mobile Repository user
    //c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD", "SYSTEM", "phwphw" );
    // Remote connection. See attached webtogo.ora.
    c = DriverManager.getConnection ("jdbc:oracle:oci8:@WEBTOGO.WORLD.YGG",
    "SYSTEM", "phwphw");
    s = c.createStatement ();
    try
    s.executeUpdate("DROP table FIAFIELD.ZMTR1TBL");
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate(CreateTreeTableShortNames);
    catch (SQLException ee)
    ee.printStackTrace ();
    try
    s.executeUpdate("alter table FIAFIELD.ZMTR1TBL add constraint"
    +" zmtr1tbl_pk primary key(subp, tree)");
    catch (SQLException ee)
    ee.printStackTrace ();
    // Line 223 // create consolidator publications.
    try
    // *****!!!!! Unless the Webtogo.ora file is in the current working
    // directory the connection is not made. This version of the resource
    // manager must be looking for the file in the old 8i Mobile default
    // directory. This is a definite problem. If the code was working, the
    // addition of the webtogo.ora should have affect on the functionality
    // of the code.
    // The connection is made to the Mobile Server. At least no exceptions
    // are thrown, provided the webtogo.ora is in the current working
    // directory.
    //oracle.mobile.admin.ResourceManager.openConnection(CONS_SCHEMA, DEFAULT_PASSWORD);
    // I tried making a direct connect to possibly avoid needing to have the
    // webtogo.ora file in the current directory. The direct coonect did not work.
    // You can quickly convince yourself that the webtogo.ora file must
    // be in the current working directory, by running the code with and
    // without the webtogo.ora in the current working directory.
    // The directory OraLiteHome\Mobile\Server\bin is in the PATH after
    // after installation but the extension .ora is not in PATHEXT. The
    // OraLite installer should put .ora in PATHEXT. I tried adding .ora
    // to the PATHEXT, but it still could not find thw webtogo.ora file,
    // and it should have. What is going on? I am a bit rusty on DOS so
    // I may not have thing right.
    // OraLiteHome\Mobile\Server\bin is the residing directory for
    // the functional copy of the webtogo.ora file.
    oracle.mobile.admin.ResourceManager.openConnection(
    CONS_SCHEMA,
    DEFAULT_PASSWORD,
    "jdbc:oracle:oci8:@WEBTOGO.WORLD");
    catch(ResException ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    // The Mobile user is created, and then the function throws a resource exception.
    // This is a serious problem with the code. One would assume that the user
    // is not created if and exception is thrown.
    // This appears to be a bug in the createUser code. The function should return
    // false if the user is not created, and handle, or not throw the exception.
    // The function always returns false. It does return true when a user is created
    // because it throws an exception.
    boolean bIsCreated;
    System.out.println("Begin of why is ResourceManager not dropping users?");
    // Line 277
    try
    // The dropUser function will not drop a user. I have tested the function
    // by creating the user ZMPT1UA in the Mobile Server Control Center
    // http://Yggdrasill.cfr.msstate.edu/webtogo
    // so I know that the user exist.
    // This function throws a ResException but it is not declared correctly
    // since you cannot trap the exception as a ResException. It always tells
    // me the view does not exist. What steps are required to get the function
    // to work? What function calls need to be made prior to calling the dropUser
    // function.
    oracle.mobile.admin.ResourceManager.dropUser("ZMPT1UA");
    catch (Throwable ee)
    ee.printStackTrace (); // NULL Pointer Exception?
    System.out.println("End of why is ResourceManager not dropping users?");
    try
    bIsCreated = oracle.mobile.admin.ResourceManager.createUser(
    "ZMPT1UA",
    DEFAULT_PASSWORD,
    "ZMPT1UA", "S");
    catch (Throwable ee)
    ee.printStackTrace (); // Ignore exception
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    // Create CONS_SCHEMA user on the database with the same username, and
    // password as the user on the Mobile Server side. This is why the
    // DriverManager connection was made as SYSTEM/phwphw.
    // Grant ALL to repository, and user on replicated database
    // On the database side there is a user with un = fiafield,
    // and pw = fiafield, which is the same as the Mobile Repository
    // schema name/password pair fiafield/fiafield. Can this duality
    // create a problem? Probably not.
    // Need SYSTEM ADMIN privilages for the next two steps, and that is
    // why the coonection was established as SYSTEM/phwphw.
    // Make user, and grants for Publish to user CONS_SCHEMA, and ZMPT1UA
    System.out.println("Pargress point D");
    try
    s.execute("Create user " + "ZMPT1UA" + " identified by " + DEFAULT_PASSWORD);
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + CONS_SCHEMA + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    try
    s.execute("GRANT ALL ON FIAFIELD.ZMTR1TBL to " + "ZMPT1UA" + " WITH GRANT OPTION");
    catch (SQLException ee)
    ee.printStackTrace (); // ignore
    /* This code is not needed to test the code
    // Insert items into table FIAFIELD.ZMTR1TBL from FIAFIELD.HUSKY_TREE
    String Statement =
    "INSERT INTO FIAFIELD.ZMTR1TBL SELECT * from FIAFIELD.HUSKY_TREE WHERE PLOT = 1";
    try
    s.execute(Statement);
    catch (SQLException ee)
    System.out.println("FIAFIELD.HUSKY_TREE was not inserted into FIAFIELD.ZMTR1TBL");
    ee.printStackTrace (); // ignore
    c.commit ();
    catch (SQLException ee)
    ee.printStackTrace ();
    finally
    if (s!= null) try {s.close ();}catch (SQLException e1){}
    if (c!= null) try {c.close ();}catch (SQLException e2){}
    // The Consolidator class is not thread safe, and I will eventually
    // need thread safety. The ConsolidatorManage class is thread safe.
    //Consolidator ConsolidatorXX = new Consolidator();
    ConsolidatorManager ConsolidatorXX = new ConsolidatorManager();
    // Line 386
    // Try opening a connection. Sample11 does not open a connection, but it seems
    // like a logical first thing to do.
    // At least with this connection the DropPublication, and AddPublication functions
    // appear to work, or at least they do not throw exceptions. The DropPublication
    // throws an exception if a publication does not exist? I tested this and indeed
    // if I call the DropPublication function, and do not create the Publication again
    // when I reenter the program the DropPublication function throws an exception, and
    // produces the correct error message(The publication does not exist). There is hope.
    // It is very disturbing that the program fails unless the webtogo.ora file is not
    // in the current working directory. Because the OpenConnection functions of both
    // the ResourceManager, and ConsolidatorManager both appear to need access to the
    // webtogo.ora file, and they are finding them in the current directory, the
    // logical conclusion is that both of the classes are attempting to open the
    // webtogo.ora with the relative path webtogo.ora, and not the absolute path
    // OraHomeLite/Mobile/Server/Bin/webtogo.ora. As this has to be the case, why
    // is this very important fact not in the documentation? Or, am I wrong?
    Connection conn = null;
    try
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD);
    //ConsolidatorXX.OpenConnection(CONS_SCHEMA,
    //DEFAULT_PASSWORD,
    //"jdbc:oracle:oci8:@WEBTOGO.WORLD");
    conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    CONS_SCHEMA,DEFAULT_PASSWORD);
    //conn = DriverManager.getConnection
    //("jdbc:oracle:oci8:@WEBTOGO.WORLD",
    //"SYSTEM","phwphw");
    ConsolidatorXX.OpenConnection(conn);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Publication name
    Publication = "ZMTR1PUB";
    try
    ConsolidatorXX.DeinstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    System.out.println("Could not Deinstantiate Subscription ZMPT1UA");
    e.printStackTrace(); //ignore error
    // Line 448
    // There is no Consolidator.OpenConnection in the orginal sample11.java code.
    // Why?. It appears to be neccessary. The only way I can make the sample11 code
    // or this program work is to open a jdbc connection with the Consolidator.OpenConnection
    // function. I assume that somehow the Consolidator.OpenConnection function was
    // deleted from sample11.java.
    // This try to drop a publication index does not work, because when I try
    // to recreate the index in the following code it warns me that I have a
    // bad column name for the index. So it thinks the index still exist.
    // Why?. How do I get rid of the index?
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItem("ZMTR1ITM");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublication(Publication);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    //ConsolidatorXX.CreatePublication(Publication, Consolidator.OKPI_CREATOR_ID,
    //"zMTR1.%s", null);
    ConsolidatorXX.CreatePublication(Publication, Consolidator.OKAPI_WINCE,
    "zMTR1.%s", null);
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.DropPublicationItemIndex("ZMTR1IX1");
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    try
    ConsolidatorXX.CreatePublicationItem("ZMTR1ITM","FIAFIELD","ZMTR1TBL", "F",
    "SELECT * FROM FIAFIELD.ZMTR1TBL", null, null);
    catch (Throwable e)
    e.printStackTrace();
    System.out.println("Begin of how can drop this index and get rid of the warning?");
    // Line 522
    // I defined the index ZMTR1IX1 originally on the variable subp, and did not get
    // any warning. I then changed the index variable for the index to id, and started
    // receiving the warning to check the index column for typographical errors. Even
    // if I change the index variable back to subp, I continue to receive the warning.
    // How do I get rid of the index and the warning, so I can recreate the index for
    // another variable? I quess the real question is "How to I completely remove a
    // publication, and all of its parts so I can start over?
    try
    ConsolidatorXX.CreatePublicationItemIndex(
    "ZMTR1IX1", "ZMTR1ITM", "I", "id");
    catch (Throwable e)
    e.printStackTrace ();
    System.out.println("End of how can drop this index and get rid of the warning?");
    try
    ConsolidatorXX.AddPublicationItem(
    Publication, "ZMTR1ITM", null, null, "S", null, null);
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CreateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.InstantiateSubscription(Publication, "ZMPT1UA");
    catch (Throwable e)
    e.printStackTrace ();
    try
    ConsolidatorXX.CloseConnection();
    if(conn != null)
    conn.close();
    catch (Throwable e)
    e.printStackTrace(); //ignore error
    // Obsolete or depreciated function, according to documentation?
    oracle.mobile.admin.ResourceManager.commitTransaction();
    oracle.mobile.admin.ResourceManager.closeConnection();
    End of Publish.java code     
    Begin Compile.bat
    set CLASSPATH = .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\javac Publish.java
    End Compile.bat          
    Begin Run.bat
    set CLASSPATH= .;D:\jdk1.4.0\lib\tools.jar;D:\OraLite501\MOBILE\classes\CONSOLIDATOR.JAR;D:\OraLite501\MOBILE\SERVER\BIN\WEBTOGO.JAR;D:\OraLite501\jdbc\lib\classes12.zip;D:\OraLite501\MOBILE\classes\classgen.jar;D:\OraLite501\MOBILE\classes\servlet.jar;D:\OraLite501\MOBILE\CLASSES\OLITE40.JAR
    set PATH= d:\jdk1.4.0\jre\bin\server;d:\jdk1.4.0\bin;D:\OraLite501\bin;D:\OraLite501\Mobile\Server\bin;D:\oracle\ora92\bin;D:\OraLite501\MOBILE\sdk\bin
    d:\jdk1.4.0\bin\java Publish
    End Run.bat
    Begin webtogo.ora
    USE_SYSTEM_CLASSPATH = NO
    MODE = SERVER
    PORT = 80
    BASE_URL=/webtogo
    ADMIN_TNS_NAME=WEBTOGO.WORLD
    ADMIN_JDBC_URL=jdbc:oracle:oci8:@WEBTOGO.WORLD
    APPLET_USE_THIN_JDBC = YES
    THIN_JDBC_URL=jdbc:oracle:thin:@YGGDRASILL:1521:FIA.YGGDRASILL.CFR.MSSTATE.EDU
    SITE_OFFLINE_PERIOD=0
    CUSTOM_WORKSPACE=no
    CUSTOM_DIRECTORY=myworkspace
    DEFAULT_PAGE=myfirstpage.html
    ADMIN_USER=8B37E78535B55525292A3A2929292999
    ADMIN_PASSWORD=873515A838B85828292A3A2929292999
    [EXTERNAL_AUTHENTICATION]
    #CLASS=com.acme.SampleAuthenticator
    # Web-to-go workspace's font
    FONT_NAME=Arial
    [FILESYSTEM]
    #ROOT_DIR=%WEBTOGO_HOME%\server
    #TYPE=O8
    #TYPE=OL
    #TYPE=OS
    # Cache size in MBs
    #CACHE_SIZE=10
    MAX_CONNECTIONS=4
    [DEBUG]
    #ENABLE=YES
    # The log file name.
    #LOG_FILE=test.log
    # Machine name and port where wsh.exe -m is running. Web-to-go
    # will send debug output to that machine.
    #MACHINE=
    #PORT=100
    [APPLICATIONS]
    XMLFILE = ws1.xml
    PACK_HELP=D:\OraLite501\mobile\doc\wtg\html\wtgdep.htm
    [PUBLIC]
    oracle.lite.sync.ConsolidatorServlet=/Consolidator
    [CONSOLIDATOR]
    # Installer will change these values
    SERVER_VERSION=8.1.5
    # 8.0.5 or 8.1.5
    # Installer won't change these values
    MAX_THREADS=3
    JDBC_DRIVER=oracle.jdbc.driver.OracleDriver
    CREATE_USER_OPTIONS_O8I=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USERS QUOTA UNLIMITED ON USERS TEMPORARY TABLESPACE INDX QUOTA UNLIMITED ON INDX
    CREATE_USER_OPTIONS_O8=PROFILE CONSOLIDATOR_CLIENT_P DEFAULT TABLESPACE USR QUOTA UNLIMITED ON USR
    TEMPORARY TABLESPACE TEMPORARY QUOTA UNLIMITED ON TEMPORARY
    TEMP=c:\\temp
    WTG_PROXY_PORT=80
    TRACE=NO
    TRACE_ALL=NO
    End webtogo.ora
    Begin Mobile Server tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\OraLite501\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    WEBTOGO.WORLD =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    WEBTOGO.WORLD.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = YGGDRASILL.CFR.MSSTATE.EDU)(PORT = 1521))
    (CONNECT_DATA =
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    End Mobile Server tnsnames.ora file
    Begin Database tnsnames.ora file
    # TNSNAMES.ORA Network Configuration File: D:\oracle\ora92\network\admin\tnsnames.ora
    # Generated by Oracle configuration tools.
    INST1_HTTP.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = SHARED)
    (SERVICE_NAME = MODOSE)
    (PRESENTATION = http://HRService)
    FIA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGGDRASILL.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    FIA.YGG =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = yggdrasill.cfr.msstate.edu)(PORT = 1521))
    (CONNECT_DATA =
    (SERVER = DEDICATED)
    (SERVICE_NAME = FIA.YGGDRASILL.CFR.MSSTATE.EDU)
    EXTPROC_CONNECTION_DATA.CFR.MSSTATE.EDU =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC0))
    (CONNECT_DATA =
    (SID = PLSExtProc)
    (PRESENTATION = RO)
    End Database tnsnames.ora file

  • Axis resource allocation and the MID-7654

    Hello All,
    I am currently transferring my application over to use the MID-7654 instead of third party drives.  Below is the start up process I am using to allocate the axis resources:
      //kill and disable all axes
      flex_stop_motion(boardID,0,NIMC_KILL_STOP,0x000F);
      flex_enable_axes(boardID,0,3,0x00);
      //unmap all axis resources
      flex_config_axis(boardID,NIMC_AXIS1,0,0,0,0);
      flex_config_axis(boardID,NIMC_AXIS2,0,0,0,0);
      flex_config_axis(boardID,NIMC_AXIS3,0,0,0,0);
      flex_config_axis(boardID,NIMC_AXIS4,0,0,0,0);
      //map encoder resources to axes 1 and 2
      flex_config_axis(boardID,NIMC_AXIS1,NIMC_ENCODER1,0,0,0);
      flex_config_axis(boardID,NIMC_AXIS2,NIMC_ENCODER2,0,0,0);
      //enable axes 1 and 2
      u8 mask = MASK1|MASK2;
      status = flex_enable_axes(boardID,0,3,mask);
    Basically, I want to use the encoder resources for each axis for position/velocity monitoring and control the analog outputs directly to change the torque of the motors.  Since my impedance control software is closing the position and velocity loops, I do not want to use the PID controller onboard the PCI-7344.
    The above code worked fine with the third party drive.  However, after starting up my application with the MID drive, all of the orange inhibit LEDs turn on and remain that way (I assume it is to do with killing and disabling all of the axes and not mapping output resources to them).  Since I wasn't previously using the inhibit output from the motion controller, my application worked fine with the third party drive (I was still able to read the encoder feedback information).
    Also, when I was using the MAX '1-D interactive' interface to verify my encoder feedback, if I move either encoder immediately after initialization the 'Motor off' and 'Following error' lights turn red.  I assume this is due to the encoder moving without a command sent from the motor).
    Can anyone see any problems with the above code segment or suggest an initialization procedure that would solve my problems.  Or if all else fails, is it possible to control the inhibit signals directly to enable/disable the axes on my own?
    Wow... I certainly rambled on a bit there....  If you need clarification on any points let me know.  Also, I am on a bit of a time crunch, so a prompt reply would be greatly appreciated.
    Thanks,
    Chad

    Chad,
    I'm a bit astonished that you don't want to use the PID controller on the board. Onboard PID control is one of the main reasons why you would like to use a motion control board instead of a simple multifunction I/O device. The onboard PID loop of the 7344 can run with up to 16 kHz with very low jitter whilst using the DACs directly from your host application will result in a control loop with less than 200 Hz and a high amount of jitter - even if you were using a real-time OS. This will result in poor control behavior.
    This is caused by the architecture of the board. The DACs can be controlled directly by the DSP on the board with high rates in a determenistic way but the host can access them only through the board's µController that runs the host communication in 5 ms cycles that can't be synchronized with the application on the host PC. So for this usecase a combination of e. g. a PCI-6229 (multifunction DAQ board with 4 analog outputs) and a PCI-6601 (4 counters with direct quadrature encoder connectivity) would do a much better job at even a lower price.
    With this said I really can't reccomend the usage of a PCI-7344 as a pure I/O-board. Please provide some information why you want/need to choose this approach. There are a lot of options to build customized motion control systems. Please follow this link for some further information.
    A key feature of every control system is deterministic behavior so you will need to run your application on a real-time OS. Otherwise you won't be able to get a reliable control behavior.
    I can give you some more specific advice if you post some background information about your application.
    Best regards,
    Jochen Klier
    National Instruments Germany

  • Newbie question about component and UDF usage.

    This will be the 1st time I'm coding a component and UDF. I
    kind of understand the concept but not sure about how to write it
    in detail.Such as passing the parameter, etc.
    I'm starting to write a user login, verifying users before
    allowing them to enter into the app.
    So I have 2 fields in my login form, Login and password.
    Upon submitting this form, on the actionpage.cfm I'm calling
    a component. This is how I call the component:
    <CFINVOKE Component="cfc/loginaction"
    Method="AuthentiCateUser" ReturnVariable="UserInfo">
    Then in my Component I have the following:
    <CFCOMPONENT>
    <CFFUNCTION Name="AuthentiCateUser" RETURNTYPE="Query"
    hint="Use for user login">
    <CFARGUMENT Name="login" Type="Structure"
    Required="true">
    <CFARGUMENT Name="password" Type="Structure"
    Required="true">
    <!--- checking user authentication --->
    <CFQUERY NAME="Authenticate" DATASOURCE="sendfast">
    SELECT * FROM tblcustomer WHERE Login = '#Login#' AND
    Password = '#Password#'
    </CFQUERY>
    <CFRETURN AuthentiCateUser>
    </CFFUNCTION>
    </CFCOMPONENT>
    When I run this code, I got error, it said :
    The parameter LOGIN to function AuthentiCateUser is required
    but was not passed in.
    The error occurred in
    C:\CFusionMX\wwwroot\KDt_Mod\userloginaction.cfm: line 18
    16 : <CFSET
    UserLoginInfo["Password"]="#Form.Password#"> 17 : 18 :
    <CFINVOKE Component="cfc/loginaction" Method="AuthentiCateUser"
    ReturnVariable="UserInfo">
    19 :
    My question is:
    What should I do in order to pass #Form.Login# and
    #Form.Password# to my UDF within my component?
    I'm using CFMX 6 and Micrisift SQL 8

    I've applied cfinvokeargument and my login and password were
    passed to my component.
    But I'm facing new problem: Where should I write my
    authentication? should I write user authentication within my
    component or
    loginaction.cfm (the calling template)
    What I mean by authentication is something like this:
    <CFIF #Authenticate.RecordCount# IS NOT 0>
    <cfset session.CustomerID
    ="#Authenticate.customerid#">
    <cfset session.Name ="#Authenticate.Name#">
    <CFCOOKIE NAME="UserLoginIn"
    VALUE="12345_pn#Authenticate.customerid#">
    <cflocation url="index.cfm?loc=home">
    <CFELSE>
    <script language="JavaScript">
    alert("Username/password is not found, plese try again");
    history.go(-1);
    </script>
    <cfabort>
    </CFIF>
    If I keep this code in my loginaction.cfm what is returned
    from my function is not recognized by the component, the error said
    Authenticate.RecordCount is not recognized.
    Also I'm still confuse with what should I put in the
    RETURNTYPE. If I put query, it gave me error, also, what is
    returned by CFRETURN.
    This is my component:
    <CFCOMPONENT>
    <CFFUNCTION Name="AuthentiCateUser" RETURNTYPE="Query"
    hint="Use for user login">
    <CFARGUMENT Name="login" Type="Structure"
    Required="true">
    <CFARGUMENT Name="password" Type="Structure"
    Required="true">
    <!--- checking user authentication --->
    <CFQUERY NAME="Authenticate" DATASOURCE="sendfast">
    SELECT * FROM tblcustomer WHERE Login = '#Login#' AND
    Password = '#Password#'
    </CFQUERY>
    <CFRETURN AuthentiCateUser>
    </CFFUNCTION>
    </CFCOMPONENT>

  • SNP and DP T.Code and Tables

    Hi
    Can anyone send me SAP APO (SNP, DP) module transaction code and standard Tables
    Thanks & Regards,
    Ram

    Following are some transactions:
    Hope it helps:::::
    TCode Text
    /INCMD/UI Maintenance of Interchageable groups
    /SAPAPO/86000118
    /SAPAPO/AC03 Product Availability
    /SAPAPO/AC04 ATP Simulation
    /SAPAPO/AC05 Time Series
    /SAPAPO/AC06 Temporary Quantity Assignments
    /SAPAPO/AC07 Exclusive Lock Records
    /SAPAPO/AC08 Generate Safety Stock Requirement
    /SAPAPO/AC42 Display Product Allocation Situation
    /SAPAPO/ADVM Macro Workbench
    /SAPAPO/AHTS1 Start-up of Action Handler
    /SAPAPO/AMON1 Alert Monitor
    /SAPAPO/AMONMSG Settings 'Automatic Sending'
    /SAPAPO/AMONMSG_SEND Sending Alerts
    /SAPAPO/AMON_REORG Delete Database Alerts
    /SAPAPO/AMON_SETTING Alert Monitor Settings
    /SAPAPO/ATP2PPDS ATP -> PP/DS Conv. in Background
    /SAPAPO/ATPC00 Global Settings
    /SAPAPO/ATPC01 ATP Group
    /SAPAPO/ATPC02 Business Event
    /SAPAPO/ATPC03 Maintain Categories
    /SAPAPO/ATPC04_05 Maintain ATP Check Control
    /SAPAPO/ATPC06 Maintain Check Mode
    /SAPAPO/ATPC07 Maintain Check Mode
    /SAPAPO/ATPC08 Maintain Requirements Profile
    /SAPAPO/ATPCH01 Maintain ATP Characteristic View
    /SAPAPO/ATPCLOG_DEL ATP: Delete C Log Files
    /SAPAPO/ATPCQ_AREA Maintain Plng Area Assignments
    /SAPAPO/ATPCQ_CHECK Check Prod. Allocations Customizing
    /SAPAPO/ATPCQ_CUBE Maintain InfoCube Assignment
    /SAPAPO/ATPCQ_GENER Generate Objects
    /SAPAPO/ATPCQ_GRP Maintain Product Allocation Group
    /SAPAPO/ATPCQ_LST Maintain Seq. of Prod. Alloc.Proced.
    /SAPAPO/ATPCQ_OBJ Maintain Product Allocations Object
    /SAPAPO/ATPCQ_PRO Maintain Product Alloc. Procedure
    /SAPAPO/ATPCQ_RESET Reset Time Stamp
    /SAPAPO/ATPCQ_TSTMP APO: Generation Status, Transfer
    /SAPAPO/ATPLOG Activate ATP Application Log
    /SAPAPO/ATPLOG_DEL ATP: Delete Application Log
    /SAPAPO/ATPLOG_DSP ATP: Display Application Log
    /SAPAPO/ATPQ_ALERT APO: Product Allocations, Shortage
    /SAPAPO/ATPQ_CHKCHAR Check Characteristics Combinations
    /SAPAPO/ATPQ_CHKCUST Product Alloc. Assgmt, Sales Order
    /SAPAPO/ATPQ_CHKUSG Check Product Allocation Assignment
    /SAPAPO/ATPQ_COLLECT Generate Coll. Prod. Alloc. Charact.
    /SAPAPO/ATPQ_KCGRP_U Product Allocations: Update Assgmt
    /SAPAPO/ATPQ_PAREA_C Copy Characteristics Combinations
    /SAPAPO/ATPQ_PAREA_K Copy Characteristics Combination
    /SAPAPO/ATPQ_PAREA_R Product Allocations from Plan. Area
    /SAPAPO/ATPQ_PAREA_W Product Allocations in Plan. Area
    /SAPAPO/ATPTUBE_DISP Display Parameter Buffers
    /SAPAPO/ATREE_DSP ATP: Display ATP Tree Structures
    /SAPAPO/BLRG01 Generation of Reqmnts from Blocks
    /SAPAPO/BOP ATP: Batch Backorder Processing
    /SAPAPO/BOPI Backorder Processing (Interactive)
    /SAPAPO/BOP_COMPARE Backorder Processing: Comparison
    /SAPAPO/BOP_DELETE Delete Backorder Processing
    /SAPAPO/BOP_MONITOR Monitor Backorder Processing
    /SAPAPO/BOP_RESULT Backorder Processing Results
    /SAPAPO/BOP_RUNTIME Backorder Processing: Runtimes
    /SAPAPO/BOP_UPDATE Backorder Processing: Update
    /SAPAPO/BOP_VS ATP: Backorder Processing for VS
    /SAPAPO/BOP_WORKLIST ATP, BOP: Worklist
    /SAPAPO/BP1 Send Transaction Data
    /SAPAPO/BP2 Delete Transaction Data
    /SAPAPO/C3 Display Application Log
    /SAPAPO/C4 Maintenance of global parameters
    /SAPAPO/C41 Activate/Deactivate Login
    /SAPAPO/C5 Send Planning Results to OLTP
    /SAPAPO/C6 Delete Application Log
    /SAPAPO/C7 Find Entries
    /SAPAPO/CALENDAR Calendar
    /SAPAPO/CC Core Interface Cockpit
    /SAPAPO/CCR CIF_DELTAREPORT3
    /SAPAPO/CCRR CIF Compare/Reconcile Reorganization
    /SAPAPO/CDPS0 DPS Variable View
    /SAPAPO/CDPS1 DPS View 1
    /SAPAPO/CDPS2 DPS View 2
    /SAPAPO/CDPS3 DPS View 3
    /SAPAPO/CDPSB0 Production Planning Run
    /SAPAPO/CDPSB1 Prod. Planning Run in the Background
    /SAPAPO/CDPSC6 Customizing: Setup Group Maintenance
    /SAPAPO/CDPSC7 Maintenance of Setup Matrices
    /SAPAPO/CDPSS0 Simulation Version
    /SAPAPO/CDPS_REPT Evaluations
    /SAPAPO/CDPS_SETUP List Output for Setup Matrix
    /SAPAPO/CLPIPCAL Collaborative Promotion Planning
    /SAPAPO/CLPISDP Collab. Supply and Demand Planning
    /SAPAPO/CLPITPL Collaborative Transport. Planning
    /SAPAPO/CLPRPDEL CLP: Delete RFQs
    /SAPAPO/CLPRPIN Incoming RFQ Processes
    /SAPAPO/CLPRPOUT Outgoing RFQ Processes
    /SAPAPO/CLPRPSTART CLP: Publish RFQs
    /SAPAPO/CLP_PBPULL Read Time Series
    /SAPAPO/CLP_PBPUSH Send Time Series
    /SAPAPO/CLP_SETTINGS Collaboration Partners
    /SAPAPO/CMDS_DEFCNF Maintain Default Confirm. Profiles
    /SAPAPO/CMDS_DEFCNTR Maintain Default Control Profiles
    /SAPAPO/CMDS_DEL Delete Releases and Confirmations
    /SAPAPO/CMDS_SCO1 Maintain Sales Scheduling Agreements
    /SAPAPO/CMDS_SCO2 Delete Sales Scheduling Agreements
    /SAPAPO/CMDS_SCO4 Manage Fiscal Year
    /SAPAPO/CMDS_STPD Define Sold-To Party Determination
    /SAPAPO/CMDS_STPSR Define Inbound Release Processing
    /SAPAPO/COMP_VARIANT Comparison of Product Variants
    /SAPAPO/CONSCHK Model Consistency Check
    /SAPAPO/CONSPRF Model Consistency Check: Profile
    /SAPAPO/CONSSHOW Read log from database
    /SAPAPO/CPP CIF Postprocessing
    /SAPAPO/CPP1 CIF Postprocessing: Multiple Call
    /SAPAPO/CPP2 Display CIF Postprocessing Records
    /SAPAPO/CPPA CIF Error Handling: Alert
    /SAPAPO/CPPR Reorg. CIF Postprocessing Records
    /SAPAPO/CQ SCM Queue Manager
    /SAPAPO/CQINW qRFC Monitoring for Inbound Queues
    /SAPAPO/CSNP Costs Maintenance: SNP
    /SAPAPO/CSPRF Maintain TSP Profile
    /SAPAPO/CTM Capable-to-Match: Main Screen
    /SAPAPO/CTM01 CTM: Consistency Check
    /SAPAPO/CTM02 CTM: Stock Limits
    /SAPAPO/CTM10 CTM: Distribute Receipt Objects
    /SAPAPO/CTMAPLOG CTM Logs
    /SAPAPO/CTMB Execute CTM in Background
    /SAPAPO/CTMCUST CTM: Global Customizing
    /SAPAPO/CTMMSEL Selection of CTM Master Data
    /SAPAPO/CTMORDSEL CTM: Maintain Order Selection
    /SAPAPO/CTMSCPR Profile Maint. Supply Categorization
    /SAPAPO/CTMSSTRAT Define CTM Search Strategy
    /SAPAPO/CTMTP Transport CTM Profile
    /SAPAPO/CTMTSTR Define CTM Time Stream
    /SAPAPO/CTMVIEWER CTM: Call Viewer
    /SAPAPO/CTRP Costs Maintenance - Vehicle Sched.
    /SAPAPO/CULL_RTO_DEL Delete Production Data Structure
    /SAPAPO/CURTO_GEN_DP Generate DP PDS
    /SAPAPO/CURTO_SIMU Display Production Data Structures
    /SAPAPO/CW qRFC Monitoring
    /SAPAPO/DFCT Maintain Distribution Function
    /SAPAPO/DISPLAY_CONF Display of DelSched and Confirmation
    /SAPAPO/DMP1 Display Consumption Situation
    /SAPAPO/DMP2 Generate Planned Independent Reqmts
    /SAPAPO/DM_PEGCHECK Consistency Check Pegging Areas
    /SAPAPO/DPC3 Change Overview
    /SAPAPO/DPLSPLIT Deployment Stk Transfer Prioritizatn
    /SAPAPO/GEN_CHK_PDS Generate iPPE Check PDS
    /SAPAPO/GEN_PDS Generation of iPPE PDS
    /SAPAPO/INCMD_MODEL Model Assignment
    /SAPAPO/IPM01 integrated profile management
    /SAPAPO/LCOUT Release from SNP -> DP
    /SAPAPO/LOC3 Master Data: Locations
    /SAPAPO/LOCTZCALC Calculate transport zone coordinates
    /SAPAPO/LOC_CD_READ Change Documents for Location
    /SAPAPO/LOC_DEL_LOG Location: Delete Application Log
    /SAPAPO/LOC_DISP_LOG Location: Display Application Log
    /SAPAPO/MASSGEOCODE Location: Mass-Geocoding
    /SAPAPO/MAT1 Product
    /SAPAPO/MC62 Maintain Characteristic Values
    /SAPAPO/MC77 Change Selection
    /SAPAPO/MC7A Location Split
    /SAPAPO/MC7B Product Split
    /SAPAPO/MC8D Mass Processing: Create Planning
    /SAPAPO/MC8E Mass Processing: Change Planning
    /SAPAPO/MC8F Delete Planning Job
    /SAPAPO/MC8G Schedule Mass Processing
    /SAPAPO/MC8I Mass Processing: Check Planning
    /SAPAPO/MC8J Copy Mass Processing Jobs
    /SAPAPO/MC8K Logs
    /SAPAPO/MC8S Transfer Profiles
    /SAPAPO/MC8T Activity
    /SAPAPO/MC8U Transfer Profile
    /SAPAPO/MC8V Calculate Proportional Factors
    /SAPAPO/MC90 Release to Supply Network Planning
    /SAPAPO/MC96B Maintain Forecast Profile
    /SAPAPO/MCPSELDEL Delete selections
    /SAPAPO/MD74 Reorganization: Adapt Indep.Reqmts
    /SAPAPO/MNTPROF01 Maintain Display Profile
    /SAPAPO/MP31 Maintain Promotion Attribute Types
    /SAPAPO/MP32 Maintain Cannibalization Group
    /SAPAPO/MP33 Maintain Promotion Key Figures
    /SAPAPO/MP34 Supply & Demand Planner: Init.Screen
    /SAPAPO/MP40 Maintain Promotion Bases
    /SAPAPO/MP41A Maintain Settings for Report
    /SAPAPO/MP41B Promotion Reports
    /SAPAPO/MP42 Promotion Management
    /SAPAPO/MSDP_ADMIN S&DP Administration
    /SAPAPO/MSDP_FCST1 Lifecycle Settings
    /SAPAPO/MSDP_FCST2 Assign Forecast Profiles
    /SAPAPO/MSDP_SB Safety Stock Calculation
    /SAPAPO/MSP01 Maint. and Service Planning Board
    /SAPAPO/MSP_CYCMAINT Cycle Maintenance
    /SAPAPO/MSP_ESIM MSP Easy Simulation
    /SAPAPO/MSP_MOBJ Maintenance of one Maint. Object
    /SAPAPO/MSP_PERFPROF Maintenance of Performance Profile
    /SAPAPO/MTL01 Maintenance Task List
    /SAPAPO/MVM Model/Planning version
    /SAPAPO/OM03 Test Program for liveCache and LCA
    /SAPAPO/OM04 Display of Current LCA Version
    /SAPAPO/OM11 Log
    /SAPAPO/OM12 Delete Log
    /SAPAPO/OM13 Analyze liveCache and LCA Objects
    /SAPAPO/OM16 Data Viewer
    /SAPAPO/OM17 Data Reconciliation
    /SAPAPO/OM25 Daily Reorganization of APO
    /SAPAPO/OO_PPM_CONV Maint. Mode Comb. for PPM Conversion
    /SAPAPO/OPT03 Optimizer User Display
    /SAPAPO/OPT09 Optimization Version Display
    /SAPAPO/OPT11 Log display
    /SAPAPO/OPT12 Opt. server process overview
    /SAPAPO/OPT_PRIOPROF SNP Opt.: Priority Profile
    /SAPAPO/OPT_STOP Terminate Optimization Runs
    /SAPAPO/PCMT Production Campaign
    /SAPAPO/PDSLOG Log of PDS Generation
    /SAPAPO/PEG1 Pegging Overview
    /SAPAPO/PMON Plan Monitor
    /SAPAPO/PMONDEF Definition: Key figure schema
    /SAPAPO/POM1 Planned Order Management
    /SAPAPO/POV1 Product Overview Transaction
    /SAPAPO/PPC1 Backflush Entry
    /SAPAPO/PPC2 Display Backflush
    /SAPAPO/PPE iPPE Workbench Professional
    /SAPAPO/PPELUI iPPE Workbench Express
    /SAPAPO/PPFSCO Output of Confirmations
    /SAPAPO/PPL1 Production List
    /SAPAPO/PPM_CONV Conversion of PP/DS PPMs to SNP PPMs
    /SAPAPO/PPM_CONV_310 Report for Generating SNP PPMs
    /SAPAPO/PPM_CONV_LOG Log of SNP-PPM generation
    /SAPAPO/PPM_DEL Mass Deletion of Plans and PPMs
    /SAPAPO/PPT1 Product Planning Table
    /SAPAPO/PROD_CD_READ Change Documents for Produkt
    /SAPAPO/PSTRUCONS Plng Obj. Struct. Consistency Check
    /SAPAPO/PWBSCH1 Create SA Release(s)
    /SAPAPO/PWBSCH2 Release Output
    /SAPAPO/PWBSCH3 Process Sched. Agreement Releases
    /SAPAPO/PWBSCH4 Enter Confirmation
    /SAPAPO/PWBSRC1 Ext. Procure. Rltnshps Maintenance
    /SAPAPO/PWBSRC2 Delete External Proc. Relationships
    /SAPAPO/RBA04 Integrated Rule Maintenance
    /SAPAPO/RBAC01 Maintain Rule Strategy Determination
    /SAPAPO/RELHSHOW Hierarchy Maintenance
    /SAPAPO/REL_TO_OLTP Direct Release InfoProvider to R/3
    /SAPAPO/REL_TO_SNP Direct Release InfoProvider to SNP
    /SAPAPO/REORG_WUL Reorg. of Where-Used-Lists in LC
    /SAPAPO/RES01 Change Resources
    /SAPAPO/RET2 Restrictions Maint.- Create & Change
    /SAPAPO/RET_EVAL Restriction Evaluation
    /SAPAPO/RET_RP Restrictions & Reservation Planning
    /SAPAPO/RLCDEL Delete Orders from Livecache
    /SAPAPO/RLGCOPY Realignment
    /SAPAPO/RRP1 Requirements View
    /SAPAPO/RRP2 Process Order
    /SAPAPO/RRP3 Product View
    /SAPAPO/RRP4 Receipts view
    /SAPAPO/RRP7 Mass Conversion of Orders
    /SAPAPO/RRP8 ATP Check for REM Planned Orders
    /SAPAPO/RRPEVAL Log for Last Planning Run
    /SAPAPO/RRPLOG1 Display Logs
    /SAPAPO/RRPLOG2 Delete Logs
    /SAPAPO/RRP_ATP2PPDS ATP Tree Structure Conversion
    /SAPAPO/RRP_NETCH Planning File Entries
    /SAPAPO/RRP_SNP2PPDS Conversion SNP -> PP/DS
    /SAPAPO/RSP_CONSIS Cons. Check RSC + Per.-Slot Creation
    /SAPAPO/RSP_DBORSHOW Display Configuration for Orders
    /SAPAPO/RSP_DCR Releasing Daily Packages
    /SAPAPO/RSP_DICP Daily Package Creation
    /SAPAPO/RSP_D_DEL Delete Delta Records
    /SAPAPO/RSP_EXPLAIN Explanation Facility
    /SAPAPO/RSP_G1 Planning Table
    /SAPAPO/RSP_INFO Information Center RP
    /SAPAPO/RSP_LC01 Initialize Time Series
    /SAPAPO/RSP_LC03 Update Time Series
    /SAPAPO/RSP_LC04 Restore Time Series
    /SAPAPO/RSP_MCSC Manuf.Compl. Proposed Orders f.Stock
    /SAPAPO/RSP_P1 Copy Orders
    /SAPAPO/RSP_P2 Start Medium-Term Planning
    /SAPAPO/RSP_P3 Reset Result of Medium-term Planning
    /SAPAPO/RSP_RD_SIMU Simulation of Restriction Explosion
    /SAPAPO/RSP_RSC Rescheduling
    /SAPAPO/RTO_ORD_COMP Compare PP/DS PDS (R/3)
    /SAPAPO/SCC02 Supply Chain Cockpit
    /SAPAPO/SCC03 PPM Maintenance
    /SAPAPO/SCC07 Supply Chain Engineer
    /SAPAPO/SCC_TL1 Transportation Lanes
    /SAPAPO/SCC_TL2 Mass Creation of Transport Rltnships
    /SAPAPO/SCC_TQ1 Quota Arrangements
    /SAPAPO/SCC_USR_PROF SCC Cockpit User Settings
    /SAPAPO/SCE_USR_PROF SCC Engineer User Settings
    /SAPAPO/SCHED_TEST Simul. Transp. & Shipment Scheduling
    /SAPAPO/SDP8B Define Planning Book
    /SAPAPO/SDP94 Supply & Demand Planner: Init.Screen
    /SAPAPO/SDPALPR Assign Planners to Alert Profiles
    /SAPAPO/SDPPLBK Assign User to Planning Book
    /SAPAPO/SDPT SD Sched. Agrmt. Prod.Planning Table
    /SAPAPO/SDPUSET SDP User Settings
    /SAPAPO/SDRQCR21 Correction Report /sapapo/sdrqcr21
    /SAPAPO/SEQ1 Interactive Sequencing
    /SAPAPO/SEQ2 Model Mix Planning Run
    /SAPAPO/SNP01 SNP Run
    /SAPAPO/SNP02 Deployment
    /SAPAPO/SNP03 Call Deployment Optimizer
    /SAPAPO/SNP04 Transport Load Builder
    /SAPAPO/SNP05 Capacity leveling
    /SAPAPO/SNP06 Hierarchical Planning Disaggregation
    /SAPAPO/SNP103 Maintain TLB Profile
    /SAPAPO/SNP113 SNP: Maintain Costs
    /SAPAPO/SNP2PPDS SNP -> PP/DS Conv. in Background/SAPAPO/SNP94          SNP: Interactive Planning
    /SAPAPO/SNPAPLOG          Application Logs
    /SAPAPO/SNPDRP          DRP: Interactive Planning
    /SAPAPO/SNPFCST          Release SNP Forecast
    /SAPAPO/SNPLLC          Low-Level Code Determination
    /SAPAPO/SNPOP          Call Up SNP Optimizer
    /SAPAPO/SNPOPLOG          SNP Optimizer Log Data
    /SAPAPO/SNPSA          Sched. Agreemt: Interactive Planning
    /SAPAPO/SNPSOP          SOP: Interactive Planning
    /SAPAPO/SNPSRC          Call: Sourcing of Forecast in SNP
    /SAPAPO/SNPTLB          TLB: Interactive Planning
    /SAPAPO/SNPVMI          SNP: Interactive Planning with VMI
    /SAPAPO/SUPCAT          CTM Supply Category Maintenance
    /SAPAPO/TI01          Evaluation of Production Tracking
    /SAPAPO/TLBPRF          TLB Profile Maintenance
    /SAPAPO/TR30          Maintain DP/SNP Time Buckets Profile
    /SAPAPO/TR32          Periodicities for Planning Area
    /SAPAPO/TR_CD_QUOTA          Change Docs for Quota Arrangements
    /SAPAPO/TR_CD_TLANE          Change Docs for Transportation Lanes
    /SAPAPO/TR_DELTRPR          Deletion of Prod.-Spec. Trnsp. Lane
    /SAPAPO/TR_IGS_BPSEL          Scheduling of GIS Preselection
    /SAPAPO/TR_IGS_BUTRM          Update of GIS Data
    /SAPAPO/TR_IGS_RPSEL          Reorganization of GIS Preselection
    /SAPAPO/TSCONS          Time Ser. Network Consistency Check
    /SAPAPO/TSCOPY          Copy/Version Management
    /SAPAPO/TSCUBE          Load Planning Area Version
    /SAPAPO/TSKEYFMAIN          Mass Maint. for Time Series Key Fig.
    /SAPAPO/TSLCREORG          Check LC Time Series Master Data
    /SAPAPO/TSPSTRU          Toolbox for Planning Object Struct.
    /SAPAPO/TTC1          Schedule Maintenance
    /SAPAPO/TTV1          Maintain Validity Area
    /SAPAPO/TTW1          Itinerary Maintenance
    /SAPAPO/VERCOP          Copy Version
    /SAPAPO/VERDELLD          Delete a planning version
    /SAPAPO/VERMER          Merge Planning Versions (SNP)
    /SAPAPO/VERMRM          Merge Versions: Messages
    /SAPAPO/VS01          VS Interactive Planning
    /SAPAPO/VS05          Schedule optimization run
    /SAPAPO/VS10          Transportation Service Provider Sel.
    /SAPAPO/VS11          TPVS: Define Delivery/Pickup Windows
    /SAPAPO/VS12          TP/VS: Define Compatibilities
    /SAPAPO/VS50          Orders for Delivery Generation
    /SAPAPO/VS501          Schedule Delivery Generation
    /SAPAPO/VS51          Change Plan. Shipments to Shipments
    /SAPAPO/VS511          Transfer Planned Shipments to OLTP
    /SAPAPO/VS52          Check Release of Planned Shipments
    /SAPAPO/VS521          Check Release of Planned Shipments
    /SAPAPO/VS53          Deleting deliveries
    /SAPAPO/VS531          Delete Deliveries
    /SAPAPO/VS54          Deleting Shipments
    /SAPAPO/VS541          Delete Shipments
    /SAPAPO/VS551          Release Shipments in the Background
    /SAPAPO/VS60          Monitor for OLTP Publication
    /SAPAPO/VS70          Apply Split Rules
    /SAPAPO/VS71          Determine Split Rules
    /SAPAPO/VS72          Maintain Access Sequence for Splits
    /SAPAPO/VS73          Maintain Split Rules
    /SAPAPO/VSHIST          Display the Change History
    /SAPCND/AO01          Conditions: V_T681F for O RB
    /SAPCND/AO03          Create condition table
    /SAPCND/AO04          Change condition table
    /SAPCND/AO05          Display condition table
    /SAPCND/AO06          Condition Type: Rules-Based ATP
    /SAPCND/AO07          Access: Maintain (Rules-Based ATP)
    /SAPCND/AO08          Conditions: Procedure for O RB
    /SAPCND/AO11          Create Rule Determination
    /SAPCND/AO12          Change Rule Determination
    /SAPCND/AO13          Display Rule Determination
    /SAPCND/AO14          Copy Rule Determination
    /SAPCND/AU11          Create Scheduling Step
    /SAPCND/AU12          Change Scheduling Step
    /SAPCND/AU13          Display Scheduling Step
    /SAPCND/AU14          Copy Scheduling Step
    /SCMB/ODM_CHECK          ODM: Check Customizing
    /SCMB/ODM_DATA_CHECK          ODM: Check Data Consistency
    AHTGL01          Action and Parameter Maintenance
    AHTGL02          Definition of Action Points
    BAPI          BAPI Explorer
    CL02          Classes
    CL20N          Object Assignments
    CL22N          Assign Class to Superior Classes
    CL24N          Class Assignments
    CT04          Characteristics
    LC10          liveCache Assistant
    LSMW          Legacy System Migration Workbench
    MASSD          Mass Maintenance
    MDEM          Orders with Explosion Errors
    MDMD          Matrix for Product/Location
    MDRPM          Control Data for RPM Products
    OPPE13          User Assgmt: iPPE WB Professional
    OPPELUI02          User Assignment: iPPE WB Express
    PPECHK          iPPE Consistency Check (Prod. Vers.)
    PPEHDR01          Create a Production Version
    PPEHDR02          Change a Production Version
    PPEHDR03          Display a Production Version
    RPMBAL          Line Balancing for Demand Program
    RPMCALL          Explosion for RPM
    RPMEVAL          Evaluations
    RPMLOG          RPM Log
    RPMPERF          Display Performance Data
    RPMPLF          Planning Flags for Planning Matrices
    RPM_DATEVECTORS_REOR          Reorganize Table of Periods in LC
    RPM_DATEVECTOR_COMPU          Calculate Table of Periods f. Res.
    RPM_OM_DATEVECTOR_SH          Display Table of Periods from LC
    RPM_RESOURCE_TSTREAM          Display Resource Time Stream
    RSKC          Maintaining the Permittd Extra Chars
    RSPC          Process Chain Maintenance
    RSSM          Authorizations for Reporting
    RZ20          CCMS Monitoring
    SLG2          Application Log: Delete logs
    SM37          Overview of job selection
    SMQ1          qRFC Monitor (Outbound Queue)
    SMQ2          qRFC Monitor (Inbound Queue)
    S_AP5_28000002          
    S_AP8_94000074          
    S_AP8_94000284          
    S_AP9_75000079          IMG Activity: APO_PPS_CDPSC0
    S_AP9_75000085          IMG Activity: APO_PPS_CDPSC8
    S_AP9_75000086          IMG Activity: APO_PPS_CDPSC5
    S_AP9_75000087          IMG Activity: APO_PPS_CDPSC4
    S_AP9_75000088          IMG Activity: APO_PPS_CDPSC3
    S_AP9_75000089          IMG Activity: APO_PPS_CDPSC2
    S_AP9_75000090          IMG Activity: APO_PPS_CDPSC1
    S_AP9_75000095          IMG Activity: APO_SNP_SNP112
    S_AP9_75000101          IMG Activity: APO_SNP_SNP107
    S_AP9_75000102          IMG Activity: APO_SNP_SNP105
    S_AP9_75000130          IMG Activity: APO_ALLG_TRANS
    S_AP9_75000138          IMG Activity: APO_ALLG_CAL
    S_AP9_75000141          IMG Activity: APO_PPS_ROUNDPRF
    S_AP9_75000142          IMG Activity: APO_DEMPL_BEDARF
    S_AP9_75000146          IMG Activity: APO_DEMPL_WORK
    S_AP9_75000169          Call the IMG Activity
    S_AP9_75000183          
    S_AP9_75000184          
    S_AP9_75000202          
    S_AP9_75000203          
    S_AP9_75000206          
    S_AP9_75000212          
    S_AP9_75000249          
    S_AP9_86000053          
    S_AP9_86000062          IMG Activity: APO_SNP_SNP120
    S_AP9_86000161          
    S_APO_12000024          
    S_APO_12000025          
    S_APO_12000026          
    S_APO_12000035          
    WUF          Where-Used List
    Tables:
    Tables where SALES ORDER Data is stored in APO
    In addition to the requirements in SAP liveCache, the SD order tables are also included in the comparison with SAP R/3. Data is stored in these tables that is required for SAP APO functions from the area of Global ATP, such as the check against product allocations and backorder processing.
    Both the existence and the consistency of the stored data is checked, based on the most important fields, as well as on the connection between main item(s) and subitem(s) in the following tables:
    ·     /sapapo/posmapn (mapping the item)
    ·     /sapapo/ordadm_h (order header)
    ·     /sapapo/ordadm_i (order item)
    ·     /sapapo/schedlin (order schedule line)
    ·     /sapapo/obref (object reference)
    ·     /sapapo/sdfield (SD order/delivery: Item additional data, also called 'field catalog')
    ·     /sapapo/ciflooku (CIF lookup table)
    The following inconsistencies can arise:
    ·     r3obj : R/3 object of item in table /sapapo/posmapn
    ·     atpcat: ATP category of item in table /sapapo/ordadm_i
    ·     chmod: Check mode of item in table /sapapo/ordadm_i
    ·     pstyv: Item category of item in table /sapapo/ordadm_i
    ·     from_time: Schedule line date in table /sapapo/schedlin
    ·     to_time: Schedule line date in table /sapapo/schedlin
    ·     uepos: Assignment of higher-level (main) item
    (Mapping in table /sapapo/posmapn and entry table in /sapapo/sdfield)
    ·     wmeng: Requested quantity in table /sapapo/schedlin
    ·     edatu: Requested delivery date in table /sapapo/schedlin
    ·     obref: Object reference between order and delivery item in table /sapapo/obref
    ·     matnr (MainItem)/matnrMItem: Product of main item in table /sapapo/ordadm_i
    ·     werks (MainItem)/werksMItem: Plant of main item in table /sapapo/ordadm_i
    ·     lgort (MainItem)/lgortMItem: Storage location of main item in table /sapapo/ordadm_i
    ·     Account assignment (MainItem)/accMItem: The account assignment of the main item, that is, the pegging area from table /sapapo/ordadm_i does not correspond to the account assignment in SAP R/3 (vbap-sobkz, vbap-vbeln and vbap-posnr)
    Important Tables in R/3
    Table     Remarks
    QTVB     Product Allocation: Allocation used by Customer Order* Use this table to find allocation assignment by Sales Order
    Important Tables in APO
    Table     Remarks
    /SAPAPO/TBQTVB     ATP: Parameter Buffer, Product Allocation Assignment
    /SAPAPO/PAGZE001     PAG-Z001 Product Allocations: Characteristic Value* This table is generated when a Product Allocation Group is defined. Use it to convert the GUID into a CVC.
    /SAPAPO/MATKEY     Product Master* Use it to convert Material GUID into a material number.
    /SAPAPO/MATLOC     Location product Master* Use it to see valid material plant combinations (GUID’s) in APO.
    /SAPAPO/MATMAP     Mapping Table for Products* Use it to see mapping of material numbers in R/3, APO and GUID
    /SAPAPO/LOC     Locations* Use it to convert Location GUID into a Location number.
    /SAPAPO/QTTAB     Product Allocations: Schedule Line
    /SAPAPO/SDQTVB     SD Order: Product Allocation Assignment* Use it to see detailed allocation assignment by Sales Order
    /SAPAPO/POSMAPN     Order Items Mapping Table*Use to get GUID for Sales Orders
    /sapapo/treqires- All the confirmed qty and confirmed timestamp for order transaction GUID
    CDHDR, CDPOS- Broader- All changes
    /sapapo/DMCP
    R-Delete
    N-Create
    C-Change

  • Create a resource filter and add/redefine a property value to a resource?

    Hello,
    I need an advice how to create a resource filter and add a property to a resource. I already created the project and after creating myfilter.java automatically by using the "Service, filter and scheduler taks generation" in my developer studio, there's a filter() method where the filtering has to be implemented. Here I need an example how to read the resource path and add or redefine a property value. (In this case the property value depends on the resource path) So I also need to know, how to get the ressource path. Can anybody please support me with some example code?
    Thanks in advance
    Cheers
    Steffen

    Hi Jaiswin,
    I need to enter 3 formula:
    Setup
    Production
    Teardown
    In PP this is standard but in PP-PI Resource I only see one field 'other formula'.
    How do I enter more then one formula?
    Can it be done in PP-PI?
    Thanks
    Stuart

  • Help in obatinin SD certification code and material

    Hi SD Guru's,
    I am looking to get certified on SD. and i am having a difficult time finding the correct resources to help me understand, hwo to prepare for the SD certification and also obtain useful SD material online. looking for recommendation to the SD codes and related material to follow, in preparation for the exam.
    Will be looking forward to a favorable response in this regard.
    Thanks in advance.

    Dont post the same question multiple times.  Already you have posted the same question which has been moved to SAP Certified Professional forum.
    G. Lakshmipathi

  • ORA-00054: resource busy and acquire with NOWAIT specified

    We are frequently getting ORA-00054: resource busy and acquire with NOWAIT specified error in production database for a application user group. Production database is oracle 10g R 10.2.0.5.0 on sun solaris. The app user group is telling that the code is not changed from many years. They wants this to be resolved on h.priority. The tables which are getting this error has clob fields. I rebuilded indexes in QA environment & they ran it again they are getting the same error.
    I asked to see select for update nowait clause's carefully. They said everything is fine. Please let me know any solution if any one is getting this kind of error. Thanks.

    Has anything changed compared to previously when these errors didn't happen?
    Not necessarily application code but
    - Database version
    - patches
    - indexes
    - data volumes
    - number of clients
    etc, etc
    What led you to rebuild the indexes?
    As for suggested solutions, they completely depend on the specifics of your situation.
    Do you know that the SELECT FOR UPDATE is raising the ORA-00054?
    Something else has the relevant resource locked in a non-shareable way - you need to find out what.
    It sounds like the most likely candidate is another session that has issued a SELECT FOR UPDATE and locked some of the same row(s).
    It's good that you can reproduce on QA rather than just production.
    Maybe you can manually issue the failing SELECT FOR UPDATE statement but with WAIT rather than NOWAIT and see if that helps you figure out blockers, etc.
    Further analysis required at your end.

  • Set resource type and projectid

    Hello together,
    we want transform a xml-document in a xml-form. Therefore we had to change/set the resource type and the projectid to create xml-forms for form based publishing.
    I tried this code but it doesn't work.
    String namespace = "http://sap.com/xmlns/cm/app/xmlforms/<projectid>";
    String name = "resourcetype";
    IMutablePropertyMap mutableProperty =null;
    mutableProperty = new MutablePropertyMap();
    IPropertyName propertyName = new PropertyName(namespace, name);
    mutableProperty.put(property);
    resource.setProperty(mutableProperty);
    Has anybody an idea??
    Regards Theresa

    Thank you very much....
    I solved it with the code
    String namespace = "http://sap.com/xmlns/cm/app/xmlforms/";
    String name = "resourcetype";
    IPropertyName propertyName = new PropertyName(namespace, name);
    Boolean value = new Boolean(true);
    IProperty property = new Property(propertyName, value);
    IMutableProperty mutableProperty = property.getMutable();
    mutableProperty.setBooleanValue(true);
    resource.setProperty(property);
    You know something about setting the project id???
    Regards Theresa

  • How to find process causing "ORA-00054: resource busy and acquire with NOWAIT specified"

    Hello there,
    ENV: Oracle 10gR2 64bit on ASM, RHEL 64bit
    Application team has reported "ORA-00054: resource busy and acquire with NOWAIT specified" during the batch process in production env. This is happening for last couple of days. When this batch process is restarted in the morning, this error does not appear.
    I understand that this error is raised when one process tries to eecute some DDL on a table while another process is performing DML (or hasn't issued COMMIT/ROLLBACK after the DDL).
    Since this error is occurring at night (around 3:00am) during the batch process, is there a way to find out on table/object is contention happening OR which process is causing this error? The batch process cannot be modified to add debug messages because it is in Production.
    Please advise.
    Best regards

    user130038 wrote:
    Hello there,
    ENV: Oracle 10gR2 64bit on ASM, RHEL 64bit
    Application team has reported "ORA-00054: resource busy and acquire with NOWAIT specified" during the batch process in production env. This is happening for last couple of days. When this batch process is restarted in the morning, this error does not appear.
    I understand that this error is raised when one process tries to eecute some DDL on a table while another process is performing DML (or hasn't issued COMMIT/ROLLBACK after the DDL).
    Since this error is occurring at night (around 3:00am) during the batch process, is there a way to find out on table/object is contention happening OR which process is causing this error? The batch process cannot be modified to add debug messages because it is in Production.
    Please advise.
    Best regards
    >The batch process cannot be modified to add debug messages because it is in Production.
    I suspect more than one job is running concurrently against the DB; otherwise not error would occur.
    Of course the batch process CAN be modified, but some PHB has decided to eliminate that option.
    The Oracle database is at the mercy of the application code.
    If the application code is poorly instrumented, then live with what exists or improved the code to facilitate isolating the bug.
    You could delay the start of one of the jobs & then hope the error no longer occurs.

  • Create UDT and UDF while installing theAdd-on

    Dear Sir,
    Can someone help me by providing me code sample of how can i create UDT and UDF into SAP BO while installing my Add-On.
    Thanks in advance
    Best Regards

    Hi Mary,
    Please refer to this thread database
    Regards
    Aravind

  • My ipod touch is not list as a device on itunes.  When I tried do update itunes, I get a ox8007054f error code and the update will not complete.

    My ipod touch is not listed as a device when connected to my computer.  As suggested I attempted to download the latest of itunes.  I got an
    ox8007054f error code and the down load will not complete.  I have also tried to restore my computer to an earlier setting, but it will
    not accept the change.

    Have you looked at this completed previos discussion. It discusses 0x8007054F.
    Re: Error message when trying to install iTunes

  • Application Web Service Control Manager detected AWEBSVC is not responding to HTTP requests. The http status code and text is 400, Bad Request.

    Hi All,
    I am seeing the following error for SMS_AWEBSVC_CONTROL_MANAGER component with Message ID: 8100
    Application Web Service Control Manager detected AWEBSVC is not responding to HTTP requests.  The http status code and text is 400, Bad Request.
    awebsctl.log file has below errors:
    Call to HttpSendRequestSync failed for port 80 with status code 400, text: Bad Request
    SMS_AWEBSVC_CONTROL_MANAGER 12/22/2014 3:37:55 PM
    13920 (0x3660)
    AWEBSVCs http check returned hr=0, bFailed=1
    SMS_AWEBSVC_CONTROL_MANAGER 12/22/2014 3:37:55 PM
    13920 (0x3660)
    AWEBSVC's previous status was 1 (0 = Online, 1 = Failed, 4 = Undefined)
    SMS_AWEBSVC_CONTROL_MANAGER 12/22/2014 3:37:55 PM
    13920 (0x3660)
    Health check request failed, status code is 400, 'Bad Request'.
    SMS_AWEBSVC_CONTROL_MANAGER 12/22/2014 3:37:55 PM
    13920 (0x3660)
    Management point and Application Catalog Website Point are installed on the same Server where I am seeing the error for Application Catalog Web Service Point role. Management Point and Application Catalog Website Point are functioning properly. Application
    Catalog Website is working.
    Thanks & Regards, Kedar

    Hi Jason,
    Application Catalog Web Service Point and Application Catalog Website Point; both are installed as per below configuration on same Server:
    IIS Website: Default Web Site
    Port Number: 80
    with default value for Web Application Name configured.
    For SMS_AWEBSVC_CONTROL_MANAGER component, I am getting below error in Component Status:
    Application Web Service Control Manager detected AWEBSVC is not responding to HTTP requests.  The http status code and text is 400, Bad Request.
    Possible cause: Internet Information Services (IIS) isn't configured to listen on the ports over which AWEBSVC is configured to communicate. 
    Solution: Verify that the designated Web Site is configured to use the same ports which AWEBSVC is configured to use.
    Possible cause: The designated Web Site is disabled in IIS. 
    Solution: Verify that the designated Web Site is enabled, and functioning properly.
    For more information, refer to Microsoft Knowledge Base.
    And awebsctl.log has the below error lines:
    Call to HttpSendRequestSync failed for port 80 with status code 400, text: Bad Request
    SMS_AWEBSVC_CONTROL_MANAGER
    12/23/2014 11:04:36 AM 16388 (0x4004)
    AWEBSVCs http check returned hr=0, bFailed=1
    SMS_AWEBSVC_CONTROL_MANAGER
    12/23/2014 11:04:36 AM 16388 (0x4004)
    AWEBSVC's previous status was 1 (0 = Online, 1 = Failed, 4 = Undefined)
    SMS_AWEBSVC_CONTROL_MANAGER
    12/23/2014 11:04:36 AM 16388 (0x4004)
    Health check request failed, status code is 400, 'Bad Request'.
    SMS_AWEBSVC_CONTROL_MANAGER
    12/23/2014 11:04:36 AM 16388 (0x4004)
    STATMSG: ID=8100
    What should I check from IIS side?
    Application Catalog Website is functioning properly.
    Thanks & regards,
    Kedar
    Thanks & Regards, Kedar

Maybe you are looking for