Re: [Re: (forte-users) formatting Percents]

You can create a Domain Class for this and manipulate the setvalue and
FillString methods to do this. You can see the help for knowing more about
this.
--Krishna
"Natarajan Balasubramanian" <[email protected]> wrote:
You may use virtual attribute mapping to your real attribute having .08 and
in the getvalue method of the virtual attribute change the real attribute
value to show as 8%.
Hope this helps,
Nat Balasubramanian.
From: "Fingerhut, Eric" <[email protected]>
To: "'[email protected]'" <[email protected]>
Subject: (forte-users) formatting Percents
Date: Wed, 20 Oct 1999 11:26:51 -0400
I want to provide the option for a user to display values in percents or
not, and finding this surprisingly tricky.
Although its easy to make a DecimalData with a value of .08 look like 8% by
changing the scale and multiplying by its value by 100, I don't see how to
do this in a way that the variable still knows its value is .08.
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]

You can create a Domain Class for this and manipulate the setvalue and
FillString methods to do this. You can see the help for knowing more about
this.
--Krishna
"Natarajan Balasubramanian" <[email protected]> wrote:
You may use virtual attribute mapping to your real attribute having .08 and
in the getvalue method of the virtual attribute change the real attribute
value to show as 8%.
Hope this helps,
Nat Balasubramanian.
From: "Fingerhut, Eric" <[email protected]>
To: "'[email protected]'" <[email protected]>
Subject: (forte-users) formatting Percents
Date: Wed, 20 Oct 1999 11:26:51 -0400
I want to provide the option for a user to display values in percents or
not, and finding this surprisingly tricky.
Although its easy to make a DecimalData with a value of .08 look like 8% by
changing the scale and multiplying by its value by 100, I don't see how to
do this in a way that the variable still knows its value is .08.
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]

