RE: [U2] [BB] U2 Enhancement Request - WRITE

2007-05-24 Thread Anthony Youngman
I *think* this is historical.

It used to be that ON ERROR didn't exist (I don't think ELSE existed 
initially!). So I guess that ELSE was added to deal with failed writes but not 
with file isn't there type problems, then ON ERROR was added to deal with 
those.

I think originally, when even ELSE didn't exist, *any* problem with a WRITE 
would cause your program to bomb. But that was in the days before networks were 
the norm, and absent hardware failure any failure in a WRITE was almost certain 
to be a programming error of some sort.

Cheers,
Wol

-Original Message-
From: Perry Taylor [mailto:[EMAIL PROTECTED] 
Sent: 23 May 2007 21:08
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [BB] U2 Enhancement Request - WRITE

Be wary of ON ERROR.  There are a few conditions under which ON ERROR is not 
taken where I really think it should and some anomalous return values from 
STATUS().  Here is an example from a support case I submitted to IBM some time 
ago ...

WRITE ITEM ON F.VAR, ITEM.ID ON ERROR
CRT 'ERROR':
END THEN
CRT 'THEN':
END ELSE
CRT 'ELSE':
END
CRT ', STATUS()=': STATUS()

When I run this on a uniVerse hashed file for which I do not have write 
permissions I get…

Program PTEST2: Line 23, WRITE attempt on read-only file.
ELSE, STATUS()=-2

1) Why do I get the message 'Program PTEST2: Line 23, WRITE Attempt on 
read-only file.' when I am using the ON ERROR clause.  

2) Shouldn't the ON ERROR clause have been taken rather than ELSE?

3) Why does STATUS() return -2, which according to the documentation is The 
record was unlocked before the WRITE operation.?

4) Looking at all the possible return codes from STATUS() after a WRITE it does 
not appear that there is a way to determine that the cause for failure is a 
permissions denial.  Is this not possible to detect? 


The answers I got ...

1) (In a nut shell) No way to suppress this.

2)ON ERROR is only branched to on a fatal error which, in your test case (no 
permission), is not considered fatal - and as such the testing of status() is 
invalid. Fatal errors are file not opened, file handle is null, a part file for 
a distributed file is not found.

3) Unknown

4) No there is not.  Have to write your own permissions-checking routine

There are similar issues with OPENSEQ relating to permissions issues.  FYI.

Perry Taylor
ZirMed, Inc.
626 West Main St , 6th Floor ● Louisville, KY 40202 
www.zirmed.com 


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Nick Cipollina
Sent: Wednesday, May 23, 2007 2:48 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [BB] U2 Enhancement Request - WRITE

Like anyone could ever know that!

Thanks,
 
Nick Cipollina

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Karen Bessel
Sent: Wednesday, May 23, 2007 1:11 PM
To: u2-users@listserver.u2ug.org
Subject: RE: [U2] [BB] U2 Enhancement Request - WRITE

Use the write ON ERROR clause to display info about the error using
STATUS, FILEINFO, etc. 

Any time that I've ever encountered an abort in a BASIC program due to a
write error, it's given me the source code line #. I can then look at
the source code to see what file was being written to and start my
investigation there.






-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Susan Joslyn
Sent: Wednesday, May 23, 2007 12:33 PM
To: u2-users@listserver.u2ug.org
Subject: [U2] [BB] U2 Enhancement Request - WRITE

When a BASIC program in either U2 flavor attempts a write to a file that
cannot be written to the program bombs completely out to TCL and no
information is given about the file, nor about the specifics (is it the
owner, the group, the RWX permissions?).

There are system commands in both flavors that can be used to query a
file's
write-ability before attempting the WRITE.  Before I go try to find
every
write in the system and put that check into place, I'm wondering why
can't
the write itself do this?  Ideally not bomb out of the program, but even
if
that is hard to correct, reporting the NAME OF THE FILE that couldn't be
written to would save many hours of system scouring!

Susan Joslyn
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

CONFIDENTIALITY NOTICE: This e-mail message, including any attachments, is for 
the sole use of the intended recipient(s) and may contain confidential and 
privileged information.  Any unauthorized review, use, disclosure or 
distribution is prohibited. ZirMed, Inc. has strict policies regarding the 
content of e-mail 

RE: [U2] UVODBC port

2007-05-24 Thread Andy Moore
DISCLAIMER:
This email and any files transmitted with it are confidential and intended
solely for the use of the individual or entity to whom they are addressed.
If you have received this email in error, please delete it and notify
the sender immediately.  Please note that there is no guarantee that
this email or any attachment is virus free or has not been intercepted
or amended.

Answering my own question here, but it may be of use to someone else.

