IAMDRCC - Examples


Shown below are a few examples of using the Dynamic Reorganization program IAMDRCC. As described above, the IAMDRCC program facilitates the reorganization of an IAM file that is opened for update under a CICS region IAMSRORG functions. The actual example JCL is contained in the “.JCL” data set that is distributed as part of the IAM product. The examples are found in the member name that matches the corresponding example identifier. For example, the first example which is called EX4304A will be in member EX4304A of the JCL library. This is example JCL only, and will need to be changed as necessary for the system that you are using the example JCL on.

Example EX4304A

The job below performs the following functions:

  1. Establish an EXCI connection to the CICS region CICSBPRD to facilitate a dynamic reorganization while the data set is open.
  2. The data set to be reorganized is IAMCICSV.IAQA.LOCAL.IVTK1 which is dynamically allocated by IAMDRCC.
  3. A reorganized copy of the IAMCICSV.IAQA.LOCAL.IVTK1 data set will be created into the data set IAMCICSV.IAQA.LOCAL.IVTK1X. If necessary that data set will be defined using the attributes of the original data set.
  4. When the copy has completed, then the original data set IAMCICSV.IAQA.LOCAL.IVTK1 will be closed to CICS, and the following functions performed:
    • Records that were updated while the copy process was being performed will be updated in the new reorganized data set
      IAMCICSV.IAQA.LOCAL.IVTK1X.
    • The original data set IAMCICSV.IAQA.LOCAL.IVTK1 will be renamed to IAMCICSV.IAQA.LOCAL.IVTK1.Dddmmyy to serve as a backup data set.
    • The reorganized copy of that data set will then be renamed to
      IAMCICSV.IAQA.LOCAL.IVTK1.
    • The data set IAMCICSV.IAQA.LOCAL.IVTK1 will then be reopened under CICS.

Example EX4304A of Dynamic Reorganization

//DYNREORG EXEC PGM=IAMDRCC,PARM='SUBTASKS=1'
//STEPLIB  DD  DISP=SHR,DSN=<CICSHLQ>.SDFHEXCI <-- CICS STEPLIB
//         DD  DISP=SHR,DSN=IAM.LOADLIB         <--- IAM LOADLIB
//SYSPRINT DD  SYSOUT=*
//SYSOUT   DD  SYSOUT=*
//DRSUMM   DD  SYSOUT=*
//SYSIN    DD  *
       REORG FROM=IAMCICSV.IAQA.LOCAL.IVTK1,
 TO=IAMCICSV.IAQA.LOCAL.IVTK1X,
 CICS=CICSBPRD,
 SAVESFX=DDMMYY
