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
Similar Messages
-
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ü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ü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ür Informatik
>fabrizio.genesiodatasign.ch
<mailto:fabrizio.genesiodatasign.ch>
>
> <<Atest.zip>> -
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] -
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 -
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 KumarHi 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á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, HungaryAttila
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á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) 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.comHere 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.comHi,
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) Fusion for the VAR
Hi,
It is a good idea. In fact, I think that how Forte is
going to integrate her own suite of app. too. ( I
kind of recall that there is a speech on this topic in
Forum ).
However, as Forte will most likely goes toward Java, I
would suggest that you take into account the
abstraction on Conductor ( which is frankly an event
broker ) and Fusion ( which handles the XML mapping )
too. In doing so, you can save guard your investment
on the design without binding tightly with FORTE and I
bet there will be tons of event broker or XML parser
in the future market.
On the other hand, this integration by Fusion would be
perfect for a perfect world. But, in this imperfect
world, it would be hard to do cross-checking between
apps in Fusion.
In the old days, we repulicate data or do file
transfer to integrate apps. In doing so, we also
build-in all the cross-checking procedure / reports.
In the case of Fusion, is there such a safety net to
save guard data integrity. Can I identify a lost
event and trace back to find out whether it is a app.
problem or Conductor problem?
I think the customer would surely like to know.
Regards,
Peter Sham.
--- "Thomas Mercer-Hursh, Ph.D."
<[email protected]> wrote:
Fusion has been positioned as an EAI tool, something
at which it appears to
be very, very good, but in recent months I have been
thinking about its
possible role as an architectural tool for those of
us who build large,
multi-application suites of applications. Having
been tossing some of
these ideas around the halls at Harrison Street, I
thought I would try some
of them on this audience as well to see what
reaction I got.
This concept is based on the context that one has
multiple interacting
applications which are loosely coupled, or at least
which should be. E.g.,
an order processing application may need credit
status information from an
accounts receivable application and may generate
invoices which then need
to be tracked for payment by that application, but
the connections between
these applications are specific, limited, and
readily enumerable. Mind
you, people don't always build their applications so
cleanly modularized,
but I think we all agree these days that they should
be.
The idea is to provide each application with a
specific API, which it may
currently have only indirectly. I.e., today one
might simply have calls
directly from one application to another, but one
would gather all these
links together and define an API, probably in XML
which covered all of the
necessary communciations between applications.
These would then be used to
build a Fusion Proxy and one would build the
necessary Conductor processes
to handle the communications which previously might
have been made directly
between applications. There is probably some
performance loss in this
process, but many of these interfaces are not
performance intensive and my
bet is that if the whole Fusion concept has adequate
performance for the
purposes for which it is being primarily marketed,
then it has the
performance for this sort of usage.
One would get several advantages from this
structure:
1) Interapplication communications would be handled
by a Conductor process
and thus be much more readily configurable than any
hard-coded link.
2) One would gain the ability to unplug one's own
application and plug in a
customer's application when the customer insisted on
using something else.
3) The discipline of working in this structure would
insure clean boundries
between applications, which is not only sound
design, but promotes the
flexibility of the overall suite.
4) Those with untransitioned legacy applications
would have a framework
that would allow a mixture of new and old
applications to co-exist, thus
providing them with a transition strategy until the
full product line was
converted.
Note that I am assuming that one would want to build
the individual
applications so that they also used Conductor for
managing their business
process logic, but that seems to me to be an
independent decision from this
one.
So, comments?
Any downsides?
Any added benefits I haven't covered here?
Are there many out there that would benefit from
this approach or just a few?
Is anyone doing anything like this?
Note that the one downside I have found so far is
that Fusion licensing,
independent of the Conductor aspect, is based on the
number of proxies and
so someone like CI who has 15 or more applications
in a typical site is
going to have 15 or more proxies. My bet is that
this can be handled once
it is clear that use of Fusion by a VAR for
integrating own applications is
not the same use as by an end-user integrating
arbitrary multiple applications.
=========================================================================
Thomas Mercer-Hursh, Ph.D email:
[email protected]
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.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]
=====Yes, they do & one page is 1KB page. We use the same instrument to check
memory usage & to send alerts in our production system.
Thanks.
Suraj
-----Original Message-----
From: Epari, Madhusudhan [mailto:[email protected]]
Sent: Monday, May 14, 2001 2:37 PM
To: 'Saraf, Suraj'; 'Forte User Forum'
Subject: RE: (forte-users) Instrument for memory used in the partition
Thanks all for the response. I observed "Allocated Pages" instrument doesn't
change as and when memory usage by the partition changes. I was trying to
find a way to measure the actual memory (specifically in bytes or KBs).
Thanks,
Madhu
-----Original Message-----
From: Saraf, Suraj [mailto:[email protected]]
Sent: Thursday, May 10, 2001 12:46 PM
To: 'Epari, Madhusudhan'; 'Forte User Forum'
Subject: RE: (forte-users) Instrument for memory used in the partition
Hello,
I think you can use 'OperatingSystem' service agent & check 'AllocatedPages'
instrument to see how many memory pages are used. You can compare that with
your maximum allocation & send alerts depending on that. Thanks.
Suraj
-----Original Message-----
From: Epari, Madhusudhan [mailto:[email protected]]
Sent: Thursday, May 10, 2001 11:15 AM
To: 'Forte User Forum'
Subject: (forte-users) Instrument for memory used in the partition
Hello Everyone,
Is there an instrument to track the memory used in the partition at a given
point of time. I have a requirement where an alert has to be generated in
the environment when partition uses all its available memory.
Thanks in advance,
Madhu
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: [email protected] -
Re: (forte-users) Accessing Technote 10398
Ketie,
let's see, I have been using FORTE since November of
1994. since the beginning those flags have been common
knowledge within the FORTE community and widely
disseminated.
the FORTE flags have been invaluable to me and HAVE
NEVER caused any downtime. sure, there are a few
wildcards in there that can cause trouble, but to
throw out the baby with the bathwater is ridiculous.
what would life be without trc:lo:25? to trace
exceptions.
or trc:os:1:1 and trc:os:5:5 to tune memory
consumption?
Should i have to call a consultant or FORTE tech
support to do the deep dive on exceptions or tune my
applications? I think not.
Overreaction? No.
Mark.
--- Katie Tierney <katiethetierneys.com> wrote:
I think y'all are overreacting. There are log flags
that are detailed in
Technote 10398 that can cause serious implications
if used improperly. I
think Forte/Sun just wants to make sure that people
don't make mistakes that
cost them valuable time.
As a Forte Consultant for many years, I have seen a
good number of people
misuse information that was not completely
understood. In some cases, this
caused excessive downtime for production
applications. The only time I ever
saw Technote 10398 being provided to a customer was
when they were utilizing
Forte Consulting, or when a Technical Support
Engineer was heavily involved.
I was extremely surprised to learn that it was
available to non-employees via
the website - that sounds as if someone may have
inadvertantly marked it as
customer-viewable (incorrectly, obviously) in Sun's
internal systems.
Again, I think you're overreacting. I am sure that
this isn't a case of Sun
thinking anyone is "stupid." It's a matter of
providing the support that
people need to properly utilize the tools available.
-Katie
mark joyce wrote:
read: Sometimes, the technotes are markedunviewable
to customers because they might need further
explanation. Let me know if you need to log acase.
in other words, you are TOO STUPID to use FORTElogger
flags, although they have been widely distributedand
used for years by FORTE users.
i can't believe it either. i don't know what iwould
have done for the last 5 years without using theFORTE
flags. such a wealth of good output!
what an excuse! "they might need furtherexplanation"
.. if i had to log every problem with FORTE,instead
of resolving them myself through the information
obtained by using flags, i would have lost my joba
long time ago.
mark.
--- Jeff Bennett <jeff_bennettsehamerica.com>wrote:
I thought it might be prudent to share with youthe
response I received from Sun
regarding the inability to access technote 10398
(Forté logger flags). I was
able to access it 3+ weeks ago, and fortunatelykept
a hard-copy. But, how are
we supposed to do our job effectively and
expediently if we do not have
(complete) access to this resource?
I thought the technotes were completely open tothe
Forté development
community.... wrong.
-jeff
---------------------- Forwarded by JeffBennett/SEH
on 09/11/2000 09:02 AM
Forte Support <supportforte.com> on 09/08/2000
10:05:17 AM
To: Jeff Bennett/SEHsehamerica.com
cc:
Subject: Re: Accessing Technote 10398
Fax to:
Hello Jeff,
Were you at one point able to access thistechnote?
You know why -- it's
because this technote is marked for employeeviewing
only and not available
for customer viewing. If you need further
assistance or need to look at
this technote, what you would need to do is loga
call with us and then a
tech support specialist will give you a callback.
Sometimes, the
technotes are marked unviewable to customersbecause
they might need
further explanation. Let me know if you need tolog
a case.
Thanks!
At 09:57 AM 9/8/00 -0700, you wrote:
I am no longer able to access technote 10398
(forte
logger flags)... why?
-jeff~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Sun® microsystems
Jeannie Lee
Phone: (510) 451-5400
Fax (510) 869-2010
Email: jeannie.leesun.com
Forte Tools Response Coordinator
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
http://mail.yahoo.com/
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
http://mail.yahoo.com/Ketie,
let's see, I have been using FORTE since November of
1994. since the beginning those flags have been common
knowledge within the FORTE community and widely
disseminated.
the FORTE flags have been invaluable to me and HAVE
NEVER caused any downtime. sure, there are a few
wildcards in there that can cause trouble, but to
throw out the baby with the bathwater is ridiculous.
what would life be without trc:lo:25? to trace
exceptions.
or trc:os:1:1 and trc:os:5:5 to tune memory
consumption?
Should i have to call a consultant or FORTE tech
support to do the deep dive on exceptions or tune my
applications? I think not.
Overreaction? No.
Mark.
--- Katie Tierney <katiethetierneys.com> wrote:
I think y'all are overreacting. There are log flags
that are detailed in
Technote 10398 that can cause serious implications
if used improperly. I
think Forte/Sun just wants to make sure that people
don't make mistakes that
cost them valuable time.
As a Forte Consultant for many years, I have seen a
good number of people
misuse information that was not completely
understood. In some cases, this
caused excessive downtime for production
applications. The only time I ever
saw Technote 10398 being provided to a customer was
when they were utilizing
Forte Consulting, or when a Technical Support
Engineer was heavily involved.
I was extremely surprised to learn that it was
available to non-employees via
the website - that sounds as if someone may have
inadvertantly marked it as
customer-viewable (incorrectly, obviously) in Sun's
internal systems.
Again, I think you're overreacting. I am sure that
this isn't a case of Sun
thinking anyone is "stupid." It's a matter of
providing the support that
people need to properly utilize the tools available.
-Katie
mark joyce wrote:
read: Sometimes, the technotes are markedunviewable
to customers because they might need further
explanation. Let me know if you need to log acase.
in other words, you are TOO STUPID to use FORTElogger
flags, although they have been widely distributedand
used for years by FORTE users.
i can't believe it either. i don't know what iwould
have done for the last 5 years without using theFORTE
flags. such a wealth of good output!
what an excuse! "they might need furtherexplanation"
.. if i had to log every problem with FORTE,instead
of resolving them myself through the information
obtained by using flags, i would have lost my joba
long time ago.
mark.
--- Jeff Bennett <jeff_bennettsehamerica.com>wrote:
I thought it might be prudent to share with youthe
response I received from Sun
regarding the inability to access technote 10398
(Forté logger flags). I was
able to access it 3+ weeks ago, and fortunatelykept
a hard-copy. But, how are
we supposed to do our job effectively and
expediently if we do not have
(complete) access to this resource?
I thought the technotes were completely open tothe
Forté development
community.... wrong.
-jeff
---------------------- Forwarded by JeffBennett/SEH
on 09/11/2000 09:02 AM
Forte Support <supportforte.com> on 09/08/2000
10:05:17 AM
To: Jeff Bennett/SEHsehamerica.com
cc:
Subject: Re: Accessing Technote 10398
Fax to:
Hello Jeff,
Were you at one point able to access thistechnote?
You know why -- it's
because this technote is marked for employeeviewing
only and not available
for customer viewing. If you need further
assistance or need to look at
this technote, what you would need to do is loga
call with us and then a
tech support specialist will give you a callback.
Sometimes, the
technotes are marked unviewable to customersbecause
they might need
further explanation. Let me know if you need tolog
a case.
Thanks!
At 09:57 AM 9/8/00 -0700, you wrote:
I am no longer able to access technote 10398
(forte
logger flags)... why?
-jeff~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
Sun® microsystems
Jeannie Lee
Phone: (510) 451-5400
Fax (510) 869-2010
Email: jeannie.leesun.com
Forte Tools Response Coordinator
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
http://mail.yahoo.com/
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
http://mail.yahoo.com/ -
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.comAt 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.comBob.
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-digest V1 #89
forte-users-digest Tuesday, 8 October 1996 Volume 01 : Number 089
From: Alexander Ananiev <[email protected]>
Date: Tue, 08 Oct 1996 16:36:14 -0500
Subject: "Single DBSession" approach
The standard Forte approach for the database access assumes
that one DBSession handles requests from several users
(clients), so the database connection is not associated with
the particular user. This significantly impacts the
architecture of the Forte application. Some of the problems
caused by this approach are:
1) An application-level security system should be developed
instead of using the DBMS security system. Suffice it to say
that application-level security system cannot provide the
protection from back-door access to the database.
2) The application cannot utilize the DBMS locking mechanism
for the case when the record is retrieved to the client for
editing purposes ("long" transaction).
It means that SecurityManager and LockManager should be
developed to resolve these problems. This does not seem to be
very good solution because these objects are intended to repeat
the functionality of the DBMS. And these parts of the
application may become pretty complicated. For example, my
project's experience shows that the development of the lock
manager is not a trivial task and most likely this lock manager
will be worse than the DBMS locking mechanism in terms of
reliability and performance just because it acts as an outside
program to the database. Besides, this approach could cause
serious problems if the database can be updated by non-Forte
applications (e.g., by some legacy system or batch process).
"One DBSession per several users" approach makes sense if each
user connection to the database is implemented as one
server process.(Another good argument in favor of single
DBsession is a heterogeneous environment where there is no
stable connection to one database, but here I'm talking about a
"regular" application that uses only one DBMS.) Since most of
the time this process is idle, then, of course, decreasing the
number of processes leads to better server utilization and
performance. But by its sense, database connection is just the
current transaction ID (with the user id, of course). So the
connection could be just a number that should be passed to the
DBMS along with each request and then DBMS can create a thread
to handle the request or forward it to the next available
process if it does not support multithreading.
DBMS vendors realize this and some of them already implemented
this approach (I know that Oracle and Informix did that and
Sybase was mentioned in the recent "one-threaded DBSession"
discussion). And one-threaded DBSession that lives on the
server doesn't fit well to that. The better approach would be
to make DBSession the attribute of the TransactionHandle
object, so the current connection will always be passed from
the client to the service and this service can work through
this connection.
So, my point is that the application should let DBMS do its
work and use as much of the functionality of the DBMS as
possible and the "single DBsession" approach doesn't help it to
do that.
I would be glad to hear any other opinion on this topic. I
think that the "DBsession" problem is extremely important for
any multi-tier application (for example, all Web applications
are facing this problem). I'm also interested in how people
are dealing with this problem on other projects, for example if
there are some projects where the alternative approach (one
DBSession per each user) was implemented and what problems were
encountered during that.
Alexander Ananyev
Price Waterhouse
End of forte-users-digest V1 #89
One of the first issues that needs to be addressed is that passing
DBSessions from partition to partition is a huge performance hit. When
Forte executes a SQL SELECT or FETCH statement on a DBSession that exists
outside the current partition (DBSessions are "anchored" objects that are
accessed via proxies.) Forte fetches the result set into the partition
containing the DBSession and then passes proxies or creates copies into
the partition where the SQL code is located. These are some of the
largest performance hits you can take in Forte.forte-users-digest Tuesday, 8 October 1996 Volume 01 : Number 089
From: Alexander Ananiev <[email protected]>
Date: Tue, 08 Oct 1996 16:36:14 -0500
Subject: "Single DBSession" approach
The standard Forte approach for the database access assumes
that one DBSession handles requests from several users
(clients), so the database connection is not associated with
the particular user. This significantly impacts the
architecture of the Forte application. Some of the problems
caused by this approach are:
1) An application-level security system should be developed
instead of using the DBMS security system. Suffice it to say
that application-level security system cannot provide the
protection from back-door access to the database.
2) The application cannot utilize the DBMS locking mechanism
for the case when the record is retrieved to the client for
editing purposes ("long" transaction).
It means that SecurityManager and LockManager should be
developed to resolve these problems. This does not seem to be
very good solution because these objects are intended to repeat
the functionality of the DBMS. And these parts of the
application may become pretty complicated. For example, my
project's experience shows that the development of the lock
manager is not a trivial task and most likely this lock manager
will be worse than the DBMS locking mechanism in terms of
reliability and performance just because it acts as an outside
program to the database. Besides, this approach could cause
serious problems if the database can be updated by non-Forte
applications (e.g., by some legacy system or batch process).
"One DBSession per several users" approach makes sense if each
user connection to the database is implemented as one
server process.(Another good argument in favor of single
DBsession is a heterogeneous environment where there is no
stable connection to one database, but here I'm talking about a
"regular" application that uses only one DBMS.) Since most of
the time this process is idle, then, of course, decreasing the
number of processes leads to better server utilization and
performance. But by its sense, database connection is just the
current transaction ID (with the user id, of course). So the
connection could be just a number that should be passed to the
DBMS along with each request and then DBMS can create a thread
to handle the request or forward it to the next available
process if it does not support multithreading.
DBMS vendors realize this and some of them already implemented
this approach (I know that Oracle and Informix did that and
Sybase was mentioned in the recent "one-threaded DBSession"
discussion). And one-threaded DBSession that lives on the
server doesn't fit well to that. The better approach would be
to make DBSession the attribute of the TransactionHandle
object, so the current connection will always be passed from
the client to the service and this service can work through
this connection.
So, my point is that the application should let DBMS do its
work and use as much of the functionality of the DBMS as
possible and the "single DBsession" approach doesn't help it to
do that.
I would be glad to hear any other opinion on this topic. I
think that the "DBsession" problem is extremely important for
any multi-tier application (for example, all Web applications
are facing this problem). I'm also interested in how people
are dealing with this problem on other projects, for example if
there are some projects where the alternative approach (one
DBSession per each user) was implemented and what problems were
encountered during that.
Alexander Ananyev
Price Waterhouse
End of forte-users-digest V1 #89
One of the first issues that needs to be addressed is that passing
DBSessions from partition to partition is a huge performance hit. When
Forte executes a SQL SELECT or FETCH statement on a DBSession that exists
outside the current partition (DBSessions are "anchored" objects that are
accessed via proxies.) Forte fetches the result set into the partition
containing the DBSession and then passes proxies or creates copies into
the partition where the SQL code is located. These are some of the
largest performance hits you can take in Forte. -
RE: (forte-users) Changing replication options in Fscript? -Tric k
There was one attribute of a service object you couldn't change in fscript..
I think it was whether the service was replicated at all or not (not the
same as setting rep count to 1!).
As Clint would say, "improvise.."
We exported the project containing the service object and snipped out the
part pertaining to the service object in to a little export file.
Then in an fscript script you can branch/checkout the service object and
import the snipped out export file to change the replicated yes/no flag.
Then do whatever other fscript commands make sense.. We tended to leave the
system baseline with the "true" replication flags and let developers run
this little script (only branching the services) to de-replicate all the
replicated services prior to trying to run from their workspace, etc.
Worked like a charm.
-Greg
-----Original Message-----
From: Taras Katkov
To: [email protected]
Sent: 12/1/99 2:57 PM
Subject: Re: (forte-users) Changing replication options in Fscript?
"setappcompcompiled", "setPARTrepcount" can be used in fscript during
application build.
I mean PERIOD!
Taras Katkov
f.e.
FindAppComp AppNAme_PartXX
SetAppCompCompiled MyNode 1
SetPartRepCount MyNode YY
SetPartArgs MyNode \"Whatever\"
SetPartThreadPkg MyNode DCE
commit
[email protected] wrote:
>
Yes through escript one can achieve changing the properties but onecannot
do it when one is partitioning the app where the router gets createdand
assigned ( which is fscript) and the single threadedness of thepartition
takes effect ( for loadbalancing ) except from the partitioningworkshop
(GUI) itself.
-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Wednesday, December 01, 1999 3:39 PM
To: [email protected]; [email protected];
[email protected]
Subject: RE: (forte-users) Changing replication options in Fscript?
Yes you can do it, but you actually do it in EScript not FScript lookfor
the following types of command "assignappcomp", "unassignappcomp",
"setappcompcompiled", "setrepcount", "findagent", "findsubagent",
"findparent" etc.. So start with your EScript manual.
Happy scripting.
-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Wednesday, December 01, 1999 1:36 PM
To: [email protected]; [email protected]
Subject: RE: (forte-users) Changing replication options in Fscript?
no it is not. One can compiling properties but not replicationproperties
through Fscript.
-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Wednesday, December 01, 1999 3:24 PM
To: [email protected]
Subject: (forte-users) Changing replication options in Fscript?
Before making a distribution, we modify replication options on some ofour
service objects from within the Partition Workshop (to get rid of the
router partition on some of our applications). Does anyone know ifit is
possible to do this in Fscript? 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 anew
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 anew
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 anew
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 set the the number of replicas through fscript BUT the service
object in that partition has to be marked for LOADBALANCE. I didn't find a
fscript command to do that (that was what mnasser was trying to tell you).
But you can get around it by exporting the plan that has the service object
and look for the string LoadBalance = FALSE, then change it to LoadBalance =
TRUE. Import back the plan and you should be fine.
Norocel Popa
-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Wednesday, December 01, 1999 8:28 PM
To: [email protected]; [email protected]
Subject: RE: (forte-users) Changing replication options in Fscript? -
Tric k
There was one attribute of a service object you couldn't change in fscript..
I think it was whether the service was replicated at all or not (not the
same as setting rep count to 1!).
As Clint would say, "improvise.."
We exported the project containing the service object and snipped out the
part pertaining to the service object in to a little export file.
Then in an fscript script you can branch/checkout the service object and
import the snipped out export file to change the replicated yes/no flag.
Then do whatever other fscript commands make sense.. We tended to leave the
system baseline with the "true" replication flags and let developers run
this little script (only branching the services) to de-replicate all the
replicated services prior to trying to run from their workspace, etc.
Worked like a charm.
-Greg
-----Original Message-----
From: Taras Katkov
To: [email protected]
Sent: 12/1/99 2:57 PM
Subject: Re: (forte-users) Changing replication options in Fscript?
"setappcompcompiled", "setPARTrepcount" can be used in fscript during
application build.
I mean PERIOD!
Taras Katkov
f.e.
FindAppComp AppNAme_PartXX
SetAppCompCompiled MyNode 1
SetPartRepCount MyNode YY
SetPartArgs MyNode \"Whatever\"
SetPartThreadPkg MyNode DCE
commit
[email protected] wrote:
>
Yes through escript one can achieve changing the properties but onecannot
do it when one is partitioning the app where the router gets createdand
assigned ( which is fscript) and the single threadedness of thepartition
takes effect ( for loadbalancing ) except from the partitioningworkshop
(GUI) itself.
-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Wednesday, December 01, 1999 3:39 PM
To: [email protected]; [email protected];
[email protected]
Subject: RE: (forte-users) Changing replication options in Fscript?
Yes you can do it, but you actually do it in EScript not FScript lookfor
the following types of command "assignappcomp", "unassignappcomp",
"setappcompcompiled", "setrepcount", "findagent", "findsubagent",
"findparent" etc.. So start with your EScript manual.
Happy scripting.
-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Wednesday, December 01, 1999 1:36 PM
To: [email protected]; [email protected]
Subject: RE: (forte-users) Changing replication options in Fscript?
no it is not. One can compiling properties but not replicationproperties
through Fscript.
-----Original Message-----
From: [email protected] [mailto:[email protected]]
Sent: Wednesday, December 01, 1999 3:24 PM
To: [email protected]
Subject: (forte-users) Changing replication options in Fscript?
Before making a distribution, we modify replication options on some ofour
service objects from within the Partition Workshop (to get rid of the
router partition on some of our applications). Does anyone know ifit is
possible to do this in Fscript? 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 anew
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 anew
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 anew
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]
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
-
Query related to selection of BOM (Production BOM or Sales Order BOM)
Hello All Am having a scenario wherein the FG is having 5 components out of these 5, two are subassembly and 3 are raw materials, 3 of these components are customer specific i.e. 1 suby assly and 2 raw materials are customer order specific, n
-
Is Adobe PageMill 3.0 still available? I use it to run three websites but it does not run on my new desktop which has a 64-bit operating system. However it would run on my laptop which runs under Windows Vista. But the original installation was from
-
I have a FCP project that I have been working on for a year and have made DVD's from through compressor. Suddenly when I open compressor it states that there are no files associated with this project. Another user suggested I trash the preferences, b
-
Displaying Release Date from Atom Feed
When using an atom feed with iTunesU, we find that the Release Date field does not show meaningful data. The field contains the value of today in every instance. I wonder if there is any way to make Release Date show the contents of the <updated/> el
-
Safari: Only works properly after reset. Why?
I am using Safari Version 5.0.5 (6533.21.1) on iMac OS X Version 10.6.8 (Snow Leopard) 3.06GHz Intel Core 2 Duo - 4GB 800 Mhz DDR2 SDRAM. When I open Safari the homepage loads but if I try to click on ANY link or search in the address bar the spinnin