HP3000-L Archives

October 1996, Week 4

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:
Fernando Olmos <[log in to unmask]>
Reply To:
Fernando Olmos <[log in to unmask]>
Date:
Wed, 23 Oct 1996 10:14:00 PDT
Content-Type:
text/plain
Parts/Attachments:
text/plain (156 lines)
 ----------
From: Fernando Olmos
To: Marshall
Subject: Re: Help required in COB85XL compiler error
Date: Wednesday, October 23, 1996 9:58AM

>The report command only lists disk usage, not free space.  Use "discfree"
to
>show usage and free space.

Thanks

>As for your cobol error, remember, you do not need to compile a program to
a
>USLFILE by name, leaving the USLFILE name blank gives an object code file
>name

Ok, but what is a USLFILE? I'm sorry, but I am new to the HP environment and
also to the COBOL 85XL edition for the HP. I know COBOL programming of
course, but not the "nitty gritty" things related with the HP platform.

I noticed that the TSS9130S program I'm trying to compile forms part of many
other TSS@ files that are used as SUBROUTINES to major COBOL programs. I
also noticed that there is a TSSUSLX file which generates (I believe) the
USL file you mentioned. Here is that file...

!JOB TSSUSLX,$USER.$ACCOUNT,$GROUP
!
!COMMENT - This X file is used to create TSSUSL
!
!PURGE TSSUSL
!BUILD TSSUSL;CODE=USL;DISC=1280,2
!FILE COPYLIB=TSSLIB
!COBOLII TSS9000S,TSSUSL,$NULL
!COBOLII TSS9010S,TSSUSL,$NULL
!COBOLII TSS9020S,TSSUSL,$NULL
!COBOLII TSS9030S,TSSUSL,$NULL
!COBOLII TSS9040S,TSSUSL,$NULL
!COBOLII TSS9050S,TSSUSL,$NULL
!COBOLII TSS9060S,TSSUSL,$NULL
!COBOLII TSS9070S,TSSUSL,$NULL
!COBOLII TSS9080S,TSSUSL,$NULL
!COBOLII TSS9090S,TSSUSL,$NULL
!COBOLII TSS9110S,TSSUSL,$NULL
!COBOLII TSS9120S,TSSUSL,$NULL
!COBOLII TSS9130S,TSSUSL,$NULL
!COBOLII TSS9140S,TSSUSL,$NULL
!COBOLII TSS9150S,TSSUSL,$NULL
!COBOLII TSS9160S,TSSUSL,$NULL
!COBOLII TSS9170S,TSSUSL,$NULL
!COBOLII TSS9180S,TSSUSL,$NULL
!COBOLII TSS9190S,TSSUSL,$NULL
!COBOLII TSS9200S,TSSUSL,$NULL
!COBOLII TSS9210S,TSSUSL,$NULL
!COBOLII TSS9220S,TSSUSL,$NULL
!COBOLII TSS9230S,TSSUSL,$NULL
!COBOLII TSS9240S,TSSUSL,$NULL
!COBOLII TSS9250S,TSSUSL,$NULL
!COBOLII TSS9260S,TSSUSL,$NULL
!COBOLII TSS9270S,TSSUSL,$NULL
!COBOLII TSS9280S,TSSUSL,$NULL
!COBOLII TSS9290S,TSSUSL,$NULL
!COBOLII TSS9300S,TSSUSL,$NULL
!COBOLII TSS9310S,TSSUSL,$NULL
!COBOLII TSS9320S,TSSUSL,$NULL
!COBOLII TSS9330S,TSSUSL,$NULL
!COBOLII TSS9340S,TSSUSL,$NULL
!COBOLII TSS9350S,TSSUSL,$NULL
!COBOLII TSS9360S,TSSUSL,$NULL
!
!SEGMENTER
USL TSSUSL
LISTUSL
EXIT
!
!EOJ

What is the SEGMENTER program for? I noticed upon running this X file that
it did NOT create the TSS@U files (ie: TSS9130U, TSS9320U,etc) , which is
the object code necessary to LINK in with the major COBOL programs. Do I
have to do this manually?

>of $OLDPASS, which when LINKed will give you your executable program.  Do
you
>have a "$CONTROL USLINIT" statement in your cobol source code file?  If you

>don't, this error could mean that each time you have compiled your program
to
>that same USLFILE, the USLFILE was never re-initialized and hence filled
up.

I added the $CONTROL USLINIT statement to TSS9130S and compiled it using
COB85XL TSS9130S,TSS9130U,$NULL and I still get the following error....

  00649  Bk-end  80    384    Q    Codegen detected error (7204) error in
writin
  00649  Bk-end  80    999    D    UNABLE TO CONTINUE. COMPILATION
TERMINATED.

 1 ERROR(s), 1 QUESTIONABLE, 0 WARNING(s)

BTW the first few lines of TSS9130S was as follows (not including your above
suggestion)....

      $CONTROL SYNC16,SUBPROGRAM,MAP
       IDENTIFICATION DIVISION.

       PROGRAM-ID.                      TSS9130.

       AUTHOR.                          ANDREW YEOH.
       INSTALLATION.                    RMIT Admin Systems Group.
       DATE-WRITTEN.                    JANUARY 1982.
       ..etc...


>The following is a simple comparison between compiling stand-alone program
>modules and multiple subroutine modules:
>:cob85xl source1,obj1,$null <<<the $null means don't show on $STDLIST
>:linkedit obj1,prog1
>Above is a single source code file that creates a single object code file
>that is linked to create a executable program file.  OBJ1 above can be
replaced by
>$oldpasss.  A "$CONTROL USLINIT" will re-initialize the obj1 file for each
>compilation.

What is $OLDPASS?

>:cob85xl source1,obj1,$null
>:cob85xl source2,obj1,$null
>:cob85xl source3,obj1,$null
>:linkedit obj1,prog1

>This time we have compiled multiple modules into a single USLFILE called
>obj1.

So USLFILEs are actually OBJECT files?

>In file source1 there will be a "$CONTROL USLINIT" but in the subsequent
>source files there is either a "$CONTROL SUBROUTINE" or "$CONTROL >DYNAMIC"
to denote that the files contain subroutines that are called by an "outer
>block", in this case source1.  The whole thing is then linked into a
program file for >later execution.

Well in my problem the "error" occurs when I try to compile the SUBROUTINE
program TSS9130S. I do not have  $CONTROL USLINIT in my MAIN program (ie:
TMP0052P) so therefore the above is not a 'feasible' solution , as per what
I already explained above. Do I HAVE to put the $CONTROL USLINIT in my main
program (TMP0052P) even though I am NOT compiling it yet?

>I hope this helps you.  You may get a more complete answer from others on
the
>list.

Thanks Marshall. It did help, but there are still more questions unanswered.
I hope you can shed more light. Thanks for your time.

ATOM RSS1 RSS2