WEIRD !!!
 
ime, on PI, that particular sequence would have given three attributes.
 
The only time " A<-1> = '' " should have no effect is when A == '' initially.
 
Cheers,
Wol


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Louis Windsor
Sent: 03 February 2004 11:43
To: U2 Users Discussion List
Subject: Re: [UV] VARIABLE<-1> = "" and Basic Compile "$OPTIONSEXTRA.DELIM"work "consistently"

Sorry for jumping in without checking my facts first.
 
You are right the sequence
 
A = 'abc'

A<-1> = ''

A<-1> = 'def'

results in A having TWO attributes NOT three.  The second

statement has no effect.  This is as it works on Windows XP Prof

and the Personnel version of UniVerse.  If my memory serves me

this is also how it works on UV9.6 on Unix (HPUX).  Again I think

the statement A<-1>='' is always ineffective.  UV without over-

riding options etc will never insert a null at the end of a string variable.

My experience is mainly with Pick flavour.

Louis

----- Original Message -----
Sent: Tuesday, February 03, 2004 5:34 PM
Subject: Re: [UV] VARIABLE<-1> = "" and Basic Compile "$OPTIONS EXTRA.DELIM"work "consistently"

The same documentation goes on to say:
 

In INFORMATION and IN2 flavor accounts, if _expression_ is an empty string

and the new element is appended to the end of the dynamic array, the end of

a field, or the end of a value, a delimiter is appended to the dynamic array,

field, or value. Use the -EXTRA.DELIM option of the $OPTIONS statement

to make the REPLACE function work as it does in IDEAL, PICK, and

REALITY flavor accounts.

In my opinion this behaviour is still unexpected and here is why I say so:

If Information behaves the same as PICK as you say, then the behaviour is still contrary to documentation because in the example I gave below, a @FM was still appended even if the string to be added was empty: i.e.

A = 'abc'

A<-1> = ''

A<-1> = 'def'

will result in 3 fields. According to the REPLACE extract you quoted, A<-1> = '' should not add a field mark regardless of whether A is empty or not for PICK flavour.

Marco

Marco,

As some previous replies were saying, the behaviour you describe is normal
and documented. The explanation for this is found in the "REPLACE" Basic
function, which is the equivalent for the angle brackets notation at the
left of an assignment operator ("=") for dynamic arrays handling.
For more information, please refer to the Basic documentation manual (File
"BASIC.pdf" in the CDROM library)

Here is an excerpt of the documentation :
----
REPLACE function

Syntax
REPLACE (_expression_, field#, value#, subvalue# { , | ; } replacement)
REPLACE (_expression_ [ ,field# [ ,value#] ] ; replacement)
variable < field# [ ,value# [ ,subvalue#] ] >
.../...
In IDEAL, PICK, PIOPEN, and REALITY flavor accounts, if replacement is an
empty string and an attempt is made to append the new element to the end
of the dynamic ar ray, field, or value, the dynamic array, field, or value
is left
unchanged; additional delimiters are not appended. Use the EXTRA.DELIM
option of the $OPTIONS statement to make the REPLACE function append
a delimiter to the dynamic array, field, or value.
.../...
----

The fact is that "UniVerse" is mainly designed to reproduce the behaviour
of legacy products in the "Pick" family. In this case, the implementation
of the "INFORMATION" and "IDEAL" flavour followed the default behaviour in
"Pick" native products.

I hope this answered your question.

Regards,

Hervé BALESTRIERI

Support Technique Avancé - IBM Data Management - Produits "U2"

----- Forwarded by Herve Balestrieri/France/IBM on 03/02/2004 09:35 -----

Marco Manyevere
<[EMAIL PROTECTED]
.com> cc:
Sent by: Subject: VARIABLE<-1> = '' Inconsistent behaviour
u2-users-bounces@
oliver.com


03/02 /2004 05:55
Please respond to
U2 Users
Discussion List






Hi All,

Consider the program:

A = ''
A<-1> = ''
A<-1> = ''
A<-1> = 3
A<-1> = ''
A<-1> = 4
PRINT A<3>

I expect it output '3' but it outputs '4'. Whats the explanation? I'm on UV
9.6 [NT] running information flavour.

Regards,
Marco



BT Yahoo! Broadband - Free modem offer, sign up online today and save £80
_______________________________________________
u2-users mailing list
[EMAIL PROTECTED]
http://www.oliver.com/mailman/listinfo/u2-users






Yahoo! Messenger - Communicate instantly..."Ping" your friends today! Download Messenger Now


_______________________________________________
u2-users mailing list
[EMAIL PROTECTED]
http://www.oliver.com/mailman/listinfo/u2-users


***********************************************************************************

This transmission is intended for the named recipient only. It may contain private and confidential information. If this has come to you in error you must not act on anything disclosed in it, nor must you copy it, modify it, disseminate it in any way, or show it to anyone. Please e-mail the sender to inform us of the transmission error or telephone ECA International immediately and delete the e-mail from your information system.

Telephone numbers for ECA International offices are: Sydney +61 (0)2 9911 7799, Hong Kong + 852 2121 2388, London +44 (0)20 7351 5000 and New York +1 212 582 2333.

***********************************************************************************
_______________________________________________
u2-users mailing list
[EMAIL PROTECTED]
http://www.oliver.com/mailman/listinfo/u2-users

Reply via email to