Re: (forte-users) Dynamic construction of objects at runtimeusing str

Shirish,
We are currently doing this using libraries. It works something like this:
Create your classes, have them implement interfaces and build them into a
library. Then we have the following
method 1 basically does a findlibrary to load the library:
self.Lib = task.part.FindLibrary( projectName = 'MyLib',
distributionId = 'mylib',
compatibilityLevel = 1,
libraryName = 'mylib');
method 2 is called to load the dynamic object does a findclass and returns
an object which implements a known interface.
GetClass (pClassName string): object
begin
return self.MessageLibrary.FindClass(classname = pClassName);
end;
aObj : MyObjInterface;
aObj = (MyObjInterface)(GetClass('DynamicClassName'));
HTH
Michael
At 23:28 18/10/1999 MDT, you wrote:
--Does anybody have information about how to create objects at runtime using a
string that contains the classname?
--You have an object of the base class and you have a string containing the
derivedclass name, how do you do the typecasting of the base calss object
using this string?
please send anyinformation about the following question to
[email protected]
Thank you!!!
shirish****************************************************************************
Michael Burgess Ph: +61 2 9239 4973
Contract Consultant Fax: +61 2 9239 4900
Lawpoint Pty. Limited E-mail [email protected]
****************************************************************************

Shirish,
We are currently doing this using libraries. It works something like this:
Create your classes, have them implement interfaces and build them into a
library. Then we have the following
method 1 basically does a findlibrary to load the library:
self.Lib = task.part.FindLibrary( projectName = 'MyLib',
distributionId = 'mylib',
compatibilityLevel = 1,
libraryName = 'mylib');
method 2 is called to load the dynamic object does a findclass and returns
an object which implements a known interface.
GetClass (pClassName string): object
begin
return self.MessageLibrary.FindClass(classname = pClassName);
end;
aObj : MyObjInterface;
aObj = (MyObjInterface)(GetClass('DynamicClassName'));
HTH
Michael
At 23:28 18/10/1999 MDT, you wrote:
--Does anybody have information about how to create objects at runtime using a
string that contains the classname?
--You have an object of the base class and you have a string containing the
derivedclass name, how do you do the typecasting of the base calss object
using this string?
please send anyinformation about the following question to
[email protected]
Thank you!!!
shirish****************************************************************************
Michael Burgess Ph: +61 2 9239 4973
Contract Consultant Fax: +61 2 9239 4900
Lawpoint Pty. Limited E-mail [email protected]
****************************************************************************