Similar Messages

  • RE: (forte-users) Formatting a number

    Thank you. That worked out great.
    ka
    -----Original Message-----
    From: Thompson Ian [mailto:Ian.Thompsonicl.com]
    Sent: Friday, February 18, 2000 9:35 AM
    To: 'Amin, Kamran'; 'Forte User'
    Subject: RE: (forte-users) Formatting a number
    Ka,
    Try using TextFormat in combination with NumericFormat - like this:
    strfmt : TextFormat = new;
    numfmt : NumericFormat = new;
    number : IntegerData = new;
    numberastext : TextData;
    numfmt.Template='L0000000';
    strfmt.Template='A###-####';
    number.SetValue(source = 23456);
    // Format the number into a TextData.
    numberastext=strfmt.FormatText(source = numfmt.FormatNumeric(source =
    number));
    You may have tried this already, but I hope it helps.
    Regards
    Iain
    -----Original Message-----
    From: Amin, Kamran [mailto:kamran.aminframeworkinc.com]
    Sent: 18 February 2000 13:37
    To: 'Forte User'
    Subject: (forte-users) Formatting a number
    I like to format a number as follows:
    L###-#### - Where a number like 23456 would format to L002-3456.
    Is there any way to do this in Forte using the NumericFormat object.
    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

    Thank you. That worked out great.
    ka
    -----Original Message-----
    From: Thompson Ian [mailto:Ian.Thompsonicl.com]
    Sent: Friday, February 18, 2000 9:35 AM
    To: 'Amin, Kamran'; 'Forte User'
    Subject: RE: (forte-users) Formatting a number
    Ka,
    Try using TextFormat in combination with NumericFormat - like this:
    strfmt : TextFormat = new;
    numfmt : NumericFormat = new;
    number : IntegerData = new;
    numberastext : TextData;
    numfmt.Template='L0000000';
    strfmt.Template='A###-####';
    number.SetValue(source = 23456);
    // Format the number into a TextData.
    numberastext=strfmt.FormatText(source = numfmt.FormatNumeric(source =
    number));
    You may have tried this already, but I hope it helps.
    Regards
    Iain
    -----Original Message-----
    From: Amin, Kamran [mailto:kamran.aminframeworkinc.com]
    Sent: 18 February 2000 13:37
    To: 'Forte User'
    Subject: (forte-users) Formatting a number
    I like to format a number as follows:
    L###-#### - Where a number like 23456 would format to L002-3456.
    Is there any way to do this in Forte using the NumericFormat object.
    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

  • Re: (forte-users) Formatting DecimaNullable withTemplate

    Hello Fabrizio,
    i don't look at your window, but we has the problem to check the input of a
    DecimalData
    with a specific mask. If the user type in wrong data (prescale/sucscale)
    then we have
    to inform the user and discard the changes.
    E.g. template='##,##'
    User types 5,123 Exception (Too many sucscale)
    User types -5,12 Exception (no Minus allowed)
    User types 123, Exception (Too many prescale)
    User types 12,12 No Exception (Value is accepted)
    User types 12,12+ No Exception (Value is accepted)
    The template check is implemented in the FillString/SetValue method of an
    inherited DecimalNullable-Class. I am wondering, if it is not possible to
    find a way
    reacting on your behaviour. You use a Domain.
    1. You have to implement the SetValue/Fillstring method for this domain.
    2. You must turn on KeyStroke reacting.
    3. You have to implement an EventHandler for reacting on the input which must
    be registered on your Display-based Event-Loop.
    4. MayBe som Code must be called from your Domain-Class on AfterValueChange
    Event
    at your Domain.
    A lot of work, i know. Maybe a lot of code for every Domain-Use in your
    Event-Loop. We
    made an Enhancement-Request for our problem, but there ar no solution now
    (2 years).
    The next problem you may have, if you use many attributes in your Domain.
    Because
    the transport (Serialize/Deserialize/Allocation) eats a lot of Performance.
    Direct filling from Database maybe a risk (SetValue-method with Parameter
    string).
    You have to check if you fill your class from implizit methods
    (GetValue-Method from
    DBDataSet) and so on that no code will running (Performance).
    Good Luck
    Joseph Mirwald
    PS: Use Decode-Method if possible instead of own implementation of
    string-manipulation
    because Framework-Lib-Calls ar much mor performant.
    At 11:19 17.02.01 +0100, Genesio, Fabrizio wrote:
    Hallo there,
    I wonder if there is someone who ever tried to obtain the following
    behavior.
    Using a user-defined domain based on a DecimalNullable, we would like to
    set the input mask (and/or its template) in order to have the widget
    behaving like a normal desk or pocket calculator. That is when start
    typing, you enter the integer part of the number (with thousand
    separator), and only when the dot is entered, you can type in the
    decimal part.
    We tried different templates but we never got what we want. Moreover,
    using 3.0.N.0 we also discovered a bug while using as first character
    in the template.
    Enclosed there is a little test window.
    Is there anybody who could help?
    Thank you in advance for your attention
    Ciao,
    Fabrizio Genesio
    Datasign AG f&uuml;r Informatik
    fabrizio.genesiodatasign.ch <mailto:fabrizio.genesiodatasign.ch>
    <<Atest.zip>>

    Thank you Joseph and thank you Zenon, for your answers.
    Yes, we tried with domain, implementing the FillString/Setvalue methods,
    and using the Decode method. And indeed is the decode method that always
    (no matter which regional settings you have) round the decimal part to 2
    digit.
    Nonetheless, I would be interested to receive if possible the domain you
    implemented, Joseph. We may still discover something... ;-)
    Thank you
    Fabrizio Genesio
    Datasign AG f&uuml;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: Joseph Mirwald [SMTP:jomirweb.de]
    Sent: Saturday, 17 February 2001 12:32
    To: Genesio, Fabrizio; 'forte-userslists.xpedior.com'
    Subject: Re: (forte-users) Formatting DecimaNullable with
    Template
    Hello Fabrizio,
    i don't look at your window, but we has the problem to check the
    input of a
    DecimalData
    with a specific mask. If the user type in wrong data
    (prescale/sucscale)
    then we have
    to inform the user and discard the changes.
    E.g. template='##,##'
    User types 5,123 Exception (Too many sucscale)
    User types -5,12 Exception (no Minus allowed)
    User types 123, Exception (Too many prescale)
    User types 12,12 No Exception (Value is
    accepted)
    User types 12,12+ No Exception (Value is
    accepted)
    The template check is implemented in the FillString/SetValue
    method of an
    inherited DecimalNullable-Class. I am wondering, if it is not
    possible to
    find a way
    reacting on your behaviour. You use a Domain.
    1. You have to implement the SetValue/Fillstring method for this
    domain.
    2. You must turn on KeyStroke reacting.
    3. You have to implement an EventHandler for reacting on the
    input which must
    be registered on your Display-based Event-Loop.
    4. MayBe som Code must be called from your Domain-Class on
    AfterValueChange
    Event
    at your Domain.
    A lot of work, i know. Maybe a lot of code for every Domain-Use
    in your
    Event-Loop. We
    made an Enhancement-Request for our problem, but there ar no
    solution now
    (2 years).
    The next problem you may have, if you use many attributes in
    your Domain.
    Because
    the transport (Serialize/Deserialize/Allocation) eats a lot of
    Performance.
    Direct filling from Database maybe a risk (SetValue-method with
    Parameter
    string).
    You have to check if you fill your class from implizit methods
    (GetValue-Method from
    DBDataSet) and so on that no code will running (Performance).
    Good Luck
    Joseph Mirwald
    PS: Use Decode-Method if possible instead of own implementation
    of
    string-manipulation
    because Framework-Lib-Calls ar much mor performant.
    At 11:19 17.02.01 +0100, Genesio, Fabrizio wrote:
    >Hallo there,
    >
    >I wonder if there is someone who ever tried to obtain the
    following
    >behavior.
    >Using a user-defined domain based on a DecimalNullable, we
    would like to
    >set the input mask (and/or its template) in order to have the
    widget
    >behaving like a normal desk or pocket calculator. That is when
    start
    >typing, you enter the integer part of the number (with thousand
    >separator), and only when the dot is entered, you can type in
    the
    >decimal part.
    >
    >We tried different templates but we never got what we want.
    Moreover,
    >using 3.0.N.0 we also discovered a bug while using as first
    character
    >in the template.
    >
    >Enclosed there is a little test window.
    >
    >Is there anybody who could help?
    >
    >Thank you in advance for your attention
    >
    >Ciao,
    >
    >Fabrizio Genesio
    >Datasign AG f&uuml;r Informatik
    >fabrizio.genesiodatasign.ch
    <mailto:fabrizio.genesiodatasign.ch>
    >
    > <<Atest.zip>>

  • RE: (forte-users) Domain Classes

    Hi,
    This thread coinsides with a recent posting I made on formatting percents
    (attached at end).
    The complication here is that the data field is part of an array field and
    is:
    1) editable
    2) part of an array of BObjects that are mapped to the array field
    There is no separation therefore between a BO and a DO, at least in the
    current implementation. Furthermore, the user may or may not want percent to
    be the display format. What I think I need is one field that actually has
    two values, a display value and a 'true' value, and each would probably need
    its own numeric format as well (one for data entry and one for display).
    I've never used a domain class, but do you know if such a beast be possible?
    -----Original Message-----
    I want to provide the option for a user to display values in percents or
    not, and finding this surprisingly tricky.
    Although its easy to make a DecimalData with a value of .08 look like 8% by
    changing the scale and multiplying by its value by 100, I don't see how to
    do this in a way that the variable still knows its value is .08.

    Jason,
    Domain Classes can also store FieldWidget information associated with them.
    For example, Widget type, Max Characters, Input Mask, Size Policy, Help
    Text, etc. This means that when a developer adds the domain to the window
    workshop it will automatically have all the settings that were previously
    defined on the domain, therefore giving a standard look and feel, as well
    as, behaviour(fillstring and SetValue).
    Regards,
    Allister
    Xpedior
    www.xpedior.com
    Ph: +61-8-9320-7604
    Fax: +61-8-9486-8650
    -----Original Message-----
    From: Jason de Cean [mailto:[email protected]]
    Sent: Thursday, 21 October 1999 9:30
    To: 'Forte Users'
    Subject: (forte-users) Domain Classes
    Hi,
    Can anyone tell me the advantage of using a domain class ?
    We have subclassed DecimalData (FormattedDecimal) and overridden the
    FillString and SetValue methods to implement other formatting. This is
    then used as an attribute on our data classes and appears to work fine
    when mapped to forms.
    So, why would we use a Domain Class instead of just sub classing
    DecimalData ?
    Jace.
    Jason de Cean
    Genisys Team
    Lumley Technology Ltd.
    Lvl. 8, 55 Sussex St
    Sydney, NSW 2000 Australia
    Ph: 02 9248 1321
    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) Minimal Fusion

    Thomas,
    A response which may contain no answers...and may lead to more questions...
    As a novice fusion user, one of the largest obstacles to using Fusion is the lack of XML API's in an application, be it a customer's in-house or vendor's software product. Corresponding to this is simply the lack of any API's in the application. As Forte (abet Sun, now iPlanet) says in their training manual 'A nontrivial task is to build new adapters for your programs if you wish to enable them to interact using XML documents over HTTP'. This is probably an understatement.
    The question that come to mind is:
    Does the warehouse have published API's their product?
    If not, then, IMHO, you have steep hill to climb, not the least being communication, cooperation, and coordination from the warehouse vendor (another one of those 'nontrivial tasks') in trying to create the required API's
    if so, then it is a matter of building an adapter, in a language that is compatible with the warehouse's API (hopefully C or some derivation of) , that contains (1) a DOM (Document Object Module) to API Translator, (2) an XML Parser (converts XML to DOM and visa-versa) , and (3) a HTTP server (again, another one of those 'nontrivial tasks').
    Forte (abet Sun, now iPlanet) suggests, and I would concur (with reservations), that if you haven't done this before you should probably hire their services from the Forte Integration Services group. Their costs (admittible high) should be offset be the time it would take to develop one on your own. A side benefit is working with them, you learn the process for making other adapters in the future. If Fusion is a marketing success, then the benefits should out weigh the costs.
    The Forte Integration Services group markets, or will market, a Fusion Adapter Designer, some sort of a SDK, which assists in the creation of Adapters. I do not know the availability of that product at this time.
    As to your question "Is it reasonable to consider doing this project under Fusion as a
    getting-feet-wet experience?" If you (or your customer) can afford the costs, and the warehouse has published API's, I would say that you gotta get-your-feet-wet somehow. If the warehouse doesn't have published API's and are not willing to put forth the effort and resources to do so, I would say your chances of success are considerably less.
    In any case, IMHO, it will be a 'non trivial' undertaking.
    -later
    -labeaux
    "Thomas Mercer-Hursh, Ph.D." <thomascintegrity.com> 10/31/00 04:49PM >>>This may be one of those questions which has no answer, but ...
    Our long term plan is to develop XML APIs to each of the modules in our
    suite of non-Forte applications and to integrate these under Fusion, thus
    gaining Conductor management of the inter-module work flows and a cleaner
    loose coupling of the applications along with other benefits such as the
    ease of integration with other packages, a clean way to migrate to Forte
    modules, and an ease of interconnecting "mini-applications" to address
    specific customer needs.
    I have an existing customer who has made a decision to migrate to a third
    party warehouse from an in-house warehouse. I.e., were this transition to
    the new structure complete, this would correspond to unhooking some of our
    modules and replacing these with an adapter to the corresponding modules in
    the third party warehouse.
    In fact, as it looks now, I will need to build the logical equivalent of
    these APIs anyway -- might as well do it in XML, right? And these APIs
    will communicate with a daemon responsible for the message traffic to and
    from. I tried to get this traffic to be XML and to use MQSeries or JMS as
    the transport, but the folks at the warehouse end don't seem to be able to
    handle such things, so I am stuck doing something fairly stupid for the
    actual communication.
    So, the question for those out there who have already paid their Fusion
    dues, is it reasonable to consider doing this project under Fusion as a
    getting-feet-wet experience. There are only half a dozen APIs to do and I
    have to do those anyway and am inclined to make them XML regardless. There
    will be one communication daemon to which all these connect and the
    business processes originally implemented in Conductor will basically be
    just point to point connects, except for routing traffic from the daemon to
    the right API based on message type. That's really all I need it to do,
    i.e., far too simple to actually need Fusion, but a possible opportunity
    to get started and then to expand to other uses.
    Crazy?
    =========================================================================
    Thomas Mercer-Hursh, Ph.D email: thomascintegrity.com
    Computing Integrity, Inc. sales: 510-233-9329
    550 Casey Drive - Cypress Point support: 510-233-9327
    Point Richmond, CA 94801-3751 fax: 510-233-6950
    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

    At 07:55 AM 11/1/00, Labeaux Schiek wrote:
    As a novice fusion user, one of the largest obstacles to using Fusion is
    the lack of XML API's in an application, be it a customer's in-house or
    vendor's software product.In this case, the good news is that one of the applications in question is
    our own, so whipping up an XML API to suit each required transaction on
    that side is no more, probably less, work than importing or exporting a
    flat file or whatever. Moreover, my current expectation of how this
    interaction will work is something like this:
    </pre>
    ---Fusion------
    | |
    WACS<-->WACS_Daemon<----VPN socket
    connection---->IS_Daemon I/S
    </pre>
    I.e., I/S, our application, and the IS_Daemon which handles the connection
    traffic across the internet link are both mine. For I/S, I will create XML
    APIs to suit. For the IS_daemon, I might use the transform facilities to
    convert this XML to the pipe-delimited format they are expected at the
    other end and make the daemon a simple manager of the connection or, the
    daemon could do the conversion, but the former seems like the more
    appropriate approach. The API between the two daemons is something we are
    defining now (unfortunately I lost the argument to make that XML).
    Corresponding to this is simply the lack of any API's in the
    application. As Forte (abet Sun, now iPlanet) says in their training
    manual 'A nontrivial task is to build new adapters for your programs if
    you wish to enable them to interact using XML documents over HTTP'.My neophyte understanding is that, since I am defining the API to I/S in
    the diagram above and I can make this XML, then the adapter issue
    disappears there. I might have to create an adapter for the daemon, but if
    necessary, I could make that the same XML on a pass through and do the
    translation in the daemon.
    If not, then, IMHO, you have steep hill to climb, not the least being
    communication, cooperation, and coordination from the warehouse vendor
    (another one of those 'nontrivial tasks') in trying to create the required
    API'sWe are well through this process anyway. ... which is not to say that it
    has been or will be easy, but it must be done whether I use Fusion or
    not. Given that the vote has gone in favor of simple messages of
    pipe-delimited records, i.e., basically flat file, the technical issues
    there are minimal.
    if so, then it is a matter of building an adapter, in a language that is
    compatible with the warehouse's API (hopefully C or some derivation of) ,
    that contains (1) a DOM (Document Object Module) to API Translator, (2)
    an XML Parser (converts XML to DOM and visa-versa) , and (3) a HTTP server
    (again, another one of those 'nontrivial tasks').I'm not sure I quite understand what you are saying here. The HTTP part
    won't be there since we will apparently be connecting via a VPN sockets
    connection. But, how are you distinguishing DOM and XML since DOM is a
    particular form of XML? The XML API I build for I/S will be DOM compliant.
    Forte (abet Sun, now iPlanet) suggests, and I would concur (with
    reservations), that if you haven't done this before you should probably
    hire their services from the Forte Integration Services group. Their
    costs (admittible high) should be offset be the time it would take to
    develop one on your own. A side benefit is working with them, you learn
    the process for making other adapters in the future. If Fusion is a
    marketing success, then the benefits should out weigh the costs.I am familiar with the "party" line. If I were building a complete
    interface to another major product (I/S is roughly equivalent to JDEC in
    coverage) in the context of an EAI project, I would happily invite them in
    and hope to pick up pointers. Here, though, there are only 8 or 9 total
    transaction types and either all of the interfaces are XML, i.e., no
    adapter required as I understand it, or only the daemon will need an
    adapter and that will be a choice I can make depending on how things
    go. One does wish it were possible to sample a small piece of that
    knowledge store without having to buy the whole thing, though.
    The Forte Integration Services group markets, or will market, a Fusion
    Adapter Designer, some sort of a SDK, which assists in the creation of
    Adapters. I do not know the availability of that product at this time.Last I checked, one couldn't get this without the consulting ... hence the
    last sentence above.
    Thanks for your input.
    =========================================================================
    Thomas Mercer-Hursh, Ph.D email: thomascintegrity.com
    Computing Integrity, Inc. sales: 510-233-9329
    550 Casey Drive - Cypress Point support: 510-233-9327
    Point Richmond, CA 94801-3751 fax: 510-233-6950

  • Re: [(forte-users) Need help w/SQL to Informix using anarray in WHERE c

    Bob.
    That syntax isn't know Forte, used Dynamic SQL and coding
    it dynamically. And the SQL statement exceed 255 bytes, divide in 2 or more
    sentences (NameListCity1, NameListCity2, NalmeListCountry1, ...)
    Try with:
    NameListCity = 'city1','city2','city3'...
    NalmeListCountry = 'country1','country2','country3',...
    WHERE
    city in (:NameListCity) and
    country_code in (:NameListCountry)
    Bye.
    "Briggs, Bob" <Bob.Briggsmarriott.com> wrote:
    I'm trying to invoke a query to Informix to select rows that match any of
    the city / country pairs that exist in an array that is passed into the
    method. The SQL itself seems to be OK however it appears that Forte is
    having a problem in parsing the Select statement when it gets to the WHERE
    clause. The resulting exception shows the SQL string formatted properly up
    to the WHERE clause which ends like "WHERE city". Does anyone know of a way
    to make this type of query work in a single invocation? I'm trying not to
    issue multiple queries as would be the case if I used Dynamic SQL and coding
    it dynamically with multiple OR statements is not really an option since the
    overall length of the SQL statement cannot exceed 256 bytes. I have included
    an example of the code below, any insight would be greatly appreciated.
    SQL SELECT address1 tnAddress, city tnCity, state tnState, zipcode
    tnZipcode,
    hotel_code tnHotel_Code, name tnHotelName, product_code
    tnProduct_code, loc_type tnLoc_Type,
    phone tnPhone, country_code tnCountry
    INTO
    :po_aboLocator
    FROM
    Hotel
    WHERE
    city in :pi_aboNickNameList[*].sCityName and
    country_code in :pi_aboNickNameList[*].sCountryCode
    ON SESSION getDBSession();
    Thank you very much,
    Bob
    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

    Bob.
    That syntax isn't know Forte, used Dynamic SQL and coding
    it dynamically. And the SQL statement exceed 255 bytes, divide in 2 or more
    sentences (NameListCity1, NameListCity2, NalmeListCountry1, ...)
    Try with:
    NameListCity = 'city1','city2','city3'...
    NalmeListCountry = 'country1','country2','country3',...
    WHERE
    city in (:NameListCity) and
    country_code in (:NameListCountry)
    Bye.
    "Briggs, Bob" <Bob.Briggsmarriott.com> wrote:
    I'm trying to invoke a query to Informix to select rows that match any of
    the city / country pairs that exist in an array that is passed into the
    method. The SQL itself seems to be OK however it appears that Forte is
    having a problem in parsing the Select statement when it gets to the WHERE
    clause. The resulting exception shows the SQL string formatted properly up
    to the WHERE clause which ends like "WHERE city". Does anyone know of a way
    to make this type of query work in a single invocation? I'm trying not to
    issue multiple queries as would be the case if I used Dynamic SQL and coding
    it dynamically with multiple OR statements is not really an option since the
    overall length of the SQL statement cannot exceed 256 bytes. I have included
    an example of the code below, any insight would be greatly appreciated.
    SQL SELECT address1 tnAddress, city tnCity, state tnState, zipcode
    tnZipcode,
    hotel_code tnHotel_Code, name tnHotelName, product_code
    tnProduct_code, loc_type tnLoc_Type,
    phone tnPhone, country_code tnCountry
    INTO
    :po_aboLocator
    FROM
    Hotel
    WHERE
    city in :pi_aboNickNameList[*].sCityName and
    country_code in :pi_aboNickNameList[*].sCountryCode
    ON SESSION getDBSession();
    Thank you very much,
    Bob
    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) Optimal number of records to fetch fromForte C ursor

    The reason why a single fetch of 20.000 records performs less then
    2 fetches of 10.000 might be related to memory behaviour. Do you
    keep the first 10.000 records in memory when you fetch the next
    10.000? If not, then a single fetch of 20.000 records requires more
    memory then 2 fetches of 10.000. You might have some extra over-
    head of Forte requesting additional memory from the OS, garbage
    collections just before every request for memory and maybe even
    the OS swapping some memory pages to disk.
    This behaviour can be controlled by modifying the Minimum memory
    and Maximum memory of the partition, as well as the memory chunk
    size Forte uses to increment its memory.
    Upon partition startup, Forte requests the Minimum memory from the
    OS. Whithin this area, the actual memory being used grows, until
    it hits the ceiling of this space. This is when the garbage collector
    kicks in and removes all unreferenced objects. If this does not suffice
    to store the additional data, Forte requests 1 additional chunk of a
    predefined size. Now, the same behaviour is repeated in this, slightly
    larger piece of memory. Actual memory keeps growing until it hits
    the ceiling, upon which the garbage collector removes all unrefer-
    enced objects. If the garbage collector reduces the amount of
    memory being used to below the original Miminum memory, Forte
    will NOT return the additional chunk of memory to the OS. If the
    garbage collector fails to free enough memory to store the new data,
    Forte will request an additional chunk of memory. This process is
    repeated untill the Maximum memory is reached. If the garbage
    collector fails to free enough memory at this point, the process
    terminates gracelessly (which is what happens sooner or later when
    you have a memory leak; something most Forte developpers have
    seen once or twice).
    Pascal Rottier
    STP - MSS Support & Coordination Group
    Philip Morris Europe
    e-mail: [email protected]
    Phone: +49 (0)89-72472530
    +++++++++++++++++++++++++++++++++++
    Origin IT-services
    Desktop Business Solutions Rotterdam
    e-mail: [email protected]
    Phone: +31 (0)10-2428100
    +++++++++++++++++++++++++++++++++++
    /* All generalizations are false! */
    -----Original Message-----
    From: [email protected] [SMTP:[email protected]]
    Sent: Monday, November 15, 1999 6:53 PM
    To: [email protected]
    Subject: (forte-users) Optimal number of records to fetch from Forte
    Cursor
    Hello everybody:
    I 'd like to ask a very important question.
    I opened Forte cursor with approx 1.2 million records, and now I am trying
    to figure out the number of records per fetch to obtain
    the acceptable performance.
    To my surprise, fetching 100 records at once gave me approx 15 percent
    performance gain only in comparsion
    with fetching records each by each.
    I haven't found significant difference in performance fetching 100, 500
    or
    10.000 records at once.In the same time, fetching 20.000
    records at once make a performance approx 20% worse( this fact I cannot
    explain).
    Does anybody have any experience in how to improve performance fetching
    from
    Forte cursor with big number of rows ?
    Thank you in advance
    Genady Yoffe
    Software Engineer
    Descartes Systems Group Inc
    Waterloo On
    Canada
    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 Kieran,
    According to your description, you are going to figure out what is the optimal number of records per partition, right? As per my understanding, this number was change by your hardware. The better hardware you have, the more number of records per partition.
    The earlier version of the performance guide for SQL Server 2005 Analysis Services Performance Guide stated this:
    "In general, the number of records per partition should not exceed 20 million. In addition, the size of a partition should not exceed 250 MB."
    Besides, the number of records is not the primary concern here. Rather, the main criterion is manageability and processing performance. Partitions can be processed in parallel, so the more there are the more can be processed at once. However, the more partitions
    you have the more things you have to manage. Here is some links which describe the partition optimization
    http://blogs.msdn.com/b/sqlcat/archive/2009/03/13/analysis-services-partition-size.aspx
    http://www.informit.com/articles/article.aspx?p=1554201&seqNum=2
    Regards,
    Charlie Liao
    TechNet Community Support

  • RE: (forte-users) Optimal number of records to fetch fromForte Cursor

    Guys,
    The behavior (1 fetch of 20000 vs 2 fetches of 10000 each) may also be DBMS
    related. There is potentially high overhead in opening a cursor and initially
    fetching the result table. I know this covers a great deal DBMS technology
    territory here but one explanation is that the same physical pages may have to
    be read twice when performing the query in 2 fetches as compared to doing it in
    one shot. Physical IO is perhaps the most expensive (vis a vis- resources)
    part of a query. Just a thought.
    "Rottier, Pascal" <[email protected]> on 11/15/99 01:34:22 PM
    To: "'Forte Users'" <[email protected]>
    cc: (bcc: Charlie Shell/Bsg/MetLife/US)
    Subject: RE: (forte-users) Optimal number of records to fetch from Forte C
    ursor
    The reason why a single fetch of 20.000 records performs less then
    2 fetches of 10.000 might be related to memory behaviour. Do you
    keep the first 10.000 records in memory when you fetch the next
    10.000? If not, then a single fetch of 20.000 records requires more
    memory then 2 fetches of 10.000. You might have some extra over-
    head of Forte requesting additional memory from the OS, garbage
    collections just before every request for memory and maybe even
    the OS swapping some memory pages to disk.
    This behaviour can be controlled by modifying the Minimum memory
    and Maximum memory of the partition, as well as the memory chunk
    size Forte uses to increment its memory.
    Upon partition startup, Forte requests the Minimum memory from the
    OS. Whithin this area, the actual memory being used grows, until
    it hits the ceiling of this space. This is when the garbage collector
    kicks in and removes all unreferenced objects. If this does not suffice
    to store the additional data, Forte requests 1 additional chunk of a
    predefined size. Now, the same behaviour is repeated in this, slightly
    larger piece of memory. Actual memory keeps growing until it hits
    the ceiling, upon which the garbage collector removes all unrefer-
    enced objects. If the garbage collector reduces the amount of
    memory being used to below the original Miminum memory, Forte
    will NOT return the additional chunk of memory to the OS. If the
    garbage collector fails to free enough memory to store the new data,
    Forte will request an additional chunk of memory. This process is
    repeated untill the Maximum memory is reached. If the garbage
    collector fails to free enough memory at this point, the process
    terminates gracelessly (which is what happens sooner or later when
    you have a memory leak; something most Forte developpers have
    seen once or twice).
    Pascal Rottier
    STP - MSS Support & Coordination Group
    Philip Morris Europe
    e-mail: [email protected]
    Phone: +49 (0)89-72472530
    +++++++++++++++++++++++++++++++++++
    Origin IT-services
    Desktop Business Solutions Rotterdam
    e-mail: [email protected]
    Phone: +31 (0)10-2428100
    +++++++++++++++++++++++++++++++++++
    /* All generalizations are false! */
    -----Original Message-----
    From: [email protected] [SMTP:[email protected]]
    Sent: Monday, November 15, 1999 6:53 PM
    To: [email protected]
    Subject: (forte-users) Optimal number of records to fetch from Forte
    Cursor
    Hello everybody:
    I 'd like to ask a very important question.
    I opened Forte cursor with approx 1.2 million records, and now I am trying
    to figure out the number of records per fetch to obtain
    the acceptable performance.
    To my surprise, fetching 100 records at once gave me approx 15 percent
    performance gain only in comparsion
    with fetching records each by each.
    I haven't found significant difference in performance fetching 100, 500
    or
    10.000 records at once.In the same time, fetching 20.000
    records at once make a performance approx 20% worse( this fact I cannot
    explain).
    Does anybody have any experience in how to improve performance fetching
    from
    Forte cursor with big number of rows ?
    Thank you in advance
    Genady Yoffe
    Software Engineer
    Descartes Systems Group Inc
    Waterloo On
    Canada
    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]

    Hi Kieran,
    According to your description, you are going to figure out what is the optimal number of records per partition, right? As per my understanding, this number was change by your hardware. The better hardware you have, the more number of records per partition.
    The earlier version of the performance guide for SQL Server 2005 Analysis Services Performance Guide stated this:
    "In general, the number of records per partition should not exceed 20 million. In addition, the size of a partition should not exceed 250 MB."
    Besides, the number of records is not the primary concern here. Rather, the main criterion is manageability and processing performance. Partitions can be processed in parallel, so the more there are the more can be processed at once. However, the more partitions
    you have the more things you have to manage. Here is some links which describe the partition optimization
    http://blogs.msdn.com/b/sqlcat/archive/2009/03/13/analysis-services-partition-size.aspx
    http://www.informit.com/articles/article.aspx?p=1554201&seqNum=2
    Regards,
    Charlie Liao
    TechNet Community Support

  • RE: (forte-users) Accelerator keys under MS Windows95/98/NT

    This message is in MIME format. Since your mail reader does not understand
    this format, some or all of this message may not be legible.
    ------_=_NextPart_001_01BEF001.9C8C0B50
    Content-Type: text/plain
    Unfortunately, ALT key is not recognized as a validkey modifier on Windows
    That isn't entirely true. The ALT key is recognized. I've used it
    successfully
    under Windows 95 and NT. The only annoying side-effect is that you get the
    standard operating system beep when you perform the keypress.
    -----Original Message-----
    From: "Ajith Kallambella" [SMTP:[email protected]]
    Sent: Thursday, August 26, 1999 1:43 PM
    To: "[email protected]" [SMTP:[email protected]];
    "[email protected]" [SMTP:[email protected]]
    Subject: Re: (forte-users) Accelerator keys under MS Windows 95/98/NT
    The Window class has a method named SetAsFunctionKey
    and an event named FunctionKeyPress. When used
    in combination, the former can be used to configure
    various accelerator keys for the window widgets
    and the latter can be used to trap them.
    For more details, take a look at Forte online help.
    Unfortunately, ALT key is not recognized as a valid
    key modifier on Windows, but is only available on
    Unix and VMS - for reasons beyond my comprehension :(
    Hope this helps
    Ajith Kallambella M.
    Forte Systems Consultant.
    From: "Burns, Troy" <[email protected]>
    To: "'[email protected]'" <[email protected]>
    Subject: (forte-users) Accelerator keys under MS Windows 95/98/NT
    Date: Thu, 26 Aug 1999 13:56:07 -0400
    Let's say I have a pushbutton on a window and I've given it
    label text of "&Search". In past developer-lives, the ampersand
    is what gives the button the ability to respond to ALT-S. This
    doesn't appear to be the case in Forte. What do I need to do
    to make this work?
    Thanks in advance,
    Troy Burns
    E-mail: [email protected]
    Marriott Vacation Club International
    941-688-7700 ext. 4408
    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]
    ------_=_NextPart_001_01BEF001.9C8C0B50
    Content-Type: text/html
    Content-Transfer-Encoding: quoted-printable
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
    <HTML>
    <HEAD>
    <DEFANGED-META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
    charset=3Dus-ascii">
    <DEFANGED-META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
    5.5.2448.0">
    <DEFANGED-TITLE>RE: (forte-users) Accelerator keys under MS Windows =
    95/98/NT</TITLE>
    </HEAD>
    <BODY>
    <P><FONT SIZE=3D2>&gt; Unfortunately, ALT key is not recognized as a =
    valid</FONT>
    <BR><FONT SIZE=3D2>key modifier on Windows</FONT>
    </P>
    <P><FONT SIZE=3D2>That isn't entirely true. The ALT key is recognized. =
    I've used it successfully</FONT>
    <BR><FONT SIZE=3D2>under Windows 95 and NT. The only annoying =
    side-effect is that you get the</FONT>
    <BR><FONT SIZE=3D2>standard operating system beep when you perform the =
    keypress.</FONT>
    </P>
    <P><FONT SIZE=3D2>-----Original Message-----</FONT>
    <BR><FONT SIZE=3D2>From: &quot;Ajith Kallambella&quot; =
    [SMTP:[email protected]] </FONT>
    <BR><FONT SIZE=3D2>Sent: Thursday, August 26, 1999 1:43 PM</FONT>
    <BR><FONT SIZE=3D2>To: &quot;[email protected]&quot; =
    [SMTP:[email protected]];</FONT>
    <BR><FONT SIZE=3D2>&quot;[email protected]&quot; =
    [SMTP:[email protected]]</FONT>
    <BR><FONT SIZE=3D2>Subject: Re: (forte-users) Accelerator keys under MS =
    Windows 95/98/NT</FONT>
    </P>
    <BR>
    <P><FONT SIZE=3D2>The Window class has a method named =
    SetAsFunctionKey</FONT>
    <BR><FONT SIZE=3D2>and an event named FunctionKeyPress. When =
    used</FONT>
    <BR><FONT SIZE=3D2>in combination, the former can be used to =
    configure</FONT>
    <BR><FONT SIZE=3D2>various accelerator keys for the window =
    widgets</FONT>
    <BR><FONT SIZE=3D2>and the latter can be used to trap them.</FONT>
    </P>
    <P><FONT SIZE=3D2>For more details, take a look at Forte online =
    help.</FONT>
    </P>
    <P><FONT SIZE=3D2>Unfortunately, ALT key is not recognized as a =
    valid</FONT>
    <BR><FONT SIZE=3D2>key modifier on Windows, but is only available =
    on</FONT>
    <BR><FONT SIZE=3D2>Unix and VMS - for reasons beyond my comprehension =
    :(</FONT>
    </P>
    <P><FONT SIZE=3D2>Hope this helps</FONT>
    </P>
    <P><FONT SIZE=3D2>Ajith Kallambella M.</FONT>
    <BR><FONT SIZE=3D2>Forte Systems Consultant.</FONT>
    </P>
    <BR>
    <P><FONT SIZE=3D2>&gt;From: &quot;Burns, Troy&quot; =
    &lt;[email protected]&gt;</FONT>
    <BR><FONT SIZE=3D2>&gt;To: &quot;'[email protected]'&quot; =
    &lt;[email protected]&gt;</FONT>
    <BR><FONT SIZE=3D2>&gt;Subject: (forte-users) Accelerator keys under MS =
    Windows 95/98/NT</FONT>
    <BR><FONT SIZE=3D2>&gt;Date: Thu, 26 Aug 1999 13:56:07 -0400</FONT>
    <BR><FONT SIZE=3D2>&gt;</FONT>
    <BR><FONT SIZE=3D2>&gt;Let's say I have a pushbutton on a window and =
    I've given it</FONT>
    <BR><FONT SIZE=3D2>&gt;label text of &quot;&amp;Search&quot;.  In =
    past developer-lives, the ampersand</FONT>
    <BR><FONT SIZE=3D2>&gt;is what gives the button the ability to respond =
    to ALT-S.  This</FONT>
    <BR><FONT SIZE=3D2>&gt;doesn't appear to be the case in Forte.  =
    What do I need to do</FONT>
    <BR><FONT SIZE=3D2>&gt;to make this work?</FONT>
    <BR><FONT SIZE=3D2>&gt;</FONT>
    <BR><FONT SIZE=3D2>&gt;Thanks in advance,</FONT>
    <BR><FONT SIZE=3D2>&gt;</FONT>
    <BR><FONT =
    SIZE=3D2>&gt;---------------------------------------------</FONT>
    <BR><FONT SIZE=3D2>&gt;Troy Burns</FONT>
    <BR><FONT SIZE=3D2>&gt;E-mail: [email protected]</FONT>
    <BR><FONT SIZE=3D2>&gt;Marriott Vacation Club International</FONT>
    <BR><FONT SIZE=3D2>&gt;941-688-7700 ext. 4408</FONT>
    <BR><FONT SIZE=3D2>&gt;</FONT>
    <BR><FONT SIZE=3D2>&gt;--</FONT>
    <BR><FONT SIZE=3D2>&gt;For the archives, go to: <A =
    HREF=3D"<a href=
    "http://lists.sageit.com/forte-users">http://lists.sageit.com/forte-users</a>" =
    TARGET=3D"_blank">http://lists.sageit.com/forte-users</A> and =
    use</FONT>
    <BR><FONT SIZE=3D2>&gt;the login: forte and the password: archive. To =
    unsubscribe, send in a new</FONT>
    <BR><FONT SIZE=3D2>&gt;email the word: 'Unsubscribe' to: =
    [email protected]</FONT>
    <BR><FONT SIZE=3D2>&gt;</FONT>
    </P>
    <BR>
    <P><FONT =
    SIZE=3D2>_______________________________________________________________=
    </FONT>
    <BR><FONT SIZE=3D2>Get Free Email and Do More On The Web. Visit <A =
    HREF=3D"<a href="http://www.msn.com">http://www.msn.com</a>" =
    TARGET=3D"_blank">http://www.msn.com</A></FONT>
    </P>
    <P><FONT SIZE=3D2>--</FONT>
    <BR><FONT SIZE=3D2>For the archives, go to: <A =
    HREF=3D"<a href=
    "http://lists.sageit.com/forte-users">http://lists.sageit.com/forte-users</a>" =
    TARGET=3D"_blank">http://lists.sageit.com/forte-users</A> and =
    use</FONT>
    <BR><FONT SIZE=3D2>the login: forte and the password: archive. To =
    unsubscribe, send in a new</FONT>
    <BR><FONT SIZE=3D2>email the word: 'Unsubscribe' to: =
    [email protected]</FONT>
    </P>
    </BODY>
    </HTML>
    ------_=_NextPart_001_01BEF001.9C8C0B50--

    Hi,Beau Leo, I am having problem installing Oracle9i Database Rel.2 on my pc.
    I read the suggestion and solution you posted for fixing Oracle 8.1.x installation
    probblem, and since my pc also hung at 48% while installing Oracle 9i software,
    I wonder if the same problem in the Oracle8 Vs.Pentium4 also exists for Oracle9i.
    I have Windows2000,256RAM, Pentium3 1Ghz, and 13.8 free diskspace. But the installation always
    hangs at 48%, my computer will just shut down and restart automatically without
    even showing an error message. I have tried installing the Enterprise edition for 3
    times already but everytime encountered the same problem. I've also tried custom installation
    by selecting not to create database, but it also hung.
    Before I started each installation, I always made sure that my registry and environment
    path are cleared and that all the partially-installed Oracle files are deleted.
    I hope that you or anyone who has a solution for this problem could be so kindly to help me out.
    Thank you in advance.
    ailee

  • RE: (forte-users) Any inputs on PutFormulas(...) method ofCrystal Repor

    Hi Jagadish,
    The OLE error code of 0x80020003 translates to "Member not found." This may
    indicate that the parameter is not properly defined as a Parameter field in
    the Crystal Report you're using.
    Additionally, the date format you're using is wrong. Crystal requires that
    you pass a date as "Date(yyyy, mm, dd)." Your example, then, should read:
    l_tdParam : TextData = New();
    l_tdParam.SetValue('Date(2000, 03, 15)');
    l_CrystalRepObj.PutParameterFields(0, l_tdParam.Value);
    I hope this helps.
    -Katie
    Katie Tierney
    Akili Systems Group
    601 Jefferson, Suite 3975
    Houston, Texas 77002
    Office: (713) 655-1400
    Cell: (409) 255-1643
    "The bitterness of poor quality remains long after the sweetness of low
    price is forgotten" --Larry Anderson
    -----Original Message-----
    From: Jagadish_Kumarnacre.com [mailto:Jagadish_Kumarnacre.com]
    Sent: Wednesday, March 15, 2000 9:11 PM
    To: Katie Tierney; kamranaminyahoo.com
    Subject: RE: (forte-users) Any inputs on PutFormulas(...) method of
    Crystal Report's ActiveX object
    Hi Katie,
    I am thankful for your time and effort.
    I have a problem here. I did exactly the way you have suggested, but I get
    this
    exception.
    SYSTEM ERROR: Error during Invoke; status code: -2147352573(0x80020003)
    Class: OLEException with ReasonCode: OLE_ER_RESOURCE
    Last TOOL statement: method DebugState.RaiseException
    The parameter I want to set is a date type. This is the only parameter in
    the
    report.
    First trial:
    l_tdParam : TextData = New();
    l_tdParam.SetValue('03/15/2000');
    l_CrystalRepObj.PutParameterFields(0, l_tdParam.Value);
    Second Trail:
    l_dtdParam : DateTimeData = New();
    l_dtdParam.SetCurrent(DR_DAY);
    l_CrystalRepObj.PutParameterFields(0, l_dtdParam.TextValue.Value);
    Do you think I am going wrong somewhere here. Please suggest.
    Once again, I am thankful for your time and effort.
    Regards,
    Jagadish K Kumar
    May I suggest:
    1. Talk to Forte Consulting and get ReportKit. It's inexpensive, and the
    Forte Consultant can help you get it set up quickly. It's a great product.
    2. The following code has worked for me in the past (I have no way of
    testing it now, but think it should still work):
    // ptd_Parameter_Array is an ARRAY of TextData containing the
    // VALUES to be placed in the parameter fields.
    // Since Crystal Reports uses a zero-based array numbering
    // scheme, we need to set up a counter and set its initial
    // value to 0.
    li_Counter : integer = 0;
    for eachParam in ptd_Parameter_Array do
    self.PutParameterFields(index = li_counter, param2 =
    eachParam.Value);
    li_Counter = li_counter + 1;
    end for;
    The VariantVoidResult is NIL by default, and you shouldn't need to worry
    about it at all. It's the result that the Crystal OCX sends back to Forte.
    The Index starts at 0, and continues to the number of parameters - 1.
    The Param2 value is the string that contains the actual parameter value.
    For example, if I have defined a Crystal parameter called "Country," then I
    would send "USA" as the string value for param2.
    I hope this helps (and I STRONGLY suggest ReportKit).
    Regards,
    -Katie
    Katie Tierney
    Akili Systems Group
    601 Jefferson, Suite 3975
    Houston, Texas 77002
    Office: (713) 655-1400
    Cell: (409) 255-1643
    "The bitterness of poor quality remains long after the sweetness of low
    price is forgotten" --Larry Anderson
    -----Original Message-----
    From: Jagadish_Kumarnacre.com [mailto:Jagadish_Kumarnacre.com]
    Sent: Wednesday, March 15, 2000 9:43 AM
    To: kamranaminyahoo.com
    Subject: (forte-users) Any inputs on PutFormulas(...) method of Crystal
    Report's ActiveX object
    Hi,
    Could someone give me inputs on how to use PutFormulas(index: i2, param2:
    string, _VariantVoidResult = NIL) method of Crystal ActiveX object.
    I want to use this method to modify Crystal Report formulas. I would like to
    know
    1. index parameter - what is the domain, or expected values to this
    parameter
    2. param2 parameter - How to formulate this?; a sample template please;
    3. _VariantVoidResult parameter - what is the significance of this
    parameter?
    A working example will help me a lot.
    Thanks in advance.
    Jagadish K Kumar

    Hi Katie,
    I am thankful for your time and effort.
    I have a problem here. I did exactly the way you have suggested, but I get this
    exception.
    SYSTEM ERROR: Error during Invoke; status code: -2147352573(0x80020003)
    Class: OLEException with ReasonCode: OLE_ER_RESOURCE
    Last TOOL statement: method DebugState.RaiseException
    The parameter I want to set is a date type. This is the only parameter in the
    report.
    First trial:
    l_tdParam : TextData = New();
    l_tdParam.SetValue('03/15/2000');
    l_CrystalRepObj.PutParameterFields(0, l_tdParam.Value);
    Second Trail:
    l_dtdParam : DateTimeData = New();
    l_dtdParam.SetCurrent(DR_DAY);
    l_CrystalRepObj.PutParameterFields(0, l_dtdParam.TextValue.Value);
    Do you think I am going wrong somewhere here. Please suggest.
    Once again, I am thankful for your time and effort.
    Regards,
    Jagadish K Kumar
    May I suggest:
    1. Talk to Forte Consulting and get ReportKit. It's inexpensive, and the
    Forte Consultant can help you get it set up quickly. It's a great product.
    2. The following code has worked for me in the past (I have no way of
    testing it now, but think it should still work):
    // ptd_Parameter_Array is an ARRAY of TextData containing the
    // VALUES to be placed in the parameter fields.
    // Since Crystal Reports uses a zero-based array numbering
    // scheme, we need to set up a counter and set its initial
    // value to 0.
    li_Counter : integer = 0;
    for eachParam in ptd_Parameter_Array do
    self.PutParameterFields(index = li_counter, param2 =
    eachParam.Value);
    li_Counter = li_counter + 1;
    end for;
    The VariantVoidResult is NIL by default, and you shouldn't need to worry
    about it at all. It's the result that the Crystal OCX sends back to Forte.
    The Index starts at 0, and continues to the number of parameters - 1.
    The Param2 value is the string that contains the actual parameter value.
    For example, if I have defined a Crystal parameter called "Country," then I
    would send "USA" as the string value for param2.
    I hope this helps (and I STRONGLY suggest ReportKit).
    Regards,
    -Katie
    Katie Tierney
    Akili Systems Group
    601 Jefferson, Suite 3975
    Houston, Texas 77002
    Office: (713) 655-1400
    Cell: (409) 255-1643
    "The bitterness of poor quality remains long after the sweetness of low
    price is forgotten" --Larry Anderson
    -----Original Message-----
    From: Jagadish_Kumarnacre.com [mailto:Jagadish_Kumarnacre.com]
    Sent: Wednesday, March 15, 2000 9:43 AM
    To: kamranaminyahoo.com
    Subject: (forte-users) Any inputs on PutFormulas(...) method of Crystal
    Report's ActiveX object
    Hi,
    Could someone give me inputs on how to use PutFormulas(index: i2, param2:
    string, _VariantVoidResult = NIL) method of Crystal ActiveX object.
    I want to use this method to modify Crystal Report formulas. I would like to
    know
    1. index parameter - what is the domain, or expected values to this
    parameter
    2. param2 parameter - How to formulate this?; a sample template please;
    3. _VariantVoidResult parameter - what is the significance of this
    parameter?
    A working example will help me a lot.
    Thanks in advance.
    Jagadish K Kumar

  • RE: (forte-users) What could have caused the StopWatch classto r eturn

    Attila
    1. Ops - I DO instantiate it as follows:
    [snip]
    sw : StopWatch = new;
    [snip]
    I missed the "= new" in the orig mail message (cut/past from wrong
    workspace).
    2. LogWriter(deltaT:integer, t1:DateTimeData, t2:DateTimeData)
    [snip]
    task.part.logmgr.put('| ');
    task.part.logmgr.put(deltaT);
    task.part.logmgr.put(' | ');
    task.part.logmgr.put(t1);
    task.part.logmgr.put(' | ');
    task.part.logmgr.put(t2);
    task.part.logmgr.putline(' |');
    [snip]
    OK, it's just a quick 'n dirty but it does the job for testing.
    Regards,
    Dirk
    -----Original Message-----
    From: Attila R&aacute;cz [mailto:[email protected]]
    Sent: Thursday, 7 October 1999 14:35
    To: Haben, Dirk
    Subject: Re: (forte-users) What could have caused the
    StopWatch class to
    return a negative v alue?
    Hi Dirk,
    1. You don't instantiate the StopWatch object!!! So the
    attached code have to
    throw a NIL exception. On my PC it does:
    "Trying to invoke a method on a NIL object (qqos_StopWatch, 1)."
    2. Send the whole LogWriter method for analyzing.
    Attila
    "Haben, Dirk" wrote:
    G'day
    Suppose the following output is produced:
    Loaded Forte Message Catalog 'fortemsg/en_us.cat'
    NLM Startup is Complete - Partition's Locale is 'c'
    Loading partition CollectResponseStatistics_cl0_Client built on 30-Sep-1999
    09:12:28.
    Attached to manager for node BLAH.
    %DiH-I-VERID: CollectResponseStatistics_v371.002
    %DiH-I-BGP, BGP Started...
    %DiH-I, Repeat Interval (in milliseconds) 300000
    %DiH-I, Sample Account Number: 123456
    %DiH-I-BGPSTART, BackgroundProcessing started at: 07-Oct-1999 08:54:16
    | Total Time | Account Fetch | Account Fetch |
    | in milliSeconds | Start Time | Completion Time |
    |-----------------|----------------------|----------------------|
    | -194 | 07-Oct-1999 08:54:16 | 07-Oct-1999 08:54:17 |
    What could cause the stopwatch class to return this negative value? Here is
    the code that is run:
    sw : StopWatch;
    //that line is actual as follows:
    sw : StopWatch = new;
    //*****[Dirk]
    >>
    BP_t1 : DateTimeData = new;
    BP_t2 : DateTimeData = new;
    BP_t1.SetCurrent();
    self.LogWriter('%DiH-I-BGPSTART, BackgroundProcessing started at: ',BP_t1);
    self.LogWriterHeading();
    tmpAcc : account = new;
    sw.fire();
    BP_t1.SetCurrent();
    tmpAcc = self.AccountFetch(aAccountNumber);
    BP_t2.SetCurrent();
    deltaT : Integer = sw.split();
    self.LogWriter(deltaT,BP_t1,BP_t2);
    Oh, and the logwriter is just a formatted logmgr.put(deltaT) ,
    logmgr.put(t1) etc
    Any light on this one much appreciated.
    Thanks,
    Dirk
    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]
    Attila Racz Lufthansa
    Systems Hungary
    BUD LSYH
    E-mail: [email protected] .-``'.
    Tel.: (36 1) 431-2910 .` .' Mazsa ter 2-6.
    Fax : (36 1) 431-2977 _.-' '._ H-1107
    Budapest, Hungary

    Attila
    1. Ops - I DO instantiate it as follows:
    [snip]
    sw : StopWatch = new;
    [snip]
    I missed the "= new" in the orig mail message (cut/past from wrong
    workspace).
    2. LogWriter(deltaT:integer, t1:DateTimeData, t2:DateTimeData)
    [snip]
    task.part.logmgr.put('| ');
    task.part.logmgr.put(deltaT);
    task.part.logmgr.put(' | ');
    task.part.logmgr.put(t1);
    task.part.logmgr.put(' | ');
    task.part.logmgr.put(t2);
    task.part.logmgr.putline(' |');
    [snip]
    OK, it's just a quick 'n dirty but it does the job for testing.
    Regards,
    Dirk
    -----Original Message-----
    From: Attila R&aacute;cz [mailto:[email protected]]
    Sent: Thursday, 7 October 1999 14:35
    To: Haben, Dirk
    Subject: Re: (forte-users) What could have caused the
    StopWatch class to
    return a negative v alue?
    Hi Dirk,
    1. You don't instantiate the StopWatch object!!! So the
    attached code have to
    throw a NIL exception. On my PC it does:
    "Trying to invoke a method on a NIL object (qqos_StopWatch, 1)."
    2. Send the whole LogWriter method for analyzing.
    Attila
    "Haben, Dirk" wrote:
    G'day
    Suppose the following output is produced:
    Loaded Forte Message Catalog 'fortemsg/en_us.cat'
    NLM Startup is Complete - Partition's Locale is 'c'
    Loading partition CollectResponseStatistics_cl0_Client built on 30-Sep-1999
    09:12:28.
    Attached to manager for node BLAH.
    %DiH-I-VERID: CollectResponseStatistics_v371.002
    %DiH-I-BGP, BGP Started...
    %DiH-I, Repeat Interval (in milliseconds) 300000
    %DiH-I, Sample Account Number: 123456
    %DiH-I-BGPSTART, BackgroundProcessing started at: 07-Oct-1999 08:54:16
    | Total Time | Account Fetch | Account Fetch |
    | in milliSeconds | Start Time | Completion Time |
    |-----------------|----------------------|----------------------|
    | -194 | 07-Oct-1999 08:54:16 | 07-Oct-1999 08:54:17 |
    What could cause the stopwatch class to return this negative value? Here is
    the code that is run:
    sw : StopWatch;
    //that line is actual as follows:
    sw : StopWatch = new;
    //*****[Dirk]
    >>
    BP_t1 : DateTimeData = new;
    BP_t2 : DateTimeData = new;
    BP_t1.SetCurrent();
    self.LogWriter('%DiH-I-BGPSTART, BackgroundProcessing started at: ',BP_t1);
    self.LogWriterHeading();
    tmpAcc : account = new;
    sw.fire();
    BP_t1.SetCurrent();
    tmpAcc = self.AccountFetch(aAccountNumber);
    BP_t2.SetCurrent();
    deltaT : Integer = sw.split();
    self.LogWriter(deltaT,BP_t1,BP_t2);
    Oh, and the logwriter is just a formatted logmgr.put(deltaT) ,
    logmgr.put(t1) etc
    Any light on this one much appreciated.
    Thanks,
    Dirk
    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]
    Attila Racz Lufthansa
    Systems Hungary
    BUD LSYH
    E-mail: [email protected] .-``'.
    Tel.: (36 1) 431-2910 .` .' Mazsa ter 2-6.
    Fax : (36 1) 431-2977 _.-' '._ H-1107
    Budapest, Hungary

  • RE: forte-users-digest Digest V00 #186

    Just a follow up to the TIFF Problem.
    Try using the WANG Image edit control (supports 32-bit OLE) Copyright
    Wang Laboratories, Inc. 1995-1996..
    It should be available free on the net or if you have Microsoft Visual
    Studio 6.0 it comes with it. make sure you make the control invisible so
    that it does not show up.
    - Ravi.
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Wednesday, May 17, 2000 8:05 AM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #186
    forte-users-digest Digest Volume 00 : Issue
    186
    Today's Topics:
    RE: forte-users-digest Digest V00 #185
    Intermittent database problems
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    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-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 18:30:00 -0700
    From: "Balakrishna, RavikumarX" <ravikumarx.balakrishnaintel.com>
    To: forte-userslists.xpedior.com, forte-users-digestlists.xpedior.com
    Subject: RE: forte-users-digest Digest V00 #185
    Message-ID:
    <0428AD6295E1D211AC4400A0C969E8A2045C29FAorsmsx43.jf.intel.com>
    Content-Type: text/plain
    Hi,
    The only work around I can see to your problem is to convert the TIFF
    to
    any other format that forte supports. You could use Microsoft's Image
    Composer to do this. As far as I can see your requirement is runtime. I
    would suggest using Windows imaging ( an image edit control, that is an
    active-x control ). Use this control to perform a SaveAs operation on the
    TIFF file to save it as a GIF and then use the converted GIF to place it
    in
    your Forte Object. I know it works in C++ so it should surely work in
    forte too. I don't have the documentation for the image edit control,
    but
    Iam sure there are lot of similar controls out there . And make sure
    you
    save the file in a format that supports mutiple page formats. ( i.e
    prefer
    GIF to BMP when you convert)
    Hope this Helps,
    - Ravi Balakrishna
    Automation Software Engineer
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Tuesday, May 16, 2000 3:05 PM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #185
    forte-users-digest Digest Volume 00 : Issue
    185
    Today's Topics:
    Tiff images again.....
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    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-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 11:07:25 -0400
    From: "Jones, Gail A" <gail.joneseds.com>
    To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
    Subject: Tiff images again.....
    Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
    Content-Type: text/plain;
    charset="iso-8859-1"
    I need to place TIFF images in a Forte Object to display on a client
    window.
    Does anyone have any tips or code that you would be willing to sharethat
    can help me do that. I checked with Forte the other day and found theydo
    not support the TIFF format.
    Thanks much,
    Gail Jones
    EDS Medi-Cal
    Sacramento, Ca.
    End of forte-users-digest Digest V00 Issue #185
    Date: Wed, 17 May 2000 08:34:01 -0600
    From: joe.wolfesasktel.sk.ca
    To: kamranaminyahoo.com
    Subject: Intermittent database problems
    Message-Id: <062568E2.00500AC5.00regn0683nt.sasktel.sk.ca>
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline
    We have a Forte server running on HP_UX 10.2. It connects to an Oracle
    database
    on AIX. Over the past several months we have received intermittent
    failures
    that neither we nor our Oracle support team have been able to resolve
    (example
    below). Prior to the error occuring the partition can be operating
    successfully for several days. When this error occurs the IsConnected
    instrument on the DBSession is still shown as TRUE, and there are no error
    counts on the instruments. After cycling the partition everything runs
    fine for
    between a day and a month. If anybody has a resolution, or even a good
    hunch
    I'd appreciate hearing it.
    Attached to manager for node capri.
    SYSTEM ERROR: OpenCursor failed for SQL statement in project CTISvcs,
    class
    LookUpInfoMgr, method LoadAgent, methodId 4, line 55, error from
    database is:
    ORA-02019: connection description for remote database not found
    Class: qqdb_ResourceException
    Detected at: qqdb_OracleVendorInfo::DoOexn
    Error Time: Wed May 17 07:42:42
    Oracle error: 2019, Server: DBP13, UserName: forte_c3
    Database Statement: select a.cctr_agt_id CareCentreAgentID , a.emp_id
    EmployeeID , a.eff_fr_dat EffectiveFromDate , a.eff_to_dat
    EffectiveToDate
    , a.cctr_agt_gr_id CareCentreGroupID , RTrim ( InitCap ( b.fst_nm )
    EmployeeFirstName , RTrim ( InitCap ( b.srnm ) ) EmployeeLastName
    from
    t_cctr_agt a , t_emp b where a.emp_id = b.emp_id
    Exception occurred (locally) on partition "TServRM1_cl0_Part2",
    (partitionId = A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x31d, taskId =
    [A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x320.777]) in application
    "TServRM1_cl0", pid 24249 on node capri in environment prodenv.
    TIA,
    Joe Wolfe, External Programmer Analyst
    SaskTel
    email: joe.wolfesasktel.sk.ca
    End of forte-users-digest Digest V00 Issue #186

    Just a follow up to the TIFF Problem.
    Try using the WANG Image edit control (supports 32-bit OLE) Copyright
    Wang Laboratories, Inc. 1995-1996..
    It should be available free on the net or if you have Microsoft Visual
    Studio 6.0 it comes with it. make sure you make the control invisible so
    that it does not show up.
    - Ravi.
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Wednesday, May 17, 2000 8:05 AM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #186
    forte-users-digest Digest Volume 00 : Issue
    186
    Today's Topics:
    RE: forte-users-digest Digest V00 #185
    Intermittent database problems
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    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-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 18:30:00 -0700
    From: "Balakrishna, RavikumarX" <ravikumarx.balakrishnaintel.com>
    To: forte-userslists.xpedior.com, forte-users-digestlists.xpedior.com
    Subject: RE: forte-users-digest Digest V00 #185
    Message-ID:
    <0428AD6295E1D211AC4400A0C969E8A2045C29FAorsmsx43.jf.intel.com>
    Content-Type: text/plain
    Hi,
    The only work around I can see to your problem is to convert the TIFF
    to
    any other format that forte supports. You could use Microsoft's Image
    Composer to do this. As far as I can see your requirement is runtime. I
    would suggest using Windows imaging ( an image edit control, that is an
    active-x control ). Use this control to perform a SaveAs operation on the
    TIFF file to save it as a GIF and then use the converted GIF to place it
    in
    your Forte Object. I know it works in C++ so it should surely work in
    forte too. I don't have the documentation for the image edit control,
    but
    Iam sure there are lot of similar controls out there . And make sure
    you
    save the file in a format that supports mutiple page formats. ( i.e
    prefer
    GIF to BMP when you convert)
    Hope this Helps,
    - Ravi Balakrishna
    Automation Software Engineer
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Tuesday, May 16, 2000 3:05 PM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #185
    forte-users-digest Digest Volume 00 : Issue
    185
    Today's Topics:
    Tiff images again.....
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    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-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 11:07:25 -0400
    From: "Jones, Gail A" <gail.joneseds.com>
    To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
    Subject: Tiff images again.....
    Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
    Content-Type: text/plain;
    charset="iso-8859-1"
    I need to place TIFF images in a Forte Object to display on a client
    window.
    Does anyone have any tips or code that you would be willing to sharethat
    can help me do that. I checked with Forte the other day and found theydo
    not support the TIFF format.
    Thanks much,
    Gail Jones
    EDS Medi-Cal
    Sacramento, Ca.
    End of forte-users-digest Digest V00 Issue #185
    Date: Wed, 17 May 2000 08:34:01 -0600
    From: joe.wolfesasktel.sk.ca
    To: kamranaminyahoo.com
    Subject: Intermittent database problems
    Message-Id: <062568E2.00500AC5.00regn0683nt.sasktel.sk.ca>
    Content-Type: text/plain; charset=us-ascii
    Content-Disposition: inline
    We have a Forte server running on HP_UX 10.2. It connects to an Oracle
    database
    on AIX. Over the past several months we have received intermittent
    failures
    that neither we nor our Oracle support team have been able to resolve
    (example
    below). Prior to the error occuring the partition can be operating
    successfully for several days. When this error occurs the IsConnected
    instrument on the DBSession is still shown as TRUE, and there are no error
    counts on the instruments. After cycling the partition everything runs
    fine for
    between a day and a month. If anybody has a resolution, or even a good
    hunch
    I'd appreciate hearing it.
    Attached to manager for node capri.
    SYSTEM ERROR: OpenCursor failed for SQL statement in project CTISvcs,
    class
    LookUpInfoMgr, method LoadAgent, methodId 4, line 55, error from
    database is:
    ORA-02019: connection description for remote database not found
    Class: qqdb_ResourceException
    Detected at: qqdb_OracleVendorInfo::DoOexn
    Error Time: Wed May 17 07:42:42
    Oracle error: 2019, Server: DBP13, UserName: forte_c3
    Database Statement: select a.cctr_agt_id CareCentreAgentID , a.emp_id
    EmployeeID , a.eff_fr_dat EffectiveFromDate , a.eff_to_dat
    EffectiveToDate
    , a.cctr_agt_gr_id CareCentreGroupID , RTrim ( InitCap ( b.fst_nm )
    EmployeeFirstName , RTrim ( InitCap ( b.srnm ) ) EmployeeLastName
    from
    t_cctr_agt a , t_emp b where a.emp_id = b.emp_id
    Exception occurred (locally) on partition "TServRM1_cl0_Part2",
    (partitionId = A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x31d, taskId =
    [A5E41FA0-D91F-11D3-8F7D-FFCBBA23AA77:0x320.777]) in application
    "TServRM1_cl0", pid 24249 on node capri in environment prodenv.
    TIA,
    Joe Wolfe, External Programmer Analyst
    SaskTel
    email: joe.wolfesasktel.sk.ca
    End of forte-users-digest Digest V00 Issue #186

  • Re: (forte-users) FW: (forte-users) Serialisation

    Here is a Word formatted copy of the Tech Note
    "Slabbert, Etienne" <etiennemds.co.za> 02/17/00 04:10AM >>>Hi,
    I cannot get hold of Tech Note 10398..... can anyone email me a copy?
    Tx
    Etienne
    -----Original Message-----
    From: Klerk, Theo de [SMTP:Theo.de.Klerkcompaq.com]
    Sent: Wednesday, February 09, 2000 4:26 PM
    To: 'Jason de Cean'; 'Forte Users'
    Subject: RE: (forte-users) Serialisation
    There are a number of flags that will show you some of the required
    information in a log file (not within the application itself). Technote
    10398 has many more flags listed for a variety of obscure, useful, not so
    useful and exotic information:
    trc:cm:*:4 and *:8 - show packet serialisation, open, closes between
    partition communication
    trc:do:*:2 - proxy creation/deletion, exception events
    trc:do:*:5 - individual message tracing between proxies
    trc:do:*:8 - serialisation information
    Theo
    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

    Here is a Word formatted copy of the Tech Note
    "Slabbert, Etienne" <etiennemds.co.za> 02/17/00 04:10AM >>>Hi,
    I cannot get hold of Tech Note 10398..... can anyone email me a copy?
    Tx
    Etienne
    -----Original Message-----
    From: Klerk, Theo de [SMTP:Theo.de.Klerkcompaq.com]
    Sent: Wednesday, February 09, 2000 4:26 PM
    To: 'Jason de Cean'; 'Forte Users'
    Subject: RE: (forte-users) Serialisation
    There are a number of flags that will show you some of the required
    information in a log file (not within the application itself). Technote
    10398 has many more flags listed for a variety of obscure, useful, not so
    useful and exotic information:
    trc:cm:*:4 and *:8 - show packet serialisation, open, closes between
    partition communication
    trc:do:*:2 - proxy creation/deletion, exception events
    trc:do:*:5 - individual message tracing between proxies
    trc:do:*:8 - serialisation information
    Theo
    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) Serialisation

    Singh,
    Any message sent across partition boundaries is serialized. This includes
    method invokations, events and exceptions. The signature of the message
    itself is serialized, as well as the values of all parameters/attributes.
    Serializing a scalar value requires less overhead then serialising an
    object, however, the difference isn't as big as you might think. Objects
    have more attributes then just the value you're interested in and these
    attributes are serialised as well. Each object is an instance of a class and
    each class has a UUID, which is added to the serialized stream as well.
    However, methods are NOT serialised. What happens is this. Forte serializes
    an object into a stream containing only the values of the attributes
    (including nested attributes). This stream is given a header which sais of
    which class this object is an instance (the UUID is used for that). The
    receiving partition reads the serialized stream, finds the definition of the
    class (defined by UUID) in its own code, creates an instance of this class
    and fills the data out of the serialized stream into this new object.
    You can imagine what might happen if there is a mismatch between the
    class-definitions in both partitions. You either get
    serialization-deserialization errors, or the receiving partition complains
    that it doesn't even know the UUID of the received streamed object, or you
    get no errors at all and just have an object that displays different
    behaviour, depending what partition it's in.
    If there are no problems, then the main issue is the
    serializing-deserializing overhead. Note that the receiving partition has to
    instantiate a new object for every serialized object it receives and will
    therefore execute all code in the Init() method. This overhead is not
    required for scalar types, for which Forte only needs to reserve a small
    amount of memory space on the stack.
    Any call to a database is also a message sent across partitions and is
    therefore serialized. However, one partition is a Forte partition and the
    other one isn't. Therefore, Forte's internal serialization mechanism isn't
    used. Forte serializes the SQL-query into a format understood by the
    database (which is different for every vendor). Forte then receives a stream
    back which has a different format for every different database type. This
    stream is deserialized and written to attributes that Forte has reserved to
    contain the data. Whether these are scalar, datavalues or domains only
    impacts performance inside the Forte partition. It has no effect on the
    communication with the database.
    Pascal Rottier
    Atos Origin Nederland (BAS/West End User Computing)
    Tel. +31 (0)10-2661223
    Fax. +31 (0)10-2661199
    E-mail: Pascal.Rottiernl.origin-it.com
    ++++++++++++++++++++++++++++
    Philip Morris (Afd. MIS)
    Tel. +31 (0)164-295149
    Fax. +31 (0)164-294444
    E-mail: Rottier.Pascalpmintl.ch
    -----Original Message-----
    From: Singh [mailto:fortelistyahoo.com]
    Sent: Thursday, February 22, 2001 3:30 AM
    To: forte-userslists.xpedior.com
    Subject: (forte-users) Serialisation
    Hello All
    I have a question that has been bugging me for some
    time.
    We all know that it is better to use scalar data
    types, as opposed to objects, when passing data across
    a network.
    The reason, if I understand correctly, is that when
    you send an object across a network, the whole object
    (properties, attributes and methods) is deserialised
    into zero's and one's before being sent across and
    then serialised back into the object when it gets to
    the other side. This would take longer for an object
    since for a scalar value, just the value is
    deserialised and serialised.
    But when you are writing to a database from the tier
    before the database to the database, does it matter
    what type you use. The reason for saying this is that
    the values are serialised before they go across and
    then deserialised when they get to the base, in other
    words, they are sent as zero's and one's. For a scalar
    - just the value is sent across but for an object -
    does just the value go across or the complete object.
    If just the value of the object goes across, then it
    doesn't really matter whether a scalar or object is
    sent across.
    Am I correct in this assumption.
    Thanks in advance for your help.
    Regards,
    Singh
    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,
    I cannot get hold of Tech Note 10398..... can anyone email me a copy?
    Tx
    Etienne
    -----Original Message-----
    From: Klerk, Theo de [SMTP:Theo.de.Klerkcompaq.com]
    Sent: Wednesday, February 09, 2000 4:26 PM
    To: 'Jason de Cean'; 'Forte Users'
    Subject: RE: (forte-users) Serialisation
    There are a number of flags that will show you some of the required
    information in a log file (not within the application itself). Technote
    10398 has many more flags listed for a variety of obscure, useful, not so
    useful and exotic information:
    trc:cm:*:4 and *:8 - show packet serialisation, open, closes between
    partition communication
    trc:do:*:2 - proxy creation/deletion, exception events
    trc:do:*:5 - individual message tracing between proxies
    trc:do:*:8 - serialisation information
    Theo
    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-digest Digest V00 #185

    Hi,
    The only work around I can see to your problem is to convert the TIFF to
    any other format that forte supports. You could use Microsoft's Image
    Composer to do this. As far as I can see your requirement is runtime. I
    would suggest using Windows imaging ( an image edit control, that is an
    active-x control ). Use this control to perform a SaveAs operation on the
    TIFF file to save it as a GIF and then use the converted GIF to place it in
    your Forte Object. I know it works in C++ so it should surely work in
    forte too. I don't have the documentation for the image edit control, but
    Iam sure there are lot of similar controls out there . And make sure you
    save the file in a format that supports mutiple page formats. ( i.e prefer
    GIF to BMP when you convert)
    Hope this Helps,
    - Ravi Balakrishna
    Automation Software Engineer
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Tuesday, May 16, 2000 3:05 PM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #185
    forte-users-digest Digest Volume 00 : Issue
    185
    Today's Topics:
    Tiff images again.....
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    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-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 11:07:25 -0400
    From: "Jones, Gail A" <gail.joneseds.com>
    To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
    Subject: Tiff images again.....
    Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
    Content-Type: text/plain;
    charset="iso-8859-1"
    I need to place TIFF images in a Forte Object to display on a client
    window.
    Does anyone have any tips or code that you would be willing to share that
    can help me do that. I checked with Forte the other day and found they do
    not support the TIFF format.
    Thanks much,
    Gail Jones
    EDS Medi-Cal
    Sacramento, Ca.
    End of forte-users-digest Digest V00 Issue #185

    Hi,
    The only work around I can see to your problem is to convert the TIFF to
    any other format that forte supports. You could use Microsoft's Image
    Composer to do this. As far as I can see your requirement is runtime. I
    would suggest using Windows imaging ( an image edit control, that is an
    active-x control ). Use this control to perform a SaveAs operation on the
    TIFF file to save it as a GIF and then use the converted GIF to place it in
    your Forte Object. I know it works in C++ so it should surely work in
    forte too. I don't have the documentation for the image edit control, but
    Iam sure there are lot of similar controls out there . And make sure you
    save the file in a format that supports mutiple page formats. ( i.e prefer
    GIF to BMP when you convert)
    Hope this Helps,
    - Ravi Balakrishna
    Automation Software Engineer
    Intel Corporation.
    -----Original Message-----
    From: forte-users-digest-requestlists.xpedior.com
    [SMTP:forte-users-digest-requestlists.xpedior.com]
    Sent: Tuesday, May 16, 2000 3:05 PM
    To: forte-users-digestlists.xpedior.com
    Subject: forte-users-digest Digest V00 #185
    forte-users-digest Digest Volume 00 : Issue
    185
    Today's Topics:
    Tiff images again.....
    Administrivia:
    * BEFORE YOU ASK - please search the archives at:
    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-digest-requestlists.xpedior.com
    Date: Tue, 16 May 2000 11:07:25 -0400
    From: "Jones, Gail A" <gail.joneseds.com>
    To: "'kamranaminyahoo.com'" <kamranaminyahoo.com>
    Subject: Tiff images again.....
    Message-ID: <F455E4114C4AD211BCDF00805F31BCF305C206DCUSSAM203>
    Content-Type: text/plain;
    charset="iso-8859-1"
    I need to place TIFF images in a Forte Object to display on a client
    window.
    Does anyone have any tips or code that you would be willing to share that
    can help me do that. I checked with Forte the other day and found they do
    not support the TIFF format.
    Thanks much,
    Gail Jones
    EDS Medi-Cal
    Sacramento, Ca.
    End of forte-users-digest Digest V00 Issue #185

Maybe you are looking for

  • Adobe Standard 7.0 compatability in Office 2010

    I purchased a new computer in 8/10 running Windows 7 and Office Professional 2010.  I installed my purchased copy of Adobe Acrobat 7.0 and it runs fine - except adobe pdf will not manifest itself as a printer in the print selection windows.  My wife

  • Maintain text in trhe plant addres email field

    hi i have to maintain the text instead of E-mail address in the plant address data. whenever i maintain the text in the E-mail field system throughing th message .i.e invalid address help me

  • Creating a CompactRIO compatible dll using Borland

    Hello I am trying to get a dll running on a CompactRIO 9004 using Labview8.5 developer's suite. The dll works fine when I run the VI on Windows, but when I copy the vi (called host.vi) to the CRIO target and try to run it I get the following message

  • Anybody successfully using (g)zipped sockets?

    Dear All, I tried to use custom sockets that uses either GZIP or zip streams (not forgetting get/putNextEntry for the latter). When the client does the lookup step, nothing happens, my client keeps silently waiting. If I stop the server at thiis poin

  • Hyperlinks in iWeb

    Hello, is there a way to generate scrolldown menus in iWeb? How do i build highlighting menu fields like in the menu bar above on this page here? I didn't find this options in iWeb - are there additional tools or applications to do that? Thanks in ad