HP3000-L Archives

October 1998, 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:
John Zoltak <[log in to unmask]>
Reply To:
John Zoltak <[log in to unmask]>
Date:
Mon, 26 Oct 1998 15:24:26 -0500
Content-Type:
text/plain
Parts/Attachments:
text/plain (176 lines)
John,

Here is one I made for printing payroll checks, up to $999,999.00. If
not good enough you should be able to expand it. If you have any
questions e-mail me. This is a COBOL subprogram.

John Zoltak
North American Mfg Co

148.5   $CONTROL NOSOURCE,SUBPROGRAM
148.6    IDENTIFICATION DIVISION.
148.7    PROGRAM-ID. SPELL-AMOUNT.
148.8    ENVIRONMENT DIVISION.
148.9    DATA DIVISION.
149      WORKING-STORAGE SECTION.
149.1
149.2    77 AMOUNT                    PIC S9(6)V99 COMP.
149.3    77 NUMBER-AMOUNT             PIC S9(9) COMP.
149.4    77 UNITS-AMOUNT              PIC S9(9) COMP.
149.5    77 CENTS                     PIC 9(2).
149.6
149.7    77 TEXT-NUMBER               PIC X(80).
149.8    77 TEXT-POINTER              PIC S9(9) COMP.
149.9
150      77 MADE-NUMBER               PIC X(32).
150.1
150.2    01 NUMBER-INIT.
150.3       05 PIC X(10) VALUE "ONE".
150.4       05 PIC X(10) VALUE "TWO".
150.5       05 PIC X(10) VALUE "THREE".
150.6       05 PIC X(10) VALUE "FOUR".
150.7       05 PIC X(10) VALUE "FIVE".
150.8       05 PIC X(10) VALUE "SIX".
150.9       05 PIC X(10) VALUE "SEVEN".
151         05 PIC X(10) VALUE "EIGHT".
151.1       05 PIC X(10) VALUE "NINE".
151.2       05 PIC X(10) VALUE "TEN".
151.3       05 PIC X(10) VALUE "ELEVEN".
151.4       05 PIC X(10) VALUE "TWELVE".
151.5       05 PIC X(10) VALUE "THIRTEEN".
151.6       05 PIC X(10) VALUE "FOURTEEN".
151.7       05 PIC X(10) VALUE "FIFTEEN".
151.8       05 PIC X(10) VALUE "SIXTEEN".
151.9       05 PIC X(10) VALUE "SEVENTEEN".
152         05 PIC X(10) VALUE "EIGHTEEN".
152.1       05 PIC X(10) VALUE "NINETEEN".
152.2
152.3       05 PIC X(10) VALUE "TEN".
152.4       05 PIC X(10) VALUE "TWENTY".
152.5       05 PIC X(10) VALUE "THIRTY".
152.6       05 PIC X(10) VALUE "FORTY".
152.7       05 PIC X(10) VALUE "FIFTY".
152.8       05 PIC X(10) VALUE "SIXTY".
152.9       05 PIC X(10) VALUE "SEVENTY".
153         05 PIC X(10) VALUE "EIGHTY".
153.1       05 PIC X(10) VALUE "NINETY".
153.2
153.3    01 NUMBER-TEXT-TABLE REDEFINES NUMBER-INIT.
153.4       05 UNITS-TEXT  OCCURS 19  PIC X(10).
153.5       05 TENS-TEXT   OCCURS 9   PIC X(10).
153.6
153.7    LINKAGE SECTION.
153.8
153.9    77 INPUT-AMOUNT              PIC S9(6)V99 COMP.
154      77 OUTPUT-AMOUNT             PIC X(80).
154.1
154.2    PROCEDURE DIVISION USING INPUT-AMOUNT, OUTPUT-AMOUNT.
154.3    BEGIN-FORMAT-AMOUNT.
154.4
154.5        MOVE SPACE TO TEXT-NUMBER.
154.6        MOVE 1 TO TEXT-POINTER.
154.7
154.8        MOVE INPUT-AMOUNT TO AMOUNT.
154.9
155          IF AMOUNT >= 100000.00
155.1           COMPUTE NUMBER-AMOUNT = AMOUNT / 100000.00
155.2           PERFORM MAKE-NUMBER
155.3           STRING MADE-NUMBER DELIMITED SPACE,
155.4                  "-HUNDRED " DELIMITED SIZE
155.5              INTO TEXT-NUMBER POINTER TEXT-POINTER
155.6           COMPUTE AMOUNT = AMOUNT - (NUMBER-AMOUNT * 100000.00)
155.7        END-IF.
155.8
155.9        IF AMOUNT >= 1000.00
156             COMPUTE NUMBER-AMOUNT = AMOUNT / 1000
156.1           PERFORM MAKE-NUMBER
156.2           STRING MADE-NUMBER DELIMITED SPACE,
156.3                  " THOUSAND " DELIMITED SIZE
156.4              INTO TEXT-NUMBER POINTER TEXT-POINTER
156.5           COMPUTE AMOUNT = AMOUNT - (NUMBER-AMOUNT * 1000.00)
156.6        ELSE
156.7           IF INPUT-AMOUNT >= 100000.00
156.8              STRING "THOUAND " DELIMITED SIZE
156.9                 INTO TEXT-NUMBER POINTER TEXT-POINTER
157             END-IF
157.1        END-IF.
157.2
157.3        IF AMOUNT >= 100.00
157.4           COMPUTE NUMBER-AMOUNT = AMOUNT / 100
157.5           PERFORM MAKE-NUMBER
157.6           STRING MADE-NUMBER DELIMITED SPACE
157.7                  "-HUNDRED " DELIMITED SIZE
157.8              INTO TEXT-NUMBER POINTER TEXT-POINTER
157.9           COMPUTE AMOUNT = AMOUNT - (NUMBER-AMOUNT * 100.00)
158          END-IF.
158.1
158.2        IF AMOUNT >= 1.00
158.3           COMPUTE NUMBER-AMOUNT = AMOUNT
158.4           PERFORM MAKE-NUMBER
158.5           STRING MADE-NUMBER DELIMITED SPACE
158.6              INTO TEXT-NUMBER POINTER TEXT-POINTER
158.7           COMPUTE AMOUNT = AMOUNT - (NUMBER-AMOUNT)
158.8        END-IF.
158.9
159          IF AMOUNT > 0.99
159.1           DISPLAY "ERROR GENERATING NUMBER TEXT"
159.2           STOP RUN
159.3        END-IF.
159.4
159.5        MULTIPLY 100 BY AMOUNT.
159.6        MOVE AMOUNT TO CENTS.
159.7        STRING " and ", CENTS, "/100" DELIMITED SIZE
159.8              INTO TEXT-NUMBER POINTER TEXT-POINTER.
159.9
160          MOVE TEXT-NUMBER TO OUTPUT-AMOUNT.
160.1        GOBACK.
160.2
160.3
160.4    MAKE-NUMBER.
160.5        IF NUMBER-AMOUNT < 20
160.6           MOVE UNITS-TEXT(NUMBER-AMOUNT) TO MADE-NUMBER
160.7        ELSE
160.8           COMPUTE TALLY = NUMBER-AMOUNT / 10
160.9
161             IF TALLY * 10 = NUMBER-AMOUNT
161.1              MOVE TENS-TEXT(TALLY) TO MADE-NUMBER
161.2           ELSE
161.3              COMPUTE UNITS-AMOUNT = NUMBER-AMOUNT - TALLY * 10
161.4
161.5              MOVE SPACE TO MADE-NUMBER
161.6              STRING TENS-TEXT(TALLY) DELIMITED SPACE,
161.7                     "-" DELIMITED SIZE
161.8                     UNITS-TEXT(UNITS-AMOUNT) DELIMITED SPACE
161.9                     INTO MADE-NUMBER
162                END-STRING
162.1           END-IF
162.2        END-IF.
162.3
162.4    END PROGRAM SPELL-AMOUNT.

> -----Original Message-----
> From: John Archer [SMTP:[log in to unmask]]
> Sent: Monday, October 26, 1998 3:11 PM
> To:   [log in to unmask]
> Subject:      [HP3000-L] Numeric to English Translator.
>
> Hi All,
>
> I've been asked to see if there is any FREE s/w that will translate a
> dollar
> figure into English that would be
> suitable for a computer generated check. Callable by a program
> preferably Cobol.
>
> Thanks for any responses,
> John
>
> John J. Archer                                  ---- Opinions are my
> own, not
> my employer's. ---
>    ph: 330-798-2190   fx:   330-798-3912
>    e-mail: [log in to unmask]
> IBM Global Services   @  Continental General Tire
>   One General St.
>   Akron, Oh.  44329

ATOM RSS1 RSS2