Files
DUTAS/CICS/DTSCU011.cob
2025-07-21 11:20:11 -04:00

104 lines
8.1 KiB
COBOL

00001 IDENTIFICATION DIVISION. 09/22/98
00002 PROGRAM-ID. DTSCU011 DTSCU011
00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV006
00004 DATE-WRITTEN DECEMBER 1991. DTSCU011
00005 DATE-COMPILED. DTSCU011
00006 SKIP3 DTSCU011
00007 ***** DTSCU011
00008 * DTSCU011
00009 * FUNCTION: EDIT AND FORMAT MONEY AMOUNT FROM SCREEN DTSCU011
00010 * DTSCU011
00011 * DTSCU011
00012 * MODIFICATION LOG: DTSCU011
00013 * DTSCU011
00014 * 08/03/98 INITIAL DEVELOPMENT MODIFIED FROM MACCU011. CL**2
00015 * WORK ORDER: PROGRAMMER: ZL1. CL**2
00016 * DTSCU011
00017 * DTSCU011
00018 * XX/XX/XX XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSCU011
00019 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX DTSCU011
00020 * WORK ORDER: PROGRAMMER: DTSCU011
00021 * DTSCU011
00022 * DTSCU011
00023 * DTSCU011
00024 ***** DTSCU011
00025 SKIP3 DTSCU011
00026 ENVIRONMENT DIVISION. DTSCU011
00027 DATA DIVISION. DTSCU011
00028 SKIP3 DTSCU011
00029 WORKING-STORAGE SECTION. DTSCU011
000295 77 PAN-VALET PICTURE X(24) VALUE '006DTSCU011 09/22/98'. DTSCU011
00030 01 WRK-AREA. DTSCU011
00031 05 VALID-NUMBER-IND PIC X(01). DTSCU011
00032 05 NEGATIVE-FOUND-IND PIC X(01). DTSCU011
00033 05 WS-SUB PIC S9(04) COMP. DTSCU011
00034 05 IN-SUB PIC S9(04) COMP. DTSCU011
00035 05 WS-AREA PIC 9(18). DTSCU011
00036 LINKAGE SECTION. DTSCU011
00037 01 DFHCOMMAREA. DTSCU011
00038 ++INCLUDE DTSIL011 CL**4
00039 PROCEDURE DIVISION. DTSCU011
00040 INSPECT L011-S-AMT CONVERTING LOW-VALUE TO SPACE. DTSCU011
00041 SKIP2 DTSCU011
00042 IF L011-S-AMT = SPACES DTSCU011
00043 SET L011-NO-ENTRY TO TRUE CL**3
00044 MOVE ZERO TO L011-AMT DTSCU011
00045 GO TO INIT0199-GO-BACK. DTSCU011
00046 CL**2
00047 SET L011-VALID TO TRUE. CL**3
00048 MOVE +0 TO L011-AMT. CL**2
00049 MOVE 0 TO WS-AREA. CL**2
00050 MOVE 'N' TO VALID-NUMBER-IND. DTSCU011
00051 MOVE 'N' TO NEGATIVE-FOUND-IND. DTSCU011
00052 MOVE +19 TO WS-SUB. DTSCU011
00053 PERFORM P1000-LOOP THRU P1000-LOOP-EXIT CL**2
00054 VARYING IN-SUB FROM 18 BY -1 DTSCU011
00055 UNTIL IN-SUB < 1. DTSCU011
00056 IF L011-NOT-VALID DTSCU011
00057 GO TO INIT0199-GO-BACK. DTSCU011
00058 CL**2
00059 IF NEGATIVE-FOUND-IND = 'N' DTSCU011
00060 COMPUTE L011-AMT = WS-AREA / 100 DTSCU011
00061 ELSE DTSCU011
00062 COMPUTE L011-AMT = (WS-AREA / 100) * -1. DTSCU011
00063 CL**2
00064 IF (L011-MIN-AMT NOT < +0) AND CL**2
00065 (L011-AMT < +0) DTSCU011
00066 SET L011-INVALID-NEGATIVE TO TRUE CL**3
00067 ********SET L011-NOT-VALID TO TRUE CL**6
00068 GO TO INIT0199-GO-BACK. CL**2
00069 CL**2
00070 IF (L011-AMT < L011-MIN-AMT) OR CL**2
00071 (L011-AMT > L011-MAX-AMT) DTSCU011
00072 SET L011-EXCEEDS-MIN-MAX TO TRUE. CL**6
00073 ********SET L011-NOT-VALID TO TRUE. CL**6
00074 INIT0199-GO-BACK. DTSCU011
00075 EXEC CICS DTSCU011
00076 RETURN DTSCU011
00077 END-EXEC. DTSCU011
00078 GOBACK. DTSCU011
00079 P1000-LOOP. DTSCU011
00080 IF L011-S-AMT (IN-SUB : 1) = SPACES OR CL**2
00081 L011-S-AMT (IN-SUB : 1) = LOW-VALUES OR CL**5
00082 L011-S-AMT (IN-SUB : 1) = ',' OR CL**5
00083 L011-S-AMT (IN-SUB : 1) = '.' CL**2
00084 GO TO P1000-LOOP-EXIT. CL**2
00085 CL**2
00086 IF L011-S-AMT (IN-SUB : 1) = '-' DTSCU011
00087 IF NEGATIVE-FOUND-IND = 'Y' CL**2
00088 SET L011-NOT-NUMERIC TO TRUE CL**3
00089 ***********SET L011-NOT-VALID TO TRUE CL**6
00090 GO TO P1000-LOOP-EXIT CL**2
00091 ELSE DTSCU011
00092 MOVE 'Y' TO NEGATIVE-FOUND-IND DTSCU011
00093 GO TO P1000-LOOP-EXIT. CL**2
00094 CL**2
00095 IF L011-S-AMT (IN-SUB : 1) NUMERIC DTSCU011
00096 SUBTRACT 1 FROM WS-SUB DTSCU011
00097 MOVE L011-S-AMT (IN-SUB : 1) TO WS-AREA (WS-SUB : 1) DTSCU011
00098 MOVE 'Y' TO VALID-NUMBER-IND DTSCU011
00099 ELSE DTSCU011
00100 SET L011-NOT-NUMERIC TO TRUE. CL**6
00101 *********SET L011-NOT-VALID TO TRUE. CL**6
00102 P1000-LOOP-EXIT. EXIT. CL**2