If you edit the uni.config file in C:\IBM\UniDK\Config and append the
host address with a colon and the new port number it will use the
specified port.

The default is 31438 and the example below shows the client is now set
to use 31439 for the localhost connection. This is set per server so you
can connect on different ports to different servers.

(remember to make the change on the server too to listen on the right
port)

localuv
DBMSTYPE = UNIVERSE
network = TCP/IP
service = uvserver
host = localhost:31439

Andy Moore
Selima Software

Tel : 0114 2815000
Fax : 0114281
Support : http://tracker.selima.co.uk
Forum : http://forum.selima.co.uk

-Original Message-
From: Andy Moore 
Sent: 22 May 2007 16:54
To: u2-users@listserver.u2ug.org
Subject: [U2] UVODBC port

DISCLAIMER:
This email and any files transmitted with it are confidential and
intended
solely for the use of the individual or entity to whom they are
addressed.
If you have received this email in error, please delete it and notify
the sender immediately.  Please note that there is no guarantee that
this email or any attachment is virus free or has not been intercepted
or amended.

Hi all,



On the old style UVODBC I know how to change the client to use any port
from 512 to anything.



However we have a problem with the new UVODBC and I need to change it's
port. I know how to do it on the server, but does anyone know how to
tell the clients to use a different port?



Thanks



Andy Moore

Selima Software



Tel : 0114 2815000

Fax : 0114281

Support : http://tracker.selima.co.uk

Forum : http://forum.selima.co.uk
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] A question of dictionaries.

2007-05-24 Thread Susan Joslyn
Hi Stuart.

 

 

Yes, modifying a dictionary is an issue.

 

 

Sarbanes-Oxley is primarily concerned with financial fraud. There are other
regulations that are more focused on other things.  In the case of SOX if
you could modify report output by manipulating a dictionary there is the
potential for financial fraud.  

 

In theory the auditors would spot check only reports or dictionaries that
directly impact financial reporting.  But you may as well implement a
universal strategy.  Changing the permissions on all the dictionaries might
not be my choice because - you are on SB+, I think? There are things that
get updated into the dictionary at runtime.

 

My approach usually includes a combination of file permissions and triggers
but primarily I lean toward controlling the tools.  With remote vocs you can
very tightly control the tools.

 

Susan

p.s. or, you could just buy PRC and voila!  ;)

 

 

 

Date: Thu, 24 May 2007 11:23:20 +1000

From: Boydell, Stuart [EMAIL PROTECTED]

Subject: [U2] A question of dictionaries.

 

We are implementing source control here and I was wondering, in light of

data protection and source control best practice and the US list members

experience of Sarbanes-Oxely, if anyone is currently running their

production systems using OS level (D_filename) read-only dictionaries.

I know that EVAL and SQL NEXT.ACCUMULATOR statements which write back to

the dictionary will fail but have you encountered any other gotcha's? Or

if you have contemplated the idea of locking dictionaries, but abandoned

it, why?

I'm also curious to find out (as Australia legislation has been

influenced by it) what the implications as far as SOX is concerned where

a user can potentially [if they gain access to a writable dictionary]

change a reporting column, or doesn't it go that far?

Cheers,

Stuart Boydell
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] A question of dictionaries.

2007-05-24 Thread David Jordan
Hi Stuart

Another option is to use the security features in the voc, ie Field 4 of the
Voc item.  You could restrict who has access to Revise and Editor and could
even log what they are doing.

Regards

David Jordan

Managing Consultant
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


RE: [U2] A question of dictionaries.

2007-05-24 Thread Stevenson, Charles
Bottom line, dictionaries should be controlled.  Period.

I lock the dicts with os-level permissions.
Just live wth EVAL restrictions. SQL not used much.
For those few cases where EVAL is important:
 - references a limited copy of the full dictionary where the user can
write. 
  - via a 2nd F-pointer
  - via the USING keyword
 - or run the affected reports in background by dict owner
 
We happily use PRC here,  it emphasizes control of the tools such as
ED, as Susan suggests.  So we do both, control tools  OS permissions.

For other shops I have written UV frontends to RCS and MS Visual
SourceSafe.
One can control:
 - each dict item as a separate flat file, where there is a source
controlled directory for each dictionary.
 - the entire dictionary in one controlled flat text file, using a
utility to pack and unpack.  I favour this with RCS because then you can
use rcs keywords in a header section.  And complicated dicts use I-,
PH-items  correlatives that reference one another, so entire dict needs
tracking  recompilation when one dict item is changed.

Chuck Stevenson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] A question of dictionaries.

2007-05-24 Thread Susan Lynch

Mark,

