HP3000-L Archives

June 2005, Week 3

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:
Brian Donaldson <[log in to unmask]>
Reply To:
Brian Donaldson <[log in to unmask]>
Date:
Mon, 20 Jun 2005 19:11:02 -0400
Content-Type:
text/plain
Parts/Attachments:
text/plain (160 lines)
I have about 200+ lines of code that really need to be in a macro.

Only two parms are being passed into the macro but the amount of code is
what I think is killing me.....

The error is:

PAGE 0001  COBOL II/iX HP31500A.04.21  [85] Copyright Hewlett-Packard CO.
1987

LINE #   SEQ # COL ERROR SEV            TEXT
----------------------------------------------------------------------------
--
 11328  683200  12  390  Q  COMPILER ERROR: UNIMPLEMENTED CASE 12350 in
                            PROCEDURE GET'MACRO - array MACROTEXT too small.
*** FATAL ERROR TABLE OVERFLOW ***
 11328  683200  12  461  D  DYNAMIC ARRAY ERROR, OUT OF SPACE.

1 ERROR(s), 1 QUESTIONABLE, 0 WARNING(s)
*** COMPILATION TERMINATED ***
procedure STACK_TRACE
DEBUG/iX C.25.06

HPDEBUG Intrinsic at: 244.001724dc stack_trace+$9c
       PC=244.001724dc stack_trace+$9c
NM* 0) SP=4185e9f8 RP=244.00173334 abnormal_termination+$16c
NM  1) SP=4185e898 RP=244.00173994 error+$3ec
NM  2) SP=4185e7b8 RP=244.00173398 simple_error+$30
NM  3) SP=4185e4f8 RP=244.0013cce8 pp_warn+$c4
NM  4) SP=4185e4b0 RP=244.0013ee18 get_macro+$b4
NM  5) SP=4185e400 RP=244.0013e3e0 check_ppid+$44
NM  6) SP=4185b2d8 RP=244.001416d0 process_source+$300
NM  7) SP=4185b290 RP=244.001417e4 get_record+$68
NM  8) SP=4185b1c8 RP=244.001367e8 get_source_rec+$34
NM  9) SP=4185b190 RP=244.0013676c peek_source+$19c
NM  a) SP=4185b0f0 RP=244.00132110 get_exp_source+$148
NM  b) SP=4185b098 RP=244.00132ea8 do_pass_0+$d0
NM  c) SP=4185af60 RP=244.001335ac ANSI74+$18c
NM  d) SP=41854258 RP=244.00000000
     (end of NM stack)

    CHECKED SYNTAX ONLY.
    CPU TIME = 0:00:05.  WALL TIME = 0:01:03.

run COBOL.PUB.SYS,ANSI85;parm=7;info=""
Program terminated in an error state. (CIERR 976)
ERRORS IN COMPILE
   setjcw jcw=fatal
Unless a CONTINUE is in effect, the remainder of the
current UDC will be flushed. (CIWARN 1723)

Sample of the code is:

