1 The SAS System 13:42 Friday, February 10, 2023 NOTE: Copyright (c) 2016 by SAS Institute Inc., Cary, NC, USA. NOTE: SAS (r) Proprietary Software 9.4 (TS1M6) Licensed to TSOPS Production, Site 70068130. NOTE: This session is executing on the X64_10PRO platform. NOTE: Analytical products: SAS/STAT 15.1 SAS/ETS 15.1 SAS/OR 15.1 SAS/QC 15.1 NOTE: Additional host information: X64_10PRO WIN 10.0.19041 Workstation NOTE: SAS initialization used: real time 2.25 seconds cpu time 0.48 seconds 1 ***Replace the Set_Library statements with your libnames ***; 2 3 libname wwmapp oracle user = wwmread 4 password = XXXXXXX 5 path = "OTP" 6 schema = "wwmapp" 7 ; NOTE: Libref WWMAPP was successfully assigned as follows: Engine: ORACLE Physical Name: OTP 8 9 10 libname shouse server=king.shr2; NOTE: Libref SHOUSE was successfully assigned as follows: Engine: REMOTE Physical Name: /rdt/prod/webapps/softwarehouse/data 11 run; 12 13 /* *************************************************** */ 14 /* Custom data section for testing */ 15 /* *************************************************** */ 16 proc datasets in=work noprint; __ 22 76 NOTE: Enter RUN; to continue or QUIT; to end the procedure. ERROR 22-322: Syntax error, expecting one of the following: ;, ALTER, DD, DDNAME, DETAILS, FORCE, GENNUM, KILL, LIB, LIBRARY, MEMTYPE, MT, MTYPE, NODETAILS, NOFS, NOLIST, 2 The SAS System 13:42 Friday, February 10, 2023 NOPRINT, NOWARN, PROTECT, PW, READ. ERROR 76-322: Syntax error, statement will be ignored. 17 delete Ts_sftwr_exception; 18 run; NOTE: Statements not processed because of errors noted above. 19 NOTE: The SAS System stopped processing this step because of errors. NOTE: Due to ERROR(s) above, SAS set option OBS=0, enabling syntax check mode. This prevents execution of subsequent data modification statements. NOTE: PROCEDURE DATASETS used (Total process time): real time 0.32 seconds cpu time 0.03 seconds 20 data work.Ts_sftwr_exception; 21 attrib SOFTWARE_ENTITY_12_BYTE_CD_RU format=$48.; 22 attrib PROD_RELEASE format=$char200.; 23 attrib SUPPORT_LEVEL format=$char200.; 24 attrib COMMENTS format=$char1000.; 25 attrib TS_SFTWR_EXCEPTION_ID format=8.0; 26 attrib SUPPORT_LEVEL_DATE_OVERRIDE format=$char200.; 27 28 infile cards4 truncover; 29 input @1 SOFTWARE_ENTITY_12_BYTE_CD_RU $ 30 PROD_RELEASE $ 31 SUPPORT_LEVEL $ 32 COMMENTS $ 33 SUPPORT_LEVEL_DATE_OVERRIDE $ 34 ; 35 retain TS_SFTWR_EXCEPTION_ID 2742; 36 TS_SFTWR_EXCEPTION_ID = TS_SFTWR_EXCEPTION_ID + 1; 37 38 SOFTWARE_ENTITY_12_BYTE_CD_RU = 38 ! trim(left(translate(SOFTWARE_ENTITY_12_BYTE_CD_RU,'','"'))); 39 PROD_RELEASE = trim(left(translate(PROD_RELEASE,'','"'))); 40 SUPPORT_LEVEL = trim(left(translate(SUPPORT_LEVEL,'','"'))); 41 COMMENTS = trim(left(translate(COMMENTS,'','"'))); 42 SUPPORT_LEVEL_DATE_OVERRIDE = 42 ! trim(left(translate(SUPPORT_LEVEL_DATE_OVERRIDE,'','"'))); 43 cards4; NOTE: The data set WORK.TS_SFTWR_EXCEPTION has 0 observations and 6 variables. NOTE: DATA statement used (Total process time): real time 0.15 seconds cpu time 0.01 seconds 3 The SAS System 13:42 Friday, February 10, 2023 99 ;;;; 100 run; 101 102 103 proc append base=work.Ts_sftwr_exception 104 data=wwmapp.Ts_sftwr_exception 105 force; 106 run; NOTE: PROCEDURE APPEND used (Total process time): real time 0.08 seconds cpu time 0.00 seconds 107 108 109 110 /* ****************************************************************************** 111 ** Code added to only get ORDERABLE product/rel from Software House 09/25/2019 - 111 ! Kevin Cole 112 ** Get softwarehouse data, which has the orderable and non-orderable attribute 113 */ 114 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 115 create table sw_tax_ord_1 as 116 select distinct 117 software_code as SOFTWARE_ENTITY_12_BYTE_CD, 118 product_rel as PROD_RELEASE, 119 orderable as ORDERABLE, 120 shipeventrelease as SUITE_RELEASE 121 from shouse.location 122 where shipeventrelease not in 122 ! ('9.1.3','9.1.3_000','8.2','9','9.1','9.2','NONE','IND','') 123 and product_rel not like ('%NN%') 124 and product_rel ^= '' 125 and shipdate ^= . 126 order by software_code, product_rel, orderable 127 ; NOTE: Statement not executed due to NOEXEC option. 127 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.01 seconds cpu time 0.00 seconds 128 129 /* 130 ** Only keep data applicable to the software taxonomy in the SAS Global Metadata 130 ! Repository 131 */ 4 The SAS System 13:42 Friday, February 10, 2023 132 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 133 create table sw_tax_ord_2 as 134 select distinct x.software_entity_12_byte_cd_ru, 135 t.software_entity_12_byte_cd, 136 t.suite_release, 137 t.prod_release, 138 orderable 139 from sw_tax_ord_1 t, 140 wwmapp.SOFTWARE_12_BYTE_LX x 141 where strip(t.software_entity_12_byte_cd) = strip(x.software_entity_12_byte_cd) 142 /* and x.software_rollup_type_cd not in (102) */ 143 order by x.software_entity_12_byte_cd_ru, t.suite_release, t.prod_release 144 ; NOTE: Statement not executed due to NOEXEC option. 144 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 145 146 /* 147 ** Get the higher level product name based on the roll up code in the taxonomy 148 */ 149 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 150 create table sw_tax_ord_3 as 151 select distinct z.long_legal_nm_ru, 152 t.* 153 from sw_tax_ord_2 t, 154 wwmapp.SOFTWARE_12BYTE_ROLLUP z 155 where strip(t.software_entity_12_byte_cd_ru)=strip(z.software_entity_12_byte_cd) 156 order by t.software_entity_12_byte_cd_ru, t.prod_release, t.suite_release, 156 ! orderable desc 157 ; NOTE: Statement not executed due to NOEXEC option. 157 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 158 159 /* 160 ** Only keep the roll up 12 byte code and spread all releases for all products in 5 The SAS System 13:42 Friday, February 10, 2023 160 ! the 161 ** rollup across the higher level roll up code 162 */ 163 proc sort data= sw_tax_ord_3 164 out=sw_tax_ord_4 (drop=software_entity_12_byte_cd) ERROR: File WORK.SW_TAX_ORD_3.DATA does not exist. 165 nodupkey; 166 by software_entity_12_byte_cd_ru prod_release; ERROR: No data set open to look up variables. ERROR: No data set open to look up variables. 167 run; NOTE: The SAS System stopped processing this step because of errors. WARNING: The data set WORK.SW_TAX_ORD_4 may be incomplete. When this step was stopped there were 0 observations and 0 variables. NOTE: PROCEDURE SORT used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 168 169 /* 170 ** Keep the NON-ORDERABLE Maintenance Release records, when the first release 171 ** of the product/rel was ORDERABLE 172 */ 173 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 174 create table sw_non_order_maint as 175 select a.*, 176 strip(a.software_entity_12_byte_cd_ru) || strip(a.prod_release) as key_non_order 177 from sw_tax_ord_4 a 178 where a.orderable='0' 179 and a.prod_release like ('%_M%') 180 ; NOTE: Statement not executed due to NOEXEC option. 180 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 181 182 /* 183 ** Create the ORDERABLE records 184 */ 6 The SAS System 13:42 Friday, February 10, 2023 185 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 186 create table sw_orderable as 187 select a.*, 188 strip(a.software_entity_12_byte_cd_ru) || strip(a.prod_release) as key_order 189 from sw_tax_ord_4 a 190 where a.orderable^='0' 191 ; NOTE: Statement not executed due to NOEXEC option. 191 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 192 193 /* 194 ** Find records in the non-orderable table that have a similar key to records in the 194 ! orderable table 195 ** Example: Base 9.4 is orderable but Base 9.4_M1 is non-orderable in the 195 ! softwarehouse data 196 ** Tech support wants all maintenance releases for product/rels that are orderable 196 ! to be oderable 197 */ 198 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 199 create table sw_maint_rel as 200 select b.*, 201 a.key_order, 202 a.prod_release as orderable_rel 203 from sw_orderable a, 204 sw_non_order_maint b 205 where strip(b.key_non_order) contains strip(a.key_order) 206 ; NOTE: Statement not executed due to NOEXEC option. 206 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.01 seconds 207 208 /* 209 ** Build the table of NON_ORDERABLE product/releases, these are records that 210 ** Tech Support wants to exclude 211 */ 7 The SAS System 13:42 Friday, February 10, 2023 212 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 213 create table non_order1 as 214 select a.*, 215 strip(a.software_entity_12_byte_cd_ru) || strip(a.prod_release) as key 216 from sw_tax_ord_4 a 217 where a.orderable='0' 218 ; NOTE: Statement not executed due to NOEXEC option. 218 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 219 220 /* 221 ** Remove the ORDERABLE Maintenance Releases from the NON-ORDERABLE records 222 */ 223 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 224 create table non_order2 as 225 select a.* 226 from non_order1 a 227 where a.key not in (select key_non_order from sw_maint_rel) 228 ; NOTE: Statement not executed due to NOEXEC option. 228 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 229 230 /* 231 ** Check to see if Tech Support has decided to manually override 231 ! ORDERABLE/NON-ORDERABLE 232 ** for any product/rel 233 */ 234 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 235 create table ts_override as 236 select a.software_entity_12_byte_cd_ru, 237 a.prod_release, 238 strip(a.software_entity_12_byte_cd_ru) || strip(a.prod_release) as key_override 239 /*from wwmapp.TS_SFTWR_EXCEPTION a */ 8 The SAS System 13:42 Friday, February 10, 2023 240 from work.TS_SFTWR_EXCEPTION a 241 ; NOTE: Statement not executed due to NOEXEC option. 241 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 242 243 /* 244 ** Remove any records TS has in the manual over ride exception table from 245 ** the NON-ORDERABLE records 246 */ 247 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 248 create table non_order_final as 249 select a.* 250 from non_order2 a 251 where a.key not in (select key_override from ts_override) 252 ; NOTE: Statement not executed due to NOEXEC option. 252 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 253 254 255 /* ****************************************************************************** 256 ** End code added to only get ORDERABLE product/rel from Software House 09/25/2019 - 256 ! Kevin Cole 257 */ 258 259 /* ****************************************************************************** 260 ** Pull the data from the software taxonomy view, which is all the detailed data 260 ! that is rolled 261 ** up to a higher product level for the support site 262 */ 263 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 264 create table sw_tax as 265 select distinct 266 t.software_entity_12_byte_cd, 267 t.suite_release, 9 The SAS System 13:42 Friday, February 10, 2023 268 t.prod_release, 269 t.ship_event_date 270 from wwmapp.SOFTWARE_TAXONOMY_V t 271 where t.suite_release not in ('8.2','9','9.1','9.2','NONE','SAS Viya') 272 and t.prod_release ^= '%NN%' 273 and t.ship_event_date ^= . 274 and t.ship_event_date < (input(put(today(),YYMMDDN.),8.)) 275 order by t.software_entity_12_byte_cd, t.suite_release, t.prod_release, 275 ! t.ship_event_date 276 ; NOTE: Statement not executed due to NOEXEC option. 276 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 277 278 /* 279 ** Merge the Rollup code onto each record from the taxonomy table 280 */ 281 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 282 create table sw_tax2 as 283 select distinct x.software_entity_12_byte_cd_ru, 284 t.software_entity_12_byte_cd, 285 t.suite_release, 286 t.prod_release, 287 t.ship_event_date, 288 x.software_rollup_type_cd 289 from sw_tax t, 290 wwmapp.SOFTWARE_12_BYTE_LX x 291 where t.software_entity_12_byte_cd=x.software_entity_12_byte_cd 292 /* and x.software_rollup_type_cd not in (102) */ 293 order by x.software_entity_12_byte_cd_ru, t.suite_release, t.prod_release, 293 ! t.ship_event_date 294 ; NOTE: Statement not executed due to NOEXEC option. 294 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 295 296 /* 297 ** Put Long_Legal_Name onto each record for the rollup codes 298 */ 10 The SAS System 13:42 Friday, February 10, 2023 299 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 300 create table sw_tax3 as 301 select distinct z.long_legal_nm_ru, 302 t.*, 303 strip(t.software_entity_12_byte_cd_ru) || strip(t.prod_release) as key_var 304 from sw_tax2 t, 305 wwmapp.SOFTWARE_12BYTE_ROLLUP z 306 where strip(t.software_entity_12_byte_cd_ru)=strip(z.software_entity_12_byte_cd) 307 order by t.software_entity_12_byte_cd_ru, t.prod_release, t.suite_release, 307 ! t.ship_event_date 308 ; NOTE: Statement not executed due to NOEXEC option. 308 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.03 seconds 309 310 /* 311 ** Remove multiple ship events for the same product since host is not considered 312 */ 313 proc sort data= sw_tax3 314 out=sw_tax4 (drop=software_entity_12_byte_cd) ERROR: File WORK.SW_TAX3.DATA does not exist. 315 nodupkey; 316 by software_entity_12_byte_cd_ru prod_release ship_event_date; ERROR: No data set open to look up variables. ERROR: No data set open to look up variables. ERROR: No data set open to look up variables. 317 run; NOTE: The SAS System stopped processing this step because of errors. WARNING: The data set WORK.SW_TAX4 may be incomplete. When this step was stopped there were 0 observations and 0 variables. NOTE: PROCEDURE SORT used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 318 319 /* 320 ** Remove ship events that are not the major events 321 ** 2023-02-09 - SASLNH 322 */ 11 The SAS System 13:42 Friday, February 10, 2023 323 data work.sw_tax5; 324 ; 325 set work.sw_tax4; 326 by software_entity_12_byte_cd_ru prod_release ship_event_date; 327 328 if first.prod_release and last.prod_release then 329 do; 330 output; 331 delete; 332 end; 333 if software_rollup_type_cd ^= 102 then output; 334 335 delete; 336 run; NOTE: The data set WORK.SW_TAX5 has 0 observations and 1 variables. NOTE: DATA statement used (Total process time): real time 0.01 seconds cpu time 0.01 seconds 337 338 339 /* 340 ** Remove any records TS has in the manual over ride exception table from the 340 ! NON-ORDERABLE records 341 */ 342 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 343 create table sw_tax6 as 344 select a.* 345 from sw_tax5 a 346 where a.key_var not in (select key from non_order_final) 347 ; NOTE: Statement not executed due to NOEXEC option. 347 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 348 349 /* 350 ** One time manual over-ride to add SAS 9.2 as a record as the ship event date is 350 ! missing in the RE data 351 ** Per conversations with Charles Falkiner, Jason Moore, and Terry Poole this is the 351 ! only 9.2 product 352 ** that should be in the data for the web. 03/07/2019 353 */ 12 The SAS System 13:42 Friday, February 10, 2023 354 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 355 insert into SW_TAX6 (LONG_LEGAL_NM_RU, SOFTWARE_ENTITY_12_BYTE_CD_RU, 355 ! SUITE_RELEASE, PROD_RELEASE, SHIP_EVENT_DATE) 356 VALUES ('Base SAS', 'BASE', '9.2', '9.2',20090206) 357 ; ERROR: File WORK.SW_TAX6.DATA does not exist. 357 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 358 359 /* 360 ** Get Ship Event Date in a format we can manipulate 361 */ 362 data sw_tax7; 363 length SHIP_EVENT_MONTH_CHAR $20 364 SHIP_EVENT_DATE_CHAR $12 365 SHIP_EVENT_YEAR_CHAR $4 366 SHIP_EVENT_YEAR 367 SHIP_EVENT_MONTH 8; 368 set sw_tax6; ERROR: File WORK.SW_TAX6.DATA does not exist. 369 370 SHIP_EVENT_DATE_CHAR=strip(input(ship_event_date, 12.)); 371 372 SHIP_EVENT_YEAR=put(SUBSTR(ship_event_date_char,1,4),8.); 373 SHIP_EVENT_YEAR_CHAR=put(ship_event_year,4.); 374 375 SHIP_EVENT_MONTH=put(SUBSTR(ship_event_date_char,5,2),8.); 376 if SHIP_EVENT_MONTH = 1 then SHIP_EVENT_MONTH_CHAR = 'January'; 377 else if SHIP_EVENT_MONTH = 2 then SHIP_EVENT_MONTH_CHAR = 'February'; 378 else if SHIP_EVENT_MONTH = 3 then SHIP_EVENT_MONTH_CHAR = 'March'; 379 else if SHIP_EVENT_MONTH = 4 then SHIP_EVENT_MONTH_CHAR = 'April'; 380 else if SHIP_EVENT_MONTH = 5 then SHIP_EVENT_MONTH_CHAR = 'May'; 381 else if SHIP_EVENT_MONTH = 6 then SHIP_EVENT_MONTH_CHAR = 'June'; 382 else if SHIP_EVENT_MONTH = 7 then SHIP_EVENT_MONTH_CHAR = 'July'; 383 else if SHIP_EVENT_MONTH = 8 then SHIP_EVENT_MONTH_CHAR = 'August'; 384 else if SHIP_EVENT_MONTH = 9 then SHIP_EVENT_MONTH_CHAR = 'September'; 385 else if SHIP_EVENT_MONTH = 10 then SHIP_EVENT_MONTH_CHAR = 'October'; 386 else if SHIP_EVENT_MONTH = 11 then SHIP_EVENT_MONTH_CHAR = 'November'; 387 else if SHIP_EVENT_MONTH = 12 then SHIP_EVENT_MONTH_CHAR = 'December'; 388 run; 13 The SAS System 13:42 Friday, February 10, 2023 NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column). 370:29 370:35 NOTE: Character values have been converted to numeric values at the places given by: (Line):(Column). 372:18 375:19 NOTE: The SAS System stopped processing this step because of errors. WARNING: The data set WORK.SW_TAX7 may be incomplete. When this step was stopped there were 0 observations and 6 variables. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 389 390 /* 391 ** Set the Support Status Change Date based on grace periods 392 */ 393 data sw_tax8; 394 length STATUS_CHANGE_DATE 8; 395 set sw_tax7; 396 /* Standard Grace period is 5 years for all with exceptions handled below */ 397 /* Requirement is to move the ship event month up by 1 in the year of change */ 398 /* If the ship event month is December move up January of the next year */ 399 if ship_event_month = 12 then STATUS_CHANGE_DATE = ship_event_date + 58900; 400 else STATUS_CHANGE_DATE = ship_event_date + 50100; /* 5 years and 1 month */ 401 run; NOTE: The data set WORK.SW_TAX8 has 0 observations and 7 variables. NOTE: DATA statement used (Total process time): real time 0.01 seconds cpu time 0.03 seconds 402 403 /* 404 ** Apply Grace Periods 405 */ 406 data sw_tax9; 407 set sw_tax8; 408 if ship_event_date<20200101 then 409 do; /* This applies to ship events 409 ! after Jan 1, 2020 */ 410 if suite_release = '9.2' then STATUS_CHANGE_DATE = 20210201; /* One year grace 410 ! period */ 411 else if suite_release = '9.3' then STATUS_CHANGE_DATE = 20230201; /* Three year 411 ! grace period */ 412 else STATUS_CHANGE_DATE = 20250201; /* Five year grace period from Jan 1, 2020 */ 413 end; 414 run; 14 The SAS System 13:42 Friday, February 10, 2023 NOTE: The data set WORK.SW_TAX9 has 0 observations and 8 variables. NOTE: DATA statement used (Total process time): real time 0.01 seconds cpu time 0.01 seconds 415 416 /* 417 ** Set the Support Level 418 */ 419 data sw_tax10; 420 length STATUS_CHANGE_MONTH_CHAR $20 STATUS_CHANGE_DATE_CHAR $12 CURRENT_STATUS $50 420 ! STATUS_CHANGE_YEAR_CHAR $4 STATUS_CHANGE_YEAR STATUS_CHANGE_MONTH 8; 421 set sw_tax9; 422 if status_change_date < (input(put(today(),YYMMDDN.),8.)) 423 then CURRENT_STATUS = 'LIMITED'; 424 else CURRENT_STATUS = 'STANDARD'; 425 426 STATUS_CHANGE_DATE_CHAR=strip(input(status_change_date, 12.)); 427 428 STATUS_CHANGE_YEAR=put(SUBSTR(status_change_date_char,1,4),8.); 429 STATUS_CHANGE_YEAR_CHAR=put(status_change_year,4.); 430 431 STATUS_CHANGE_MONTH=put(SUBSTR(status_change_date_char,5,2),8.); 432 if STATUS_CHANGE_MONTH = 1 then STATUS_CHANGE_MONTH_CHAR = 'January'; 433 else if STATUS_CHANGE_MONTH = 2 then STATUS_CHANGE_MONTH_CHAR = 'February'; 434 else if STATUS_CHANGE_MONTH = 3 then STATUS_CHANGE_MONTH_CHAR = 'March'; 435 else if STATUS_CHANGE_MONTH = 4 then STATUS_CHANGE_MONTH_CHAR = 'April'; 436 else if STATUS_CHANGE_MONTH = 5 then STATUS_CHANGE_MONTH_CHAR = 'May'; 437 else if STATUS_CHANGE_MONTH = 6 then STATUS_CHANGE_MONTH_CHAR = 'June'; 438 else if STATUS_CHANGE_MONTH = 7 then STATUS_CHANGE_MONTH_CHAR = 'July'; 439 else if STATUS_CHANGE_MONTH = 8 then STATUS_CHANGE_MONTH_CHAR = 'August'; 440 else if STATUS_CHANGE_MONTH = 9 then STATUS_CHANGE_MONTH_CHAR = 'September'; 441 else if STATUS_CHANGE_MONTH = 10 then STATUS_CHANGE_MONTH_CHAR = 'October'; 442 else if STATUS_CHANGE_MONTH = 11 then STATUS_CHANGE_MONTH_CHAR = 'November'; 443 else if STATUS_CHANGE_MONTH = 12 then STATUS_CHANGE_MONTH_CHAR = 'December'; 444 run; NOTE: Numeric values have been converted to character values at the places given by: (Line):(Column). 426:32 426:38 NOTE: Character values have been converted to numeric values at the places given by: (Line):(Column). 428:21 431:22 NOTE: The data set WORK.SW_TAX10 has 0 observations and 14 variables. NOTE: DATA statement used (Total process time): real time 0.01 seconds cpu time 0.00 seconds 15 The SAS System 13:42 Friday, February 10, 2023 445 446 /* 447 ** Merge with the manually created Tech Support Data to override any Support Levels 448 ** From the manually maintained Tech Support table get products to be removed and 448 ! set 449 ** to Limited support 450 */ 451 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 452 create table ts_manual as 453 select upcase(a.software_entity_12_byte_cd_ru) as software_entity_12_byte_cd_ru, 454 upcase(a.prod_release) as prod_release, 455 upcase(a.support_level) as current_status 456 /* from wwmapp.TS_SFTWR_EXCEPTION a */ 457 from work.TS_SFTWR_EXCEPTION a 458 where upcase(a.support_level)^='STANDARD' 459 ; NOTE: Statement not executed due to NOEXEC option. 459 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 460 461 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 462 create table ts_all as 463 select a.software_entity_12_byte_cd_ru, 464 a.current_status 465 from work.ts_manual a 466 where prod_release='ALL' 467 ; NOTE: Statement not executed due to NOEXEC option. 467 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 468 469 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 470 create table ts_all2 as 471 select a.software_entity_12_byte_cd_ru, 16 The SAS System 13:42 Friday, February 10, 2023 472 b.prod_release as prod_release length = 20, 473 a.current_status 474 from ts_all a, 475 sw_tax10 b 476 where a.software_entity_12_byte_cd_ru=b.software_entity_12_byte_cd_ru 477 ; NOTE: Statement not executed due to NOEXEC option. 477 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 478 479 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 480 create table ts as 481 select a.software_entity_12_byte_cd_ru, 482 a.prod_release as prod_release length = 20, 483 a.current_status 484 from work.ts_manual a 485 where prod_release^='ALL' 486 ; NOTE: Statement not executed due to NOEXEC option. 486 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 487 488 data ts2; 489 set ts 490 ts_all2; ERROR: File WORK.TS.DATA does not exist. ERROR: File WORK.TS_ALL2.DATA does not exist. 491 manual_override='Y'; 492 run; NOTE: The SAS System stopped processing this step because of errors. WARNING: The data set WORK.TS2 may be incomplete. When this step was stopped there were 0 observations and 1 variables. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.01 seconds 17 The SAS System 13:42 Friday, February 10, 2023 493 494 /* 495 ** Merge datasets in SAS 496 ** Data from 2nd dataset replaces the 1st 497 */ 498 proc sort data=sw_tax10 nodupkey; 499 by software_entity_12_byte_cd_ru prod_release; ERROR: Variable SOFTWARE_ENTITY_12_BYTE_CD_RU not found. ERROR: Variable PROD_RELEASE not found. 500 run; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SORT used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 501 proc sort data=ts2 nodupkey; 502 by software_entity_12_byte_cd_ru prod_release; ERROR: Variable SOFTWARE_ENTITY_12_BYTE_CD_RU not found. ERROR: Variable PROD_RELEASE not found. 503 run; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SORT used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 504 505 data sw_tax11; 506 merge sw_tax10 (in=a) 507 ts2 (in=b); 508 by software_entity_12_byte_cd_ru prod_release; 509 run; NOTE: The data set WORK.SW_TAX11 has 0 observations and 15 variables. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 510 511 /* 512 ** Remove any retired products/releaes that should not show on the web 513 */ 514 proc sql; 18 The SAS System 13:42 Friday, February 10, 2023 NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 515 create table sw_tax12 as 516 select * 517 from sw_tax11 518 where current_status ^= 'RETIRED' 519 ; NOTE: Statement not executed due to NOEXEC option. 519 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.01 seconds 520 521 /* 522 ** Add display columns/touch up for AEM team to show on the web 523 */ 524 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 525 create table sw_tax13 as 526 select software_entity_12_byte_cd_ru, 527 long_legal_nm_ru, 528 prod_release, 529 suite_release, 530 CASE current_status 531 WHEN 'STANDARD' then 'Standard' 532 WHEN 'LIMITED' then 'Limited' 533 WHEN 'RETIRED' then 'Retired' /* Just in case they decide to show Retired */ 534 ELSE 'TBD' 535 END as CURRENT_SUPPORT_STATUS length = 50, 536 ship_event_date, 537 /*ship_event_date_char, 538 ship_event_month, 539 ship_event_month_char, 540 ship_event_year, 541 ship_event_year_char, 542 status_change_date, 543 status_change_date_char, 544 status_change_month, 545 status_change_month_char, 546 status_change_year, 547 status_change_year_char, */ 548 strip(status_change_month_char) || ' ' || strip(status_change_year_char) as 548 ! SUPPORT_STATUS_CHANGE length = 50, 549 strip(ship_event_month_char) || ' ' || strip(ship_event_year_char) as 549 ! SUPPORT_STATUS_BEGIN length = 50, 550 manual_override 551 from sw_tax12 19 The SAS System 13:42 Friday, February 10, 2023 552 order by software_entity_12_byte_cd_ru, prod_release, ship_event_date 553 ; NOTE: Statement not executed due to NOEXEC option. 553 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 554 555 /* 556 ** Special cases for Change Date Display 557 ** Also remove any data added in the manual table that does not exists in the 557 ! incoming data 558 */ 559 data sw_tax14(drop=manual_override); 560 set sw_tax13; ERROR: File WORK.SW_TAX13.DATA does not exist. 561 if manual_override='Y' then 562 do; 563 if ship_event_date > 20191231 then support_status_change = '*'; 564 else support_status_change = 'Prior to January 2020'; 565 end; 566 where ship_event_date ^= .; 567 run; NOTE: The SAS System stopped processing this step because of errors. WARNING: The data set WORK.SW_TAX14 may be incomplete. When this step was stopped there were 0 observations and 2 variables. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 568 569 /* 570 ** Special cases for Change Date Override 571 ** Added 6/11/2020 per Service Now Request RITM0141212 572 */ 573 proc sql; NOTE: PROC SQL set option NOEXEC and will continue to check the syntax of statements. 574 create table ts_override as 575 select upcase(a.software_entity_12_byte_cd_ru) as software_entity_12_byte_cd_ru, 576 upcase(a.prod_release) as prod_release, 577 support_level_date_override as support_status_change 578 /* from wwmapp.TS_SFTWR_EXCEPTION a */ 579 from work.TS_SFTWR_EXCEPTION a 580 where strip(support_level_date_override)not in ('',' ') 20 The SAS System 13:42 Friday, February 10, 2023 581 and support_level ^= 'RETIRED' 582 ; NOTE: Statement not executed due to NOEXEC option. 582 ! quit; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SQL used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 583 584 /* 585 ** Merge datasets in SAS 586 ** Data from 2nd dataset replaces the 1st 587 */ 588 proc sort data=sw_tax14 nodupkey; 589 by software_entity_12_byte_cd_ru prod_release; ERROR: Variable SOFTWARE_ENTITY_12_BYTE_CD_RU not found. ERROR: Variable PROD_RELEASE not found. 590 run; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SORT used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 591 592 proc sort data=ts_override nodupkey; ERROR: File WORK.TS_OVERRIDE.DATA does not exist. 593 by software_entity_12_byte_cd_ru prod_release; ERROR: No data set open to look up variables. ERROR: No data set open to look up variables. 594 run; NOTE: The SAS System stopped processing this step because of errors. NOTE: PROCEDURE SORT used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 595 596 data sw_tax15; 597 merge sw_tax14 (in=a) 598 ts_override (in=b); ERROR: File WORK.TS_OVERRIDE.DATA does not exist. 599 by software_entity_12_byte_cd_ru prod_release; 21 The SAS System 13:42 Friday, February 10, 2023 600 run; NOTE: The SAS System stopped processing this step because of errors. WARNING: The data set WORK.SW_TAX15 may be incomplete. When this step was stopped there were 0 observations and 2 variables. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 601 602 data sw_tax_load; 603 set sw_tax15; 604 run; NOTE: The data set WORK.SW_TAX_LOAD has 0 observations and 2 variables. NOTE: DATA statement used (Total process time): real time 0.00 seconds cpu time 0.00 seconds 605 606 /*********************************************************************************** 606 ! ****/ 607 ERROR: Errors printed on pages 1,2,5,10,12,16,17,19,20. NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414 NOTE: The SAS System used: real time 10.09 seconds cpu time 1.06 seconds