Compression Program ("COMPRESSION.SQL")
----------------------------------------------------
Description:
The compression program uses the manager question, jump, and the frequency total, count, and jump tables to "compress"
out questions from the complete set of data into a subset of relevant data items that will eventually be released to the
public. Two tables are created: a table of compiled information about each manager question including it's
compression "status", and a table containing the paths from each question (default next question and jumps).
The "&n" symbol used below signifies a "substitution parameter" within the compression program.
Tables used (program=COMPRESSION.SQL):
-- & 5 = QUESTION TABLE Manager question table.
-- & 6 = JUMP TABLE Manager jumps table.
-- & 7 = FREQ_TOTAL TABLE Frequency total table.
-- & 8 = FREQ_COUNT TABLE Frequency count table.
-- & 9 = FREQ_JUMP TABLE Frequency jumps table.
Option Parameters (program=COMPRESSION.SQL):
-- & 1 = REMOVE_NODATA/NOREMOVE_NODATA Compress out questions which are all missing regardless of the print
flag status, or, leave in all missing questions.
-- & 2 = FORCE_OUT/NOFORCE_OUT After compression has completed, force out questions which have the
print flag turned OFF.
Tables created (program=COMPRESSION.SQL):
-- & 3 = CMP_QNAME TABLE This table is the main output table of the compression program. It
contains one row for each qname in the manager question table.
For each question, information such as compression status, print
flag status, whether the question exists in the data (or is all
missing, as well as looping information, is maintained in this
table.
-- & 4 = CMP_NEXT_TABLE This table contains the "branches" for each question which has NOT
been compressed out. So, each manager question not compressed out
should have at least one record here, and may have more, depending
on whether there were jumps in addition to a default next question.
CMP_QNAME Oracle description:
SQLWKS> desc cmp_qname_1998
Column Name Null? Type
------------------------------ -------- ----
QNAME VARCHAR2(75) Manager question name.
QNUM NUMBER(8) Manager question number.
QORDER VARCHAR2(25) Manager qorder - order which questions appear in the manager.
TYPE NUMBER(2) Question "type" from manager (1=select option, etc).
EXISTING NUMBER(1) Status of question in data, 1=exists, 0=all missing.
QPRINT VARCHAR2(2) Documentation print flag status from manager, T=ON, F=OFF.
STATUS NUMBER(2) Compression status of question, 1=included, 2=uncompressable, -2=compressed out, -3=forced out.
SECURITY VARCHAR2(2) Security from the manager (B=Public, V=Private, etc).
TOTAL NUMBER(15) The number of responses found in the data for this question.
LOOP_STR VARCHAR2(50) A string which represents all loops in which this question is found.
LOOP_NUM NUMBER(4) The loop "number" which this question belongs to (represents inner most loop in nested loops).
LOOP_MARK VARCHAR2(5) This field contains "START" if this question is the beginning question of a loop,
"END" if this question is the last question in the loop, and "NONE" if the
question is both the START and the END (a loop of 1 question).
LOOP_MAX NUMBER(2) This field contains the maximum number of loops to document, if a limit has been imposed.
The limit comes from a phrase on the REPEAT manager question within the comment
field: /* MAX_LOOP_TO_DOC=10 */, for example.
CMP_NEXT Oracle description:
SQLWKS> desc cmp_next_1998
Column Name Null? Type
------------------------------ -------- ----
QNAME VARCHAR2(75) Manager question name.
JUMPMIN NUMBER(10) Jump minimum - will be NULL if this is a default next branch.
JUMPMAX NUMBER(10) Jump maximum - will be NULL if this is a default next branch.
FREQ_COUNT NUMBER(10) The count of the cases which took this branch.
NEXTNAME VARCHAR2(75) The question name which this branch goes to.
Sample rows from CMP_QNAME table:
SQLWKS> select * from cmp_qname_1998
2> order by qorder
3>
QNAME QNUM QORDER TYPE EXISTING QP STATUS SE TOTAL LOOP_STR LOOP_NUM LOOP_ LOOP_MAX
--------------------------------- ---------- -------------- ---------- ---------- -- ---------- -- ---------- ------------------- ---------- ----- ----------
YINTDATE 25768 Y00-000C 3 1 T 1 B 8386 0 0
YHHI-100 22926 Y00-001 6 1 F -2 B 8386 0 0
YHHI-150 30704 Y00-001B 6 1 F -2 B 8386 0 0
YHHI-200 22927 Y00-002 6 1 F -2 B 8386 0 0
YHHI-250 25599 Y00-002Y 6 1 F -2 B 8386 0 0
YHHI-300 22928 Y00-003 12 1 F -2 B 8386 0 0
YHHI-310 25632 Y00-003A 12 1 F -2 B 8386 0 0
YHHI-320 25625 Y00-003B 12 1 F -2 B 8386 0 0
YHHI-350 25624 Y00-003N 12 1 F -2 B 8386 0 0
YHHI-400 22929 Y00-004 10 1 T 1 B 8386 0 0
YHHI-500 22930 Y00-005 12 1 F -2 B 8386 0 0
YHHI-520 22931 Y00-006 6 1 F -2 B 8386 0 0
YHHI-550 22932 Y00-007 6 1 F -2 B 8386 0 0
YHHI-560 23938 Y00-008 6 1 F -2 B 8386 0 0
YHHI-570 23939 Y00-009 6 1 F -2 B 8386 0 0
YHHI-572 25669 Y00-009B 6 1 F -2 B 8386 0 0
YHHI-574 25670 Y00-009D 6 1 F -2 B 8386 0 0
YHHI-576 25671 Y00-009F 6 1 F -2 B 8386 0 0
YHHI-578 25672 Y00-009H 10 1 F -2 B 8386 0 0
YHHI-580 25673 Y00-009J 10 1 F -2 B 8386 0 0
YHHI-582 25674 Y00-009L 10 1 F -2 B 8386 0 0
YHHI-600 22933 Y00-010 12 1 F -2 B 8386 0 0
YHHI-700 22934 Y00-011 12 1 F -2 B 8386 0 0
YHHI-900 22936 Y00-012 12 1 F -2 B 8386 0 0
YHHI-1100 22938 Y00-013 12 1 F -2 B 8386 0 0
YHHI-1200 22939 Y00-014 7 0 F -2 B 0 0
YHHI-1450 22937 Y00-017 12 1 F -2 B 8386 0 0
YHHI-1455 25675 Y00-017B 6 1 F -2 B 8386 0 0
YHHI-1460 25676 Y00-017D 6 1 F -2 B 8386 0 0
YHHI-1465 25677 Y00-017F 6 1 F -2 B 8386 0 0
YHHI-1470 25678 Y00-017H 6 1 F -2 B 8386 0 0
YHHI-1475 25679 Y00-017J 6 1 F -2 B 8386 0 0
YHHI-1500-LOOP-BEGIN 22942 Y00-018 12 1 F -2 B 38579 ,001, 1 0
YHHI-1600 22943 Y00-019 12 1 F -2 B 38579 ,001, 1 0
YHHI-1700 22944 Y00-020 12 1 F -2 B 38579 ,001, 1 0
YHHI-1800 22945 Y00-021 12 1 F -2 B 38579 ,001, 1 0
YHHI-1840 23913 Y00-022 6 1 F -2 B 38579 ,001, 1 0
YHHI-1860 23914 Y00-023 6 1 F -2 B 37927 ,001, 1 0
YHHI-1870 23960 Y00-024 1 1 F -2 B 652 ,001, 1 0
YHHI-1880 23915 Y00-025 10 1 F -2 B 426 ,001, 1 0
YHHI-1885 25667 Y00-025B 12 1 F -2 B 226 ,001, 1 0
YHHI-1900 22946 Y00-026 12 1 F -2 B 38579 ,001, 1 0
YHHI-2000 22947 Y00-027 1 1 F -2 B 38579 ,001, 1 0
YHHI-2005 30731 Y00-027A 1 1 F -2 B 13351 ,001, 1 0
YHHI-2010 30730 Y00-027B 12 1 F -2 B 13351 ,001, 1 0
YHHI-2100 22948 Y00-028 12 1 F -2 B 13351 ,001, 1 0
YHHI-2200 22949 Y00-029 10 1 F -2 B 13351 ,001, 1 0
YHHI-2600 23971 Y00-030 1 1 F -2 B 25228 ,001, 1 0
YHHI-2700 22954 Y00-031 12 1 F -2 B 16416 ,001, 1 0
YHHI-2800 22955 Y00-032 10 1 F -2 B 16416 ,001, 1 0
YHHI-2900-LOOP-END 22956 Y00-033 12 1 F -2 B 38579 ,001, 1 0
YHHI-2950 25415 Y00-034 12 1 F -2 B 8386 0 0
YHHI-3000 22957 Y00-035 12 1 F -2 B 8386 0 0
YHHI-3200 22959 Y00-036 12 1 F -2 B 8386 0 0
YHHI-3500 22962 Y00-037 1 1 T 1 B 8386 0 0
YHHI-3600 22963 Y00-038 2 1 T 1 B 2849 0 0
YHHI-3700 22964 Y00-039 1 1 T 1 B 2849 0 0
YHHI-3800-LOOP-BEGIN 22965 Y00-040 12 1 F -2 B 1482 ,002, 2 0
YHHI-3900 22966 Y00-041 12 1 F -2 B 1482 ,002, 2 0
YHHI-4000 22967 Y00-042 14 1 F -2 B 395 ,002, 2 0
YHHI-4100 22968 Y00-043 3 1 T 1 B 1482 ,002, 2 START 0
YHHI-4200 22969 Y00-044 1 1 T 1 B 1482 ,002, 2 0
YHHI-4300-LOOP-END 22970 Y00-045 12 1 T 1 B 1482 ,002, 2 END 0
YHHI-4400 22971 Y00-046 1 1 T 1 B 8386 0 0
YHHI-4505 24167 Y00-047 1 1 T 1 B 195 0 0
YHHI-4510 22972 Y00-048 12 1 F -2 B 8386 0 0
YHHI-4520 25417 Y00-049 12 1 F -2 B 8386 0 0
YHHI-4530 25418 Y00-050 12 1 F -2 B 8386 0 0
YHHI-4540 25419 Y00-051 12 1 F -2 B 8386 0 0
YHHI-4550 25420 Y00-052 12 1 F -2 B 8386 0 0
YHHI-4560 25428 Y00-053 12 1 F -2 B 8386 0 0
YHHI-4600 22973 Y00-054 1 1 T 1 B 8386 0 0
YHHI-4700 22974 Y00-055 7 0 F -2 B 0 0
YHHI-4800 25491 Y00-055B 12 1 F -2 B 8025 0 0
YHHI-4900 22976 Y00-056 12 1 F -2 B 8025 0 0
YHHI-5000 22977 Y00-057 12 1 F -2 B 8025 0 0
YHHI-5100 22978 Y00-058 12 1 F -2 B 8025 0 0
YHHI-5300 22980 Y00-060 12 1 F -2 B 8025 0 0
YHHI-5400 22981 Y00-061 12 1 F -2 B 8025 0 0
YHHI-5450 25635 Y00-061B 12 1 F -2 B 8025 0 0
YHHI-5500-LOOP-BEGIN 22982 Y00-062 12 1 F -2 B 13351 ,003, 3 0
YHHI-5510 25770 Y00-062A 2 1 F -2 B 13351 ,003, 3 0
YHHI-5550 25479 Y00-062B 12 1 F -2 B 13351 ,003, 3 0
YHHI-5600 22983 Y00-063 12 1 F -2 B 13351 ,003, 3 0
YHHI-5700 22984 Y00-064 12 1 F -2 B 13351 ,003, 3 0
YHHI-5800 22985 Y00-065 1 1 T 1 B 13351 ,003, 3 START 0
YHHI-6000 22987 Y00-066 2 1 F -2 B 13351 ,003, 3 0
YHHI-6100 22988 Y00-067 12 1 F -2 B 13351 ,003, 3 0
YHHI-6300 22990 Y00-068 12 1 F -2 B 13351 ,003, 3 0
YHHI-6400 22991 Y00-069 12 1 F -2 B 13351 ,003, 3 0
YHHI-6500 22992 Y00-070 12 1 F -2 B 13351 ,003, 3 0
YHHI-6600 22993 Y00-071 12 1 F -2 B 13351 ,003, 3 0
YHHI-6800 22995 Y00-073 12 1 F -2 B 13351 ,003, 3 0
YHHI-7000 22997 Y00-074 12 1 F -2 B 13351 ,003, 3 0
YHHI-7100 22998 Y00-075 1 1 T 1 B 13351 ,003, 3 0
YHHI-7200 22999 Y00-076 -3 1 T 1 B 280 ,003, 3 0
YHHI-7300 23000 Y00-077 12 1 F -2 B 280 ,003, 3 0
YHHI-7400 23001 Y00-078 12 1 F -2 B 280 ,003, 3 0
YHHI-7600 23003 Y00-079 12 1 F -2 B 280 ,003, 3 0
YHHI-7700 23004 Y00-080 12 1 F -2 B 280 ,003, 3 0
YHHI-7900 23006 Y00-082 12 1 F -2 B 280 ,003, 3 0
YHHI-8100 23008 Y00-083 12 1 F -2 B 280 ,003, 3 0
YHHI-8400 23011 Y00-084 1 1 T 1 B 280 ,003, 3 0
YHHI-8500 23012 Y00-085 5 1 T 1 V 152 ,003, 3 0
YHHI-8600 23013 Y00-086 1 1 T 1 B 280 ,003, 3 0
YHHI-8700 23014 Y00-087 1 1 T 1 B 94 ,003, 3 0
YHHI-8710 24040 Y00-088 12 1 F -2 B 94 ,003, 3 0
YHHI-8720 24041 Y00-089 12 1 F -2 B 94 ,003, 3 0
YHHI-8800 23015 Y00-090 12 1 F -2 B 94 ,003, 3 0
YHHI-8900 23016 Y00-091 12 1 F -2 B 94 ,003, 3 0
YHHI-9000 23017 Y00-092 12 1 F -2 B 94 ,003, 3 0
YHHI-9100 23018 Y00-093 12 1 F -2 B 94 ,003, 3 0
YHHI-9200 23019 Y00-094 12 1 F -2 B 94 ,003, 3 0
YHHI-9500 23022 Y00-095 12 1 F -2 B 94 ,003, 3 0
YHHI-9550 25576 Y00-095B 12 1 F -2 B 280 ,003, 3 0
YHHI-9600-LOOP-BEGIN 23023 Y00-096 12 1 F -2 B 1400 ,003,004, 4 0
YHHI-9700 23024 Y00-097 1 1 F -2 B 1400 ,003,004, 4 0
YHHI-9800-LOOP-END 23025 Y00-098 12 1 T 1 B 1400 ,003,004, 4 NONE 0
YHHI-9900 23026 Y00-099 1 1 T 1 B 280 ,003, 3 0
YHHI-10000 23027 Y00-100 12 1 F -2 B 134 ,003, 3 0
YHHI-10010 25759 Y00-100B 12 1 F -2 B 134 ,003, 3 0
YHHI-10100 23028 Y00-101 1 1 T 1 B 146 ,003, 3 0
YHHI-10200 23029 Y00-102 12 1 F -2 B 50 ,003, 3 0
YHHI-10210 25760 Y00-102B 12 1 F -2 B 50 ,003, 3 0
YHHI-10300 23030 Y00-103 1 1 T 1 B 96 ,003, 3 0
YHHI-10400 23031 Y00-104 12 1 F -2 B 2 ,003, 3 0
YHHI-10410 25761 Y00-104B 12 1 F -2 B 2 ,003, 3 0
YHHI-10500 23032 Y00-105 1 1 T 1 B 94 ,003, 3 0
YHHI-10600 23033 Y00-106 12 1 F -2 B 13163 ,003, 3 0
YHHI-10610 25764 Y00-106B 12 1 F -2 B 13163 ,003, 3 0
YHHI-10700 23034 Y00-107 1 1 T 1 B 13163 ,003, 3 0
YHHI-10800 23035 Y00-108 12 1 F -2 B 13125 ,003, 3 0
YHHI-11200 23039 Y00-109 12 1 F -2 B 38 ,003, 3 0
YHHI-11300 23040 Y00-110 1 1 T 1 B 2 ,003, 3 0
YHHI-11400 23041 Y00-111 12 1 F -2 B 2 ,003, 3 0
YHHI-11410 25765 Y00-111B 12 1 F -2 B 2 ,003, 3 0
YHHI-11500 23042 Y00-112 1 1 T 1 B 2 ,003, 3 0
YHHI-11600 23043 Y00-113 12 1 F -2 B 1 ,003, 3 0
YHHI-12000 23047 Y00-114 12 1 F -2 B 1 ,003, 3 0
YHHI-12100 23048 Y00-115 1 0 T -2 B ,003, 3 0
YHHI-12200 23049 Y00-116 12 0 F -2 B ,003, 3 0
YHHI-12210 25767 Y00-116B 12 0 F -2 B ,003, 3 0
YHHI-12300 23050 Y00-117 1 0 F -2 B ,003, 3 0
YHHI-12400 23051 Y00-118 12 0 F -2 B ,003, 3 0
YHHI-12800 23055 Y00-119 12 0 F -2 B ,003, 3 0
YHHI-12890 23990 Y00-120 12 1 F -2 B 13312 ,003, 3 0
YHHI-12892 25480 Y00-120B 1 1 T 1 B 13312 ,003, 3 0
YHHI-12894-LOOP-BEGIN 25481 Y00-120D 12 1 F -2 B 5323 ,003,005, 5 0
YHHI-12895 25437 Y00-121 1 1 T 1 B 5323 ,003,005, 5 START 0
YHHI-12899-LOOP-END 25482 Y00-121Y 12 1 T 1 B 5323 ,003,005, 5 END 0
YHHI-12899C 25483 Y00-121Z 1 1 T 1 B 5293 ,003, 3 0
YHHI-12900 23056 Y00-122 1 1 T 1 B 13295 ,003, 3 0
YHHI-12901 25606 Y00-122B 1 1 T 1 B 13126 ,003, 3 0
YHHI-12901B 25636 Y00-122C 12 1 F -2 B 7882 ,003, 3 0
YHHI-12902 25607 Y00-122D 1 1 T 1 B 7882 ,003, 3 0
YHHI-12903 25609 Y00-122F 12 1 F -2 B 719 ,003, 3 0
YHHI-12904 25608 Y00-122G 12 1 F -2 B 10 ,003, 3 0
YHHI-12905 25492 Y00-122H 12 1 F -2 B 13126 ,003, 3 0
YHHI-12910 23988 Y00-123 9 1 T 1 B 169 ,003, 3 0
YHHI-12911 25427 Y00-124 1 1 T 1 B 169 ,003, 3 0
YHHI-12911B 25485 Y00-124B 12 1 F -2 B 136 ,003, 3 0
YHHI-12912 25429 Y00-125 10 1 F -2 B 136 ,003, 3 0
YHHI-12917 25421 Y00-126 1 1 T 1 B 33 ,003, 3 0
YHHI-12918 25422 Y00-127 5 1 T 1 V 30 ,003, 3 0
YHHI-12920 23989 Y00-128 1 1 T 1 B 169 ,003, 3 0
YHHI-12925 25423 Y00-129 1 1 T 1 B 169 ,003, 3 0
YHHI-12926 25424 Y00-130 1 1 T 1 B 84 ,003, 3 0
YHHI-12927 25486 Y00-130B 12 1 F -2 B 65 ,003, 3 0
YHHI-12927B 25487 Y00-130D 12 1 F -2 B 19 ,003, 3 0
YHHI-12928 25438 Y00-131 1 1 T 1 B 84 ,003, 3 0
YHHI-12929 25614 Y00-131B 12 1 F -2 B 85 ,003, 3 0
YHHI-12930 23991 Y00-132 1 1 T 1 B 174 ,003, 3 0
YHHI-12940 23992 Y00-133 -3 1 T 1 B 40 ,003, 3 0
YHHI-12940B 25586 Y00-133A 1 1 T 1 B 186 ,003, 3 0
YHHI-12941 25578 Y00-133B 1 1 T 1 B 169 ,003, 3 0
YHHI-12942 25579 Y00-133D 1 1 T 1 B 104 ,003, 3 0
YHHI-12943 25580 Y00-133F 12 1 F -2 B 88 ,003, 3 0
YHHI-12943B 25582 Y00-133G 1 1 T 1 B 88 ,003, 3 0
YHHI-12944 25581 Y00-133H 12 1 F -2 B 23 ,003, 3 0
YHHI-12945 25584 Y00-133J 12 1 F -2 B 81 ,003, 3 0
YHHI-12946 25585 Y00-133L 12 1 F -2 B 81 ,003, 3 0
YHHI-12947 25616 Y00-133N 12 1 F -2 B 104 ,003, 3 0
YHHI-12950 23986 Y00-134 12 1 F -2 B 13126 ,003, 3 0
YHHI-12960 23987 Y00-135 1 1 T 1 B 13126 ,003, 3 0
YHHI-12970 25206 Y00-136 12 1 F -2 B 11914 ,003, 3 0
YHHI-13000 23057 Y00-137 12 1 F -2 B 11914 ,003, 3 0
YHHI-13050 23985 Y00-138 12 1 F -2 B 11914 ,003, 3 0
YHHI-13060 25583 Y00-138B 1 1 T 1 B 11914 ,003, 3 0
YHHI-13100 23058 Y00-139 1 1 T 1 B 11849 ,003, 3 0
YHHI-13120 25205 Y00-140 12 1 F -2 B 11231 ,003, 3 0
YHHI-13250 23062 Y00-141 1 1 T 1 B 1277 ,003, 3 0
YHHI-13260 23063 Y00-142 -3 1 T 1 B 1648 ,003, 3 0
YHHI-13270 25459 Y00-142B 12 1 F -2 B 1999 ,003, 3 0
YHHI-13280 25637 Y00-142D 1 1 T 1 B 1999 ,003, 3 0
YHHI-13400 23061 Y00-144 12 1 F -2 B 1381 ,003, 3 0
YHHI-13600 25425 Y00-145 1 1 T 1 B 1381 ,003, 3 0
YHHI-13610 25617 Y00-145B 1 1 T 1 B 1134 ,003, 3 0
YHHI-13620 23059 Y00-146 1 1 T 1 B 1030 ,003, 3 0
YHHI-13640 25426 Y00-147 1 1 T 1 B 247 ,003, 3 0
YHHI-13650 25596 Y00-147B 12 1 F -2 B 37 ,003, 3 0
YHHI-13670 25598 Y00-147F 12 1 F -2 B 37 ,003, 3 0
YHHI-13700-LOOP-END 23064 Y00-148 12 1 T 1 B 13351 ,003, 3 END 0
YHHI-13800 23065 Y00-149 12 1 F -2 B 8386 0 0
YHHI-14000 23067 Y00-150 12 1 F -2 B 8386 0 0
YHHI-14100 23068 Y00-151 12 1 F -2 B 8386 0 0
YHHI-14300 23070 Y00-152 12 1 F -2 B 8386 0 0
Sample rows from CMP_NEXT table:
SQLWKS> select * from cmp_next_1998
2> where qname like 'YHHI%'
3>
QNAME JUMPMIN JUMPMAX FREQ_COUNT NEXTNAME
----------------------------------- ---------- ---------- ---------- ------------------------
YHHI-10100 YHHI-10300
YHHI-10100 1 1 50 YHHI-12892
YHHI-10300 YHHI-10500
YHHI-10300 1 1 2 YHHI-12892
YHHI-10500 YHHI-11300
YHHI-10500 1 1 92 YHHI-10700
YHHI-10700 YHHI-13700-LOOP-END
YHHI-10700 1 1 13125 YHHI-12892
YHHI-11300 2 YHHI-11500
YHHI-11500 YHHI-13700-LOOP-END
YHHI-11500 1 1 1 YHHI-12892
YHHI-12892 YHHI-12900
YHHI-12892 1 1 5293 YHHI-12895
YHHI-12895 YHHI-12899-LOOP-END
YHHI-12899-LOOP-END YHHI-12899C
YHHI-12899C YHHI-12900
YHHI-12899C 1 1 17 YHHI-12930
YHHI-12900 YHHI-12901
YHHI-12900 2 2 169 YHHI-12910
YHHI-12901 YHHI-12960
YHHI-12901 1 1 7882 YHHI-12902
YHHI-12902 YHHI-12960
YHHI-12910 YHHI-12911
YHHI-12911 YHHI-12917
YHHI-12911 1 1 136 YHHI-12920
YHHI-12917 YHHI-12920
YHHI-12917 1 1 30 YHHI-12918
YHHI-12918 YHHI-12920
YHHI-12920 YHHI-12925
YHHI-12925 YHHI-12930
YHHI-12925 1 1 84 YHHI-12926
YHHI-12926 YHHI-12928
YHHI-12928 YHHI-12930
YHHI-12928 1 1 12 YHHI-12940
YHHI-12930 YHHI-12940B
YHHI-12930 1 1 28 YHHI-12940
YHHI-12940 YHHI-12940B
YHHI-12940B YHHI-13700-LOOP-END
YHHI-12940B 1 1 169 YHHI-12941
YHHI-12941 YHHI-12942
YHHI-12941 1 1 65 YHHI-12943B
YHHI-12942 YHHI-12943B
YHHI-12942 1 1 81 YHHI-13280
YHHI-12943B YHHI-13280
YHHI-12943B 1 1 65 YHHI-13060
YHHI-12960 YHHI-13250
YHHI-12960 1 1 11849 YHHI-13060
YHHI-13060 YHHI-13100
YHHI-13060 1 1 65 YHHI-13700-LOOP-END
YHHI-13100 YHHI-13700-LOOP-END
YHHI-13100 1 1 618 YHHI-13260
YHHI-13250 YHHI-13260
YHHI-13250 0 0 247 YHHI-13280
YHHI-13260 YHHI-13280
YHHI-13280 YHHI-13600
YHHI-13280 1 1 618 YHHI-13700-LOOP-END
YHHI-13600 YHHI-13610
YHHI-13600 1 1 247 YHHI-13640
YHHI-13610 YHHI-13620
YHHI-13610 1 1 104 YHHI-13700-LOOP-END
YHHI-13620 YHHI-13700-LOOP-END
YHHI-13640 YHHI-13700-LOOP-END
YHHI-13700-LOOP-END YHHI-14950
YHHI-14950 YHHI-16400
YHHI-14950 1 1 4867 YHHI-15400
YHHI-15400 YHHI-16400
YHHI-16400 YHHI-16800
YHHI-16800 YHHI-38000
YHHI-16800 1 1 3765 YHHI-18200
YHHI-18200 YHHI-18300
YHHI-18200 1 1 383 YHHI-19500
YHHI-18300 YHHI-19400
YHHI-19400 YHHI-20700
YHHI-19400 1 1 4339 YHHI-32150
YHHI-19500 YHHI-20600
YHHI-20600 YHHI-21700
YHHI-20600 1 1 364 YHHI-33450
YHHI-20700 YHHI-23100
YHHI-21700 YHHI-23200
YHHI-23100 YHHI-23500
YHHI-23100 1 1 124 YHHI-23300
YHHI-23200 YHHI-23600
YHHI-23200 1 1 6 YHHI-23400
YHHI-23300 YHHI-23500
YHHI-23400 YHHI-23600
YHHI-400 YHHI-3500
YHHI-4100 YHHI-4200
YHHI-4200 YHHI-4300-LOOP-END
YHHI-4300-LOOP-END YHHI-4400
YHHI-4400 YHHI-4600
YHHI-4400 5 7 39 YHHI-4505
YHHI-4400 10 11 22 YHHI-4505
YHHI-4400 14 14 134 YHHI-4505
YHHI-4505 YHHI-4600
YHHI-4600 YHHI-14950
YHHI-4600 1 1 8025 YHHI-5800
YHHI-5800 YHHI-7100
YHHI-7100 YHHI-7200
YHHI-7100 1 1 13071 YHHI-10700
YHHI-7200 YHHI-8400
YHHI-8400 YHHI-8600
YHHI-8400 1 1 152 YHHI-8500
YHHI-8500 YHHI-8600
YHHI-8600 YHHI-9800-LOOP-END
YHHI-8600 1 1 94 YHHI-8700
YHHI-8700 YHHI-9800-LOOP-END
YHHI-9800-LOOP-END YHHI-9900
YHHI-9900 YHHI-10100
YHHI-9900 1 1 134 YHHI-12892
Compression batch file (to be run under SQL Plus) AS OF 10/13/1999:
-- &1 = NODATA FLAG
-- &2 = "FORCE_OUT" or "NOFORCE_OUT" - after compression, force out any PRINT=OFF questions
-- &3 = CMP_QNAME TABLE
-- &4 = CMP_NEXT_TABLE
-- &5 = QUESTION TABLE
-- &6 = JUMP TABLE
-- &7 = FREQ_TRACK TABLE
-- &8 = FREQ_COUNTER TABLE
-- &9 = FREQ_JUMP TABLE
SET TIME ON;
SET ECHO ON;
SPOOL D:\DOC_PROGS\COMPRESSION\COMP_NLSY97_RND2.LOG;
START D:\DOC_PROGS\COMPRESSION\COMPRESSION.SQL REMOVE_NODATA NOFORCE_OUT CMP_QNAME_1998 CMP_NEXT_1998 QUESTION_1998 JUMP_1998 FREQ_TOTAL_1998 FREQ_COUNT_1998 FREQ_JUMP_1998;
SPOOL D:\DOC_PROGS\COMPRESSION\COMP_NLSY97_RND2.ERRLOG;
START D:\DOC_PROGS\COMPRESSION\COMPRESSION_CHECK.SQL REMOVE_NODATA NOFORCE_OUT CMP_QNAME_1998 CMP_NEXT_1998 QUESTION_1998 JUMP_1998 FREQ_TRACK_1998 FREQ_COUNT_1998 FREQ_JUMP_1998;
SPOOL OFF;
Compression Program AS OF 10/13/1999:
-- & 1 = NODATA FLAG
-- & 2 = "FORCE_OUT" or "NOFORCE_OUT" - after compression, force out any PRINT=OFF questions
-- & 3 = CMP_QNAME TABLE
-- & 4 = CMP_NEXT_TABLE
-- & 5 = QUESTION TABLE
-- & 6 = JUMP TABLE
-- & 7 = FREQ_TOTAL TABLE
-- & 8 = FREQ_COUNT TABLE
-- & 9 = FREQ_JUMP TABLE
set echo on;
-- set up portion of compression program
--
drop table &3;
drop table &4;
create table &3
(qname varchar2 (75),
qnum number (8),
qorder varchar2 (25),
type number (2),
existing number (1),
qprint varchar2 (2),
status number (2),
security varchar2 (2),
total number (15),
loop_str varchar2 (50),
loop_num number (4),
loop_mark varchar2 (5),
loop_max number (2));
create table &4
(qname varchar2 (75),
jumpmin number (10),
jumpmax number (10),
freq_count number (10),
nextname varchar2 (75));
insert into &3 select qname, qnum, UPPER(qorder), qdoctype, 0, qprint, NULL, qvartype, NULL, NULL, 0, NULL, 0 from &5;
update &3 set status=1 where qprint='T';
update &3 set status=0 where qprint='F';
update &3 set existing=1 where qname in (select distinct(MGR_qname) from &7);
update &3 set type=-3 where qname in (select qname from &5 where qmarktype=3);
-- SET TOTALS FOR DIFFERENT QUESTION TYPES (3=date, -3=markall, 14=multiple edit
update &3 CQ set total=(select sum (all_total) from &7 FT where FT.MGR_qname=CQ.qname) where type <> 3 and type <> 14 and type <> -3;
update &3 CQ set total=(select sum (all_total) from &7 FT where FT.MGR_qname=CQ.qname and
substr (FT.DATA_qname,-2,2) = '~Y') where type=3;
update &3 CQ set total=(select sum (all_total) from &7 FT where FT.MGR_qname=CQ.qname and
substr (FT.DATA_qname,-6,6) =
(select max (substr (DATA_qname,-6,6)) from &7 where MGR_qname=CQ.qname))
where type=14 or type=-3;
--
delete from &3
where qorder < (select min (qorder) from &3 where status=1);
insert into &4 select qname,NULL,NULL,NULL,NULL from &3;
update &4 CN
set nextname=(select qdefnext from &5 Q where Q.qname=CN.qname);
insert into &4
select CQ.qname, QJMPMIN, QJMPMAX, null, qjmpgoto from &3 CQ, &6 J, &5 Q
where CQ.qnum = J.qnum and
CQ.qname = Q.qname and
J.qjmpgoto <> Q.qdefnext;
update &4 CN
set freq_count=(select SUM(COUNT) from &9 FJ where
(FJ.MGR_qname=CN.qname) and
(CN.jumpmin = FJ.jumpmin) and (FJ.jumpmax = CN.jumpmax))
where jumpmin is not null;
COMMIT;
CREATE INDEX ON &3 (QNAME);
CREATE INDEX ON &4 (QNAME);
CREATE INDEX ON &4 (NEXTNAME);
COMMIT;
-- begin actual compression portion
DECLARE
var_nodata varchar2 (20) := '&1';
VAR_FORCEOUT VARCHAR2 (20) := '&2';
VAR_QNAME VARCHAR2 (75);
VAR_NEXTNAME VARCHAR2 (75);
VAR_DEFNEXT VARCHAR2 (75);
VAR_QPRINT VARCHAR2 (2);
VAR_STATUS NUMBER (2);
VAR_ANY_JUMPS NUMBER (3);
VAR_COUNT NUMBER (8);
VAR_ANYLOOPS NUMBER (10);
VAR_COUNT_RECS NUMBER (8);
VAR_EXISTING NUMBER (1);
VAR_JUMPMIN NUMBER (10);
VAR_JUMPMAX NUMBER (10);
VAR_TOTAL NUMBER (15);
CHANGES_FLAG NUMBER (1);
VAR_LOOPNUM NUMBER (5);
VAR_LOOPNUMMAX NUMBER (5);
VAR_LOOPMARK VARCHAR2 (8);
VAR_LOOPSTR VARCHAR2 (50);
VAR_LOOPMAX NUMBER (2);
VAR_TEMPSTR VARCHAR2 (5);
VAR_POSITION NUMBER (3);
VAR_QORDER VARCHAR2 (20);
VAR_QTYPE NUMBER (2);
VAR_QTEXT VARCHAR2 (32767);
INDX NUMBER (5);
CURSOR CMP_QNAME_CURSOR IS
SELECT QNAME,QPRINT,STATUS,EXISTING FROM &3
ORDER BY QORDER;
CURSOR CMP_JUMP_CURSOR IS
SELECT QNAME, JUMPMIN, JUMPMAX, FREQ_COUNT, NEXTNAME FROM &4
WHERE JUMPMIN IS NOT NULL AND FREQ_COUNT IS NOT NULL AND FREQ_COUNT > 0;
CURSOR CMP_NEXT_CURSOR IS
SELECT QNAME, JUMPMIN, JUMPMAX, FREQ_COUNT, NEXTNAME FROM &4
WHERE JUMPMIN IS NOT NULL AND QNAME IN
(SELECT QNAME FROM &3 WHERE STATUS <> 1);
CURSOR CMP_MGR_CURSOR IS
SELECT UPPER(QORDER),QTYPE,QTEXT FROM &5
ORDER BY UPPER (QORDER);
CURSOR CMP_START_CURSOR IS
SELECT DISTINCT (SUBSTR (LOOP_STR,-5,5)) FROM &3
WHERE LOOP_MAX <> 0;
CURSOR CMP_LOOP_CURSOR (VAR_LOOPSTR VARCHAR2) IS
SELECT QNAME, LOOP_STR FROM &3
WHERE INSTR (LOOP_STR, VAR_LOOPSTR) > 0;
BEGIN
/* fill in the loop columns on the qname compression table */
SELECT COUNT(*) INTO VAR_ANYLOOPS FROM &7 WHERE INSTR (DATA_QNAME,'.0') > 0 AND DATA_QNAME <> MGR_QNAME;
IF (VAR_ANYLOOPS > 0) THEN
VAR_LOOPNUM := 0;
VAR_LOOPNUMMAX := 0;
VAR_LOOPSTR := '';
OPEN CMP_MGR_CURSOR;
LOOP
FETCH CMP_MGR_CURSOR INTO VAR_QORDER, VAR_QTYPE, VAR_QTEXT;
EXIT WHEN CMP_MGR_CURSOR%NOTFOUND;
IF (VAR_QTYPE = 12) THEN
VAR_QTEXT := LTRIM (VAR_QTEXT);
IF (SUBSTR (VAR_QTEXT,1,6) = 'REPEAT') THEN
VAR_LOOPNUM := VAR_LOOPNUMMAX + 1;
VAR_LOOPNUMMAX := VAR_LOOPNUM;
VAR_LOOPSTR := RTRIM (REPLACE (REPLACE (VAR_LOOPSTR || ',' || TO_CHAR (VAR_LOOPNUM,'099') || ',',' '),',,',','));
IF (INSTR (VAR_QTEXT,'MAXLOOPS_TO_DOC=') > 0) THEN
VAR_TEMPSTR := LTRIM (RTRIM (SUBSTR (VAR_QTEXT,INSTR (VAR_QTEXT,'MAXLOOPS_TO_DOC=') + 16,3)));
VAR_TEMPSTR := REPLACE (REPLACE (VAR_TEMPSTR,'*'),' ');
VAR_LOOPMAX := TO_NUMBER (VAR_TEMPSTR);
ELSE
VAR_LOOPMAX := 0;
END IF;
END IF;
END IF;
IF (VAR_LOOPNUM = 0) THEN
VAR_LOOPMAX := 0;
ELSIF (VAR_LOOPMAX IS NULL) THEN
VAR_LOOPMAX := 0;
END IF;
UPDATE &3 SET LOOP_NUM = VAR_LOOPNUM, LOOP_STR = VAR_LOOPSTR, LOOP_MAX = VAR_LOOPMAX
WHERE QORDER=VAR_QORDER;
IF (VAR_QTYPE = 12) AND (SUBSTR (VAR_QTEXT,1,5) = 'UNTIL') THEN
IF (LENGTH (VAR_LOOPSTR) < 6) THEN
VAR_LOOPNUM := 0;
VAR_LOOPSTR := '';
ELSE
VAR_LOOPSTR := RTRIM (SUBSTR (VAR_LOOPSTR,1,LENGTH (VAR_LOOPSTR) - 4));
VAR_LOOPNUM := TO_NUMBER (SUBSTR (VAR_LOOPSTR,-4,3));
END IF;
END IF;
COMMIT;
END LOOP;
CLOSE CMP_MGR_CURSOR;
END IF;
/* if any loop documentation maximums were found, loop through and delete extra freqs */
SELECT COUNT(*) INTO VAR_COUNT FROM &3 WHERE LOOP_MAX > 0;
IF (VAR_COUNT > 0) THEN
OPEN CMP_START_CURSOR;
LOOP
FETCH CMP_START_CURSOR INTO VAR_TEMPSTR;
EXIT WHEN CMP_START_CURSOR%NOTFOUND;
SELECT LOOP_MAX INTO VAR_LOOPMAX FROM &3 WHERE QORDER=
(SELECT MIN(QORDER) FROM &3 WHERE SUBSTR (LOOP_STR,-5,5) = VAR_TEMPSTR);
OPEN CMP_LOOP_CURSOR (VAR_TEMPSTR);
LOOP
FETCH CMP_LOOP_CURSOR INTO VAR_QNAME, VAR_LOOPSTR;
EXIT WHEN CMP_LOOP_CURSOR%NOTFOUND;
VAR_POSITION := INSTR (VAR_LOOPSTR, VAR_TEMPSTR);
IF (VAR_POSITION = 1) THEN
VAR_POSITION := 2;
ELSIF (VAR_POSITION = 5) THEN
NULL;
ELSIF (VAR_POSITION = 9) THEN
VAR_POSITION := 8;
ELSIF (VAR_POSITION = 13) THEN
VAR_POSITION := 11;
END IF;
DELETE FROM &7 WHERE MGR_QNAME = VAR_QNAME AND INSTR (DATA_QNAME,'.') > 0 AND
SUBSTR (DATA_QNAME, INSTR (DATA_QNAME,'.') - 1 + VAR_POSITION, 2) > REPLACE (TO_CHAR (VAR_LOOPMAX,'09'),' ');
END LOOP;
CLOSE CMP_LOOP_CURSOR;
COMMIT;
END LOOP;
CLOSE CMP_START_CURSOR;
DELETE FROM &8 WHERE DATA_QNAME NOT IN (SELECT DATA_QNAME FROM &7);
END IF;
/* if remove_nodata questions was chosen, set status to -1 where the qname is no data. Otherwise,
set qprint=F questions to -1 where they have no data (this makes it easier to compress out). */
IF (VAR_NODATA = 'REMOVE_NODATA') THEN
UPDATE &3
SET STATUS = -1
WHERE EXISTING=0;
ELSE
UPDATE &3
SET STATUS = -1
WHERE QPRINT='F' AND
EXISTING=0;
END IF;
/* delete the jumps associated with a no data question */
DELETE FROM &4 WHERE JUMPMIN IS NOT NULL AND QNAME IN (SELECT QNAME FROM &3 WHERE STATUS=-1);
/* delete jumps which nobody took (have a freq of 0) */
DELETE FROM &4 WHERE JUMPMIN IS NOT NULL AND FREQ_COUNT IS NOT NULL AND FREQ_COUNT=0;
/* if everyone went to one jump, delete the default next and switch the jump to be the default */
OPEN CMP_JUMP_CURSOR;
LOOP
FETCH CMP_JUMP_CURSOR INTO VAR_QNAME, VAR_JUMPMIN, VAR_JUMPMAX, VAR_COUNT, VAR_NEXTNAME;
EXIT WHEN CMP_JUMP_CURSOR%NOTFOUND;
SELECT TOTAL INTO VAR_TOTAL FROM &3 WHERE QNAME=VAR_QNAME;
IF (VAR_COUNT = VAR_TOTAL) THEN
DELETE FROM &4 WHERE QNAME=VAR_QNAME AND
((JUMPMIN IS NULL) OR ((JUMPMIN <> VAR_JUMPMIN) AND (FREQ_COUNT <> VAR_COUNT)));
UPDATE &4 SET NEXTNAME=VAR_NEXTNAME, JUMPMIN=NULL, JUMPMAX=NULL
WHERE QNAME=VAR_QNAME AND JUMPMIN=VAR_JUMPMIN AND JUMPMAX=VAR_JUMPMAX;
END IF;
END LOOP;
CLOSE CMP_JUMP_CURSOR;
/* start compression main body */
CHANGES_FLAG := 1;
WHILE CHANGES_FLAG = 1
LOOP
CHANGES_FLAG := 0;
/* start looping through the comp_qname table */
OPEN CMP_QNAME_CURSOR;
LOOP
FETCH CMP_QNAME_CURSOR INTO VAR_QNAME, VAR_QPRINT, VAR_STATUS, VAR_EXISTING;
EXIT WHEN CMP_QNAME_CURSOR%NOTFOUND;
IF (VAR_STATUS <> -2) THEN
SELECT COUNT(*) INTO VAR_ANY_JUMPS FROM &4 WHERE QNAME=VAR_QNAME AND JUMPMIN IS NOT NULL;
/* delete any jumps which are the same as the default next */
IF (VAR_ANY_JUMPS > 0) THEN
SELECT NEXTNAME INTO VAR_DEFNEXT FROM &4 WHERE QNAME=VAR_QNAME AND JUMPMIN IS NULL;
SELECT COUNT(*) INTO VAR_COUNT_RECS FROM &4 WHERE QNAME=VAR_QNAME AND JUMPMIN IS NOT NULL AND
NEXTNAME = VAR_DEFNEXT;
IF (VAR_COUNT_RECS > 0) THEN
DELETE FROM &4 WHERE QNAME=VAR_QNAME AND JUMPMIN IS NOT NULL AND
NEXTNAME = VAR_DEFNEXT;
CHANGES_FLAG := 1;
END IF;
END IF;
/* if no jumps, then adjust the next table to drop out this entry */
IF ((VAR_ANY_JUMPS = 0) AND (VAR_STATUS <> 1)) THEN
SELECT NEXTNAME INTO VAR_NEXTNAME FROM &4 WHERE QNAME=VAR_QNAME AND JUMPMIN IS NULL;
UPDATE &4 SET NEXTNAME=VAR_NEXTNAME WHERE NEXTNAME=VAR_QNAME;
DELETE FROM &4 WHERE QNAME=VAR_QNAME;
UPDATE &3 SET STATUS=-2 WHERE QNAME=VAR_QNAME;
CHANGES_FLAG := 1;
/* otherwise, this is an uncompressable question this time through - set the status to 2 */
ELSIF (VAR_STATUS <> 1) THEN
UPDATE &3 SET STATUS=2 WHERE QNAME=VAR_QNAME;
END IF;
END IF;
END LOOP;
COMMIT;
CLOSE CMP_QNAME_CURSOR;
/* end updates */
END LOOP;
/* if force_out option was chosen, set the uncompressables to a code of -3 */
IF (VAR_FORCEOUT = 'FORCE_OUT') THEN
UPDATE &3 SET STATUS = -3 WHERE STATUS = 2;
COMMIT;
END IF;
/* set the loop markers on the compressed start and end of each loop */
IF (VAR_ANYLOOPS > 0) THEN
FOR INDX IN 1..VAR_LOOPNUMMAX LOOP
UPDATE &3 SET LOOP_MARK = 'START' WHERE QORDER = (SELECT MIN (QORDER) FROM &3 WHERE INSTR (LOOP_STR,REPLACE (TO_CHAR (INDX,'099'),' ')) > 0 AND
STATUS >= 1);
UPDATE &3 SET LOOP_MARK = 'NONE' WHERE QORDER = (SELECT MAX (QORDER) FROM &3 WHERE INSTR (LOOP_STR,REPLACE (TO_CHAR (INDX,'099'),' ')) > 0 AND
STATUS >= 1) AND LOOP_MARK IS NOT NULL AND LOOP_MARK = 'START';
UPDATE &3 SET LOOP_MARK = 'END' WHERE QORDER = (SELECT MAX (QORDER) FROM &3 WHERE INSTR (LOOP_STR,REPLACE (TO_CHAR (INDX,'099'),' ')) > 0 AND
STATUS >= 1) AND LOOP_MARK IS NULL;
END LOOP;
COMMIT;
ELSE
UPDATE &3 SET LOOP_NUM=0;
COMMIT;
END IF;
END;
/
Compression Report Program AS OF 10/13/1999:
set pagesize 55;
SET LINESIZE 200;
SET HEADING ON;
COLUMN QNAME FORMAT A50;
set echo on;
--
-- FREQUENCY OF STATUS COLUMN:
-- -3 = FORCED OUT (ONLY IF OPTION CHOSEN)
-- -2 = COMPRESSED OUT
-- 0 = PRINTFLAG OFF
-- 1 = PRINTFLAG ON
-- 2 = UNCOMPRESSABLE QUESTIONS
--
SELECT STATUS,COUNT(*) FROM &3 GROUP BY STATUS;
--
-- FIND PLACES WHERE THE CODEBOOK FLOW FAILS.
--
-- LIST OF QUESTIONS WHICH HAVE NO NEXT QUESTION LEADING TO THEM.
--
SELECT QNAME,QPRINT,STATUS FROM &3 WHERE STATUS > 0 AND
QNAME NOT IN (SELECT DISTINCT (NEXTNAME) FROM &4) AND
QORDER <> (SELECT MIN (QORDER) FROM &3 WHERE STATUS > 0)
ORDER BY QORDER;
--
-- LIST OF QUESTIONS WHICH HAVE A NEXT QUESTION WHICH DOES NOT EXIST.
--
SELECT Q.QNAME,QPRINT,STATUS,NEXTNAME
FROM &3 Q, &4 N
WHERE Q.QNAME = N.QNAME AND
STATUS > 0 AND
UPPER (NEXTNAME) <> 'NIL' AND
NEXTNAME NOT IN (SELECT QNAME FROM &3)
ORDER BY QORDER;
--
-- LIST OF QUESTIONS WITH PRINTFLAGS OFF, BUT WHICH COMPRESSION
-- WANTS TO INCLUDE
--
SELECT QNAME,QPRINT,STATUS FROM &3 WHERE STATUS > 1 ORDER BY QORDER;
--
-- LIST OF QUESTIONS WHICH ARE BEING FORCED OUT - MEANING UNCOMPRESSABLE,
-- PRINTFLAG=OFF QUESTIONS WHICH WE DON'T WANT TO RELEASE. THE PATHS
-- TO AND FROM THESE QUESTIONS WILL MOST LIKELY BE INCORRECT.
--
SELECT QNAME,QPRINT,STATUS FROM &3 WHERE STATUS = -3 ORDER BY QORDER;
--
-- FIND QUESTIONS WHICH COMPRESSION WANTS TO INCLUDE BUT HAVE
-- A SECURITY <> 'B' (PUBLIC)
--
SELECT QNAME,QPRINT,STATUS,SECURITY FROM &3 WHERE STATUS > 1 AND QNAME NOT IN
(SELECT QNAME FROM &5 WHERE QVARTYPE='B') ORDER BY QORDER;
--
-- FIND QUESTIONS WHICH COMPRESSION WANTS TO INCLUDE AND HAVE MISSING
-- KWICTITLES
--
SELECT CQ.QNAME, CQ.QPRINT, STATUS
FROM &3 CQ, &5 Q
WHERE STATUS > 1 AND CQ.QNAME = Q.QNAME AND QKWICTITLE IS NULL;
--
-- FIND QUESTIONS WHICH COMPRESSION WANTS TO INCLUDE AND HAVE MISSING
-- SASLABELS
--
SELECT CQ.QNAME, CQ.QPRINT, STATUS
FROM &3 CQ, &5 Q
WHERE STATUS > 1 AND CQ.QNAME = Q.QNAME AND QVARLABEL IS NULL;
--
-- FIND QUESTIONS WHICH COMPRESSION WANTS TO INCLUDE AND DO NOT HAVE
-- A CCODE OR DCODE
--
SELECT CQ.QNAME, CQ.QPRINT, STATUS
FROM &3 CQ, &5 Q
WHERE STATUS > 1 AND CQ.QNAME = Q.QNAME AND QCONTCODE IS NULL AND QDOCDCODE IS NULL;