Similar Messages

  • RE: (forte-users) dynamic select & maxrowsparameter

    I thing this code should help:
    ** Accepts command string for dynamic query and **
    ** an empty array of BC to which the results **
    ** should be appended. Returns the filled BC **
    ** array. **
    l_dynamicStatement : DBStatementHandle;
    l_inputDescriptor : DBDataSet;
    l_outputDescriptor : DBDataSet;
    l_outputData : DBDataSet;
    l_intStatementType : integer;
    l_intRowType : integer;
    l_intNumRows : integer;
    l_intRowCount : integer = 0;
    l_result : BusinessClass = new;
    BEGIN
    -- Prepare SQL statement for query given command string
    l_dynamicStatement = self.GetDBSession().Prepare(
    commandString = p_strSql,
    inputDataSet = l_inputDescriptor,
    cmdType = l_intStatementType);
    -- Open Cursor
    l_intRowType = GetDBSession().OpenCursor(
    statementHandle = l_dynamicStatement,
    inputDataSet = l_inputDescriptor,
    resultDataSet = l_outputDescriptor);
    -- Fetch first row
    l_intNumrows = GetDBSession().FetchCursor(
    statementHandle = l_dynamicStatement,
    resultDataSet = l_outputData);
    WHILE l_intNumRows > 0 DO -- If prev fetch returned a row
    -- Increment count of rows fetched
    l_intRowCount = l_intRowCount + 1;
    -- Check for excessive number of rows retrieved
    -- Then it checks if you want to throw a exception or
    -- just exit and return the result set.
    IF l_introwCount > p_intMaxRow THEN
    IF p_bThrowExcept THEN
    -- Shut the cursor down and remove prepared
    statement
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    // Raise exception
    -- Have to put code
    ELSE
    EXIT;
    END IF;
    END IF;
    -- Parse result from DBDataSet to subclass
    -- of BusinessClass
    l_result = parseResult(l_outputData);
    // Add row to array
    p_aryBC.AppendRow(l_result.Clone(deep=TRUE));
    // Fetch next row
    l_intNumrows = GetDBSession().FetchCursor(
    statementHandle = l_dynamicStatement,
    resultDataSet = l_outputData);
    END WHILE;
    -- Shut the cursor down and remove prepared statement
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    EXCEPTION
    when e: GenericException do
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    raise e;
    END;
    return p_aryBC;
    ka
    Kamran Amin
    Framework, Inc.
    303 South Broadway
    Tarrytown, NY 10591
    (914) 631-2322x121
    [email protected]
    http://www.frameworkinc.com/
    -----Original Message-----
    From: Matthew Middleton [mailto:[email protected]]
    Sent: Thursday, December 09, 1999 11:15 PM
    To: Will Chris
    Cc: [email protected]
    Subject: RE: (forte-users) dynamic select & maxrows parameter
    Think there's a mis-understanding. The maxrows I refer to is not SQL but a
    forte method parameter as in the following:
    dynStatement = self.DefaultDBSession.Prepare(commandString = sqlStatement
    ,inputDataSet = inputDescriptor
    ,cmdType = commandType);
    rowType = self.DefaultDBSession.Select(statementHandle = dynStatement
    ,inputDataSet = inputDescriptor
    ,resultDataSet = outputDescriptor
    ,maxrows = 100);
    the variable sqlStatement holds the "dynamic" select string.
    If I don't set maxrows I get a runtime error, as mentioned, it is running
    against Oracle.
    At 14:47 10/12/99 +1100, you wrote:
    We use Oracle and Rdb and we have dynamic and non-dynamic SQL. No
    combination of
    these demand a max rows clause.
    For example the following query works on both databases :
    lvLanguageCodesList : Array of LanguageCodes = new();
    begin transaction
    sql select Language_Code LanguageCode,
    Language_Nm LanguageNm,
    System_Control_YN SystemControlYN,
    Other_Language_YN OtherLanguageYN
    into :lvLanguageCodesList
    from SRD_LANGUAGE_CODES
    order by Language_Nm
    on session StudentRegistryDBSession;
    end transaction;
    if lvLanguageCodesList.items = 0 then
    return Nil;
    else
    return lvLanguageCodesList;
    end if;
    Indeed if we wanted to use max rows its a bit of a pain in the bum because
    Oracle and
    Rdb use different syntax to define the row limit. So our dynamic SQL
    'builder class'
    has to detect the database flavour and configure max rows accordingly(where
    we want to use
    it).
    I can only guess that the error you are getting is not assoicated to therow
    limit or is caused because of the database you are using ?
    Regards,
    Chris Will, Sydney, Australia
    -----Original Message-----
    From: Matthew Middleton [mailto:[email protected]]
    Sent: Friday, 10 December 1999 14:33
    To: [email protected]
    Subject: (forte-users) dynamic select & maxrows parameter
    the help for DBSession.Select method says that the maxrows
    parameter is not
    required. Leaving it out does not give a compile error.
    However at runtime
    an error is got saying maxrows must be > 0.
    I am using a method that accepts a where clause as a
    parameter and am not
    really interested in what the number of rows will be.
    Should I be?
    Does anyone have any knowledge they can share on this one.
    Thanks.
    Regards,
    Matthew Middleton Ph: +61 2 9239 4972
    Oryx Software Consultant Fax: +61 2 9239 4900
    Lawpoint Pty. Ltd. E-mail [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to: [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]
    Regards,
    Matthew Middleton Ph: +61 2 9239 4972
    Oryx Software Consultant Fax: +61 2 9239 4900
    Lawpoint Pty. Ltd. E-mail [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

    I thing this code should help:
    ** Accepts command string for dynamic query and **
    ** an empty array of BC to which the results **
    ** should be appended. Returns the filled BC **
    ** array. **
    l_dynamicStatement : DBStatementHandle;
    l_inputDescriptor : DBDataSet;
    l_outputDescriptor : DBDataSet;
    l_outputData : DBDataSet;
    l_intStatementType : integer;
    l_intRowType : integer;
    l_intNumRows : integer;
    l_intRowCount : integer = 0;
    l_result : BusinessClass = new;
    BEGIN
    -- Prepare SQL statement for query given command string
    l_dynamicStatement = self.GetDBSession().Prepare(
    commandString = p_strSql,
    inputDataSet = l_inputDescriptor,
    cmdType = l_intStatementType);
    -- Open Cursor
    l_intRowType = GetDBSession().OpenCursor(
    statementHandle = l_dynamicStatement,
    inputDataSet = l_inputDescriptor,
    resultDataSet = l_outputDescriptor);
    -- Fetch first row
    l_intNumrows = GetDBSession().FetchCursor(
    statementHandle = l_dynamicStatement,
    resultDataSet = l_outputData);
    WHILE l_intNumRows > 0 DO -- If prev fetch returned a row
    -- Increment count of rows fetched
    l_intRowCount = l_intRowCount + 1;
    -- Check for excessive number of rows retrieved
    -- Then it checks if you want to throw a exception or
    -- just exit and return the result set.
    IF l_introwCount > p_intMaxRow THEN
    IF p_bThrowExcept THEN
    -- Shut the cursor down and remove prepared
    statement
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    // Raise exception
    -- Have to put code
    ELSE
    EXIT;
    END IF;
    END IF;
    -- Parse result from DBDataSet to subclass
    -- of BusinessClass
    l_result = parseResult(l_outputData);
    // Add row to array
    p_aryBC.AppendRow(l_result.Clone(deep=TRUE));
    // Fetch next row
    l_intNumrows = GetDBSession().FetchCursor(
    statementHandle = l_dynamicStatement,
    resultDataSet = l_outputData);
    END WHILE;
    -- Shut the cursor down and remove prepared statement
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    EXCEPTION
    when e: GenericException do
    GetDBSession().CloseCursor(l_dynamicStatement);
    GetDBSession().RemoveStatement(l_dynamicStatement);
    raise e;
    END;
    return p_aryBC;
    ka
    Kamran Amin
    Framework, Inc.
    303 South Broadway
    Tarrytown, NY 10591
    (914) 631-2322x121
    [email protected]
    http://www.frameworkinc.com/
    -----Original Message-----
    From: Matthew Middleton [mailto:[email protected]]
    Sent: Thursday, December 09, 1999 11:15 PM
    To: Will Chris
    Cc: [email protected]
    Subject: RE: (forte-users) dynamic select & maxrows parameter
    Think there's a mis-understanding. The maxrows I refer to is not SQL but a
    forte method parameter as in the following:
    dynStatement = self.DefaultDBSession.Prepare(commandString = sqlStatement
    ,inputDataSet = inputDescriptor
    ,cmdType = commandType);
    rowType = self.DefaultDBSession.Select(statementHandle = dynStatement
    ,inputDataSet = inputDescriptor
    ,resultDataSet = outputDescriptor
    ,maxrows = 100);
    the variable sqlStatement holds the "dynamic" select string.
    If I don't set maxrows I get a runtime error, as mentioned, it is running
    against Oracle.
    At 14:47 10/12/99 +1100, you wrote:
    We use Oracle and Rdb and we have dynamic and non-dynamic SQL. No
    combination of
    these demand a max rows clause.
    For example the following query works on both databases :
    lvLanguageCodesList : Array of LanguageCodes = new();
    begin transaction
    sql select Language_Code LanguageCode,
    Language_Nm LanguageNm,
    System_Control_YN SystemControlYN,
    Other_Language_YN OtherLanguageYN
    into :lvLanguageCodesList
    from SRD_LANGUAGE_CODES
    order by Language_Nm
    on session StudentRegistryDBSession;
    end transaction;
    if lvLanguageCodesList.items = 0 then
    return Nil;
    else
    return lvLanguageCodesList;
    end if;
    Indeed if we wanted to use max rows its a bit of a pain in the bum because
    Oracle and
    Rdb use different syntax to define the row limit. So our dynamic SQL
    'builder class'
    has to detect the database flavour and configure max rows accordingly(where
    we want to use
    it).
    I can only guess that the error you are getting is not assoicated to therow
    limit or is caused because of the database you are using ?
    Regards,
    Chris Will, Sydney, Australia
    -----Original Message-----
    From: Matthew Middleton [mailto:[email protected]]
    Sent: Friday, 10 December 1999 14:33
    To: [email protected]
    Subject: (forte-users) dynamic select & maxrows parameter
    the help for DBSession.Select method says that the maxrows
    parameter is not
    required. Leaving it out does not give a compile error.
    However at runtime
    an error is got saying maxrows must be > 0.
    I am using a method that accepts a where clause as a
    parameter and am not
    really interested in what the number of rows will be.
    Should I be?
    Does anyone have any knowledge they can share on this one.
    Thanks.
    Regards,
    Matthew Middleton Ph: +61 2 9239 4972
    Oryx Software Consultant Fax: +61 2 9239 4900
    Lawpoint Pty. Ltd. E-mail [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to: [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]
    Regards,
    Matthew Middleton Ph: +61 2 9239 4972
    Oryx Software Consultant Fax: +61 2 9239 4900
    Lawpoint Pty. Ltd. E-mail [email protected]
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

  • Re: (forte-users) loadbalancing a service object

    Hi,
    If you need to share the values between your So, you can find a sample on
    http://perso.club-internet.fr/dnguyen
    It was designed to show how to manage shared states between replicates using
    fail over. It could also be used for load-bancing. A better way should be to
    manage the names of service objects within Forte (with the application,
    project name and compatibility level), but through the NameServer.
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    http://perso.club-internet.fr/dnguyen/
    Xiao, Menghua a écrit:
    Hello,
    I tried to loadbalance a service object that has both methods and
    attributes. The first copy of the service object works fine. However, all
    the attributes of the second copy of the service object are nil when a
    client try to use this copy. How can I make those two copies exactly the
    same?
    I am new to Forte. Any input will be greatly appreciated.
    Menghua Xiao
    Regional Transportation District,
    Denver, Colorado, USA
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    Hi,
    If you need to share the values between your So, you can find a sample on
    http://perso.club-internet.fr/dnguyen
    It was designed to show how to manage shared states between replicates using
    fail over. It could also be used for load-bancing. A better way should be to
    manage the names of service objects within Forte (with the application,
    project name and compatibility level), but through the NameServer.
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    http://perso.club-internet.fr/dnguyen/
    Xiao, Menghua a écrit:
    Hello,
    I tried to loadbalance a service object that has both methods and
    attributes. The first copy of the service object works fine. However, all
    the attributes of the second copy of the service object are nil when a
    client try to use this copy. How can I make those two copies exactly the
    same?
    I am new to Forte. Any input will be greatly appreciated.
    Menghua Xiao
    Regional Transportation District,
    Denver, Colorado, USA
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • Re: (forte-users) Dynamic Class Loading andUnloading

    If you are using TOOL libraries, perhaps you can use the CL level feature of
    Forte to load libraries.
    If the initial meta data libraries are CL0, your external data used to load
    the library can specify "cl0". Then you update the libraries, make them CL1,
    update your external data to specify "cl1" and then when the next time you
    need to load a class, it will open the library set as "cl1". Since cl0 and
    cl1 are effectively two totally different libraries from Forte's point of
    view, they can both exist and need not be unloaded per se.
    Of course once you go to cl1, you cannot go back to the cl0 level if you
    want to modify code in the library. The next step is cl2, cl3 etc.
    Could this be an option for your problem?
    Theo de Klerk
    Architecture & Application Integration
    Professional Services
    Compaq Computer Corp. - the Netherlands

    If you are using TOOL libraries, perhaps you can use the CL level feature of
    Forte to load libraries.
    If the initial meta data libraries are CL0, your external data used to load
    the library can specify "cl0". Then you update the libraries, make them CL1,
    update your external data to specify "cl1" and then when the next time you
    need to load a class, it will open the library set as "cl1". Since cl0 and
    cl1 are effectively two totally different libraries from Forte's point of
    view, they can both exist and need not be unloaded per se.
    Of course once you go to cl1, you cannot go back to the cl0 level if you
    want to modify code in the library. The next step is cl2, cl3 etc.
    Could this be an option for your problem?
    Theo de Klerk
    Architecture & Application Integration
    Professional Services
    Compaq Computer Corp. - the Netherlands

  • RE: (forte-users) BindingObjects

    Hallo Benoit,
    Two direction to go. First one try, to clean up the references, using
    the methods task.part.DistObjectMgr.ReleaseConnection(object) and
    task.part.DistObjectMgr.ReleaseDistReference (object=Object). Look into
    the Forté on-line help for details. Also remember to check the keepalive
    properties on your partitions (including the environment manager).
    Second option, you can browse the name service (using its agent) for the
    requested name, before you try to bind.
    Hope this helps
    Fabrizio Genesio
    Datasign AG für Informatik
    ch. d'Eysins 53a
    CH-1260 Nyon
    Switzerland
    Tel.: +41 22 361 04 04
    Fax: +41 22 361 01 10
    e-mail: fabrizio.genesiodatasign.ch
    <mailto:fabrizio.genesiodatasign.ch>
    URL: www.datasign.ch <http://www.datasign.ch>
    -----Original Message-----
    From: Benoit Pauchet [SMTP:benoitfortehotmail.com]
    Sent: Friday, 03 March 2000 08:34
    To: kamranaminyahoo.com
    Subject: (forte-users) BindingObjects
    Hi everybody,
    **Object of problem**
    Binding an object that are not yet registered in the name
    service.
    **Context**
    30's Fort&eacute; connected environments geografically dispersed in
    Belgium.
    **Explanation**
    Brussels has our Fort&eacute; super-environment.
    A Fort&eacute; listener object runs there and capts or receives a lot
    of messages
    from our Unisys Mainframe.
    When parsing these messages, the Listener_SO has to run,
    somewhere in
    Belgium, an explicit method on a distributed binded object..
    The BindObject method works very well when the local objects are
    referenced
    in the name-service, or in another words, when the local
    partition is
    ONLINE.
    Early in the morning, I start the multiple local SO's with a
    script.
    But sometimes, we have problem with our local servers. Something
    appears
    that the parttion doesn't start. This is a normal system fault,
    bad boot of
    server, disk fault, etc.
    My problem is here:
    Naturally, when it's append, the name service doesn't know this
    SO reference
    because the concerned partition is OffLine.
    When the listener tries to bind an unknowed object, I get a
    normal
    DistAccessException with a ReasonCode SP_ER_OBJECTNOTFOUND.
    ok... that's normal !
    **BUT** when I start the local partion (then is OnLine), and I
    try a new
    Bind, I have the same error ...
    I have to shutdown the listener and the bind works properly.
    In my context, **I must not shutdown the listener and re-start
    it because
    many people are connected with**.
    Is there a solution to my problem ? - I hope so, because I'm
    working in
    production now, and the deadline for this solution is very very
    short ...
    Thanks very much to help me,
    For the archives, go to: http://lists.xpedior.com/forte-users
    and use
    the login: forte and the password: archive. To unsubscribe, send
    in a new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com

    Hi Jean-Paul,
    As described in the Technote 10981 some Forte programs (Nodemanager and
    router) handle correct the high-file descriptor-use problem. It is possible
    that Forte interpreter do it correct too.
    Zenon
    -----Original Message-----
    From: Jean-Paul Gabrielli [SMTP:Jean-Paul.Gabriellisema.fr]
    Sent: Monday, September 25, 2000 12:11 PM
    To: Adamek, Zenon
    Cc: Forte-userslists.xpedior.com
    Subject: RE: (forte-users) [UNIX] "Too many open files" 3.0.M2
    question
    Actually, the stuff works in interpreted mode.
    It's only when having the server partition compiled that this happen.
    j-p
    -----Message d'origine-----
    De: Adamek, Zenon [mailto:ZAdamekpurolator.com]
    Date: lundi 25 septembre 2000 17:13
    &Agrave;: 'Jean-Paul.Gabriellisema.fr'
    Cc: Forte-userslists.xpedior.com
    Objet: RE: (forte-users) [UNIX] "Too many open files" 3.0.M2 question
    see Technote 10981
    -----Original Message-----
    From: Jean-Paul Gabrielli [SMTP:Jean-Paul.Gabriellisema.fr]
    Sent: Monday, September 25, 2000 11:02 AM
    To: zeForte-users
    Subject: (forte-users) [UNIX] "Too many open files" 3.0.M2 question
    Hi,
    running a server partition that reads a configuration file,
    and apparently doen't close it after, I have that exception:
    SYSTEM ERROR: System Error: Too many open files, opening '....'with mode
    'r'
    Class: qqos_FileResourceException
    1) Is there such a limit, or does this rely only on the OS one ?
    2) How is this error not trapped, as I only got itinteractively, whereas
    my server log does a exception trap/segmentation fault,
    thanlks
    j-p
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,send in a new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com
    >
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • RE: (forte-users) (Fwd) ODBC & Dynamically Choosing aDatabase Ve ndor

    The error you are getting is saying that the data source is not correctly
    specified. Make sure the data source(or the name of the ODBC driver you
    created) is correctly specified in your code.
    ka
    -----Original Message-----
    From: Duncan Kinnear [mailto:[email protected]]
    Sent: Sunday, December 19, 1999 6:26 PM
    To: [email protected]
    Subject: (forte-users) (Fwd) ODBC & Dynamically Choosing a Database
    Vendor
    I am trying to dynamically create a DBSession to connect to the
    Microsft SQL Server ODBC Driver on a Forte Server Node.
    I have tested the ODBC connection on the Local Machine and it works fine.
    I have connected to the SQL Server on that machine with a Static
    DBSession Object and that works fine.
    I have used the same code to create a DBSession to Informix on Unix
    and that worked fine.
    The error I get is a converted ODBC one:
    SYSTEM ERROR: Attempt to load partition named TestWinProject_cl0_Part1
    failed.
    Class: qqsp_ResourceException
    Error #: [1001, 4]
    Detected at: qqrt_ForteExecAgent::LoadPartition at 2
    Error Time: Mon Dec 20 12:05:37
    Distributed method called: qqrt_ForteExecAgentProxy.LoadPartition!7
    (object name Unnamed) from partition "Node Manager", (partitionId =
    40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11c, taskId =
    [40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11c.38]) in application
    "System
    Manager", pid 250 on node ALLY in environment testenv
    Exception occurred (remotely) on partition "Forte_Executor",
    (partitionId
    = 40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e, taskId =
    [40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e.22]) in application
    "TestWinProject_cl0", pid 235 on node ALLY in environment TestEnv.
    SYSTEM ERROR: Failed to create service object TestDataProject.TestService.
    Class: qqsp_ResourceException
    Last TOOL statement: method TestServiceMgr.
    Error Time: Mon Dec 20 12:05:37
    Exception occurred (remotely) on partition "Forte_Executor",
    (partitionId
    = 40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e, taskId =
    [40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e.22]) in application
    "TestWinProject_cl0", pid 235 on node ALLY in environment TestEnv.
    USER ERROR: (This error was converted)
    Failed to connect to database: ForteSQLServer , username: justin .
    [Microsoft][ODBC Driver Manager] Data source name not found and no
    default
    driver specified
    Class: qqdb_RemoteAccessException with ReasonCode:
    DB_ER_DBMSCONNECTION
    DBMS SQLSTATE: IM002
    Class: qqsp_ErrorDescriptor
    Detected at: qqdb_OdbcVendorInfo::DoSQLConnect at 10
    Last TOOL statement: method ServiceMgr.SetDBSession
    Error Time: Mon Dec 20 12:05:37
    Exception occurred (remotely) on partition "Forte_Executor",
    (partitionId
    = 40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e, taskId =
    [40114BC0-B0FC-11D3-B4D6-E87D6941AA77:0x11e.22]) in application
    "TestWinProject_cl0", pid 235 on node ALLY in environment TestEnv.
    Versions:
    SQL SERVER 6.5
    ODBC Driver SQL Server 2.65.0240
    ODBC Manager 3.0.28.22
    NT 4 sp4
    Forte 3.0.J.1
    The code I'm using is almost identical to that given in the "Dynamically
    Choosing a Database Vendor" section of the "Making a Database
    Connection" chapter of the "Accessing Databases" manual.
    Any suggestions would be greatly appreciated
    Thanks in advance.
    Cheers,
    Duncan Kinnear,
    McCarthy and Associates, Email:
    [email protected]
    PO Box 764, McLean Towers, Phone: +64 6 834 3360
    Shakespeare Road, Napier, New Zealand. Fax: +64 6 834 3369
    Providing Integrated Software to the Meat Processing Industry for over 10
    years
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

  • Subject: RE :(forte-users) Web enterprise & user visibleservice Objects

    A few months ago we faced a similar problem while migrating from classic
    Forte to Web. We had to protect our investment in various frameworks that we
    wrote for the classic Forte apps, which made use of extensive
    user-level-caching among other things.
    We solved the problem using a custom routing mechanism. In brief, we created
    several( replicated) server partitions that contains all the user-level
    Service objects that existed in the class-Forte apps. Then we wrote a
    'custom-router' which mimics Forte load-balanced router( dialog duration =
    session ) to intelligently route incoming HTTPRequests to one of these
    replicated partitions. The router would look at the some tag on the session
    and then route the request to one of these replicated "client clone" using
    the tag. Successive requests from the same client will go to the same
    replicated partition so that you can use the client-cache or any other
    per-user services.
    The advantages of this approach are
    1) You can continue to make use of caching and other user-level components
    that you may have.
    2) The web and classic Forte clients can work seamlessly if you write them
    to use reference partitions that hosts the other shared( Environment visible
    ) service objects.
    Ofcourse you will have to write ( and maintain )the custom-routing code and
    also pay attention to house-keeping. For example, the burdon of cleaning up
    the cache on logout or session expiration lies on you. If you don't do this,
    then your new user might be looking at an old cache of some other user.
    Hope this helps,
    Ajith
    Forte Systems Consultant.
    Subject: (forte-users) Web enterprise & user visible service objects
    Hi
    We have taken a forte application and converted it to run on the web using
    * forte web enterprise &
    * fortecgi.exe
    In the forte application we have a user visible Local Cache Manager
    Service Object (i.e. each users has their own copy) for storing things
    like
    * the details of the current user id
    * the details of the current client chosen
    * arrays that are needed by other windows
    With web enterprise this service object is no longer user visible, how can
    we make it user visible?
    Thanks in advance.
    Deborah Wallis
    dwallisnbs.co.za
    WARNING:
    Any unauthorised use or interception of this email is illegal. If this email
    is not intended for you, you may not copy, distribute nor disclose the
    contents to anyone. Save for bona fide company matters, the BoE Group does
    not accept any responsibility for the opinions expressed in this email.
    For further details please see: http://www.nbs.co.za/emaildisclaim.htm
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    A few months ago we faced a similar problem while migrating from classic
    Forte to Web. We had to protect our investment in various frameworks that we
    wrote for the classic Forte apps, which made use of extensive
    user-level-caching among other things.
    We solved the problem using a custom routing mechanism. In brief, we created
    several( replicated) server partitions that contains all the user-level
    Service objects that existed in the class-Forte apps. Then we wrote a
    'custom-router' which mimics Forte load-balanced router( dialog duration =
    session ) to intelligently route incoming HTTPRequests to one of these
    replicated partitions. The router would look at the some tag on the session
    and then route the request to one of these replicated "client clone" using
    the tag. Successive requests from the same client will go to the same
    replicated partition so that you can use the client-cache or any other
    per-user services.
    The advantages of this approach are
    1) You can continue to make use of caching and other user-level components
    that you may have.
    2) The web and classic Forte clients can work seamlessly if you write them
    to use reference partitions that hosts the other shared( Environment visible
    ) service objects.
    Ofcourse you will have to write ( and maintain )the custom-routing code and
    also pay attention to house-keeping. For example, the burdon of cleaning up
    the cache on logout or session expiration lies on you. If you don't do this,
    then your new user might be looking at an old cache of some other user.
    Hope this helps,
    Ajith
    Forte Systems Consultant.
    Subject: (forte-users) Web enterprise & user visible service objects
    Hi
    We have taken a forte application and converted it to run on the web using
    * forte web enterprise &
    * fortecgi.exe
    In the forte application we have a user visible Local Cache Manager
    Service Object (i.e. each users has their own copy) for storing things
    like
    * the details of the current user id
    * the details of the current client chosen
    * arrays that are needed by other windows
    With web enterprise this service object is no longer user visible, how can
    we make it user visible?
    Thanks in advance.
    Deborah Wallis
    dwallisnbs.co.za
    WARNING:
    Any unauthorised use or interception of this email is illegal. If this email
    is not intended for you, you may not copy, distribute nor disclose the
    contents to anyone. Save for bona fide company matters, the BoE Group does
    not accept any responsibility for the opinions expressed in this email.
    For further details please see: http://www.nbs.co.za/emaildisclaim.htm
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • RE: (forte-users) User-visible service object

    This solution will cause network traffic for all method calls on the
    environment visible SO. This overhead is not incurred when calling methods
    on a user visible SO in the same partition. Depending on the frequency of
    calls and the volume of data being passed in and out, this could be
    significant overhead.
    We have successfully implemented the following.
    Create a second User Visible SO based on the same class. Then you will be
    able to partition the one SO into the client partition and the second into
    the server partition.
    For example, assume the underlying class is named MessageService then define
    your SO's as
    ClientMessageService -> MessageService
    ServerMessageService -> MessageService
    Andy
    -----Original Message-----
    From: Amin, Kamran [mailto:kamran.aminlendware.com]
    Sent: Wednesday, August 23, 2000 10:17 PM
    To: 'Duncan Kinnear'; kamranaminyahoo.com
    Subject: RE: (forte-users) User-visible service
    object
    Duncan,
    Make the user visible service object to an
    environment visible
    service object. This way the client and any service object
    on the server
    can access it.
    ka
    -----Original Message-----
    From: Duncan Kinnear [mailto:duncanmccarthy.co.nz]
    Sent: Wednesday, August 23, 2000 7:47 PM
    To: kamranaminyahoo.com
    Subject: (forte-users) User-visible service object
    Hi folks!
    We've got a user-visible service object that handles
    initialisation of and
    access to the message catalog.
    This works well on the client, but we would like to use the
    same
    mechanism (and even the same service object) on the server
    so that
    service objects on the server have access to their message
    catalog on
    the
    server.
    I was hoping that if we referenced this user-visible service
    object in
    both the client and the server code, that it would partition
    a copy in
    each of the client and server partitions. However, we
    cannot get this
    user-visible service object duplicated on the server. If we
    drag and drop
    it onto the server partition in the partition workshop, it
    disappears from
    the client partition!
    Anybody got any idea how we could do this?
    Cheers,
    Duncan Kinnear,
    McCarthy and Associates, Email:
    duncanMcCarthy.co.nz
    PO Box 764, McLean Towers, Phone: +64
    6 834 3360
    Shakespeare Road, Napier, New Zealand. Fax: +64
    6 834 3369
    Providing Integrated Software to the Meat Processing
    Industry for over 10
    years
    For the archives, go to:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com
    For the archives, go to:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com

    I would try going to the "lowest common denominator" between WindowsNT and
    Windows95 - DOS. Both windowing OS's sort of have their roots in DOS, or at
    least both are capable of opening a DOS session.
    Therefore, from a DOS prompt type "set" to view the environment variables for
    both OS types. Look for a common variable between the two that stores the
    userID. If you can find one of these your application will be that much more
    portable between these two Windows mutations.
    I used "set" on my NT and found my userID assigned to a few variables. I haven't
    done this on a Windows95 machine in quite some time, but if the machine is on
    the network it should have at least one environment variable with the userID.
    I'm just guessing that DOS has a variable to store the userID that will be
    common to both machines.
    Good luck....
    Kelsey PetrychynSaskTel Technical Analyst
    ITM - Technology Solutions - Distributed Computing
    Tel (306) 777 - 4906, Fax (306) 359 - 0857
    Internet:kelsey.petrychynSasktel.sk.ca
    Quality is not job 1. It is the only job!
    "Olivier Andrieux" <oandrieuxaxialog.fr> on 07/19/2000 09:12:41 AM
    To: forte-userslists.xpedior.com
    cc: (bcc: Kelsey Petrychyn/SaskTel/CA)
    Subject: (forte-users) user name
    Hi
    I use this command to catch the username:
    task.part.operatingsystem.getenv('username')
    with NT, there is no problem
    but with windows95 or 98 the command doesn't find the username.
    Thanks in advance.
    Olivier Andrieux
    Axialog
    Lille
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • RE: (forte-users) Does anyone have experience using OracleLarge Objects

    hi ,
    A few months ago, I tried a oracle stored procedure with a BLOB parameter,
    but Forte(3.l2) could not recognize the blob variable. I used oracle 8.0
    hth
    suma
    -----Original Message-----
    From: Amin, Kamran [mailto:kamran.aminlendware.com]
    Sent: Thursday, March 29, 2001 2:40 PM
    To: 'Forte User Group'
    Cc: Magaliff, Bill
    Subject: (forte-users) Does anyone have experience using Oracle Large
    Objects (LOB's)?
    Does anyone have experience using Oracle Large Objects (LOB's) -
    specifically the CLOB datatype? Forte supports Oracle LONG's but given that
    Oracle is going to phase out that datatype and they're trying to push users
    towards CLOB's instead of LONG's, I want to find out if Forte can handle it
    and, if so, what we should know about mapping Forte datatypes to the Oracle
    CLOB. [Their compatibility matrix for v3.5 indicates suppport under Oracle
    8.1.x, and CLOB's were introduced back in 8.0.x - but the word from Forte is
    that they currently don't support it.]
    thanks in advance.
    ka
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    Hi,
    Did you get any solution to this. If yes, please share.
    Thanks,
    Tints

  • RE: (forte-users) Object Request Brokers.....

    Hi Rajeev,
    I just happen to have the following two technotes on hand that helped me
    answers the very same questions..
    <<forte.zip>>
    Hope it helps... if you need more help... fell free to give me a shout!
    Ciao
    Kim
    -----Original Message-----
    From: Rajeev Talwar [SMTP:rtalshotmail.com]
    Sent: Monday, February 21, 2000 6:34 PM
    To: kamranaminyahoo.com
    Subject: (forte-users) Object Request Brokers.....
    Hi All,
    We are writing a cold fusion application which needs to use some
    services from a Forte application. We also have a Cold Fusion Visi
    Broker(ORB)to communicate with Forte. I was wondering what all we need
    in order to get a handle to all the service objects used by Forte
    application in our Cold Fusion application.
    Also do we need to change our deployment scheme for the Forte
    application. I
    believe we have to make a special deployment
    for Forte application to be available to ORB's. By default,
    Forte uses Unix internal communication mechanism like sockets
    etc. for service objects to be available across different
    partitions.
    Also do we need to run both applications and ORB on the same box
    or can we put them in some kind of network.
    I hope I made myself quite clear what we are looking for. I will be
    more than happy to put some more details in case someone needs
    further clarification.
    Are there any technotes out there whcih we can refer to.
    I will appreciate any thoughts.
    -Rajeev Talwar
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a
    new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com

    You can also use the HTTP-DC project.... You don't
    need Web Enterprise for this. From what I can tell,
    this is available in L.x on....
    There is api documentation in M.2 (with scant
    examples.)
    There's a special process to put the project in your
    repository (it isn't installed in the repository in
    the standard install,) the documentation in M.2
    (probably in M.0 too, AFAIK) that tells you how to do
    this (look for HTTP-DC in the online help.)
    I haven't done much with it yet, I've just installed
    it. If anybody out there has examples, that'd be
    great. I'll try to contribute more the moment I get a
    chance to explore it....
    Christopher Fury
    BellSouth Communications Systems
    --- Daniel Nguyen <dnguyenclub-internet.fr> wrote:
    Hi,
    If you have Web Enterprise, you can user
    HttpAccess.SendRequest().
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Amin, Kamran a &eacute;crit:
    Is there any way to make a HTTP request from TOOLto another HTTP Service?
    thanks in advance.
    For the archives, go to:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. Tounsubscribe, send in a new
    email the word: 'Unsubscribe' to:forte-users-requestlists.xpedior.com
    For the archives, go to:
    http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To
    unsubscribe, send in a new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com
    Kick off your party with Yahoo! Invites.
    http://invites.yahoo.com/

  • Re: (forte-users) Service Object

     

    what about subclassing it and putting the agent stuff in there
    Matthew Middleton Ph: +61 2 9239 4972
    Oryx Software Consultant Fax: +61 2 9239 4900
    Lawpoint Pty. Ltd. E-mail matthewmwriteme.com
    ----- Original Message -----
    From: Ramarao Pabbaraju <RPabbarajulmimsno.com>
    To: <kamranaminyahoo.com>
    Sent: Tuesday, February 29, 2000 9:02 AM
    Subject: (forte-users) Service Object
    Hi,
    We have a class X which we would like to use it for service object andalso
    to instantiate it locally to call some methods. We would like to have
    system agents for the service object, but not for objects instantiated
    locally. In other words, if the object is used for service object, only
    then we want the agents (customized) to be initialized. How do we find out
    whether it is service object in Init method self? Service objectproperties
    (like isAnchored) or attributes (given from ServiceObject
    properties/initial values window) are set only at the end of init method.
    One workaround we could think of is start a task at the end of init method
    and also delay the execution of method. Is there any clean way of doing
    this?
    Thanks in advance,
    Ramarao
    IonIdea
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • Creating Forte FieldWidgets Dynamically at Runtime

    Hi Everyone,
    Could someone please help me with the following problem I have when
    creating Forte fieldwidgets dynamically at run-time. I am using Forte
    ver. 3.0.G.2.
    (-1-) I have a window class with an empty gridfield, <grfMain>, inside a
    viewport. The idea is to populate the gridfield with DataField
    fieldwidgets dynamically at runtime. Depending on some input criteria,
    sometimes some of the DataFields need to map to IntegerNullables, some
    to DoubleNullables and some to DateTimeNullables. (Please note that I
    cannot use the Forte window workshop to create these fieldwidgets,
    because different types of fieldwidgets will be needed at different
    times, in different numbers, at run-time. ) Here is a sample of how I am
    currently trying to achieve this:
    dfDate : DataField = new;
    dfDate.MaskType = MK_Template;
    dfDate.DateTemplate = new( value='dd/mm/yyyy' );
    dfDate.Row = 1;
    dfDate.Column = 2;
    dfDate.Parent = <grfMain>;
    dfInt : DataField = new;
    dfInt.MaskType = MK_INTEGER;
    dfInt.Row = 2;
    dfInt.Column = 2;
    dfInt.Parent = <grfMain>;
    dfReal : DataField = new;
    dfReal.MaskType = MK_FLOAT;
    dfReal.Row = 3;
    dfReal.Column = 2;
    dfReal.Parent = <grfMain>;
    The code above is called after the window has been opened with the
    Open() statement.
    Looking at the code above, one obvious omission is that the "Mapped
    Type" of the Datafields are not set up. In the Forte window workshop, an
    interface is provided to set up the "Mapped Type" of the Datafield
    widgets, but I'm not sure how to do that dynamically, and that is
    basically my biggest problem here.
    (-2-) If I now run the window class, the Datafield widgets get created,
    and they all have the correct input maks, but no validation gets done
    when one tabs away from the field. For example, Datafields with
    MaskType=MK_INTEGER will gladly accept '--1--0++7', while Datafields
    created in the window workshop (mapping to IntegerNullables) will do a
    validation, and not allow one to tab out of the field before the extra
    minus and plus signs are not removed.
    I have the same problem with the Datafields which have
    MaskType=MK_Template and DateTemplate='dd/mm/yyyy'. For the date, one
    can enter something like '2*\**\****', and leave the field, while the
    same type of datafield created in the window workshop (mapped to a
    DateTimeNullable), will not allow you to leave the field before a valid
    date has not been entered. To summarise, the input masks of my
    dynamically created Datafields work fine, but no validation gets done
    when the field looses the focus.
    (-3-) As a test, I used the Forte debugger ("view"-"local variables") to
    look at the differences between Datafields created dynamically, and
    those created in the Forte window workshop. One very obvious difference
    was that Datafield attribute "MapTypeName" was filled in for the window
    workshop Datafields, but not for my dynamically created Datafields. The
    problem is that Forte does not allow me to set this attribute
    dynamically in my code. How else can I setup the Mapped Type
    dynamically?
    (-4-) In order to have a consistent look-and-feel throughout our Forte
    project, we are making use of Domain classes for DATE and DECIMAL data
    entry fields. My questions are:
    (4.1) How must I go about creating Datafields dynamically that make use
    of these Domain classes?
    (4.2) Is it also a matter of setting up the "MapTypeName" attribute,
    which I cannot seem to do?
    (4.3) Is the mapping done differently for Domain classes?
    (-5-) Another interesting thing to note for Datafields created in the
    Forte Window Workshop, is that if the mapped type is IntegerNullable
    with Input Mask = Integer, or DoubleNullable with Input Mask = Float,
    then the Object that the Datafield widget maps to, must first be
    instantiated before the Loose-Focus validations will start to work. For
    example, if a Datafield widget called "dfTestInt" was created in the
    Forte window workshop, which maps to an IntegerNullable, and Input Mask
    = Integer, then the following line is needed before the window is
    displayed: dfTestInt = new;
    Without this line, one can enter something like '2---3+++7', and leave
    the field.
    This is not true for Datafields where the mapped type is
    DateTimeNullable with say Input Mask Template='dd\mm\yyyy'. In this case
    validations are done even thought the object being mapped to, has not
    been instantiated yet. In other words you will never be able to enter
    '2*/**/****', and leave the field for datafield created in the window
    workshop. Maybe in this case the validation is being done by the
    template itself?
    Thanks in advance
    Riaan
    To unsubscribe, email '[email protected]' with
    'unsubscribe forte-users' as the body of the message.
    Searchable thread archive <URL:http://pinehurst.sageit.com/listarchive/>

    what I mean is rendering JSF components on the fly, becuase some time you don't know things at design time. Lets say I am designing a page in creator that shows the total number of dependants that belongs to a primary inusrance member in text boxes. Of course we don't know in advance how many dependants we have for a specific member unless we go to databse and fetch all the data at runtime. Desiging some thing dynamic like that is very easy in CGI or ASP/JSP but JSF model seems very static due to it's design time feature.
    So is it possible with JSF or not?

  • RE: (forte-users) Forte ADE

    In addition to this confusion, I'd like to see some statement by Forte to
    indicate
    WHEN the next Forte R4 is scheduled (before the Sun era is was said to be
    Summer 2000) and
    WHAT exactly it will contain (major headings will do).
    With the cancellation of the Forte Forum event doubt and uncertainty are
    spreading in the
    Forte communities that I talk with and no one seems to counterbalance these
    doubts with an
    official statement. How serious does Sun take TOOL Forte for the coming few
    years? Release
    of Fusion V2 seems to say "serious". The deafning silence with regard to R4
    indicates the
    opposite. And the users are divided (as always).
    Theo de Klerk
    Architecture & Application Integration
    Professional Services
    Compaq Computer Corp. - the Netherlands
    -----Original Message-----
    From: Rottier, Pascal [mailto:Rottier.Pascalpmintl.ch]
    Sent: Tuesday, 18 April, 2000 17:49
    To: 'kamranaminyahoo.com'
    Subject: (forte-users) Forte ADE
    A long, long time ago
    In a galaxy far away....
    I saw a demonstration of Forte's new Application Development
    Environment,
    which was more userfriendly than the current one. It also looked more
    similar to the interface of the other development tools out
    there, with a
    tree structure and capabilities to browse through the
    inheritance tree, and
    not opening a new window for every project, class and method that is
    accessed.
    This new interface was supposed to be included in Forte 4, which would
    combine TOOL and Java and would be released soon.
    Since then, we've seen SynerJ and now FJEE, but Forte 4 is still not
    released. And when it will be released, it still won't
    support TOOL and Java
    simultaneously. That's OK. I understand that.
    But now I've heard that this improved ADE won't even be
    included in Forte 4.
    Is this true? And if so, why?
    Pascal
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe,
    send in a new
    email the word: 'Unsubscribe' to:
    forte-users-requestlists.xpedior.com

    You may be interested in the following which comes from a statement of direction
    recently issued by Sun.
    Product Context
    + Fort&eacute; 4GL is an award-winning, proven product with many unique advantages for
    building
    enterprise business systems that are distributed, that involve the integration
    of existing
    business systems as well as new functionality, and that target heterogeneous
    runtime
    environments.
    + Fort&eacute; 4GL is recognized by Gartner Group as the most successful Enterprise
    Application
    Development Tool.
    + Forte 4GL has a substantial customer base that has been successful with the
    product and that
    looks forward to using Fort&eacute; 4GL for new applications.
    + The Sun Microsystems, Inc. (SMI) development tools group (formerly Fort&eacute;
    Software, Inc.)
    has a strong internal commitment to Fort&eacute; 4GL. Fort&eacute; Fusion is written with, and
    is currently
    being enhanced with Fort&eacute; 4GL.
    + SMI has retained the Fort&eacute; field sales organization as an independent unit
    whose primary
    product offerings are Fort&eacute; 4GL and Fort&eacute; Fusion. Continued volume sales of
    Fort&eacute; 4GL
    remain the foundation of our business plan.
    Product Future
    + We intend to actively enhance and promote Fort&eacute; 4GL for the indefinite
    future.
    + We believe Fort&eacute; 4GL will flourish in the long term, especially if we are
    able to harness the
    considerable selling power of the entire SMI field sales organization. To make
    the product
    more attractive and easier to sell, we will continue to make the product more
    modular and
    easier to integrate with heterogeneous software environments.
    + We believe that the best opportunity for attracting new customers is to
    leverage the ability of
    Fort&eacute; 4GL to easily build powerful shared business services (server components)
    that can be
    accessed by non-Fort&eacute; clients (e.g., browsers, Java clients) and that can easily
    integrate with
    new and existing business systems.
    + We believe that Fort&eacute; 4GL?s continued success is enhanced by continuing to
    issue small and
    frequent product releases. Our target is two such releases per year.
    + There is a great potential for our three product lines (Fort&eacute; 4GL, Fort&eacute;
    Fusion, and Fort&eacute; for
    Java) to complement and reinforce each other. Interoperability among the three
    product lines
    is seen as a critical success factor for Fort&eacute; 4GL.
    Forte 4GL Statement of Direction Page 2
    Sun Microsystems, Inc Proprietary and Confidential
    Product Priorities
    1. Interoperability with third party software components
    + External (non-4GL) client support (e.g., browsers, Java clients)
    + External server integration (e.g., messaging, component support, data
    exchange)
    2. Enhanced productivity
    + Increased automation (i.e., less coding)
    + Support for platform updates (e.g., new versions of OS, DBMS)
    3. TOOL code to Java code migration
    4. Unified developer look and feel with other Forte development products
    5. Common repository
    Short Term Product Plans
    Mid-year release
    + New features available as ?preview? per the standard Forte maintenance
    release procedures
    + Tentatively labeled ?release 3.5? and distributed as a free product
    enhancement for
    customers under maintenance
    + Scheduled for Summer 2000
    + Defining features
    + Introspection (reflection) ? the ability for an object to describe itself at
    runtime
    + Improved integration with applications developed using Fort&eacute;-for-Java
    Community
    Edition
    + Platform support improvements to track important operating system and
    database
    vendor activity
    + Target features
    + Display system enhancements (e.g., Motif 2 support, line arrowheads, window
    refresh control, editable outline fields)
    + Dynamic library loading
    + Improved CORBA/IIOP support
    + Improved XML and XSLT class support
    + JMQ support
    New year release
    + New features available as ?preview? per the standard Forte maintenance
    release procedures
    + Tentatively labeled ?release 3.6? and distributed as a free product
    enhancement for
    customers under maintenance
    + Scheduled for year end 2000
    + Defining features
    + Any Release 3.5 target features that were not included in 3.5
    + Generation of EJB interfaces for R3 service objects
    + Platform support improvements to track important operating system and
    database
    vendor activity
    + Target features
    + COBOL record handling as part of the OS390 transaction adaptor
    + Improved runtime security
    + Interface classes for access to Netscape Server 4.0 and possibly other web
    servers
    Long Term Product Plans
    + To be determined by customer and market feedback.
    + A major criterion for new functionality will be enhancing the revenue
    generating ability of
    the product, thereby fostering its long-term health in the marketplace.
    + Substantial emphasis will be placed on creating new capabilities that enhance
    the
    attractiveness of the product for new users.
    + The contents of Release 3.7 (or whatever it will be called) will be
    solidified just after release
    3.5 ships. Subsequent planning visibility will be two forward releases.
    "Klerk, Theo de" <Theo.de.Klerkcompaq.com> on 04/18/2000 12:27:36 PM
    To: "'Rottier, Pascal'" <Rottier.Pascalpmintl.ch>,
    "'kamranaminyahoo.com'" <kamranaminyahoo.com>
    cc: (bcc: Charlie Shell/Bsg/MetLife/US)
    Subject: RE: (forte-users) Forte ADE

  • RE: (forte-users) Hi All....very urgent...Forte doesn'thandle La rge ar

    Okay, here's my three cents worth,
    Are you using Forte "Keep Alive" settings? If yes, you may simply have a
    time-out.
    While a partition is waiting for a reply from a database, it blocks and
    won't respond
    to anything, including pings to check if it's still alive. So, if the query
    takes longer to
    complete than the time-out period of the communication manager, then you
    will
    loose the connection to the partition.
    -----Original Message-----
    From: Aberdour George [SMTP:george.aberdourdet.nsw.edu.au]
    Sent: Sunday, February 13, 2000 11:39 AM
    To: 'Babu Raj'; kamranaminyahoo.com
    Subject: RE: (forte-users) Hi All....very urgent...Forte doesn't
    handle La rge array properly
    Hi,
    This sounds almost identical to a problem we have experienced.
    If it is the same problem it is because you have compiled a back-end
    load-balanced partition, but NOT the router that manages it.
    With such a configuration, attempts to send greater than a few thousand
    rows
    will fail - and it doesn't seem to matter what you set -fm to.
    You don't see the problem running distributed from your workspace because
    everything is interpreted.
    So just compile the router and try again.
    Hope this helps.
    George Aberdour
    (George.Aberdourdet.nsw.edu.au)
    -----Original Message-----
    From: Babu Raj [mailto:ibcsmartboyyahoo.com]
    Sent: Saturday, 12 February 2000 7:24
    To: kamranaminyahoo.com
    Subject: (forte-users) Hi All....very urgent...Forte doesn't handle
    Large array properly
    Hi All,
    Have anyone experienced problem of retrieving
    more than 1500 records from the database table, into
    the object.
    I use dynamic SQL statement, and populating Array
    object from the DBDataSet. When it runs from my
    workspace distributed, it works fine. But, when I make
    deployment, and install on the test bed, I face
    Network connection failure from the client machine. It
    looks like, server read the data from the Database,
    and while packaging it, to send it across to the
    client, server seems to run out ouf memory or couldn't
    maintain the connection with the client. I tried to
    set -fm flag on that partition, and separately setting
    FORTE_GC_SPECIAL too, but still no luck.
    we have increased, the rollback segment size on
    Oracle too, but still no luck.
    Appreciate, your suggestions, if you can,
    Thank you,
    Babu
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

    Okay, here's my three cents worth,
    Are you using Forte "Keep Alive" settings? If yes, you may simply have a
    time-out.
    While a partition is waiting for a reply from a database, it blocks and
    won't respond
    to anything, including pings to check if it's still alive. So, if the query
    takes longer to
    complete than the time-out period of the communication manager, then you
    will
    loose the connection to the partition.
    -----Original Message-----
    From: Aberdour George [SMTP:george.aberdourdet.nsw.edu.au]
    Sent: Sunday, February 13, 2000 11:39 AM
    To: 'Babu Raj'; kamranaminyahoo.com
    Subject: RE: (forte-users) Hi All....very urgent...Forte doesn't
    handle La rge array properly
    Hi,
    This sounds almost identical to a problem we have experienced.
    If it is the same problem it is because you have compiled a back-end
    load-balanced partition, but NOT the router that manages it.
    With such a configuration, attempts to send greater than a few thousand
    rows
    will fail - and it doesn't seem to matter what you set -fm to.
    You don't see the problem running distributed from your workspace because
    everything is interpreted.
    So just compile the router and try again.
    Hope this helps.
    George Aberdour
    (George.Aberdourdet.nsw.edu.au)
    -----Original Message-----
    From: Babu Raj [mailto:ibcsmartboyyahoo.com]
    Sent: Saturday, 12 February 2000 7:24
    To: kamranaminyahoo.com
    Subject: (forte-users) Hi All....very urgent...Forte doesn't handle
    Large array properly
    Hi All,
    Have anyone experienced problem of retrieving
    more than 1500 records from the database table, into
    the object.
    I use dynamic SQL statement, and populating Array
    object from the DBDataSet. When it runs from my
    workspace distributed, it works fine. But, when I make
    deployment, and install on the test bed, I face
    Network connection failure from the client machine. It
    looks like, server read the data from the Database,
    and while packaging it, to send it across to the
    client, server seems to run out ouf memory or couldn't
    maintain the connection with the client. I tried to
    set -fm flag on that partition, and separately setting
    FORTE_GC_SPECIAL too, but still no luck.
    we have increased, the rollback segment size on
    Oracle too, but still no luck.
    Appreciate, your suggestions, if you can,
    Thank you,
    Babu
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com
    For the archives, go to: http://lists.xpedior.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: forte-users-requestlists.xpedior.com

  • Re: (forte-users) Express Question

    Hi,
    I've done it using a dynamic DBSession manager (and dynamic dbsession
    instanciation). But, you need to customize the Express Framework
    (ExpressService.BusinessDBMgr) and modify the select, update, delete, execute
    methods. You need also to maintain the statement cache linked to the DBsession
    and manage the link between a DBsession and a task or use explicit mutex (the
    aim is to have only one task assigned to a DBsession at a time : this should be
    done in the DBSession Manager). If you use Dynamic DBSessions, you will also
    need to add a synchronization to the DBsession Manager.
    If you want to suppress the default DBSession service object, you will need to
    customize the code generation. You should ask the Forte Consulting I think...
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Url : http://perso.club-internet.fr/dnguyen/
    [email protected] a &eacute;crit:
    Has anyone tried replicating the partitions that contain the DBService SOs
    from the Business Model (ie. DBSessions)? We are attempting to do this to
    avoid single-threading access to our database and wondered if anyone had
    done this successfully. Thanks for your help.
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

    Hi,
    I've done it using a dynamic DBSession manager (and dynamic dbsession
    instanciation). But, you need to customize the Express Framework
    (ExpressService.BusinessDBMgr) and modify the select, update, delete, execute
    methods. You need also to maintain the statement cache linked to the DBsession
    and manage the link between a DBsession and a task or use explicit mutex (the
    aim is to have only one task assigned to a DBsession at a time : this should be
    done in the DBSession Manager). If you use Dynamic DBSessions, you will also
    need to add a synchronization to the DBsession Manager.
    If you want to suppress the default DBSession service object, you will need to
    customize the code generation. You should ask the Forte Consulting I think...
    Hope this helps,
    Daniel Nguyen
    Freelance Forte Consultant
    Url : http://perso.club-internet.fr/dnguyen/
    [email protected] a &eacute;crit:
    Has anyone tried replicating the partitions that contain the DBService SOs
    from the Business Model (ie. DBSessions)? We are attempting to do this to
    avoid single-threading access to our database and wondered if anyone had
    done this successfully. Thanks for your help.
    For the archives, go to: http://lists.sageit.com/forte-users and use
    the login: forte and the password: archive. To unsubscribe, send in a new
    email the word: 'Unsubscribe' to: [email protected]

Maybe you are looking for

  • How can I make CONTAINS query work for a date range

    In either 9i or 10g (eventual). I have a CONTEXT index that contains multiple columns from multiple tables and using a USER_DATASTORE. E.g., I have names that come from 3 different table locations and dates that come from 4. I can index them fine but

  • Getting my application domain

    Been searching all morning trying to find a example of the ApplicationDomain funciton in Flash AS3. So far none have given me the desired result. I am trying to retrieve the domain my swf is running in only. I need to set variables (STRINGS) accordin

  • Search in a collection of XMLs

    Hello to all, I have a table (CLOB type) that contains a big collection of XMLs. A simple search on this column is too slow. Could you please provide me a list of possible solutions in order to make the search faster. 1. Using Oracle text possibly? 2

  • Fiels changed in a web application

    Hello:           I ahve a cluster in which a web application is clustered ( weblogic 70           sp1) in exploded format.           There are fiels that chanegs in the web application ( otehr than the           jsp) and I would like this to be commu

  • Peoplesoft Project migration from version(PT8.48) to lower version(PT8.45)

    Hi all I would like to know the migration of a project from higher version to lower version for example PeopleTools 8.49 or 8.48 to PeopleTools 8.43 or 8.44 or 8.45 and the application HR 9.0 or8.9 to HR8.8 Any idea of this ! Look forward to here you