Need Sample Java Embedding code

Hello gurus,
I need sample code to access DBAdapter select query output within Java activity. besically I want to loop through the records and call a custom Java API.
thanks

Please help

Similar Messages

  • Need Sample java code

    Hi,
    iam working in SAP .
    I need sample java code on how to convert Decimal to number
    For Ex: I/p-----123.11
    O/p----------------12311 ( with out decimal) want to remove the dicimal point what ever the input value and deliver it to the output
    Please give me code
    Regards
    Suman

    i don't know what do you want to do really. If you are doing it simply then you can take the input in a String and then remove the decimal.
    String str = "123.11";
    str = str.substring(0, str.indexOf("."));
    System.out.println(str);

  • Java embedding code in BPEL 2.0 giving deployment errors

    Hello,
    I am using Jdeveloper and SOA 6 11.1.1.0.6 version. BPEL 2.0
    When i use simple sysout in the java embedding it is deploying fine but when using XMLElement api in the java embedding it s giving deployment error.
    Please suggest me how to make it work.
    Please see the error message below:
    Error deploying archive sca_FetchAttachments_rev1.1.jar to partition "default" on server soa_server1 [http://XXX.XXX.com:8001]
    [01:04:09 PM] HTTP error code returned [500]
    [01:04:09 PM] Error message from server:
    There was an error deploying the composite on soa_server1: Error occurred during deployment of component: FetchAttachments to service engine: implementation.bpel, for composite: FetchAttachments: ORABPEL-05250

    Hello Rolando Carrasco,
    Thank for responding my question. I figure out the issue. It is because we need to import the java API's what we are using in the java embedding.
    Thank you,
    Raj

  • Problem in BPEL java embedding code

    Hi,
    I am trying assign java object value in to my Bpel variable but I am getting the following error. Can any one of you please help me to solve this problem.
    <selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/">
    -<part name="summary">
    <summary>java.lang.String
    </summary>
    </part>
    </selectionFailure>
    The below is the sample code:
    setVariableData("ServiceDetails","/client:ServiceDetails/serviceDetailsArray[1]/serviceName",nl.item(i).getNodeName());
    Regards
    Niraimathi R

    As an example:
    http://orasoa.blogspot.com/2007/01/overule-bpel-instance-name.html

  • Java Embedding Weird XML Node Error

    Ok, I am going crazy. I have a java embedding node that takes a date string in, changes it to a different format and creates another date that contains the current time. if I run this in java to code run ok and there are no issues. At the end of the java I print out the string and they are exactly what I want. The thing that is going on is when I set the 2 string BPEL variables in the java embedding, when I try to reference them the 2nd time,I get a weird node object error. I get through the first pass ok. when I try to reference Test1 or Test2 on the 2nd pass I get the error below. Its like when I set the variable currentDB2UpdateDate and currentDB2CurrTimeDate it does something to them. Instead of setting it to just the string it seems to set it to some kind of object.
    I have 3 steps here. Assign -> Java Embedding -> Assign.
    Assign 1 => Initialize 2 String variables to X.
    <code>
    <assign name="Assign_2">
    <copy>
    <from expression="string('X')"/>
    <to variable="currentDB2UpdateDate"/>
    </copy>
    <copy>
    <from expression="string('X')"/>
    <to variable="currentDB2CurrTimeDate"/>
    </copy>
    </assign>
    </code>
    Java Embedding =>
    <code>
    String currentFileDate = (String)getVariableData("currentFileDate");
    String currentDate = "";
    try
    SimpleDateFormat sdfSource = new SimpleDateFormat("MM/dd/yyyy");
    Date date = sdfSource.parse(currentFileDate);
    SimpleDateFormat sdfDestination = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    currentFileDate = sdfDestination.format(date);
    catch(ParseException pe)
    System.out.println("Parse Exception : " + pe);
    try
    Calendar cal = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
    currentDate = sdf.format(cal.getTime());
    catch(Exception pe)
    System.out.println("Parse Exception : " + pe);
    System.out.println("currentFileDate : " + currentFileDate.toString());
    System.out.println("currentDate : " + currentDate.toString());
    setVariableData("currentDB2UpdateDate",currentFileDate);
    setVariableData("currentDB2CurrTimeDate",currentDate);
    </code>
    Assign 3 =>
    <code>
    <assign name="Assign_1">
    <copy>
    <from variable="currentDB2UpdateDate"/>
    <to variable="Test1"/>
    </copy>
    <copy>
    <from variable="currentDB2CurrTimeDate"/>
    <to variable="Test2"/>
    </copy>
    </assign>
    </code>
    <code>
    <bpelFault><faultType>0</faultType><selectionFailure xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"><part name="summary"><summary>Invalid to part type.
    When performing the assign operation, the to node 2010-07-17 12:00:00 is invalid.
    The node named in the error message was either null or an empty node set, and it was not an instance of org.w3c.Element.
    Verify the node value at line number 819 is not null and is an instance of org.w3c.Element.
    </summary></part></selectionFailure></bpelFault>
    </code>
    The 2nd pass to this throws the following error when trying to set Test1 and Test2 again... Its like it is setting the variable to an object and not just the string. I tried using toString() in the setVariable too and it didn't work. I don't get it.
    Edited by: 806312 on Dec 1, 2010 8:13 AM
    Edited by: 806312 on Dec 1, 2010 8:26 AM

    I am also facing a similar issue.There is selection failure in assignment to local variable of BPEL .
    PFB the logs :
    parts: {{
    summary=&amp;lt;summary&amp;gt;Invalid to part type.
    When performing the assign operation, the to node false is invalid.
    The node named in the error message was either null or an empty node set, and it was not an instance of org.w3c.Element.
    Verify the node value at line number 3577 is not null and is an instance of org.w3c.Element.
    &amp;lt;/summary&amp;gt;}
    Here is the code:
    <copy>
    <from expression="xpath20:add-dayTimeDuration-to-dateTime($calculatednpexectime,'P200YT')"/>
    <to variable="calculatednpexectime"/>
    </copy>
    It seems as if Oracle is not accepting the date format .
    Is there some issue with local variables of new version of BPEL ??

  • Java source code to compare XML based on ExamXML XML diff tool

    I&#8217;m working on a project that includes comparing XML files and I need a source code on Java to compare XML fragments.
    I&#8217;m using ExamXML from http://www.a7soft.com to compare XML files but I need the Java source code.
    Can anybody help me.

    You didn't notice there's a "Support" link on that page you referred to? Ask them for the source code. If they won't give it to you, then you are effectively asking us to give you a stolen copy of it. Don't ask for such things on this site.

  • Sample Java  Code to send an HTML mail with embeded image

    Hello,
    Please can I get a sample Java code on sending an HTML mail with embeded image.
    The HTML message and relevant input parameters withhbe supplied from a PL/SQL that will call the class , the class will embed the image and send the mail to the recepient.

    tev wrote:
    Please can I get a sample Java codeNo. This is a forum, not a code mill.
    Recommended reading: How to ask questions the smart way
    db

  • 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

  • Using Java Embedding Unzip Code and a Trigger File in a BPEL Process

    Hello,
    Thanks in advance to anyone that contributes with any insight.  It is much appreciated.  Having said that I will get to the crux of my problem.
    I am currently using Oracle 11g.  I have created a SOA composite application that incorporates BPEL and Java.  I have the code needed to unzip and extract compressed folders.  However, when this was first built out using BPEL it automatically created a web service in the "exposed service" lane and not a file adapter which I believe is needed in order to trigger the process via a start.txt file for example.  Based on what I know ... this web service automatically connecting to the BPEL process was simply due to the order of operations, etc.  So by creating a 'read' file adapter first and then creating the BPEL process and selecting the template "Define Service Later", it does not automatcially connect the web service to the BPEL process and it will allow me to connect a file adapter to this BPEL process instead ... great.  When opening up the BPEL file I then connect a recieve component to this file adapter and configure appropriately.
    Essentially, my objective in setting up a trigger to start this unzip process is due to the BPEL process before that outputs or writes the .zip folder to the same directory that I want to poll and/or trigger via a start.txt file.  I can get this process to work with a webservice connecting to the BPEL process and by using a Java Embedded in BPEL file, which in turns calls the package/ class that has the java code needed to unzip.
    For some reason whenever I try to use a file adapter instead of the native web service that gets created (as mentioned above) it doesn't work.  It seems to build or compile just fine however, I am getting errors when I try to deploy.
    Note:  The Java code contains all the paths where the zip file is to be taken from and extracted to.  So because this is in the code I don't need the file adapter to handle this.  I just want to use the file adapter so that I can trigger the process via start.txt or something of that nature.
    Thanks to anyone that has any suggestions.
    Kind Regards,
    Kevin
    Errors when attempting to deploy are as follows:
    [04:12:54 PM] Error deploying archive sca_Job2_UnZip_rev1.0.jar to partition "default" on server soa_server1 [http://WN017A.homedepot.com:8001]
    [04:12:54 PM] HTTP error code returned [500]
    [04:12:54 PM] Error message from server:
    There was an error deploying the composite on soa_server1: Deployment Failed: Error occurred during deployment of component: BPELProcess1 to service engine: implementation.bpel, for composite: Job2_UnZip: ORABPEL-05250
    Error deploying BPEL suitcase.
    error while attempting to deploy the BPEL component file "H:\Oracle\Middleware\user_projects\domains\Dev_Acorde\servers\soa_server1\dc\soa_d78eb301-314c-422a-a748-bcfe7d0906e8"; the exception reported is: java.lang.RuntimeException: failed to compile execlets of BPELProcess1
    This error contained an exception thrown by the underlying deployment module.
    Verify the exception trace in the log (with logging level set to debug mode).
    [04:12:54 PM] Check server log for more details.
    [04:12:54 PM] Error deploying archive sca_Job2_UnZip_rev1.0.jar to partition "default" on server soa_server1 [http://WN017A.homedepot.com:8001]
    [04:12:54 PM] ####  Deployment incomplete.  ####
    [04:12:54 PM] Error deploying archive file:/C:/JDeveloper/mywork/Job2_UnZip/Job2_UnZip/deploy/sca_Job2_UnZip_rev1.0.jar
    (oracle.tip.tools.ide.fabric.deploy.common.SOARemoteDeployer)

    Just wanted to provide a screenshot of the BPEL file as supporting documentation to better illustrate my issue.
    Thanks so much,
    Kevin

  • Sample java code to obtain data from ALUI directory

    Hi
    I need to go to the ALUI LDAP ( directory ) services to get user profile information.
    The documentation did not help me to figure out the way to obtain data from it.
    so , it would be a great help if some one could share the sample java code api to obtain data from ALUI directory.

    i'm guessing you are asking to get the groups for a particular user. someone in the other thread posted the actual SQL, that may be easier. ( you are on 10gR3 right, because ALUI directory didn't exist before 6.5)
    I dont have a sample done yet, but the internet is filled with samples of java and ldap...
    http://www.coderanch.com/t/133108/Security/LDAP-sample-program

  • Sample Java code and detail to call RFC from Java clas developed in Eclipse

    Hi All,
    I am new to Java. I have downloaded Eclipse IDE  and planning to use for developing Java application to send data to SAP by calling RFC JCO Interface.
    I need a sample java code/tutorial step by step to create Java class for simple example to call RFC from Java.
    I have downloaded SAPJCO3 from service market place.
    Kindly help me to send steps involved to configure for JCO  with my Eclipse with JCO.
    Thanks in advance.
    Sharma

    Hi Sharma,
    Please have a look at [Example: Using Generated Proxies to Call Function Modules |http://help.sap.com/saphelp_nw04/helpdata/en/b6/55e3952a902447847066a0df27b0d6/content.htm]
    JCo Exceptions : http://help.sap.com/saphelp_nw70ehp1/helpdata/en/f6/daea401675752ae10000000a155106/content.htm
    Hope it will helps
    Regards
    Arun

  • Need sample code with RV_INVOICE_CREATE used

    Hi everybody!
    I need sample code with RV_INVOICE_CREATE or similar FMs used.
    The thing is that I do not know how to populate parametres of this and other invoicing FMs....
    For example, there are some tables to be passed to RV_INVOICE_CREATE
         TABLES
              XKOMFK     = XKOMFK
              XKOMV       = XKOMV
              XTHEAD      = XTHEAD
              XVBFS        = XVBFS
              XVBPA        = XVBPA
              XVBRK        = XVBRK
              XVBRP        = XVBRP
              XVBSS        = XVBSS
    How to populate them? I mean how to fill them with needed values?
    Useful answers will be awarded.
    Kind regards, M.

    RV_INVOICE_CREATE is the function module to create invoice based on delivery .
    when you pass delivery number ,it will create invoice ,see the invoice number in vf02,vf03 transaction. and also see the data vbrk,vbrp tables
    I have done this development and i have cancelled invoice,reverse goods issue,updated the delivery and again i am createing invoice..see the below progrm to get better understanding.
    REPORT ZWM_OVERWEIGHT_FIX  no standard page heading
                               message-id zwm.
    ======================================================================
    Program Name : ZWM_OVERWEIGHT_FIX                                    *
    Description  : Tool to fix Overweight in delivery line item,         *
                   Used All Function module to cancel invoice ,          *
                   Reverse the goods issue  ,Update Delivery qty,Create  *
                   invoice                                               *
    Author       : Seshu                                                 *
    Date         : 05/08/2007                                            *
    MODIFICATION HISTORY                                                 *
    DATE    | AUTHOR   | CHANGE #   | DESCRIPTION OF MODIFICATION        *
    --|||--
    05/08/07| Seshu    | DEVK921979 | Initial                            *
    D A T A - D E C L A R A T I O N     *******************
    Tables
    Tables : vbak,
             vbap,
             vbfa,
             likp,
             lips,
             vbrk,
             vbrp.
    Internal Tables
    data : i_lips like lips occurs 0 with header line,
           i_vbap like vbap occurs 0 with header line.
    Variables
    data : v_deliv like vbfa-vbelv,
           v_invoic like vbfa-vbelv.
    Data Declaration Part for Post Goods Issue
    DATA: l_vbeln LIKE likp-vbeln,
          l_vbkok LIKE vbkok,
          i_prot LIKE prott OCCURS 0 WITH HEADER LINE,
          ef_error_any_0 TYPE c,
          ef_error_in_item_deletion_0 TYPE c,
          ef_error_in_pod_update_0 TYPE c,
          ef_error_in_interface_0 TYPE c,
          ef_error_in_goods_issue_0 TYPE c,
          ef_error_in_final_check_0 TYPE c,
          d_return   LIKE bapireturn1.
    Internal tables for BAPI Function Module
    data : i_cret like BAPIRETURN1 occurs 0 with header line,
           i_csucess like BAPIVBRKSUCcESS occurs 0 with header line,
           i_ret2 like bapiret2 ,
           flag type c,
           i_mesg like mesg occurs 0 with header line.
    Data Declaration for Invoice Creation
    DATA: VBSK_I     LIKE  VBSK.
    data: d_success  type  c.
    DATA: XKOMFK LIKE      KOMFK   OCCURS 0 WITH HEADER LINE,
          XKOMV  LIKE      KOMV    OCCURS 0 WITH HEADER LINE,
          XTHEAD LIKE      THEADVB OCCURS 0 WITH HEADER LINE,
          XVBFS  LIKE      VBFS    OCCURS 0 WITH HEADER LINE,
          XVBPA  LIKE      VBPAVB  OCCURS 0 WITH HEADER LINE,
          XVBRK  LIKE      VBRKVB  OCCURS 0 WITH HEADER LINE,
          XVBRP  LIKE      VBRPVB  OCCURS 0 WITH HEADER LINE,
          XVBSS  LIKE      VBSS    OCCURS 0 WITH HEADER LINE,
          XKOMFKGN LIKE    KOMFKGN OCCURS 0 WITH HEADER LINE.
    S E L E C T I O N  -  S C R E E N   ******************
    Selection-screen
    Selection-screen : begin of block blk with frame title text-001.
    parameters : p_vbeln like vbak-vbeln obligatory.
    selection-screen : end of block blk.
    A T -  S E L E C T I O N  - S C R E E N ***************
    Validation on Sales order
    at selection-screen on p_vbeln.
    Check the data on VBAK Table
      select single vbeln from vbak into vbak-vbeln
                                where vbeln = p_vbeln.
      if sy-subrc ne 0.
        message e006 with p_vbeln.
      endif.
    S T A R T  - O F - S E L E C T I O N *******************
    Start-of-selection.
      break sreddy.
    Get the Invoice Number corresponding Sales Order Number
      perform get_invoice.
    Step 1.
    Cancel the Invoice  - Transaction VF11
      perform cancel_invoice.
    Reverse the goods issue
      perform reverse_goodsissue.
    Get the Order and Delivery Items
      perform get_sales_deliv.
    Delivery Change
      perform Delivery_change.
    Create Invoice document
      perform invoice_create.
    E N D  -  O F -  S E L E C T I O N  *******************
    end-of-selection.
    if flag = 'X'.
    message i012 with p_vbeln.
    endif.
    *&      Form  get_invoice
          Get Invoice Number
    FORM get_invoice.
    Clear Variables
      clear : v_deliv,
              v_invoic,
              flag.
    Get the Delivery Number First
      select single vbeln from vbfa into v_deliv
                               where vbelv = p_vbeln
                               and   vbtyp_n = 'J'.
      if sy-subrc ne 0.
        message i004 with p_vbeln.
        stop.
      endif.
    Get the Invoice Number
      select single vbeln from vbfa into v_invoic
                               where vbelv = p_vbeln
                               and   vbtyp_n = 'M'.
      if sy-subrc ne 0.
        message i003 with p_vbeln.
        stop.
      endif.
    ENDFORM.                    " get_invoice
    *&      Form  cancel_invoice
          Cancel the Invoice
    FORM cancel_invoice.
      clear : i_ret2,
              i_cret,
              i_csucess.
      refresh : i_cret,
                i_csucess.
      CALL FUNCTION 'BAPI_BILLINGDOC_CANCEL1'
        EXPORTING
          BILLINGDOCUMENT       = v_invoic
      TESTRUN               =
      NO_COMMIT             =
      BILLINGDATE           =
        TABLES
          RETURN                = i_cret
          SUCCESS               = i_csucess
      CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
           EXPORTING
                WAIT   = space
           IMPORTING
                RETURN = i_ret2.
    read table i_cret with key type = 'E'.
      if sy-subrc ne 0.
        message i005 with v_invoic.
        stop.
      endif.
    ENDFORM.                    " cancel_invoice
    *&      Form  reverse_goodsissue
          Reverse the goods Issue
    FORM reverse_goodsissue.
    Local Variable
      data : lv_vbtyp like likp-vbtyp.
      clear : i_mesg,
              lv_vbtyp.
      refresh : i_mesg.
      select single vbtyp from likp into lv_vbtyp
                               where vbeln = v_deliv.
      CALL FUNCTION 'WS_REVERSE_GOODS_ISSUE'
        EXPORTING
          I_VBELN                         = v_deliv
          I_BUDAT                         = sy-datum
        I_COUNT                         =
        I_MBLNR                         =
        I_TCODE                         =
          I_VBTYP                         = lv_vbtyp
        TABLES
          T_MESG                          = i_mesg
       EXCEPTIONS
         ERROR_REVERSE_GOODS_ISSUE       = 1
         OTHERS                          = 2
      if sy-subrc ne 0.
        message i007 with v_deliv.
      endif.
    ENDFORM.                    " reverse_goodsissue
    *&      Form  get_sales_deliv
          Get the Sales order and Deliv Items
    FORM get_sales_deliv.
    Local Variables
      data : lv_kwmeng like vbap-kwmeng.
      clear : i_lips,
              i_vbap.
      refresh : i_lips,
                i_vbap.
    Select the data from LIPS
      select * from lips into table i_lips
                         where vbeln = v_deliv.
      if sy-subrc ne 0.
        message i008 with v_deliv.
        stop.
      endif.
      sort i_lips by vbeln posnr.
      Get the Sales order Item Data.
      select * from vbap into table i_vbap
                              where vbeln = p_vbeln.
      if sy-subrc ne 0.
        message i006 with p_vbeln.
        stop.
      endif.
      sort i_vbap by vbeln posnr.
    Compare delivery Item and Order Items
      loop at i_lips.
        clear lv_kwmeng.
        read table i_vbap with key posnr = i_lips-posnr.
        if sy-subrc eq 0.
          lv_kwmeng = i_vbap-kwmeng * 2.
          if lv_kwmeng >= i_lips-lfimg.
            i_lips-lfimg = i_vbap-kwmeng.
            modify i_lips.
          endif.
        endif.
      endloop.
    ENDFORM.                    " get_sales_deliv
    *&      Form  Delivery_change
          Delivery Update
    FORM Delivery_change.
      Clear : i_prot.
      refresh : i_prot.
    Delivery Update
      CALL FUNCTION 'LE_MOB_DELIVERY_UPDATE'
           EXPORTING
                do_commit                = 'X'
           TABLES
                t_delivery_items         = i_lips
                prot                     = i_prot
           EXCEPTIONS
                conversion_overflow      = 1
                essential_data_missing   = 2
                error                    = 3
                nothing_to_update        = 4
                lock_after_update_failed = 5
                error_in_delivery_update = 6
                OTHERS                   = 7.
      COMMIT WORK.
      IF sy-subrc <> 0.
        MESSAGE i009 with v_deliv.
      endif.
    Post Goods Issue
      CLEAR:    d_return,
                i_prot,
                l_vbeln,
                l_vbkok.
      REFRESH i_prot.
      CLEAR:  ef_error_in_item_deletion_0    ,
              ef_error_in_pod_update_0       ,
              ef_error_in_interface_0        ,
              ef_error_in_goods_issue_0      ,
              ef_error_in_final_check_0      .
    carry out goods issue
      l_vbeln          = v_deliv.
      l_vbkok-vbeln_vl = l_vbeln.
      l_vbkok-wabuc    = 'X'.
    carry out goods issue
      l_vbeln          = v_deliv.
      l_vbkok-vbeln_vl = l_vbeln.
      l_vbkok-wabuc    = 'X'.
    SET UPDATE TASK LOCAL.
      CALL FUNCTION 'WS_DELIVERY_UPDATE'
           EXPORTING
                vbkok_wa                    = l_vbkok
                synchron                    = 'X'
                no_messages_update          = ' '
                update_picking              = 'X'
                commit                      = 'X'
                delivery                    = l_vbeln
                nicht_sperren               = 'X'
                if_error_messages_send_0    = space
           IMPORTING
                ef_error_any_0              = ef_error_any_0
                ef_error_in_item_deletion_0 = ef_error_in_item_deletion_0
                ef_error_in_pod_update_0    = ef_error_in_pod_update_0
                ef_error_in_interface_0     = ef_error_in_interface_0
                ef_error_in_goods_issue_0   = ef_error_in_goods_issue_0
                ef_error_in_final_check_0   = ef_error_in_final_check_0
           TABLES
                prot                        = i_prot
           EXCEPTIONS
                error_message               = 1
                OTHERS                      = 2.
      if sy-subrc ne 0.
        message i010 with v_deliv.
      else.
        COMMIT WORK .
      endif.
    ENDFORM.                    " Delivery_change
    *&      Form  invoice_create
          Invoice Creation
    FORM invoice_create.
      refresh: XKOMFK, XKOMV,
               XTHEAD, XVBFS,
               XVBPA,  XVBRK,
               XVBRP,  XVBSS.
      clear  : XKOMFK, XKOMV,
               XTHEAD, XVBFS,
               XVBPA,  XVBRK,
               XVBRP,  XVBSS,
               VBSK_I.
      VBSK_I-SMART = 'F'.
      XKOMFK-VBELN =  v_deliv.
      XKOMFK-VBTYP = 'J'.
      APPEND XKOMFK.
      CALL FUNCTION 'RV_INVOICE_CREATE'
           EXPORTING
                VBSK_I       = VBSK_I
                WITH_POSTING = 'C'
           TABLES
                XKOMFK       = XKOMFK
                XKOMV        = XKOMV
                XTHEAD       = XTHEAD
                XVBFS        = XVBFS
                XVBPA        = XVBPA
                XVBRK        = XVBRK
                XVBRP        = XVBRP
                XVBSS        = XVBSS.
      if sy-subrc eq 0.
        COMMIT WORK.
       flag = 'X'.
      else.
      message i011 with p_vbeln.
      endif.
    ENDFORM.                    " invoice_create
    Reward Points if it is helpful
    Thanks
    Seshu

  • Need a java code using swing that can do master configuration

    I need a java code using swing that can do master configuration.For example, in the 1st screen it will show all configuration checke boxes . According to those selected check box, it will show the needed panels sequentially and finnaly it will update many xml files.

    TapasB wrote:
    I need a java code .......and I wish you much luck in creating it. Please come back if you have a specific question on a specific part of your code that is not working quite right.

  • Sample java code which reads xml attributes using DOM Parser

    Hi Friends,
    I am looking for a sample java code which uses the DOM Parser to read the attributes values.
    My xml looks like below
    <?xml version='1.0' encoding='UTF-8'?>
    <root>
    <header unid="100" status="true">
    <validation stage="1" processed="10"/>
    </header>
    </root>
    Experts please help...
    Thanks in Advance
    JJ

    You have probably found lots of resources on the www for this by now, if not: [http://www.w3schools.com/dom/default.asp|http://www.w3schools.com/dom/default.asp]

  • How to compile connection pool sample java code

    I recently bought David Knox's "Effective Oracle Database 10g Security by Design", and have been working through his examples with client identifiers and how to leverage database security with anonymous connection pools.
    The database side of things I totally understand and have set up, but I now want to compile/run the java code examples, but don't know what is required to compile this.
    I'm running Oracle 10.2.0.4 (64-bit) Enterprise Edition on a Linux (RHEL 5) PC. Java version is 1.6.0_20. Relevant .bash_profile environment variables are as follows:
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
    export CLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
    export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin
    When I try to compile, I get:
    oracle:DB10204$ java FastConnect.java
    Exception in thread "main" java.lang.NoClassDefFoundError: FastConnect/java
    Caused by: java.lang.ClassNotFoundException: FastConnect.java
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
    Could not find the main class: FastConnect.java. Program will exit.
    The java source code of one of the examples is below. Is someone able to point me in the right direction as to how I get this to compile? Do I just have a syntax and/or environment configuration modification to do, or is there more to it than that to get this example working? Any help much appreciated.
    oracle:DB10204$   cat FastConnect.java
    package OSBD;
    import java.sql.*;
    import oracle.jdbc.pool.OracleDataSource;
    public class FastConnect
      public static void main(String[] args)
        long connectTime=0, connectionStart=0, connectionStop=0;
        long connectTime2=0, connectionStart2=0, connectionStop2=0;
        ConnMgr cm = new ConnMgr();
        // time first connection. This connection initializes pool.
        connectionStart = System.currentTimeMillis();
        Connection conn = cm.getConnection("SCOTT");
        connectionStop = System.currentTimeMillis();
        String query = "select ename, job, sal from person_view";
        try {
          // show security by querying from View
          Statement stmt = conn.createStatement();
          ResultSet rset = stmt.executeQuery(query);
          while (rset.next()) {
            System.out.println("Name:   " + rset.getString(1));
            System.out.println("Job:    " + rset.getString(2));
            System.out.println("Salary: " + rset.getString(3));
          stmt.close();
          rset.close();
          // close the connection which resets the database session
          cm.closeConnection(conn);
          // time subsequent connection as different user
          connectionStart2 = System.currentTimeMillis();
          conn = cm.getConnection("KING");
          connectionStop2 = System.currentTimeMillis();
          // ensure database can distinguish this new user
          stmt = conn.createStatement();
          rset = stmt.executeQuery(query);
          while (rset.next()) {
            System.out.println("Name:   " + rset.getString(1));
            System.out.println("Job:    " + rset.getString(2));
            System.out.println("Salary: " + rset.getString(3));
          stmt.close();
          rset.close();
          cm.closeConnection(conn);
        } catch (Exception e)    { System.out.println(e.toString()); }
        // print timing results
        connectTime = (connectionStop - connectionStart);
        System.out.println("Connection time for Pool: " + connectTime + " ms.");
        connectTime2 = (connectionStop2 - connectionStart2);
        System.out.println("Subsequent connection time: " +
                            connectTime2 + " ms.");
    }Code download is at: http://www.mhprofessional.com/getpage.php?c=oraclepress_downloads.php&cat=4222
    I'm looking at Chapter 6.

    stuartu wrote:
    When I try to compile, I get:
    oracle:DB10204$  java FastConnect.java
    Exception in thread "main" java.lang.NoClassDefFoundError: FastConnect/java
    Caused by: java.lang.ClassNotFoundException: FastConnect.java
    I will try to explain what is happening here.
    You are launching java telling it to run a class named 'java' in a package named 'FastConnect'
    and java says it cannot find that class.
    What you intended to do:
    $ # make the directory structure match the package structure
    $ mkdir OSBD
    $ # move the source file in the directory structure so it matches the package structure
    $ mv FastConnect.java OSBD/
    $ # compile OSBD/FastConnect.java to OSBD/FastConnect.class
    $ javac OSBD/FastConnect.java
    $ # launch java using the OSBD/FastConnect class
    $ java -cp . OSBD.FastConnectNote that the package 'OSBD' does not follow the recommended naming conventions
    you might consider changing that to 'osbd'.

Maybe you are looking for