JDAPI usage in *nix

Is it possible to use JDAPI on Solaris?
I understood from compiler log that JDAPI uses JNI so is there a .so library required to run program using JDAPI on Solaris?
If it's possible, what should I do to avoid well-known
"JdapiStatusException: _jni_initialize: Failed to create new forms context" problem?
Set some OS variables or something?

I've already checked that everything is OK with libraries.
The call to Jdapi.setFailSubclassLoad(true); executes successfully.
As far as I can see, it means that native library ifjapi90 loads successfully (and I also tried to add System.loadLibrary("ifjapi90"); to my code - it worked).
But when it executes the line:
FormModule formModule = FormModule.open(args[0]);
it raises that exception.
On Windows this problem was solved by setting Run Directory=ORACLE_HOME/bin in Jdev project setting. But I need to run this program from Solaris...

Similar Messages

  • JDAPI DETACH()

    My purpose is to convert "windows-developed" .fmb files to run on an AIX box (ie case-sensitive issues).
    I was advised (by Oracle) to avoid using DETACH() with the iterator current, so I copied the details and then re-visted them. Although I am able to attach libraries, I am unable to detach some.
    I'm no C expert, but I was also lead to believe that this problem exist in the C API too. Nevertheless, a working API to workaround case-sensitive issues remains my gaol.
    I have documented out -> detachId.detach();
    With detach() put back in, I get the error :-
    Connecting to un/pwd@dbase_aliasConnected to un/pwd@dbase_alias
    Processing form form1.fmbForm Name module is FORM1
    Examining menuAttached Menu needs changing=FO_MENU
    Examining librariesAttached Library requires no change=d2kwutil
    Attached Library name to be changed=allpack
    Attached Library requires no change=allproc
    Attached Library name to be changed=allshare
    Attached Library requires no change=webutil
    Detachingd2kwutil
    ALLPACK
    allproc
    ALLSHARE
    Exception in thread main
    webutil
    Attachingoracle.forms.jdapi.JdapiIllegalStateException: Null d2fob pointer at oracle.forms.jdapi.BaseFormsObject.getStringProperty(Unknown Source)
         at oracle.forms.jdapi.AttachedLibrary.getName(Unknown Source)
         at fixForm.main(fixForm.java:146)
    Process exited with exit code 1.
    import java.io.*;
    import oracle.forms.jdapi.*;
    public class fixForm
    static FormModule fmb;
    public static void main(String[] args)
    String debug="";
    String formName="";
    String menuName="";
    String libName="";
    String connString="";
    String pad=" ";
    String line="------------------------------------------------------------------------------";
    boolean menuIsChanged = false;
    boolean libIsChanged = false;
    AttachedLibrary[] arrayOfLibs = new AttachedLibrary[15];
    AttachedLibrary attachId;
    AttachedLibrary detachId;
    int noOfLibs = 0;
    if (args.length != 3)
    System.out.println("");
    System.out.println(line);
    System.out.println("Usage: java fixForm <module name> <user/password@connectString> <Debug>");
    System.out.println(" eg java fixForm form1.fmb un/pwd@dbase_alias Y");
    System.out.println(line);
    //System.exit(0);
    formName = "form1.fmb";
    connString = "un/pwd@dbase_alias";
    debug = "Y";
    else
    formName = args[0];
    connString = args[1];
    debug = args[2];
    // Connect to the database
    if (debug.equals("Y")) {System.out.println(">>> Connecting to " + connString);}
    Jdapi.connectToDatabase(connString);
    if (debug.equals("Y")) {System.out.println(pad+"Connected to " + connString);}
    // Identify the form.
    if (debug.equals("Y")) {System.out.println(">>> Processing form " + formName);}
    fmb = FormModule.open(formName);
    if (debug.equals("Y")) {System.out.println(pad+"Form Name module is " + fmb.getName());}
    // Identify the menu, if applicable.
    if (debug.equals("Y")) {System.out.println(">>> Examining menu");}
    menuName = fmb.getMenuModule();
    // See if set.
    if ( (menuName.length() == 0) | (menuName.toUpperCase() == "DEFAULT") )
    if (debug.equals("Y")) {System.out.println(pad+"Menu is blank, or default");}
    else
    // Check case sensitivity is lower case.
    if (menuName == menuName.toLowerCase())
    if (debug.equals("Y")) {System.out.println(pad+"Attached Menu is fine=" + menuName);}
    // Otherwise, re-attach with correct case sensitivity.
    else
    if (debug.equals("Y")) {System.out.println(pad+"Attached Menu needs changing=" + menuName);}
    menuIsChanged = true;
    try
    fmb.setMenuModule(menuName.toLowerCase());
    catch(Exception e1)
    System.out.println(line);
    System.out.println("Error: "
    + formName
    + " could not re-attach menu "
    + menuName.toLowerCase());
    System.out.println(line);
    System.exit(0);
    // Identify all associated libraries.
    JdapiIterator all_libs = fmb.getAttachedLibraries();
    // Process the above list of attached libraries
    if (debug.equals("Y")) {System.out.println(">>> Examining libraries");}
    while (all_libs.hasNext())
    noOfLibs++;
    // Identify each library name.
    AttachedLibrary lib = (AttachedLibrary)all_libs.next();
    arrayOfLibs[noOfLibs] = lib;
    libName = lib.getLibraryLocation();
    // See if it's not all lower case
    if (libName == libName.toLowerCase())
    if (debug.equals("Y")) {System.out.println(pad+"Attached Library requires no change=" + libName);}
    else
    libIsChanged = true;
    libName = libName.toLowerCase();
    if (debug.equals("Y")) {System.out.println(pad+"Attached Library name to be changed=" + libName);}
    // If their are case-sensitive libs, then re-build the attachments accordingly.
    if (libIsChanged = true)
    // Now we have the list, de-attach all libraries.
    if (debug.equals("Y")) {System.out.println(">>> Detaching");}
    for (int j = 1; j <= noOfLibs; j++)
    detachId = arrayOfLibs[j];
    libName = detachId.getLibraryLocation();
    if (debug.equals("Y")) {System.out.println(pad+libName);}
    try
    //detachId.detach();
    catch(Exception e2)
    System.out.println(line);
    System.out.println("Error: "
    + formName
    + " could not detach library "
    + libName);
    System.out.println(line);
    System.exit(0);
    // Now that no libs are attached, re-attach, based on list.
    if (debug.equals("Y")) {System.out.println(">>> Attaching");}
    for (int k = 1; k <= noOfLibs; k++)
    attachId = arrayOfLibs[k];
    libName = attachId.getName().toLowerCase();
    if (debug.equals("Y")) {System.out.println(pad+libName);}
    try
    AttachedLibrary new_lib = new AttachedLibrary(fmb,libName);
    catch(Exception e3)
    System.out.println(line);
    System.out.println("Error: "
    + formName
    + " could not attach library "
    + libName);
    System.out.println(line);
    System.exit(0);
    // If the form has been changed, then compile and save.
    if (menuIsChanged | libIsChanged)
    // Compile the form to create a fmx.
    if (debug.equals("Y")) {System.out.println(">>> Compiling");}
    try
    fmb.compile();
    catch(Exception e4)
    System.out.println(line);
    System.out.println("Error: "
    + formName
    + " could not recompile");
    System.out.println(line);
    System.exit(0);
    // Save the form.
    if (debug.equals("Y")) {System.out.println(">>> Saving");}
    try
    fmb.save(formName);
    catch(Exception e5)
    System.out.println(line);
    System.out.println("Error: "
    + formName
    + " could not save");
    System.out.println(line);
    // Free the underlying native object
    fmb.destroy();
    // Shutsdown the Jdapi instance
    Jdapi.shutdown();
    if (debug.equals("Y")) {System.out.println(">>> Quiting");}
    I would be very grateful if you are able to offer me some advice here.
    Rgds,
    Mark . Spooner @ Investmaster . Com

    My purpose is to convert "windows-developed" .fmb files to run on an AIX box (ie case-sensitive issues).
    I was advised (by Oracle) to avoid using DETACH() with the iterator current, so I copied the details and then re-visted them. Although I am able to attach libraries, I am unable to detach some.
    I'm no C expert, but I was also lead to believe that this problem exist in the C API too. Nevertheless, a working API to workaround case-sensitive issues remains my gaol.
    I have documented out -> detachId.detach();
    With detach() put back in, I get the error :-
    Connecting to un/pwd@dbase_aliasConnected to un/pwd@dbase_alias
    Processing form form1.fmbForm Name module is FORM1
    Examining menuAttached Menu needs changing=FO_MENU
    Examining librariesAttached Library requires no change=d2kwutil
    Attached Library name to be changed=allpack
    Attached Library requires no change=allproc
    Attached Library name to be changed=allshare
    Attached Library requires no change=webutil
    Detachingd2kwutil
    ALLPACK
    allproc
    ALLSHARE
    Exception in thread main
    webutil
    Attachingoracle.forms.jdapi.JdapiIllegalStateException: Null d2fob pointer at oracle.forms.jdapi.BaseFormsObject.getStringProperty(Unknown Source)
         at oracle.forms.jdapi.AttachedLibrary.getName(Unknown Source)
         at fixForm.main(fixForm.java:146)
    Process exited with exit code 1.
    import java.io.*;
    import oracle.forms.jdapi.*;
    public class fixForm
    static FormModule fmb;
    public static void main(String[] args)
    String debug="";
    String formName="";
    String menuName="";
    String libName="";
    String connString="";
    String pad=" ";
    String line="------------------------------------------------------------------------------";
    boolean menuIsChanged = false;
    boolean libIsChanged = false;
    AttachedLibrary[] arrayOfLibs = new AttachedLibrary[15];
    AttachedLibrary attachId;
    AttachedLibrary detachId;
    int noOfLibs = 0;
    if (args.length != 3)
    System.out.println("");
    System.out.println(line);
    System.out.println("Usage: java fixForm <module name> <user/password@connectString> <Debug>");
    System.out.println(" eg java fixForm form1.fmb un/pwd@dbase_alias Y");
    System.out.println(line);
    //System.exit(0);
    formName = "form1.fmb";
    connString = "un/pwd@dbase_alias";
    debug = "Y";
    else
    formName = args[0];
    connString = args[1];
    debug = args[2];
    // Connect to the database
    if (debug.equals("Y")) {System.out.println(">>> Connecting to " + connString);}
    Jdapi.connectToDatabase(connString);
    if (debug.equals("Y")) {System.out.println(pad+"Connected to " + connString);}
    // Identify the form.
    if (debug.equals("Y")) {System.out.println(">>> Processing form " + formName);}
    fmb = FormModule.open(formName);
    if (debug.equals("Y")) {System.out.println(pad+"Form Name module is " + fmb.getName());}
    // Identify the menu, if applicable.
    if (debug.equals("Y")) {System.out.println(">>> Examining menu");}
    menuName = fmb.getMenuModule();
    // See if set.
    if ( (menuName.length() == 0) | (menuName.toUpperCase() == "DEFAULT") )
    if (debug.equals("Y")) {System.out.println(pad+"Menu is blank, or default");}
    else
    // Check case sensitivity is lower case.
    if (menuName == menuName.toLowerCase())
    if (debug.equals("Y")) {System.out.println(pad+"Attached Menu is fine=" + menuName);}
    // Otherwise, re-attach with correct case sensitivity.
    else
    if (debug.equals("Y")) {System.out.println(pad+"Attached Menu needs changing=" + menuName);}
    menuIsChanged = true;
    try
    fmb.setMenuModule(menuName.toLowerCase());
    catch(Exception e1)
    System.out.println(line);
    System.out.println("Error: "
    + formName
    + " could not re-attach menu "
    + menuName.toLowerCase());
    System.out.println(line);
    System.exit(0);
    // Identify all associated libraries.
    JdapiIterator all_libs = fmb.getAttachedLibraries();
    // Process the above list of attached libraries
    if (debug.equals("Y")) {System.out.println(">>> Examining libraries");}
    while (all_libs.hasNext())
    noOfLibs++;
    // Identify each library name.
    AttachedLibrary lib = (AttachedLibrary)all_libs.next();
    arrayOfLibs[noOfLibs] = lib;
    libName = lib.getLibraryLocation();
    // See if it's not all lower case
    if (libName == libName.toLowerCase())
    if (debug.equals("Y")) {System.out.println(pad+"Attached Library requires no change=" + libName);}
    else
    libIsChanged = true;
    libName = libName.toLowerCase();
    if (debug.equals("Y")) {System.out.println(pad+"Attached Library name to be changed=" + libName);}
    // If their are case-sensitive libs, then re-build the attachments accordingly.
    if (libIsChanged = true)
    // Now we have the list, de-attach all libraries.
    if (debug.equals("Y")) {System.out.println(">>> Detaching");}
    for (int j = 1; j <= noOfLibs; j++)
    detachId = arrayOfLibs[j];
    libName = detachId.getLibraryLocation();
    if (debug.equals("Y")) {System.out.println(pad+libName);}
    try
    //detachId.detach();
    catch(Exception e2)
    System.out.println(line);
    System.out.println("Error: "
    + formName
    + " could not detach library "
    + libName);
    System.out.println(line);
    System.exit(0);
    // Now that no libs are attached, re-attach, based on list.
    if (debug.equals("Y")) {System.out.println(">>> Attaching");}
    for (int k = 1; k <= noOfLibs; k++)
    attachId = arrayOfLibs[k];
    libName = attachId.getName().toLowerCase();
    if (debug.equals("Y")) {System.out.println(pad+libName);}
    try
    AttachedLibrary new_lib = new AttachedLibrary(fmb,libName);
    catch(Exception e3)
    System.out.println(line);
    System.out.println("Error: "
    + formName
    + " could not attach library "
    + libName);
    System.out.println(line);
    System.exit(0);
    // If the form has been changed, then compile and save.
    if (menuIsChanged | libIsChanged)
    // Compile the form to create a fmx.
    if (debug.equals("Y")) {System.out.println(">>> Compiling");}
    try
    fmb.compile();
    catch(Exception e4)
    System.out.println(line);
    System.out.println("Error: "
    + formName
    + " could not recompile");
    System.out.println(line);
    System.exit(0);
    // Save the form.
    if (debug.equals("Y")) {System.out.println(">>> Saving");}
    try
    fmb.save(formName);
    catch(Exception e5)
    System.out.println(line);
    System.out.println("Error: "
    + formName
    + " could not save");
    System.out.println(line);
    // Free the underlying native object
    fmb.destroy();
    // Shutsdown the Jdapi instance
    Jdapi.shutdown();
    if (debug.equals("Y")) {System.out.println(">>> Quiting");}
    I would be very grateful if you are able to offer me some advice here.
    Rgds,
    Mark . Spooner @ Investmaster . Com

  • JDAPI and XMLTOOLS javadoc

    Hi,
    Where can I find a javadoc description of the JDAPI and XMLTOOLS framework for Forms10g? I need it to change some properties in forms in batch. Some usage examples are welcome too.
    Regards,
    Roel

    Hello,
    <p>JDAPI documentation, and the list of JDAPI integer constants.</p>
    Francois

  • JDAPI change form reference within menus

    Hello selfless helpers of Oracle,
    We are trying to migrate our web forms from a windows 2003 server to a linux server.
    I posted a similar issue sometime back , but that was with regards to getting the JDAPI to start working. The JDAPI has started working , i was able to successfully convert the form-references to lowercase from uppercase within a form , using the sample code ChangeCase from "Note 403582.1 Sample Code JDAPI: switch Case For FormName in OPEN_FORM /CALL_FORM /NEW_FORM " .
    But i also have numerous references to other forms within my Menu files i.e my mmb. I did the basic changes like search and replace all Form with menu etc etc.. i got my code compiled and running.
    Problem is :-
    If i have the CALL_FORM made within the Menu item code, it doesn't seem to pick it up. However i had another menu file where the CALL_FORM was made within a program unit ( i.e a procedure) and it picked up the reference and even converted it to lower case.
    I wanted to know how to manipulate the code , to pick up form-references when made from menu item code as well... I am posting the code i used for changing the case of menus ...
    thanks in advance.....
    K

    import java.io.BufferedReader;
    import java.io.InputStreamReader;
    import oracle.forms.jdapi.MenuModule;
    import oracle.forms.jdapi.Jdapi;
    import oracle.forms.jdapi.JdapiIterator;
    import oracle.forms.jdapi.JdapiMetaObject;
    import oracle.forms.jdapi.JdapiMetaProperty;
    import oracle.forms.jdapi.JdapiObject;
    import oracle.forms.jdapi.JdapiTypes;
    import oracle.forms.jdapi.ProgramUnit;
    import oracle.forms.jdapi.Trigger;
    import oracle.forms.jdapi.MenuItem;
    public class ChangeCase_Menu {
    private static boolean uppercase =
    false; /* change this boolean to what is required (for uppercase set true)*/
    private static int changed =
    0; /*variable indicating if any changes were accepted in the menu*/
    public static void setInteger(int value) {
    changed = value;
    public static int getInteger() {
    return changed;
    private static int resetIter = 0; /*iterator for looping through objects*/
    public ChangeCase_Menu() {
    public static void main(String[] args) {
    String text;
    MenuModule mmd;
    // Open the Menu
    if (args.length < 1) {
    System.out.println("Usage java ChangeCase_Menu Menuname.mmb");
    System.exit(0);
    else if (!args[0].toUpperCase().endsWith("MMB")) {
    System.out.println("Works Only For Menus i.e only MMB ");
    System.out.println("Usage java ChangeCase_Menu Menuname.mmb");
    System.exit(0);
    try {
    mmd = MenuModule.open(args[0]); /*open the Menu*/
    System.out.println("Open Menu " + mmd.getName());
    loopObjects(mmd);
    if (getInteger() ==
    1) { /*save the menu only if something is changed in the triggers*/
    System.out.println("Saving the menu to " +
    mmd.getAbsolutePath());
    mmd.save(mmd.getAbsolutePath());
    System.out.println("Menu saved");
    mmd.destroy();
    } catch (Exception e) {
    if (e.toString().endsWith("not found"))
    System.out.println("Menu Does not exist");
    Jdapi.shutdown();
    private static void loopString(JdapiObject obj, String Text,
    String finalText) {
    boolean beenthere = false, setX = false, setZ = false;
    int x = -1, y = -1, z = -1;
    int t = -1;
    String tempText = Text;
    t = Text.indexOf("CALL_FORM"); /* search in trigger for a call_form **/
    if (t == -1) {
    x = Text.indexOf("OPEN_FORM");
    t = x;
    if (x != -1)
    setX = true;
    /* if call_frm is not found, then search for open_form*/
    if (t == -1) {
    z = Text.indexOf("NEW_FORM");
    t = z;
    if (z != -1)
    setZ = true;
    if (t != -1) {
    System.out.println("\nThis is the current code for " +
    obj.getName());
    System.out.println("-------------------------------------------------------");
    System.out.println(Text);
    while (t !=
    -1) /* loop if there are multiple call_form/open_form/new_form*/
    beenthere = true;
    finalText = changeText(obj, finalText, t);
    y = t + 10;
    tempText = finalText.substring(y, Text.length());
    if (setX == false && setZ == false) {
    t = tempText.indexOf("CALL_FORM");
    } /* search in trigger for a call_form **/
    if (t == -1 || setX == true || setZ == true) {
    if (x == -1 && setZ == false) {
    tempText = finalText;
    y = 0;
    setX = true;
    if (setZ == false) {
    x = tempText.indexOf("OPEN_FORM");
    t = x;
    /* if call_form is not found, then search for open_form*/
    if (x == -1 || setZ == true) {
    if (z == -1) {
    tempText = finalText;
    y = 0;
    setZ = true;
    z = tempText.indexOf("NEW_FORM");
    t = z;
    if (t != -1) {
    t = y + t;
    setX = false;
    setZ = false;
    if (beenthere == true) {
    System.out.println("\nProposed change of code " + obj.getName() +
    " to");
    System.out.println("-------------------------------------------------------");
    System.out.println(finalText);
    System.out.println("\nDo you want to change this Text? (Y/N) ");
    /* In this codepart I first question if you would like to make the change
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
         Hard coding for batch process , uncomment if you want user interaction
    try {
    //String answer = br.readLine();
    String answer = "Y";
    while (answer.toUpperCase().compareTo("Y") != 0 &
    answer.toUpperCase().compareTo("N") != 0) {
    //answer = br.readLine();
    answer = "Y";
    if (answer.toUpperCase().compareTo("Y") == 0) {
    System.out.println("changing the code");
    if (obj instanceof Trigger) {
    Trigger obj3 = (Trigger)obj;
    obj3.setTriggerText(finalText);
    } else if (obj instanceof ProgramUnit) {
    ProgramUnit obj3 = (ProgramUnit)obj;
    obj3.setProgramUnitText(finalText);
    }else if (obj instanceof MenuItem) {
    MenuItem obj3 = (MenuItem)obj;
    obj3.setMenuItemCode(finalText);
    setInteger(1);
    System.out.println("changed the code");
    if (answer.toUpperCase().compareTo("N") == 0) {
    System.out.println("not changed");
    } catch (Exception e) {
    System.out.println(e);
    private static String changeText(JdapiObject obj, String Text, int t) { /*In this code I search first for the substring of CALL_FORM or OPEN_FORM
    *When this is found I search first for the first quote, then for the second quote
    *This string returned I will put in uppercase, if you need lowercase, then
    *change here Text2.substring(firstquote,secondquote).toUpperCase() to
    *Text2.substring(firstquote,secondquote).toLowerCase()
    String Text1 = Text.substring(0, t);
    String Text2 = Text.substring(t, Text.length());
    String finalText = Text;
    int firstquote = Text2.indexOf("'", 0);
    int secondquote = Text2.indexOf("'", firstquote + 1);
    if (uppercase == true) {
    finalText =
    Text1 + Text2.substring(0, firstquote) + Text2.substring(firstquote,
    secondquote).toUpperCase() +
    Text2.substring(secondquote, Text2.length());
    } else {
    finalText =
    Text1 + Text2.substring(0, firstquote) + Text2.substring(firstquote,
    secondquote).toLowerCase() +
    Text2.substring(secondquote, Text2.length());
    return (finalText);
    private static void loopObjects(JdapiObject obj) { /*this function will loop through all objects in the menu*/
    JdapiMetaObject meta = obj.getJdapiMetaObject();
    JdapiIterator iter = meta.getChildObjectMetaProperties();
    while (iter.hasNext()) {
    JdapiMetaProperty cprop = (JdapiMetaProperty)iter.next();
    JdapiIterator kids =
    obj.getChildObjectProperty(cprop.getPropertyId());
    while (kids != null && kids.hasNext()) {
    if (resetIter > 0) {
    kids = obj.getChildObjectProperty(cprop.getPropertyId());
    loopObjects((JdapiObject)kids.next());
    resetIter = 0;
    } else {
    loopObjects((JdapiObject)kids.next());
    if (obj instanceof Trigger) {
    if (!(obj.isSubclassed())) {
    // Get the trigger text make sure it exists.
    String theText =
    obj.getStringProperty(JdapiTypes.TRIGGER_TEXT_PTID);
    if (theText != null) {
    Trigger obj3 = (Trigger)obj;
    String Text = obj3.getTriggerText();
    String finalText = Text;
    loopString(obj3, Text, finalText);
    } else {
    System.out.println("Error: This object " + obj.getName() +
    "doesn't have any trigger text");
    if (obj instanceof ProgramUnit) {
    System.out.println("Found PU" + obj.getOwner().getName() + "." +
    obj.getName());
    if (!(obj.isSubclassed())) {
    String theText =
    obj.getStringProperty(JdapiTypes.PROGRAMUNIT_TEXT_PTID);
    if (theText != null) {
    ProgramUnit obj3 = (ProgramUnit)obj;
    String Text = obj3.getProgramUnitText();
    String finalText = Text;
    loopString(obj3, Text, finalText);
    } else {
    System.out.println("Error: This object " + obj.getName() +
    "doesn't have any PU text");
    if (obj instanceof MenuItem) {
    System.out.println("Found Menu Item Code " + obj.getOwner().getName() + "." +
    obj.getName());
    if (!(obj.isSubclassed())) {
    String theText =
    obj.getStringProperty(JdapiTypes.MENU_ITEM_CODE_PTID);
    if (theText != null) {
    MenuItem obj3 = (MenuItem)obj;
    String Text = obj3.getMenuItemCode();
    String finalText = Text;
    loopString(obj3, Text, finalText);
    } else {
    System.out.println("Error: This object " + obj.getName() +
    "doesn't have any Menu item code text");
    }

  • About proccessor usage

    How I can find out in my Java application current level of processor usage?
    Does anybody know such packages?

    It is usually sufficient to employ your operating system's facilities to monitor / meausre such things. In X-nix, you can use the time(x) program to find out how much user cpu time, system cpu time and real time a process used.
    Chuck

  • Where can I find the JAR-File of the JDAPI-demo FormDumper ?

    Hi,
    I would like to compile the JDAPI-demo FormDumper
    and cannot find the right jar-file of :
    import oracle.forms.util.Getopt.*; .
    Thanks,
    Friedhold

    Ok there is no place to find the getopt file. forms 10.1.2.2.0) One needs the corrected version of the formdumper program which elimates calling it.
    btw to compile this one would need to do:
    set CLASSPATH=c:\devsuite\forms\java\frmjdapi.jar;
    javac FormDumper.java
    to run it I found this necessary:
    set CLASSPATH=c:\FormDumper.class;c:\devsuite\forms\java\frmjdapi.jar;
    java FormDumper c:\\mydirectory\\myform.fmb >myform.out
    /* modified version of the corrected version */
    /* Subject:      How To Implement The Code From 'A JDAPI Programming Example' From Forms Online Help?
         Doc ID:      Note:428083.1      Type:      HOWTO
         Last Revision Date:      23-APR-2007      Status:      PUBLISHED
    Applies to:
    Oracle Forms - Version: 9.0.5.2 to 10.1.2.2
    Information in this document applies to any platform.
    Goal
    The goal of this document is to explain how to make the sample code provided in the java class FormDumper 'A JDAPI Programming Example' from Forms OnLine help work.
    When used as it is provided in the documentation it fails, because 'import oracle.forms.util.getopt.*; not found'.
    Solution
    The sample code provided in the 'A JDAPI Programming Example' Forms OnLine help has the following line:
    import oracle.forms.util.getopt.*;
    When trying to compile the FormDumper.java the compilation fails with 'import oracle.forms.util.getopt.*; import not found'. This import fails due to the fact that util.jar library is not available with the standard Forms iDS. The solution to have the FormDumper class is to use another code in which util.jar is not used.
    Sample code to be used:
    import java.io.File;
    import java.io.PrintWriter;
    import java.io.FileWriter;
    import java.text.MessageFormat;
    import oracle.forms.jdapi.*;
    * Dumps passed forms JdapiObjects to an output stream as text.
    * Set command line options for more output, else only the
    * basic form tree structure will be dumped.
    * See printUsage for command line options.
    public class FormDumper {
         * Need this to parse the command line options
         * The string represents valid command options as detailed in the
         * Getopt class
        /* changed following b */
        /* boolean m_dumpAllProps = false;
    boolean m_dumpBoolProps = false;
    boolean m_dumpNumProps = false;
    boolean m_dumpTextProps = false;
    boolean m_dumpPropNames = false;
        boolean m_dumpAllProps = true;
        boolean m_dumpBoolProps = true;
        boolean m_dumpNumProps = true;
        boolean m_dumpTextProps = true;
        boolean m_dumpPropNames = true;
        String m_dumpPath = null;
         * Output stream, default to STDOUT */
        private PrintWriter m_out = new PrintWriter(System.out, true);
         * Use this to indent children
        private String m_indentation = "";
         * Constructor
        public FormDumper() {
         * Special constructor that does not take command line arguments.
         * @param out The output writer where to send dump information.
        public FormDumper(PrintWriter out) {
            m_out = out;
            m_dumpAllProps = true;
            m_dumpBoolProps = true;
            m_dumpNumProps = true;
            m_dumpTextProps = true;
            m_dumpPropNames = true;
         * Set the dump path.
         * @param path The file where the dumper must send the information
        public void setDumpPath(String path) {
            m_dumpPath = path;
         * Indirect output
        public void println(String s) {
            m_out.println(s);
         * Dump a form to the output stream
        public void dumpForm(String filename) throws Exception {
            FormModule fmb = FormModule.open(filename);
            System.out.println("Dumping module " + fmb.getName());
            if (m_dumpPath != null) {
                // use this form's FILE name to name the dump file
                String thisFormName = new File(filename).getName();
                thisFormName =
                        thisFormName.substring(0, (thisFormName.length() - 4));
                StringBuffer dmpFilename = new StringBuffer();
                dmpFilename.append(m_dumpPath);
                if (!dmpFilename.toString().endsWith("/")) {
                    dmpFilename.append("/");
                dmpFilename.append(thisFormName);
                m_out =
                        new PrintWriter(new FileWriter(dmpFilename.toString()), true);
            // Call the actual 'dump' method
            dump(fmb);
            // Dump the coordinate system used by the module
            m_indentation = " ";
            dump(new Coordinate(fmb));
            m_indentation = "";
            println("Dumped " + fmb.getName());
            // Close the module
            fmb.destroy();
         * Recursively dump a forms JdapiObject and its children to the output stream
        protected void dump(JdapiObject jo) {
            String className = jo.getClassName();
            // print out a context line for the JdapiObject
            // If it is a coordinate system, it does not have a name
            if (className.equals("Coordinate")) {
                println(m_indentation + "Coordinate System ");
            } else {
                println(m_indentation + className + " " + jo.getName());
            // Property classes need special treatment
            if (className.equals("PropertyClass")) {
                dumpPropertyClass((PropertyClass)jo);
            } else // Generically dump the required property types only
                if (m_dumpTextProps) {
                    dumpTextProps(jo);
                if (m_dumpBoolProps) {
                    dumpBoolProps(jo);
                if (m_dumpNumProps) {
                    dumpNumProps(jo);
                // Additionally, dump any Item list elements
                if (className.equals("Item")) {
                    dumpListElements((Item)jo);
            // use Form's metadata to get a list of all the child JdapiObjects this
            // JdapiObject can have b commented this
            JdapiMetaObject meta = JdapiMetadata.getJdapiMetaObject(jo.getClass());
            JdapiIterator props = meta.getChildObjectMetaProperties();
            JdapiMetaProperty prop = null;
            JdapiIterator iter = null;
            JdapiObject child = null;
            // loop through every possible kind of child JdapiObject this JdapiObject
            // can have b commented this
            while (props.hasNext()) {
                prop = (JdapiMetaProperty)props.next();
                // only bother if we can access these JdapiObjects
                if (!prop.allowGet()) {
                    continue;
                // get the actual values for the current child JdapiObject type,
                // e.g. get the Items on a Block
                iter = jo.getChildObjectProperty(prop.getPropertyId());
                // null is returned if there are no property values
                if (iter != null) {
                    // loop over every child value
                    while (iter.hasNext()) {
                        child = (JdapiObject)iter.next();
                        // recursively navigate to it
                        m_indentation += " ";
                        dump(child);
                        if (m_indentation.length() > 2)
                            m_indentation =
                                    m_indentation.substring(0, m_indentation.length() -
                                                            2);
         * Dump list elements
         * The JdapiObject is an item; if it is a list item,
         * dump the list elements.
         * @param item
        private void dumpListElements(Item item) {
            if (item.getItemType() == JdapiTypes.ITTY_LS_CTID) {
                if (m_dumpPropNames) {
                    println(m_indentation + "dumping list elements");
                for (int i = 1; i <= item.getListElementCount(); i++) {
                    String label = item.getElementLabel(i);
                    String value = item.getElementValue(i);
                    println(m_indentation + " " + i + ": '" + label + "' '" +
                            value + "'");
         * Dump the property class properties
        private void dumpPropertyClass(PropertyClass pc) {
            String propertyVal = null;
            // test for every single possible property
            // this is a bit hacky :)
            for (int propertyId = 1; propertyId < JdapiTypes.MAXIMUM_PTID;
                 ++propertyId) {
                if (!pc.hasProperty(propertyId)) {
                    continue; // this property is not in the set
                if (pc.hasDefaultedProperty(propertyId) && !m_dumpAllProps) {
                    continue;
                Class pt = JdapiMetaProperty.getPropertyType(propertyId);
                if (pt == Boolean.class) {
                    if (m_dumpBoolProps) {
                        propertyVal =
                                String.valueOf(pc.getBooleanProperty(propertyId));
                } else if (pt == Integer.class) {
                    if (m_dumpNumProps) {
                        propertyVal =
                                String.valueOf(pc.getIntegerProperty(propertyId));
                } else if (pt == String.class) {
                    if (m_dumpTextProps) {
                        propertyVal = pc.getStringProperty(propertyId);
                if (null != propertyVal) {
                    if (m_dumpPropNames) {
                        println(m_indentation + " " +
                                JdapiMetaProperty.getPropertyName(propertyId) +
                                " " + // changed by b
                                propertyVal);
                    } else {
                        println(m_indentation + propertyVal);
                    propertyVal = null;
            } // End loop over every property
         * Dump the source JdapiObject text properties
        private void dumpTextProps(JdapiObject jo) {
            JdapiMetaObject meta = JdapiMetadata.getJdapiMetaObject(jo.getClass());
            JdapiIterator props = meta.getStringMetaProperties();
            // for each text property
            while (props.hasNext()) {
                JdapiMetaProperty prop = (JdapiMetaProperty)props.next();
                int propertyId = prop.getPropertyId();
                String propertyVal = null;
                try {
                    propertyVal = jo.getStringProperty(propertyId);
                } catch (Exception e) {
                    println(m_indentation + "Could_not_get_property " +
                            JdapiMetaProperty.getPropertyName(propertyId));
                    continue;
                if (jo.hasProperty(propertyId) &&
                    (m_dumpAllProps || !(jo.hasDefaultedProperty(propertyId)))) {
                    if (m_dumpPropNames) {
                        println(m_indentation + " " +
                                JdapiMetaProperty.getPropertyName(propertyId) +
                                " " + propertyVal);
                    } else {
                        println(m_indentation + propertyVal);
         * Dump the source JdapiObject boolean properties
        private void dumpBoolProps(JdapiObject jo) {
            JdapiMetaObject meta = JdapiMetadata.getJdapiMetaObject(jo.getClass());
            JdapiIterator props = meta.getBooleanMetaProperties();
            // for each boolean property
            while (props.hasNext()) {
                JdapiMetaProperty prop = (JdapiMetaProperty)props.next();
                int propertyId = prop.getPropertyId();
                boolean propertyVal = false;
                try {
                    propertyVal = jo.getBooleanProperty(propertyId);
                } catch (Exception e) {
                    println(m_indentation + "Could_not_get_property " +
                            JdapiMetaProperty.getPropertyName(propertyId));
                    continue;
                if (jo.hasProperty(propertyId) && (m_dumpAllProps)) {
                    if (m_dumpPropNames) {
                        println(m_indentation + " " +
                                JdapiMetaProperty.getPropertyName(propertyId) +
                                " " + propertyVal);
                    } else {
                        println(m_indentation + propertyVal);
         * Dump the source JdapiObject numeric properties
        private void dumpNumProps(JdapiObject jo) {
            JdapiMetaObject meta = JdapiMetadata.getJdapiMetaObject(jo.getClass());
            JdapiIterator props = meta.getIntegerMetaProperties();
            // for each numeric property
            while (props.hasNext()) {
                JdapiMetaProperty prop = (JdapiMetaProperty)props.next();
                int propertyId = prop.getPropertyId();
                int propertyVal = 0;
                try {
                    propertyVal = jo.getIntegerProperty(propertyId);
                } catch (Exception e) {
                    println(m_indentation + "Could_not_get_property " +
                            JdapiMetaProperty.getPropertyName(propertyId));
                    continue;
                if (jo.hasProperty(propertyId) &&
                    (m_dumpAllProps || !(jo.hasDefaultedProperty(propertyId)))) {
                    if (m_dumpPropNames) {
                        println(m_indentation + " " +
                                JdapiMetaProperty.getPropertyName(propertyId) +
                                " " + propertyVal); //changed by b
                    } else {
                        println(m_indentation + propertyVal);
         * Output usage info to STDOUT
        public void printUsage() {
            System.out.println("");
            System.out.println("Jdapi Form Dumper Utility");
            System.out.println("Valid arguments:");
            System.out.println("-a : dump all properties, not just overridden ones");
            System.out.println("-b : dump boolean properties");
            System.out.println("-n : dump numeric properties");
            System.out.println("-t : dump text properties");
            System.out.println("-p : dump property names, not just values");
            System.out.println("-o : file path to output to");
         * Main method
        public static void main(String[] args) throws Exception {
            FormDumper dmp = new FormDumper();
            for (int i = 0; i < args.length; i++) {
                dmp.dumpForm(args);
    System.out.println("");
    System.out.println("Dumps complete");
    System.out.println("");
    Message was edited by:
    Jan Carlin

  • Problem with Firefox and very heavy memory usage

    For several releases now, Firefox has been particularly heavy on memory usage. With its most recent version, with a single browser instance and only one tab, Firefox consumes more memory that any other application running on my Windows PC. The memory footprint grows significantly as I open additional tabs, getting to almost 1GB when there are 7 or 8 tabs open. This is as true with no extensions or pluggins, and with the usual set, (firebug, fire cookie, fireshot, XMarks). Right now, with 2 tabs, the memory is at 217,128K and climbing, CPU is between 0.2 and 1.5%.
    I have read dozens of threads providing "helpful" suggestions, and tried any that seem reasonable. But like most others who experience Firebug's memory problems, none address the issue.
    Firefox is an excellent tool for web developers, and I rely on it heavily, but have now resorted to using Chrome as the default and only open Firefox when I must, in order to test or debug a page.
    Is there no hope of resolving this problem? So far, from responses to other similar threads, the response has been to deny any responsibility and blame extensions and/or pluggins. This is not helpful and not accurate. Will Firefox accept ownership for this problem and try to address it properly, or must we continue to suffer for your failings?

    55%, it's still 1.6Gb....there shouldn't be a problem scanning something that it says will take up 300Mb, then actually only takes up 70Mb.
    And not wrong, it obviously isn't releasing the memory when other applications need it because it doesn't, I have to close PS before it will release it. Yes, it probably is supposed to release it, but it isn't.
    Thank you for your answer (even if it did appear to me to be a bit rude/shouty, perhaps something more polite than "Wrong!" next time) but I'm sitting at my computer, and I can see what is using how much memory and when, you can't.

  • Problem with scanning and memory usage

    I'm running PS CS3 on Vista Home Premium, 1.86Ghz Intel core 2 processor, and 4GB RAM.
    I realise Vista only sees 3.3GB of this RAM, and I know Vista uses about 1GB all the time.
    Question:
    While running PS, and only PS, with no files open, I have 2GB of RAM, why will PS not let me scan a file that it says will take up 300Mb?
    200Mb is about the limit that it will let me scan, but even then, the actual end product ends up being less than 100Mb. (around 70mb in most cases)I'm using a Dell AIO A920, latest drivers etc, and PS is set to use all avaliable RAM.
    Not only will it not let me scan, once a file I've opened has used up "x" amount of RAM, even if I then close that file, "x" amount of RAM will STILL be unavaliable. This means if I scan something, I have to save it, close PS, then open it again before I can scan anything else.
    Surely this isn't normal. Or am I being stupid and missing something obvious?
    I've also monitored the memory usage during scanning using task manager and various other things, it hardly goes up at all, then shoots up to 70-80% once the 70ishMb file is loaded. Something is up because if that were true, I'd actually only have 1Gb of RAM, and running Vista would be nearly impossible.
    It's not a Vista thing either as I had this problem when I had XP. In fact it was worse then, I could hardly scan anything, had to be very low resolution.
    Thanks in advance for any help

    55%, it's still 1.6Gb....there shouldn't be a problem scanning something that it says will take up 300Mb, then actually only takes up 70Mb.
    And not wrong, it obviously isn't releasing the memory when other applications need it because it doesn't, I have to close PS before it will release it. Yes, it probably is supposed to release it, but it isn't.
    Thank you for your answer (even if it did appear to me to be a bit rude/shouty, perhaps something more polite than "Wrong!" next time) but I'm sitting at my computer, and I can see what is using how much memory and when, you can't.

  • Problem with JTree and memory usage

    I have problem with the JTree when memory usage is over the phisical memory( I have 512MB).
    I use JTree to display very large data about structure organization of big company. It is working fine until memory usage is over the phisical memory - then some of nodes are not visible.
    I hope somebody has an idea about this problem.

    55%, it's still 1.6Gb....there shouldn't be a problem scanning something that it says will take up 300Mb, then actually only takes up 70Mb.
    And not wrong, it obviously isn't releasing the memory when other applications need it because it doesn't, I have to close PS before it will release it. Yes, it probably is supposed to release it, but it isn't.
    Thank you for your answer (even if it did appear to me to be a bit rude/shouty, perhaps something more polite than "Wrong!" next time) but I'm sitting at my computer, and I can see what is using how much memory and when, you can't.

  • What causes cellular data usage to decrease if last reset has not changed? I reset every pay period cuz I do not have unlimited and was showing 125 mb sent/1.2g received. Now showing 98mb sent/980mb received. Last reset still shows same

        I reset my cellular data usage every month at the beginning of my billing period so that I can keep track of how much data I am using thru out the month. I do not have the unlimited data plan and have gone over a few times. It's usually the last couple days of my billing cycle and I am charged $10 for an extra gig which I barely use 10% of before my usage is restarted for new billing cycle. FYI, they do not carry the remainder of the unused gig that you purchase for $10 which I disagree with. But have accepted. Lol  Moving on.
        I have two questions. One possibly being answered by the other. 1. Is cellular data used when I sync to iTunes on my home computer to load songs onto my iPhone from my iTunes library(songs that already exist)? 2. What causes the cellular data usage readings in iPhone settings/general/usage/cellular usage to decrease if my last reset has not changed? It is close to end of my billing cycle and I have been keeping close eye. Earlier today it read around 180mb sent/1.2gb received. Now it reads 90mb sent/980 mb recieved. My last reset date reads the same as before. I don't know if my sync and music management had anything to do with the decrease but i didn't notice the decrease until after I had connected to iTunes and loaded music. I should also mention that a 700mb app automatically loaded itself to my phone during the sync process. Is cellular data used at all during any kind of sync /iPhone/iTunes management? Is the cellular data usage reading under iPhone settings a reliable source to keep track of monthly data usage? Guess turned out to be more than two questions but all related. Thanks in advance for any help you can offer me. It is information I find valuable. Sorry for the book long question.

    Is cellular data used at all during any kind of sync /iPhone/iTunes management? Is the cellular data usage reading under iPhone settings a reliable source to keep track of monthly data usage?
    1) No.
    2) It does provide an estimated usage, but it's not accurate. For accurate determination, you should check the remaining/used MBs from the carrier (most of the carriers provide this service for free).

  • I am having a data excess usage issue with my Jetpack although I did not use the VZW network at all.

    Background: My home does not have access to landline internet and I am relying on a Verizon Jetpack device rather than satellite cable for internet access.  Within my JetPack wireless network I have several devices connected, iPADs, PC’s, printer, etc. (up to 5 devices can be connected with my system).  Recently, I had one device within my immediate wireless network that I needed to transfer data via FTP to another local device within my immediate network.  The receiving device FTP’d data from device (198.168.1.42) to local IP (address 192.168.1.2).  To understand the data path a Trace rout for this transfer is 198.168.1.42 (source) to 198.168.1.1 (Jetpack) to 192.168.1.2 (receiver).  Note that the VZW network ((cloud)/4G network) was NOT used in this transfer nor was any VZW bandwidth used for this transfer (of course less the typical overhead status/maintenance communications that happen regardless). Use of the VZW bandwidth would be something like downloading a movie from Netflix, (transferring data from a remote site, through the VZW network, into the Jetpack and to the target device).  I also understand if ones devices have auto SW updates that would also go against the usage as well.  I get that.  My understanding of my usage billing is based data transfer across the VZW network.
    Now to the problem: To my surprise I was quite substantially charged for the “internal” direct transfer of this data although I didn’t use the VZW network at all.  This does not seem to be right, and doesn’t make much sense to me.  Usage is should be based on the VZW network not a local Wi-Fi.  In this case, Verizon actually gets free money from me without any use of or impact to the VZW network.  Basically this is a VERY expensive rental for the jetpack device, which I bought anyway.  Considering this, I am also charged each time I print locally.  Dive into this further, I am also interested in knowing what is the overhead (non-data) communications between the jetpack router and devices and how much does that add up to over time?
    Once I realized I was getting socked in bandwidth, as a temp solution I found an old Wi-Fi router, created a separate Wi-Fi network off the Jetpack, but the billing damage was already done.  Switching each device back and forth to FTP and print is a hassle and there should be no reason the existing hardware couldn’t handle this and charges aligned with VSW usage. Is purposely intended by Verizon? Is this charging correct? And can I get some help with this?
    Logically, usage should be based on VZW network usage not internal transfers.  All transfers between IP addresses 192.168 are by default internal.  Any data that needs to leave the internal network are translated in to the dynamic IP addresses established by the VZW network.  That should be very easily detected for usage. In the very least, this fact needs to be clearly identified and clarified to users of the Jetpack.  How would one use a local network and not get socked with usage charges?  Can one set up a Wi-Fi network with another router, hardwire directly from the router to the Jetpack so that only data to and from the VZW network is billed? I might be able to figure out how to have the jetpack powered on but disable the VZW connection, but I don’t want to experiment and find out that the internal transfers are being logged and the log sent after the fact anyway once I connect…. A reasonable solution should be that users be able to use the router functions of the Jetpack (since one has to buy the device anyway) and only be billed for VZW usage.
    Your help in this would be greatly appreciated. Thanks

    i had one mac and spilt water on it, the motherboard fried so i had to buy a used one...being in school and all. it is a MC375lla
    Model Name:
    MacBook Pro
      Model Identifier:
    MacBookPro7,1
      Processor Name:
    Intel Core 2 Duo
      Processor Speed:
    2.66 GHz
      Number of Processors:
    1
      Total Number of Cores:
    2
      L2 Cache:
    3 MB
      Memory:
    8 GB
      Bus Speed:
    1.07 GHz
      Boot ROM Version:
    MBP71.0039.B0E
      SMC Version (system):
    1.62f7
      Hardware UUID:
    A802DE22-1E57-5509-93C5-27CEF01377B7
      Sudden Motion Sensor:
      State:
    Enabled
    i do not have a backup of it, so i am thinking about replacing my old hard drive from the water damaged into this one, not even sure if that would work, but it did not seem to be damaged, as i recovered all the files i wanted off of it to put onto this mbp
    the previous owner didnt have it set to boot, they had all their settings left on it and tried to edit all the names on it, had a bunch of server info and printers etc crap on it.  i do not believe he edited the terminal system though--he doesnt seem to terribly bright(if thats possible)
    tbh i hate lion compared to the old one i had, this one has so many more issues-overheating,fan noise, cd dvd noise
    if you need screenshots or data of anything else as away
    [problem is i do not want to start from scratch if there is a chance of fixing it, this one did not come with disks or anything like my first. so i dont even know if i could, and how it sets now i am basically starting from scratch, because now all my apps are reset but working, i am hoping to get my data back somehow though, i lost all of my bookmarks and editing all my apps and setting again would be a pain

  • High memory usage when many tabs are open (and closed)

    When I open Firefox the memory usage is about 70-100 MB RAM. When I'm working with Firefox I often open 15-20 tabs at once, then I close them and open others. Memory usage increaes up to 450 - 500 MB RAM. After closing the tabs the usage usually decreases, but after sometime. It starts decreasing very slow and never comes back to the level from the beginning. After few hours of work Firefox uses about 400 MB RAM even if one tab is open. First I thought it's because of my plugins (Firebug, Speed Dial, Adlock Plus) but I've checked it and it's not. I reinstalled Firefox but the problem occurs as well. I'm not sure if it's normal. Could you help me, please?

    Hi,
    Not an exact answer but please [http://kb.mozillazine.org/Reducing_memory_usage_(Firefox) see this.] The KB article ponders through various general situations which may or may not be applicable to specific instances but nevertheless could be helpful.
    Useful links:
    [https://support.mozilla.com/en-US/kb/Options%20window All about Tools > Options]
    [http://kb.mozillazine.org/About:config Going beyond Tools > Options - about:config]
    [http://kb.mozillazine.org/About:config_entries about:config Entries]
    [https://addons.mozilla.org/en-US/firefox/addon/whats-that-preference/ What's That Preference? add-on] - Quickly decode about:config entries - After installation, go inside about:config, right-click any preference, enable (tick) MozillaZine Results to Panel and again right-click a pref and choose MozillaZine Reference to begin with.
    [https://support.mozilla.com/en-US/kb/Keyboard%20shortcuts Keyboard Shortcuts]
    [http://kb.mozillazine.org/Profile_folder_-_Firefox Firefox Profile Folder & Files]
    [https://support.mozilla.com/en-US/kb/Safe%20Mode Safe Mode]
    [http://kb.mozillazine.org/Problematic_extensions Problematic Extensions/Add-ons]
    [https://support.mozilla.com/en-US/kb/Troubleshooting%20extensions%20and%20themes Troubleshooting Extensions and Themes]

  • Popularity trend/usage report is not working in sp2013. Data was not being processed to EVENT STORE folder which was present under the Analytics_GUID folder.

    Hi
     I am working in a sharepoint migration project. We have migrated one SharePoint project from moss2007 to sp2013. Issue is when we are clicking on Popularity trend > usage report,  it is throwing an error.
    Issue: The data was not being processed to EVENT STORE folder which was present under the
    Analytics_GUID folder. Also data was not present in the Analytical Store database.
    In log viewer I have found the bellow error.
    HIGH -
    SearchServiceApplicationProxy::GetAnalyticsEventTypeDefinitions--Error occured: System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly
    secured fault was received from the other party.
    UNEXPECTED - System.ServiceModel.FaultException`1[[System.ServiceModel.ExceptionDetail,
    System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]: We're sorry, we weren't able to complete the operation, please try again in a few minutes.
    HIGH - Getting Error Message for Exception System.Web.HttpUnhandledException
    (0x80004005): Exception of type 'System.Web.HttpUnhandledException' was thrown. ---> System.ServiceModel.Security.MessageSecurityException: An unsecured or incorrectly secured fault was received from the other party.
    CRITICAL - A failure was reported when trying to invoke a service application:
    EndpointFailure Process Name: w3wp Process ID: 13960 AppDomain Name: /LM/W3SVC/767692721/ROOT-1-130480636828071139 AppDomain ID: 2 Service Application Uri: urn:schemas-microsoft-
    UNEXPECTED - Could not retrieve analytics event definitions for
    https://XXX System.ServiceModel.FaultException`1[System.ServiceModel.ExceptionDetail]: We're sorry, we weren't able to complete the operation, please try again in a few minutes.
    UNEXPECTED - System.ServiceModel.FaultException`1[[System.ServiceModel.ExceptionDetail,
    System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]]: We're sorry, we weren't able to complete the operation, please try again in a few minutes.
    I have verified few things in server which are mentioned below
    Two timer jobs (Microsoft SharePoint Foundation Usage Data Processing, Microsoft SharePoint Foundation Usage Data Import) are running fine.
    APPFabric Caching service has been started.
    Analytics_GUID folder has been
    shared with
    WSS_ADMIN_WPG and WSS_WPG and Read/Write access was granted
    .usage files are getting created and also the temporary(.tmp) file has been created.
    uasage  logging database for uasage data being transported. The data is available.
    Please provide pointers on what needs to be done.

    Hi Nabhendu,
    According to your description, my understanding is that you could not use popularity trend after you migrated SharePoint 2007 to SharePoint 2013.
    In SharePoint 2013, the analytics functionality is a part of the search component. There is an article for troubleshooting SharePoint 2013 Web Analytics, please take a look at:
    Troubleshooting SharePoint 2013 Web Analytics
    http://blog.fpweb.net/troubleshooting-sharepoint-2013-web-analytics/#.U8NyA_kabp4
    I hope this helps.
    Thanks,
    Wendy
    Wendy Li
    TechNet Community Support

  • Memory usage of excel stays high after Macro is executed and excel crashes after trying to close it

    Hi,
    I'm trying to resolve an issue with an excel based tool. The macros retrieve data from an Oracle database and do calculations with the data. They also open and write into files in the same directory. The macros all run and finish the calculations. I can
    continue to use and modify the sheet. I can also close the workbook, however excel memory usage I see in the windows Task manager stays elevated.If I  close Excel it says: Excel stopped working and then it tries to recover information...
    I assume something in the macro did not finish properly and memory was not released. I would like to check what is still open (connection, stream or any other object) when I close the workbook I would like to have a list of all still used memory. Is there
    a possibility to do so.
    Here the code I'm using, its reduced to functions which open something. Functions   
    get_v_tools() and get_change_tools() are same as get_client_positions().
    Public conODBC As New ADODB.Connection
    Public myPath As String
    Sub get_positions()
    Dim Src As range, dst As range
    Dim lastRow As Integer
    Dim myPath As String
    lastRow = Sheets("SQL_DATA").Cells(Sheets("SQL_DATA").rows.Count, "A").End(xlUp).Row
    Sheets("SQL_DATA").range("A2:AD" & lastRow + 1).ClearContents
    Sheets("SQL_DATA").range("AG2:BE" & lastRow + 2).ClearContents
    Sheets("SQL_DATA").range("AE3:AF" & lastRow + 2).ClearContents
    k = Sheets("ToolsList").Cells(Sheets("ToolsList").rows.Count, "A").End(xlUp).Row + 1
    Sheets("ToolsList").range("A2:M" & k).ClearContents
    'open connection
    Call open_connection
    lastRow = Sheets("SQL_DATA").Cells(Sheets("SQL_DATA").rows.Count, "A").End(xlUp).Row
    If lastRow < 2 Then GoTo ErrorHandling
    'copy bs price check multiplications
    Set Src = Sheets("SQL_DATA").range("AE2:AF2")
    Set dst = Worksheets("SQL_DATA").range("AE2").Resize(lastRow - 1, Src.columns.Count)
    dst.Formula = Src.Formula
    On Error GoTo ErrorHandling
    'new prices are calculated
    newPrice_calculate (lastRow)
    Calculate
    myPath = ThisWorkbook.Path
    'Refresh pivot table in Position Manager
    Sheets("Position Manager").PivotTables("PivotTable3").ChangePivotCache ActiveWorkbook. _
    PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _
    myPath & "\[Position_Manager_v1.0.xlsm]SQL_DATA!R1C2:R" & lastRow & "C31" _
    , Version:=xlPivotTableVersion14)
    ErrorHandling:
    Set Src = Nothing
    Set dst = Nothing
    If conODBC.State <> 0 Then
    conODBC.Close
    End If
    End Sub
    Sub open_connection()
    Dim sql_data, sql_data_change, sql_data_v As Variant
    Dim wdth, TotalColumns, startRow As Integer
    Dim rst As New ADODB.Recordset
    Errorcode = 0
    On Error GoTo ErrorHandling
    Errorcode = 1
    With conODBC
    .Provider = "OraOLEDB.Oracle.1"
    .ConnectionString = "Password=" & pswrd & "; Persist Security Info=True;User ID= " & UserName & "; Data Source=" & DataSource
    .CursorLocation = adUseClient
    .Open
    .CommandTimeout = 300
    End With
    startRow = Sheets("SQL_DATA").Cells(Sheets("SQL_DATA").rows.Count, "A").End(xlUp).Row + 1
    sql_data = get_client_positions(conODBC, rst)
    wdth = UBound(sql_data, 1)
    Sheets("SQL_DATA").range("A" & startRow & ":AA" & wdth + startRow - 1).Value = sql_data
    'Run change tools instruments
    startRow = Sheets("ToolsList").Cells(Sheets("ToolsList").rows.Count, "A").End(xlUp).Row + 1
    sql_data_change = get_change_tools(conODBC, rst)
    wdth = UBound(sql_data_change, 1)
    Sheets("ToolsList").range("A" & startRow & ":M" & wdth + startRow - 1).Value _
    = sql_data_change
    'open SQL for V tools instruments
    startRow = Sheets("ToolsList").Cells(Sheets("ToolsList").rows.Count, "A").End(xlUp).Row + 1
    sql_data_v = get_v_tools(conODBC, rst)
    wdth = UBound(sql_data_v, 1)
    Sheets("ToolsList").range("A" & startRow & ":L" & startRow + wdth - 1).Value = sql_data_v
    conODBC.Close
    ErrorHandling:
    If rst.State <> 0 Then
    rst.Close
    End If
    Set rst = Nothing
    End Sub
    Private Function get_client_positions(conODBC As ADODB.Connection, rst_posi As ADODB.Recordset) As Variant
    Dim sql_data As Variant
    Dim objCommand As ADODB.Command
    Dim sql As String
    Dim records, TotalColumns As Integer
    On Error GoTo ErrorHandling
    Set objCommand = New ADODB.Command
    sql = read_sql()
    With objCommand
    .ActiveConnection = conODBC 'connection for the commands
    .CommandType = adCmdText
    .CommandText = sql 'Sql statement from the function
    .Prepared = True
    .CommandTimeout = 600
    End With
    Set rst_posi = objCommand.Execute
    TotalColumns = rst_posi.Fields.Count
    records = rst_posi.RecordCount
    ReDim sql_data(1 To records, 1 To TotalColumns)
    If TotalColumns = 0 Or records = 0 Then GoTo ErrorHandling
    If TotalColumns <> 27 Then GoTo ErrorHandling
    If rst_posi.EOF Then GoTo ErrorHandling
    l = 1
    Do While Not rst_posi.EOF
    For i = 0 To TotalColumns - 1
    sql_data(l, i + 1) = rst_posi.Fields(i)
    Next i
    l = l + 1
    rst_posi.MoveNext
    Loop
    ErrorHandling:
    rst_posi.Close
    Set rst_posi = Nothing
    Set objCommand = Nothing
    get_client_positions = sql_data
    End Function
    Private Function read_sql() As String
    Dim sqlFile As String, sqlQuery, Line As String
    Dim query_dt As String, client As String, account As String
    Dim GRP_ID, GRP_SPLIT_ID As String
    Dim fso, stream As Object
    Set fso = CreateObject("Scripting.FileSystemObject")
    client = Worksheets("Cover").range("C9").Value
    query_dt = Sheets("Cover").range("C7").Value
    GRP_ID = Sheets("Cover").range("C3").Value
    GRP_SPLIT_ID = Sheets("Cover").range("C5").Value
    account = Sheets("Cover").range("C11").Value
    sqlFile = Sheets("Cover").range("C15").Value
    Open sqlFile For Input As #1
    Do Until EOF(1)
    Line Input #1, Line
    sqlQuery = sqlQuery & vbCrLf & Line
    Loop
    Close
    ' Replace placeholders in the SQL
    sqlQuery = Replace(sqlQuery, "myClent", client)
    sqlQuery = Replace(sqlQuery, "01/01/9999", query_dt)
    sqlQuery = Replace(sqlQuery, "54747743", GRP_ID)
    If GRP_SPLIT_ID <> "" Then
    sqlQuery = Replace(sqlQuery, "7754843", GRP_SPLIT_ID)
    Else
    sqlQuery = Replace(sqlQuery, "AND POS.GRP_SPLIT_ID = 7754843", "")
    End If
    If account = "ZZ" Then
    sqlQuery = Replace(sqlQuery, "AND AC.ACCNT_NAME = 'ZZ'", "")
    Else
    sqlQuery = Replace(sqlQuery, "ZZ", account)
    End If
    ' Create a TextStream to check SQL Query
    sql = sqlQuery
    myPath = ThisWorkbook.Path
    Set stream = fso.CreateTextFile(myPath & "\SQL\LastQuery.txt", True)
    stream.Write sql
    stream.Close
    Set fso = Nothing
    Set stream = Nothing
    read_sql = sqlQuery
    End Function

    Thanks Starain,
    that's what I did the last days and found that the problem is in the
    newPrice_calculate (lastRow)
    function. This function retrieves data (sets it as arrays) which was correctly pasted into the sheet, loops through all rows and does math/calendar calculations with cell values using an Add-In("Quantlib")
    Public errorMessage as String
    Sub newPrice_calculate(lastRow)
    Dim Type() As Variant
    Dim Id() As Variant
    Dim Price() As Variant
    Dim daysTo() As Variant
    Dim fx() As Variant
    Dim interest() As Variant
    Dim ObjCalend as Variant
    Dim newPrice as Variant
    On Error GoTo Catch
    interest = Sheets("SQL_DATA").range("V2:V" & lastRow).Value
    Type = Sheets("SQL_DATA").range("L2:L" & lastRow).Value Id = Sheets("SQL_DATA").range("M2:M" & lastRow).Value Price = Sheets("SQL_DATA").range("T2:T" & lastRow).Value
    daysTo = Sheets("SQL_DATA").range("K2:K" & lastRow).Value
    fx = Sheets("SQL_DATA").range("U2:U" & lastRow).Value
    qlError = 1
    For i = 2 To lastRow
    If (i, 1) = "LG" Then
    'set something - nothing spectacular like
    interest(i, 1) = 0
    daysTo(i , 1) = 0
    Else
    adjTime = Sqr(daysTo(i, 1) / 365)
    ObjCalend(i,1) =Application.Run("qlCalendarHolidaysList", _
    "CalObj", ... , .... other input parameters)
    If IsError(ObjCalend(i,1)) Then GoTo Catch
    'other calendar calcs
    newPrice(i,1) = Application.Run( 'quantLib calcs)
    End If
    Catch:
    Select Case qlError
    Case 1
    errorMessage = errorMessage & " QuantLibXL Cal Error at: " & i & " " & vbNewLine & Err.Description
    ObjCalend(i,1) (i, 1) = "N/A"
    End Select
    Next i
    Sheets("SQL_DATA").range("AB2:AB" & lastRow).Value = newPrice
    'Sheets("SQL_DATA").range("AA2:AA" & lastRow).Value = daysTo
    ' erase and set to nothing all arrays and objects
    Erase Type
    Erase id
    Erase Price
    Set newPrice = Nothing
    Is there a possibility to clean everything in:
    Private Sub Workbook_BeforeClose(Cancel As Boolean)
    End Sub
    Thanks in advance
    Mark

  • Why do I have mysterious cellular data usage (Verizon) every 6 hours on all 3 of my iphone 5's?

    I have recently uncovered mysterious cellular usage on three different iPhones. I am a Verizon customer and discovered this by examining the cellular data use logs. What I found are a long series of mysterious data usage logs. I have visited the Genius Bar at my local Apple Store 3 times now to log notes and discuss the issue. It is being escalated.
    The characterstics are as follows:
    All my family phones have the appropriate IOS and hardware updates (verified by the GeniusBar at my local Apple Store).
    This is occuring across three phones, which happen to all be iphone 5. Two are 5 and the other a new 5s. We do have one iphone 4 in the family but the issue (so far as I can tell), is not happening on it.
    One iphone 5 has IOS 7, the other IOS 6. The new 5s has of course IOS 7.
    Mysterious data use happens even while connected to wifi.
    Each mysterious data use log entry is exactly 6 hours apart. For example: 2:18 AM, 8:18 AM, 2:18 PM, 8:18 PM, 2:18 AM ... etc. It cycles AM and PM, same times, for a day to many days until some condition causes it to change (evolve).
    The times evolve. One day it could be cycling through at one time series, then it changes to another time sequence and continues until the next condition.
    The data usage is anywhere from a few K to many MB. The largest I've seen is over 100 MB.
    The logs clearly show these usages are not due to human interaction. It is a program.
    If cellular connection is used frequently (by the owner), the pattern is hard to pick out. Luckily, my family member is very good about only using wifi whenever possible, so these mysterious use patterns are easy to pick out.
    Verizon allows access to 90 days worth of data logs, so I downloaded and analyzed them. This has been happening for at least 90 days. I have found 298 instances of mysterious use out of 500 total connections to cellular. A total of 3.5 GB of mysterious cellular data has been recorded as used in that 90 days by this phone alone. Only .6 GB of the total cellular data use is legitimate, meaning by the person.
    This issue is occuring across three different phones. Two are iPhone 5, and the third is a recently purchased iPhone 5s. The 5s I have not touched beyone the basic startup. I have left it alone on a desk for 3 days, and looking at the logs, the mysterious data use in the same pattern is occuring.
    So ... I am speaking to both sides, Verizon and Apple to get answers. Verizon puts their wall up at data usage. It doesn't matter how it is being used, you simply need to pay for it. Yes, the evidence I have gathered is getting closer to someting on Verizon's end.
    Before pressing in that direction, I am hoping someone reading this may recognize this issue as a possible iPhone 5 issue ... OR ... you, right now, go look at your data usage logs available through your carrier's web account, and see if you can pick out a pattern of mysterious use. Look especially at the early morning instances when you are most likely sleeping.
    I am hoping this is a simple issue that has a quick resolution. I'm looking for the "ooohhh, I see that now ..." But I am starting to think this might be much bigger, but the fact is, most customers rarely or never look at their data usage details, much less discover mysterious use patterns.
    The final interesting (maybe frightening part) thing about all this is that I discovered while talking to Verizon ... they do not divulge which direction the data is going. This goes for any use, mysterious or legitimate. Is cellular data coming to your phone, or leaving it? Is something pulling data from your phone? We know that it is possible to build malware apps, but the catch with my issue is that it is also happening on a brand new iphone 5s with nothing downloaded to it.
    Thanks for your time

    Thanks for the replies. It took a while not hearing anything so thought I was alone. I have done many of the suggestions already. The key here is that it occurs on both phones with apps, and phones still packaged in a box.
    A Genius Bar supervisor also checked his Verizon data usage log and found the same 6 hour incremental use. Suprisingly, he did not express much intrigue over that. Maybe he did, but did not show it.
    I think the 6 hour incremental usage is the main issue here. I spoke with Verizon (again) and they confirmed that all they do is log exactly when the phone connected to the tower and used data. The time it records is when the usage started. I also found out that the time recorded is GMT.
    What is using data, unsolicited, every 6 hours?
    Why does it change?
    Why does it only happen on the iPhone 5 series and not the 4?
    Since no one from Apple seems to be chiming in on this, and I have not received the promised calls from Apple tech support that the Genius Bar staff said I was suppose to receive, it is starting to feel like something is being swept under the rug.
    I woke up the other day with another thought ... What application would use such large amounts of data? Well ... music, video, sound and pictures of course. Well ... what would someone set automatically that is of any use to them? hmmm ... video, pictures, sound. Is the iPhone 5 succeptible to snooping? Can an app be buried in the IOS that automatically turns on video and sound recording, and send it somewhere ... every 6 hours? Chilling. I noted that the smallest data usage is during the night when nothing is going on, then it peaks during the day. The Genius Bar tech and I looked at each other when I drew this sine wave graph on the log print outs during an appointment ...

Maybe you are looking for

  • Custom task (uc_task_custom)? how is the best way to implement intention

    Hello all, i would like to tell you our intention. We want to calculate Capital Charge.  Thius means we want to read a couple of records from transactional cube (differing e.g. on item) then do a calculation, then write it back as one record (new ite

  • Additional field in IT0109

    Hi All, I have added an additional field in IT0109 through PM01. But the field is not displaying in PA30, while using infotype 0016.I have created an entry in table T582C for mp001600 and zp010900. Please let me know what could be the problem. Thanks

  • I need to find the tabs I had open from yesterday as today they didn't open

    I had about 15 plus tabs open yesterday. Today I opened up, but they didn't open up, so I closed down and reopened. But they still are not there. They are not in recent history, as that shows every time I open my email etc etc... So I want to find th

  • Straight line shows across screen

    I just went to listen to my 5th gen ipod after like 3 days of it sitting in my jacket, possibly a few hours in the cold car and when I went to turn it on, there was a straight black line across the middle of the screen. The line is only there when th

  • Why not use gift card for family sharing?

    This family sharing feature seems great.  But long gone are the days where I had a credit card on file.  These days I only use gift cards.  But system really wants me to have a credit card to activate this family sharing?  Has anyone been able to do