/*

The original data set is specified by the FROM keyword, the data set to contain the reorganized copy is specified by the TO keyword. Based on the SAVESFX value of DDMMYY, the original data set will be renamed to IAMCICSV.IAQA.LOCAL.IVTK1.Dddmmyy. All functions are automatically performed without any operator or user interaction.

Example Output

Shown on the following page is an example of the printed output produced by IAMDRCC for the reorganization of an IAM KSDS data set. The format is similar to a log type listing where there is a data and time stamp in the left side, generally followed by the name of the program that is producing the message. With this format it is easy to follow through on the flow of the reorganization process.


    1. The output starts with an echo of the provided REORG statement. This is followed by a box th a summary of the name of the data set to be reorganized, followed by the name of the new reorganized copy, and the name of the CICS region.
    2. The next set of messages regard the establishment of communication with the specified CICS region. The process will verify that the CICS region does have the specified IAM file open, that the IAM file has data in the extended areas of the file so a reorganization will be useful, and notification of what data sets will need to be closed to complete the reorganization. As shown in this example, it is just the target data set. For data sets with an alternate index, there will be multiple data sets as shown in the subsequent example. We also see confirmation that the tracking of changes has been activated.
    3. This section shows the messages from the IAMSRORG program that is used to create the reorganized copy of the input data set. If the output data set did not previously exist, there will also be the output from IDCAMS for the DEFINE Cluster to define and allocate the output data set. The messages include the counts of records read from the input file and written to the output file.
    4. Upon completion of creating the reorganized copy of the input data set. the next step is to perform the Phase 1 updates. The process essentially does a syncpoint on the tracking table to indicate what will be the starting point for the Phase 2 updates. It then proceeds with updating the reorganized copy with all of the inserts, updates, and deletes that were done during the actual copy process. The original data set remains open for full update use during the Phase 1 updating of the new reorganized copy.
    5. The next section starts at the completion of the Phase 1 update process. It is now time for the data set to be closed to CICS. Presuming that the automatic close process is used, we see messages indicating that process. This marks the time at which the data set is unavailable to CICS. The time stamp from the message indicating issuing the request to close the data set can be used to mark the starting time of the data set not being available. In this case that time stamp was 16:29:18:9402. Once IAMDRCC receives confirmation from CICS that the data set is closed, it will now perform the Phase 2 updates to the new file, which are all the updates that were done since the beginning of Phase 1 shown in the prior step. Phase 2 performs the various updates, and completes with a summary of the updates that were performed by Phase 2.
    6. Upon completion of Phase 2 updates, IAMDRCC is now ready to do the renames to swap the new data set to the original data set name and resume processing. The messages show the data set renames being done via IDCAMS ALTER commands. With successful completion of the renames, IAMDRCC now will request to CICS to reopen the IAM data set. A key message here is the completion message of the request to open the data set indicating that the request was successful. The time stamp on this message can be used to mark the time of data set availability which in this case was 16:29:21:4931. The data set in this case was unavailable for 2.5529 seconds. IAMDRCC then notifies CICS that the process is complete so it can terminate and then IAMDRCC disconnects from CICS.

Sample of Dynamic Reorg Output

Sample Output from IAMDRCC Dynamic Reorganization Program

IAM DYNAMIC REORG -- VERSION 09.4/00 SPIN 00 -- COMPUWARE CORP DATE-2017.317
11/13/2017 16:29:09:0508 IAMDRCC COMMAND: REORG FROM=IAMCICSV.IAQA.LOCAL.IVTK1,
11/13/2017 16:29:09:0508 IAMDRCC COMMAND: TO=IAMCICSV.IAQA.LOCAL.IVTK1X,
11/13/2017 16:29:09:0509 IAMDRCC COMMAND: CICS=CICSBPRD,
11/13/2017 16:29:09:0509 IAMDRCC COMMAND: SAVESFX=DDMMYY
11/13/2017 16:29:09:0877 IAMDRCCS **********************************************************************
11/13/2017 16:29:09:0886 IAMDRCCS * *
11/13/2017 16:29:09:0886 IAMDRCCS * -- IAM DYNAMIC REORG -- *
11/13/2017 16:29:09:0886 IAMDRCCS * *
11/13/2017 16:29:09:0886 IAMDRCCS * INPUT DSN: IAMCICSV.IAQA.LOCAL.IVTK1 *
11/13/2017 16:29:09:0886 IAMDRCCS * OUTPUT DSN: IAMCICSV.IAQA.LOCAL.IVTK1X *
11/13/2017 16:29:09:0887 IAMDRCCS * RENAME REQUESTED: IAMCICSV.IAQA.LOCAL.IVTK1.D131117 *
11/13/2017 16:29:09:0887 IAMDRCCS * CICS REGION: CICSBPRD *
11/13/2017 16:29:09:0887 IAMDRCCS * *
11/13/2017 16:29:09:0887 IAMDRCCS **********************************************************************
-------------------------------------------------------------------------------------------------------Section A ?----
11/13/2017 16:29:09:0887 IAMDRCCS SPECIFIED TO= DSN WILL BE DYNAMICALLY ALLOCATED
11/13/2017 16:29:09:0887 IAMDRCCS ISSUING START REQUEST TO IAM D/R CICS SERVER
11/13/2017 16:29:09:1410 RECEIVED IAM DYNAMIC REORG START COMMAND IDRS/10361
11/13/2017 16:29:09:1478 CICSBPRD CICS REGION: CICSBPRD(STC09175)
11/13/2017 16:29:09:1478 CICSBPRD FILE IS AN IAM CLUSTER
11/13/2017 16:29:09:1478 CICSBPRD START COMMAND EXITS RC=00000000 REASON=00000000
11/13/2017 16:29:09:1500 IAMDRCCS DATASETS THAT WILL BE REQUIRED TO BE CLOSED TO COMPLETE THE DYNAMIC REORG REQUEST
11/13/2017 16:29:09:1500 IAMDRCCS DD=IVTK1 DSN=IAMCICSV.IAQA.LOCAL.IVTK1
11/13/2017 16:29:09:1501 IAMDRCCS ISSUING JOURNAL INIT REQUEST TO IAM D/R CICS SERVER
11/13/2017 16:29:09:1510 CICSBPRD RECEIVED DYNAMIC REORG JOURNAL INIT COMMAND IDRS/10365
11/13/2017 16:29:09:1510 CICSBPRD CONNECTING TO SHARED 64-BIT STORAGE
11/13/2017 16:29:09:1513 CICSBPRD INITIALIZING PHASE 1 JOURNAL PROCESSING
11/13/2017 16:29:09:1513 CICSBPRD JOURNAL INIT COMMAND EXITS RC=00000000 REASON=00000000
--------------------------------------------------------------------------------------------------------Section B ?----
11/13/2017 16:29:09:1516 IAMDRCCS LINK TO DYNAMIC REORG COPY/MERGE PROCESS
11/13/2017 16:29:09.1725 IAMSRORG PARAM DATA - *DYR I=SYS00001,OUTDSN=IAMCICSV.IAQA.LOCAL.IVTK1X *
11/13/2017 16:29:09.1726 IAMSRORG DYNAMIC REORG FUNCTION STARTED - 16.29.09
11/13/2017 16:29:09.2553 IAMSRORG INPUT : DD=SYS00001 DSN=IAMCICSV.IAQA.LOCAL.IVTK1
11/13/2017 16:29:09.2618 IAMSRORG IDCAMS : INVOKING IDCAMS TO DEFINE OUTDSN: IAMCICSV.IAQA.LOCAL.IVTK1X
DEFINE CL(NAME(IAMCICSV.IAQA.LOCAL.IVTK1X) -
CISZ(4096) RECSZ(200,200) IXD KEYS(41,8) FSPC(16,2) -
SHR(2,3) OWNER($IAM) CYL(1125,124) -
VOL(HI17DD) -
EATTR(OPT) )
IDC0508I DATA ALLOCATION STATUS FOR VOLUME HI17DD IS 0
IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0
IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0
11/13/2017 16:29:09.4017 IAMSRORG ALLOCATED DD=SYS00002 DISP=OLD DSN=IAMCICSV.IAQA.LOCAL.IVTK1X OUTPUT
11/13/2017 16:29:17.0869 IAMSRORG SYS00001: OVERFLOW RECORDS READ: 423 PRIME RECORDS READ: 3001863
11/13/2017 16:29:17.0869 IAMSRORG SYS00001: TOTAL RECORDS READ: 3002286
11/13/2017 16:29:17.0869 IAMSRORG SYS00002: TOTAL RECORDS WRITTEN: 3002286
11/13/2017 16:29:17.0893 IAMSRORG DEALLOC : DD=SYS00002 DSN=IAMCICSV.IAQA.LOCAL.IVTK1X
11/13/2017 16:29:17.0894 IAMSRORG DYNAMIC REORG FUNCTION ENDED - 16.29.17 - CONDITION CODE 000
--------------------------------------------------------------------------------------------------------Section C ?----
11/13/2017 16:29:17:0979 CICSBPRD RECEIVED DYNAMIC REORG PHASE 2 JOURNAL PREP COMMAND IDRS/10788
11/13/2017 16:29:17:0979 CICSBPRD PHASE 2 JOURNAL PREP COMMAND EXITS RC=00000000 REASON=00000000
11/13/2017 16:29:17:0983 IAMDRCCS LINK TO DYNAMIC REORG PHASE 1 UPDATE PROCESSOR
11/13/2017 16:29:17:0983 IAMDRCCS ISSUING PHASE 1 UDPATE REQUEST TO CICS D/R SERVER
11/13/2017 16:29:17:0994 CICSBPRD RECEIVED DYNAMIC REORG UPDATE PHASE 1 COMMAND IDRS/10789
11/13/2017 16:29:18:9190 CICSBPRD RECS ADDED:00000062 RECS UPDATED:00002613 RECS DELETED:00000008
11/13/2017 16:29:18:9396 CICSBPRD UPDATE PHASE 1 COMMAND EXITS RC=00000000 REASON=00000000
--------------------------------------------------------------------------------------------------------Section D ?----
11/13/2017 16:29:18:9402 IAMDRCCS ISSUING REQUEST TO CLOSE ORIGINAL IAM FILE IN IAM D/R CICS SERVER
11/13/2017 16:29:18:9416 CICSBPRD RECEIVED DYNAMIC REORG AUTOCLOSE COMMAND IDRS/10917
11/13/2017 16:29:18:9416 CICSBPRD THE FOLLOWING DATASETS WERE AUTOMATICALLY CLOSED:
11/13/2017 16:29:18:9777 CICSBPRD DD=IVTK1 DSN=IAMCICSV.IAQA.LOCAL.IVTK1
11/13/2017 16:29:18:9777 CICSBPRD AUTOCLOSE COMMAND EXITS RC=00000000 REASON=00000000
11/13/2017 16:29:18:9780 IAMDRCCS LINK TO DYNAMIC REORG PHASE 2 UPDATE PROCESSOR
11/13/2017 16:29:18:9802 IAMDRUP2 UPDATE PHASE 2 STARTS
11/13/2017 16:29:19:1259 IAMDRUP2 RECS ADDED: 0 RECS UPDATED: 544 RECS DELETED: 20
11/13/2017 16:29:19:1517 IAMDRUP2 PHASE 2 UPDATE EXITS RC=00000000 REASON=00000000
--------------------------------------------------------------------------------------------------------Section E ?----
11/13/2017 16:29:19:1518 IAMDRCCS PERFORMING AUTO RENAME OF ORIGINAL AND NEW IAM FILES
11/13/2017 16:29:19:2336 IDCAMS
11/13/2017 16:29:19:2336 IDCAMS ALTER IAMCICSV.IAQA.LOCAL.IVTK1 +
11/13/2017 16:29:19:2336 IDCAMS NEWNAME(IAMCICSV.IAQA.LOCAL.IVTK1.D131117)
11/13/2017 16:29:19:2336 IDCAMS IDC0531I ENTRY IAMCICSV.IAQA.LOCAL.IVTK1 ALTERED
11/13/2017 16:29:19:2360 IDCAMS IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0
11/13/2017 16:29:19:2362 IDCAMS
11/13/2017 16:29:19:2362 IDCAMS
11/13/2017 16:29:19:2362 IDCAMS
11/13/2017 16:29:19:2363 IDCAMS IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0
11/13/2017 16:29:21:3187 IDCAMS
11/13/2017 16:29:21:3187 IDCAMS ALTER IAMCICSV.IAQA.LOCAL.IVTK1X +
11/13/2017 16:29:21:3187 IDCAMS NEWNAME(IAMCICSV.IAQA.LOCAL.IVTK1)
11/13/2017 16:29:21:3187 IDCAMS IDC0531I ENTRY IAMCICSV.IAQA.LOCAL.IVTK1X ALTERED
11/13/2017 16:29:21:3202 IDCAMS IDC0001I FUNCTION COMPLETED, HIGHEST CONDITION CODE WAS 0
11/13/2017 16:29:21:3205 IDCAMS
11/13/2017 16:29:21:3205 IDCAMS
11/13/2017 16:29:21:3205 IDCAMS
11/13/2017 16:29:21:3205 IDCAMS IDC0002I IDCAMS PROCESSING COMPLETE. MAXIMUM CONDITION CODE WAS 0
11/13/2017 16:29:21:3321 IAMDRCCS ISSUING REQUEST TO REOPEN IAM FILES IN IAM D/R CICS SEVER
11/13/2017 16:29:21:3331 CICSBPRD RECEIVED DYNAMIC REORG AUTOOPEN COMMAND IDRS/11012
11/13/2017 16:29:21:4931 CICSBPRD DDNAME=IVTK1 HAS BEEN REOPENED
11/13/2017 16:29:21:4931 CICSBPRD AUTOOPEN COMMAND EXITS RC=00000000 REASON=00000000
11/13/2017 16:29:21:4938 IAMDRCCS ISSUING REORG COMPLETE REQUEST TO IAM D/R CICS SERVER
11/13/2017 16:29:21:4946 CICSBPRD RECEIVED DYNAMIC REORG COMPLETE COMMAND IDRS/11015
11/13/2017 16:29:21:4946 CICSBPRD DETACHING FROM SHARED 64-BIT STORAGE
11/13/2017 16:29:21:4949 CICSBPRD COMPLETE COMMAND EXITS RC=00000000 REASON=00000000
11/13/2017 16:29:21:4955 IAMDRCCS IAM DYNAMIC REORG SUBTASK ENDS. HIGHEST RC=00000000
11/13/2017 16:29:29:0544 IAMDRCC IAM DYNAMIC REORG MAIN TASK ENDS. HIGHEST RC=00000000
-------------------------------------------------------------------------------------------------------Section F ?----

Example EX4304B

This is an example of using IAMDRCC to perform multiple concurrent reorganizations. In this example notice in the JCL example below that the EXEC card has the parameter of PARM=’SUBTASKS=3’ which specifies that IAMDRCC will use three concurrently executing subtasks to perform three independent IAM data set reorganizations. In the SYSIN control cards are three REORG for different data sets that will be reorganized by the three subtasks. Rather than intermixing the output, each subtask keeps in virtual storage all of the messages that relate to the reorg it is performing. When the reorg process completes, it will then write all of the associated messages to the SYSPRIINT card with the full details of the processing. The SYSPRINT example above shows what is produced by one subtask, each additional task that performs a REORG will produce a similar report. A shorter printed output of each REORG that was processed is written out to the DRSUMM DD card if it is provided.

Notice that the SYSIN statements include the BEGIN statement as the first statement and the END statement as the last statement. These statements request the Enabling of and Disabling of the High Activity Toleration (HAT) CICS GLUE Exits to ensure that all CICS Reads and Writes complete successfully across the necessary short duration auto file close, rename, and open.

As each subtask completes a REORG, if will pick up the next REORG if there are any to be processed. Upon completion of all of the REORG statements, IAMDRCC processing is terminated.

EX4304B JCL

EX4304B JCL Example

//DRSTEP   EXEC PGM=IAMDRCC,PARM='SUBTASKS=3'
//STEPLIB  DD  DISP=SHR,DSN=<&IAMHLQ>.LOAD
//         DD  DISP=SHR,DSN=<&CICSHLQ>.SDFHEXCI
//SYSPRINT DD  SYSOUT=*
//SYSOUT   DD  SYSOUT=*
//DRSUMM   DD  SYSOUT=*
//SYSIN    DD  *
BEGIN CICS=CICSBPRD
REORG FROM=IAMCICSV.IAQA.LOCAL.IVTK1,
TO=IAMCICSV.IAQA.LOCAL.IVTK1X,
SAVESFX=DDMMYY
REORG FROM=IAMCICSV.IAQA.LOCAL.IVTK2,
TO=IAMCICSV.IAQA.LOCAL.IVTK2X,
SAVESFX=DDMMYY
REORG FROM=IAMCICSV.IAQA.LOCAL.IVTK3,
TO=IAMCICSV.IAQA.LOCAL.IVTK3X,
SAVESFX=DDMMYY
END CICS=CICSBPRD
/*

EX4304B DRSUMM Example Listing

Shown is the summary output for the three reorganizations performed by this example. It contains the relevant control card statement, identification of the data sets involved in the REORG process, return code from the REORG process. The complete processing information is on SYSPRINT, and can be found by using the link provided below.

EX4304B Example of DRSUMM output

1IAM DYNAMIC REORG -- VERSION 010.01/00 SPIN 00 -- COMPUWARE CORP       
DYNAMIC REORG SUMMARY REPORT FOR JOBNAME=MMJDYNRO JOBID=JOB04966

14:28:29:0099  COMMAND: BEGIN CICS=CICSBPRD
14:28:29:1803  IAM DYNAMIC REORG SUBTASK ENDS.  HIGHEST RC=00000000


14:28:29:1805  COMMAND: REORG FROM=IAMCICSV.IAQA.LOCAL.IVTK1,
14:28:29:1805  COMMAND:  TO=IAMCICSV.IAQA.LOCAL.IVTK1X,
14:28:29:1805  COMMAND:  SAVESFX=DDMMYY
14:28:29:3755     INPUT DSN:        IAMCICSV.IAQA.LOCAL.IVTK1
14:28:29:3755     OUTPUT DSN:       IAMCICSV.IAQA.LOCAL.IVTK1X
14:28:29:3756     RENAME REQUESTED: IAMCICSV.IAQA.LOCAL.IVTK1.D020518
14:28:29:3756     CICS REGION:      CICSBPRD
14:30:21:1050  IAM DYNAMIC REORG SUBTASK ENDS.  HIGHEST RC=00000000


14:28:29:1805  COMMAND: REORG FROM=IAMCICSV.IAQA.LOCAL.IVTK2,
14:28:29:1806  COMMAND:  TO=IAMCICSV.IAQA.LOCAL.IVTK2X,
14:28:29:1806  COMMAND:  SAVESFX=DDMMYY
14:28:29:3609     INPUT DSN:        IAMCICSV.IAQA.LOCAL.IVTK2
14:28:29:3609     OUTPUT DSN:       IAMCICSV.IAQA.LOCAL.IVTK2X
14:28:29:3609     RENAME REQUESTED: IAMCICSV.IAQA.LOCAL.IVTK2.D020518
14:28:29:3609     CICS REGION:      CICSBPRD
14:30:31:8184  IAM DYNAMIC REORG SUBTASK ENDS.  HIGHEST RC=00000000


14:28:29:1806  COMMAND: REORG FROM=IAMCICSV.IAQA.LOCAL.IVTK3,
14:28:29:1806  COMMAND:  TO=IAMCICSV.IAQA.LOCAL.IVTK3X,
14:28:29:1806  COMMAND:  SAVESFX=DDMMYY
14:28:29:3434     INPUT DSN:        IAMCICSV.IAQA.LOCAL.IVTK3
14:28:29:3434     OUTPUT DSN:       IAMCICSV.IAQA.LOCAL.IVTK3X
14:28:29:3434     RENAME REQUESTED: IAMCICSV.IAQA.LOCAL.IVTK3.D020518
14:28:29:3438     CICS REGION:      CICSBPRD
14:30:54:4633  IAM DYNAMIC REORG SUBTASK ENDS.  HIGHEST RC=00000000


14:30:21:1106  COMMAND: END CICS=CICSBPRD
14:30:55:4713  IAM DYNAMIC REORG SUBTASK ENDS.  HIGHEST RC=00000000


14:31:01:6101  IAM DYNAMIC REORG MAIN TASK ENDS.  HIGHEST RC=00000000

Copy Example EX4304E

This is an example of using IAMDRCC to obtain a copy of a data set that is open for update under CICS. The copy can be used as a non-fuzzy backup or it can be used for pushing the data to other spots in your IT organization such as to a distributed platform.

EX4304E JCL

EX4304E JCL Example

//*
//* EX4304E - DYNAMIC REORG COPY EXAMPLE JCL AND CONTROL STATEMENTS
//*
//*           THE IAM DATASET TO BE COPIED WHILE OPENED FOR UPDATE
//*           IN CICS IS:
//*                  IAMCICSV.IAQA.LOCAL.IVTK1
//*
//*           THE REORGANIZED IAM COPY OF THE ORIGINAL DATASET IS:
//*                  IAMCICSV.IAQA.LOCAL.IVTK1X
//*
//*
//*
//DYNCOPY  EXEC PGM=IAMDRCC,PARM='SUBTASKS=1'
//STEPLIB  DD  DISP=SHR,DSN=<CICSHLQ>.SDFHEXCI <-- CICS STEPLIB
//         DD  DISP=SHR,DSN=IAM.LOADLIB         <--- IAM LOADLIB
//SYSPRINT DD  SYSOUT=*
//DRSUMM   DD  SYSOUT=*
//IAMINFO  DD  SYSOUT=*
//SYSOUT   DD  SYSOUT=*
//SYSIN    DD  *
COPY FROM=IAMCICSV.IAQA.LOCAL.IVTK1   <--- DATASET TO COPIED
TO=IAMCICSV.IAQA.LOCAL.IVTK1X,  <--- COPY OF FROM DATASET
CICS=CICSBXYZ                   <--- CICS REGION W/ORIGINAL DATASET
/*


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*