Mainline calling the macro:

     COPY FDBFHBLD OF VMACRO.
     %LOADFDBFHB(FDB#,DETAIL#)
     COPY FDBFHBL2 OF VMACRO.
     %LOADFDBFHB2(FDB#,DETAIL#)
     COPY FDBFHBL3 OF VMACRO.
     %LOADFDBFHB3(FDB#,DETAIL#)

Sample code in the macro:

$CONTROL NOLIST
$PREPROCESSOR DELIMITER=~
$DEFINE %LOADFDBFHB1=
     MOVE SPACES         TO PAGE-005-FILE-!2-REC.
     MOVE DB-!1-VA-LEFT  TO WS-VAD-LEFT.
     MOVE DB-!1-VA-RIGHT TO WS-VAD-RIGHT.
     STRING "Virtual Addr (DEC): " DELIMITED BY SIZE
            WS-VAD-LEFT            DELIMITED BY SIZE
            " "                    DELIMITED BY SIZE
            WS-VAD-RIGHT           DELIMITED BY SIZE
       INTO PAGE-005-FILE-!2-REC
     END-STRING.
     MOVE WS-PAGE-NO-005 TO PAGE-005-PAGE-NO.
     MOVE WS-LINE-NO-005 TO PAGE-005-LINE-NO.
     COPY VMACRO0 OF VMACRO.
     %WRITEPAGERECORD(005#,49#,3000-EDIT-ERR#)
     COPY VMACROA OF VMACRO.
     %PAGEINCR(005#,3000-EDIT-ERR#).
     ADD 1 TO WS-ENTRIES-SELECTED.

     INITIALIZE WS-UFIDS-TABLE.
     MOVE DB-!1-VA-LEFT            TO WS-UFIDS(1).
     MOVE DB-!1-VA-RIGHT           TO WS-UFIDS(2).
     MOVE SPACES                   TO WS-UFIDS-HEX-TABLE
                                      WS-VAD-LEFT-X
                                      WS-VAD-RIGHT-X.
     CALL "Convert_UFIDS_To_Hex" USING WS-UFIDS-TABLE,
                                       WS-UFIDS-HEX-TABLE
     END-CALL.
     COMPUTE WS-SUB = FUNCTION LENGTH(WS-VAD-LEFT).
     MOVE WS-SUB TO WS-SUB-A.
     PERFORM VARYING WS-SUB FROM WS-SUB BY -1
               UNTIL WS-SUB < 1
        IF WS-UFIDS-HEX-X (1)(WS-SUB:1) NOT = SPACES THEN
           MOVE WS-UFIDS-HEX-X (1)(WS-SUB:1)
             TO WS-VAD-LEFT-X     (WS-SUB-A:1)
           SUBTRACT 1 FROM WS-SUB-A
        END-IF
     END-PERFORM.
     COMPUTE WS-SUB = FUNCTION LENGTH(WS-VAD-RIGHT).
     MOVE WS-SUB TO WS-SUB-A.
     PERFORM VARYING WS-SUB FROM WS-SUB BY -1
               UNTIL WS-SUB < 1
        IF WS-UFIDS-HEX-X (2)(WS-SUB:1) NOT = SPACES THEN
           MOVE WS-UFIDS-HEX-X (2)(WS-SUB:1)
             TO WS-VAD-RIGHT-X    (WS-SUB-A:1)
           SUBTRACT 1 FROM WS-SUB-A
        END-IF
     END-PERFORM.
     MOVE SPACES TO PAGE-005-FILE-!2-REC.
     STRING "Virtual Addr (HEX): " DELIMITED BY SIZE
            WS-VAD-LEFT-X          DELIMITED BY SIZE
            " "                    DELIMITED BY SIZE
            WS-VAD-RIGHT-X         DELIMITED BY SIZE
       INTO PAGE-005-FILE-!2-REC
     END-STRING.
     MOVE WS-PAGE-NO-005 TO PAGE-005-PAGE-NO.
     MOVE WS-LINE-NO-005 TO PAGE-005-LINE-NO.
     COPY VMACRO0 OF VMACRO.
     %WRITEPAGERECORD(005#,49#,3000-EDIT-ERR#)
     COPY VMACROA OF VMACRO.
     %PAGEINCR(005#,3000-EDIT-ERR#).
     ADD 1 TO WS-ENTRIES-SELECTED.

     MOVE SPACES         TO PAGE-005-FILE-!2-REC.
     MOVE WS-PAGE-NO-005 TO PAGE-005-PAGE-NO.
     MOVE WS-LINE-NO-005 TO PAGE-005-LINE-NO.
     COPY VMACRO0 OF VMACRO.
     %WRITEPAGERECORD(005#,49#,3000-EDIT-ERR#)
     COPY VMACROA OF VMACRO.
     %PAGEINCR(005#,3000-EDIT-ERR#).
     ADD 1 TO WS-ENTRIES-SELECTED.

     MOVE SPACES          TO PAGE-005-FILE-!2-REC.
     MOVE DB-!1-REC-SIZE TO WS-REC-SIZE-DISP.
     STRING "Record Size(Bytes): " DELIMITED BY SIZE
            WS-REC-SIZE-DISP       DELIMITED BY SIZE
       INTO PAGE-005-FILE-!2-REC
     END-STRING.
     MOVE WS-PAGE-NO-005 TO PAGE-005-PAGE-NO.
     MOVE WS-LINE-NO-005 TO PAGE-005-LINE-NO.
     COPY VMACRO0 OF VMACRO.
     %WRITEPAGERECORD(005#,49#,3000-EDIT-ERR#)
     COPY VMACROA OF VMACRO.
     %PAGEINCR(005#,3000-EDIT-ERR#).
     ADD 1 TO WS-ENTRIES-SELECTED.
             etc etc......

Anyone got suggestions how to fix this problem and make the macro work?

TIA,
Brian.

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

ATOM RSS1 RSS2