In my early days of consulting, many years ago, I had a client whose CFO 
insisted that anything that I wrote that *could* be written in English 
(UniQuery under its original Microdata name) be written that way, even if it 
was less efficient, because then if it needed changing when I was not 
on-site, he could do it himself.  After he was let go, I got a frantic call 
from his assistant - a million dollar order was missing on the system. 
Turns out he had modified one of my dictionaries and created his own version 
of a report to only show an order once, not on subsequent months, because 
the production team did not want to get flak from upper management about 
orders that had not yet completely shipped.  It took me a while to figure 
out what he had done and fix it so that they did not suddenly find 
themselves losing track of the huge orders.  It also appeared that some 
reports had been modified (either in the dictionaries or in the selection 
criteria) so that some cash audit reports were, shall we say, less than 
clear in terms of what was not reported.  So, *that* kind of user (no 
inhibitions at all!) does need to be constrained, if only so that there will 
be documentation of what the system is doing after they leave the company!


Susan Lynch
F W Davison  Company, Inc.

- Original Message - 
From: MAJ Programming [EMAIL PROTECTED]

To: u2-users@listserver.u2ug.org
Sent: Thursday, May 24, 2007 11:41 AM
Subject: Re: [U2] A question of dictionaries.



I should add a comment to your post regarding the user changing a reporting
column.

This borders on a very slippery topic regarding the user's access to the
system. In my travels, many systems prevent their access to TCL. Those 
that

allow access only give the users a very, very limited set of commands like
LIST and SORT and perhaps SELECt but never EDIT or BASIC etc.

Plus the user's natural inhibitions prevent them from learning (retaining)
what they may see us typing.

So I guess my question is what kind of 'user' could actually change a
reporting column to begin with. In many of my clients' systems there are
formal, menu-driven reports with specific indicators in the headings for
report identification. The users who make their own English report never,
never use HEADING so that would be my first sign of a renegade report.

I don't use EVAL or other live dict items and I can't imagine the most
serious non-MV user crossing over that line. We programmers, having the 
keys
to the entire castle, sometimes feel that the users are only one small 
step

behind us. Everytime I think that they're near me, I'm reminded of how
contained they actually are.

For over a quarter of a century I've been trying to show users the
simplicity of creating their own reports in English. I've found that you 
can

lead a horse to water but you cannot make them drink. I've seen users
decline retaining education after attending Crystal Reports classes, Excel
Classes, Powerpoint classes and even MS Access classes. I don't think they
will take a liking to our dictionaries.

My 2 cents
Mark Johnson

---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


[U2] [BB] Enhancement - WRITE

2007-05-24 Thread Susan Joslyn
Well, gang . I think that the U2's should be smarter about reporting what
file can't write and WHY and also failing more gracefully than a SPLAT to
TCL.

Nevertheless, since IBM is not interested in my idea now that I'm on a PE
edition and y'all didn't jump all over the idea - I'll go revamp all WRITEs
through a subroutine (particularly obnoxious since you can't pass file
variables as arguments in one of the flavors, I forget which).

So now, I'm digging around looking for a command in BASIC that will let you
test the waters - check a file for write-ability. And I'm coming up dry.  I
have stuff that does status on files but I don't see that I can test write
permissions from there.  Anyone?

[If you could copy me on your reply I'd appreciate not having to wait for
the digest. ]

Thanks a mil!

Susan ([EMAIL PROTECTED])
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/


Re: [U2] A question of dictionaries.

2007-05-24 Thread john reid

I have a feeling that this one could go on a bit. Far be it for me to
break the chain...

We have separate accounts that exist solely for the purpose of users
who have tcl access. Within those accounts, is a minimum of
potentially damage causing verbs.

But, if security is a BIG priority, the most potent method that I know
of, is to make every 'attribute' that needs guarding, an itype, that
is hooked to an 'attribute.security' subroutine that contains a test
which returns the field's attribute number contents if the user can
see all of the fields and maybe null if the user isnt supposed to see
the contents. The sub parses everything in the sentence that is a LIST
or SORT etc, throwing out key words and verbs.

The security file contains allowed , disallowed ( or both), file names
that probably can be keyed by user id or some class of users, such as
a function oriented job code.

Field 1 might contain strings of file.names that the user has even
potential access to, and field 2, contains the attribute names,
subvalued according to file name, or maybe an asterisk if the user can
see anything in that file.

