HP3000-L Archives

February 2005, Week 2

HP3000-L@RAVEN.UTC.EDU

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Bob Comeau <[log in to unmask]>
Reply To:
[log in to unmask][log in to unmask]] On
Behalf Of Tom Brandt
Sent: Friday, February 11, 2005 1:49 PM
To: [log in to unmask]
Subject: Re: [HP3000-L] OT: Carly's Departure [...]41_11Feb200514:03:[log in to unmask]
Date:
Mon, 14 Feb 2005 08:34:01 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (256 lines)
Bob Comeau
Sr. Systems Programmer Analyst
Crossley Carpet Mills Ltd.
(902)895-5491 ex 139


-----Original Message-----
From: HP-3000 Systems Discussion [mailto:[log in to unmask]]On
Behalf Of Brian Donaldson
Sent: February 13, 2005 4:50 PM
To: [log in to unmask]
Subject: Re: Cobol/Intrinsics/MPEiX File System Problem (?)


Thanks to all who wrote to me. Your input is certainly appreciated.


After a little experimenting I discovered the Cobol "OPEN" of the "PAGE012"
file and the "FOPEN" intrinsic call of "TEMPOUT" must be returning the same
file number on different files.

Not a disaster, just needs a workaround. I came up with the following
solutions:

1) After "FCLOSE" of "TEMPOUT", move zeroes to the field "WS-FILE-NUM-OUT".
   That took care of the issue with the FCLOSE \4\ disposition.

2) Don't mix and match Cobol OPEN and FOPEN intrisic calls in the same
program.

3) Remove the FCLOSE with \4\ disposition...


The reason I prefer using the MPEiX intrinsics on files (FOPEN, FREAD,
FWRITE, FCLOSE) is that when an error occurs I can call FCHECK which will
give me a real MPEiX file system error number; whereas the generic,
standard, across-multiple-platforms COBOL error (e.g. "35", "48" etc etc)
doesn't give me anything useful. As far as I know there is no way of
programmatically converting these Cobol error codes into real world error
messages (without writing code to do the conversion).

Thanks for your help, Tony!
Brian.


On Sun, 13 Feb 2005 09:20:17 -0000, Tony Summers
<[log in to unmask]> wrote:

>As a first step to resolving your issue insert, just before your FCLOSE
>call, a little loop that gets the FFILEINFO information (eg. file name,
>but check the manual for all options you might be interested in) for all
>file numbers in the range 0-100 and also display the file number you are
>passing to that FCLOSE call.
>
>This code essentially gives you a list of all files opened by the
>current process :
>
>Move 0  to w-a-counter
>Perform 100 times
>    add 1    to w-a-counter
>    CALL INTRINSIC "FFILEINFO" USING W-A-COUNTER,
>                                      1, DBFI-FILENAME
>    DISPLAY W-A-COUNTER " " DBFI-FILENAME
>END-PERFORM
>
>My guess is that you're somehow forcing the cobol program to close the
>file by mixing and matching the Cobol open/read/write verbs with the
>lower level HP intrinsics.
>
>Essentially the former (cobol verbs) resolve to the latter - so whenever
>you ask HP Cobol to open a file, it calls FOPEN on your behalf and
>internally remembers a file-number to be used on all subsequent Cobol
>read/write/close calls.    Your FCLOSE call could therefore be passing
>down to MPE the valid File number of the PAGE012 file by accident.
>
>Also, you could adapt the above code to search the process'es file
>number table to check whether the TEMPOUT file is indeed currently open
>(another FINFO option I think) and then only issue the FCLOSE command if
>necessary.
>
>-----Original Message-----
>From: HP-3000 Systems Discussion [mailto:[log in to unmask]] On
>Behalf Of Brian Donaldson
>Sent: 12 February 2005 18:53
>To: [log in to unmask]
>Subject: [HP3000-L] Cobol/Intrinsics/MPEiX File System Problem (?)
>
>Interesting little thing I just discovered -- maybe programmer brain
>damage, maybe not.......   :-)
>
>I have a Cobol program that does read/writes to multiple files.
>
>Code examples here:
>
>
>SELECT PAGE-012-FILE ASSIGN TO "PAGE012,,,DISC,500000"
>                      ORGANIZATION IS INDEXED
>                      RECORD KEY   IS PAGE-012-KEY
>                                 WITH DUPLICATES
>            ALTERNATE RECORD KEY   IS PAGE-012-LINE-SEQ-NO-X
>                                 WITH DUPLICATES
>                      ACCESS MODE  IS RANDOM
>                      FILE STATUS  IS WS-STATUS.
>
>FD  PAGE-012-FILE.
> 01  PAGE-012-RECORD.
>     05  PAGE-012-FILE-NAME               PIC  X(26).
>     05  PAGE-012-DATA-RECORD.
>         10  PAGE-012-KEY.
>             15  PAGE-012-PAGE-NO         PIC  9(05).
>             15  PAGE-012-LINE-NO-X.
>                 20  PAGE-012-LINE-NO     PIC  9(02).
>         10  PAGE-012-DATA-TABLE.99
>             15  PAGE-012-LINE-SEQ-NO-X.
>                 20  PAGE-012-LINE-SEQ-NO PIC  9(04).
>             15  PAGE-012-STREAM-LINE     PIC  X(256).
>
>The "PAGE012" (temporary) file is accessed with the Cobol READ/WRITE
>verbs.
>
>I use the MPEiX intrinsics FOPEN/FWRITE/FCLOSE on another temporary file
>named "TEMPOUT".
>
>"PAGE012" is already open when I try to work on the "TEMPOUT" file.
>(Opened with the Cobol OPEN I-O verb.)
>
>Before I do the "FOPEN" on the temp file "TEMPOUT" I do an "FCLOSE" on
>it with a \4\ disposition (close with delete option). Just a
>precautionary measure to make sure the old version of "TEMPOUT" is gone
>before FOPENing a new one.
>
>Well, guess what? The "FCLOSE" with the \4\ disposition is closing and
>purging the "PAGE012" file !!
>
>My solution to the problem was to remove the "FCLOSE" with the \4\
>disposition but therein remains the mystery.
>
>Is this a bug in the file system or an application bug in my program?
>(Nah, never -- every programmer writes "perfect" code, right?)
>
>
>
>Actually, this reminds me of another "problem" I discovered many eons
>ago (pre 5.5) that it was disastrous to use "FOPEN" and "HPFOPEN" in the
>same program as they both can return the SAME file number on different
>files!!
>
>I don't know if HP ever fixed that probem or not....
>
>
>PROCEDURE DIVISION.
>
>
>
>...
>...
>
>*Added as precaution to ensure file is closed and non-existent before
>FOPEN
>    CALL INTRINSIC "FCLOSE" USING WS-FILE-NUM-OUT,
>                                                                     \4\
>\0 \.
>
>     MOVE "TEMPOUT" TO WS-TEMP-FILE-NAME.
>     MOVE ZEROES    TO ERR-FLAG.
>     MOVE SPACES    TO WS-STOP-FLAG.
>     CALL INTRINSIC "FOPEN" USING WS-TEMP-FILE-NAME,
>                                  \4\ \1\
>                                  WS-REC-SIZE,
>                                  \\ \\ \\ \\
>                                  \\    WS-FLIMIT-SIZE
>                                  \\ \\ WS-FILE-CODE-2
>                           GIVING WS-FILE-NUM-OUT
>     END-CALL.
>     IF C-C NOT = ZEROES THEN
>        CALL INTRINSIC "FCHECK" USING WS-FILE-NUM-OUT,
>                                      WS-ERROR-CODE
>                                      \\ \\ \\
>        END-CALL
>        MOVE 10  TO WS-MSGNUM
>        MOVE 1   TO ERR-FLAG
>        MOVE "Y" TO WS-STOP-FLAG
>        GO TO XXXX-EXIT
>     END-IF.
>
>     CALL INTRINSIC "FCLOSE" USING WS-FILE-NUM-OUT,
>                                   \%12\ \0\
>     END-CALL.
>
>
>Brian Donaldson.
>
>* To join/leave the list, search archives, change list settings, *
>* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *
>
>______________________________________________________________________
>This email has been scanned by the MessageLabs Email Security System.
>For more information please visit http://www.messagelabs.com/email
>______________________________________________________________________
>
>
>
>
>The contents of this email are confidential to the intended recipient
>and may not be disclosed. Although it is believed that this email and
>any attachments are virus free, it is the responsibility of the recipient
to confirm this.
>
>Smith & Williamson Corporate Finance Limited - A member of M&A
>International Inc. http://www.mergers.net Registered in England No.
>4533970. Authorised and regulated by the Financial Services Authority
>Smith & Williamson Investment Management Limited, Registered No. 976145.
Authorised and regulated by the Financial Services Authority.
>Smith & Williamson Pension Consultancy Limited - Independent
>Intermediary. Registered No. 3133226. Authorised and regulated by the
>Financial Services Authority.
>Smith & Williamson Fund Administration Limited, Registered No. 1934644.
Authorised and regulated by the Financial Services Authority.
>Smith & Williamson Limited - A member of Nexia International.
>Registered in England No. 4534022. Regulated by the Institute of
>Chartered Accountants in England & Wales for a range of investment
>business activities.
>
>Registered Office: No 1 Riding House Street, London W1A 3AS
>Telephone: 020 7637 5377 http://www.smith.williamson.co.uk
>
>Nexia Audit Limited - A member of Nexia International. Registered in
>England No. 4469576. Registered to carry on audit work and regulated by
the Institute of Chartered Accountants in England & Wales for a range of
investment business activities.
>
>Registered Office: No 1 Riding House Street, London W1A 3AS
>Telephone: 020 7637 5377 http://www.nexiaaudit.co.uk
>
>NCL Investments Limited, Registered No. 1913794.
>Member of the London Stock Exchange authorised and regulated by the
Financial Services Authority.
>
>Registered Office: Bartlett House, 9-12 Basinghall Street, London  EC2V 5NS
>Telephone: 020 7600 2801
>
>
>______________________________________________________________________
>This email has been scanned by the MessageLabs Email Security System.
>For more information please visit http://www.messagelabs.com/email
>______________________________________________________________________
>
>* To join/leave the list, search archives, change list settings, *
>* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

* To join/leave the list, search archives, change list settings, *
* etc., please visit http://raven.utc.edu/archives/hp3000-l.html *

ATOM RSS1 RSS2