cdc:nos2.source:opl.opl871:common:comcvde
Common COMCVDE
2 Modifications
Source
Seq # *Modification Id* Act ----------------------------+ 00001 M01S00001.comcvde +++| CTEXT COMCVDE - VALIDATE DATE OR TIME EXPRESSION. 00002 M01S00002.comcvde +++| SPACE 4,10 00003 M01S00003.comcvde +++| IF -DEF,QUAL$ 00004 M01S00004.comcvde +++| QUAL COMCVDE 00005 M01S00005.comcvde +++| ENDIF 00006 M01S00006.comcvde +++| BASE D
Line S00007 Modification History | |
---|---|
M01 (Added by) | comcvde |
M02 (Updated by) | 281l803 |
Seq # *Modification Id* Act ----------------------------+ 00007 M02S00007.281l803 ---|* COMMENT COPYRIGHT CONTROL DATA CORPORATION, 1987. 00008 M01S00001.281l803 +++|* COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992. 00009 M01S00008.comcvde +++| VDE SPACE 4,10 00010 M01S00009.comcvde +++|*** COMCVDE - VALIDATE DATE OR TIME EXPRESSION. 00011 M01S00010.comcvde +++|* 00012 M01S00011.comcvde +++|* G. S. YODER. 89/05/11. 00013 M01S00012.comcvde +++| SPACE 4,15 00014 M01S00013.comcvde +++|*** VDE - VALIDATE DATE OR TIME EXPRESSION. 00015 M01S00014.comcvde +++|* 00016 M01S00015.comcvde +++|* *VDE* CONVERTS A DISPLAY CODED DATE OR TIME EXPRESSION TO A 00017 M01S00016.comcvde +++|* PACKED FORMAT DATE OR A PACKED FORMAT DATE AND TIME. A DATE 00018 M01S00017.comcvde +++|* MAY BE SPECIFIED EXPLICITLY OR AS THE NUMBER OF DAYS BEFORE 00019 M01S00018.comcvde +++|* OR AFTER A BASE DATE. A TIME MAY BE SPECIFIED EXPLICITLY OR 00020 M01S00019.comcvde +++|* AS THE NUMBER OF DAYS, HOURS, MINUTES, OR SECONDS BEFORE OR 00021 M01S00020.comcvde +++|* AFTER A BASE DATE AND TIME. STATUS IS RETURNED INDICATING 00022 M01S00021.comcvde +++|* WHETHER THE ENTERED DATE OR TIME IS BEFORE OR AFTER THE BASE 00023 M01S00022.comcvde +++|* DATE AND TIME AND WHETHER AN EXPLICIT VALUE WAS SPECIFIED. 00024 M01S00023.comcvde +++|* 00025 M01S00024.comcvde +++|* THE BASE DATE AND TIME WILL BE SET TO THE CURRENT DATE AND 00026 M01S00025.comcvde +++|* TIME ON THE FIRST CALL TO *VDT* IF NOT PRESET BY THE CALLER. 00027 M01S00026.comcvde +++| VDE SPACE 4,75 00028 M01S00027.comcvde +++|** VDE - VALIDATE RELATIVE OR EXPLICIT DATE OR TIME EXPRESSION. 00029 M01S00028.comcvde +++|* 00030 M01S00029.comcvde +++|* ENTRY (X1) = DATE OR TIME PARAMETER, LEFT JUSTIFIED. 00031 M01S00030.comcvde +++|* (X2) = 0 IF TO CONVERT DATE. 00032 M01S00031.comcvde +++|* (X2) = 1 IF TO CONVERT TIME. 00033 M01S00032.comcvde +++|* (VDTA) = 0 IF TO USE CURRENT SYSTEM DATE AND TIME AS 00034 M01S00033.comcvde +++|* BASE. 00035 M01S00034.comcvde +++|* (VDTA) = PACKED FORMAT BASE DATE AND TIME IF .NE. 0. 00036 M01S00035.comcvde +++|* 00037 M01S00036.comcvde +++|* EXIT (X6) = 18 BIT PACKED FORMAT DATE OR TIME IF NOT 00038 M01S00037.comcvde +++|* RELATIVE TIME ENTRY. 00039 M01S00038.comcvde +++|* (X6) = 36 BIT PACKED FORMAT DATE AND TIME IF 00040 M01S00039.comcvde +++|* RELATIVE TIME ENTRY. 00041 M01S00040.comcvde +++|* (X6) .LT. 0 IF ERROR IN DATE OR TIME ENTRY. 00042 M01S00041.comcvde +++|* (X1) .LT. 0 IF DATE OR TIME EARLIER THAN BASE DATE AND 00043 M01S00042.comcvde +++|* TIME. 00044 M01S00043.comcvde +++|* (X1) .GE. 0 IF DATE OR TIME LATER THAN BASE DATE AND 00045 M01S00044.comcvde +++|* TIME. 00046 M01S00045.comcvde +++|* (X2) = 0 IF EXPLICIT DATE OR TIME ENTRY. 00047 M01S00046.comcvde +++|* (X2) .NE. 0 IF RELATIVE DATE OR TIME ENTRY. 00048 M01S00047.comcvde +++|* (VDTA) = BASE DATE AND TIME. 00049 M01S00048.comcvde +++|* 00050 M01S00049.comcvde +++|* USES X - 1, 2, 3, 5, 6, 7. 00051 M01S00050.comcvde +++|* A - 1, 2, 6, 7. 00052 M01S00051.comcvde +++|* B - 6, 7. 00053 M01S00052.comcvde +++|* 00054 M01S00053.comcvde +++|* CALLS DXB, EDP, ETP, PDE, PTE, VDT. 00055 M01S00054.comcvde +++|* 00056 M01S00055.comcvde +++|* NOTES THE FOLLOWING RULES ARE USED TO DETERMINE THE VALIDITY 00057 M01S00056.comcvde +++|* OF THE ENTERED DATE AND TIME. 00058 M01S00057.comcvde +++|* 00059 M01S00058.comcvde +++|* 1. A DATE CAN BE ENTERED EXPLICITLY IN YYMMDD FORMAT 00060 M01S00059.comcvde +++|* OR IN ONE OF THE FOLLOWING RELATIVE FORMS - 00061 M01S00060.comcvde +++|* 00062 M01S00061.comcvde +++|* BDNNN NNN = NUMBER OF DAYS BEFORE BASE DATE. 00063 M01S00062.comcvde +++|* ADNNN NNN = NUMBER OF DAYS AFTER BASE DATE. 00064 M01S00063.comcvde +++|* BNNN NNN = NUMBER OF DAYS BEFORE BASE DATE. 00065 M01S00064.comcvde +++|* ANNN NNN = NUMBER OF DAYS AFTER BASE DATE. 00066 M01S00065.comcvde +++|* 00067 M01S00066.comcvde +++|* THE INCREMENT *NNN* IS ONE TO EIGHT DIGITS FOR THE 00068 M01S00067.comcvde +++|* *BD* AND *AD* FORMS AND ONE TO NINE DIGITS FOR THE 00069 M01S00068.comcvde +++|* *B* OR *A* FORM. THE ASSUMED BASE IS DECIMAL. IF 00070 M01S00069.comcvde +++|* A DATE INCREMENT PRODUCES A DATE BEFORE 70/01/01 OR 00071 M01S00070.comcvde +++|* AFTER 33/12/31 THE RESULT WILL BE SET TO 70/01/01 00072 M01S00071.comcvde +++|* OR 33/12/31 RESPECTIVELY. 00073 M01S00072.comcvde +++|* 00074 M01S00073.comcvde +++|* 2. A TIME CAN BE ENTERED EXPLICITLY IN HHMMSS FORMAT 00075 M01S00074.comcvde +++|* OR IN ONE OF THE FOLLOWING RELATIVE FORMS - 00076 M01S00075.comcvde +++|* 00077 M01S00076.comcvde +++|* BDNNN NNN = NUMBER OF DAYS BEFORE BASE DATE AND 00078 M01S00077.comcvde +++|* TIME. 00079 M01S00078.comcvde +++|* ADNNN NNN = NUMBER OF DAYS AFTER BASE DATE AND 00080 M01S00079.comcvde +++|* TIME. 00081 M01S00080.comcvde +++|* BHNNN NNN = NUMBER OF HOURS BEFORE BASE DATE AND 00082 M01S00081.comcvde +++|* TIME. 00083 M01S00082.comcvde +++|* AHNNN NNN = NUMBER OF HOURS AFTER BASE DATE AND 00084 M01S00083.comcvde +++|* TIME. 00085 M01S00001.ns2786 +++|* BMNNN NNN = NUMBER OF MINUTES BEFORE BASE DATE 00086 M01S00002.ns2786 +++|* AND TIME. 00087 M01S00003.ns2786 +++|* AMNNN NNN = NUMBER OF MINUTES AFTER BASE DATE 00088 M01S00004.ns2786 +++|* AND TIME. 00089 M01S00084.comcvde +++|* BSNNN NNN = NUMBER OF SECONDS BEFORE BASE DATE 00090 M01S00085.comcvde +++|* AND TIME. 00091 M01S00086.comcvde +++|* ASNNN NNN = NUMBER OF SECONDS AFTER BASE DATE 00092 M01S00087.comcvde +++|* AND TIME. 00093 M01S00088.comcvde +++|* BNNN NNN = NUMBER OF HOURS BEFORE BASE DATE AND 00094 M01S00089.comcvde +++|* TIME. 00095 M01S00090.comcvde +++|* ANNN NNN = NUMBER OF HOURS AFTER BASE DATE AND 00096 M01S00091.comcvde +++|* TIME. 00097 M01S00092.comcvde +++|* 00098 M01S00093.comcvde +++|* THE INCREMENT *NNN* IS ONE TO EIGHT DIGITS FOR THE
Line S00094 Modification History | |
---|---|
M01 (Added by) | comcvde |
M02 (Updated by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 00099 M02S00094.ns2786 ---|* *BD*, *AD*, *BH*, *AH*, *BS*, AND *AS* FORMS AND
Line S00095 Modification History | |
---|---|
M01 (Added by) | comcvde |
M02 (Updated by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 00100 M02S00095.ns2786 ---|* ONE TO NINE DIGITS FOR THE *B* OR *A* FORM. THE
Line S00096 Modification History | |
---|---|
M01 (Added by) | comcvde |
M02 (Updated by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 00101 M02S00096.ns2786 ---|* ASSUMED BASE IS DECIMAL. A TIME INCREMENT WILL
Line S00097 Modification History | |
---|---|
M01 (Added by) | comcvde |
M02 (Updated by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 00102 M02S00097.ns2786 ---|* PRODUCE A RESULT OF 70/01/01 00.00.00 OR 33/12/31
Line S00098 Modification History | |
---|---|
M01 (Added by) | comcvde |
M02 (Updated by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 00103 M02S00098.ns2786 ---|* 23.59.59 IF THE RESULTING DATE AND TIME IS
Line S00099 Modification History | |
---|---|
M01 (Added by) | comcvde |
M02 (Updated by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 00104 M02S00099.ns2786 ---|* RESPECTIVELY LESS THAN OR GREATER THAN THESE
Line S00100 Modification History | |
---|---|
M01 (Added by) | comcvde |
M02 (Updated by) | ns2786 |
Seq # *Modification Id* Act ----------------------------+ 00105 M02S00100.ns2786 ---|* LIMITS. 00106 M01S00005.ns2786 +++|* *BD*, *AD*, *BH*, *AH*, *BM*, *AM*, *BS*, AND *AS* 00107 M01S00006.ns2786 +++|* FORMS, AND ONE TO NINE DIGITS FOR THE *B* OR *A* 00108 M01S00007.ns2786 +++|* FORM. A DECIMAL BASE IS ASSUMED. A TIME INCREMENT 00109 M01S00008.ns2786 +++|* PRODUCES A RESULT OF 70/01/01 00.00.00 OR 33/12/31 00110 M01S00009.ns2786 +++|* 23.59.59 RESPECTIVELY IF THE RESULTING DATE AND 00111 M01S00010.ns2786 +++|* TIME IS LESS THAN OR GREATER THAN THESE LIMITS. 00112 M01S00101.comcvde +++|* 00113 M01S00102.comcvde +++|* A TIME ENTERED IN RELATIVE FORMAT DEFINES BOTH A 00114 M01S00103.comcvde +++|* DATE AND TIME. IT IS THE RESPONSIBILITY OF THE 00115 M01S00104.comcvde +++|* CALLING PROGRAM TO DETECT A CONFLICT IF BOTH A DATE 00116 M01S00105.comcvde +++|* AND AN RELATIVE TIME PARAMETER ARE ENTERED. 00117 M01S00106.comcvde +++|* 00118 M01S00107.comcvde +++|* XREF COMCDTC, COMCDXB, COMCVDT. 00119 M01S00108.comcvde +++| 00120 M01S00109.comcvde +++| 00121 M01S00110.comcvde +++| VDE11 SX6 -1 SET ERROR IN ENTRY 00122 M01S00111.comcvde +++| 00123 M01S00112.comcvde +++| VDE SUBR ENTRY/EXIT 00124 M01S00113.comcvde +++| 00125 M01S00114.comcvde +++|* CHECK FOR EXPLICIT DATE OR TIME ENTRY. 00126 M01S00115.comcvde +++| 00127 M01S00116.comcvde +++| BX6 X1 SAVE ENTERED VALUE 00128 M01S00117.comcvde +++| BX7 X2 SAVE DATE/TIME FLAG 00129 M01S00118.comcvde +++| SA6 VDEC 00130 M01S00119.comcvde +++| SA7 VDED 00131 M01S00120.comcvde +++| RJ VDT CHECK FOR EXPLICIT ENTRY 00132 M01S00121.comcvde +++| SX2 0 SET EXPLICIT ENTRY 00133 M01S00122.comcvde +++| PL X6,VDEX IF VALID DATE OR TIME ENTERED 00134 M01S00123.comcvde +++| 00135 M01S00124.comcvde +++|* UPDATE BASE DATE AND TIME FOR RELATIVE ENTRIES. 00136 M01S00125.comcvde +++| 00137 M01S00126.comcvde +++| SA1 VDTA 00138 M01S00127.comcvde +++| SA2 VDEA 00139 M01S00128.comcvde +++| BX2 X1-X2 00140 M01S00129.comcvde +++| ZR X2,VDE1 IF BASE ELAPSED DAYS AND SECONDS CURRENT 00141 M01S00130.comcvde +++| BX6 X1 00142 M01S00131.comcvde +++| AX1 18 00143 M01S00132.comcvde +++| SA6 VDEA SAVE BASE DATE AND TIME 00144 M01S00133.comcvde +++| RJ PDE COMPUTE BASE ELAPSED DAYS 00145 M01S00134.comcvde +++| SA6 VDEB SET ELAPSED DAYS 00146 M01S00135.comcvde +++| SA1 VDTA COMPUTE BASE ELAPSED SECONDS 00147 M01S00136.comcvde +++| RJ PTE 00148 M01S00137.comcvde +++| SA6 VDEB+1 SET ELAPSED SECONDS 00149 M01S00138.comcvde +++| 00150 M01S00139.comcvde +++|* VALIDATE RELATIVE ENTRY. 00151 M01S00140.comcvde +++| 00152 M01S00141.comcvde +++| VDE1 SA1 VDEC RESTORE DATE OR TIME ENTRY 00153 M01S00142.comcvde +++| SA2 VDED RESTORE DATE/TIME FLAG 00154 M01S00143.comcvde +++| MX6 -6 00155 M01S00144.comcvde +++| LX1 6 00156 M01S00145.comcvde +++| BX7 -X6*X1 ISOLATE *A* OR *B* 00157 M01S00146.comcvde +++| MX6 6 00158 M01S00147.comcvde +++| SB6 X7-1RA SET BEFORE/AFTER FLAG 00159 M01S00148.comcvde +++| SX7 X7-1RB 00160 M01S00149.comcvde +++| ZR B6,VDE2 IF *AFTER* ENTRY 00161 M01S00150.comcvde +++| NZ X7,VDE11 IF NOT *BEFORE* ENTRY 00162 M01S00151.comcvde +++| VDE2 BX3 X6*X1 CHECK UNITS IDENTIFIER 00163 M01S00152.comcvde +++| LX3 6 00164 M01S00153.comcvde +++| SX7 X3-1R0 00165 M01S00154.comcvde +++| SB7 60*60 PRESET SECONDS MULTIPLIER FOR HOURS 00166 M01S00155.comcvde +++| PL X7,VDE4 IF NOT ALPHABETIC 00167 M01S00156.comcvde +++| SX7 X3-1RD 00168 M01S00157.comcvde +++| LX1 6 00169 M01S00158.comcvde +++| ZR X2,VDE3 IF DATE ENTRY 00170 M01S00159.comcvde +++| SX2 X3-1RH 00171 M01S00160.comcvde +++| ZR X2,VDE4 IF HOURS ENTRY 00172 M01S00161.comcvde +++| SX2 X3-1RM 00173 M01S00162.comcvde +++| SB7 60 00174 M01S00163.comcvde +++| ZR X2,VDE4 IF MINUTES ENTRY 00175 M01S00164.comcvde +++| SX2 X3-1RS 00176 M01S00165.comcvde +++| SB7 1 00177 M01S00166.comcvde +++| ZR X2,VDE4 IF SECONDS ENTRY 00178 M01S00167.comcvde +++| SB7 60*60*24 00179 M01S00168.comcvde +++| VDE3 NZ X7,VDE11 IF NOT DAYS ENTRY 00180 M01S00169.comcvde +++| 00181 M01S00170.comcvde +++|* CONVERT RELATIVE ENTRY. 00182 M01S00171.comcvde +++| 00183 M01S00172.comcvde +++| VDE4 MX6 48 00184 M01S00173.comcvde +++| BX5 X6*X1 ISOLATE INCREMENT 00185 M01S00174.comcvde +++| RJ DXB CONVERT INCREMENT 00186 M01S00175.comcvde +++| SA2 VDED RESTORE DATE/TIME FLAG 00187 M01S00176.comcvde +++| NZ X4,VDE11 IF ERROR IN CONVERSION 00188 M01S00177.comcvde +++| ZR X6,VDE5 IF ZERO INCREMENT 00189 M01S00178.comcvde +++| ZR B6,VDE5 IF *AFTER* ENTRY 00190 M01S00179.comcvde +++| BX6 -X6 COMPLEMENT INCREMENT 00191 M01S00180.comcvde +++| SB6 -B1 FLAG BEFORE BASE DATE OR TIME 00192 M01S00181.comcvde +++| VDE5 NZ X2,VDE8 IF TIME ENTRY 00193 M01S00182.comcvde +++| SA1 VDEB 00194 M01S00183.comcvde +++| IX1 X1+X6 ADD DAYS INCREMENT TO BASE 00195 M01S00184.comcvde +++| PL X1,VDE6 IF VALUE .GE. 70/01/01 00196 M01S00185.comcvde +++| SX1 B0 SET MINIMUM VALUE 00197 M01S00186.comcvde +++| EQ VDE7 CONVERT ENTRY 00198 M01S00187.comcvde +++| 00199 M01S00188.comcvde +++| VDE6 SX3 X1-23375-1 00200 M01S00189.comcvde +++| NG X3,VDE7 IF VALUE .LE. 33/12/31 00201 M01S00190.comcvde +++| SX1 23375 SET MAXIMUM VALUE 00202 M01S00191.comcvde +++| VDE7 RJ EDP CONVERT INCREMENTED DATE TO PACKED FORMAT 00203 M01S00192.comcvde +++| SX1 B6 SET BEFORE/AFTER BASE DATE FLAG 00204 M01S00193.comcvde +++| SX2 B1 SET RELATIVE ENTRY FLAG 00205 M01S00194.comcvde +++| EQ VDEX RETURN 00206 M01S00195.comcvde +++| 00207 M01S00196.comcvde +++| VDE8 SA1 VDEB+1 GET BASE DATE AND TIME 00208 M01S00197.comcvde +++| SA2 VDEF 00209 M01S00198.comcvde +++| SX7 B7+ SET SECONDS MULTIPLIER 00210 M01S00199.comcvde +++| IX6 X6*X7 00211 M01S00200.comcvde +++| IX1 X1+X6 00212 M01S00201.comcvde +++| PL X1,VDE9 IF VALUE .GE. 70/01/01 00.00.00 00213 M01S00202.comcvde +++| SX1 B0+ SET MINIMUM VALUE 00214 M01S00203.comcvde +++| EQ VDE10 CONVERT VALUE 00215 M01S00204.comcvde +++| 00216 M01S00205.comcvde +++| VDE9 IX3 X2-X1 00217 M01S00206.comcvde +++| PL X3,VDE10 IF VALUE .LE. 33/12/31 23.59.59 00218 M01S00207.comcvde +++| BX1 X2 SET MAXIMUM VALUE 00219 M01S00208.comcvde +++| VDE10 RJ ETP CONVERT SECONDS TO PACKED DATE AND TIME 00220 M01S00209.comcvde +++| SX1 B6 SET BEFORE/AFTER BASE DATE AND TIME FLAG 00221 M01S00210.comcvde +++| SX2 B1 SET RELATIVE ENTRY FLAG 00222 M01S00211.comcvde +++| EQ VDEX RETURN 00223 M01S00212.comcvde +++| 00224 M01S00213.comcvde +++| 00225 M01S00214.comcvde +++| VDEA CON 0 BASE DATE AND TIME FOR ELAPSED VALUES 00226 M01S00215.comcvde +++| VDEB CON 0 BASE ELAPSED DAYS 00227 M01S00216.comcvde +++| CON 0 BASE ELAPSED SECONDS 00228 M01S00217.comcvde +++| VDEC CON 0 ENTERED VALUE 00229 M01S00218.comcvde +++| VDED CON 0 DATE/TIME FLAG 00230 M01S00219.comcvde +++| VDEF CON 2019686399 00231 M01S00220.comcvde +++| 00232 M01S00221.comcvde +++| 00233 M01S00222.comcvde +++| QUAL$ IF -DEF,QUAL$ 00234 M01S00223.comcvde +++| QUAL * 00235 M01S00224.comcvde +++| VDE EQU /COMCVDE/VDE 00236 M01S00225.comcvde +++| QUAL$ ENDIF 00237 M01S00226.comcvde +++| VDE ENDX
cdc/nos2.source/opl.opl871/common/comcvde.txt · Last modified: by 127.0.0.1