How to call a COM object from an Oracle Form?

Hi All,
Pls advice. How to call a COM object from an Oracle Form?
Thanks.

try asking the "Form" forum

Similar Messages

  • How can I call a COM object from a PL/SQL CODE

    Hi everyone,
    Does anyone know how to call a COM object from a stored procedure in oracle.
    a sample of code
    please help,
    Hilaire

    Are you familiar with external procedures? Basically, you can expose functions exported by a shared library (i.e. a DLL on Windows) to the Oracle database. My assumption is that you'd probably need to write a wrapper DLL around the COM object, since I believe you can only pass fundamental data types back and forth (i.e. no object references). You'd expose the method(s) of that wrapper DLL to the database via external procedures.
    Justin
    Distributed Database Consulting, Inc.
    www.ddbcinc.com/askDDBC

  • How to call a Report 10g from a parameter form..?

    Hello,
    pls i wanna know the procedure of :
    How to call a Report 10g from a parameter form..?
    regards,
    Abdetu..

    hopes it work for you.
    procedure get_report is
    pl_id paramlist;
    p_year varchar2(4);
    param_name varchar2(10) :'param';
    begin
    pl_id := get_parameter_list(param_name);
    if not id_null(pl_id_)then
    destroy_parameter_list(pl_id);
    end if;
    pl_id := create_parameter_list(param_name);
    p_year := year -- assign the value.
    add_parameter(pl_id,'p_year',text_parameter,p_year);
    execute_report('report_name',pl_id);
    end;

  • Error while calling standard OAF page from custom Oracle Form

    Hi,
    I am calling standard OAF page from custom oracle form using the following code.
    FND_FUNCTION.EXECUTE(FUNCTION_NAME=>'FUN_TRX_ENTRY_OUT_VIEW_BATCH',
    OPEN_FLAG =>'Y',
    SESSION_FLAG =>'N' ,
    OTHER_PARAMS =>'&ViewBatchID = "' || NAME_IN('FUN_AGIS_LINE_D.BATCH_ID') ||
                        '&CallingFunction = "' || 'MANEXPINQ' ||'"');
    But I am getting this error.
    oracle.apps.fnd.framework.OAException: This request was not processed as the request URL %2FOA_HTML%2FOA.jsp%3Fpage%3D%2Foracle%2Fapps%2Ffun%2Ftransaction%2Fentry%2Fwebui%2FViewOutBatchPG%26OAPB%3DFUN_PRODUCT_BRAND%26OAHP%3DFUN_SSWA_MENU%26OASF%3DFUN_TRX_ENTRY_OUT_SEARCH%26_ti%3D1217029204%26language_code%3DUS%26%26ViewBatchID%20%3D%20%22203148%26CallingFunction%20%3D%20%22MANEXPINQ%22%26CallFromForm%3D%27Y%27%26oas%3DqZqg3tmdEdUNyw_HtskVow.. contained potentially illegal or un-encoded characters. Please try again by submitting a valid URL or contact your systems administrator for assistance.
    Please let me know any thing I missed out here.
    Any suggestion will highly appreciated.
    Thanks & Regards,
    Sunita

    I am using FND_FUNCTION.EXECUTE to call a OAF page from PLSQL in R12. I am getting following error"Error(9,23): PLS-00302: component 'EXECUTE' must be declared"

  • How 2 call a report 10g from a parameter form 10G

    Hello,
    pls. i need steps ,or docs how 2 run a report 10g from a parameter form ;
    Is it requireD for the Parameter form to call a report an Application Server no* ???*
    i had a previous  experience with the code due to run the report as follows:_
    DECLARE
       PARAM_ID                                 PARAMLIST ;
       PARAM_NAME                           VARCHAR2(30) := 'REPORT_PARAMETER';
       ALRT                                         NUMBER;
       ERR_TXT                                   VARCHAR2(1000);
       repid                                         REPORT_OBJECT;
       v_rep                                        VARCHAR2(100);
       v_REP_SERVER_NAME       VARCHAR2(200);
       v_ip                                          VARCHAR2(100);
    BEGIN
           PARAM_ID := GET_PARAMETER_LIST(PARAM_NAME);
           IF NOT ID_NULL(PARAM_ID) THEN
              DESTROY_PARAMETER_LIST('REPORT_PARAMETER');
           END IF;
           v_REP_SERVER_NAME := REP_SERVER_NAME;
    BEGIN
            SELECT  PARAMETER_VALUE
            INTO   v_ip
            FROM GENERAL_FIXED_PARAMETERS
           WHERE PARAMETER_ID = 'REPORT_SERVER_IP';
           EXCEPTION
           WHEN OTHERS THEN   
           Message ('OTHERS' || SQLCODE || ' And ' || SQLERRM);
           Message ('OTHERS' || SQLCODE || ' And ' || SQLERRM);     
    END;
           PARAM_ID := CREATE_PARAMETER_LIST(PARAM_NAME);
           ADD_PARAMETER(PARAM_ID,'PARAMFORM',TEXT_PARAMETER,'NO');   
           ADD_PARAMETER(PARAM_ID,'COPIES',TEXT_PARAMETER,:COPIES);
           ADD_PARAMETER(PARAM_ID,'P_DISPLAY',TEXT_PARAMETER,:DESTYPE);
           ADD_PARAMETER(PARAM_ID,'DESFORMAT',TEXT_PARAMETER,'pdf');
           ADD_PARAMETER(PARAM_ID,'group_id',TEXT_PARAMETER, :group_id);
             repid := find_report_object('WH_R01_GRP_ITEM');
             SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,v_rep_server_name);     
             v_rep := RUN_REPORT_OBJECT(repid,PARAM_ID);
      WEB.SHOW_DOCUMENT('http://'||V_IP||'/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?server='||v_REP_SERVER_NAME,'_blank');
    --  http://server_name:8889/reports/rwservlet?report=rep_name.rdf&paramform=yes&destype=CACHE&desformat=htmlcss&userid=id/pass@conn
    END;notice here the value of V_IP it is retrieved from the following table desc...
    The table desc   GENERAL_FIXED_PARAMETERS that i select from the values are as follows:_
    SQL>   DESC GENERAL_FIXED_PARAMETERS;
    Name                                      Null?    Type
    PARAMETER_ID                                       VARCHAR2(200)
    PARAMETER_VALUE                                    VARCHAR2(200)
    PARAMETER_DESC                                     VARCHAR2(200)
    MODULE                                             VARCHAR2(200)it's stored value is as follows:
    SQL>  select * from GENERAL_FIXED_PARAMETERS;
    PARAMETER_ID   PARAMETER_VALUE  PARAMETER_DESC   MODULE
    REPORT_SERVER_IP     rep_oraas_OracleAs_10gNotice here the value of the PARAMETER_VALUE is a string ; as if it's a generic value to be applied on any REPORT_SERVER_IP this value ...
    Where Should i retrieved or Get ???
    That was long time i can't remember pls help me 2 run my report what should id
    i searched the google but there is a missing link can u help and guide me it's urgent pls.
    if needed 2 start oc4j for reports , setting pathes ,fonts, enviroment file etc.
    The report object's property in the object navigator is as follow:_
    + Oracle Developer Integration node :
    File name : My_Report_name
    Execution Mode: Runtime
    Communication Mode : Synchronous
    Data Source data block :NULL
    + Reports node:
    Report Destination Type : FileThanks in advance,
    Regards,
    Abdetu...

    Thanks InoL for reply,
    REPORT_SERVER_IP is not correcti had doubted but wasn't sure of it...!
    My First Question was :
    Is it requireD for the Parameter form to call a report an Application Server no ???*the answer i found is Yessss
    Regards,
    Abdetu...

  • Calling a Database Procedure from an Oracle Form

    Hi,
    I have a question we will be calling the procedure from an Oracle form and through that can we pass like 1000 input values to this procedure and we need to return certain values back to the Oracle Form also. Here the proceduere take two or more parameters. Please advice.
    To receive the input values we have the input parameter of the procedure as type object, so that we can receive multiple parameter values.
    Thanks and Regards
    Srinivas

    user2626293 wrote:
    Hi Francois,
    Thanks for your response, please suggest me as to how we can acheive passing of parameters which can hold multiple values, while making a call to the database procedure from the Oracle Form
    Hi Srinivas,
    Here is an example of procedure...
    CREATE OR REPLACE PROCEDURE P_GET_SAL (P_EMPID NUMBER, P_SAL OUT NUMBER)
    IS
    BEGIN
         SELECT SALARY
         INTO P_SAL
         FROM EMPLOYEE
         WHERE EMPLOYEE_ID=P_EMPID;
    END;
    SQL> VAR G_SAL NUMBER;
    SQL> EXEC P_GET_SAL(100,:G_SAL);
    PL/SQL procedure successfully completed.
    SQL> PRINT G_SAL;
    G_SAL
          2300Hope this helps
    Hamid
    If someone's response is helpful or correct, please mark it accordingly.*

  • How to run a DOS command from an Oracle form.

    How can I run a DOS command from an Oracle form (i.e. open the calculator located at c:\windows\system32\calc.exe)?

    first of all get the environment variable for the c:\windows\system32 direcotry for any of the windows
    you can use get variable from the ora env package
    now cancat the system32 variable with the calc.exe string
    now pass the string with host command as parameters
    this process will work for all type of windows.

  • Can u call a BIP Report from within Oracle Forms?

    Hi,
    We want to use BIP as a reports solution for a Forms 10g Application. Currently we use oracle Reports. I would be very grateful if anybody can show us how to do the following as I could not find it in any documentation. Of course, I get the feeling that these cannot be done, but I want to double-check.
    (1.) How to call a BIP report with a input parameters from within an Oracle 10g Menu? i.e. when the user clicks on the menu item, BIP should be started and it should run the report within the BIP.
    -- So we also need a way to pass parameters to the BIP
    -- Also BIP has a different username/password also
    Is this possible or NOT POSSIBLE( i.e. U have to ask the user to login to BIP and then run the report)?
    Thanks & Regards,
    CS

    Hi,
    Have a look in this document to get an idea how to do:
    http://www.oracle.com/technology/products/xml-publisher/docs/Forms_BIP_v22.pdf
    Regards
    Rainer

  • How do I call a SAP RFC from an Oracle Form using webutils CLIENT_OLE2?

    Hi guys,
    Your help on this problem would be greatly appreciated.
    We have an older forms 6i application which we are currently updating to 10g (which is a pain itself... but that's a different story.) which currently uses unssupported c++ routines to connect to the SAP system, we want to do away with this c++.
    What I have so far is the following test code:
    PROCEDURE cmd_summary
    IS
    o_sap_log client_ole2.obj_type;
    o_sap_conn client_ole2.obj_type;
    o_sap_rfcc client_ole2.obj_type;
    -- o_sap_rfcx client_ole2.obj_type;
    -- o_sap_rfc client_ole2.obj_type;
    v_args ole2.list_type;
    v_logon BOOLEAN := FALSE;
    BEGIN
    :block3.txt_result := 'TEST Started!';
    --create logon control object
    o_sap_log := client_ole2.create_obj ('SAP.logoncontrol.1');
    --create the function object
    o_sap_rfcc := client_ole2.create_obj ('SAP.Functions');
    --create a new connection object
    o_sap_conn := client_ole2.invoke_obj (o_sap_log, 'NewConnection');
    --set the connection properties
    client_ole2.set_property (o_sap_conn, 'System', caps$get_sys_param ('SAP_DST'));
    client_ole2.set_property (o_sap_conn, 'MessageServer', caps$get_sys_param ('SAP_HST'));
    client_ole2.set_property (o_sap_conn, 'GroupName', 'DEVELOP');
    client_ole2.set_property (o_sap_conn, 'client', caps$get_sys_param ('SAP_CLT'));
    client_ole2.set_property (o_sap_conn, 'SystemNumber', caps$get_sys_param ('SAP_SYN'));
    client_ole2.set_property (o_sap_conn, 'User', caps$get_sys_param ('SAP_USR'));
    client_ole2.set_property (o_sap_conn, 'Password', caps$get_sys_param ('SAP_PWD'));
    client_ole2.set_property (o_sap_conn, 'language', caps$get_sys_param ('SAP_LNG'));
    --set up the logon arguements
    v_args := client_ole2.create_arglist;
    client_ole2.add_arg (v_args, 1);
    client_ole2.add_arg (v_args, TRUE);
    --run the logon function
    v_logon := client_ole2.get_bool_property (o_sap_conn, 'logon', v_args);
    client_ole2.destroy_arglist (v_args);
    IF v_logon
    THEN
    :block3.txt_result := :block3.txt_result || CHR (10) || 'LOGON Worked!!';
    ELSE
    :block3.txt_result := :block3.txt_result || CHR (10) || 'LOGON Failed!!';
    END IF;
    :block3.txt_result := :block3.txt_result || CHR (10) || 'TEST Ended!';
    EXCEPTION
    WHEN OTHERS
    THEN
    :block3.txt_result := :block3.txt_result || CHR (10) || SQLERRM (SQLCODE);
    END cmd_summary;
    NOTE: the get_sys_param functionis returning text from a table.
    This seems to work okay, the logon command returning a TRUE. All good so far.
    However, when I try to then use this connection for anything then I stumble and fall!
    I've seen an example in VB where the SAP RFC object is "assigned" the connection object by simply stating:
    Set oSAPrfc.Connection = oSAPconn
    Where oSAPconn is setup in a similar way to my o_Sap_conn in the above example.
    I have tried using the CLIENT_OLE2.SET_PROPERTY procedures but I don't think that's quite right.
    I've tried using invoke, to try and "run" the method like:
    v_args := CLIENT_OLE2.CREATE_ARGLIST;
    client_ole2.add_arg_obj(v_args,o_sap_conn);
    client_ole2.invoke(o_sap_rfcc,'Connection',v_args);
    client_ole2.destroy_arglist(v_args);
    but it fails.
    I have also tried using the actual Connection function directly:
    SAP_ISAPFUNCTIONS.connection(o_sap_rfcc, o_sap_conn);
    But that just causes the Forms Server to crash... :?
    Has anyone connected to SAP via Forms? I noticed one post on this forum which an example of some code using a SAPBAPI control but not WEBUTIL (Which I think I'd need to use because we are running 10g)
    As a side note we are also looking into SAP Adapter as a possible "other" route but this too is getting very complicated... And I can't see a way of connecting a form to the Adpater anyway :(
    Any advice would be very much appreciated.

    Can anyone help?
    Mike

  • How to call userdefined java script function in Oracle Forms 11g.

    Hi,
    I Created a java script contain a function, that will open and close the browser for some URL.
    CODE:-(webclose.jp)
    *function manageWindows() {*
    var windows = [], i = 0;
    var url =  "htttp://oracle:64578/xmlpserver/login.jsp?Go&id=admin&passwd=admini";
    *if (url.length) {*
    *windows[i] = window.open(url, ' tabWindow_'+i);*
    i++;
    *winows[i-1].close();*
    *delete windows[i-1];*
    return false;
    *}* Then i placed the javascript file in path <middleware_home>\user_projects\domains\<domain>\servers\WLS_FORMS\_WL_user\formsapp_11.1.1\e18uoi\war\
    After that i called the javascript function in to forms as
    WEB.JAVASCRIPT_EVAL_EXPR('webclose.manageWindows();');
    When running the form it showing error
    FRM-92190: JavaScript is unable to evaluate expression.
    If anybody knows pls help me.

    Always post code snippets in &#123;code&#125; tags as explained in the FAQ.
    I Created a java script contain a function, that will open and close the browser for some URL.
    CODE:-(webclose.jp)
    function manageWindows() {
    var windows = [], i = 0;
    var url = "htttp://oracle:64578/xmlpserver/login.jsp?Go&id=admin&passwd=admini";
    if (url.length) {
    windows = window.open(url, ' tabWindow_'+i);
    i++;
    winows[i-1].close();
    delete windows[i-1];
    return false;
    } Then i placed the javascript file in path <middleware_home>\user_projects\domains\<domain>\servers\WLS_FORMS\_WL_user\formsapp_11.1.1\e18uoi\war\
    After that i called the javascript function in to forms as
    WEB.JAVASCRIPT_EVAL_EXPR('webclose.manageWindows();');
    When running the form it showing error
    FRM-92190: JavaScript is unable to evaluate expression.
    If anybody knows pls help me.>
    This error has nothing to do with Forms, it is an JavaScript error.
    Most likely cause is this line
    if (url.length) {url.length returns a Whole number and so the conditions would be
    if (url.length > 0) {Or
    if (url) {  // not null checkCheers,

  • How to call a CORBA Object in a 3rd Party ORB from a EJB

    Hello
    I found a few articles on the web how to call EJBs for example from C++.
    However, I want to do the inverse. I want to resolve an Object (implemented in C++, using OmniORB) via COS-Naming and invoke it from a EJB. I can write a simple Java Client which does this without a problem. But as soon as I try to do the same in EJB I get the following:
    [#|2004-11-09T10:48:16.848+0100|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.resource.corba._DEFAULT_.rpc.transport|_ThreadID=12;|"IOP00710209: (INTERNAL) Unable to create listener thread on the specific port"
    org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 209 completed: No
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.createListenerFailed(ORBUtilSystemException.java:3142)
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.createListenerFailed(ORBUtilSystemException.java:3160)
    at com.sun.corba.ee.impl.legacy.connection.SocketFactoryAcceptorImpl.initialize(SocketFactoryAcceptorImpl.java:60)
    at com.sun.corba.ee.impl.transport.CorbaTransportManagerImpl.getAcceptors(CorbaTransportManagerImpl.java:190)
    at com.sun.corba.ee.impl.transport.CorbaTransportManagerImpl.addToIORTemplate(CorbaTransportManagerImpl.java:207)
    at com.sun.corba.ee.spi.oa.ObjectAdapterBase.initializeTemplate(ObjectAdapterBase.java:104)
    I think there is somehow a conflict because the SUN Appserver also uses CORBA. My Code looks like this:
    String[] a = null;
    Properties props = new Properties();
    final String CORBA_HOST = "arcos";
    final String ORB_INITIAL_PORT = "2809";
    props.put("org.omg.CORBA.ORBInitialPort", ORB_INITIAL_PORT);
    props.put("org.omg.CORBA.ORBInitialHost", CORBA_HOST);
    org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init(a, props);
    So I thought this might be because there is already a ORB initialised. So I replaced the last line with
    org.omg.CORBA.ORB orb = org.omg.CORBA.ORB.init();
    Which should give me an ORB instance. However I get the following exception:
    [#|2004-11-09T11:51:59.206+0100|WARNING|sun-appserver-pe8.0.0_01|javax.enterprise.system.stream.err|_ThreadID=15;|
    org.omg.CORBA.NO_IMPLEMENT: vmcid: SUN minor code: 201 completed: No
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.genericNoImpl(ORBUtilSystemException.java:7085)
    at com.sun.corba.ee.impl.logging.ORBUtilSystemException.genericNoImpl(ORBUtilSystemException.java:7107)
    at com.sun.corba.ee.impl.orb.ORBSingleton.resolve_initial_references(ORBSingleton.java:311)
    at com.ascom.util.CorbaNaming.resolve(CorbaNaming.java:26)
    at com.ascom.fxm.FileManager.<init>(FileManager.java:46)
    at com.ascom.srv.file.web.FileImporterImpl.importFile(FileImporterImpl.java:146)
    Any ideas? Thank you very much in advance.
    Oliver Jaun

    Perhaps you could take a look at the following document and see if it meets your needs:
    http://java.sun.com/j2se/1.4.2/docs/guide/rmi-iiop/interop.html

  • How to access COM+ Objects From JSP

    Friends,
    We have a requirement to access COM+ objects from JSP. Please guide me on this.
    Thanks in advance.
    Tarani

    Sanyam wrote:
    if there is any .dll extension file, how can we read that file in labview?
    You can use Call Library Function node to call that dll file and use it in LabVIEW. Read the help and you will get more details.

  • How register COM object from java?

    Hi!
    In my user home directory I have myCOM.dll. My sign applet use this myCOM.dll. But before use this dll I must register it (by use regsvr32).When myCOM.dll will be success register my applet can work. The problem is that I can not get answer from regsvr3 (is myCOM.dll are successed registered or not, or is user has a grants to register COM object and so on.)
    Again, my java applet can work ONLY when myCOM.dll is registered.
    How I can register myCOM.dll from java applet and if registered is not success exit from java applet?

    I must not have been clear. I am not asking how to access a COM object using Java, we already have tools to do that.
    The question is whether there is a way to define a COM interface using Java. I want to code my COM object in Java. Right now we are using PowerBuilder to code COM objects. I would rather use Java.

  • How to call a shell script from a java code

    Hello can any one suggest me how to call a shell script from a java program that takes three parameters.
    i have a shell script (msp_restore_gui) when i run this script in the command line in a RHEL5 ,SUSE10 and Debian machine it works fine .I even tested to call it from a java program and it also worked fine but when i used the same in a J2ee application where the user when clicks the restore button in a webserver this inturn sends the request to a java file named BackupManager.java where i call the shell script.But here it fails.Waiting for your suggestions.If you want i can put the code also here

    yes the script is in /usr/local/mss/tools/backup and the script (msp_restore_gui) is as follows
    #!/bin/sh
    TIMESTAMP=`date +%d_%b_%y-%H-%M`
    touch /var/backups/mss/mss_restore_"$TIMESTAMP".log
    LOGFILE="/var/backups/mss/mss_restore_"$TIMESTAMP".log"
    ### Explode tgz file
    cd /
    # Checks to be done:
    # root login
    # assume he passes the parameter as msp_backup_<timestamp>
    # check for the existence of the .tz and fileList.txt
    # Checking for the root login and if not logged on as root
    # permission will be denied to execute this script
    logmsg(){
    echo "`date`: $*" >> $LOGFILE 2>&1
    echo "$*"
    #usage of this script
    while [ $#  -ne 0 ]
    do
    case $1 in
    -n)
    shift
    ARCHIVE_NAME=`find / \( -name "$1.tz" -o -name "$1.tgz" \) 2>/dev/null`
    FILE_NAME=`find / -name $1_filesList.txt 2>/dev/null`
    if [ x$ARCHIVE_NAME = x -a y$FILE_NAME = y ]
    then
    logmsg "ERROR: Files not found, Restore cannot proceed"
    usage
    else
    tar tvzf $ARCHIVE_NAME > /dev/null 2>&1
    if [ $? -ne 0 ]
    then
    echo "ERROR: The tar file $ARCHIVE_NAME is not proper. Restore cannot proceed"
    exit 1
    else
              echo "Backedup files are present, proceeding with restore......" >> $LOGFILE 2>&1
    fi
    fi
    usage
    SKIP_CLEANUP=1
    STATUS=1
    exit
    esac
    shift
    done
    rm -rf ./newfile
    curr_ver_file="/usr/local/mss/etc/version"
    /usr/local/mss/tools/backup/check_version $curr_ver_file $FILE_NAME
    ret_code=$?
    echo "Exit value of check_version is $ret_code"
    if [ "$ret_code" != 0 ]
    then
    logmsg "MSP Version not matching. Exiting from restore now...."
    errormsg=`cat /usr/local/mss/temp/ver_err_mesg`
    logmsg $errormsg
    rm -f /usr/local/mss/temp/ver_err_mesg
    exit 1
    else
    echo "Version check is successful"
    fi
    #### ShutDown MSS########
    /etc/init.d/mss stop
    sleep 2
    ### Shutdown semm
    /etc/init.d/semm stop
    sleep 2
    rm -rf `grep -v "MSP Version:" $FILE_NAME`
    logmsg "MSP restore in progress......"
    tar mxvfz $ARCHIVE_NAME >> $LOGFILE
    sleep 5
    ### Call mysql restore script
    /usr/local/mss/bin/mysql_alldb_restore.sh >> $LOGFILE 2>&1
    if [ $? -ne 0 ]; then
    logmsg "Database restore Failed. Cannot proceed further"
    exit 1 ;
    else
    logmsg "Database restore Succeeded."
    fi
    ### Remove DB Dump Files
    rm -f /var/lib/mysql-dumps/*
    ### Trigger cleanup of airprism database tables
    #touch /usr/local/mss/airprism/server/config/reinitdb
    ### Trigger re-import of software packages
    touch /usr/local/mss/swdepot/reimport
    ### Remove log files under the "apps" directory
    find /usr/local/mss/apps -name '*.log*' | xargs rm -f
    find /usr/local/mss/logs -follow -name '*[._]log*' | xargs rm -f
    if [ $? -ne 0 ]; then
    logmsg "MSP restore Failed. Cannot proceed further"
    exit 1 ;
    else
    logmsg "MSP restore Succeeded."
    fi
    # reinstall_patch is touched so that patches are re-installed after restoring of MSP.
    touch /usr/local/mss/patch/bin/reinstall_patch
    ##### Start MSS
    logmsg "restarting MSP server "
    /etc/init.d/mss start
    sleep 5
    ### Start semm
    /etc/init.d/semm start
    sleep 5
    logmsg "MSP server is now restarted"
    my jsp page backup.jsp is as follows
    <%@taglib uri="portlet.tld" prefix="uif" %>
    <%@taglib uri="msp-console.tld" prefix="msp" %>
    <uif:defineObjects/>
    <%@page import="javax.portlet.*" %>
    <%@ page import="java.util.Date" %>
    <%@ page import="java.util.Vector" %>
    <%@ page import="java.text.DateFormat" %>
    <%@ page import="com.symbol.mss.console.admin.backup.BackupManager" %>
    <%@ page import="com.symbol.mss.console.admin.system.SystemInfoPortlet" %>
    <%
         String STYLE_NAME = request.getParameter("style");
         if (STYLE_NAME == null) STYLE_NAME = STYLE_DEFAULT;
         final String ua = request.getHeader("User-Agent");
         BackupManager helper = null;
         PortletSession portletSession = renderRequest.getPortletSession();
         helper = (BackupManager)portletSession.getAttribute("helper");
         if (helper == null) {
              //System.err.println("Created new BackupManager");
              helper = new BackupManager();
              portletSession.setAttribute("helper", helper);
         final BackupManager backupManager = helper;
         String action = "";
         final String backupName = renderRequest.getParameter("backupName");
         String completePath = backupManager.getBackupDir() + backupName + backupManager.getBackupFileExt();
         if (backupName != null) {
              action = "backup";
         if(backupManager.backup(backupName)) {
              SystemInfoPortlet.beginRestartMSP();
              } else {
                   action = "backuperror";          
         final String cmd = renderRequest.getParameter("submitButton");
    final String selectedBackup = renderRequest.getParameter("selectedBackup");
    int tarFileStatus =0;
    String backupTarFile ="";
    String backupFileList ="";
         if ("Restore".equals(cmd)) {
    if (selectedBackup != null) {
         tarFileStatus = backupManager.verifyTarFile(selectedBackup);
         //backupTarFile = backupManager.getRestoreFile(Integer.parseInt(selectedBackup));
         //backupFileList = backupTarFile.substring(0, backupTarFile.lastIndexOf(backupManager.getBackupFileExt()))+"_filesList.txt";
                   if (tarFileStatus == 0){
         action = "restore";
         backupManager.restore(selectedBackup);
                        SystemInfoPortlet.beginRestartMSP();
              } else {
                   action = "error";
    } else if ("Remove".equals(cmd)) {
    backupManager.remove(Integer.parseInt(selectedBackup));
         DateFormat dateFormat = DateFormat.getDateInstance(DateFormat.SHORT);
         PortletURL restoreURL = renderResponse.createActionURL();
    %>
    <%@ include file="/jsp/core/constants.jspf" %>
    <% if (action.length() > 0) {
         if ("backup".equals(action))
    %>
         <p>The MSP Appliance has been shut down in order to create the <%=backupName %> backup file,
              and will automatically restart as soon as the file has been created.
              To continue your work, please log out of the MSP Console, wait for the appliance
              to restart, and then log back in. The amount of time you'll have to wait for the
              MSP Appliance to come back online depends on the amount of information you have
              stored in the MSP Database.</p>
         <p>The full pathname for the backup file is: <%=completePath %></p>     
    <%     }
         else if ("restore".equals(action))
    %>
         <p>The MSP Appliance has been shut down in order to restore from the <%=backupTarFile%> backup file,
              and will automatically restart as soon as the restore is complete.
              To continue your work, please log out of the MSP Console, wait for the appliance
              to restart, and then log back in. The amount of time you'll have to wait for the
              MSP Appliance to come back online depends on the amount of information you have
              stored in the MSP Database.</p>     
    <%     } else if ("backuperror".equals(action)) { %>
              <p><img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> Errors occurred while taking back up of MSP. Please see the backup service log file for more details.
              </P>
    <%     } else if ("error".equals(action)) {
              if (tarFileStatus == 4) { %>
                   <p><img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> The backup file <%=backupTarFile%> contains errors. This backup can't be restored. Please restore a valid back up.
                   </P>
              <%} else if (tarFileStatus == 3) { %>
                   <p><img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> The backup file list <%=backupFileList %> is missing. This file is required to restoring backup. Please get the backup file list and proceed with restoring backup.</p>
              <%} else if (tarFileStatus == 2) { %>
                   <p> <img src="images/dialogue/error_16.gif" class="icon" alt="Notify" /> The backup file <%=backupTarFile%> contains errors and the backup file list <%=backupFileList%> is missing. This backup can't be restored. </p>
              <%} %>
    <%     }
    } else { %>
    <p><strong>Note</strong>: Both backup and restore will shut down MSP temporarily. MSP will be unable to collect data from devices, send notifications, or provide MSP Console access during this time. When the backup or restore operation is complete, MSP will come back online automatically.</p>
    <h3>Backup</h3>
    <form action="<%= restoreURL.toString() %>" method="post">
    <p>Please provide a name for your backup. MSP will provide the date automatically in the list of backups.</p>
    <p><label for="<uif:namespace />backupName">Name</label> <input type="text" name="<uif:namespace />backupName" id="<uif:namespace />backupName" size="20" maxlength="256" /> <input type="submit" name="<uif:namespace />submitButton" value="Back up now" onclick="return <uif:namespace/>validateName()"/></p>
    </form>
    <h3>Restore</h3>
    <p>This will restore all databases (device assets, collected device data, software packages, policies, etc.) to their state as of the time the backup was made. Changes since then <em>except for backups</em> will be destroyed.</p>
    <%
    Vector restoreList = helper.getRestoreEntries();
    Vector restoreDates = helper.getRestoreDates();
    Vector restoreVersions = helper.getRestoreVersions();
    Vector filesStatus = helper.getBackupFilesStatus();
    %>
    <% if (restoreList.size() == 0) { %>
    <p>There are no backups currently available.</p>
    <% } else { %>
    <form action="<%= restoreURL.toString() %>" method="post">
    <table class="input-radios" id="<uif:namespace />existingBackups">
    <thead>
    <tr>
    <th></th>
    <th>Name</th>
    <th>Date</th>
    <th>MSP Version</th>
    <th>Remarks </th>
    </tr>
    </thead>
    <tfoot>
    <tr>
    <td colspan="4" class="actionsOnSelected">
    <input type="submit" name="<uif:namespace />submitButton" value="Restore" onclick="return confirm('This action requires MSP and all related services to be shut down. Console will be unavailable if the request is submitted. The server will restart automatically once restore has been completed.');" />
    <input type="submit" name="<uif:namespace />submitButton" value="Remove" onclick="return confirm('This action will remove the backup archive. You will no longer be able to restore this backup. Continue?');" />
    </td>
    </tr>
    </tfoot>
    <tbody><%-- First one (most recent) is checked by default. Every other row has class="portlet-section-alternate". Note that each ID must be unique and must match the value of the "for" attribute on the corresponding "label" element. --%>
    <%
    for (int i = 0; i < restoreList.size(); i++) {
    %>
    <tr <%= (i % 2 == 1) ? " class=\"portlet-section-alternate\"" : "" %>>
    <td><input type="radio" name="<uif:namespace />selectedBackup" value="<%= i %>" id="<uif:namespace />selectedBackup-<%= i %>" <%= (i == 0) ? "checked=\"checked\"" : "" %> /></td>
    <td><label for="<uif:namespace />selectedBackup-<%= i %>"><%= restoreList.elementAt(i) %></label></td>
    <td><%= dateFormat.format((Date)restoreDates.elementAt(i)) %></td>
    <td><%= restoreVersions.elementAt(i) %></td>
    <td><%= filesStatus.elementAt(i) %></td>
    </tr>
    <%
    %>
    </tbody>
    </table>
    </form>
    <% } %>
    <% } %>
    <script type="text/javascript">
    <!--//--><![CDATA[//><!--
    function <uif:namespace/>validateName() {
    var name =document.getElementById("<uif:namespace />backupName");
    var msg= "<msp:i18n key="BackupMsg"/>";
    var str=name.value;
    var re = /^[A-Za-z0-9_]+$/;
    if (!str.match(re)) {
         alert(msg);
         name.focus();
         return false;
         } else {
    return confirm('This action requires MSP and all related services to be shutdown. Console will be unavailable if the request is submitted. The server will restart automatically once backup has been completed.');
    //--><!]]>
    </script>
    and my BackupManager.java is as follows where the code in bold and italic is called the restore()
    //============================================================================
    // Symbol Technologies P R O P R I E T A R Y S O U R C E C O D E
    // C O N F I D E N T I A L
    // Copyright (c) 2003 Symbol Technologies. All Rights Reserved.
    // All information contained herein is the property of Symbol Technologies,
    // or its Licensors, and are protected copyrights and trade secrets, and may
    // be covered by U.S. patents. Any reproduction or dissemination of any
    // portion of this document, of the software, or other works derived from it
    // is strictly forbidden unless prior written permission is obtained from
    // Symbol Technologies.
    //============================================================================
    package com.symbol.mss.sdf.services.backup;
    import java.io.*;
    import java.sql.Time;
    import java.text.DateFormat;
    import java.util.logging.FileHandler;
    import java.util.logging.Formatter;
    import java.util.logging.LogRecord;
    import java.lang.Process;
    import java.util.*;
    import org.apache.avalon.framework.configuration.Configurable;
    import org.apache.avalon.framework.configuration.Configuration;
    import org.apache.avalon.framework.configuration.ConfigurationException;
    import org.apache.avalon.framework.logger.LogEnabled;
    import org.apache.avalon.framework.logger.Logger;
    import com.symbol.mss.sdf.admin.AdministratorService;
    import com.symbol.mss.sdf.backup.*;
    import com.symbol.mss.sdf.data.*;
    * @author nramaiah
    * Service to perform scheduled backups of the system state.
    public class BackupManager implements BackupService, DataHandler,
    LogEnabled, Configurable {
    // MSS Home Path
    private static String mssHome = System.getProperty("phoenix.home", File.separator + "usr" +
    File.separator + "local" +
    File.separator + "mss" +
    File.separator);
    // Backup related definitions
    private static final String BACKUP_LIST_FILE_NAME = "conf" + File.separator + "files_to_backup.txt";
    private static final String BACKED_UP_LIST_FILE_NAME_SUFFIX = "_filesList.txt";
    private static final String BACKUP_LOCATION = File.separator + "var" + File.separator + "lib" +
    File.separator + "mss-backups" + File.separator;
    private static final String BACKUP_PARTITION = File.separator + "var" + File.separator + "lib";
    private static final String VERIFY_BACKUP = File.separator + "usr" + File.separator + "local" +
                                                           File.separator + "mss" + File.separator+"tools"+
                                                           File.separator+"backup"+File.separator+"verifyBackup.sh";
    // DB backup/restore related definitions
    private static final String DB_DUMP_LOCATION = File.separator + "var" + File.separator +
    "lib" + File.separator +
    "mysql-dumps" + File.separator;
    private static final String DB_BACKUP_SCRIPT = "bin" + File.separator + "mysql_alldb_backup.sh";
    private static final String DB_RESTORE_SCRIPT = "bin" + File.separator + "mysql_alldb_restore.sh";
    // Private variables
    private AdministratorService m_admin = null;
    private Logger m_logger = null;
    private String backupLocation = null;
    private String backupListFileName = null;
    private String backupPartition = null;
    private int backupPartitionLimit = 90;
    private String dbDumpLocation = null;
    private String dbBackupScript = null;
    private String dbRestoreScript = null;
    private List servicesBackupList = null;
    private String tarFileExtension =".tgz";
    private String errFileExtension =".err";
    private int exitValue=0;
    * Default Constructor
    public BackupManager() {
    servicesBackupList = new ArrayList();
    * Set the administrator service implementation. Link established by Broker service.
    * @param admin reference to an implementation of AdministratorService
    public void setAdministrator(AdministratorService admin) {
    m_admin = admin;
    * Set the job publisher service implementation. Link established by Broker service.
    * @param jobPublisher reference to an implementation of JobPublisherService
    public void setJobPublisher(DataChannel jobPublisher) {
    jobPublisher.subscribe(this);
    * Gets the backup manager object.
    * @return backup manager object
    public BackupService getBackupService() {
    return this;
    * Service lifecycle method.
    * @param logger logger object to be used by the service
    public void enableLogging(Logger logger) {
    m_logger = logger;
    * Service lifecycle method.
    * @param configuration service configuration object
    public void configure(Configuration configuration) throws ConfigurationException {
    // Verify MSS Home path
    if (!mssHome.endsWith(File.separator))
    mssHome += File.separator;
    // Get the location where the backup file needs to be placed
    backupLocation = configuration.getChild("BackupLocation").getValue(BACKUP_LOCATION);
    // Verify backup directory path
    if (!backupLocation.startsWith(File.separator))
    backupLocation = mssHome + backupLocation;
    if (!backupLocation.endsWith(File.separator))
    backupLocation += File.separator;
    // Get the file listing the files/directories to be backed up
    backupListFileName = configuration.getChild("FilesList").getValue(BACKUP_LIST_FILE_NAME);
    // Verify backup list file name path
    if (!backupListFileName.startsWith(File.separator))
    backupListFileName = mssHome + backupListFileName;
    // Get the partition where the backups are kept
    backupPartition = configuration.getChild("BackupPartition").getValue(BACKUP_PARTITION);
    // Verify backup partition path
    if (!backupPartition.startsWith(File.separator))
    backupPartition = File.separator + backupPartition;
    if (backupPartition.endsWith(File.separator))
    backupPartition = backupPartition.substring(0, (backupPartition.length()-1));
    // Get the limit on the amount of free space on the backup partition
    backupPartitionLimit = configuration.getChild("BackupPartitionLimit").getValueAsInteger(backupPartitionLimit);
    // Get the location where the DB dump files will be placed
    dbDumpLocation = configuration.getChild("DBDumpLocation").getValue(DB_DUMP_LOCATION);
    // Verify DB dump directory path
    if (!dbDumpLocation.startsWith(File.separator))
    dbDumpLocation = mssHome + dbDumpLocation;
    if (!dbDumpLocation.endsWith(File.separator))
    dbDumpLocation += File.separator;
    // Get the name of DB dump backup script
    dbBackupScript = configuration.getChild("DBBackupScript").getValue(DB_BACKUP_SCRIPT);
    // Verify backup script path
    if (!dbBackupScript.startsWith(File.separator))
    dbBackupScript = mssHome + dbBackupScript;
    // Get the name of DB dump restore script
    dbRestoreScript = configuration.getChild("DBRestoreScript").getValue(DB_RESTORE_SCRIPT);
    // Verify restore script path
    if (!dbRestoreScript.startsWith(File.separator))
    dbRestoreScript = mssHome + dbRestoreScript;
    * Individual services can supply a list of files/directories to be backed up.
    * These are files apart from the files specified in conf/files_to_backup.txt and
    * will be backed up as well.
    * @param files list of files/directories
    public void filesToBackup(List files) {
    synchronized(this) {
    if (files != null) {
    if (files.size() > 0) {
    // Add the list contents to the current backup list
    for (int i=0; i<files.size(); i++) {
    String tStr = (String)files.get(i);
    // Check for absolute or relative path
    if (tStr.startsWith(File.separator))
    servicesBackupList.add(tStr);
    else
    servicesBackupList.add(mssHome + tStr);
    else
    m_logger.info("Empty list of filenames. Nothing added.");
    else
    m_logger.info("Null list of filenames. Nothing added.");
    * Individual services can supply a list of files/directories to be backed up.
    * Specified files will be added to the file defining the list of files to be backed up.
    * @param files list of files/directories
    private void persistFilesToBackup(List files) {
    synchronized(this) {
    if (files != null) {
    if (files.size() > 0) {
    // Add the list of files provided to the end of file
    try {
    File file = new File(backupListFileName);
    if ((file == null) || (!file.exists()))
    file.createNewFile();
    // Seek to the end of the file
    RandomAccessFile rFile = new RandomAccessFile(file, "rw");
    if (rFile != null) {
    rFile.seek(rFile.length());
    // Write the list contents to the file
    for (int i=0; i<files.size(); i++) {
    String tStr = (String)files.get(i);
    // Check for absolute or relative path
    if (tStr.startsWith(File.separator))
    rFile.writeBytes(tStr + "\n");
    else
    rFile.writeBytes(mssHome + tStr + "\n");
    else
    m_logger.error("Error opening file " + backupListFileName);
    rFile.close();
    catch (Exception ex) {
    ex.printStackTrace();
    m_logger.error("Error adding entries to file " + backupListFileName, ex);
    else
    m_logger.info("Empty list of filenames. Nothing added.");
    else
    m_logger.info("Null list of filenames. Nothing added.");
    * Command to be run during the backup process. Individual services can
    * provide shell commands that will be executed before backing up the files.
    * @param command shell command to be executed
    private void runCommand(String command) {
    * Creates a shell script at the specified location that will backup the
    * files listed in the List passed in.
    * @param scriptFileName location where the script needs to be created
    * @param backupFileName name for the tar file being created
    * @param backupList list of files to be backed up
    private void createBackupScript(String scriptFileName, String backupFileName, ArrayList backupList) throws Exception {
    // Create a new StringBuffer to build the contents to be written to the script file
    StringBuffer buffer = new StringBuffer();
    // Add the initial comment in the start script
    buffer.append("#!/bin/sh\n" + "set -x\n\n");
    // Check if the partition has enough space
    buffer.append("### Check if the partition has enough space\n" +
    // "diskUsed=`df -k | grep \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1`\n" +
                   " diskUsed=`df -k \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1 | grep -v Use`\n" +     
    "echo \"Partition " + backupPartition + " is $diskUsed% used.\"\n" +
    "if [ \"$diskUsed\" -lt \"" + backupPartitionLimit + "\" ]\nthen\n" +
    " echo \"Starting backup...\"\n\n");
    // Shutdown semmd
    buffer.append(" ### Shutdown semm\n" + " /etc/init.d/semm stop\n" +
    " sleep 2\n\n");
    // MSP Limited release and earlier builds stop mysql DB and backup the
    // /var/lib/mysql directory as it is. Starting MSP 1.0 GA release, mysql
    // dump script will be integrated which will create sql scripts to
    // restore the database.
    // Check if mysql dump creation script exists
    File mysqlDumpScript = new File(dbBackupScript);
    if (mysqlDumpScript.exists()) {
    // MSP 1.0 GA and later releases
    // Run the script that will generate sql scripts that would re-create the DB as it is
    buffer.append(" ### Call mysql dump script\n" +
    " " + dbBackupScript + "\n\n");
    else {
    // MSP Limited release
    // Add command to shutdown mysql
    buffer.append(" ### Shutdown mysql\n" + " /etc/init.d/mysql stop\n\n");
    // Change to root directory and create the tgz file
    buffer.append(" ### Create tgz file\n" + " cd /\n");
    // Build up the tar file name from the current date and time
    String fileName = null;
    if ((backupFileName != null) && (backupFileName.length() > 0))
    fileName = backupFileName;
    else {
    // File name not provided by user, build one using the timestamp
    Calendar cal = Calendar.getInstance();
    Date date = cal.getTime();
    fileName = "MSS-"
    + DateFormat.getDateInstance().format(date).replaceAll(" ", "").replaceAll(",", "")+ "-"
    + (new Time(cal.getTimeInMillis())).toString().replaceAll(":", "").substring(0,4);
    String tarFileName = fileName + ".tgz";
    // Get the current MSP Version
    String mspVersion = getMSPVersion();
    // Gather all the files to be backed up. Add them to the tar command and
    // also dump them into the file maintaining the list of files being backed up
    String listStr = "";
    for (int i=0; i<backupList.size(); i++)
    listStr += (String)backupList.get(i) + "\n";
    // Dump the current MSP version and the list of files being backed up into a manifest file
    String listFileName = fileName + BACKED_UP_LIST_FILE_NAME_SUFFIX;
    RandomAccessFile file = new RandomAccessFile(backupLocation + listFileName, "rw");
    m_logger.info("List of files/directories being backed up:\n" + listStr);
    file.writeBytes("### MSP Version: " + mspVersion + " ###\n");
    file.writeBytes(listStr);
    file.close();
    // Add the tar command to the script
    buffer.append(" echo \"Creating " + backupLocation + tarFileName + "...\"\n" +
    " tar cvhfz " + backupLocation + tarFileName + " `grep -v \"MSP Version:\" " +
    backupLocation + listFileName + "`\n\n");
    // Check if free space on the backup partition has reduced below the limit
    // If enough space left, backup is retained, "mss" is made the owner of the files,
    // "backup" is made the group the files belong to,
    // permissions changed to be "0660" and
    // backup action declared a success
    // Else, backup files are deleted and declared a failure
    buffer.append(" ### Check if the partition has enough space left\n" +
    //" diskLeft=`df -k | grep \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1`\n" +
    " diskLeft=`df -k \"" + backupPartition + "\" | awk '{print $5}' | cut -d\"%\" -f1 | grep -v Use`\n" +
    " echo \"Partition " + backupPartition + " is $diskLeft% used.\"\n" +
    " if [ \"$diskLeft\" -gt \"" + backupPartitionLimit + "\" ]\n" +
    " then\n" +
    " ### Failure\n" +
    " echo \"Partition " + backupPartition + " does not have enough space.\"\n" +
    " echo \"Backup " + backupLocation + tarFileName + " will be removed.\"\n" +
    " rm -f " + backupLocation + fileName + "*\n" +
    " echo \"Backup Failed.\"\n" +
    " else\n" +
                        " tar tvzf " + backupLocation + tarFileName + " > /dev/null 2>&1\n" +
    " if [ ! -s " + backupLocation + tarFileName + " -o $? -ne 0 ] \n" +
                        " then\n" +
                        " echo \"MSP Backup operation is not successful. The tar file " + backupLocation + tarFileName + " contains errors.\"\n" +
                        " echo \"Please take the backup again\"\n" +
                        "     touch "+backupLocation+fileName+".err\n" +
    " else \n" +
    " ### Success\n" +
    " ### Change the owner, group and permissions for the backup files\n" +
    " chown mss " + backupLocation + fileName + "*\n" +
    " chgrp backup " + backupLocation + fileName + "*\n" +
    " chmod 0660 " + backupLocation + fileName + "*\n" +
    " echo \"Backup Completed.\"\n" +
    " fi\n" +
    " fi\n\n");
    // MSP Limited release and earlier builds re-start mysql. Starting
    // MSP 1.0 GA release, mysql is not stopped and so re-start is not
    // needed. sql scripts created by the dump script get packed into
    // the tar file and so are deleted.
    // Check if mysql dump creation script exists
    if (mysqlDumpScript.exists()) {
    // MSP 1.0 GA and later releases
    // Remove DB dump files
    buffer.append(" ### Remove DB Dump Files\n" + " rm -f " + dbDumpLocation + "*\n\n");
    else {
    // MSP Limited release
    // Start mysql
    buffer.append(" ### Start mysql\n" + " /etc/init

  • Calling (VB)activex object from JSP

    Hi,
    I am trying to call a ActiveX object from JSP using the ActiveXObject method in javascript. I have a dll filed named LPMSFunctions.dll which is registered and is being passed as an argument to the ActiveXObject method. Below is the code i am trying to execute..
    <html>
    <head>
    <title>Script Example</title>
    </head>
    <body>
    <br><br>
    <P align="center">
    <form action="" method="post">
    <script language="JavaScript">
    function comEventOccured()
    try{
    var myobject;
    myobject = new ActiveXObject("LPMSFunctions72.LPFunctions72");
    alert("Inside LPMSFunction72");
    alert(myobject.GetDocPath());
    catch(e)
    alert("Error");
    </script>
    </form>
    </body>
    </html>When i write the above code and save it as an html file it works fine..the activex object is created and the methods are called , but when i copy the same code to a file and save it as jsp file under webapps folder under tomcat it doesnt work and reports a javascript error with the error being:
    Automation server cant create the object at line :
    var SSOObj = new ActiveXObject("LPMSFunctions72.LPFunctions72");
    Please suggest how can I solve the problem. Your help would be sincerely appreciated.
    Thanks
    shravan

    You want to use the Variant to Data node, wiring in an ActiveX constant configured to the interface type you want.
    Brian Tyler
    http://detritus.blogs.com/lycangeek

Maybe you are looking for

  • Some backend documents could not be generated or are incorrect - Contract

    Hi SRM Experts, I am trying to create Contract with Carry out Sourcing and reference to Shopping Cart. But, I am able to create Contract with Error like "Some backend documents could not be generated or are incorrect". Please let me know do I need to

  • Illustrator is 'unfunctional'?

    Illustrator "shuts down" as soon as I try to begin a procedure. i.e.; I open a 'new' file; set up the function (use the type function)...the 'beach ball' appears and illustrator just SHUTS DOWN! What's wrong?Illustrator "shuts down" as soon as I try

  • Determining How a Function Module Was Called

    I have an RFC-enabled function module which can be invoked from outside of SAP, via an RFC from the JCo, for example, or it can be invoked from another SAP program or function module. I want the RFC-enabled function module to process certain things d

  • Script won't run on machine w/MAC OSX Server 10.4.9

    Why won't the following script work on a machine that is running MAC OSX Server 10.4.9. On Machines running Mac OS X 10.4.9 it works fine, but on my server machine it won't name the file as per the script--the menu dialog box pops ("save as") up aski

  • Report Navigation

    hello All, I have a complex requirement. Here is the scenario. Report contains Account type-A and Account Type_B along with other measure columns I need to pass the Account type B value to another report. But the problem here is I need to just displa