Separate security is also placed upon the other VERBs in the account
that could be used to side step attribute security (using VOC
REC1=R,  VOC REC4=*VERB.SECURITY.ROUTINE',)  but verbs that would
be really nice to have for those who have to maintain accounts... such
as copy, ED (all the ED's maybe even EV) etc.  And dont forget to
delete or rename the EVAL keyword.

So when the 'PAUL SARBANES (D-MD)' auditors come by and say, 'how do
you PROPOSE to limit the view resulting from ad hoc queries, you can
have an answer for them?

.

On 5/24/07, Susan Lynch [EMAIL PROTECTED] wrote:

Mark,

In my early days of consulting, many years ago, I had a client whose CFO
insisted that anything that I wrote that *could* be written in English
(UniQuery under its original Microdata name) be written that way, even if it
was less efficient, because then if it needed changing when I was not
on-site, he could do it himself.  After he was let go, I got a frantic call
from his assistant - a million dollar order was missing on the system.
Turns out he had modified one of my dictionaries and created his own version
of a report to only show an order once, not on subsequent months, because
the production team did not want to get flak from upper management about
orders that had not yet completely shipped.  It took me a while to figure
out what he had done and fix it so that they did not suddenly find
themselves losing track of the huge orders.  It also appeared that some
reports had been modified (either in the dictionaries or in the selection
criteria) so that some cash audit reports were, shall we say, less than
clear in terms of what was not reported.  So, *that* kind of user (no
inhibitions at all!) does need to be constrained, if only so that there will
be documentation of what the system is doing after they leave the company!

Susan Lynch
F W Davison  Company, Inc.

- Original Message -
From: MAJ Programming [EMAIL PROTECTED]
To: u2-users@listserver.u2ug.org
Sent: Thursday, May 24, 2007 11:41 AM
Subject: Re: [U2] A question of dictionaries.


I should add a comment to your post regarding the user changing a reporting
 column.

 This borders on a very slippery topic regarding the user's access to the
 system. In my travels, many systems prevent their access to TCL. Those
 that
 allow access only give the users a very, very limited set of commands like
 LIST and SORT and perhaps SELECt but never EDIT or BASIC etc.

 Plus the user's natural inhibitions prevent them from learning (retaining)
 what they may see us typing.

 So I guess my question is what kind of 'user' could actually change a
 reporting column to begin with. In many of my clients' systems there are
 formal, menu-driven reports with specific indicators in the headings for
 report identification. The users who make their own English report never,
 never use HEADING so that would be my first sign of a renegade report.

 I don't use EVAL or other live dict items and I can't imagine the most
 serious non-MV user crossing over that line. We programmers, having the
 keys
 to the entire castle, sometimes feel that the users are only one small
 step
 behind us. Everytime I think that they're near me, I'm reminded of how
 contained they actually are.

 For over a quarter of a century I've been trying to show users the
 simplicity of creating their own reports in English. I've found that you
 can
 lead a horse to water but you cannot make them drink. I've seen users
 decline retaining education after attending Crystal Reports classes, Excel
 Classes, Powerpoint classes and even MS Access classes. I don't think they
 will take a liking to our dictionaries.

 My 2 cents
 Mark Johnson
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/




--
john
---
u2-users mailing list
u2-users@listserver.u2ug.org

Re: [U2] [BB] Enhancement - WRITE

2007-05-24 Thread karlp
If you do a STATUS [not to be confused with STATUS()] on a file, you can
check read-write permissions, as well as uid/gid.

type this at TCL:

HELP BASIC STATUS

which will give you both Windows and Unix help.

HTH,

Karl

quote who=Susan Joslyn
 Well, gang . I think that the U2's should be smarter about reporting what
 file can't write and WHY and also failing more gracefully than a SPLAT to
 TCL.

 Nevertheless, since IBM is not interested in my idea now that I'm on a PE
 edition and y'all didn't jump all over the idea - I'll go revamp all
 WRITEs
 through a subroutine (particularly obnoxious since you can't pass file
 variables as arguments in one of the flavors, I forget which).

 So now, I'm digging around looking for a command in BASIC that will let
 you
 test the waters - check a file for write-ability. And I'm coming up dry.
 I
 have stuff that does status on files but I don't see that I can test write
 permissions from there.  Anyone?

 [If you could copy me on your reply I'd appreciate not having to wait for
 the digest. ]

 Thanks a mil!

 Susan ([EMAIL PROTECTED])
 ---
 u2-users mailing list
 u2-users@listserver.u2ug.org
 To unsubscribe please visit http://listserver.u2ug.org/



-- 
Karl Pearson
Director of I.T.
ATS Industrial Supply, Inc.
[EMAIL PROTECTED]
http://www.atsindustrial.com
800-789-9300 x29
Local: 801-978-4429
Fax: 801-972-3888

To mess up your Linux PC, you have to really work at it;
 to mess up a microsoft PC you just have to work on it.
---
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/