00001 IDENTIFICATION DIVISION. 08/13/98 00002 PROGRAM-ID. DTSBU056. DTSBU056 00003 AUTHOR. TRICOASTAL CONSULTING LTD. LV002 00004 DATE-WRITTEN. JULY 1994. DTSBU056 00005 DATE-COMPILED. DTSBU056 00006 SKIP3 DTSBU056 00007 ***** DTSBU056 00008 * DTSBU056 00009 * FUNCTION: RATE DESCRIPTION. DTSBU056 00010 * DTSBU056 00011 * DTSBU056 00012 * MODIFICATION LOG: DTSBU056 00013 * DTSBU056 00014 * 07/12/94 CLONED FROM DTSCU056. CL**2 00015 * WORK ORDER: PROGRAMMER: RHC DTSBU056 00016 * DTSBU056 00017 * 08/16/94 NEW OPTIONS ADDED TO DISPLAY JUST 3 DIGITS TO THE DTSBU056 00018 * RIGHT OF THE DECIMAL POINT FOR MT TAX BUREAU USERS.DTSBU056 00019 * WORK ORDER:RAP PROGRAMMER: SFW DTSBU056 00020 * DTSBU056 00021 * 09/11/94 NEW OPTIONS ADDED TO ALWAYS DISPLAY 2 DIGITS TO DTSBU056 00022 * THE RIGHT OF THE DECIMAL POINT FOR PERCENTAGES DTSBU056 00023 * FOR MT TAX BUREAU USERS. DTSBU056 00024 * WORK ORDER:RAP PROGRAMMER: SFW DTSBU056 00025 * DTSBU056 00026 * 08/13/1998 REVIEWED AND MODIFIED FOR DC. CL**2 00027 * REFERENCE: DC DEVELOPMENT PROGRAMMER: EHH CL**2 00028 * CL**2 00029 * MM/DD/YYYY XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CL**2 00030 * XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX CL**2 00031 * REFERENCE: XXXXXXXXXXXXXXX PROGRAMMER: XXX CL**2 00032 * DTSBU056 00033 * DTSBU056 00034 * DESCRIPTION: DTSBU056 00035 * DTSBU056 00036 * DTSBU056 IS PASSED L056-OPTION AND L056-RATE. CL**2 00037 * DTSBU056 00038 * DTSBU056 RETURNS L056-DISP-RATE (IN A FORMAT DEPENDING ON CL**2 00039 * L056-OPTION). DTSBU056 00040 * DTSBU056 00041 * SEE THE COMMENTS IN DTSIL056 FOR THE FORMAT OF L056-DISP-RATE CL**2 00042 * DTSBU056 00043 ***** DTSBU056 00044 SKIP3 DTSBU056 00045 ENVIRONMENT DIVISION. DTSBU056 00046 SKIP3 DTSBU056 00047 DATA DIVISION. DTSBU056 00048 SKIP3 DTSBU056 00049 WORKING-STORAGE SECTION. DTSBU056 000495 77 PAN-VALET PICTURE X(24) VALUE '002DTSBU056 08/13/98'. DTSBU056 00050 SKIP3 DTSBU056 00051 01 WRK-AREA. DTSBU056 00052 05 WRK-ABEND-CODE PIC S9(04) COMP DTSBU056 00053 VALUE +056. DTSBU056 00054 05 WRK-RESP-CODE PIC S9(08) COMP. DTSBU056 00055 CL**2 00056 05 WRK-OPTION PIC 9(02). DTSBU056 00057 05 WRK-UNPACK-RATE PIC 9(01)V9(04). DTSBU056 00058 CL**2 00059 05 WRK-DISP-1RIGHT. DTSBU056 00060 10 FILLER PIC X(01). DTSBU056 00061 10 WRK-DISP-1LEFT-2ALL PIC X(07). DTSBU056 00062 10 WRK-DISP-LEFT-1P1 REDEFINES WRK-DISP-1LEFT-2ALL DTSBU056 00063 PIC 9.9. DTSBU056 00064 10 WRK-DISP-LEFT-1P2 REDEFINES WRK-DISP-1LEFT-2ALL DTSBU056 00065 PIC 9.99. DTSBU056 00066 10 WRK-DISP-LEFT-2P1 REDEFINES WRK-DISP-1LEFT-2ALL DTSBU056 00067 PIC 99.9. DTSBU056 00068 10 WRK-DISP-LEFT-2P2 REDEFINES WRK-DISP-1LEFT-2ALL DTSBU056 00069 PIC 99.99. DTSBU056 00070 10 WRK-DISP-LEFT-3P1 REDEFINES WRK-DISP-1LEFT-2ALL DTSBU056 00071 PIC 999.9. DTSBU056 00072 10 WRK-DISP-LEFT-3P2 REDEFINES WRK-DISP-1LEFT-2ALL DTSBU056 00073 PIC 999.99. DTSBU056 00074 10 WRK-DISP-RIGHT-P1 REDEFINES WRK-DISP-1LEFT-2ALL DTSBU056 00075 PIC ZZZ9.9. DTSBU056 00076 10 WRK-DISP-RIGHT-P2 REDEFINES WRK-DISP-1LEFT-2ALL DTSBU056 00077 PIC ZZ9.99. DTSBU056 00078 CL**2 00079 05 WRK-DISP-3ALL PIC X(07). DTSBU056 00080 05 WRK-DISP3-LEFT-0P3 REDEFINES WRK-DISP-3ALL DTSBU056 00081 PIC .999. DTSBU056 00082 05 WRK-DISP3-LEFT-1P3 REDEFINES WRK-DISP-3ALL DTSBU056 00083 PIC 9.999. DTSBU056 00084 05 WRK-DISP3-RIGHT REDEFINES WRK-DISP-3ALL DTSBU056 00085 PIC ZZZ.999. DTSBU056 00086 CL**2 00087 05 WRK-DISP-4ALL PIC X(07). DTSBU056 00088 05 WRK-DISP4-LEFT-0P4 REDEFINES WRK-DISP-4ALL DTSBU056 00089 PIC .9999. DTSBU056 00090 05 WRK-DISP4-LEFT-1P4 REDEFINES WRK-DISP-4ALL DTSBU056 00091 PIC 9.9999. DTSBU056 00092 05 WRK-DISP4-RIGHT REDEFINES WRK-DISP-4ALL DTSBU056 00093 PIC ZZ.9999. DTSBU056 00094 EJECT DTSBU056 00095 LINKAGE SECTION. DTSBU056 00096 SKIP3 DTSBU056 00097 01 L056-LINK-AREA. DTSBU056 00098 ++INCLUDE DTSIL056 CL**2 00099 EJECT DTSBU056 00100 PROCEDURE DIVISION DTSBU056 00101 USING L056-LINK-AREA. DTSBU056 00102 SKIP2 DTSBU056 00103 MOVE SPACE TO L056-DISP-RATE. DTSBU056 00104 CL**2 00105 IF L056-NO-RATE-88 DTSBU056 00106 GO TO PROCEDURE-EXIT. DTSBU056 00107 CL**2 00108 MOVE SPACE TO WRK-DISP-1RIGHT DTSBU056 00109 WRK-DISP-3ALL DTSBU056 00110 WRK-DISP-4ALL. DTSBU056 00111 MOVE L056-RATE TO WRK-UNPACK-RATE. DTSBU056 00112 CL**2 00113 IF L056-OPTION NUMERIC DTSBU056 00114 MOVE L056-OPTION TO WRK-OPTION DTSBU056 00115 ELSE DTSBU056 00116 PERFORM S999-ABEND THRU S999-EXIT. DTSBU056 00117 CL**2 00118 GO TO DTSBU056 00119 P1000-DISP1-LEFT DTSBU056 00120 P2000-DISP1-RIGHT DTSBU056 00121 P3000-DISP2-LEFT DTSBU056 00122 P4000-DISP2-RIGHT DTSBU056 00123 P5000-DISP3-LEFT DTSBU056 00124 P6000-DISP3-RIGHT DTSBU056 00125 P7000-DISP4-LEFT DTSBU056 00126 P8000-DISP4-RIGHT DTSBU056 00127 P9000-DISP1-LEFT-PCT DTSBU056 00128 P10000-DISP1-RIGHT-PCT DTSBU056 00129 P11000-DISP2-LEFT-PCT DTSBU056 00130 P12000-DISP2-RIGHT-PCT DTSBU056 00131 DEPENDING ON WRK-OPTION. DTSBU056 00132 CL**2 00133 PERFORM S999-ABEND THRU S999-EXIT. DTSBU056 00134 SKIP3 DTSBU056 00135 P1000-DISP1-LEFT. DTSBU056 00136 CL**2 00137 IF WRK-UNPACK-RATE (5:1) = '0' DTSBU056 00138 IF WRK-UNPACK-RATE (1:1) = '0' DTSBU056 00139 IF WRK-UNPACK-RATE (2:1) = '0' DTSBU056 00140 COMPUTE WRK-DISP-LEFT-1P1 = L056-RATE * 100 DTSBU056 00141 ELSE DTSBU056 00142 COMPUTE WRK-DISP-LEFT-2P1 = L056-RATE * 100 DTSBU056 00143 ELSE DTSBU056 00144 COMPUTE WRK-DISP-LEFT-3P1 = L056-RATE * 100 DTSBU056 00145 ELSE DTSBU056 00146 IF WRK-UNPACK-RATE (1:1) = '0' DTSBU056 00147 IF WRK-UNPACK-RATE (2:1) = '0' DTSBU056 00148 COMPUTE WRK-DISP-LEFT-1P2 = L056-RATE * 100 DTSBU056 00149 ELSE DTSBU056 00150 COMPUTE WRK-DISP-LEFT-2P2 = L056-RATE * 100 DTSBU056 00151 ELSE DTSBU056 00152 COMPUTE WRK-DISP-LEFT-3P2 = L056-RATE * 100. DTSBU056 00153 CL**2 00154 MOVE WRK-DISP-1LEFT-2ALL TO L056-DISP-RATE. DTSBU056 00155 CL**2 00156 GO TO PROCEDURE-EXIT. DTSBU056 00157 SKIP3 DTSBU056 00158 P2000-DISP1-RIGHT. DTSBU056 00159 CL**2 00160 IF WRK-UNPACK-RATE (5:1) = '0' DTSBU056 00161 COMPUTE WRK-DISP-RIGHT-P1 = L056-RATE * 100 DTSBU056 00162 ELSE DTSBU056 00163 COMPUTE WRK-DISP-RIGHT-P2 = L056-RATE * 100. DTSBU056 00164 CL**2 00165 MOVE WRK-DISP-1RIGHT TO L056-DISP-RATE. DTSBU056 00166 CL**2 00167 GO TO PROCEDURE-EXIT. DTSBU056 00168 SKIP3 DTSBU056 00169 P3000-DISP2-LEFT. DTSBU056 00170 CL**2 00171 IF WRK-UNPACK-RATE (1:1) = '0' DTSBU056 00172 IF WRK-UNPACK-RATE (2:1) = '0' DTSBU056 00173 COMPUTE WRK-DISP-LEFT-1P2 = L056-RATE * 100 DTSBU056 00174 ELSE DTSBU056 00175 COMPUTE WRK-DISP-LEFT-2P2 = L056-RATE * 100 DTSBU056 00176 ELSE DTSBU056 00177 COMPUTE WRK-DISP-LEFT-3P2 = L056-RATE * 100. DTSBU056 00178 CL**2 00179 MOVE WRK-DISP-1LEFT-2ALL TO L056-DISP-RATE. DTSBU056 00180 CL**2 00181 GO TO PROCEDURE-EXIT. DTSBU056 00182 SKIP3 DTSBU056 00183 P4000-DISP2-RIGHT. DTSBU056 00184 CL**2 00185 COMPUTE WRK-DISP-RIGHT-P2 = L056-RATE * 100. DTSBU056 00186 CL**2 00187 MOVE WRK-DISP-1RIGHT TO L056-DISP-RATE. DTSBU056 00188 CL**2 00189 GO TO PROCEDURE-EXIT. DTSBU056 00190 SKIP3 DTSBU056 00191 P5000-DISP3-LEFT. DTSBU056 00192 CL**2 00193 IF WRK-UNPACK-RATE (5:1) = '0' DTSBU056 00194 NEXT SENTENCE DTSBU056 00195 ELSE DTSBU056 00196 GO TO P7000-DISP4-LEFT. DTSBU056 00197 IF WRK-UNPACK-RATE (1:1) = '0' DTSBU056 00198 MOVE L056-RATE TO WRK-DISP3-LEFT-0P3 DTSBU056 00199 ELSE DTSBU056 00200 MOVE L056-RATE TO WRK-DISP3-LEFT-1P3. DTSBU056 00201 CL**2 00202 MOVE WRK-DISP-3ALL TO L056-DISP-RATE. DTSBU056 00203 CL**2 00204 GO TO PROCEDURE-EXIT. DTSBU056 00205 SKIP3 DTSBU056 00206 P6000-DISP3-RIGHT. DTSBU056 00207 CL**2 00208 IF WRK-UNPACK-RATE (5:1) = '0' DTSBU056 00209 NEXT SENTENCE DTSBU056 00210 ELSE DTSBU056 00211 GO TO P8000-DISP4-RIGHT. DTSBU056 00212 MOVE L056-RATE TO WRK-DISP3-RIGHT. DTSBU056 00213 CL**2 00214 MOVE WRK-DISP-3ALL TO L056-DISP-RATE. DTSBU056 00215 CL**2 00216 GO TO PROCEDURE-EXIT. DTSBU056 00217 SKIP3 DTSBU056 00218 P7000-DISP4-LEFT. DTSBU056 00219 CL**2 00220 IF WRK-UNPACK-RATE (1:1) = '0' DTSBU056 00221 MOVE L056-RATE TO WRK-DISP4-LEFT-0P4 DTSBU056 00222 ELSE DTSBU056 00223 MOVE L056-RATE TO WRK-DISP4-LEFT-1P4. DTSBU056 00224 CL**2 00225 MOVE WRK-DISP-4ALL TO L056-DISP-RATE. DTSBU056 00226 CL**2 00227 GO TO PROCEDURE-EXIT. DTSBU056 00228 SKIP3 DTSBU056 00229 P8000-DISP4-RIGHT. DTSBU056 00230 CL**2 00231 MOVE L056-RATE TO WRK-DISP4-RIGHT. DTSBU056 00232 CL**2 00233 MOVE WRK-DISP-4ALL TO L056-DISP-RATE. DTSBU056 00234 CL**2 00235 GO TO PROCEDURE-EXIT. DTSBU056 00236 SKIP3 DTSBU056 00237 P9000-DISP1-LEFT-PCT. DTSBU056 00238 CL**2 00239 IF WRK-UNPACK-RATE (5:1) = '0' DTSBU056 00240 IF WRK-UNPACK-RATE (1:1) = '0' DTSBU056 00241 IF WRK-UNPACK-RATE (2:1) = '0' DTSBU056 00242 COMPUTE WRK-DISP-LEFT-1P1 = L056-RATE * 100 DTSBU056 00243 MOVE '%' TO WRK-DISP-1LEFT-2ALL (4:1) DTSBU056 00244 ELSE DTSBU056 00245 COMPUTE WRK-DISP-LEFT-2P1 = L056-RATE * 100 DTSBU056 00246 MOVE '%' TO WRK-DISP-1LEFT-2ALL (5:1) DTSBU056 00247 ELSE DTSBU056 00248 COMPUTE WRK-DISP-LEFT-3P1 = L056-RATE * 100 DTSBU056 00249 MOVE '%' TO WRK-DISP-1LEFT-2ALL (6:1) DTSBU056 00250 ELSE DTSBU056 00251 IF WRK-UNPACK-RATE (1:1) = '0' DTSBU056 00252 IF WRK-UNPACK-RATE (2:1) = '0' DTSBU056 00253 COMPUTE WRK-DISP-LEFT-1P2 = L056-RATE * 100 DTSBU056 00254 MOVE '%' TO WRK-DISP-1LEFT-2ALL (5:1) DTSBU056 00255 ELSE DTSBU056 00256 COMPUTE WRK-DISP-LEFT-2P2 = L056-RATE * 100 DTSBU056 00257 MOVE '%' TO WRK-DISP-1LEFT-2ALL (6:1) DTSBU056 00258 ELSE DTSBU056 00259 COMPUTE WRK-DISP-LEFT-3P2 = L056-RATE * 100 DTSBU056 00260 MOVE '%' TO WRK-DISP-1LEFT-2ALL (7:1). DTSBU056 00261 CL**2 00262 MOVE WRK-DISP-1LEFT-2ALL TO L056-DISP-RATE. DTSBU056 00263 CL**2 00264 GO TO PROCEDURE-EXIT. DTSBU056 00265 SKIP3 DTSBU056 00266 P10000-DISP1-RIGHT-PCT. DTSBU056 00267 CL**2 00268 IF WRK-UNPACK-RATE (5:1) = '0' DTSBU056 00269 COMPUTE WRK-DISP-RIGHT-P1 = L056-RATE * 100 DTSBU056 00270 ELSE DTSBU056 00271 COMPUTE WRK-DISP-RIGHT-P2 = L056-RATE * 100. DTSBU056 00272 CL**2 00273 MOVE '%' TO WRK-DISP-1LEFT-2ALL (7:1). DTSBU056 00274 CL**2 00275 MOVE WRK-DISP-1LEFT-2ALL TO L056-DISP-RATE. DTSBU056 00276 CL**2 00277 GO TO PROCEDURE-EXIT. DTSBU056 00278 SKIP3 DTSBU056 00279 P11000-DISP2-LEFT-PCT. DTSBU056 00280 CL**2 00281 IF WRK-UNPACK-RATE (1:1) = '0' DTSBU056 00282 IF WRK-UNPACK-RATE (2:1) = '0' DTSBU056 00283 COMPUTE WRK-DISP-LEFT-1P2 = L056-RATE * 100 DTSBU056 00284 MOVE '%' TO WRK-DISP-1LEFT-2ALL (5:1) DTSBU056 00285 ELSE DTSBU056 00286 COMPUTE WRK-DISP-LEFT-2P2 = L056-RATE * 100 DTSBU056 00287 MOVE '%' TO WRK-DISP-1LEFT-2ALL (6:1) DTSBU056 00288 ELSE DTSBU056 00289 COMPUTE WRK-DISP-LEFT-3P2 = L056-RATE * 100 DTSBU056 00290 MOVE '%' TO WRK-DISP-1LEFT-2ALL (7:1). DTSBU056 00291 CL**2 00292 MOVE WRK-DISP-1LEFT-2ALL TO L056-DISP-RATE. DTSBU056 00293 CL**2 00294 GO TO PROCEDURE-EXIT. DTSBU056 00295 SKIP3 DTSBU056 00296 P12000-DISP2-RIGHT-PCT. DTSBU056 00297 CL**2 00298 COMPUTE WRK-DISP-RIGHT-P2 = L056-RATE * 100. DTSBU056 00299 CL**2 00300 MOVE '%' TO WRK-DISP-1LEFT-2ALL (7:1). DTSBU056 00301 CL**2 00302 MOVE WRK-DISP-1LEFT-2ALL TO L056-DISP-RATE. DTSBU056 00303 CL**2 00304 GO TO PROCEDURE-EXIT. DTSBU056 00305 SKIP3 DTSBU056 00306 PROCEDURE-EXIT. DTSBU056 00307 SKIP2 DTSBU056 00308 GOBACK. DTSBU056 00309 SKIP3 DTSBU056 00310 S999-ABEND. DTSBU056 00311 CL**2 00312 CALL 'DTSBU999' CL**2 00313 USING WRK-ABEND-CODE. DTSBU056 00314 CL**2 00315 S999-EXIT. DTSBU056 00316 EXIT. DTSBU056