*COMDECK HISTORY *L470*    ************************************************************* *L470* 
 QU3A072  PROBLEM - DATA TYPE NUMERIC CANNOT BE USED IN A DECODE         QU3A072
          FUNCTION.                                                      QU3A072
          SOLUTION - DECODE PERFORMS CONVERSIONS OF DATA TYPES           QU3A072
          SO ANY TYPE OF NUMBER (NUMERIC, INTEGER, FIXED, FLOATING,      QU3A072
          DOUBLE, COMPLEX) MAY BE DECODED WITH ANY OTHER TYPE OF NUMBER. QU3A072
          MP     01/24/75    EXPANAL, EXPEV                              QU3A072
                                                                         QU3A072
 QU3A094  PROBLEM - CONVERSIONS TO NUMERIC DATA TYPE DO NOT WORK         QU3A094
          CORRECTLY.  FOR EXAMPLE DECIMAL POINTS ARE NOT ALLOWED         QU3A094
          DURING AN INSERT USING BUT WORK ON AN UPDATE MOVE.             QU3A094
          SOLUTION - 1. ON CHARACTER TO NUMERIC CONVERSIONS DECIMAL      QU3A094
          POINTS ARE ALLOWED AND SCALING IS TAKEN INTO CONSIDERATION.    QU3A094
          2. ON INTEGER TO NUMERIC CONVERSIONS SCALING IS TAKEN INTO     QU3A094
          CONSIDERATION.                                                 QU3A094
          3. ON FLOATING TO NUMERIC CONVERSIONS NEGATIVE SCALING HAS     QU3A094
          BEEN CORRECTED (I.E. 12300.0 TO A PIC 999PP NUMERIC FIELD).    QU3A094
          GEL    77/11/21    CONVERT, USINGEX, POINTERS, LEXSCAN         QU3A094
                             DELUPSYN, CTL30, CTL40, SPEDEDE             QU3A094
                                                                         QU3A094
 QU3A301  PROBLEM - NUMERIC TO NUMERIC CONVERSION IGNORES SCALING.       QU3A301
          SOLUTION - SCALING WILL BE TAKEN INTO CONSIDERATION BY         QU3A301
          CONVERTING THE NUMERIC TO INTEGER AND THEN BACK TO NUMERIC.    QU3A301
          GEL    77/11/30    CONVERT                                     QU3A301
                                                                         QU3A301
 QU3A324  PROBLEM - A TRANSMISSION OF THE FORM                           QU3A324
                 EXTRACT UPON LFN A AS B AND C AS D                      QU3A324
          IS ILLEGAL BUT NO APPROPRIATE DIANGOSTIC IS ISSUED.            QU3A324
          SOLUTION - A DIAGNOSTIC WILL BE ISSUED SAYING THAT THE DATA-   QU3A324
          NAME AND IS ILLEGAL.                                           QU3A324
          GEL    78/01/22    SYNGN06                                     QU3A324
                                                                         QU3A324
 QU3A334  PROBLEM - QU CANT HANDLE FUNCTION(CURRENT-REGISTER) , EXAMPLE, QU3A334
               JULIAN(CURRENT-DATE)                                      QU3A334
          SOLUTION - PROCESS CURRENT-REGISTER WITH *DATA-ATTRIB* AS A    QU3A334
          DATANAME, NOT WITHIN *EXPRESS* AS AN EXPRESSION.               QU3A334
          MP     01/12/78    QU0100, CUMFUNC, CURTT, DATANAM, DELUPSYN,  QU3A334
                             DISPLAY, ERASEXH, EXECUTE, EXPANAL, MOVEVAL QU3A334
                             RPTMOVE, SORT, SYMPLXX, SYNTAX, SYNGNXX,    QU3A334
                             QUGEN                                       QU3A334
                                                                         QU3A334
 QU3A335  PROBLEM - IF ERRORS OCCUR DURING AN INSERT FROM THERE IS NO    QU3A335
          WAY TO TERMINATE THE COMMAND WITHOUT ABORTING QU.              QU3A335
          SOLUTION - QU WILL PROMPT THE USER FOR MORE AFTER 16 LINES     QU3A335
          OF ERRORS ARE LISTED.  IF THE USER ENTERS NO THEN THE          QU3A335
          DIRECTIVE WILL BE TERMINATED.                                  QU3A335
          GEL    78/01/22    QU2IO, USINGEX, CTL40, DIAGXEQ              QU3A335
                                                                         QU3A335
 QU3A338  PROBLEM - IF THE DIRECTIVE SEP = $ IS GIVEN WHEN THE           QU3A338
          SEPARATOR CHARACTER IS $ THEN A DIAGNOSTIC WILL BE ISSUED.     QU3A338
          SOLUTION - CODE WAS GENERATED TO TREAT THE SEPARATOR           QU3A338
          CHARACTER AS A CHARACTER AND NOT AS DELIMITER DURING           QU3A338
          PROCESSING OF THE SEPARATOR DIRECTIVE.                         QU3A338
          GEL    78/01/22    SUB10, DIAGTEXT, UNISEP, SYNGN10, SYMPL10   QU3A338
                                                                         QU3A338
 QU3A339  PROBLEM - WHEN MULTIPLE SECTIONS ARE USED, IF DETAIL ITEM      QU3A339
          EXTENDS BEYOND SECTION WIDTH, REPORT WRITER                    QU3A339
          TRUNCATES DATA WITH NO DIAGNOSTIC.                             QU3A339
          SOLUTION - WHEN DETERMINING WHETHER ITEM EXTENDS BEYOND        QU3A339
          REPORT WIDTH, USE SECTION WIDTH FOR DETAIL AND PAGE WIDTH      QU3A339
          FOR ALL OTHERS.                                                QU3A339
          MP     01/12/78    SETPOS                                      QU3A339
                                                                         QU3A339
 QU3A343  PROBLEM - PICTURES WITH LEADING P"S ARE DIAGNOSED AS ILLEGAL.  QU3A343
          SOLUTION - LEADING P"S WERE TREATED AS TRAILING P"S.  BY       QU3A343
          CHECKING THE CORRECT COUNTER THIS ERROR WILL BE CORRECTED.     QU3A343
          GEL    78/01/13    PICTUR                                      QU3A343
                                                                         QU3A343
 QU30299  PROBLEM - THE USER ERROR                                       QU30299
               DEFINE DEF-ITEM = AREA-ITEM                               QU30299
               EVALUATE BEFORE/AFTER REPORT-DIRECTIVE DEF-ITEM           QU30299
          IS NOT DIAGNOSED.                                              QU30299
          SOLUTION - WHEN EVALUATING WITHIN A REPORT, CHECK WHETHER      QU30299
          EXPRESSION BEING EVALUATED INVOLVES AREA-ITEM, AND IF SO,      QU30299
          ISSUE DIAG (617) <DATANAME> INVOLVES AREA-ITEM.                QU30299
          MP     01/11/78    RPTEVAL, SYNGN03, QUGEN                     QU30299
                                                                         QU30299
 QU3A344  PROBLEM - MULTIPLE -AT LINE- CLAUSES WITH VERTICAL SECTIONS    QU3A344
          NOT DIAGNOSED ALTHOUGH REFERENCE MANUAL SAYS IT IS ILLEGAL.    QU3A344
          SOLUTION - ISSUE DIAG (618) DETAIL WITH MULTIPLE -AT LINE-     QU3A344
          INVALID WITH VERTICAL SECTIONS                                 QU3A344
          AND TERMINATE REPORT PREPARATION IF THIS CONDITION ARISES.     QU3A344
          MP     01/26/78    ATLINE, SYNGN02, SYNGN03, QUGEN             QU3A344
                                                                         QU3A344
 QU3A345  PROBLEM - NO RECORDS RETRIEVED IF TRANSMISSION CONTAINS        QU3A345
          MULTIPLE *IF*S ON ALTERNATE KEY.                               QU3A345
          SOLUTION - IFKEY CALL BLDTYP3 WITH CORRECT PARAMETER SO        QU3A345
          THAT MULTIPLE *IF*S ARE *OR*ED TOGETHER PROPERLY.              QU3A345
          MP     01/20/78    IFKEY                                       QU3A345
                                                                         QU3A345
 QU3A346  PROBLEM - QU CANNOT CORRECTLY COMPARE SHORTER FIELD TO         QU3A346
          LONGER FIELD IF A COLLATING SEQUENCE WHICH DOES NOT CONTAIN    QU3A346
          BLANKS HAS BEEN SPECIFIED.                                     QU3A346
          SOLUTION - USE COLLATING SEQUENCE TABLE WHEN DETERMINING       QU3A346
          WHETHER LONGER FIELD CONTAINS ONLY BLANKS BEYOND LENGTH        QU3A346
          OF SHORTER FIELD.                                              QU3A346
          MP     01/23/78    EXPEV, EXPEVAL                              QU3A346
                                                                         QU3A346
 QU3A347  PROBLEM - QU WILL READ AN ENTIRE SORTED SQUENTIAL FILE WHEN    QU3A347
          IT IS NESCESSARY ONLY TO READ A PORTION OF IT.                 QU3A347
          SOLUTION - QU WILL STOP READING A SORTED SEQUENTAIL ASCENDING  QU3A347
          FILE WHEN THERE CAN BE NO MORE QUALIFYING RECORDS.             QU3A347
          GEL    78/01/26    EXPEVAL, USE, AREA$TBL                      QU3A347
                                                                         QU3A347
QU3A348   PROBLEM - QU MODES OUT AFTER                                   QU3A348
               DEFINE BCOMPLEX AS COMPLEX = 2                            QU3A348
               DIS BCOMPLEX                                              QU3A348
          SOLUTION - ALLOCATE 2 WORDS FOR VALUE OF COMPLEX ITEM, NO      QU3A348
          MATTER WHAT THE TYPE OF ITS VALUE IS.                          QU3A348
          MP     01/27/78    SPEDEDE                                     QU3A348
                                                                         QU3A348
 QU3A349  PROBLEM - THE FUNCTION GREG GIVES INCORRECT RESULTS FOR THE    QU3A349
          YEARS 1900, 2000,....                                          QU3A349
          SOLUTION - GREG WAS CALCULATING THE YEARS FROM 1 TO 100        QU3A349
          INSTEAD OF 0 TO 99.                                            QU3A349
          GEL    78/01/28    EXPEV, EXPEVAL                              QU3A349
                                                                         QU3A349
 QU3A350  PROBLEM - DIAGNOSTIC 58 WOULD BE MORE HELPFULL IF THE          QU3A350
          OPERAND IN ERROR WERE GIVEN.                                   QU3A350
          SOLUTION - DIAGNOSTIC 58 WILL INCLUDE THE OPERAND IN ERROR.    QU3A350
          GEL    78/02/01    EXPANAL                                     QU3A350
                                                                         QU3A350
 QU3A351  PROBLEM - A REWIND OF THE TRACE FILE OCCASIONALLY RESULTS      QU3A351
          IN A I/O SEQUENCE ERROR ON NOS.                                QU3A351
          SOLUTION - QU WILL WAIT FOR CIO ACTIVITY TO COMPLETE ON THE    QU3A351
          TRACE FILE BEFORE REWINDING IT.                                QU3A351
          GEL    78/01/28    QU0100                                      QU3A351
                                                                         QU3A351
 QU3A353  PROBLEM - MODE 1 WHEN ACCESSING SEQUENTIAL AREA WHEN FILE      QU3A353
          CARD SPECIFIES LARGER MRL THAN SUBSCHEMA.                      QU3A353
          SOLUTION - ELIMINATE CHECK FOR FILE ORGANIZATION               QU3A353
          SEQUENTIAL WHEN ALLOCATING LARGER MRL IF RECORD LENGTH IS      QU3A353
          LARGER THAN SUBSCHEMA SPECIFIED.                               QU3A353
          MP     01/30/78    CTL30, CTL40                                QU3A353
                                                                         QU3A353
 QU30283  PROBLEM - UNDER NOS, PF PARAMS M=M AND M=A ARE NOT ALLOWED.    QU30283
          SOLUTION - ALLOW M=M, BUT NOT M=A.  THEREFORE, THE COMPLETE    QU30283
                     SET OF OPTIONS ALLOWED WITH THE *M* PARAM CONSISTS  QU30283
                     OF -- W,M,MR,MA,R.                                  QU30283
                     CORRECT OMISSION IN *SYMGN05* IN ORDER TO ALLOW     QU30283
                     M=M.  CHANGE *CUVSYN* TO ALLOW M=RA.  CHANGE *USE*  QU30283
                     TO ALLOW M=RA AFTER *MODIFIED* OPTION.              QU30283
          AM     78/01/20    SYNGN05, CUVSYN, USE                        QU30283
                                                                         QU30283
 QU30296  PROBLEM - MODE 1 WHEN QUERYING VIA RELATION WHEN THE           QU30296
          TRANSMISSION CONTAINS 18 IF-S ON PRIMARY KEY BECAUSE FOR       QU30296
          EACH IF QU BUILDS A TEMPORARY PROGRAM STACK BUT HAS ONLY       QU30296
          ALLOCATED ENOUGH CM FOR 10 STACKS.                             QU30296
          SOLUTION - ELIMINATE TEMPORARY PROGRAM STACKS ENTIRELY.        QU30296
          WHEN IFKEY AND EXPEV20 CHECK FOR PRIMARY OR ALTERNATE KEY      QU30296
          THEY ALSO CHECK WHETHER KEY IS WITHIN LOW AREA OF RELATION.    QU30296
          MP     01/06/78    EXPEV20, IFKEY, POINTERS, RGTABLE, WHERE    QU30296
                                                                         QU30296
 QU30331  PROBLEM - QU LOOPS WAITING INPUT WHEN RUN UNDER DIS ON NOS.    QU30331
          SOLUTION - QU WILL RUN AS A BATCH JOB WHEN IT IS RUN AS A      QU30331
          SYSTEM ORIGIN JOB SUCH AS DIS.                                 QU30331
          GEL    78/01/13    QU1100                                      QU30331
                                                                         QU30331
 *L477*    **************************************************** 
 QU3A341  PROBLEM - INCORRECT DIAGNOSIS OF *TIME*, *DATE* AND 
          *PAGE-NUMBER* FIELDS EXTENDING BEYOND PAGE SIZE.
          SOLUTION - TMDTPGN CHECKED COLUMN + 10 FOR EXCEEDING PAGE 
          SIZE, WHEN IT SHOULD HAVE CHECKED COLUMN + 9 FOR THE SAME 
          CONDITION.
          DLG    78/01/16    TMDTPGN
  
 QU3A361  PROBLEM - MODE 2 ON PAGE-SIZE IS 80 COLUMNS BECAUSE QU
          DIVIDES BY ZERO WHEN CALCULATING SECTION WIDTH = NO OF
          COLUMNS / NO OF SECTIONS  WHEN ANALYZING SYNTAX BEFORE
          WRITING DIRECTIVE TO CATALOG FILE.
          SOLUTION - ONLY CALCULATE SECTION WIDTH WHEN PREPARING REPORT 
          AT WHICH TIME NO. OF SECTIONS WILL NOT BE ZERO. 
          MP     03/10/78    PAGESIZ
 QU3A115  PROBLEM - EXTRACT DN(1) DN(2) ... CAUSES A DIAG 177 (SUBSCRIPT
          OUT OF BOUND).  IT SHOULD ONLY DIAGNOSE DUPLICATE NAMES AS
          THEY ARE PUT INTO THE DESCRIBE LIST.
          SOLUTION - (1) ADD ROUTINES IN *EXTRACT* TO 1) SAVE AND ZERO
          *DESLIST* AND 2) RESTORE IT.  (2) CALL THESE BEFORE AND AFTER 
          THE CALL TO *DATA-ATTRIB*, RESPECTIVELY.  THIS WILL CAUSE 
          *GETNAME* TO NOT SEARCH THE *DESCRIBE* LIST AND ALLOW 
          SUCCESSIVE AREA-NAMES MENTIONED TO BE THE SAME (BUT THEY WILL 
          STILL HAVE TO BE UNIQUE WITHIN THE *DESCRIBE* LIST. 
          (3) MODIFY *BUDEXTR* TO CALL *SEARCHFORDUP* SO AS TO ISSUE
          AN ERROR IF THE NAME DESTINED FOR THE *DESCRIBE* LIST IS
          ALREADY PRESENT.
          AM     78/03/20    EXTRACT, SYMPL06, SYNGN06
  
 QU3A333  PROBLEM - AN ERASE OF REPORT DIRECTIVES REQUIRES A PRECEDING
          *ALTER*, EVEN THOUGH THE REPORT NAME IS GIVEN IN THE *ERASE*
          DIRECTIVE.
          SOLUTION - MAKE THE *ALTER* UNNECESSARY BY HAVING *ERASE* 
          USE THE SAME PROCEDURE FOR OPENING THE CATALOG FILE AS USED 
          BY *ALTER*.  ALSO MINIMIZE THE SIZE INCREASE BY MOVING THE
          *ALTER* AND *FORMAT* PROCESSING FROM THE (1,10) TO THE (1,12) 
          OVERLAY, SO AS TO BE IN THE SAME OVERLAY AS *ERASE*.
          AM     78/04/28    LEXID, SUB10, SUB12, ERASEXH, FORMALT, 
                             SYMPL10, SYMPL12, SYNGN10, SYNGN12, QUGEN
  
 QU3A355  PROBLEM - DISPLAY DECODE(DEFINE-ITEM1(ALL) DESCRIBED-ITEM,
          DEFINE-ITEM2(ALL)) IS NOT DIAGNOSED AS ILLEGAL. 
          SOLUTION - DISPLAY REQUIRES FROM OPTION IF DESITM IS TRUE 
          (TRUE IF ANY ITEM WITHIN EXPRESSION IS DESCRIBED-ITEM). 
          THIS CAUSES DIAG (110) -FROM-MISSING AFTER DISPLAY
          FOR THE ABOVE DISPLAY STATEMENT, BUT
          DISPLAY FROM FILE DECODE(DEFINE-ITEM1(ALL) DESCRIBED-ITEM,
          DEFINED-ITEM2(ALL)) WILL WORK CORRECTLY PASSING THE ENTIRE
          DESCRIBED FILE AND DISPLAYING A VALUE FOR EACH RECORD.
          MP     03/13/78    CUMFUNC, DISPLAY 
  
 QU3A357  PROBLEM - ERRONEOUS DIAGNOSTIC 806 WHEN THE "RECORDING OFF" 
          DIRECTIVE IS ENCOUNTERED AFTER ANY OTHER QU DIRECTIVE IN THE
          SAME TRANSMISSION.  EX: DIS $A$ RECORDING OFF 
          PROBLEM OCCURRED BECAUSE SEARCHFLAG WAS SET (TO INDICATE A
          4X,0 OVERLAY COMMAND) BEFORE CHECKING RECORDFLAG (IN SET40).
          SOLUTION - CALL THE CLRBSCFLGS PROCEDURE FROM STX00 WHENEVER
          THE RECOFF PROCEDURE IS PERFORMED (IN RECORDING). 
          NCP    03/20/78    STX00, RECORDING 
  
 QU3A363  PROBLEM - QU CAN ONLY HANDLE 64 AREAS AND 59 RELATIONS AT ONE 
          TIME, BUT DOES NOT DIAGNOSE AN ERROR IF THESE LIMITS ARE
          EXCEEDED. 
          SOLUTION - ISSUE DIAG (372) MORE THAN 64 AREAS IN USE AND 
          DIAG (373) MORE THAT 59 RELATIONS IN USE, WHEN THESE LIMITS 
          ARE EXCEEDED. 
          MP     03/19/78    USE, QUGEN 
  
 QU3A364  PROBLEM - CPM ARGUMENT ERROR ON NOS WHEN QU ROLLED ITSELF 
          OUT BECAUSE IT HAD TO WAIT FOR ACCESS TO FILE.  PROBLEM 
          OCCURRED BECAUSE *ROLLOUT* MACRO SPECIFIED TIME INSTEAD OF
          ADDRESS CONTAINING TIME.
          SOLUTION - *ROLLOUT* MACRO SPECIFIES ADDRESS CONTAINING TIME. 
          MP     03/23/78    ATTACH 
  
 QU3A367  PROBLEM - RELATIONAL RETRIEVAL WHERE JOIN ON ALTERNATE KEY
          FAILS BECAUSE GET ON ALTERNATE KEY FAILS IF FITREL SET
          BECAUSE OLD MIP STILL HONORS FITREL ON GET ON RECORD. 
          SOLUTION - CALLBLP CLEAR FITREL AFTER RM$BLP HAS COMPLETED. 
          MP     03/27/78    CALLBLP
  
 QU3A368  PROBLEM - IF DATA BASE PROCEDURE ON LOCAL FILE QUEXITS, QU
          INTERMITTENTLY TRIES TO LOAD FROM SYSMISC LIBRARY BECAUSE IT
          THINKS QUEXITS IS EMPTY FILE.  TO DETERMINE IF QUEXITS
          IS EMPTY, QU DOES REWIND WITHOUT RECALL, THEN READSKP WITH
          RECALL.  IF READSKP COMPLETES BEFORE REWIND, IT WILL LOOK 
          LIKE FILE IS EMPTY. 
          SOLUTION - QU PERFORMS REWIND WITH RECALL.
          MP     04/04/78    DBP$PIL
  
 QU3A370  PROBLEM - WHENEVER A SOURCE DATA CONVERSION ERROR OCCURRED
          WHILE PREPARING A REPORT WITH A DETAIL DIRECTIVE SUCH AS :  
          DETAIL N AT LINE X BEYOND IS A1 A2 A3, AND THE ERROR OCCURRED 
          IN EITHER A2 OR A3, THE ERROR MESSAGE (600) WOULD ALWAYS
          SPECIFY LINE X NO MATTER HOW MANY LINES PRECEDED THE LINE 
          SPECIFIED IN THE DETAIL DIRECTIVE.
          SOLUTION - WHEN ERROR MESSAGE 600 OCCURS, THE BEYOND FLAG FOR 
          THE FIRST ITEM IN THE CURRENT LINE WILL BE CHECKED, IN ORDER
          TO OBTAIN THE APPROPRIATE LINE NUMBER, NO MATTER WHICH ITEM 
          IN THE LINE IS AT FAULT. IN ADDITION, THE MESSAGE ITSELF HAS
          BEEN UPDATED TO SHOW THE CORRESPONDING ERROR CODE TO REFER TO 
          FOR MORE SPECIFIC INFORMATION.
          NCP    05/08/78    XEQREP,QUGEN 
  
 QU3A371  PROBLEM - ALTHOUGH QU PERMITS LEADING BLANKS IN A NUMERIC 
          FIELD, IT WOULD NOT ALLOW THE ENTIRE FIELD TO BE BLANK. 
          ERROR MESSAGES WERE GENERATED WHENEVER CONVERT SET RETURNCODE 
          TO 51.
          SOLUTION - CONVERT HAS BEEN CHANGED TO TREAT ANY NUMERIC FIELD
          THAT IS COMPLETELY BLANK-FILLED AS ZERO AND ANY ERROR MESSAGE 
          THAT OCCURRED BECAUSE OF THIS PROBLEM SHOULD ONLY BE DISPLAYED
          WHEN A NON-NUMERIC AND NON-BLANK CHARACTER IS FOUND IN A
          NUMERIC FIELD OR WHEN A BLANK FOLLOWS A NUMBER IN A NUMERIC 
          FIELD.
          NCP    04/20/78    CONVERT
 QU3A372  PROBLEM - WHEN USING DIS KEY IN ... TO DISPLAY VARIABLE 
          LENGTH RECORDS, THE DISPLAY OF A SHORTER RECORD 
          INCLUDES TRAILING ITEMS FROM A PREVIOUS LONGER RECORD.
          SOLUTION - BLANK FILL DISPLAY AREA BEFORE PREPARING 
          DISPLAY OF EACH RECORD. 
          MP     04/17/78    CTL30
  
 QU30341  PROBLEM - MODE 1 WHEN DISPLAYING RECORD-NAME WHEN RECORD IS 
          4037B CHARACTERS LONG BECAUSE CHARACTER LENGTH IS DEFINED 
          AS 12 BIT SIGNED INTEGER FIELD. 
          SOLUTION - DEFINE CHARACTER LENGTH AS 12 BIT UNSIGNED INTEGER 
          AND TRUNCATE DATA AND ISSUE INFORMATIVE MESSAGE 
               (371) -<C>- TRUNCATED TO 4095 CHARACTERS 
          IF MANIPULATING A DATA-ITEM WHICH IS LONGER THAN 4095 
          (7777B) CHARACTERS. 
          MP     03/27/78    ATLINE, BEFAFT, BREAK, CALLBLP, CENTER 
                             CTL30, CTL40, DATANAM, DETAIL, DISPLAY 
                             EEXPEVAL, EVAL, FOOTING, FORMALT, HALFSYN, 
                             HEADING, INIT, ISEXPR, MOVEVAL, MOV40, 
                             PAGE, PAGESIZ, PRECOMP, PRESUM, RCPTTL,
                             RPTMOVE, SELECT, SETBIT, SETPOS, SPEDEDE,
                             STKSCAN, TMDTPGN, USINGEX, VERIFY, XEQREP, 
                             QUGEN, CUMFUNC, DELUPSYN, EXTRACT
  
 QU30346  PROBLEM - WHENEVER COMPARISONS BETWEEN TWO OPERANDS OCCURRED
           AND A UNIVERSAL CHARACTER WAS FOUND AS THE LAST NON-BLANK
           CHARACTER IN ONE OF THE OPERANDS, THE REST OF THE OPERAND
           WAS PADDED WITH UNIVERSAL CHARACTERS (IGNORING THE TRAILING
           BLANKS). AN OPERAND SHOULD ONLY BE PADDED WITH UNIVERSAL 
           CHARACTERS IF THE UNIVERSAL CHARACTER IS THE LAST CHARACTER
           OF THE SHORTER OPERAND. PROBLEM OCCURRED IN EXPEVAL WHENEVER 
           A UNIVERSAL CHARACTER HAD BEEN DEFINED AND A PROCEDURE CALLED
           PADCHAR WAS PERFORMED TO PAD AN OPERAND. 
          SOLUTION - INSTEAD OF CALLING PADCHAR WHENEVER A UNIVERSAL
           CHARACTER HAS BEEN DEFINED, EXPEVAL HAS BEEN CHANGED TO MOVE 
           0 TO COMPARECHARS (INDICATING EQUAL OPERANDS) WHENEVER THE 
           LAST CHARACTER OF THE SHORTER OPERAND IS A UNIVERSAL 
           CHARACTER. 
          NCP    04/10/78    EXPEV,EXPEVAL
 QU30347  PROBLEM - INDEFINITE OR INFINITE OPERANDS IN EXPRESSIONS
          DO NOT GET DETECTED AND CAUSE A MODE ERROR WHEN THE 
          EXPRESSION GETS EVALUATED.
          SOLUTION - TO DETECT CASES WHERE CONVERSION IS REQUIRED,
          PUT A CHECK IN *SCALEFLT* IN *QU2CONV* TO CHECK FOR 
          INDEFINITE AND INFINITE.  FOR CASES WHERE CONVERSION IS 
          NOT REQUIRED, ADD A NEW *COMPASS* ROUTINE *ININF*, WHICH
          WILL BE CALLED BY *EXPEVAL*, AS NECESSARY.
          AM     78/04/18    CKININF, DIAGTEXT, ININF, QU0100,
                             QU0200, QU2CONV, QU2001, QU3000, QU4000, 
                             CONVERT, EXPEV, EXPEVAL, QUGEN 
  
 QU30350  PROBLEM - CUSTOMER DESIRES *DEFINE ... AS NUMERIC* SO 
          AUTOMATIC TRUNCATION/ROUNDING TO NUMBER OF DECIMAL PLACES 
          AS SPECIFIED BY PICTURE WILL BE PERFORMED BY QU.
          SOLUTION - IMPLEMENT *DEFINE ... AS NUMERIC*
          MP     03/10/78    SPEDEDE, SYNGN04 
  
 *L485*    *****************************************************
 QU3A356  PROBLEM - CHARACTER TO NUMERIC CONVERSION FOR 15 OR MORE
          DIGIT INPUT (ON USING) IS NOT CORRECT.
          SOLUTION - ADD A CHECK IN *USINGEX* 
          FOR INPUT GREATER THAN 14 DIGITS IF THE INPUT IS OF 
          INTEGER FORMAT. 
          AM     78/06/28    USINGEX, QUGEN 
  
 QU3A369  PROBLEM - MANY REPORT-GENERATED DIAGNOSTIC MESSAGES ARE 
          ISSUED WITH NO FURTHER INDICATION AS TO HOW TO LOCATE THE 
          PROBLEM.
          SOLUTION - DIAG 949 HAS BEEN ADDED TO TELL THE USER EXACTLY 
          WHICH REPORT DIRECTIVE CAUSED THE PROBLEM AFTER A SPECIFIED 
          PAGE AND LINE NUMBER WAS PRINTED. IN ADDITION, DIAG 600 HAS 
          BEEN UPDATED TO INCLUDE THE DIRECTIVE NAME AS WELL AS THE 
          PAGE AND LINE NUMBER. 
          NCP    78/06/06    IFM, CTL30, CTL40, EXPEV, IFKEY, IFSYN,
                             MOV40, NEXTGET, PAGE, PEREXEC, PERFORM,
                             XEQREP, QUGEN
  
QU30358   PROBLEM - WITH *SEP ITEM-SIZE*, *UPD USING* WILL NOT ACCEPT 
          TRAILING BLANKS AS VALID INPUT. THEY ARE IGNORED. 
          SOLUTION - PROCESS ALL *USING* ENTRIES WITHOUT STOPPING WHEN
          NO NORE CHARACTERS OF INPUT EXIST... ASSUME SPACES. 
          EMV    05/31/78    USINGEX
  
 QU30359  PROBLEM - QUALIFICATION IF AN AREA DATANAME IN AN EXHIBIT 
                    DIRECTIVE CAUSES THE NAME TO BE TRUNCATED TO THE
                    LENGTH OF THE QUALIFIER.
          SOLUTION - USE ITEM NAME LENGTH RATHER THAN CURRENT WORD
                     LENGTH.
          EMV.   06/12/78    EXHIBIT
  
 QU3A360  PROBLEM - LOOP IN QU-OWNCODE WHEN ON-CLOSE EXIT DOES NOT SET
                     OC FIELD OF FIT
          SOLUTION - KEEP OPEN-CLOSED FLAG INTERNALLY WHEN OWNCODE USED 
          EMV.   06/29/78    AREA$TBL,CTL30,CTL40 
  
 QU3A373  PROBLEM - GARBAGE CHARACTERS IN 903 DIAGNOSTIC. 
          SOLUTION - PASS FILENAME AS 7 CHARACTERS RATHER THAN 10.
          EMV    06/09/78    CTL30,CTL40
  
 QU3A377  PROBLEM - INSERT,DELETE,AND UPDATE WILL NOT ISOLATE AN AREA 
                    FROM THE RECORD NAME
          SOLUTION - USE AREA FOUND BY DATANAME IF -UPDATE AREANAME-
                     DIRECTIVE NOT GIVEN
          EMV.   06/28/78    DATANAM,DELUPSYN,STKSCAN 
  
 QU3A379  PROBLEM - DIAGNOSTIC 345 ISSUED INSTEAD OF DIAGNOSTIC 801.
          SOLUTION - MOVE TEST FOR DIAGNOSTIC 801 BEFORE THE TEST FOR 
                     DIAGNOSTIC 345.
          EMV    08/03/78    DELUPSYN 
  
 QU3A308  PROBLEM - WHEN PREPARING A REPORT, A DATA-NAME ASSOCIATED WITH
          A CUMULATIVE FUNCTION CAUSED DIAG 44 (UNDEFINED DATA NAME)
          BECAUSE IT WAS NOT DESCRIBED IN THE FILE REFERENCED IN THE
          PREPARE DIRECTIVE. DIAG 44 ALSO OCCURRED WHEN AN ATTEMPT WAS
          MADE TO DEFINE A DATA-NAME WITH A VALUE EQUAL TO A DATA-NAME
          DESCRIBED IN A FILE WHICH WAS NOT THE MOST RECENTLY REFERENCED
          FILE. 
          SOLUTION - WHEN A NON-REPORT DIRECTIVE REFERENCES A CUMULATIVE
          FUNCTION (FOR PURPOSES OTHER THAN EVALUATION) ALL DESLISTS
          WILL BE SEARCHED FOR THE DATA-NAME ASSOCIATED WITH THE
          CUMULATIVE FUNCTION. IF THE CUMULATIVE FUNCTION IS PERFORMED
          WITHIN A REPORT DIRECTIVE, THE DESLIST ASSOCIATED WITH THE
          FILE USED TO PREPARE THE REPORT WILL BE THE ONLY ONE CHECKED. 
          WHEN DEFINING A DATA-NAME AS EQUIVALENT TO AN EXISTING DATA-
          NAME, ALL DESLISTS WILL BE SEARCHED FOR THE EXISTING DATA-NAME
          NCP    78/08/09   QU0100, DATANAM, CUMFUNC
  
QU3A381   PROBLEM - CURRENT-SESSION IS INITIALIZED AS DISPLAY CODE
          ZERO OR COLONS
          SOLUTION - INITIALIZE CURRENT-SESSION (CURRSES) TO BLANKS 
          OR DISPLAY CODE 55
          DTC    09/14/78    COMMONS
  
 QU30172  PROBLEM - IF A QU JOB USING SORT ABORTS IN SORT, QU GETS
          REPREIVED AND THEN TRIES TO LOAD ANOTHER QU OVERLAY, AND
          THIS CAUSES A MODE ERROR FROM CMM (FAST VERSION) BECAUSE
          SORT HAS LEFT SOME BLOCKS BELOW HHA.. 
          SOLUTION - ADD TO *QU0300* A CALL TO A SORT SUPPLIED ROUTINE
          WHICH FREES THE SORT BLOCKS.
          AM     07/18/78    QU0300 
  
 QU30352  PROBLEM - COPYL WILL NOT FUNCTION ON COMPILED REPORT
          SPECIFICATIONS BECAUSE TABLE FILE IS OF ACF FILE TYPE 
          SOLUTION - REMOVE 77 TABLE, ZERO BITS 0-17 OF WORD 1 OF TABLE 
          FILE TO FORM TEXT FILE TYPE.
          DTC    08/09/78    COMPILE
  
QU30368   PROBLEM - CURRENT-PAGE CANNOT BE REFERENCED AS INTEGER AS 
          STATED IN MANUAL OR AS NUMERIC
          SOLUTION - DEFINE CURRENT-PAGE (DATATYPE) AS NUMERIC, WHICH IS
          ACCEPTABLE, AND CORRECT MANUAL. 
          DTC    09/13/78    COMMONS, CURTT 
  
QU30383   PROBLEM - UPDATE MOVE ITEM(ALL) WRITES OVER THE FOLLOWING 
          BLOCK HEADER CAUSING A MODE 01 ERROR. 
          SOLUTION - CORRECT FIELD LENGTH PARAMETER (LENG). 
          DTC    09/12/78    MOV40
  
 QU3A375  PROBLEM - ONCE OPTION NOT WORKING WHEN *IN COLUMN* OMITTED
          SOLUTION - SOME FAULTY CODE HAS BEEN DELETED IN SETPOS. 
          THIS CODE SET ALL PREVIOUS ONCE FLAGS IN REPORTLIST TO THE
          MOST CURRENT ONCE FLAG FOR NO APPARENT REASON.
          NCP    78/10/31    SETPOS 
  
 QU3A382  PROBLEM - GREGORIAN FUNCTIONS YIELDS INCORRECT ERROR MESSAGE
          (029) WITH PARAMETER DATATYPE OTHER THAN BIN INTEGER
          SOLUTION - ALTER CODE TO GENERATE (068) ERROR MESSAGE 
          DTC    09/30/78    EXPANAL
  
 QU3A385  PROBLEM - CMM ERROR *GROUP-TYPE 1 BLOCKS ILLEGALLY ACTIVE*
          AFTER *IF ALTERNATE-KEY ...* BECAUSE QU DOES NOT CLOSE
          SCRATCH FILE. 
          SOLUTION - CORRECTLY READ FILE POSITION FROM FIT AND CLOSE
          SCRATCH FILE. 
          MP     10/24/78    NEXTGET
  
 QU3A386  PROBLEM - CMM ERROR *BLOCK FWA ERROR* AFTER A DATA BASE 
          PROCEDURE INDICATES QU SESSION SHOULD BE TERMINATED BECAUSE 
          QU RELEASES THE SAME CM BLOCK TWICE.
          SOLUTION - QU WILL ZERO POINTERS TO CM BLOCKS TO BE RELEASED
          SO IT DOES NOT RELEASE THE SAME BLOCK TWICE.
          MP     10/24/78    CALLBLP, CTL30, CTL40
  
 QU30387  PROBLEM - INADEQUATE DIAGNOSTICS FOR MASK FUNCTION
          SOLUTION - ALTER EXISTING DIAGNOSTIC MESSAGE (332) AND ADD
          ADDITIONAL DIAGNOSTIC (950) 
          DTC    09/30/78    EXPANAL, QUGEN 
  
 QU30397  PROBLEM - COMPILE RUNS TO TIME LIMIT WHEN REPORT CONTAINS 
          AN EVALUATE STATEMENT EVALUATING A MULTIPLE OF 6 ITEMS. 
          SOLUTION - COMPILE IS MODIFIED TO RECOGNIZE THAT IF EVERY 
          ENTRY OF A 6 WORD EVALUATE TABLE IS NONZERO BUT THE LINK
          TO NEXT EVALUATE TABLE IS ZERO, IT IS THE END OF THE
          EVALUATE TABLE.  SAME PROBLEM CORRECTED IN COMPILE AND
          REP7100 FOR A MOVE TABLE CONTAINING A MULTIPLE OF 7 ENTRIES.
          MP     10/16/78    COMPILE, REP7100 
  
 QU3A099  PROBLEM - THE CURRENT-AREA AND CURRENT-KEY REGISTERS ARE NOT
          WORKING CORRECTLY. THESE REGISTERS DO NOT HAVE MEANING IN THE 
          PRESENT MULTIPLE AREA ENVIRONMENT.
          SOLUTION - THESE REGISTERS ARE BEING REMOVED. 
          NCP    11/08/78    LEXID, SBASIC, SYNGN00, COMMONS, BGTABLE,
                             CURTT, EXPEV, EXPEVAL
  
 QU3A330  PROBLEM - (064) DIAGNOSTIC CURRENTLY GIVEN FOR USING
                    NON-AREA ITEM IN -EXTRACT- IS INACCURATE. 
          SOLUTION - CREATE NEW DIAGNOSTIC (374) FOR THIS ERROR.
          EMV    11/15/78    QUGEN,SYNGN06
  
 QU3A360A        PROBLEM - NEW ITEM IN QU3A360 MISTAKENLY PUT IN
                           OCCUPIED FIELD IN AREA$TBL.
                 SOLUTION - MOVE IT TO EMPTY POSITION.  ALSO CORRECT
                            SOME COMMENTS.
          EMV    11/03/78    AREA$TBL 
  
 QU3A377A        PROBLEM - ONE LINE OF CODE NOT DELETED IN QU3A377
                           WHICH SHOULD HAVE BEEN.
                 SOLUTION - DELETE IT.
          EMV    11/03/78    DELUPSYN 
  
 QU3A383  PROBLEM - MODE 1 WHEN EVALUATING EXPRESSION INVOLVING 
          COMPLEX NUMBER BECAUSE QU GETS 1 WORD OF CM IN
          PROGRAMSTACK BUT USES 2 WORDS OF CM 
          SOLUTION - GET 2 WORDS OF CM IN PROGRAMSTACK WHEN CONVERTING
          TO DOUBLE OR COMPLEX NUMBER.
          MP     11/06/78    EXPANAL
  
 QU3A384  PROBLEM - NUMBER OF CHAR PARAMETER FOR COLLATING SEQUENCE 
          LIST YEILDS INCORRECT VALUE WITH 64 CHAR
          SOLUTION - TO MAINTAIN COMPATIBILITY, CHECK NUMBER OF WORDS 
          IN COLLATING SEQUENCE TABLE, IF EQUAL TO SEVEN AND NUMBER OF
          CHARACTERS EQUAL TO ZERO, ASSUME 64 CHARACTERS. 
          DTC    11/01/78    USE
  
 QU3A387  PROBLEM - INTERCOM PAGE-WAIT CAUSES USER ANXIETY FOR MULTIPLE 
          PAGE OUTPUT ON THE SCREEN.
          SOLUTION - ON NOS/BE, CLEAR PAGE WAIT FOR CONNECTED OUTPUT
          UNLESS INPUT IS NOT CONNECTED. CLEAR PAGE WAIT AFTER *OS*.
          ALSO DON-T WRITE TOO MANY LINES ON CRT THAT LOSES TOP.
          CFR    78/03/09    OSEXEC, QU1100, INITIAL
  
 QU3A388  PROBLEM - A USER DOING A MOVE TO AN AREA ITEM WHICH IS NOT
          PRECEDED BY AN *UPDATE* OR *INSERT* DIRECTIVE (WITHOUT THE
          *USING* OPTION SPECIFIED) IS DIAGNOSED FOR EACH RECORD PRO- 
          CESSED. THIS CAUSES A FLOOD OF DIAGNOSTICS TO OCCUR.
          SOLUTION - INTRODUCE A FLAG TO AVOID ISSUING THE DIAGNOSTIC 
          MORE THAN ONCE PER TRANSMISSION. ALSO UPDATE THE DIAGNOSTIC 
          AND HELP TEXT TO BETTER EXPLAIN THE MEANING OF THE DIAGNOSTIC.
          CFR    78/04/16    CTL40, QUGEN 
  
 QU3A389  PROBLEM - REPORT PREPARATION TAKES TOO MUCH CM BECAUSE A CM 
          BLOCK ALLOCATED ABOVE THE AAM CAPSULES REMAINS AFTER AAM
          CAPSULES HAVE BEEN UNLOADED.
          SOLUTION - BECAUSE THERE IS ONLY ONE POINTER TO THIS BLOCK, 
          A FIELD LENGTH SAVINGS OF OVER 10K OCTAL IS EASILY ACHIEVED 
          BY REALLOCATING AND MOVING THIS BLOCK AFTER THE AAM CAPSULES
          ARE UNLOADED. 
          MP     11/14/78    XEQREP 
  
 QU30357  PROBLEM - IF CHARACTER KEY HAS NUMERIC MAJOR, RETRIEVALS VIA
                    THE MAJOR KEY DO NOT FIND RECORDS.
          SOLUTION - SAVE KEYTYPE OF MAJOR KEY SEPARATE FROM PRIMARY
                     KEY, AND USE APPROPRIATE TYPE IN ALL CONVERSIONS.
          EMV.   10/10/78    DATANAM,EXPANAL,EXPEVAL,PROGSTACK,RGTABLE
  
 QU30385  PROBLEM - IF SOURCE WORD IS SAME AS RESERVED WORD OF > 10 
                    CHARACTERS UP TO THE LAST CHARACTER, THAT SOURCE
                    WORD IS MISTAKEN FOR THE RESERVED WORD. 
          SOLUTION - AMEND THE SOURCE/KEYWORD COMPARE.
          EMV    11/07/78    LEXSCAN
  
 QU30393  PROBLEM - USING 63-CHAR COBOL COLLATING SEQUENCE, 
          IF DATANAME = $LIT$, WHERE DATANAME IS PRIMARY KEY, FAILS 
          TO LOCATE RECORDS.
          SOLUTION - ALTER SEQUENCE TABLE TO 64-CHARACTERS TO SET HIGH
          CHARACTER TO 9. 
          DTC    10/13/78    SEQTBL 
  
 QU30394  PROBLEM - NO PAGE EJECT PERFORMED FOR TEXT PREFACE. 
          SOLUTION - ALTER TEXT PREFACE ROUTINE TO SUPPLY TOP-OF-FORM 
          CARRIAGE CONTROL. 
          DTC    11/01/78    PAGE 
  
 F2440QU  PROBLEM - CRM HAS GENERATED A NEW METHOD TO HANDLE AK 
          EXTENDED FILES WHICH HAS MADE QU CHANGES NECESSARY
          SOLUTION - WHEN FIT INFORMATION PASSED TO QU FROM DDL DENOTES 
          AN AK EXTENDED FILE, THE PRIMARY KEY LENGTH AND POSITION IS 
          SAVED SEPARATELY IN THE AREA$TABLE COMMON DECK IN ORDER TO BE 
          MOVED BACK TO THE FIT WHEN CRM IS CALLED. THIS IS DONE BECAUSE
          QU RESERVES ONE WORD FOR THE KEY AND ASSUMES THE BEGINNING
          CHARACTER TO BE 0. HOWEVER, CRM TREATS KEYS FOR AK EXTENDED 
          FILES AS 8 CHARACTER OR LESS RIGHT-JUSTIFIED FIELDS WHICH 
          CAUSES THE KEY POSITION AND LENGTH TO VARY. 
          IN ADDITION, SOME ERRONEOUS COMMENTS HAVE BEEN CORRECTED. 
          NCP    78/09/13    AREA$TBL, CEXPRESS, CREPORT, BGTABLE,
                             CALLBLP, CREINIT, CTL30, CTL40, NEXTGET, 
                             USE
  
 QU3*79   UPDATE COPYRIGHT INFORMATION FOR QU3.2, 1979
          MP     12/13/78    COPYRHT
  
 QU30391  PROBLEM - MASK FUNCTION WITH OCTAL PARAMETERS GENERATES (068) 
          AND (029) ERROR 
          SOLUTION - REWRITE MASK PROCESSING ROUTINE IN EXPANAL TO CHECK
          DATATYPE AND DATALENG.  REMOVE MIXED OCTAL/CHARACTER MASK 
          ROUTINE.
          DTC    09/30/78    EXPANAL
  
 QU3A342  PROBLEM - QU WILL LOOP WHILE READING A CONNECTED FILE.
          SOLUTION - ALTER USINGEX TO CHECK FOR CONNECTED FILE INPUT. 
          IF SO, PROCESS INPUT AS ONE WOULD A *USING* DIRECTIVE WITHOUT 
          THE *FROM* OPTION. DEFINE *CONCTED* TO INDICATE CONNECTED FILE
          AND FOR *READ* TO CHECK FOR %EOR OR %EOF INPUT. 
          DTC    11/18/78    USINGEX,QU2IO
  
 QU3A391  PROBLEM - EXHIBIT SHOULD NOT DISPLAY PERMANENT FILE PASSWORDS 
          SOLUTION - EXHIBIT REPLACES PF PASSWORDS WITH *---* 
          MP     11/22/78    EXHIBIT
  
QU3A392   PROBLEM  THERE IS NO WAY TO SPECIFY PASSWORDS ON USE WITHOUT
          THEM GETTING LISTED ON THE TRACE OR OUTPUT FILE.
  
          SOLUTION  ALLOW THE MODIFICATION OF PF PARAMS ON ANY *USE*
          BY ASKING FOR INPUT ANYTIME THERE IS A *PW* KEYWORD AT THE END
          OF THE STRING OF PF PARAMS WHICH DOES NOT HAVE ANY PASSWORDS
          FOLLOWING IT.  REPLACE ANY PASSWORDS WITH *---*.
  
          AM     78/12/18    DIAGTEXT, OPENTL, QU2IO, USE, LEX5,
                             SYNGN01, SYNGN05 
  
 QU3A394  PROBLEM - A DBP EXIT IS NEEDED AFTER EACH RECORD IS RETRIEVED 
          TO ALLOW DECOMPRESSION OF DATA BEFORE QU LOOKS AT THE RECORD
          FOR *IF* TESTING. 
          SOLUTION - INTRODUCE *ON RETRIEVAL* DBP EXIT. THIS EXIT WILL
          BE TAKEN AFTER WE RETRIEVE A RECORD FROM THE AREA FILE. THE 
          ENTRY CODE FOR THIS EXIT IS 8, AND THE FOLLOWING ACTION TAKEN 
          FOR RETURN CODES FROM THE *ON RETRIEVAL* DBP: 
                 0    CONTINUE
                 1    REJECT THE RECORD 
                 2    GET NEXT DIRECTIVE
                 3    CLOSE AREA, GET NEXT DIRECTIVE
  
          EMV    11/30/78    CALLOWN, DBPDEFS, CTL30, CTL40, NEXTGET, 
                             USE
  
 QU3A398  PROBLEM - QU IS ABORTED WHEN ATTEMPTING TO READ A VERSION FILE
          WHICH IS NOT *IS NEW*.  QU ATTEMPTS TO OPEN THE FILE AS IS NEW
          AND GETS FATAL RM ERROR 6, NOT CORRECT FSTT.  THEN QU ATTEMPTS
          TO OPEN THE FILE AS IS OLD AND GETS ABORTED WITH RM ERROR 
          115, OUTSTANDING FATAL ERROR. 
          SOLUTION - CLEAR FITFNF, FATAL ERROR FLAG, BEFORE OPENING FILE
          AS IS OLD.
          MP     12/13/78    OPNCAT 
  
 QU30373  PROBLEM - THE EXTRACT DIRECTIVE DID NOT PRINT THE NUMBER OF 
          ACCESSES AND NUMBER OF HITS MESSAGE.
          SOLUTION - THE ACCESSES/HITS MESSAGE HAS BEEN ALTERED TO
          INCLUDE THE NUMBER OF LOGICAL RECORDS READ. THE MESSAGE 
          NOW READS * -X- ACCESSES -Y- HITS -Z- IO-S * WHERE -X- IS 
          EITHER THE NUMBER OF SINGLE RECORDS READ IN THE CASE OF A 
          SINGLE-AREA QUERY, OR THE NUMBER OF RECORD SETS IN THE CASE 
          OF A RELATIONAL QUERY. -Y- DENOTES THE NUMBER OF ACCESSES 
          THAT SATISFIED THE QUERY OR UPDATE CRITERIA AND -Z- IS THE
          TOTAL NUMBER OF LOGICAL RECORDS READ OR UPDATED FROM AN AREA
          FILE. CTL30 HAS BEEN ALTERED TO DISPLAY THIS MESSAGE WHENEVER 
          THE AREA FILE IS QUERIED. 
          NCP    12/28/78    BASIC, CALLOWN, CTL30, CTL40, NEXTGET, 
                             SBASIC 
  
 QU30386  PROBLEM - 1. NO WAY TO ALTER PAGE-WAIT FEATURE OF DISPLAY 
                    2. ZERO APPEARS IN COLUMN ONE OF -MORE- QUERY ON
                       IAF TERMINALS
                    3. "Y" APPEARS IN COLUMN 1 ON SUBSEQUENT LINES WHEN 
                       REPLY "Y" TO -MORE- QUERY WITH "DEPENDING-ON"
                       GROUP ITEM BEING DISPLAYED 
          SOLUTION -1. CREATE "PAGE WIDTH" (PW) AND "PAGE LENGTH" (PL)
                       PARAMETER FOR QU COMMAND TO ALLOW SPECIFICATION
                       OF NUMBER OF CHARACTERS PER LINE OF DISPLAY AND
                       LINES PER PAGE.
                    2. CREATE IAF -MORE- QUERY WITHOUT CARRIAGE CONTROL 
                    3. CORRECT CARRIAGE CONTROL ROUTINE 
          DTC    12/14/78    INITIAL, OPENTL, QU2IO 
          SNR = UGAD48
  
 QU3A393  PROBLEM - ERRORS IN QU DIRECTIVES THAT ARE FATAL IN THEIR 
                    NATURE (EG. A -USE- THAT FAILED) DO NOT PREVENT THE 
                    FURTHER EXECUTION OF QU DIRECTIVES, THUS WASTING
                    COMPUTER RESOURCES. 
          SOLUTION - INTRODUCE A NEW MACRO FOR FATAL DIAGNOSTICS, FDIAG,
                     AND THE -U- CONTROL STATEMENT OPTION AS IN UPDATE. 
                     IN BATCH MODE, EXECUTION WILL CONTINUE AFTER A 
                     FATAL DIAGNOSTIC HAS BEEN ISSUED ONLY IF THE -U- 
                     OPTION HAS BEEN SPECIFIED.  THE DEFAULT WILL BE
                     ABORT ON FATAL DIAGNOSTICS.
          EMV    01/03/79    BSTOP,DIAGS,DIAGTEXT,INITIAL,LOADOVL,
                             OPENTL,POINTERS,QUGEN
  
 QU3A399  PROBLEM - THE RL PARAMETER WAS OMITTED ON A GET STATEMENT 
          WHICH CAUSED *EXHIBIT* TO FAIL. 
          SOLUTION - THE RL PARAMETER HAS BEEN ADDED. 
          NCP    79/01/23    EXHIBIT
  
 QU3A403  PROBLEM - QU PERFORMED ARITHMETIC OPERATIONS WITHOUT CHECKING 
          FOR AN -S- IN THE PICTURE SPECIFICATION.
          SOLUTION - SOME FAULTY CODE HAS BEEN CORRECTED IN *PICTUR*. 
          NCP    01/16/79    PICTUR 
  
 QU3A404  PROBLEM - QU MODES OUT AFTER A DATA BASE PROCEDURE
          TERMINATES A QU SESSION BECAUSE QU USES A BASED ARRAY POINTER 
          THAT IS ZERO WHILE FREEING WSA CM.
          SOLUTION - BASED ARRAY POINTER IS ZERO IMPLIES THAT WSA CM HAS
          ALREADY BEEN RELEASED SO DO NOT EXECUTE THE CODE THAT FREES CM
          MP     01/23/79    CALLBLP, CTL30, CTL40
  
 QU3A405  PROBLEM - FDL ERROR MESSAGE DOES NOT TELL WHICH FDL 
          ERROR OCCURRED. 
          SOLUTION - INCLUDE ERROR NUMBER IN MESSAGE.  USER CAN 
          DETERMINE MEANING OF NUMBER FROM LOADER REFERENCE MANUAL. 
          MP     01/25/79    LOADOVL
  
 QU3A401  PROBLEM - DATA-NAMES WERE NEVER SEARCHED FOR WHILE IN 
          RECORDING MODE. THEREFORE, THE EXHIBIT <DATA-NAME> DIRECTIVE
          FAILED WITHIN RECORDING SESSIONS. 
          SOLUTION - SYNGEN HAS BEEN CHANGED TO CALL SYMPL PROCS TO 
          TURN THE RECORDING FLAG OFF BEFORE AN EXHIBIT AND TURN IT 
          ON AGAIN AFTERWARDS.
          NCP    79/02/07    EXHIBIT, SUB13, SYMPL13, SYNGN13 
  
 QU3A406  PROBLEM - QU DOES NOT RUN INTERACTIVELY WITH MODE 4 
          TERMINALS ON INTERCOM 5.
          SOLUTION - REDEFINE FIELDS IN PARAMETER RETURNED FROM 
          *RWE* SO THAT QU CAN DETERMINE WHETHER RUNNING INTERACTIVELY
          OR BATCH ON BOTH INTERCOM 4 AND 5.
          MP     02/02/79    INITIAL
  
 QU30357A PROBLEM - WHEN -RSTACK- ENTRIES WERE INCREASED IN SIZE FROM 
                    2 TO 3 WORDS BY QU30357, TWO REFERENCES TO -RSTACK- 
                    LENGTH WERE OVERLOOKED. 
          SOLUTION - CORRECT THOSE REFERENCES.
          EMV    02/14/79    EXPEVAL,RGTABLE
  
 STEXT    PROBLEM - COMDECKS APPEARING IN SYMPL PROCS HAVE PREVIOUSLY 
                    BEEN RECOMPILED EVERY TIME A CALLING PROC WAS 
                    COMPILED EVEN THOUGH THE COMDECK REMAINED THE SAME, 
                    WASTING COMPILE TIME. 
          SOLUTION - USE THE SYMPL 1.4 TEXT FEATURE WHICH ALLOWS CERTAIN
                     COMDECKS TO BE COMPILED ONCE, AND THEN USED IN 
                     COMPILED FORM DURING COMPILATION OF A CALLING PROC.
                     SEVERAL CHANGES WERE MADE DURING THIS
                     IMPLEMENTATION:  
                     1) INSERT TWO MORE RECORDS INTO THE PL TO CONTAIN
                        TEXTS, AND REPLACE THE CWEOR-S WITH WEOR-S SO 
                        THAT *TESTNF* MAY BE USED TO SIMPLIFY THE 
                        BUILDQU PROCEDURE.
                     2) CONVERT THE CHOSEN COMDECKS INTO STEXTS, AND
                        DELETE (WITH A FEW NECESSARY EXCEPTIONS) THE
                        COMDECKS FROM THE PL. 
                     3) REPLACE THE *CALLS TO DELETED COMDECKS WITH THE 
                        CORRESPONDING *USETEXT* COMMANDS. 
  
 STEXTA   PROBLEM - WITH *AREA$TABLE* NO LONGER XREF-ED IN CTL30 AND
                    CTL40, SEVERAL MORE CASES MUST BE HANDLED WHICH NEED
                    AN XREF-ED POINTER TO *AREA$TABLE*. 
          SOLUTION - KEEP *ATPTR* UP TO DATE WHEREVER IT MAY BE NEEDED
                     TO PASS P<AREA$TABLE> EXTERNALLY.
                     ALSO DELETED ALL UNNECESSARY *USETEXT* CALLS.
          EMV    04/02/79    CALLOWN,CREINIT,CTL30,CTL40,QU4000 
                             (ALL OTHER DECKS WITH DELETED *USETEXTS*)
  
 QU3A362  PROBLEM - QU GETS MODE 1 ERROR IF THE NESTED PERFORM LIMIT
          OF 15 IS EXCEEDED.
          SOLUTION - CHANGE *PERINIT* SO THAT AFTER ISSUING DIAG 76,
          CALL *PEROVER* TO COMPLETELY GET OUT OF PERFORM MODE, THEN
          EXIT VIA *STDNO*.  ADD NEW ENTRY POINT, *PERCKDM* TO *PEREXEC*
          WHICH WILL DO THE CHECKING FOR THE DUMMY PERFORM. 
          AM     79/03/23    SUB00, SYMPL00, QU0100, PEREXEC, SYNGN10,
                             QUGEN
  
 QU3A396  PROBLEM - SOME ITEMS IN OCCURRING GROUPS WERE BEING IMPROPERLY
                    INITIALIZED.  THIS WAS BECAUSE AN INSUFFICIENT
                    NUMBER OF BITS WAS ALLOWED FOR SOME FIELDS IN THE 
                    TABLE -BGROUND-, WHICH CAUSED INCORRECT GROUP 
                    SIZES TO BE STORED. 
          SOLUTION - EXPAND -BGROUND- FROM 1 TO 2-WORD ENTRIES, 
                     ALLOWING SUFFICIENT LENGTH FOR EACH FIELD. 
          EMV    02/20/79    BGIMAGE,BGTABLE
  
 QU3A397  PROBLEM - THE *DEPENDING ON* COUNT (IF IT EXISTS) IS NOT BEING
                    UTILIZED IN *DISPLAY DATANAME(ALL)*.
          SOLUTION - IF A *DATANAME(ALL)* IS THE LAST ITEM IN A DISPLAY 
                     TO OUTPUT AND A *DEPENDING ON* COUNT EXISTS FOR IT,
                     THIS COUNT IS USED TO LIMIT THE DISPLAY LENGTH.
          EMV    03/12/79    CTL30,CTL40
  
 QU3A407  PROBLEM - QU SHOULD CLEAR INSTRUCTION STACK AFTER CODE
          MODIFICATIONS.
          SOLUTION - A RETURN JUMP IS ISSUED AFTER EVERY CODE 
          MODIFICATION IN ORDER TO CLEAR THE INSTRUCTION STACK. 
          NCP    79/02/21    DBP$PIL, DBP$00, DBP$X0, IDP=COM, LOADOVL, 
                             LOADREL, OPENTL, STD, TABCOL 
  
 QU3A410  PROBLEM - WHEN CONVERTING A NUMERIC FIELD TO INTEGER, LEADING 
          BLANKS WERE NOT TREATED AS ZEROS. THEREFORE, ERRONEOUS
          DIAGNOSTICS OCCURRED AND THE CONTENTS OF THE INTEGER FIELD
          WERE INCORRECT. 
          SOLUTION - CONVERT HAS BEEN CHANGED TO TREAT LEADING BLANKS 
          AS ZEROS DURING A NUMERIC TO INTEGER CONVERSION.
          NCP    79/03/21    CONVERT
  
 QU3A411  PROBLEM - WHEN ERASING A DESCRIBE ENTRY, *ERASE$DESCR* CLEARED
          THE DESCRIBE LIST POINTER FOR THE PREVIOUS LFNLIST ENTRY IN 
          THE PROCESS OF CHANGING THE FORWARD POINTER. AS A RESULT, ANY 
          REFERENCE TO THE DESCRIBE ENTRY FOR THE PREVIOUS LFNLIST ENTRY
          CAUSED AN ERROR.
          SOLUTION - *ERASE$DESC* HAS BEEN ALTERED TO RESET ONLY THE
          FORWARD POINTER IN THE PREVIOUS LFNLIST ENTRY AS OPPOSED TO 
          THE ENTIRE WORD THAT CONTAINS THE FORWARD POINTER.
          NCP    79/04/03    ERASEXH
  
 QU3A413  PROBLEM - WHEN EVALUATING THE MEAN OF A COMP-2 AREA-ITEM, 
          *CUMFUPM* FAILED TO CHANGE THE MURAL POINTER IN THE ATTRIBUTE 
          ENTRY FOR THE DATA-NAME FROM AN EDITMURAL OFFSET FROM ENTRY 
          WORD 0 TO A RELATIVE ADDRESS. AS A RESULT, QU MODED OUT.
          SOLUTION - *CUMFUPM* HAS BEEN CHANGED SO THAT THE MURAL 
          POINTER IN THE ATTRIBUTE ENTRY WILL BE SET TO A RELATIVE
          ADDRESS WHENEVER THE DATA-NAME IS AN AREA-ITEM. 
          NCP    79/04/04    CUMFUNC
  
 QU30402  PROBLEM - ALL INTEGERS ENTERED AS TAB POSITIONS VIA THE *TABS*
          DIRECTIVE SHOULD BE UNIQUE. QU IGNORES ANY DUPLICATES BUT 
          FAILED TO WARN THE USER.
          SOLUTION - AN EXPLANATION UNDER THE *TABS* DIRECTIVE IN CH. 4 
          AND DIAGNOSTIC MESSAGE 951 HAVE BEEN CREATED TO WARN THE USER 
          THAT DUPLICATE TAB POSITIONS ARE IGNORED. 
          NCP    79/02/26    QUGEN, TABS
  
 QU30405  PROBLEM - WHEN *EXHIBIT* CHECKED DATA ENTRY TYPES, IT FAILED
          TO CHECK FOR VECTORS WITHIN REPEATING GROUPS AND NESTED 
          REPEATING GROUPS. 
          SOLUTION - *EXHIBIT* HAS BEEN ALTERED TO CHECK THE ENTRY TYPE 
          FIELD FOR THE PREVIOUSLY MENTIONED ENTRY TYPES. 
          NCP    79/02/27    TEXPRES, EXHIBIT 
  
 QU30412  PROBLEM - GARBAGE CHARACTERS WERE PRINTED AT THE END OF A 
          VETO REPLY WHENEVER THE RECORD LENGTH WAS LESS THAN 40
          CHARACTERS. 
          SOLUTION - CTL40 HAS BEEN CHANGED TO CHECK FOR RECORD LENGTHS 
          OF LESS THAN 40 CHARACTERS WHENEVER A VETO RESPONSE IS TO BE
          WRITTEN. EXCESS CHARACTER POSITIONS IN THE OUTPUT LINE ARE
          BLANKED OUT.
          NCP    79/03/19    CTL40
  
 QU30414  PROBLEM - WHEN A TEMPORARY FLOATING POINT DATA-NAME WAS 
          SPECIFIED IN A *USING* CLAUSE, AND *SEP ITEM-SIZE* WAS IN 
          EFFECT, *CONVERT* DID NOT SCALE THE EXPONENT OF THE VALUE 
          PROPERLY. THEREFORE, MISLEADING DIAGNOSTICS WERE ISSUED 
          WHENEVER THE CONVERTED RESULT WAS MOVED OR DISPLAYED. 
          SOLUTION - *CONVERT* HAS BEEN CHANGED TO SCALE THE EXPONENT 
          OF TEMPORARY FLOATING POINT NUMBERS PROPERLY. 
          NCP    79/03/28    CONVERT
  
 STEXTB   PROBLEM - *USETEXT TEXPRES* WAS DELETED FROM *CTL* BECAUSE IT 
                    WAS NOT USED, BUT IT IS NEEDED THERE TO KEEP
                    COMMON CEXPRESS IN (0,0). 
          SOLUTION - REINSERT IT. 
          EMV    04/10/79    CTL
  
 F2540A1  QU/CDCS MODS FOR CHANGES TO CREATE/USE/VERSION                 HISTORY
          THIS MOD SET INTRODUCES THE (5,1), (5,2), AND (5,3) OVERLAYS.  HISTORY
          OVERLAY (5,1) DETERMINES WHETHER TO ENTER CRM VS. CDCS         HISTORY
          DATABASE MODE.  CRM DATABASE MODE IS HANDLED BY *USECRM* IN    HISTORY
          THE (5,2) OVERLAY (I.E., THE EXISTING *USE* DIRECTIVE.         HISTORY
          CDCS DATABASE MODE IS HANDLED BY *USECDCS* IN THE (5,3)        HISTORY
          OVERLAY.                                                       HISTORY
          AM     79/03/20    QU0500, QU0501, QU0502, QU0503              HISTORY
                             CALLBLP, CTL30, CTL40, CUVMAIN, CUVSYN      HISTORY
                             POINTERS, SYMPL05                           HISTORY
                             USE, USECDCS, USECRM                        HISTORY
                             SYNGN05, QUGEN                              HISTORY
                                                                         HISTORY
 F2540MA  COMMON DECK CHANGES AS SPECIFIED IN GID.
          KEY TABLE.  RECORD AND ITEM ORDINALS IN ELEMENTARY ENTRY. 
          SCALED INTEGERS.
          MP     12/27/78 
  
 F2540NA  PROBLEM - IN ORDER TO INTERFACE WITH CDCS, QU WILL NEED A NEW 
          REGISTER TO HOLD THE PROGRAM ID. QU WILL BE MODIFIED TO PASS
          THE CONTENTS OF THIS REGISTER TO CDCS AT A LATER DATE.
          SOLUTION - THE NEW REGISTER IS CALLED USER-ID AND IS 10 
          CHARACTERS LONG. IT IS INITIALIZED TO *QU        * BUT MAY BE 
          UPDATED BY MOVE, UPDATE USING, OR EXECUTE USING DIRECTIVES. 
          THIS REGISTER MAY NOT BE ERASED.
          NCP    79/03/06    COMMONS, CURTT, ENVIRON, LEXID, SENVIRON,
                             SYNGN00
  
 F2540NB  FEATURE - ADD *JUSTIFIED RIGHT* OPTION TO QU FOR QU/CDCS
          INTERFACE.
          NCP    79/04/06    CCONVERT, CONVERT, TDESATT 
  
 F2540MB  REMOVE REFERENCE TO *RELATION* (PREVIOUSLY DEFINED IN 
          TPSTACK) FROM WHERE.  *RELATION* NO LONGER EXISTS.
          MP     04/20/79    WHERE
  
 QU3A390  PROBLEM - CRM ERROR 52B, CAUSED BY OPENING A FILE WHICH HAS 
                    NOT BEEN CLOSED SINCE LAST UPDATED, USED TO PREVENT 
                    FURTHER ACCESS TO THE FILE.  THIS MADE IT IMPOSSIBLE
                    TO READ A FILE NOT CLOSED DUE TO SYSTEM CRASH OR
                    A FILE BEING UPDATED BY ANOTHER USER. 
          SOLUTION - ADD THE *AF* PARAMETER TO THE QU CONTROL CARD, BY
                     WHICH THE USER SAYS TO ACCEPT ANY FILE WHICH GETS
                     A 52B ON OPEN.  THE INTERACTIVE USER IS GIVEN THE
                     OPTION TO ACCEPT OR REJECT SUCH FILES AS THEY
                     OCCUR. 
          EMV     04/13/79   CALLBLP,CTL30,CTL40,DIAGTEXT,INITIAL 
                             OPNCAT,POINTERS
  
 QU3A409  PROBLEM - ON THE INITIAL OPEN OF A FILE, THE FILE ORGANIZATION
          IS FORCED TO *NEW*. IF THE ACTUAL ORGANIZATION IS *OLD*, CRM
          ERROR 006 IS ISSUED AND THE FILE IS OPENED WITH ORGANIZATION
          EQUAL TO *OLD*. AFTER THIS HAPPENS, QU SHOULD REMEMBER THE
          ORGANIZATION IS *OLD* AND DISCONTINUE FORCING ORGANIZATION
          TO *NEW* IN ORDER TO SUPPRESS THE REPETITIVE CRM 006 MESSAGES.
          SOLUTION - THE CODE THAT FORCED A FILES ORGANIZATION TO *NEW* 
          HAS BEEN DELETED FROM *OPNCAT* AND ADDED TO *VERSEX* AND
          *OPENDEF* IN *CUVSYN* SO THAT THE CRM 006 ERROR MESSAGE WILL
          ONLY OCCUR ONCE WHEN THE *VERSION* DIRECTIVE IS PROCESSED.
          NCP    79/04/13    CUVSYN, OPNCAT 
  
 QU3A412  PROBLEM - THE USER SHOULD ALREADY BE AWARE OF THE FACT THAT 
          FLOATING POINT TO INTEGER CONVERSIONS ARE ALWAYS ROUNDED WHEN 
          DIGITS FOLLOWING THE DECIMAL POINT ARE NON-ZERO. THEREFORE, 
          DIAG 360 (RESULT OF REAL TO INTEGER NUMBER CONVERSION WAS 
          ROUNDED) SEEMS UNNECESSARY AND REDUNDANT. 
          SOLUTION - THE CODE IN *QUGEN* THAT DEFINES DIAGNOSTIC 360
          AND THE CODE WHICH SETS THE RETURNCODE FROM *CONVERT* TO 360
          HAVE BEEN DELETED IN ORDER TO REMOVE THE DIAGNOSTIC MESSAGE.
          NCP    79/03/30    CONVERT, QUGEN 
  
 QU3A414  PROBLEM - THE ENTRY POINT NAME -MOV- CONFLICTS WITH THAT
          OF ANOTHER DATA MANAGEMENT ROUTINE. 
          SOLUTION - RENAME -MOV- AS -MOVEW- (MOVE WHOLE WORDS) 
          JMD    04/10/79    MOVEC, OSEXEC, QUSORT, DBP$PIL 
  
 QU3A418  PROBLEM - RGTABLE ALLOCATES A CM TABLE FOR ITS OWN USE AND
          THAT OF EXPEV20. YET, RGTABLE DOES NOT RELEASE THE TABLE SPACE
          WHEN NO LONGER NEEDED. IT LEAVES THIS CHORE TO VARIOUS
          EXECUTION OVERLAYS (30-0, 40-0, 20-02).  THUS, UNNECESSARY
          SPACE IS HELD DURING THE LIFE OF THE EXECUTION OVERLAY. 
          SOLUTION - REPLACE THE ALLOCATED SPACE BY A FIXED ARRAY IN
          EXPEV20.  THIS DOES NOT INCREASE HHA. 
          ADDITIONALY, REMOVE UNNECESSARY CODE FROM RGTABLE.
          JMD 03/20/79       RGTABLE, EXPEVAL, CTL30, CTL40,
                             CALLBLP, UNIVERS 
  
 QU3A420  PROBLEM - CRM 1.5 INTRODUCED TWO CHARACTER MOVE ROUTINES, M.O 
          AND M.P, INTO THE LIBRARY SYSLIB AS PART OF ITS INSTALLATION
          PROCESS AT CPS R5 TIME. AT CPS R6 TIME, THESE ROUTINES WERE 
          UPDATED TO MATCH APPROVED DAP-S AND INCORPORATED INTO THE 
          COMMON COMMON DECKS WITH ENTRY POINTS MOS= AND MNS=,
          RESPECTIVELY. THEREFORE, ALL CALLS TO M.O AND M.P SHOULD BE 
          CHANGED TO MOS= AND MNS=. 
          SOLUTION - THE CALL TO M.OP (WHICH IS SYNONYMOUS WITH M.P) IN 
          *MOVEC* HAS BEEN CHANGED TO MOS=. 
          NCP    79/05/03    MOVEC
  
 QU3A421  PROBLEM - CRM WILL NO LONGER ALLOW THE -OC- FIELD TO BE 
          CHANGED BY THE -STORE- MACRO. 
          SOLUTION - THE ONLY PLACE WHERE THIS PROBLEM OCCURRED WAS IN
          -QUSORT-. THE CALL TO THE -STORE- MACRO (WHERE THE -OC- FIELD 
          WAS BEING SET TO ZERO) HAS BEEN DELETED SINCE -QUSORT- RUNS 
          JUST AS WELL WITHOUT IT.
          NCP    79/05/07    QUSORT 
  
 F2540MC  SYMPL TEXT SUPPORT CODE FOR CDCSNAM 
          CRMNAME ALWAYS SET JUSTRIGHT FLAG TO FALSE FOR CRM ITEMS
          MP     05/08/79    TAREATB, TDESATT, TEXPRES, CRMNAME 
  
 F2540MD  MODIFICATIONS TO BGTABLE TO SUPPORT RMBGTBL AND DCBGTBL 
          MP     05/07/79    BGTABLE
  
 F2540EA         ADD THE *ACCESS KEY* DIRECTIVE, WHICH SPECIFIES THE
                 KEYS NEEDED TO ALLOW FILE ACCESS IF THE SCHEMA HAS 
                 SPECIFIED ACCESS-CONTROL LOCKS FOR UPDATE AND/OR 
                 RETRIEVAL. 
          EMV    5/15/79     COMSOVL,DIAGTEXT,LOADOVL,POINTERS,PRIVACY
                             QUGEN,SUB14,SYMPL14,ALL SYNGN"S
  
 F2540AB  QU CDCS MODS TO ADD *BUILDAREATBL* TO *USECDCS*.
          AM     79/05/23    TOPTION, CUVMAIN, USE, USECDCS, USECRM 
  
 STEXTC   THIS CODE FIXES THE WEORS BETWEEN DECKS. IT ALSO REMOVES THE
          PHYSICAL WEOR AFTER THE COMMON DECKS. 
          RMP    79/05/29    WEOR0,WEOR1,WEOR2,WEOR3,WEOR4,WEOR5
                             WEOR6,WEOR7
  
 F2540ME  SBSCADD INCLUDES (+1) THAT DCBGTBL AND CDCSNAM HAD BEEN 
          ADDING THEMSELVES.  GET ADDS SBSCADD TO ADDRESS FOR ALL 
          WA GET-S. 
          MP     06/06/79    QU0100, CDCSNAM, DCBGTBL 
  
 F2540MF  SUPPORT CODE TO NEXTGET TO FACILITATE CDCSGET 
          MP     05/08/79    NEXTGET, RGTABLE, CTL30, CTL40 
  
 F2540AC  MISC QU/CDCS MODS, IN PARTICULAR, THOSE TO FIX *BUILDAREATBL*.
          AM     79/06/08    CUVMAIN, USECDCS, USECRM, QUGEN
  
 QU3A415  PROBLEM - THE PLACEMENT OF THE COMMON DECKS XSTD AND ESTD IS
          INCORRECT.  ESTD SHOULD HAVE BEEN DEFINED IN LEXSCAN, SINCE 
          LEXSCAN IS THE ONLY ROUTINE USING EXTENSIVELY ALL THE 
          DEFINITIONS CONTAINED IN ESTD.
          AS THINGS STAND, ESTD MUST DE DEFINED IN SOME ROUTINE OF
          EACH OVERLAY THAT USES LEXSCAN
          (SYNTAX FOR 1-0, USE FOR 5-0, FIXVARS FOR 71-0).
          SOLUTION - MOVE THE CALL TO ESTD TO LEXSCAN AND THE CALL
          TO XSTD TO SYNTAX.
          JMD    04/10/79    ESTD, FIXVARS, LEXSCAN, SYNTAX, TXSTD, 
                             XSTD 
  
 F2540ND  *RECOVERY POINT* DIRECTIVE
          NCP    79/06/27 
  
 F2540AD  QU/CDCS MODS TO 1) FIX BUGS TO DATE, AND 2) ADD RELATION
          TABLE PROCESSING FOR QU/CDCS. 
          AM     79/07/25    TRELTBL, BSTOP, CUVSYN, USECDCS, USECRM, 
                             SYNGN05
  
 F2540MG  FIRST SET OF CHANGES TO CTL50 AND OTHERS
          MP     06/20/79    CTL50 ET AL
  
 QU3A419  PROBLEM - ALTHOUGH QU HAS BEEN CHANGED TO TREAT LEADING BLANKS
          AS ZEROS DURING NUMERIC TO INTEGER CONVERSIONS, IT DOES NOT 
          ACCEPT BLANKS AS ZEROS DURING NUMERIC EDITING CONVERSIONS.
          SOLUTION - BOTH *CONVERT* AND *NUMERED* HAVE BEEN UPDATED TO
          TREAT LEADING AND EMBEDDED BLANKS AS ZEROS DURING NUMERIC 
          EDITING CONVERSIONS.
          NCP    79/05/31    CONVERT, NUMERED 
  
 QU3A426  PROBLEM - DIAGNOSTICS ISSUED DURING A *PERFORM* SHOULD INCLUDE
          THE SESSION AND TRANSMISSION. 
          SOLUTION - *DIAGXEQ* HAS BEEN MODIFIED TO CHECK *PERFLG* TO 
          SEE IF DIAGNOSTIC OCCURRED DURING A *PERFORM*. IF SO, THE 
          SESSION NAME AND TRANSMISSION-ID ARE RETRIEVED FROM BASED 
          ARRAY *KEYWSA* AND MOVED TO THE BEGINNING OF THE DIAGNOSTIC 
          MESSAGE.
          NCP    79/07/12    DIAGXEQ
  
 QU3A428  PROBLEM - IF ALTERNATE KEY ...
          STOPS AFTER 1000 RECORDS QUALIFY.  THIS OCCURS BECAUSE
          WHEN READING SCRATCH FILE CONTAINING KEY VALUES, QU 
          HAS SET FITMRL TO 10000 SO THAT CRM RETURNS END OF RECORD 
          AND EXCESS DATA ERROR STATUS AFTER MORE THAN 1000 WORDS 
          HAVE BEEN READ. 
          SOLUTION - QU SETS FITMRL TO 0 SO THAT CRM DOES NOT RETURN
          END OF RECORD STATUS AT ANY TIME, BUT CONTINUES TO READ 
          RECORD UNTIL END OF INFORMATION IS ENCOUNTERED. 
          MP     07/11/79    CDCSGET, NEXTGET, QU3000, QU4000, QU5000 
  
 QU3A429  PROBLEM - QU LOSES ONE RECORD ON
               IF ALT-KEY NE LIT
          IF THERE ARE NO ALTERNATE KEYS EQUAL TO VALUE.  PROBLEM 
          OCCURS BECAUSE MIP RESETS KEY AREA WHILE QU IS DETERMINING
          ALL KEYS LESS THAN VALUE.  THEN QU USES THIS INCORRECT KEY
          VALUE WHEN DETERMINING ALL KEYS GREATER THAN LIT. 
          SOLUTION - QU RESET KEY AREA BEFORE DETERMINING ALL KEYS
          GREATER THAN LIT. 
          MP     07/11/79    RM$BLP 
  
 QU30419  PROBLEM - UNNECESSARY DATA-NAME QUALIFICATION REQUIRED WITH 
          USE RELATION
          BECAUSE CRMNAME INCORRECTLY RESETS P<AREA$TABLE> AND LOSES ITS
          PLACE IN THE SEARCH FOR THE DATA-NAME.
          SOLUTION - CRMNAME NO LONGER RESETS P<AREA$TABLE>.
          MP     07/11/79    CRMNAME
  
 QU30423  PROBLEM - ALTHOUGH ITEMS DEFINED AS FLOATING POINT ARE ALWAYS 
          ROUNDED WHEN MOVED TO AN INTEGER FIELD, ITEMS DEFINED AS
          NUMERIC ARE NOT ROUNDED DURING THE CONVERSION PROCESS.
          SOLUTION - THE *CONVERT* ROUTINE HAS BEEN CHANGED SO THAT ALL 
          NUMERIC ITEMS ARE ROUNDED WHEN MOVED TO A FIELD WITH LESS 
          SIGNIFICANT DIGITS. 
          NCP    79/08/01    CONVERT
  
 QU3A417  PROBLEM - WHILE LOOPING THROUGH *BASICTABLE* TO COMPARE EACH
          FIT LFN WITH THE LFN FOUND IN THE -DISPLAY UPON- DIRECTIVE, 
          *DISPLAY* USED THE ENTIRE WORD CONTAINING THE FIT LFN FOR 
          COMPARISON INSTEAD OF THE FIRST 7 CHARACTERS. AS A RESULT, A
          MATCH WAS NOT FOUND AND THE SPACE ALLOCATED FOR THE FIT WAS 
          RELEASED AND REALLOCATED AT A DIFFERENT ADDRESS CAUSING QU TO 
          MODE OUT. 
          SOLUTION - *DISPLAY* HAS BEEN CHANGED TO USE ONLY THE FIRST 7 
          CHARACTERS OF THE WORD CONTAINING THE FIT LFN WHEN COMPARING
          AGAINST THE LFN FOUND IN THE -DISPLAY UPON- DIRECTIVE.
          NCP    79/07/31    DISPLAY
  
 F2540MH  MAKE EXHIBIT WORK FOR QU/CRM AND QU/CDCS
          MP     07/31/79    EXHIBIT
  
 F2540AE  MISC QU/CDCS MODS                                             000030
          - TO PUT SUBSCHEMA NAME WITHIN AREA TABLE.                    000040
          ALSO MODS TO IMPLEMENT THE -INVOKE- DIRECTIVE.                000050
          AM     79/08/22    TOPTION, DIAGTEXT, LEXID,                  000060
                             USE, USECDCS, USECRM, SYNGN01-SYNGN77,     000070
                             QUGEN                                      000080
                                                                        000090
 F2540NE  BUILD RELATION USAGE LIST (RUSLIST) 
          NCP    79/08/09    DATANAME, QUGEN, WHERE 
  
 F2540EB  IMPLEMENTATION OF THE EXTENDED SYNTAX DIRECTIVES *STORE*, 
          *MODIFY*, AND *REMOVE*. 
          EMV    8/17/79     CTL40,CTL50,DELUPSYN,ERASEXH,EXPANAL,LEXID,
                             MOVEVAL,MOV40,QUGEN,SET40,SUB00,SUB15, 
                             SYMPL00,SYMPL15,ALL SYNGN"S,SYNTAX,TBASCTB,
                             TSBASIC,USINGEX
  
 QU30418  PROBLEM - *OS* DIRECTIVE SHOULD BE PERMITTED WHEN RUNNING 
          I = FILENAME FROM TERMINAL. 
          SOLUTION - A NEW FLAG, BATCHMD, HAS BEEN ADDED TO THE SYMPL 
          TEXT, TENVIRN, TO SIGNIFY THE USER IS RUNNING IN BATCH MODE.
          -BATCHMD- IS SET IN *INITIAL* AND CHECKED IN *OSINIT* BEFORE
          DIAGNOSTIC 294 IS ISSUED. 
          NCP    79/08/24    COMMONS, INITIAL, OSINIT, QU1100, TENVIRN
  
 QU3A433  PROBLEM - FOR THE QU DIRECTIVE
               IF ALT-KEY *RELATION* VALUE
          QU TREATS CHARACTER ALTERNATE KEYS AS ALTERNATE KEYS, BUT 
          ALL OTHER TYPES AS NON-KEYS.
  
          WHEN CREATING THE FILE, QU INCORRECTLY SPECIFIED ALTERNATE
          KEYS TO MIP VIA THE RMKDEF MACRO.  QU TOLD MIP THAT INTEGERS
          WITH SIGN IN THE PICTURE WERE SIGNED INTEGER KEYS, INTEGERS 
          WITH NO SIGN IN THE PICTURE WERE UNSIGNED INTEGER KEYS, AND 
          ALL OTHERS WERE SYMBOLIC KEYS.
  
          SOLUTION - BEFORE CALLING RM$BLP, IF THE KEY IS UNSIGNED
          COMP, INTEGER, COMP-1, OR COMP-2, QU WILL CONVERT *VALUE* TO
          THE SAME TYPE AS THE KEY SO RM$BLP CAN HANDLE THE ALTERNATE 
          KEY CORRECTLY.  KEYS OF TYPE SIGNED COMP, DOUBLE, AND COMPLEX 
          WILL ONLY BE TREATED AS KEYS IF THE RELATION IS *EQUAL*.
          LOGICAL KEYS WILL BE TREATED AS NONKEY ITEMS.  THESE
          RESTRICTIONS EXIST BECAUSE MIP DOES NOT SORT SIGNED COMP, 
          DOUBLE, AND COMPLEX IN THE SAME WAY AS QU, AND MIP CANNOT 
          HANDLE LOGICAL KEYS.
  
          WHEN CREATING THE FILE, QU WILL CORRECTLY SPECIFY THE 
          ALTERNATE KEYS TO MIP VIA THE RMKDEF MACRO: 
          INTEGER, COMP-1, COMP-2      SIGNED BINARY
          UNSIGNED COMP                UNSIGNED BINARY
          ALL OTHERS                   SYMBOLIC 
          WITH THIS PSR INSTALLED THE RMKDEFS MUST BE DEFINED 
          CORRECTLY IN ORDER FOR THE CORRECT RECORDS TO BE
          RETRIEVED FOR RELATIONAL OPERATORS OTHER THAN *EQUAL*.
          A FILE CREATED WITH AN EARLIER VERSION OF QU MUST EITHER BE 
          RE*CREATE*D WITH QU OR HAVE ITS INDEX FILE RECREATED USING
          THE IXGEN OR MIPGEN UTILITIES.
  
 F2540MJ  SUPPORT CODE FOR BLP FOR CDCS 
          MP     09/21/79    QU2002, RM$BLP, QUGEN
  
          MISCELLANEOUS MODS
          MP     08/30/79 
  
 F2540NF  UPDATE *RETSYN* TO RETURN CDCS SUBSCHEMAS AND TO ISSUE DIAG 
          402 WHEN THE USER TRIES TO RETURN AREAS OR RELATIONS WHILE
          CDCS IS INVOKED.
          NCP    79/09/05    DIAGTEXT, QUGEN, RETSYN
  
 F2540AF  MODS TO INPLEMENT THE USE OF CRM SUBSCHEMA LIBRARIES          000030
          AND CONTINUE TO SUPPORT OLD SINGLE-SUBSCHEMA FILES.           000040
          ALSO INCLUDES SYNTAX CHANGES TO -CREATE- AND -INVOKE-         000050
          TO MAKE THE KEYWORD -FROM- OPTIONAL.                          000060
          ALSO INCLUDES A GENERAL CLEANUP AND RESEQUENCING OF *USECRM*. 000070
          AM     79/09/24    DIAGTEXT, QU0502, CRMNAME, EXHIBIT,        000080
                             USECRM, USINGEX, SYNGN05, QUGEN            000090
                                                                        000100
 F2540ML  PROBLEM - AT$CURRKEY SET TO ZERO CAUSES MODE ERRORS WHEN
          FIRST WORD OF AREA TABLE IS USED AS FITKA.
          SOLUTION - RMBGTBL SETS AT$CURRKEY INSTEAD OF USECRM
          MP     10/01/79    RMBGTBL, USECRM
  
 F2540AG  MOD TO MAKE SUBSCHEMA SEARCH ON CRM SUBSCHEMA LIB             000030
          WORK TAKING INTO ACCOUNT THE SUBSCHEMA NAMES IN THE INDEX     000040
          ARE BLANK-FILLED.                                             000050
          AM     79/10/01          USECRM                               000060
                                                                        000070
 F2540MM  MISC MODS 
          MP     10/04/79 
  
 F2540EC  PROBLEM - MODIFY VIA MAJOR KEYS AND SEARCH ON MAJOR KEYS OF 
                    MORE THAN ONE WORD ARE NOT YET WORKING FOR THE NEW
                    DIRECTIVES *MODIFY* AND *REMOVE*. 
          SOLUTION - MAKE ADDITIONAL CHECKS FOR MAJOR KEY. CHANGE 
                     METHOD OF SEARCH ON MAJOR KEYS.
          EMV    10/01/79    CTL40,CTL50,USINGEX
  
 F2540MN  ADD NEW QU DIRECTIVES TO LEX5 
          MP     10/11/79    LEX5 
  
 QU3*80   UPDATE COPYRIGHT INFORMATION FOR QU3.2, 1980
          NCP    79/10/02    COPYRHT, COMMONS 
  
 QU3A426A PROBLEM - WHEN DIAGXEQ TRIES TO PRINT THE SESSION AND TRANS-
          MISSION ID FOR A REPORT DIRECTIVE ERROR, GARBAGE IS PRINTED.
          SINCE THE REPORT DIRECTIVE IS PRINTED AFTER THE DIAGNOSTIC
          MESSAGE, THE SESSION AND TRANSMISSION ID DO NOT NEED TO BE
          INCLUDED WITHIN THE DIAGNOSTIC AND CAN BE OMITTED.
          SOLUTION - DIAGXEQ HAS BEEN CHANGED TO PRINT THE CURRENT
          SESSION AND TRANSMISSION ID ONLY FOR NON-REPORT DIRECTIVE 
          DIAGNOSTICS WHICH OCCURRED DURING A *PERFORM*. IN ADDITION, 
          CODE HAS BEEN GENERATED TO SUPPRESS ALL EMBEDDED BLANKS 
          BETWEEN THE SESSION ID AND THE TRANSMISSION ID. 
          NCP    79/10/09    DIAGXEQ
  
 QU3A427  PROBLEM - THE *DUPLICATE* DIRECTIVE DID NOT ALLOW DASHES IN 
          A SESSION NAME. 
          SOLUTION - THE CALL TO *CHKLFN* WITHIN THE *DUPLICATE*
          SECTION OF SYNGN10 HAS BEEN DELETED SINCE IT CHECKED FOR
          A VALID FILE NAME INSTEAD OF A VALID SESSION NAME. AN INVALID 
          SESSION NAME WILL BE DETECTED WHEN *SAVSES* IS CALLED.
          NCP    79/10/09    SYNGN10
  
          PROBLEM - BOTH QU AND DDL DEFINED A 12-BIT FIELD IN THE 
          SUBSCHEMA FOR THE DOMINANT ITEM POINTER WHICH WAS NOT LARGE 
          ENOUGH TO HANDLE A 1000-ITEM AREA. AS A RESULT, QU REACHED
          TIME LIMIT WHEN TRYING TO -EXHIBIT- THE 820-TH AREA ITEM. 
          SOLUTION - THE FIELD FOR THE DOMINANT ITEM POINTER HAS BEEN 
          EXTENDED TO 18 BITS IN ORDER TO HANDLE MORE THAN 819 AREA 
          ITEMS. NOTE : SUPPORTIVE CODE FOR PSR DL2A218 FOR DDL2.2 OR 
          PSR DL3A113 FOR DDL3.1 IS NEEDED IN ORDER TO FIX THIS PROBLEM.
          NCP    79/11/12    CRMNAME, EXHIBIT, TEXPRES
  
 QU3A432  PROBLEM - THE QU DIRECTIVE
               IF ARRAY1(N) NE ARRAY2(ALL)
          FAILS WHEN ARRAY1 IS AN AREA ITEM BECAUSE QU USES 
          SCRATCH CM FOR THE VALUE ARRAY1(N), THEN REUSES IT FOR THE
          RESULT OF ARRAY1(N) NE ARRAY2(1), HENCE LOSING THE VALUE OF 
          ARRAY1(N) WHEN EVALUATING ARRAY1(N) NE ARRAY2(2). 
          SOLUTION - QU WILL NOT REUSE OPERAND SCRATCH CM FOR RESULTS 
          IF ANY OPERAND CONTAINS -ALL- OR -ANY-. 
          MP     09/10/79    EXPANAL
  
 QU3A435  PROBLEM - *CRM* WAS MISSPELLED IN THE HELP TEXT FOR DIAG 903. 
          SOLUTION - THE SPELLING ERROR HAS BEEN CORRECTED IN *DIAGTEXT*
          NCP    79/10/22    DIAGTEXT, QUGEN
  
 QU3A436  PROBLEM - QU MODED OUT DURING THE *ERASE* DIRECTIVE IN THE
          FOLLOWING TWO SITUATIONS: (1) WHEN *ERASEXH* CLEARED THE
          DESCRIBE LIST POINTER AFTER THE CM FOR THE DESCRIBE LIST
          ENTRIES HAD BEEN FREED, AND (2) WHEN *ERASEXH* TRIED TO 
          RELEASE THE CM FOR THE EDITMURAL AND ATTRIBUTE LIST SEPARATELY
          AFTER *EXTRACT* HAD ALLOCATED ONLY 1 CM BLOCK FOR BOTH OF THEM
          SOLUTION - THE DESCRIBE LIST POINTER IS NO LONGER CLEARED 
          AFTER THE CM IS RELEASED AND *EXTRACT* HAS BEEN CHANGED TO
          ALLOCATE DIFFERENT BLOCKS FOR THE ATTRIBUTE LIST AND THE
          EDITMURAL.
          NCP    79/10/22    ERASEXH, EXTRACT 
  
 QU30404  PROBLEM - QU WENT TO TIME LIMIT WHEN A *PREVIEW* SPECIFIED
          A REPORT WITH *DETAIL AT LINE 0 BEYOND*.
          SOLUTION - *XEQREP* HAS BEEN CHANGED SO THAT THE PREVIEW
          OF A REPORT IS STOPPED AFTER 200 DETAILS HAVE BEEN WRITTEN
          OR AFTER TWO PAGES HAVE BEEN WRITTEN TO THE OUTPUT FILE.
          NCP    79/10/12    XEQREP 
  
 QU30416  PROBLEM - IF THE NUMERIC ITEM HAS PICTURE 9.99, ITS SUM 
          HAS PICTURE -9(16)V99, WITH NO DECIMAL POINT. 
          SOLUTION - DEFAULT PICTURES FOR SUM ARE MADE CONSISTENT 
          WITH DEFAULT PICTURES USED THROUGHOUT QU FOR ALL ARITHMETIC 
          COMPUTATIONS.  WHENEVER OPERATIONS INVOLVING TYPE NUMERIC,
          FIXED (ALIAS COMP-1) OR SCALED INTEGER NUMBERS ARE PERFORMED, 
          THE NUMBERS ARE FIRST CONVERTED TO FLOATING, THE RESULT IS
          FLOATING, AND THE PICTURE USED TO DISPLAY THE RESULT IS THE 
          DEFAULT PICTURE FOR FLOATING, -9(12).99 
          MP     10/01/79    CUMFUNC
  
 QU30420  PROBLEM - WHEN PREPARING A REPORT WHICH USED A -SPECIFY-
          DATANAME FOR THE -SELECT- OR -BREAK- CONDITION, QU FAILED TO
          CHECK FOR AREA-ITEMS IN THE -SPECIFY- CONDITION. AS A RESULT, 
          DIAG 830 (EMPTY SOURCE FILE OR NO RECORDS QUALIFIED) WAS
          ISSUED WITH NO FURTHER CLUE AS TO WHAT WENT WRONG.
          SOLUTION - CODE HAS BEEN ADDED TO BOTH THE *BREAK* AND
          *SELECT* PROCS IN ORDER TO CHECK FOR AREA ITEMS IN THE
          *PROGRAMSTACK* ARRAY AND TO ISSUE DIAG 619 (CONDITION IN
          FOLLOWING RPT DIRECTIVE INVOLVES AN AREA ITEM) IF AN AREA-ITEM
          IS FOUND. 
          NCP    79/09/14    ATLINE, BREAK, CENTER, DIAGTEXT, ISEXPR, 
                             QUGEN, SELECT, SETPOS, SYNGN02, TMDTPGN, 
                             TRPTLST, XEQREP
  
 QU30427  PROBLEM - WHEN LOADING OWNCODE ROUTINES, QU TRIED TO SATISFY
          EXTERNALS FROM SYSMISC INSTEAD OF DMSLIB. 
          SOLUTION - ALL REFERENCES TO SYSMISC HAVE BEEN CHANGED TO 
          DMSLIB. 
          NCP    79/09/18    DBP$PIL, LOADREL 
  
 QU30428  PROBLEM - WHEN ATTACHING A PERMANENT FILE, QU EXPECTED THE PFM
          RETURN CODE FOR -FILE BUSY- TO BE 25B. AT LEVEL 499, 25B IS 
          USED EXCLUSIVELY FOR FILE ARCHIVE AND 37B IS USED TO INDICATE 
          FILE BUSY.
          SOLUTION - DIAGNOSTIC MESSAGE 261 HAS BEEN ALTERED TO INDICATE
          A BUSY FILE AND DIAGNOSTIC 403 HAS BEEN CREATED TO INDICATE AN
          ARCHIVED FILE. BOTH *ATTACHF* AND *PFDIAG* HAVE BEEN CHANGED
          TO CHECK FOR PFM RETURN CODE 37B AS WELL AS 25B IN ORDER TO 
          ISSUE THE APPROPRIATE DIAGNOSTIC MESSAGES.
          NCP    79/09/18    ATTACHF, DIAGTEXT, PFDIAG, QUGEN 
  
 QU30430  PROBLEM - DIAGNOSTIC 132 (DUPLICATE REPORT ENTRY) WAS ISSUED
          WHILE RECORDING REPORT DIRECTIVES BECAUSE THE *ALL* FLAG WAS
          NOT CLEARED AFTER THE *MOVE BEFORE/AFTER ANY ...* DIRECTIVE 
          WHEN RECORDING. 
          SOLUTION - THE *ALL* FLAG IS NOW CLEARED WITHIN *RPTEVAL* AND 
          *RPTMOVE* BEFORE EXITING VIA *RECNO*. 
          NCP    79/10/22    RPTEVAL, RPTMOVE 
  
 QU30431  PROBLEM - CUMULATIVE FUNCTIONS DO NOT WORK FOR SUBSCRIPTED
          ITEMS.
          SOLUTION - MODIFY CUMFUNC TO ADD CAPABILITY TO HANDLE 
          CUMULATIVE FUNCTION OF ITEMS SUBSCRIPTED BY CONSTANT OR 
          DEFINED ITEM.  THE NAME OF THE FUNCTION IN THE DEFINE LIST
          ENTRY WILL INCLUDE THE INDEX TABLE.  THERE WILL BE SEPARATE 
          DEFINE LIST ENTRIES FOR FUNCTION(1), FUNCTION(2), ETC.
          MP     CUMFUNC     10/16/79 
  
 F2540NG  MODIFY *SEQTBL* TO HAVE 4 COLLATING SEQUENCE TABLES AND 
          CHANGE *USECDCS* TO USE THE APPROPRIATE SEQUENCE TABLE
          DEPENDING ON -SBDCSEQOPT-.
          NCP    79/10/16    SEQTBL, USECDCS
  
 F2540ED  PROBLEM - 1) SEARCH BY DUPLICATE ALTERNATE MAJOR KEYS FAILING 
                       FOR MODIFY/REMOVE DIRECTIVES.
                    2) CAN"T SPECIFY KEY FOR STORE ON AK FILE.
          SOLUTION - 1) SET *FITKA* TO LOCATION OF ALTERNATE KEY FOR
                        *GETN* AS WELL AS *GET*.
                     2) DON"T ZERO OUT KEY FIELD BEFORE STORE.
          EMV    10/08/79    CTL40
  
 F2540MK  SUPPORT CDCS ERROR MESSAGE TEXT AND FATAL ERROR FLAG
          MP     09/26/79    DIAG904, CTL50, CDCSGET
  
 F2540AH  MODS TO QU/CDCS TO MAKE USE OF THE -INVOKE- FOR               000300
          INTERACTIVE USERS AND TO PICK UP THE ERROR STATUS FIELDS      000400
          IN THE CDCS STATUS BLOCK.                                     000500
          ALSO HAS MODS ISSUE FATAL DIAG 869 ON ALL USE ERRORS.         000600
          ALSO UPDATES -HELPT- INFO FOR THE NEW DIRECTIVES.             000700
          AM     79/10/05    DIAGTEXT, TAREATB, TCRMDEF,                000800
                             CUVSYN, POINTERS, PRIVACY, USECDCS,        000900
                             QUGEN                                      001000
                                                                        001100
 F2540EE  MAKE THE NECESSARY MODIFICATIONS TO THE SYNTAX OVERLAYS SO
          THAT THE CATALOG FILE MAY BE ACCESSED THROUGH EITHER CRM
                 OR CDCS. 
          EMV    10/31/79    CATCHK,DUPLICATE,ERASEXH,FORMALT,OPNCAT, 
                             PRECOMP,RECORDING,STKOUT,SYNTAX,QUGEN, 
                             QU0100,QU0110,TCLFN
  
 QU33VER  CHANGE VERSION NUMBER TO 3.3
          MP     12/06/79    QU1100 
  
 F2540GS  CHANGE *USING* TO *SETTING* AND *VIA* TO *USING* IN *STORE*,
          *MODIFY*, AND *REMOVE* DIRECTIVES.
          GS     12/05/79    CTL40, CTL50, DELUPSYN, ETC
  
 F2540EF  PROBLEM - BUGS FOUND IN TESTING S/M/R DIRECTIVES
                    1) *USINGEX* CONVERTED ALL DATA INSTEAD OF JUST KEY 
                       WHEN CALLED WITH *GETKEY*
                    2) *REMOVE* NOT ALLOWED ON PRECEDING *IF* 
                    3) *SETTING* TEMPORARIES NOT ALLOWED WITH S/R 
          SOLUTION - 1) MAKE EXTRA CHECKS BEFORE CONVERSION 
                     2) CHECK *IFFLAG* ON *REMOVE*
                     3) CHANGE *TYPEALOW* VALUE IN *LEXID*
          EMV    11/21/79    DELUPSYN,LEXID,USINGEX,ALL SYNGN"S 
  
 F2540EG  PROBLEM - BUGS FOUND IN TESTING OUT THE *ACCESS KEY* DIRECTIVE
                    1) *CREATE* OPENS THE CATALOG FILE BEFORE THE KEY 
                       CAN BE GIVEN 
                    2) *DB$PVC* NOT PASSED FULL 30 CHARACTERS OF KEY
          SOLUTION - 1) SET FLAG THAT FIRST OPEN IS FOR *CREATE* RATHER 
                        THAN OPENING AT CREATE TIME 
                     2) COPY KEY INTO 30-CHARACTER, BLANK-FILLED WORD 
                        TO PASS TO *DB$PVC* 
          EMV    11/28/79    CTL50,PRIVACY,TENVIRN,USECDCS
  
 F2540EH  PROBLEM - *OPNCAT* SHOULDN"T ZERO *FITMRL* FOR CDCS CATALOGS
          SOLUTION - CHECK *CMODE* FOR CRM MODE BEFORE ZEROING *FITMRL* 
      EMV        12/05/79    OPNCAT 
  
 F2540NH  PROBLEM - WHEN A DESCRIBE FILE IS USED TO PREPARE A REPORT AND
          THE REPORT FILE IS RETURNED, DIAGNOSTIC 44 (-DATANAME-
          UNDEFINED DATA NAME) WAS ISSUED WHEN THE USER TRIED TO
          *EXHIBIT* A DATANAME WITHIN THE DESCRIBE FILE.
          SOLUTION - *SEARCHFORDUP* HAS BEEN CHANGED TO SEARCH THE
          DEFINE, DESCRIBE, AND SPECIFY LISTS FOR A NAME USED IN THE
          *EXHIBIT* DIRECTIVE AS WELL AS A NAME USED FOR A CUMULATIVE 
          FUNCTION (WHILE NOT PREPARING A REPORT) OR A NAME USED IN THE 
          *DEFINE* DIRECTIVE. 
          NCP    79/11/21    DATANAM
  
 F2540MO  MISCELLANEOUS MODS
          MP     11/19/79 
  
 F2540AJ  UNCUV - PHASE 2:  INTRODUCES THE COMPLETE CAPABILITY TO       000300
          CLEAN UP THE PREVIOUS CREATE/INVOKE/USE/VERSION BEFORE        000400
          PROCESSING A CDCS VERSION.                                    000500
          VERSION:  ALLOWS -VERSION- DIRECTIVE TO SPECIFY A             000600
          CDCS CATALOG FILE.                                            000700
          ALSO INCLUDES MODS TO PREVENT CALLS TO *DB$CLS*               000800
          DURING REPRIEVE PROCESSING.                                   000900
          AM     79/11/01    CLCAT, SUB05,                              001000
                             QU0500, BSTOP, CUVSYN, SYMPL05, SYNTAX,    001100
                             USE, USECDCS, USECRM,                      001200
                             SYNGN05, QUGEN                             001300
                                                                        001400
 F2540AK  CHANGES TO THE METHOD OF MODIFYING THE P.F. PARAMS SO THE     000500
          PARAMS FOR THE SUBSCHEMA MAY BE MODIFIED ALSO.                000600
          THIS MOD SET ALSO INTRODUCES THE SYMPL TEXT -TPFMDEF-.        000700
          AM     79/12/10    DIAGTEXT, ESTD, XSTD, SUB05,               000800
                             TPFMDEF, TXSTD,                            000900
                             QU0500,                                    001000
                             CHGFDB, MODPFP, POINTERS, SYMPL05,         001100
                             USE, USECRM,                               001200
                             LEX5, SYNGN05, QUGEN                       001300
                                                                        001400
 QU3A445  MODS TO MAKE SURE ALL CRM CALLS HAVE ZERO WORD TERMINATORS.   000030
          AM     79/12/11    EXTRACTM, INITPRKEY, SETDISFRO,            000040
                             CRACKCC, CTL30, CTL40, CTL50, FIXVARS,     000050
                             NEXTGET, XEQREP                            000060
                                                                        000070
 QU3A442  PROBLEM - DEFINE X = Y(Z) GIVES MODE 1 WHEN X EVALUATED 
          SOLUTION - SPEDEDE BUILD MOVE TABLE CORRECTLY BY STORING
          ATTRIBUTE TABLE ADDRESS INSTEAD OF DATA ADDRESS 
          MP     11/28/79    SPEDEDE
  
 F2540AM  MODS TO CORRECTLY HANDLE *UNCUV* CASE FOR CDCS
          CREATE/INVOKE/USE IF ALREADY IN CDCS CATALOG AND CDCS DATABASE
          MODE WITH SAME SUBSCHEMA. 
          MODS TO PUT *MRL* IN THE CATALOG FIT FOR A CDCS VERSION.
          MODS TO GO TO *MODPFP* ON A -VERSION- DIRECTIVE.
          AM     79/12/13    USECDCS, SYNGN05 
  
 LDRPSR   PROBLEM - A CAPSULE LOADED INTO AN OVCAP IS RELOCATED EVEN
                    THOUGH IT RESIDES IN (0,0). 
          SOLUTION - OMIT IT FROM LOAD OF OVCAP - TO BE PASSED AT RUN 
                     TIME -- KLUGE UNTIL LOADER IS FIXED. 
          EMV    12/13/79    QUGEN,QU0100,QU0500
  
 F2540MP  FIX *OS* FOR CATALOG MODE BY GETTING SUBSCHEMA TABLE POINTER
          FROM VERSBSC
          MP     12/13/79    OSINIT 
  
 F2540NI  PURGE DECK -CATCHK- (SINCE ALL SEQUENCE NUMBERS READ F2540EE) 
          SO IDENT F2540NK CAN RECREATE IT. 
  
 F2540NJ  MOVE OS, RETURN, AND REWIND DIRECTIVES FROM QU0105 OVERLAY TO 
          QU0116 OVERLAY (A NEW OVERLAY). 
          NCP    79/12/04    RETSYN, QUGEN, SUB05, SUB16, SYMPL05,
                             SYMPL16, SYNGN05, SYNGN16
  
 F2540NK  MAKE -CDCSNAM- AND -CDCSREQ- OVCAPS. MODIFY -CAPLOG- TO USE 
          SUBSCHEMA NAME INSTEAD OF SUBSCHEMA LIBRARY NAME, AND RECREATE
          -CATCHK-. 
          NCP    79/12/10    CAPLOG, CATCHK, CDCSREQ, QUGEN, QU0100 
                             QU0500 
  
 F2540MQ  PROBLEM - EVAL X WHERE X IS DEFINED ITEM = Y - DECODE(...)
          GETS MODE 1 BECAUSE PROG STACK POINTS TO ATTRIB TABLE WITH
          NEGATIVE ADDRESS. 
          SOLUTION - WHEN *LINKSCRATCH* WITHIN *EXPANAL* EXAMINES PROG
          STACK AND ADDS LWA + 1 OF PROG STACK CMM BLOCK TO ALL 
          NEGATIVE ADDRESSES, IT NOW ALSO EXAMINES ATTRIB TABLES
          POINTED TO BY PROG STACK. 
          MP     12/14/79    EXPANAL
  
 REWINDDA KLUDGE TO CLOSE AND OPEN DA FILES INSTEAD OF REWINDING THEM 
          BECAUSE CRM/CDCS IS UNABLE TO REWIND A DA FILE AT THIS TIME.
          THIS MOD WILL BE PURGED AS SOON AS THIS CRM/CDCS PROBLEM
          IS CORRECTED. 
          MP     12/15/79    CTL50
  
 F2540EI  PROBLEM - THE *ACCESS KEY* DIRECTIVE COULD NOT BE RECORDED. 
          SOLUTION - INSERT *RECYES* AND *RECNO* INTO THE *PRIVACY* 
                     PROCS TO AVOID EXECUTING THEM WHEN RECORDING.
          EMV    12/14/79    PRIVACY, RECOVRY 
  
 F2540MR  MISC MODS 
          MP     12/20/79    CDCSGET, CONVERT, OSINIT 
  
 F2540AN  1) FIXES CRM ERROR CAUSED BY A REDUNDANT -CLOSE-              000300
             FUNCTION IN *ABORTUSE*.                                    000400
          2) ALLOWS PROPER RESTORATION OF CRM/CDCS CATALOG MODE         000500
             AFTER AN ERROR ON A -VERSION- DIRECTIVE.                   000600
          3) FIXES PF MODIFICATIONS ON AN INDEX FILE.                   000700
          4) FIXES IMPROPER CALLS TO FREE BLOCKS AFTER AN ERROR         000800
             RETURN FROM *CHGFDB*.                                      000900
          AM     79/12/18    CHGFDB, USECDCS, USECRM                    001000
                                                                        001100
 QU30432  PROBLEM - ALTHOUGH QU DIAGNOSED INCONSISTENT SUBSCHEMA MRL-S
          WHEN THE ORIGINAL MRL WAS GREATER THAN THE CURRENT MRL, QU
          FAILED TO CHECK FOR A SMALLER MRL AND NEVER NOTIFIED THE USER 
          IF THERE WAS A DIFFERENCE.
          SOLUTION - IF THE MRL ASSOCIATED WITH THE FIELDS DESCRIBED IN 
          THE CURRENT SUBSCHEMA DOES NOT MATCH THE MRL FOR THE ORIGINAL 
          SUBSCHEMA FILE, DIAGNOSTIC 358 (ORIGINAL MRL DOES NOT MATCH 
          CURRENT MRL FOR SUBSCHEMA -<A>-) IS ISSUED AS AN INFORMATIVE
          MESSAGE. IF THE FILE WAS CREATED WITH A LARGER MRL THAN THAT
          ASSOCIATED WITH THE FIELDS DESCRIBED IN THE SUBSCHEMA, QU WILL
          ALLOCATE LARGER BUFFERS TO ACCOMMODATE THE FILE. SINCE VERSION
          3.3 OF QU DOES NOT MODE OUT WHEN THE FILE HAS A SMALLER MRL 
          THAN THAT OF THE SUBSCHEMA, DIAGNOSTIC 358 IS ISSUED AS AN
          INFORMATIVE MESSAGE ONLY. 
          NCP    80/01/15    CTL30, CTL40, DIAGTEXT, QUGEN
  
 QU3A443  PROBLEM - PRIMARY KEY OPTIMIZATION FAILS WHEN KEY NAME
                    FOLLOWS AN *AND*.  IN *EXPEV20*, *AREA$TABLE* WAS 
                    ONLY BEING POSITIONED FOR THE KEY, CAUSING *RSTACKR*
                    TO GO ASTRAY IF THE KEY WASN"T BEFORE OTHER AREA
                    ITEMS.
          SOLUTION - MOVE POSITIONING OF *AREA$TABLE* BEFORE CHECK FOR
                     KEY, SO WILL BE SET FOR ALL AREA ITEMS.
          EMV    01/04/80    EXPEVAL
  
 QU3A447  PROBLEM - THE HELP TEXT FOR DIAGNOSTIC 619 NEEDS TO BE MORE 
          EXPLICIT. 
          SOLUTION - THE HELP TEXT HAS BEEN REWRITTEN TO GIVE THE USER
          A BETTER DESCRIPTION OF WHAT CAUSED THE ERROR.
          NCP    80/01/18    DIAGTEXT, QUGEN
  
 F2540AO  INTRODUCES THE USE OF RESERVED FILE NAMES FOR ATTACHING 
          SUBSCHEMA FILES.  THIS AVOIDS THE PROBLEM OF GETTING THE PF 
          ERROR -LFN ALREADY IN USE- WHEN THE 1ST 7 CHARS OF 2 PERM 
          FILE NAMES ARE THE SAME.
          - COMPLETES MISSING DOCUMENTATION.
          AM     80/01/09    TPFMDEF, CUVSYN, INITIAL,                  000050
                             USE, USECDCS, USECRM                       000060
  
 QUIMF001 DEFINITION OF THE IMF/QU INTERFACE. MANY NEW DECKS AND
          COMDECKS ARE INTRODUCED. OVERLAYS (1,60) AND (60,00) ARE
          CREATED. OVCAPS *IMFDICT* AND *IMFRUN* ARE CREATED. 
          JMD/CFR    79/12/04    MANY DECKS 
  
 QUIMF002 PROBLEM - THE SETTING OF RECORD AND ITEM ORDINALS FOR QU/CDCS 
          OVERWRITES THE KEY ORDINAL FOR QU/IMF.
          SOLUTION - INTRODUCE A TEST TO ENSURE THE ORDINALS GET ENTERED
          ONLY FOR THAT PARTICULAR INTERFACE (I.E. - NOT SET CDCS 
          ORDINALS IF IT IS AN IMF DATABASE). 
          MP     80/01/10    EXPANAL
  
 QUIMF003 PROBLEM - MINOR ERRORS IN *QUIMF001* PREVENT US FROM
          CLEANLY BUILDING QU.
          SOLUTION - CORRECT THE FOLLOWING PROBLEMS:  
          1. ENTRY POINTS *GET$AP* AND *STO$KEY* WERE NOT DECLARED TO 
            BE OVCAP RESIDENT. THIS RESULTED IN UNSATISFIED EXTERNALS 
            IN THE (1,60) OVERLAY.
          CFR    80/01/10    QU0100, QUGEN
  
 QUIMF005 MISCELLANEOUS MODS FOR QU/IMF INTERFACE 
          MP     02/19/80 
  
 F2540EJ  PROBLEM - 1) *MODIFY* DOESN"T PRINT ACCESSES/HITS MESSAGE.
                    2) DUPLICATE ALTERNATE MAJOR KEY RETRIEVAL FAILS. 
          SOLUTION - 1) SET *KEYLIT* IN *MODUSI*. 
                     2) MOVE ALTERNATE KEY TO *KEY* ARRAY AFTER READ
                        BY ALTERNATE. 
          EMV    02/01/80    CTL40,CTL50
  
 F2540EK  PUT ALL CALLS TO CDCS INTO THE OVCAP *CDCSREQ* SO THAT QU 
          MAY BE INSTALLED WITHOUT CDCS PRESENT.  DEFINE NEW ENTRY
          POINT NAMES SO THAT LOADER DOESN"T BECOME CONFUSED AND TRY
          TO LOAD CDCS FROM THE QU PL.
          EMV    02/15/80    CHNGEPT,DB$GLDF,QUGEN,QU0100,QU0500,QU2000 
                             QU5000 
  
 F2540NN  WHEN PSR QU3A415 REPLACED THE LEXSCAN CALL TO XSTD WITH A CALL
          TO ESTD, THE ITEM *TFLAG* WAS NO LONGER XREF-ED. THEREFORE, 
          WHENEVER *DEBUG* WAS DEF-ED IN AN UPDATE RUN, TFLAG CAUSED
          AN UNDECLARED IDENTIFIER ERROR. THE CODE FOR THIS IDENT 
          INSERTS AN *XREF ITEM TFLAG* IN ESTD WHENEVER *DEBUG* IS
          DEF-ED. 
          NCP    80/01/31    ESTD 
  
 QU30439  PROBLEM - THE HELP TEXT FOR DIAGNOSTIC 57 FAILED TO EXPLAIN 
          THAT A CONDITION OR EXPRESSION CANNOT CONTAIN MORE THAN 70
          OPERATORS, OPERANDS, AND TEMPORARY RESULTS. 
          SOLUTION - THE HELP TEXT HAS BEEN REWRITTEN.
          NCP    80/01/31    DIAGTEXT, QUGEN
  
 QU3A451  PROBLEM - ESSENTIAL FLAGS WERE NOT BEING CLEARED ON FATAL 
                    *VERSION* ERROR, CAUSING SUBSEQUENT DIRECTIVES TO 
                    THINK THAT THE *VERSION* WAS IN EFFECT. 
          SOLUTION - MAKE THE PART OF *UNCUV* WHICH CLEANED UP CRM
                     CATALOG FLAGS AND FIT INTO THE PROC *CLOSECAT*.
                     CALL *CLOSECAT* FROM *UNCUV* AND *ABORTUSE*. 
          EMV    02/19/80    USECRM 
  
 F2540EL
          PROBLEM - QU THINKS CDCS IS NOT LOADED WHEN IT IS.
          SOLUTION - CHANGE CHECK FOR UNSATISFIED EXTERNAL IN *CHNGEPT*.
          EMV    02/28/80    CHNGEPT
  
 *L528*    ************************************************ 
 QU3A461  ADD OVCAP NAMES AND BRIEF DESCRIPTION OF OVCAPS AND OVERLAYS
          TO LOADMAP PAGE HEADINGS. 
          NCP    80/03/12    QUGEN
  
 IMQA014  PROBLEM - WHEN QU TRIES TO ATTACH IMF DATA FILES WHICH ARE
          ATTACHED BY ANOTHER USER, IMF CLOSES SCHEMA AND ALL DATA FILES
          AND RETURNS ERROR STATUS TO QU.  QU IGNORES ERROR STATUS
          AND CALLS IMF AGAIN.  IMF ABORTS QU BECAUSE SCHEMA IS CLOSED. 
          QU REPRIEVES AND CALLS IMF TO CLOSE ALL DATA FILES.  AGAIN
          IMF ABORTS QU BECAUSE SCHEMA IS CLOSED.  TO A QU USER, IT 
          APPEARS THAT QU ABORTS WITH NO DIAGNOSTIC OR REPRIEVE.
  
          SOLUTION - QU CHECKS ERROR STATUS AFTER CALL TO CEDMS89 TO
          ACTIVATE DATA BASE FILES.  QU TELLS IMF IT IS AN INTERACTIVE
          JOB (HENCE ALLOWING AN ERROR CODE OF OCMERR0010 (FILE BUSY))
          ONLY IF A USER IS TYPING AT A TERMINAL.  (QU,I=FILENAME IS NOT
          INTERACTIVE).  WHEN QU GETS FILE BUSY STATUS, IT TELLS THE
          INTERACTIVE USER AND ASKS WHETHER THE ATTACH SHOULD BE
          RETRIED.  IF NOT, THE TRANSMISSION IS TERMINATED. 
          ON RETRIEVAL QU SETS RML$RPV TRUE SO THAT 
          IMF WILL ISSUE MESSAGE LISTING ALL OPEN FILES AT START OF 
          REPRIEVE AND WILL ISSUE CLOSE MESSAGES. 
  
          THIS PSR REQUIRES THAT IMFA025 BE INSTALLED IN IMF
          MP     04/07/80    TIMFDEF, QU6000, IMFEXE, IMFRUN, QUGEN 
                             NEXTREC, SEMSMR
  
 IMQA015  PROBLEM - ITEMS DESCRIBED WITH NOTATION BIT OR BIN IN THE 
          CONCEPTUAL SCHEMA ARE NOT HANDLED CORRECTLY UNLESS THE LENGTH 
          IN BITS IS A MULTIPLE OF SIX. 
  
          SOLUTION - QU CURRENTLY ONLY SUPPORTS COBOL AND FORTRAN 
          EXTERNAL SCHEMAS.  A FORTRAN EXTERNAL SCHEMA MAY SPECIFY
          BIT N OR BIN N WHERE N IS NOT A MULTIPLE OF 6, BUT BOTH 
          FORTRAN AND QU USE A FULL WORD FOR LOGICAL (BIT) OR A FULL
          WORD FOR INTEGER (BIN), SO QU WILL ALWAYS USE CHARACTER 
          POSITION 0 FOR THESE DATATYPES.  THIS PSR ALSO CONTAINS CODE
          TO MAKE COBOL COMP ITEMS (CONCEPTUAL SCHEMA NOTATION DEC) 
          WORK CORRECTLY.  QU CORRECTLY HANDLES S AND V AS SPECIFIED
          IN THE COBOL EXTERNAL SCHEMA.  IF THE EXTERNAL SCHEMA HAS NO
          WAY TO SPECIFY A PICTURE, QU WILL USE ITS DEFAULT PICTURE FOR 
          THAT DATATYPE --
            FLOAT, FORTRAN REAL       -9(12).99 
            FLOAT, COBOL COMP-2       -9(12).99 
            BIT N, FORTRAN LOGICAL    X 
            BIN N, FORTRAN INTEGER    -9(18)
  
          THIS PSR REQUIRES IMF PSR IMFA027 TO BE INSTALLED IN ORDER TO 
          HANDLE COBOL SIGNED COMP ITEMS CORRECTLY. 
          MP     05/12/80    IMFDICT, IMFEXE, SEMPRI, SEMSMR
  
 IMQA016  PROBLEM - QU/IMF ONLY UNDERSTANDS EXPRESSIONS OF THE FORM 
              FOR CHARACTER-KEY = VALUE 
          QU/IMF RETURNS NO RECORDS FOR THE EXPRESSION
               FOR NUMERIC-KEY = VALUE
          QU/IMF OCCASIONALLY MODES OUT FOR THE EXPRESSION
               FOR TEST 
          WHERE TEST HAS BEEN SPECIFIED.
          SOLUTION - QU/IMF WILL DETERMINE IF IT IS PROCESSING AN 
          EXPRESSION THAT IT UNDERSTANDS.  IF NOT, IT WILL STOP TRYING
          TO PROCESS IT AND WILL SCAN THE ENTIRE RECORD POPULATION. 
          THIS WILL ALLOW QU TO RETURN THE CORRECT RECORDS, ALTHOUGH
          SOMETIMES INEFFICIENTLY, UNTIL A COMPLETE SOLUTION TO THE 
          PROBLEM CAN BE PROVIDED IN WHICH QU CAN HANDLE THESE OTHER
          TYPES OF EXPRESSIONS. 
          MP     03/25/80    SELPATH
  
 IMQA017  PROBLEM - FOR KEY GT (OR GE) VALUE
          SCANS ENTIRE RECORD POPULATION IN IMF DATABASE MODE BECAUSE 
          SELPATH THINKS MORE RANGES HAVE BEEN SPECIFIED THAN 
          IT CAN HANDLE.
  
          SOLUTION - WHEN CALCULATING NUMBER OF RANGES, ONLY COUNT BITS 
          IN THE PORTION OF THE WORD WHICH RANGEPTR INDICATES WAS 
          SET UP BY THIS CONDITION. 
          MP     05/05/80    SELPATH
  
 IMQA018  PROBLEM - IF KEY HAS VALUES A AND AA, *FOR KEY EQ A*
          RETURNS NO RECORDS. 
          SOLUTION - IF LITERAL IS SHORTER THAN KEY, BLANK FILL KEY 
          BEYOND LENGTH OF LITERAL. 
          MP     05/12/80    NEXTREC
  
 IMQA019  PROBLEM - CARD IMAGE SHOULD BE PRINTED IF AN ERROR OCCURS 
          DURING STORE/MODIFY/REMOVE ... FROM FILENAME IN IMF DATABASE
          MODE. 
  
          SOLUTION - ERRONEOUS CARD IMAGE IS PRINTED
          MP     05/15/80    IMFEXE 
  
 IMQA020  PROBLEM - FOR NUMERIC-KEY EQ NUMBER 
          SCANS ENTIRE RECORD POPULATION. 
  
          SOLUTION - QU ACCESSES BY NUMERIC-KEY WHENEVER
          POSSIBLE.  QU WILL CONVERT THE NUMBER TO THE
          SAME TYPE AS THE KEY AND WILL BUILD AN AUXILIARY PROGRAMSTACK 
          WITH KEY AS FIRST OPERAND, CONVERTED NUMBER AS SECOND OPERAND,
          AND OPERATOR CONVERTED TO CHARACTER TYPE OPERATOR AS OPERATOR.
          SINCE IMF SORTS ALL VALUES AS UNSIGNED BINARY NUMBER, IMF 
          DOES NOT SORT FLOATING, INTEGER, OR SIGNED NUMERIC (COMP) 
          IN THE SAME ORDER AS QU.  THEREFORE QU MUST TREAT THESE AS
          NON-KEYS FOR ALL RELATIONSHIPS OTHER THAN *EQUALS* AND
          *NOT EQUALS*. 
          MP     05/05/80    SELPATH
  
 IMQA021  PROBLEM - IN IMF DATABASE MODE, THE QU DIRECTIVE
               MODIFY USING ... MOVE VALUE TO I1 I2 ... IN
          MOVES THE VALUE TO THE FIRST AND LAST ITEMS ONLY
          BECAUSE QU INCREMENTS INDEX INTO MOVE TABLE ONLY AFTER
          PREPARING FIRST ENTRY.
  
          SOLUTION - WHEN BUILDING MOVE TABLE, INCREMENT POINTER
          AFTER PREPARING EACH ENTRY. 
          MP     05/14/80    SEMSMR, SYNGN60
  
 IMQA022  PROBLEM - INVOKE ERRORS RESULT IN MISLEADING DIAGNOSTICS: 
          1.  INVOKE ALPHA OF BETA IN GAMMA GIVES DIAG (401) KEYWORD
              -LIBRARY- MUST APPEAR AFTER THE -FROM-. 
          2.  INVOKE ALPHA OF BETA IN METADB 123 GIVES DIAG (502) 
              METADB 123- I EXPECTED AN EXTERNAL SCHEMA NAME
              FOLLOWING METADB. 
          SOLUTION
          ON ERROR 1, DIAG (519) KEYWORD -LIBRARY- OR -METADB- MUST 
          FOLLOW -IN- OR -FROM-.
          ON ERROR 2, DIAG (299) -123- IS NOT A VALID FILE NAME.
          MP     05/22/80    SYNGN05,QUGEN
  
 IMQA023  PROBLEM - IMF ISSUES DAYFILE MESSAGE *XXX WORDS USED* 
          ON EVERY QU/IMF DIRECTIVE.
          SOLUTION - QU SETS FLAG IMF$QU TRUE TO TELL IMF NOT TO
          ISSUE MESSAGE.
  
          THIS PSR ONLY AFFECTS THE QU/IMF INTERFACE. 
          IN ORDER TO INSTALL THIS PSR, QU MUST BE BUILT WITH 
          IMF AT LEVEL I7A OR HIGHER. 
  
          MP     05/22/80    IMFRUN 
  
 IMQA024  PROBLEM - IN IMF DATABASE MODE STORE/MODIFY/REMOVE ...
          FROM LFN IGNORES MRL PARAMETER FROM *FILE* CONTROL
          STATEMENT BECAUSE SEMSMR SETS FITMRL AFTER XSETFIT
          READS *FILE* STATEMENT. 
  
          SOLUTION - SEMSMR ONLY SETS FITMRL IF XSETFIT 
          HAS NOT ALREADY SET IT. 
          MP     05/23/80    SEMSMR 
  
QU3A273 - PROBLEM: ANY NUMBERIC ITEM WHICH HAS A                        000120
          DISPLAY SIZE EXCEEDING 20 DIGITS CAUSES                       000130
          GARBAGE TO BE PRINTED WHEN OUTPUT.  THIS IS                   000140
          CAUSED BECAUSE THE PROC NUMERED IS DRIVEN BY                  000150
          THE MURAL WHICH WILL HAVE CODES FOR THE NUMBER                000160
          OF DIGITS SPECIFIED BY THE PICTURE;                           000170
          HOWEVER, WHEN THE VALUE OF THE ITEM IS STORED,                000180
          ONLY TWO WORDS ARE USED SO NUMERED JUST PICKS                 000190
          UP WHATEVER IS IN THE NEXT WORD(S).                           000200
          SOLUTION:  A TEST IS PLACED IN SPEDEDE AFTER                  000210
          PROC PICTUR HAS ANALYZED THE PICTURE AND                      000220
          BUILT THE MURAL.  IF THE COUNT OF DIGITS,                     000230
          NOT INCLUDING INSERTS, IS GREATER THAN THE                    000240
          STATED MAXIMUM OF 18, THE PICTURE SIZE IS SET                 000250
          TO ZERO SO THAT THE DEFAULT MURALS WILL BE                    000260
          USED.                                                         000270
          NOTE - THIS RESTRICTION EVEN APPLIES TO                       000280
                 DOUBLE PRECISION WORDS WHICH IS NOT                    000290
                 CONSISTENT WITH THE STATED MAXIMUM OF                  000300
                 29 DIGITS.                                             000310
          MLB     80/05/16    SPEDEDE,DIAGTEXT,QUGEN                    000320
 QU3A449  PROBLEM - EVALUATING *NOT* OF A COMPOUND CONDITION FAILS
                    WHEN A KEY IS INVOLVED. 
          SOLUTION - WHEN *NOT* OF A LOGICAL OPERATOR IS ENCOUNTERED, 
                     FORCE A FILE PASS. (LACKING TIME AND PRIORITY FOR
                     A COMPLETE SOLUTION.)
          EMV    04/07/80    EXPEVAL
  
 QU3A453  PROBLEM - QU3.3 FAILED TO ISSUE DIAG 142 WHEN THE -INSERT 
          USING- DIRECTIVE WAS SPECIFIED WITHOUT USING THE PRIMARY KEY. 
          SOLUTION - ADDITIONAL -BEGIN- AND -END- STATEMENTS HAVE BEEN
          INSERTED IN THE ROUTINE *FONDKEY* WITHIN PROC *DELUPSYN* IN 
          ORDER TO MAKE THE NESTED -IF- STATEMENTS WORK PROPERLY. IN
          ADDITION, THE HELP TEXT FOR DIAG 142 HAS BEEN CHANGED TO READ 
          MORE CLEARLY. 
          NCP    80/02/26    DELUPSYN, DIAGTEXT, QUGEN
  
 QU3A455  PROBLEM - *STORE* WITHOUT PARAMETERS WAS DIAGNOSED ON AK FILE 
                    WHEN IT SHOULD BE ALLOWED.
          SOLUTION - CHECK FILE ORGANIZATION FOR AK BEFORE ISSUING
                     INSUFFICIENT PARAMETER DIAGNOSTIC. 
          EMV    03/11/80    DELUPSYN 
  
 QU3A456  PROBLEM - WHEN *DB$INQ* OR *DB$INV* WAS CALLED TO CHANGE THE
          CORRESPONDING CDCS ENTRY POINT NAME AND CHECK FOR AN
          UNSATISFIED EXTERNAL, THE A1 REGISTER WAS OVERWRITTEN WHICH 
          WIPED OUT THE ADDRESS TO THE PARAMETER LIST. AS A RESULT, QU
          MODED OUT.
          SOLUTION - ALL REFERENCES TO THE A1 REGISTER HAVE BEEN CHANGED
          TO REFERENCE THE A2 REGISTER. IN ADDITION, *CDCSREQ* HAD TO BE
          DEFINED AS A ENTRY POINT NAME IN *QU2000* AND *QU5000*, AND A 
          RETURN JUMP TO *QU.LNK* HAS BEEN ADDED TO *QU2000* IN ORDER TO
          LINK UP THE ALTERNATE CAPSULE LIST. 
          NCP    80/03/03    CHNGEPT, QU2000, QU5000
  
 QU3A458  PROBLEM - FOR THE FIRST RECORD SAVED BY EACH *STORE SETTING*
                    DIRECTIVE, KA IS NOT SET, CAUSING CRM TO THINK THE
                    KEY"S VALUE IS 0. 
          SOLUTION - POSITION *RECORD* AND *KEY* IN *STORSET* BEFORE
                     THE FIRST CALL TO *KEYTOKA*. 
          EMV    03/13/80    CTL40,CTL50
  
 QU3A459  PROBLEM - THE *OS* DIRECTIVE WILL RE-INVOKE CDCS AFTER IT HAS 
                    RE-LOADED QU, BUT IT NEGLECTS TO RESET ANY ACCESS 
                    KEYS THAT HAD BEEN PREVIOUSLY GIVEN.
          SOLUTION - SAVE THE VALUE OF THE ACCESS KEY GIVEN FOR EACH
                     AREA AND RESET THEM AFTER CDCS HAS BEEN INVOKED. 
          EMV    03/21/80    OSINIT,PRIVACY,TAREATB 
  
 QU3A460  PROBLEM - *PW=0* IN CALL TO QU IS NOT DIAGNOSED BUT PLACES QU 
                    IN A LOOP.
          SOLUTION - AFTER THE *PW* VALUE IS DETERMINED, CHECK FOR 0 AND
                     DIAGNOSE.
          EMV    03/21/80    INITIAL
  
 QU3A466  PROBLEM - MANY PROBLEMS EXIST IN *RM$BLP*, THE ALTERNATE KEY
                    PROCESSING ROUTINE, WHICH MAY RESULT IN UNNECESSARY 
                    FILEPASSES OR EVEN FAILURE TO FIND RECORDS WHICH
                    SATISFY THE QUERY.
          SOLUTION - REWRITE THE SECTIONS OF *RM$BLP* WHICH HANDLE
                     OVERFLOW SCRATCH FILES SO FILEPASS WILL NOT OCCUR, 
                     AND MAKE OTHER CORRECTIONS WHICH WILL SOLVE OTHER
                     PROBLEMS AT THE SAME TIME.  ALSO STREAMLINE THE
                     PROC BY DELETING REFERENCES TO OPTIONS NO LONGER 
                     SUPPORTED. 
          EMV    05/20/80    IFKEY,NEXTGET,RM$BLP 
  
 QU3A467  PROBLEM - AN *OS* DIRECTIVE WITH THE TRACE OPTION IN EFFECT 
                    HANGS QU. 
          SOLUTION - IN *OSACC* CHECK FOR NON-EXISTANT CATALOG AND AREA 
                     BEFORE CHECKING TABLES FOR ACCESS KEY. 
          EMV    04/29/80    OSINIT 
  
 QU3A468  PROBLEM - OVCAP *CDCSREQ* TRIES TO SATISFY THE ENTRY POINT
                    FOR *RTNSSCM* FROM DMSLIB WHEN IT SHOULDN-T.
          SOLUTION - IN QUGEN, SPECIFY *OMIT RTNSSCM* UNDER *CDCSREQ* 
                     SO THAT IT REMAINS AN UNSATISFIED EXTERNAL.
         EMV    05/19/80    QUGEN 
  
 QU3A470  PROBLEM - FOR THE FOLLOWING QU DIRECTIVES 
               IF INTEGER-ALTERNATE KEY EQ NON-INTEGER-VALUE
               IF FLOATING-ALTERNATE KEY EQ NON-FLOATING-VALUE
          QU DOES NOT PERFORM CONVERSIONS CORRECTLY AND GETS EITHER 
          NO RECORDS QUALIFIED OR DOES FULL FILEPASS. 
  
          SOLUTION - CONVERT LITERAL TO SAME TYPE AS KEY IF ORIGINAL
          PROGRAMSTACK REQUIRED NO CONVERSION FOR KEY BUT 
          CONVERSION FOR LITERAL.  CONVERT TABLE POINTS TO ATTRIBUTE
          TABLE IF KEY IS INTEGER.
          MP     05/16/80    IFKEY
  
 QU3A475  PROBLEM - *STORE MOVE* OF LITERAL TO KEY GIVES ERRONEOUS
                    DUPLICATE KEY DIAGNOSTIC (800). 
          SOLUTION - SET LOCATION OF BASED ARRAYS *RECORD* AND *KEY*
                     BEFORE CALLING *KEYTOKA* TO MOVE KEY VALUE FROM
                     RECORD TO KEY ARRAY. 
          EMV    6/16/80     CTL40,CTL50
  
 QU3A489  PROBLEM - MODE 1 WHEN EVALUATING
               IF NOT LOGICAL-VALUE 
          BECAUSE QU REACHES OUTSIDE ITS CMM BLOCK TO GET 2ND 
          OPERAND ALTHOUGH OPERATOR *NOT* ONLY HAS ONE OPERAND. 
          SOLUTION - QU ONLY GETS ONE OPERAND FOR THE OPERATORS 
          *NOT* AND *UNARY MINUS*.
          MP     06/10/80    EXPEV
  
 QU30436  PROBLEM - WHEN A STAND-ALONE *IF* CONDITION REFERENCED A
          TEMPORARY DATA-NAME, THE NEXT TRANSMISSION WAS EXECUTED 
          WITHOUT CHECKING FOR A PRECEDING *IF* CONDITION.
          SOLUTION - THE SYNTAX ROUTINE *STARTSYNTAX* HAS BEEN CHANGED
          TO CHECK FOR A CONTINUING TRANSMISSION FROM A FALSE *IF*
          CONDITION. CONSEQUENTLY, THE PROCS *CHKIFLG* AND *CLRNEXT*
          WERE CREATED AND THE PROC *SETNEXT* WAS CHANGED.
          NCP    80/04/07    IFSYN, SUB00, SYMPL00, SYNGN00, SYNTAX 
  
 QU3A494  PROBLEM - A FALSE *IF* ON A TEMPORARY CONDITION CAUSES THE
                    NEXT TRANSMISSION TO BE IGNORED, REGARDLESS OF
                    WHETHER THE *IF* WAS THE LAST DIRECTIVE IN ITS
                    TRANSMISSION OR NOT.
          SOLUTION - REWRITE THE SYNTAX SECTION FOR *IF* SO THAT THE
                     NEXT TRANSMISSION IS SKIPPED ONLY IF THE FALSE *IF*
                     WAS THE LAST DIRECTIVE IN ITS TRANSMISSION.
          EMV    06/19/80    SYNGN00,SYNGN06
  
 QU3A500  PSR IMFA034 REMOVED THE RESTRICTION THAT A SYMBOLIC EXTERNAL
          SCHEMA COULD ONLY HAVE 64 RECORDS AND A TOTAL OF 1024 RECORDS 
          PLUS DATA ITEMS PLUS COSETS PLUS ACCESS PATHS.  IN SO DOING 
          IT MODIFIED THE FORMAT OF THE SYMBOLIC SUBSCHEMA TABLE, THUS
          CREATING AN INCOMPATIBILITY BETWEEN QU AND IMF. 
  
          SOLUTION - QU ALSO MODIFIES THE FORMAT OF THE SYMBOLIC
          SUBSCHEMA TABLE.  IT CHECKS FOR ERROR 36B FROM IMF WHICH
          MEANS THE SYMBOLIC SUBSCHEMA TABLE COULD NOT BE FOUND WHICH 
          PROBABLY MEANS EXTERNAL SCHEMA WAS INITIALIZED WITH AN
          INCOMPATIBLE VERSION OF IMF.  IN THIS CASE QU ISSUES
          DIAGNOSTIC 503, EXTERNAL SCHEMA INITIALIZED BY
          INCOMPATIBLE VERSION OF IMF.
          TO USE THIS EXTERNAL SCHEMA, THE USER NEED ONLY USE THE 
          -INITIALIZE SYMBOLIC EXTERNAL- FUNCTION OF THE
          -IMF,UTILITY- CONTROL STATEMENT USING THE COMPATIBLE VERSION
          OF IMF. 
  
          THIS PSR REQUIRES THAT QU BE BUILT WITH IMF WITH IMFA034
          INSTALLED.
          MP     07/14/80    TIMF, EXHAPCS, EXHIMFN, IMFDICT, 
                             IMFINVC, IMFRUN, SEMINV, QUGEN 
  
 QU30437   PROBLEM: AN IF DIRECTIVE COMPARING A NUMERIC                 000120
           PRIMARY KEY AND A NUMERICALLY DEFINED ITEM,                  000130
           SEARCHES THE ENTIRE FILE INSTEAD OF GETTING                  000140
           JUST THE ONE RECORD.  THIS OCCURS BECAUSE A                  000150
           TEST IS MADE IN EXPEVAL FOR THE COMPARED ITEM                000160
           BEING CONVERTED TO OR BEING FLOATING POINT.                  000170
           THIS TEST IS ONLY FOR INTEGER TO FLOATING POINT.             000180
           SOLUTION:  CHANGE THE TEST IN EXPEVAL TO CHECK               000190
           FOR CONVERSION OF TYPE 1 (NUMERIC) TO FLOATING               000200
           POINT IN ADDITION TO THE EXISTING TEST FOR                   000210
           INTEGER TO FLOATING POINT.                                   000220
           MLB    80/04/15     EXPEVAL                                  000230
 QU30445  PROBLEM - ON THE *NOS* OPERATING SYSTEM, STORING AN UNKNOWN 
                    PARAMETER OF LESS THAN 7 CHARS INTO THE DIAGNOSTIC
                    MESSAGE STORES A BINARY ZERO, CUTTING OFF THE REST
                    OF THE MESSAGE. 
          SOLUTION - STORE ONLY THE VALID CHARACTERS OF THE UNKNOWN 
                     PARAMETER INTO THE MESSAGE.
          EMV    03/28/80    INITIAL
  
 *L538*    ************************************************ 
 QU3*81   UPDATE THE COPYRIGHT INFORMATION TO 1981. 
          EMV    08/18/80    COPYRHT
  
 F9180A   ADD ABILITY TO HANDLE FORTRAN 5 EXTERNAL SCHEMA.
          ADD ABILITY TO HANDLE DOUBLE AND COMPLEX DATA TYPES IN
          FORTRAN 4 AND FORTRAN 5 EXTERNAL SCHEMAS. 
          MP     09/24/80    EXHIMFN, IMFDICT, SEMSMR 
  
 QU3A263  PROBLEM - POOR DIAGNOSIS OF MISSING *AND* IN A REPORT *MOVE*
          DIRECTIVE OF MULTIPLE EXPRESSIONS.
          SOLUTION - INSERT CODE TO ISSUE A DIAGNOSTIC CONTAINING 
          INFORMATION CONCERNING THE INVALID MOVE 
          EMV    10/16/80    DIAGTEXT,SYNGN03,SYNGN07,SYNGN60 
  
QU3A434 - PROBLEM: A *USE,EVALUATE,USE EVALUATE* SEQUENCE 
          CAUSES A MODE ERROR.  THIS HAPPENS BECAUSE THE
          DEFINE LIST IS NOT CLEARED AT THE TIME OF THE NEW USE 
          BUT BECAUSE THE NAMES MAY BE LEGITIMATE, THE LIST 
          IS USED EVEN THOUGH THE ADDRESSES MAY BE WRONG. 
          SOLUTION: IN CUVSYN A PROCEDURE, FTTS, IS 
          CALLED TO REMOVE ANY LEFT OVER AREA TABLES. 
          THIS PROCEDURE HAS BEEN MODIFIED SO THAT THE
          DEFINE CHAIN IS SCANNED AND ANY AREA ITEMS ARE
          REMOVED FROM THE CHAIN.  ADDITIONS HAVE ALSO BEEN 
          MADE SO THAT THE CHAIN IS CLEANED UP IN *RETURN*
          PROCESSING; IF THE SUBSCHEMA IS RETURNED, ALL AREA
          ITEMS ARE REMOVED FROM THE CHAIN; IF A RELATION OR
          AREA IS RETURNED, ONLY THE ITEMS FOR THE NAMED AREAS
          ARE REMOVED FROM THE DEFINE CHAIN.
          MLB    07/24/80    CUVSYN,RETSYN
 QU3A434A PROBLEM - CORRECTION CODE FOR PROC RTNCMAREA USED 
          VARIABLES *THISENTRY* AND *LASTENTRY*.  PROC RETRELN USED 
          THE SAME VARIABLES AND CALLS RTNCMAREA CAUSING THE VALUES 
          OF THESE VARIABLES TO BE CHANGED.  RESULT: MODE 1 ERROR.
          SOLUTION - CHANGE RTNCMAREA TO USE DIFFERENT VARIABLES. 
          MLB    80/10/05    RETSYN 
  
QU3A462 - PROBLEM:  IF A FILE IS ATTACHED OUTSIDE QU WITH THE *M* 
           PARAMETER, QU IS UNABLE TO ATTACH THE FILE.
           SOLUTION:  ADD CODE TO *ATTACH* PROCEDURE TO CHECK IF
           FILE CREATED WITH *M* PARAMETER AND IF SO CHANGE THE 
           FET TO REQUEST THE PROPER TYPE OF READ (MODIFY WORKED
           OK). 
           MLB     08/04/80     CUVSYN,CTL30,CTL40,USE,USECRM 
                                USECDCS,CALLBLP 
  
 QU3A469  PROBLEM - *ONCE* PROCESSING WITH MORE THAN ONE DETAIL FORMAT
          IN A BLOCK CAN LEAD TO BLANKS (55B) BEING WRITTEN IN MEMORY 
          BEYOND THE PAGE BUFFER. THE PROCESSING ASSUMES THAT ALL 
          DETAIL LINES SINCE THE LAST NON-DETAIL LINE (I.E., ALL DETAIL 
          LINES IN THE BLOCK) ARE OF THE SAME (LAST ENCOUNTERED)
          FORMAT. ACCESS TO DETAIL OCCURRENCES IN THE BLOCK IS DONE 
          BY ASSUMING ALL DETAILS WERE OF THE SAME LENGTH AS THE LAST,
          AND CALCULATING THE PRODUCT OF THE NUMBER-OF-DETAILS AND
          THE LENGTH-OF-LAST-DETAIL. IF THERE WERE 40 DETAILS OF ONE
          LINE EACH, AND A FINAL DETAIL OF 20 LINES, THE PROCESSING 
          WOULD TRY TO COMPARE FIELDS IN EACH OF 41 DETAILS OF 20 
          LINES EACH. THE *ONCE* PROCESSING OF THE PAGE BUFFER PORTION
          IS LIKELY TO BE INCORRECT, BUT THE COMPARISONS BEYOND THE 
          END OF THE PAGE BUFFER COULD LEAD TO BLANKS BEING INSERTED
          IF ANY MATCHING FIELDS WERE FOUND.
          SOLUTION - THE CURRENT PROCESSING CANNOT CLEANLY HANDLE 
          MULTIPLE DETAIL FORMATS WITHIN A BLOCK, BUT IT IS DOCUMENTED
          AND DIAGNOSED (DIAG 612). THIS CODE MERELY PREVENTS *PAGE*
          FROM EXTENDING ITS *ONCE* PROCESSING PAST THE END OF THE
          PAGE BUFFER.
          CFR    80/04/02    PAGE 
  
 QU3A476  PROBLEM - THE MODIFY DIRECTIVE GIVES A                        000120
          CONFUSING DIAGNOSTIC IF THE ITEM TO BE MODIFIED               000130
          IS A TEMPORARY ITEM.                                          000140
          SOLUTION - TEST THE ITEM BEFORE TESTING FOR THE               000150
          PRESENCE OF AN AREA.                                          000160
          MLB    06/17/80    DELUPSYN                                   000170
  
 QU3A477  PROBLEM - IMF INVOKE DOES NOT CLEAR OUT UN/ID FROM            000120
          PREVIOUS INVOKE.                                              000130
          SOLUTION - SET PRYPFID TO ZERO AT START OF INVOKE.            000140
          MLB    06/17/80    SEMINV                                     000150
QU3A480 - PROBLEM:  IMFQU DID NOT PRESET THE RECORD AREAS TO
          NULL VALUES BEFORE THE STORE OF A RECORD.  AS A RESULT
          A PRINT OF UNSTORED FIELDS PRODUCED GARBAGE.
          SOLUTION:  A PROCEDURE, SETNULL, HAS BEEN ADDED TO
          IMFEXE.  THIS PROCEDURE CHECKS EACH FIELD; IF THE 
          FIELD DESCRIPTION IS NUMERIC THEN ZEROS ARE 
          STORED.  DISPLAY FIELDS ARE PRESET TO SPACES. 
          MLB     80/06/26    IMFEXE
  
 QU3A487  PROBLEM - THE *HELP* TEXT FOR THE *UNIVERSAL* DIRECTIVE 
                    NEEDS A CORRECTION. 
          EMV    07/23/80    QUGEN
  
  QU3A493      PROBLEM - QU/IMF DIAGNOSTICS ARE MISSING THEIR 
                         CORRESPONDING HELP TEXT. 
                         NON-APPLICABLE DIAGNOSTICS ARE PRESENT.
              SOLUTION - INSERT PROPER HELP TEXT. 
                         DELETE INVALID DIAGNOSTICS.
              BAB    80/09/16     HISTORY,DIAGTEXT,QUGEN
  
 QU3A497  PROBLEM - INCORRECT BEFORE IMAGE ON LOG FILE ON 
               IF ALT-KEY EQ VALUE UPDATE MOVE ...
          BECAUSE NEXTGET CALLS BEFIMAGE WITH ADDRESS OF KEY
          AREA INSTEAD OF ADDRESS OF WORKING STORAGE AREA.
          SOLUTION - NEXTGET ALWAYS CALLS BEFIMAGE WITH ADDRESS OF
          WORKING STORAGE AREA. 
          MP     06/24/80    NEXTGET
  
 QU3A501  PROBLEM - QU ONLY ALLOWS 63 ACCESS PATHS BECAUSE FIELD
          KEYID WITHIN ARRAY PROGRAMSTACK IS 6 BITS LONG. 
          SOLUTION - FIELD KEYID IS 12 BITS LONG. 
          MP     07/18/80    TPSTACK, EXPANAL, SELPATH
  
 QU3A503  PROBLEM - ON A QUERY CONTAINING BOTH A PRIMARY AND AN 
                    ALTERNATE KEY, BLP PROCESSING IS USED, TAKING AN
                    UNREASONABLE LENGTH OF TIME IN A WORST CASE 
                    SITUATION.
          SOLUTION - WHEN BOTH THE PRIMARY AND ALTERNATE KEYS EXIST 
                     IN A SINGLE QUERY, RETRIEVE BY PRIMARY RATHER
                     THAN ALTERNATE KEY.
          EMV    08/07/80    CDCSGET,IFKEY,NEXTGET
  
QU3A504 - PROBLEM: WHEN THE PW OPTION WAS USED TO 
          CHANGE THE PASSWORD, THE FILE COULD NOT BE ATTACHED.
          SOLUTION:  CORRECT THE SUBSCRIPT SO THAT THE
          PASSWORD IS STORED IN THE CORRECT LOCATION IN 
          THE PFTABLE.
          MLB    08/04/80     MODPFP
  
QU3A507 - PROBLEM:  COMPARISON OF UNEQUAL LENGTH FIELDS FAILS           000120
          WITH QU-IMF.                                                  000130
          SOLUTION: CORRECT DECLARATION OF LENGTH FIELD IN              000140
          COMPARE MODULE.                                               000150
          MLB         08/26/80   COMPARE                                000160
                                                                        000170
 QU3A508  PROBLEM - QU ABORTS WHEN HANDLING A RECORD WITHOUT AN 
                    ACCESS PATH SPECIFIED IN ITS EXTERNAL SCHEMA. 
          SOLUTION - ISSUE AN ERROR MESSAGE AND RETURN COMMAND TO 
                     THE USER.
          BAB    80/09/30    DIAGTEXT,QUGEN,NEXTREC 
  
 QU3A510  PROBLEM - PSR IMFA050 CHANGES THE WAY IMF PASSES THE
          DECIMAL POINT LOCATION TO QU. 
          SOLUTION - QU WILL EXPECT FIELD DFMI2 TO CONTAIN
          THE NUMBER OF CHARACTER POSITIONS THE DECIMAL POINT IS
          LOCATED TO THE LEFT OF THE RIGHT END OF THE FIELD.
          MP     10/07/80    IMFDICT
  
QU3A514 - PROBLEM: CALLS TO COMDECKS ARE TERMINATED 
          WITH ; (SEMI-COLON).  UPDATE NO LONGER ACCEPTS THIS 
          FORMAT OF THE CALL STATEMENT. 
          SOLUTION- CHANGE CALLS TO COMDECKS. 
          MLB    10/27/80    CDCSGET,NEXTGET
  
QU30434 - PROBLEM: THE FIRST LINE OF VERTICAL SECTIONS
          OR THE FIRST LINE AFTER A BREAK, WERE THE SAME AS 
          HORIZONTAL SECTIONS;  THE HEADING DID NOT APPEAR
          ON THE REPORT; THE REPORT TERMINATED WITH EITHER A
          MODE ERROR OR CMM OUT OF RANGE ERROR. 
          SOLUTION:  THE PAGE PROCEDURE DID NOT PROPERLY
          HANDLE LINE NUMBERS IN ALL CASES.  THIS CAUSED
          LINES TO BE OVERLAID.  TESTS WERE ADDED TO THE
          PROCEDURE TO MAKE CERTAIN THAT THE LAST LINE
          COUNTER WAS ALWAYS THE GREATEST LINE NUMER ON THE 
          PAGE AND THAT THE DETAIL LINE WAS ALWAYS GREATER
          THAN THE NON-DETAIL LINES.
          MLB   80/06/03   PAGE 
 *L554*    ************************************************ 
 QU3A463  PROBLEM - NUMERIC PRIMARY MAJOR KEY NOT 
                    RECOGNIZED AS NUMERIC.
          SOLUTION -PASS KEYTYPE FROM ATTRIBUTE TABLE 
                    INTO THE FIT BEFORE EXECUTION OF GET
                    BY MAJOR KEY. 
          BAB    80/11/07    CTL40,CTL50,QU4000,QU5000,USINGEX
  
 QU3A474  PROBLEM - MODE ERROR ENCOUNTERED AS A RESULT OF 
                    ERROR CODE 207 WHILE PERFORMING A 
                    DISPLAY....MOVE STATEMENT INVOLVING DESCRIBED 
                    ITEMS.
          SOLUTION- IGNORE REST OF TRANSMISSION AS
                    A RESULT OF ERROR CODE 207. 
          BAB    80/10/23    SYNGN06
  
QU3A491 - PROBLEM: WHEN *MASK* USED IN AN IF STATEMENT
          THE RESULTS WERE UNPREDICTABLE.  THIS IS THE
          PROBLEM AS STATED ON THE PSR; ACTUALLY THERE WERE 
          TWO PROBLEMS: ONE WAS THE MALFUNCTION OF *SAME* 
          AND THE OTHER THAT MASKS USED IN A COMPARISON 
          WHEN THE SUBSCRIPT WAS *ANY* DID NOT WORK.
          SOLUTION: TESTS WERE ADDED TO EXPEVAL SO THAT IF
          A MASK OPERATOR WAS COMBINED WITH *ANY* AS THE
          SUBSCRIPT, THE ENTIRE PROGRAM STACK WOULD BE
          REPEATED UNTIL ALL SUBSCRIPTS HAD BEEN PROCESSED. 
          TO CORRECT THE *SAME* PROBLEM, THE *ALL* AND *ANY*
          FLAGS WHICH WERE SET IN DATANAM WERE SAVED AND
          RESTORED AFTER EXHAUSTING THE SUBSCRIPTS. 
          MLB    11/11/80    EXPEV
  
 QU3A519 -PROBLEMS DURING STORE IN A CHARACTER FIELD, 
          IF NOT ENOUGH CHARACTERS ARE INPUT TO COMPLETELY FILL 
          THE FIELD, BINARY ZEROS ARE USED AS PADDING 
          SOLUTION - SET THE NUMBER OF CHARACTERS TO BE MOVED 
          TO THE LENGTH OF THE INPUT RATHER THAN TO FIELD 
          LENGTH. 
          MLB    12/19/80    IMFEXE 
  
 QU3A522  PROBLEM - MODE ERROR OCCURS WHEN SWITCHES SET IN RA+0 
                    BECAUSE BASED ARRAY -DESPTR- POSITIONED TO 0
                    OR THE RESULT FIELD ADDRESS IS ABSOLUTE 
                    IN -MOVEXE-, AND THEREFOR BASED ARRAY -ANYTABLE-
                    IS POSITIONED TO 0. 
          SOLUTION - INSERT CHECK FOR 0 BEFORE POSITIONING BASED ARRAY
                     -LFNINFO- (HENCE -DESPTR-) AND -ANYTABLE-. 
          BAB    02/06/81    DATANAM,MOV40
  
 QU3A522A PROBLEM - FOUND ANOTHER INSTANCE OF AN UNINTENTIONAL REFERENCE
                    TO RA+0 CAUSING A MODE ERROR WHEN SWITCHES SET. 
          SOLUTION - FIXIT. 
          EMV    03/24/81    USECRM 
  
 QU3A534  PROBLEM - WHEN *INVOKE* NAMED THE SUBSCHEMA CURRENTLY IN USE, 
                    THE RELATION TABLES WERE RELEASED BUT NOT THE 
                    LATEST *VIA*, WHICH POINTED TO THEM.
          SOLUTION - SET *VIAPOINT* TO ZERO WHEN THE RELATION TABLES
                     ARE RELEASED.
          EMV    04/01/81    USECDCS,USECRM 
  
 QU3A535  PROBLEM - IF PROCESSING BY INTEGER KEY QU ABORTS
                    BECAUSE THE RANGE STACK POINTER HAS NOT BEEN RESET. 
          SOLUTION- RESET THE RANGE STACK AFTER EXTRACTING DATA FROM THE
                    PROGRAM STACK.
          BAB    04/16/80    RGTABLE
  
 QU3A536  PROBLEM - UPDATE NO LONGER IGNORES INVALID CHARACTERS ON
                    ITS DIRECTIVES. THE *RPTEVAL* DECK CARD ENDS WITH A 
                    SEMI-COLON, WHICH IS NOW INCLUDED IN THE DECK NAME. 
          SOLUTION - REMOVE THE SEMI-COLON. 
          EMV    04/16/81    RPTEVAL
  
 QU30476  PROBLEM - *WRITE UPON* DOES NOT DESCRIBE THE FILE 
                    CORRECTLY IF THE DATA NAME IS IDENTIFIED BY 
                    ITS RECORD. (WRITE UPON ....OF...). 
          SOLUTION -ALTER THE *WRI$AS* PROCEEDURE TO TAKE THE 
                    DATA NAME FROM THE ARRAY FIELDN IF IT HAS 
                    BEEN QUALIFIED BY ITS RECORD. 
          BAB    80/11/20    SEMPRI 
  
 QU30477  PROBLEM - IF THE TITLE LINE IS COMPRISED OF AN
                    EXPRESSION, THE LENGTH OF THE TITLE OUTPUT IS 
                    TRUNCATED TO THE LENGTH OF THE EXPRESSION IN
                    THE FOOTING OR HEADING LINE WHICH IMMEDIATELY 
                    FOLLOWS.
          SOLUTION -SINCE HEADING AND FOOTING ARE PROCESSED IN
                    A DIFFERENT OVERLAY THAN TITLE, THE INCREMENT ITEM
                    MUST BE PLACED IN COMMON IN ORDER TO RETAIN ITS VALUE.
          BAB    81/1/7    ISEXPR,TREPORT 
  
 QU30486  PROBLEM - QU GETS ASSEMBLY ERRORS ON A 63 CSET SYSTEM.
          SOLUTION - CHECK FOR *IP.CSET* EQUAL TO A COMBINATION OF
                     *IP.C63* AND *IP.C64.1* OR *IP.C64.2*, AS
                     SPECIFIED BY THE NEW INSTALLATION PROCEDURES.
          EMV    02/23/81    SEQTBL 
  
 F2545BA  GENERAL - THIS FEATURE CODE IS TO SUPPORT A NEW FUNCTION
                    IN CDCS, DATABASE VERSIONS. THE USER MAY NOW SPECIFY
                    DIFFERENT SETS OF FILES WHICH CONFORM TO THE SAME 
                    SUBSCHEMA.
          BAB    81/01/28    CHNGEPT,CUVSYN,DIAGTEXT,OSINIT,POINTERS, 
                             QUGEN,QU0100,QU0500,SUB05,SYMPL05,SYNGN05, 
                             USECDCS
  
 F2545BB
          GENERAL - THE QU/IMF USE OF -VIA- TO DENOTE THE ACCESS
                    PATH CONFLICTS WITH THE QU/CRM AND QU/CDCS
                    USE TO SPECIFY A RELATION.  THEREFORE, -VIA-
                    IN QU/IMF SHALL BE REPLACED BY THE NEW DIRECTIVE
                    -FOLLOW-.  IN ADDITION, -FOLLOW- SHALL NOW STORE
                    THE ACCESS PATH UNTIL THE USER WISHES A NEW PATH
                    OR QU/IMF TO DETERMINE THE ROUTE. 
          BAB    02/20/81    TIMF,IMFTBL,LEXID,SUB60,SYMPL60,IMFDICT
                             SYNGN01,SYNGN01,SYNGN03,SYNGN04
                             SYNGN05,SYNGN06,SYNGN07,SYNGN10
                             SYNGN11,SYNGN12,SYNGN13,SYNGN14
                             SYNGN15,SYNGN16,SYNGN60,SYNGN77
                             DIAGTEXT,QUGEN,QU0100,NAVICHK,SEMPRI 
  
 F2545MA  PROBLEM - INCREASE THE SIZE OF THE PROGRAM STACK
          TO REMOVE LIMITS ON THE SIZE OF EXPRESSIONS AND TO
          ALLOW JUMP LOCATIONS FOR EXPRESSION OPTIMIZATION. 
  
          SOLUTION - AS THE STACK IS BUILT IN EXPANAL, LINKED 
          BLOCKS OF ENTRIES ARE USED TO BUILD A TEMPORARY STACK.
          EACH ENTRY NOW CONSISTS OF FOUR WORDS.  AFTER THE 
          TEMPORARY STACK IS BUILT AND THE FINAL SIZE IS KNOWN, 
          THE STACK IS COPIED INTO A GLOBAL MEMORY LOCATION.
          ALL PROCEDURES USING THE PROGRAM STACK MUST BE CHANGED
          TO REFLECT THE NEW ENTRY SIZE.
          MLB    10/16/80    BREAK       CDCSGET
                             COMPARE     COMPILE
                             CTL40       CTL50
                             CUMFUNC     EXPANAL
                             EXPEV       EXPEVAL
                             IFKEY       MOVEVAL
                             NEXTGET     NEXTREC
                             QU0100      REP7100
                             RETSYN      RGTABLE
                             RPTEVAL     SELECT 
                             SELPATH     STKSCAN
                             TPSTACK     VERIFY 
                             WHERE
  
 F2545MB  PROBLEM: WHEN EXPRESSIONS ARE EVALUATED, THE ENTIRE 
          EXPRESSION STACK IS PROCESSED REGARDLESS OF RESULTS.
          THEREFORE, EVEN IF THE FIRST EXPRESSION OF A CONDITION IS 
          FALSE AND THE LOGICAL OPERATOR IS *AND* THE REMAINING 
          EXPRESSIONS ARE EVALUATED USING RESOURCES NEEDLESSLY. 
  
          SOLUTION:  SET FLAGS FOR SKIPPING ON TRUE OR FALSE AND
          A POINTER TO THE NEXT ENTRY TO BE PROCESSED IN EXPANAL. 
          IN EXPEVAL CHECK THESE POINTERS AND FLAGS AND SKIP IF 
          THE RESULTS INDICATE. 
          MLB    11/12/80    EXPANAL,EXPEV
  
 F2545MC  CPSR9:  
          *USINGEX* MUST BE REWRITTEN TO ACCOMMODATE IMF
          MODE AND TO IMPROVE ITS STRUCTURE AND MAINTAINABILITY.
          MLB    03/03/81    QU4000,QU5000,USINGEX
  
 F2545BC GENERAL - TO ESTABLISH UNIFORM SYNTAX FOR THE QU/IMF 
                   USER, THE -EVALUATE- DIRECTIVE WILL BE MADE
                   AVAILABLE. 
         BAB    04/01/81    QUGEN,SYNGN03,SYNGN07,SYNGN60,SUB60,SYMPL60 
                            CKOVLY,DATANAM,DELUPSYN,EXPANAL 
                            IMFDICT,IMFEXE,NAVICHK,POINTERS,SEMPRI
                            SPEDEDE,STKSCAN,STX00,TPSTACK,WHERE 
  
 F2545EA  CPS R9: 
          AS PRELIMINARIES TO REPLACING -PRINT/WRITE- WITH
          -DISPLAY/EXTRACT-, MAKE THE FOLLOWING MODIFICATIONS:  
          A) CHANGE -DISPLAY- TO ACCEPT RENAMING AND GENERATE 
             A DIRECTORY TO THE -UPON- FILE.
          B) EXTEND -EXTRACT- AND THE -DISPLAY- DIRECTORY TO ACCEPT 
             TEMPORARY ITEMS, LITERALS, AND EXPRESSIONS.
          C) CORRECT THE HANDLING OF REPEATING GROUPS BY -EXTRACT-. 
          EMV    12/09/80    DIAGTEXT,DISPLAY,EXTRACT,EXTRACTM,LEXID, 
                             QUGEN,SPEDEDE,SUB06,SYMPL06,SYNGN06,TEXPRES
                             (CTL30,CTL40,CTL50)
  
 QU3A541  PROBLEM - PRIOR TO THE R0A RELEASE, NOS WOULD NOT ALLOW 
                    CDCS TO BE RUN INTERACTIVELY. 
          SOLUTION - SINCE NOS HAS BEEN FIXED TO ALLOW INTERACTIVE
                     CDCS USAGE, QU WILL NO LONGER TRAP AND ABORT 
                     ON ITS OCCURRENCE. 
          EMV    05/11/81    USECDCS
  
 F2545EB  CPS R9: 
          THIS IDENT PERFORMS THE ACTUAL REPLACEMENT OF PRINT/WRITE WITH
          DISPLAY/EXTRACT.  IT ALSO IMPLEMENTS THE CAPABILITY TO STRING 
          MULTIPLE IMF DIRECTIVES IN ONE TRANSMISSION.
          EMV    04/20/81    CTL30,CTL40,CTL50,DIAGTEXT,DISPLAY,
                             EXTRACT,EXTRACTM,IMFDICT,IMFEXE(CTL60),
                             IMFTBL,LEXID,NEXTREC,QUGEN,QU6000, 
                             SEMPRI,SEMSMR,SETDISFRO,SUB00,SUB06, 
                             SUB07,SUB60,SYMPL00,SYMPL06,SYMPL07, 
                             SYMPL60,SYNGN60,TDTABLE,WHERE
                             (SYMPL01.SYMPL77,SYNGN01.SYNGN77)
  
          PROBLEM - THE *FOR DATABASE* CLAUSE IS NOT RECOGNIZED IF
                    THE *INVOKE* OR *VERSION* DIRECTIVE DOES NOT
                    SPECIFY PERM FILE PARAMETERS. 
          SOLUTION- CHECK TO SEE IF A *DATABASE* CLAUSE IS GIVEN
                    BEFORE THE CHECK FOR *END OF TRANSMISSION*. 
          BAB    81/06/11    SYNGN05,CUVSYN 
  
 F2545EC  CPS R9: 
          MAKE CORRECTIONS TO THE -SAME-, -KEY IN-, AND -UPON- OPTIONS
          OF -DISPLAY/EXTRACT-. 
          EMV    06/29/81    CTL30,CTL40,CTL50,DISPLAY,EXTRACT
  
 F2545BD  CPSR9:  
          TO ESTABLISH UNIFORM SYNTAX, THE MOVE DIRECTIVE SHALL 
          BE AVAILABLE IN IMF MODE AS IT IS IN CRM/CDCS MODES.
          CPSR9:  
          CHANGE THE SYNTAX FOR THE IMF STORE/MODIFY/REMOVE 
          DIRECTIVES SO THAT THEY WILL BE THE SAME AS IN
          CRM/CDCS MODES. 
          CPSR9:  
          WHEN DISPLAYING A CUMMULATIVE FUNCTION WHICH CONSISTS OF AN 
          IMF DATABASE ITEM, *RECORDSEEN* MUST BE CLEARED SINCE 
          THE FUNCTION IS TREATED AS A DEFINED ITEM AFTER *DATA-ATTRIB* 
          IS CALLED.
          CPSR9:  
          CHANGE *EVALUATE* AND *FOLLOW* SYNTAX TO REFLECT OVERLAY
          1,60'S INITIALIZATION ROUTINE *SET60*, AND REPLACE THE USE OF 
          CRM'S *SETCOD10* WITH IMF'S *EV$INI*. 
          BAB    05/28/81    CTL60,CUMFUNC,DATANAM,DELUPSYN,DIAGTEXT
                             EXTRACT,IMFDICT,MOVEVAL,NAVICHK,QUGEN, 
                             SEMSMR,SUB60,SYNGN60,TIMFDEF,QU6000
                             USINGEX,WHERE
  
 F2545ED  CPS R9: 
          THIS IDENT ADDS THE *IF* DIRECTIVE TO QU/IMF. 
          EMV    07/07/81    CTL60,QUGEN,SELPATH,SEMSMR,SUB60,
                             SYMPL60,SYNGN06,SYNGN60
  
 F2545MD  PROBLEM - TIME LIMIT ERRORS FOUND WHEN TESTING PREVIOUS 
          CPS R9 CODE.
          SOLUTION - CORRECT ERRORS.
          MLB    80/08/14    CTL30,CTL40,CTL50,EXPANAL,EXPEVAL
  
 F2545EE  CPS R9: IMPLEMENT QUALIFICATION OF DESCRIBED ITEMS BY 
                  -OF LFN- AND ALLOW USE OF DESCRIBED ITEMS IN
                  -IF- CONDITIONS AND OTHER PLACES. THIS FEATURE
                  IS COMMONLY CALLED FILE USE.
          EMV    07/16/81    CTL60,CUMFUNC,DATANAM,DELUPSYN,DIAGTEXT, 
                             DISPLAY,EXHIBIT,EXTRACT,IFM,LEXID, 
                             POINTERS,QU0100,RELSPACE,SORT,SPEDEDE, 
                             STKSCAN,STX00,SYNGN06,TLFNINF,WHERE
                             (CALLBLP,CTL30,CTL40,CTL50,QUGEN,
                             SYNGN01.SYNGN77) 
  
 F2545EF  CPS R9: CORRECT SEVERAL PROBLEMS WHICH SHOWED UP IN 
                  REGRESSION TESTING: 
                  1) DIAG (165) ON ANY FUNCTION CALL - CORRECT TEST OF
                     NUMBER OF FUNCTION PARAMETERS DONE IN *OPERAND*. 
                  2) DIAG (097) WHEN DISPLAYING AN EXTRACTED ITEM(ALL)
                     WHICH DEPENDS ON ANOTHER ITEM - IGNORE THE DEPEND
                     ON FLAG WHEN EXTRACTING AN ITEM(ALL).
          EMV    08/25/81    CTL60,EXPANAL,EXTRACTM,IMFDICT,IMFTBL, 
                             QU6000,SEMINV,USINGEX
                             (CTL30,CTL40,CTL50)
  
 QU3A479  PROBLEM - *VETO* AND *VERIFY* DIRECTIVES ARE NOT
                    AVAILABLE TO THE QU/IMF INTERFACE.
          SOLUTION- ALTER EXISTING ROUTINES TO MAKE THEM
                    AVAILABLE.
          BAB    08/27/81    CTL60,IMFDICT,IMFINVC,IMFTBL,QU6000, 
                             SEMSMR,SUB60,SYMPL60,SYNGN60,TIMF
                               VERIFY 
  
 QU34VER  CHANGE VERSION NUMBER TO 3.4 FOR CPS R9.
          EMV    09/16/81    QU1100 
  
 QU3*82   UPDATE THE COPYRIGHT INFORMATION TO 1982. 
          BAB    09/09/81    COPYRHT
  
 F2545EG  CPS R9: RESEQUENCE SEVERAL DECKS THAT HAVE UNDERGONE MAJOR
                  REWRITES. 
          EMV    09/18/81    CTL60,EXTRACT,EXTRACTM,SEMSMR,SUB60, 
                             SYMPL60,SYNGN60,USINGEX
  
 QU3A485  PROBLEM - QU DOES NOT CHECK FOR UNIQUE DATANAMES WHEN 
                    CREATING A DIRECTORY TO A DESCRIBED FILE. 
          SOLUTION - INSERT A CALL TO *SEARCH* IN *SETDES* TO 
                     LOOK FOR DUPLICATES IN THE DIRECTORY AND 
                     DIAGNOSE ANY FOUND.
          EMV    09/23/81    EXTRACT,SPEDEDE
  
 QU3A490  PROBLEM - ERROR IN SETTING NULL FIELDS WITH CONSECUTIVE 
          SEPERATORS ON INSERTION WHEN FIELD IS AN ARRAY ELEMENT. 
          SOLUTION - CHECK FOR FIGURATIVE SUBSCRIPT WHEN NULL FIELD 
          IS FOUND, AND PROPERLY INITIALIZE THE CONVERT PARAMETERS
          IF NEED BE.  FIGSUB2(3) ARE CALLED TO DO THE INITIALIZATION.
          CKJ    10/20/81    USINGEX
  
 QU3A528  PROBLEM - THE -SCAN- FUNCTION DOES NOT WORK CORRECTLY WHEN
                    THE FIRST PARAMETER IS MORE THAN ONE WORD IN
                    LENGTH. 
          SOLUTION- THE -SCAN- FUNCTION MUST BE ALTERED TO REMEMBER 
                    THE STARTING CHARACER OF THE FIRST PARAMETER
                    BEFORE COMPARISON IS MADE.  THIS WILL ENABLE
                    THE POINTER TO BE INCREMENTED PROPERLY. 
          BAB     06/04/81    SCAN
  
 QU3A530  PROBLEM - -MODIFY SETTING- FOR A TEMPORARY ITEM FAILS 
                    IF THERE IS MORE THAN ONE AREA ACTIVE.
          SOLUTION- IF USING TEMPORARY ITEMS, DELETE THE CALL TO
                    -SPAREATABLE- WHICH IS NOT NEEDED SINCE IT
                    POSITIONS THE AREA TABLE. 
          BAB    81/06/01     DELUPSYN
  
 QU3A532  PROBLEM - RECORD NAME IN STORE DIRECTIVE WAS NOT
          RECOGNIZED DURING RECORDING MODE. 
          SOLUTION - TEST RECORDING STATUS BEFORE OTHER OPERATIONS. 
          CKJ    08/20/81    DELUPSYN 
  
 QU3A545  PROBLEM - WHEN MORE THAN 1 RELATION EXISTS AND QU ACCEPTS 
          A RESPONSE FROM THE USER TO SPECIFY WHICH RELATION TO USE,
          THE RESPONDED RELATION NAME SHOULD NOT BE IN ABREVIATED FORM. 
          THIS IS NEEDED TO ENSURE UNIQUENESS.
          SOLUTION - A CHARACTER BY CHARACTER COMPARISON IS PERFORMED 
          ON THE WHOLE LENGTH OF THE RELATION NAMES.  ALSO, BUFFER
          NEEDS TO BE BLANKED OUT PRIOR TO READING USER RESPONSE. 
          CKJ    10/05/81    RELSCAN
  
 QU3A550  PROBLEM - ITEM DUMMY IS USED TWICE AS SUBSCIPT WITHIN PROC
          OPENAREA IN CTL30, BUT ITS VALUE WAS NEVER SET. 
          SOLUTION - REPLACE DUMMY BY INDEX.
          CKJ    10/05/81    CTL30
  
 QU3A554  PROBLEM - A MULTIPLE *IF* TRANSMISSION COMPRISED OF 
                    *IF KEY* FOLLOWED BY *IF TEMP* CAUSES A MODE ERROR. 
          SOLUTION- SINCE ITEM *LOWAREA* IS SET ONCE IF NO
                    RELATION IS SPECIFIED, IT IS UNNECESSARY
                    TO RESET THIS VALUE.  WHEN THE SECOND *IF*
                    DIRECTIVE REFERENCES ONLY TEMPORARY ITEMS,
                    THE VALUE USED TO RESET *LOWAREA* IS ZERO AND 
                    *EXPEV20* FAILS TO EXECUTE CORRECTLY. 
          BAB     10/16/81     WHERE
  
 QU30455  PROBLEM - CONDITION IN SYNGN00 DID NOT CHECK FOR *NOT*
          OPERATOR AFTER CHECKING FOR OPEN PARENTHESIS. 
          SOLUTION - CHECK FOR *NOT* AGAIN IF LEFT PARENTHESIS IS FOUND 
          CKJ    09/25/81    SYNGN00 (SYNGN01.SYNGN77)
  
 QU30481 PROBLEM - QUERY UPDATE TERMINATES WHEN A USER INTERRUPT
                   IS ENCOUNTERED.
         SOLUTION- SINCE THE INTERNAL STRUCTURE OF QUERY UPDATE 
                   NECESSIATES TERMINATION IN THIS SITUATION, 
                   THE USER WILL BE NOTIFIED OF SUCH ACTION.
                   QU'S REPRIEVE PROCESS SHALL BE ALTERED FOR 
                   EXTENDED REPRIEVE VIA THE *REPRIEVE* MACRO.
                   THE USE OF THE *DISTC* MACRO SHALL BE ELIMINATED 
                   BY ADDING TERMINAL INTERRUPT TO THE CLASS OF ERRORS
                   WHICH ACTIVATE THE REPRIEVE ROUTINE. 
          BAB     09/28/81     BSTOP,DIAGTEXT,OPENTL,OSEXEC,
                               QUGEN,QU1100 
  
 QU30503  PROBLEM -  WHEN QU USES A CDCS DATABASE AND THE 
          AREA NAME IS GREATER THAN 10 CHARACTERS, AN ABORT 
          OCCURS WITH CP TIME LIMIT.
          SOLUTION - A BASED ARRAY IS SET UP TO PROCESS THE 
          REALM NAME.  A TEST IS ALSO INSERTED TO STOP
          PROCESSING WHEN ALL REALM NAMES HAVE BEEN TESTED. 
          IF THE REALM NAME IS NOT FOUND DIAG 803 WILL BE 
          ISSUED. 
          MLB    81/08/19    USECDCS
  
 QU3O508  PROBLEM - THE FET LENGTH FOR PFM REQUESTS IS
                    SET INCORRECTLY CAUSING PFM ABORTS ON 
                    CERTAIN SYSTEMS.
          SOLUTION- CHANGE THE VFD STATEMENT FOR *FET1* SO
                    THAT THE LENGTH IS SET PROPERLY 
                    IN BITS 23 THROUGH 18.
          BAB    09/16/81    ATTACH 
  
 F2545EH  PROBLEM - THE QU/IMF *DISPLAY* DIRECTIVE DOES NOT RESPOND 
                    TO AN *N* ANSWER TO THE MESSAGE *MORE - Y OR N* 
                    WHEN THE PAGE IS FULL.
          SOLUTION - CHECK THE RETURN CODE FROM *WRITEBL* IN *CTL60*, 
                     AND LEAVE THE OVERLAY IF THE ANSWER WAS *N*. 
          EMV    09/29/82    CTL60
  
 F2545EI  PROBLEM - WHEN A *FROM* AND *UPON* FILE ARE BOTH
                    MENTIONED IN A *DISPLAY* OR *EXTRACT*, THE
                    *DESLIST* POINTER IS SET TO THE *FROM* FILE 
                    DIRECTORY, CONFUSING *SETDES* AS IT TRIES TO
                    BUILD THE *UPON* FILE DIRECTORY.
          SOLUTION - CLEAR *DESLIST* IN *SETDISFROM* AFTER IT IS
                     SET BY A CALL TO *LFNLOOKUP*.
          EMV    09/29/81    DISPLAY
  
 F2545BE  CPS-R9  - MULTIPLE *IF* DIRECTIVES SHALL BE MADE
                    AVAILABLE TO QU/IMF BY INSURING EACH
                    *IF* DIRECTIVE IS PROCESSED WHEN
                    BUILDING THE RANGETABLE 
          BAB    10/15/81    DATANAM,SELPATH,SEMINV,SYNGN60 
  
 F2545EJ  RESEQUENCE THE DECK *SELPATH*.
          EMV    10/28/81    SELPATH
  
 *L564*    ************************************************ 
          PROBLEM  - SORT5 IS NOW AVAILABLE FOR USE.
          SOLUTION - ADD SORT5 CALLS TO QU.  AVAILABLE ONLY 
                     IF SORT5 DEFINED AT BUILD TIME.  SORT4 
                     REMAINS AS DEFAULT SORT. 
          MLB    81/10/07    QUGEN,QU0300,SRT4OR5,NUMOPT,DIAG 
  
 QU3A562  PROBLEM - A TERMINAL INTERRUPT IS NOT HANDLED 
                    CORRECTLY WHEN GIVEN AT AN IDP BREAKPOINT.
          SOLUTION- AT THE TIME OF REPRIEVE, IDP IS REQUESTING
                    CIO.  THIS REQUEST IS STORED IN THE REPRIEVE
                    PARAMETER BLOCK.  SINCE QU DOES NOT RESUME
                    OPERATIONS AFTER REPRIEVAL, THE COMPLETE BIT
                    FOR THE CIO REQUEST SHALL BE SET.  THEREFORE, 
                    SUBSEQUENT CIO REQUESTS CAN BE MADE WITHOUT 
                    CAUSING EXECUTION TO HANG IN A LOOP.
          BAB     11/06/81    OPENTL
  
 QU3A563  PROBLEM - A QU/CDCS ITEM WHICH IS EXTRACTED OR DISPLAYED
                    UPON A FILE IS NOT DESCRIBED FOR THAT FILE. 
                    (IE., IT IS IMPOSSIBLE TO DISPLAY THE ITEM
                    FROM THE FILE.) 
          SOLUTION - QU/CDCS ITEM NAMES ARE 0-FILLED IN THE SUB-SCHEMA, 
                     SO RELATED ARRAYS ALSO HAVE THE NAME 0-FILLED. 
                     THESE MUST BE CONVERTED TO BLANK-FILLED. 
          EMV    11/16/81    CDCSNAM,OSINIT 
  
 QU3A564  PROBLEM - *DIS SAME* DOES NOT WORK IN CASES WHERE THE PREVIOUS
                    DISPLAY USED A *FROM* OR *UPON* FILE. 
          SOLUTION - INSTEAD OF SAVING THE DISPLAY TABLE OF THE *SAME*
                     LIST, SAVE THE INPUT ITSELF. 
          EMV    11/09/81    BASIC,ESTD,EXPANAL,IFSYN,LEXSCAN,
                             QUGEN,QU0100,RELSPACE,SAME,STX00,
                             SUB00,SUB06,SUB07,SUB60,SYMPL00, 
                             SYMPL06,SYMPL07,SYMPL60,SYNGN00,SYNGN06, 
                             SYNGN07,SYNGN60,TSBASIC
                             (CTL30,CTL40,CTL50,SYMPL01.SYMPL77,
                             SYNGN01.SYNGN77) 
  
 QU3A569  PROBLEM - THE USE OF KCL BY THE *OS* DIRECTIVE WILL 
                    NOT BE SUPPORTED BY NOS R6.1.  ALSO,
                    WHEN QU IS CALLED FROM A CCL INTERACTIVE
                    PROCEDURE, IF THE *OS* DIRECTIVE IS EXECUTED, 
                    THE CCL PROCEDURE TERMINATES REGARDLESS 
                    OF IT'S SUCCESSIVE CONTROL CARD STREAM. 
          SOLUTION- FOR NOS, THE INTERNAL USE OF KCL SHALL BE 
                    REPLACED WITH CCL.
                    FOR NOS/BE, THE EXISTING CONTROL STATEMENT
                    ENVIRONMENT SHALL BE SAVED AT INITIALIZATION
                    AND RESTORED UPON EXIT FROM QU.  EACH *OS*
                    DIRECTIVE SHALL CREATE A NEW C.S. FILE
                    WHICH WILL REPLACE THE OLD AND THEN GAIN CONTROL. 
          BAB    11/11/81    CTL,OPENTL,OSEXEC
  
 QU3A574  PROBLEM - QU ISSUES AN ERRONEOUS DIAGNOSTIC WHEN CDCS 
                    DROPS FROM A CONTROL POINT. 
          SOLUTION- BY BUILDING WITH NOSTEXT, ITS ENTRY POINTS
                    CORRESPONDING TO THE SYSTEM ERROR CODES CAN 
                    PROVIDE A MAP TO THOES DIAGNOSTICS ISSUED BY
                    QUERY UPDATE.  SINCE THESE ENTRY POINT NAMES
                    WILL REMAIN CONSTANT, CHANGES TO THE SYSTEM 
                    REGARDING ERRORS WILL HAVE NO EFFECT ON QU. 
          BAB    01/27/82     BSTOP,OPENTL
  
 QU3A580  PROBLEM - MODE ERROR OCCURS IF QU TRIES TO ISSUE
                    DIAGNOSTIC NUMBER 509.
          SOLUTION- INSERT THE DIAGNOSTIC TEXT FOR ERROR
                    NUMBER 509 INTO *DIAGTEXT*. 
          BAB     01/11/82     DIAGTEXT,IMFDICT,QUGEN 
  
 QU3A581  PROBLEM - CDCS CODE AT LEVEL R2B NECESSITATES CODE
                    FOR QUERY UPDATE. 
          SOLUTION- INSURE QU'S COPY OF DB$GLDF IS CORRECT BY 
                    INSERTING THE PSR CHANGES MADE BY CDCS. 
          BAB     01/08/82     DB$GLDF
  
QU3A582   PROBLEM  - WHEN THE WRONG DESCRIPTION OF A NUMERIC
          KEY IS PASSED TO SORT5, GARBAGE IS STORED IN THE OUTPUT 
          FILE. 
          SOLUTION - CORRECT THE DESCRIPTION PASSED TO SORT5. 
          MLB    82/01/19    SRT4OR5
  
 QU3A612  PROBLEM - HAVING TO RENAME LITERALS THROUGH THE -AS- CLAUSE 
                    ON A -DISPLAY UPON- CAUSED MUCH DISSATISFACTION 
                    AMONG USERS.
          SOLUTION - REMOVE THE REQUIREMENT THAT LITERALS AND 
                     EXPRESSIONS MUST BE RENAMED WHEN DISPLAYED UPON
                     A FILE. THEIR DEFAULT NAME WILL BE -FILLER-. 
          EMV    02/18/82    DATANAM,DIAGTEXT(QUGEN),EXTRACT,SUB60, 
                             SYMPL60,SYNGN06,SYNGN60
  
 *L577*    ************************************************ 
 QU3A565  PROBLEM - NULL LINES FROM CCL CAUSE DIAGNOSTICS.
          SOLUTION - TREAT NULL LINE AS IF IT WERE BLANKS.
          CKJ    11/17/81    QU2IO
  
 QU3A566  PROBLEM  - WHEN USING CDCS WITH QU AND AN 
          *IF LT* DIRECTIVE WAS ISSUED, ONLY ONE RECORD 
          WAS FOUND EVEN THOUGH WHEN CRM WAS USED 66 RECORDS
          WERE FOUND. 
          SOLUTION - A VARIABLE *ROOTPOS* WAS SET DEPENDING 
          UPON WHETHER THE FILE BEING ACCESSED WAS DIRECT 
          ACCESS OR NOT.  THIS VARIABLE WAS THEN USED TO
          SET THE *POSITIONED* VARIABLE.  HOWEVER, THE SETTING
          OF *ROOTPOS* WAS IN ONE PATH AND THE USE IN ANOTHER 
          PASS.  IN THE PROBLEM CASE, THE SETTING PATH WAS
          WAS NEVER TAKEN.  THE SETTING WAS MOVED SO THAT 
          IT ALWAYS OCCURRED. 
          MLB    81/11/04    CDCSGET
  
 QU3A568  PROBLEM - QUERY UPDATE FAILS TO CLOSE PERTINENT FILES 
                    IF A CMM ERROR OCCURS DUE TO INSUFFICENT FIELD
                    LENGTH WHILE PERFORMING DATABASE MANIPULATIONS. 
          SOLUTION- DURING THE RECOVER PROCESS, QU DISPLAYS ITS 
                    WORK VIA THE *ACCESS,HITS,IOS* MESSAGE.  THIS 
                    TEXT IS GENERATED IN THE OVCAP *DIAGS* WHICH
                    REQUIRES ADDITIONAL CM TO BE LOADED.  TO INSURE 
                    PROPER RECOVERY, FILES WILL BE CLOSED FIRST 
                    AND IF A CMM ABORT, *DIAGS* WILL NOT BE CALLED. 
          BAB     11/16/81     CTL30,CLT40,CTL50,IMFRUN,QU6000
  
QU3A570   PROBLEM  - TOO MANY NESTED PREFACE-SUMMARIES CAUSES 
          QU TO STOP WITH NO MESSAGE.   THERE ARE ACTUALLY TWO PROBLEMS 
          HERE: (1) AS DIRECTIVES ARE READ, THE SAME SPACE IS USED
          FOR EACH DIRECTIVE AND IN THIS PARTICULAR CASE A *+*
          (CONTINUATION) IS IN THE BUFFER LEFT OVER FROM A
          PREVIOUS DIRECTIVE WHEN THE LAST DIRECTIVE WAS READ.
          (2) NO TESTS WERE MADE TO MAKE SURE THAT ALL DIRECTIVES 
          WOULD FIT IN ARRAY RPTLFNS. 
          SOLUTION - PROBLEM (1) TEST FOR COMBINATION CONTINUATION
          AND END-OF-FILE.
          PROBLEM (2) ADD TESTS FOR ARRAY OVERFLOW.  MAKE DEFINITION
          OF ARRAY SIZE A DEFINED ITEM SO THAT IT MAY BE CHANGED
          TO EXTEND THE SIZE OF THE ARRAY.
          BECAUSE THE PROCEDURE MOREHAF HAD NO PROVISIONS FOR AN
          ERROR EXIT, FLAGS WERE SET TO INDICATE WHETHER A *GOOD* 
          READ HAD TAKEN PLACE INSTEAD OF EXITING VIA *STDNO* OR
          *STDYES* DEPENDING UPON THE TYPE OF READ.  A PROCEDURE
          *CHKCOMP* WAS WRITTEN TO TEST THIS FLAG AND MAKE AN 
          APPROPRIATE EXIT.  THIS ALLOWS *MOREHAF* TO USE *STDNO* 
          AS AN ERROR EXIT.  SYNGN01 REQUIRED CHANGING IN ORDER 
          TO ACCOMPLISH ALL THIS. 
          MLB    81/11/30    QU2IO,HALFSYN,SYNGN01,SUB01,TREPORT
                             DIAGTEXT,QUGEN,SYMPL01,TOPTION 
                             NUMOPT,CREPCMP 
  
 QU3A572  PROBLEM  - WHEN MODIFYING EXISTING RECORDS QU WILL
          NOT EXPAND THEM.
          SOLUTION - THE FITMRL MUST BE USED AS THE LENGTH PARAMETER
          INSTEAD OF THE FITRL WHEN REPLACING RECORDS.
          MLB    81/12/15    CTL40
  
 QU3A573  PROBLEM  - WHEN RECORDING, AN INVOKE WITH THE 
          PW OPTION, CAUSES QU TO STORE GARBAGE.
          SOLUTION - ADD A CALL TO RECYES IN THE PROCEDURE WHICH
          PROCESSES THE PW OPTION.
          MLB    81/12/16    MODPFP 
  
QU3A576   PROBLEM  - A DISPLAY OF ITEM(ALL) OF GROUP(N) CAUSES QU TO
          FAIL. 
          SOLUTION - AN INDICE TABLE ENTRY IS BUILT FOR EACH LEVEL
          OF QUALIFICATION.  THE FINAL ENTRY IS THE ITEM TO BE DISPLAYED. 
          THE INDICES POINTER NEEDS TO POINT TO THE FINAL ENTRY INSTEAD 
          OF THE FIRST ENTRY TO PICK UP THE PROPER UPPER BOUND OF *ALL* 
          WHEN THE DISPLAY TABLE IS BEING BUILT.
          MLB    82/01/05    DISPLAY
  
QU3A577   PROBLEM  - RECORDS ARE NOT PRESET CORRECTLY WHEN THE
          RECORD CONTAINS REPEATING GROUPS. 
          SOLUTION - THE BACKGROUND TABLE BUILT IN BGTABLE WAS CHANGED
          TO INCLUDE ENTRIES FOR ALL GROUPS.  THESE GROUP ENTRIES CONTAIN 
          THE LEVEL OF THE GROUP, THE NUMBER OF OCCURENCES AND THE SIZE 
          OF ONE OCCURRENCE.  SOME OF THE FORMER ENTRIES ARE NO LONGER
          USED. 
          THE PROC BGINIT WHICH BUILDS THE MODEL RECORD WAS CHANGED TO
          CALL A PROC BUILDER.  THIS NEW PROC HAS PROCEDURES TO HANDLE
          UP TO THREE LEVELS OF NESTED REPEATING GROUPS.  AN ADDITIONAL 
          PROC, INTERNAL TO BUILDER, DOES THE ACTUAL STORING OF THE 
          PRESET VALUES, CALCULATING THE CORRECT LOCATION IN WHICH TO 
          STORE THESE VALUES. 
          NOTE = PSR QU3A576 MUST BE INSTALLED OR TESTING OF THIS 
          FEATURE IS UNPREDICTABLE. 
          MLB    82/01/22    TEXPRESS,BGTABLE,BGIMAGE,DIAGTEXT
  
  
 QU3A578  PROBLEM - WHEN A NON INTEGER ITEM IS DEFINED
                    AS AN EXPRESSION COMPRISED OF LITERALS ONLY,
                    THE EVALUATE DIRECTIVE DOES NOT PRODUCE 
                    THE CORRECT RESULTS.
          SOLUTION- THE ITEM IS STORED AS AN INTEGER BUT DISPLAYED
                    AS ITS DEFINED TYPE, THEREFORE, CONVERSION
                    OCCURS.  THE DEFINE DIRECTIVE MUST CREATE 
                    AN ATTRIBUTE TABLE FOR THE EXPRESSION RESULT, NOT 
                    AN ABSOLUTE ADDRESS, SO THE CONVERSION WILL BE
                    SUCCESSFUL. 
          BAB     12/29/81     MOV40,SPEDEDE
  
 QU3A579  PROBLEM - THE *MOVE* DIRECTIVE IS NOT ALLOWED IF THE
                    DESTINATION IS A CUMMULATIVE FUNCTION.
          SOLUTION- DELETE THE CALL TO *CHKNAME* BEFORE CALLING 
                    THE SYNTAX SECTION *DATA-ATTRIB*.  *DATA-ATTRIB*
                    WILL PERFORM THE VALIDITY CHECKS OF *CHKNAME* 
                    BUT ALLOW CUMMULATIVE FUNCTION DESTINATIONS.
          BAB     01/08/82     SYNGN03,SYNGN07,SYNGN60
  
 QU3A585  PROBLEM - IF THE DECODE FUNCTION MAKES USE OF THE 
                    CURRENT-ANY REGISTER AS THE SUBSCRIPT FOR THE 
                    SECOND PARAMETER, THE RESULTS ARE INCORRECT.
          SOLUTION- SINCE THE SECOND PARAMETER REMAINS CONSTANT,
                    ITS ENTRY CODE IN THE STACK SHOULD BE CHANGED 
                    SO THAT ITS VALUE WILL BE DETERMINED ONLY ONCE. 
                    THIS ALSO INSURES THE INDICE TABLE POINTERS ARE 
                    POSITIONED CORRECTLY WHEN THE *ALL* FLAG IS 
                    RESET FOR THE FIRST OR THIRD PARAMETER. 
          BAB     01/18/82     EXPEV
  
 QU3A586  PROBLEM - INDEPENDENT FILES WHICH CONTAIN VALUES REPRESENTED
          IN SCIENTIFIC NOTATION, DESCRIBED AS DISPLAY FLOATING OR
          DISPLAY DOUBLE, ARE NOT CONVERTED PROPERLY WHEN INSERTED
          INTO A DATABASE VIA DEFINE, EVALUATE AND PREPARE STATEMENTS.
          SOLUTION - SET THE REQUIRED CONVERSION CODES ACCORDINGLY. 
          CKJ    01/15/82    SPEDEDE
  
 QU3A587  PROBLEM - QU MODES OUT IF AN EXPRESSION CONSISTING
                    OF AN DATABASE ITEM IS MOVED INTO A DEFINED 
                    ARRAY ITEM. 
          SOLUTION- *STKSCAN* WILL RECOGNIZE AN ENTRY OF THIS FORM
                    AND LOCATE THE SUB-EXPRESSIONS PROGRAMSTACK.
                    *STKSCAN* CAN THEN PERFORM THE PROPER ACTIONS 
                    NEEDED BEFORE EXECUTION.
          BAB     01/22/82     STKSCAN
  
QU3A588   PROBLEM  - NO TESTS ARE MADE TO SEE IF THE USER 
          HAS USED A LFN WHICH IS THE SAME AS ONE OF THE PFNS 
          ATTACHED BY QU. 
          SOLUTION - ADD A PROCEDURE IN PROC *SYNTAX* WHICH 
          COMPARES THE LFN WITH AREA NAMES, LOG FILE NAMES, 
          INDEX FILE NAMES, DB PROCEDURE LIBRARIES AND CATALOG. 
          MLB    82/01/26    SYNTAX,DIAGTEXT
  
QU3A589   PROBLEM  - WHEN A FILE IS TO BE CREATED, THE WSA AND
          KEY INFORMATION IS NOT SET BEFORE THE FIRST CALL TO OPEN. 
          IF A DB PROC IS AVAILABLE FOR DOING THE OPEN, THE PARAMETERS
          PASSED INCLUDE SOME ZERO WORDS WHICH COBOL TAKES AS END OF
          PARAMETER LIST. 
          SOLUTION - GET THE WSA AND SET THE KEY INFORMATION FOR CREATE 
          FILES BEFORE THE OPEN.
          MLB    82/01/28    CREINIT
  
QU3A592   PROBLEM - HELP 821 PRODUCES INCOMPLETE SENTENCES BECAUSE THE
          TERMINATOR GETS STRIPPED OFF. 
          SOLUTION - DO NOT USE THE ) AND : SIGN WITHIN THE SENTENCE. 
          CKJ    02/01/82    QUGEN
  
QU3A595   PROBLEM - DURING DUPLICATION, WHEN NO (BY) AND TID2 ARE 
          GIVEN, THE NEW TRANS-IDS BECOMES DEFAULTED TO 1,2,3, ETC. 
          IF (BY) IS GIVEN WITH NO TID3, THE NEW TRANS-ID THEN
          STARTS WITH 1 AND IT IS INCREMENTED FROM THERE ON.
  
          SOLUTION - THERE IS A CHANGE IN THE DEFAULT OPERATIONS OF 
          DUPLICATIONS.  ALL TRANS-IDS ARE NOW DUPLICATED AS IS EXCEPT
          WHEN (BY) AND/OR TID3 ARE GIVEN.  IN THAT CASE, TID3 HAVE 
          PRIORITY OVER THE INCREMENT SIZE IN DETERMINING THE 
          STARTING VALUE OF THE NEW TRANSMISSION ID.
          CKJ    04/05/82    DUPLICATE / SYNTAX 
  
QU3A599   PROBLEM  - EXTRACT OF -AS- ITEM WITH COMPLICATED
          PICTURE PRODUCES GARBAGE WHEN DISPLAYED.
  
          SOLUTION - THE MURALS WERE NOT BEING TRANSFERRED ALONG
          WITH THE OTHER INFORMATION OF THE OLD ITEM. 
          EXTRACT MUST NOT RELEASE THE MURAL WHEN IT IS 
          FOR A DESCRIBED ITEM
          MLB    82/03/31    DATANAM,EXTRACT
  
QU3A600   PROBLEM  - UNDER SOME CONDITIONS ONE CHARACTER
          TOO MANY IS MOVED TO THE *SAME* TABLE.  WHEN
          *DIS SAME* DIRECTIVE IS ISSUED, IT FAILS BECAUSE
          OF UNKNOWN DATA NAME. 
          SOLUTION - IN LEXSCAN, WHEN THE END OF RECORD IS
          RECOGNIZED, LEXPTR IS ALREADY GREATER THAN RECDSIZE.
          QUEXIT THEN INCREMENTS LEXPTR AND THIS VALUE IS 
          USED IN CALCULATING THE NUMBER OF CHARACTERS TO 
          MOVE TO THE *SAME* TABLE.  IN MOST CASES THE
          FACT THAT ONE CHARACTER TOO MANY IS MOVED DOES
          NOT MATTER SINCE THE EXTRA CHARACTER IS A SPACE.
          HOWEVER, IF THE LAST WORD IS NOT FOLLOWED BY A
          SPACE, THE EXTRA CHARACTER CAUSES PROBLEMS. 
          IN ORDER TO CORRECT, STKPOINTER IS INCREMENTED BY 
          ONE SO THAT THE SPACE IS ALWAYS PRESENT.
          MLB    82/03/10    SYNTAX 
  
QU3A603   PROBLEM - QU FAILS TO RECOGNIZE DEVICE TYPE AS REMOTE 
          TERMINAL UNDER NOS. 
  
          SOLUTION - THE DEVICE TYPE WAS CHECKED ONLY AGAINST NOSBE.
          MODIFY CODE TO CHECK AGAINST NOS'S OWN DEVICE CODE. 
          CKJ    04/13/82    USINGEX
  
 QU3A609  PROBLEM - IF A QU JOB RECEIVES A FATAL CDCS ERROR,
                    THE JOB IS SUSPENDED AND MUST BE DROPPED
                    BY THE CONSOLE OPERATOR.
          SOLUTION- QU WILL NOT ISSUE ANY REQUESTS TO CDCS AFTER
                    RECEIVING A FATAL ERROR.  CDCS WILL CLOSE 
                    THE AREA FILE, IF STILL OPEN, AND TERMINATE 
                    QU'S CONNECTION.
          BAB     03/04/82     BSTOP
  
 QU3A613  PROBLEM - WHEN *FROM* FILE FOR *INSERT USING* HAS 
                    LONGER RECORDS THAN *USING* LIST EXPECTS, AN
                    INFINITE LOOP RESULTS.
          SOLUTION - RETURN CODE FROM *ITMSIZE* WITHIN *USINGEX*
                     WAS NOT BEING SET WHEN RECORD LENGTH WAS 
                     LONGER THAN USING LIST LENGTH. CODE INSERTED 
                     TO INSURE THAT IT WILL ALWAYS BE SET UPON
                     RETURN FROM *ITMSIZE*. 
          EMV    03/23/82    USINGEX
  
 QU3A614  PROBLEM  - QU TIMES OUT WHEN RUNNING REPORT FROM
          PSR DATABASE.  THIS IS CAUSED BY AN END OF TRANSMISSION 
          OCCURING AT THE SAME TIME AS THE END OF A 100-WORD
          ARRAY.  LEXPTR IS RESET BUT OLDLEX IS NOT SO WHEN 
          *SAVEPTR* IN MODULE *SAME* ATTEMPTS TO SAVE THE 
          POINTER TO THE TRANSMISSION, THINGS GET ALL FOULED
          UP RESULTING FINALLY IN A CALL TO *CMM.ALF* REQUESTING
          A NEGATIVE AMOUNT OF SPACE. 
  
          SOLUTION - SET OLDLEX TO ZERO WHEN THE END OF A CHARACTER 
          ARRAY IS RECOGNIZED AND LEXPTR IS SET TO ZERO AND CT100 
          IS INCREMENTED. 
          MLB    80/02/23    LEXSCAN
  
QU3A619   PROBLEM - USING QU (WITH CRM), AND IF-TEST ON THE PRIMARY KEY 
          OF AN IS FILE, COMPARING THE VALUE OF THE KEY TO ITSELT (TRUE 
          IN ALL CASES), RETURNED WITH THE MESSAGE "NO RECORD QUALIFIED". 
          SOLUTION - WHEN KEY IS COMPARING TO ITSELF, SKIP THE RANGETABLE 
          BUILDING PROCESS IN 20 OVERLAY AND CONTINUE WITH FULL FILE PASS.
          CKJ    03/09/82    RGTABLE
  
 QU3A622  PROBLEM - WHEN A FUNCTION IS DISPLAYED UPON A FILE, THE NAME
                    OF ITS LAST PARAMETER IS USED AS ITS NAME IN THE
                    FILE-S DIRECTORY, THUS TURNING THE LAST PARAMETER 
                    INTO A DESCRIBED ITEM.
          SOLUTION - GIVE FUNCTIONS A DEFAULT NAME OF *FILLER* IN THE 
                     DIRECTORY OF ANY FILE THEY ARE DISPLAYED UPON. 
          ** CAUTION ** - THIS IDENT MAY NOT BE INSTALLED PRIOR TO
                          RELEASE LEVEL *564*.
          EMV    03/25/82    CUMFUNC,EXPANAL,EXTRACT,QU0100,SUB00 
                             SYMPL00,SYNGN00,SYNTAX 
                             (SYMPL01.SYMPL77,SYNGN01.SYNGN77)
  
 QU3A623  PROBLEM - THE QU ERROR CODES DO NOT MATCH THOSE OF
                    REPRIEVE ( RPV ). 
          SOLUTION- QU WILL USE THE SYSTEM ERROR FLAG RETURNED
                    IN THE *RPV* PARAMETER BLOCK INSTEAD OF THE 
                    ERROR CODE. 
          BAB     04/04/82     BSTOP,OPENTL 
  
QU3A624   PROBLEM - THE HELP TEXT FOR DIAGNOSTIC 256 MAKE A REFERENCE 
          TO KRONOS.  IT SHOULD BE NOS. 
          SOLUTION - CHANGE THE WORD KRONOS TO NOS IN THE TEXT. 
          CKJ    04/01/82    QUGEN
  
 QU3A625  PROBLEM - RANGE RETRIEVAL IS INEFFICIENT.  WHEN A MAJOR 
                    PRIMARY KEY AND ALTERNATE KEY ARE COMPONENTS
                    OF AN EXPRESSION, THE MAJOR PRIMARY KEY IS
                    ALWAYS SELECTED FOR ACCESS, EVEN THOUGH BY
                    USING THE ALTERNATE KEY, LESS I/O WOULD BE NEEDED.
          SOLUTION- AN *IF* STATEMENT CONCERNING A MAJOR PRIMARY
                    KEY AND AN ALTERNATE KEY ( EITHER ALTERNATE 
                    OR MAJOR ALTERNATE ), WILL SELECT THE FIRST 
                    KEY TYPE STATED FOR RETRIEVAL.  THIS WILL 
                    ALLOW THE USER TO CHOOSE THE KEY TYPE WHICH 
                    WILL BE THE MOST EFFICIENT FOR ACCESSING PURPOSES.
          BAB     04/13/82     WHERE,EXPEVAL
  
QU3A630   PROBLEM - DIAG 941 (SUBSCRIPT OUT OF BOUNDS) WITH FIGURATIVE
          SUBSCRIPT #ANY# IS GIVEN WHEN THE VALUES OF THE DEPENDING ON
          VARIABLE IS IN A DESCENDING ORDER.
  
          SOLUTION   THE CONSTANT SUBSCRIPT FLAG OF THE SUBSCRIPT 
          TABLE SHOULD BE INITIALIZED TO FALSE WHEN (ANY) IS USED.
          CKJ    05/26/82    EXPEVAL
  
 QU30533  PROBLEM - QU/CDCS IS INEFFICIENTLY HANDLING 
                    RETRIEVAL BY SINGLE ALTERNATE KEY.
          SOLUTION- WHEN SINGLE ALTERNATE KEY, BYPASS *RM$BLP*
                    FOLLOWING THE LOGIC OF THE QU/CRM INTERFACE.
          BAB     3/12/82     CDCSGET,CDCSNAM,CTL50,IFKEY,QU5000
  
 *L587*    ************************************************ 
QU3A590   PROBLEM - THE SCAN FUNCTION DOES NOT WORK FOR SOME KEY ITEMS
          IN IMF.   NO DIAGNOSTICS ARE GIVEN.  ONLY TIME IT WORKS FOR 
          A KEY IS WHEN ITS A MULTIPLE KEY AND THE KEY SCANNED WAS NOT
          DEFINED BEFORE THE OTHER KEY IN ITS SCHEMA SENTENCE.
  
          SOLUTION - THE OPERATION OF SELPATH IS SIMILIAR TO RGTABLE. 
          IN RGTABLE, SCANALLAREA IS SET WHEN THE OPCODE IS SCAN; 
          THEREBY, NO RANGETABLE IS BUILT.  IN SELPATH, KEYID IN THE
          PROGRAMSTACK IS SET TO ZERO WHEN ITS A SCAN TO YIELD THE
          SAME RESULT.  IT ESSENTIALLY TREATS THE KEY AS A NON-KEY ITEM.
          CKJ    05/04/82    SELPATH
  
QU3A596   PROBLEM - IMF NOT HANDLING SUBSCRIPTED DATA ITEMS.
  
          SOLUTION - REMOVE DIAG MESSAGE AND ADD CODE IN TO 
          HANDLE DISPLAYING OF TEMPORARY SUBSCRIPTED ITEMS. 
          CKJ    08/17/82    CTL60
  
QU3A601   PROBLEM - DESCRIBED ITEM INSIDE LIST OF AREA NOT
          DIAGNOSED PROPERLY IN QU/IMF MODE.
  
          SOLUTION - WHEN THE *USING* AND/OR *SETTING* OPTIONS
          ARE USED, THE DATA TYPE ALLOWED ARE EITHER DEFINED OR 
          AREA ITEMS.  NOT DESCRIBED ITEMS.  SET THE-DATATYPE-
          ALLOW CODE (TYPEALOW) TO ALLOW ONLY SUCH DATA ITEMS.
          CKJ    09/14/82    SEMSMR 
  
QU3A602   PROBLEM - *IF* FAILS TO CONTROL ITS SUBJECT WHEN THEY ARE 
          RECORDED IN SEPERATE TRANSMISSIONS. 
  
          SOLUTION - READ NEXT TRANSMISSION (SUBJECT) BEFORE RETURNING
          TO CHECK THE *IF* CONDITION.  THIS WILL PREVENT THE PREMATURE 
          CLEARING OF THE CONTROL FLAGS SET BY A FALSE *IF*.  NEXT, 
          CONTINUE READING THE NEXT TRANSMISSION IN THE SESSION.
          CKJ    09/07/82    SYNTAX 
  
QU3A604   PROBLEM - ALLOW *METAIB* AS WELL AS *METADB* IN QU/IMF INVOKE 
  
          SOLUTION - CREATE METAIB KEYWORD AND CHECK FOR METAIB AS WELL 
          AS METADB IN SYNTAX CRACKING TIME.
          CKJ    09/09/82    SYNGN05
  
QU3A606   PROBLEM - ELIMINATE NOS PROMPT FROM INTERACTIVE QU SESSION. 
  
          SOLUTION - TURN NOS PROMPT OFF DURING QU INITIALIZATION 
          IF NEITHER THE *I* NOR *O* PARAMETER IS USED IN THE QU
          CONTROL CARD.  THIS WILL SAVE THE NOS PROMPT FOR CASES
          LIKE FILES ARE CONNECTED TO THE TERMINAL FOR INPUT, BUT 
          OUTPUT IS ROUTED TO A FILE.  IDP RUNNING UNDER QU WILL
          NO LONGER HAVE THE NOS PROMPT SHOWING.  ALSO, ALL USER
          INPUTS WILL NOW FOLLOW THE QU PROMPTS ON THE SAME LINE. 
          THIS IS DONE BY INSERTING OCTAL 0013 ONTO THE EVEN BYTE 
          TRAILING THE QU PROMPT.  THE 0013 IS REPLACED AFTER THE 
          PROMPT IS DISPLAYED ONTO THE TERMINAL.  SO THIS WILL
          NOT AFFECT THE TRACE OR OUTPUT FILE.  RESULT OF THESE 
          MODIFICATION IS THAT QU WILL "LOOK" THE SAME UNDER
          THE NOS OR NOSBE OPERATING ENVIRONMENT. 
          CKJ    10/14/82    OSEXEC/QU1100/MODPFP/POINTERS/QU2IO/SYNTAX 
  
QU3A607   PROBLEM - STORE-MOVE DOES NOT PRINT ACCESS-HITS-IOS MESSAGE 
  
          SOLUTION - SET FLAG SO MESSAGE WILL APPERAR.
          CKJ    08/06/82    CTL40
  
QU3A610   PROBLEM  - QU DOES NOT RECOGNIZE LONG AREA NAMES
          WHEN USED IN THE ACCESS STATEMENT.
  
          SOLUTION - IN PROC *SAVAREA* A TEST IS MADE COMPARING 
          THE AREANAME AND THE CONTENTS OF ICW[0].  ICW IS DEFINED
          AS A TEN CHARACTER WORD SO THE COMPARISON STOPS AT TEN
          CHARACTERS.  CHANGE THE VARIABLE NAME IN THE COMPARISON 
          TO ICWC WHICH IS DEFINED AS 240 CHARACTERS. 
          MLB    82/10/07    PRIVACY
  
QU3A616   PROBLEM - WHEN QU OPENS AN AREA, IT DOES NOT COMPARE THE KL 
          FROM THE SUBSCHEMA WITH THE VALUE OF KL RETURNED TO THE FIT.
          IF QU IGNORES THE MISMATCH, IT CAN CAUSE ERRONEOUS RETRIEVALS 
          OR MODE ERRORS. 
  
          SOLUTION - COMPARE THE (KL)S.  WHEN THERE IS A DIFFERENCE,
          DIAGNOSE IT WITH AN INFORMATIVE MESSAGE, CLOSE THE FILE, AND
          RETURN IT.  QU MODED OUT BEFORE BECAUSE IT RETURNED THE FIT 
          BEFORE CLOSING IT.
          CKJ    05/17/82    CTL30, CTL40, QUGEN
  
QU3A618   PROBLEM - WHEN THE EXECUTE DIRECTIVE IS USED WITHOUT
          SPECFIFYING A FILENAME, THE ENTRY POINT IS LOADED 
          FROM *DMSLIB*, BUT ROUTINES IT CALLS THAT ALSO RESIDE 
          IN DMSLIB ARE NOT LOADED, THUS CAUSING A MODE ERROR.
  
          SOLUTION - PICK UP ALL EXTERNALS FROM THE LIBRARY SETS
          BEFORE CHECKING FOR EXTERNAL SATISFACTIONS. 
          CKJ    09/28/82    LOADREL
  
QU3A626   PROBLEM  - SMALL BUFFER SIZES AND CONTINUOUS MERGES 
          CAUSE INEFFICIENCIES WHEN LARGE NUMBER OF KEYS ARE
          TO BE RETRIEVED.
  
          SOLUTION - INCREASE THE SIZE OF THE BUFFERS AND 
          ONLY MERGE BUFFERS ONTO FILES WHEN NECESSARY. 
          MLB    82/04/20    NUMOPT,RM$BLPA,RM$BLP
  
QU3A632   PROBLEM - THE "MODIFY" COMMAND DOES NOT PROPERLY UPDATE 
          RECORDS HAVING DUPLICATE KEYS.
  
          SOLUTION - SET NEWDATA TO TRUE BEFORE EACH CALL OF USINGEX
          TO GET THE NEXT RECORD.  THIS WILL PREVENT USINGEX TO ASK 
          FOR NEW INPUT BEFORE ALL DUPLICATES ARE PROCESSED.
          CKJ    06/28/82    CTL40
  
QU3A633   PROBLEM - UNIVERSAL CHAR IN TEMPORARY DATANAME FAILS IN 
          BLANK CHARACTER COMPARISON WITH A KEY.
  
          SOLUTION - THE RANGETABLE SHOULD BE BUILT FOR A DEFINED 
          CHAR ITEM AS THOUGH IT WAS A LITERAL.   SET THE LITERAL 
          FLAG FOR A DEFINED CHAR ITEM SO LATER EXPEV20 WILL
          TREAT IT THE SAME AS A LITERAL. 
          CKJ    09/11/82    EXPANAL
  
QU3A636   PROBLEM - DISPLAY 9 ITEMS UPON A FILE WITH THE KEY-IN 
          CLAUSE GIVES ONLY 1 ACCESS. 
  
          SOLUTION - NO NEED TO CHECK FOR DTP.  FOR DISPLAY-KEY-IN
          OPERATION, IT HAS TO GO BACK AND GET NEXT RECORD UNTIL
          EOI.  ANY OTHER CASES, IT JUST RETURNS TO BASICLOOP.
          CKJ    08/06/82    CTL30
  
QU3A637   PROBLEM  - QU MODES OUT WHEN PERFORMING A SESSION 
          WHICH INCLUDES A DISPLAY BEFORE INVOKE. 
  
          SOLUTION - WHEN ATTEMPTING TO FREE THE SPACE FOR THE
          PFTABLE, PICK UP THE POINTER TO THE NEXT ENTRY BEFORE 
          FREEING THE SPACE.  IF CMM REDUCES FIELD LENGTH BECAUSE 
          THIS IS THE LAST ALLOCATED SPACE, THE POINTER IS NOT
          AVAILABLE AFTER THE FREE. 
          MLB    82/09/07    USECRM 
  
QU3A638   PROBLEM - CHANGES MADE TO PAGE PARAMETERS MAXCOL, MAXWPL, MAXPRPG 
          IN TNUMOPT CAUSE INCORRECT REPORT PAGE NUMBERING. 
  
          SOLUTION - SEPERATE THE FUNCTION OF REPORT PAGE-NUMBER INCREMENT
          FROM PRINTER PAGE-NUMBER INCREMENT. 
          CKJ    07/29/82    PAGE 
  
QU3A640   PROBLEM - THE QU INTERFACE TO SORT5 DOES NOT
          PASS THE PROPER TYPE FOR INTEGER AND REAL NUMBERS 
          AND DOES NOT CHECK THE ENTIRE RECORD FOR DUPLICATION
          WHEN THE UNIQUE OPTION IS CHOSEN.  ALSO A CALL WAS
          NOT MADE TO RETAIN THE INPUT ORDER ON DUPLICATES. 
  
          SOLUTION - PASS THE VALUES *INTEGER* OR *REAL* WHEN 
          NON-DISPLAY NUMERIC ITEMS ARE RECOGNIZED AND THE
          VALUE *BINARY* FOR LOGICAL ITEMS.  MAKE A CALL TO 
          SM5RETA WITH THE OPTION *Y* TO RETAIN INPUT ORDER.
          ADD CODE TO THE *OWNCODE5* PROCEDURE TO COMPARE 
          ALL WORDS OF THE DUPLICATE RECORDS WHEN THE UNIQUE
          OPTION IS CHOSEN. 
          MLB    82/08/12    SRT4OR5
  
QU3A643   PROBLEM - INEFFICIENT ACCESSING OF DIRECT ACCESS FILE WITH
          SEVERAL KEYS.  QU DOES A FULL FILE-PASS WHEN THE PRIMARY
          KEY IS EQUATED TO MORE THAN ONE VALUE (I.E. IF/EQ/OR ). 
  
          SOLUTION - BUILD RANGESTACK FOR THE LOGICAL OPERATOR *OR* 
          ALONG WITH THE RELATIONAL *EQ*.  ANYTHING ELSE UNDER A
          DIRECT-ACCESS FILE IS TREATED AS *ALL* (A FULL FILE-PASS).
          CKJ    10/01/82    EXPEVAL
  
QU3A644   PROBLEM  - QU ABORTS DURING REPORT PREPARATION WHEN 
          ATTEMPTING TO EVALUATE A DEFINED ITEM THAT IS EQUAL TO AN 
          EXPRESSION. 
  
          SOLUTION - PSR QU3A578 ADDRESSED THIS SAME PROBLEM WHICH
          OCCURRED DURING A SIMPLE EVALUATE BY SETTING THE ENTRY
          CODE IN THE MOVETABLE TO 3 AND THEN MAKING THE *FROM* 
          ADDRESS RELATIVE, EVALUATING THE EXPRESSION, CONVERTING 
          THE RESULT AND THEN CHANGING THE *FROM* ADDRESS BACK TO 
          AN ABSOLUTE ADDRESS.  THIS SAME CODE WILL BE ADDED TO 
          *XEQREP*. 
          MLB    82/11/18    XEQREP 
  
QU3A645   PROBLEM - UPDATE FROM TERMINAL NOT READING INPUT PROPERLY.
  
          SOLUTION - WHEN QU IS UPDATING FROM A FILE, NO MATTER IF
          IT IS A CONNECTED TERMINAL FILE OR NOT, IT SHOULD DO A
          *GET* INSTEAD OF A *READ* ON THE FILE AT ALL TIMES.  ALSO,
          IF THE *FROM* FILE IS A TERMINAL FILE, AND NO *I* OR *O*
          PARAMETERS WERE USED ON THE QU CONTROL CARD, ISSUE A QU 
          UPDATE PROMPT ( >> ) TO SIGNAL INPUT. 
          CKJ    09/11/82    USINGEX
  
QU3A650   PROBLEM  - WITH THE REMOVAL OF DBU1 FROM THE PRODUCT
          SET, QU IS LEFT WITH UNSATISFIED EXTERNALS AT LOAD
          TIME. 
  
          SOLUTION - INTEGRATION WILL ADD THE BINARIES OF DBU1 AS 
          A FILE ON THE MINITAPE SENT TO ARDEN HILLS.  THIS REQUIRES
          CHANGES TO THE INSTALLATION DECKS AND THE IHB.  CHANGES ARE 
          REQUIRED TO QUGEN TO PICK UP THE DBULIB BUILT FROM THESE
          BINARIES.  IN HOUSE, A DBULIB IS STORED UNDER QU34.  THE
          PROCFIL ATTACHES AND LOADS FROM THIS LIBRARY.  IF AT ANY TIME 
          THE CODE CHANGES, A NEW LIBRARY MUST BE BUILT SEPARATE FROM 
          THE BUILD PROCEDURE.
  
          NOTE:  THESE CHANGES ARE FOR NOS2.2 ONLY. 
  
          MLB    83/02/11    QUGEN
  
 *L601*    ************************************************ 
QU3A646   PROBLEM - USER PROMPTED TWICE FOR SINGLE MODIFY WITH VETO 
  
          SOLUTION - MODIFY CODE SO USER WILL BE PROMPTED ONLY ONCE 
          WHEN MODIFYING PRIMARY KEYS.  THIS IS TRUE FOR BOTH *YES* 
          AND *NO* RESPONSES.  ALSO, NEW CODES ARE ADDED TO HAVE
          VETO WAIT FOR USER RESPONSE ON THE SAME LINE.  BOTH CRM 
          AND CDCS PROCEDURES NEED FIXING TO THE DOUBLE PROMPTS.
          IMF(CTL60) NEED ONLY THE RESPONSE ON SAME LINE FIX. 
          CKJ    11/29/82    CTL40, CTL50, CTL60
  
QU3A647   PROBLEM - QU FAILS WHEN IT PERFORMS A SESSION WITH A
          SEPERATOR WHOSE DELIMETER IS THE SAME AS THE CURRENT ONE. 
  
          SOLUTION - THE CREATION OF A SESSION WAS MODIFIED TO INCLUDE
          AN EXTRA SPACE AT END OF TRANSMISSION.  THEREFORE, *CHKSEP* 
          IN *UNISEP* NEEDS TO TERMINATE ITS SCAN 1 CHAR EARLY WHEN 
          EXECUTING A SEPERATOR FROM A RECORDED SESSION.
          CKJ    12/03/82    UNISEP 
  
QU3A655   PROBLEM - QU HAVE THE FOLLOWING INCONSISTENCIES IN PROMPTING
          THE USER FOR INPUT.  1) THE NOS PROMPT COMES BACK AFTER THE 
          USE OF CERTAIN AREA FILES.  2) WHEN UPDATING FROM A CONNECTED 
          FILE, A >> IS GIVEN IF THE I-OPTION IS NOT USED.  IF THE
          I-OPTION IS USED, AND NO *OS* DIRECTIVE HAS BEEN PROCESSED, 
          THEN THE NOS PROMPT IS GIVEN; OTHERWISE, NO PROMPT IS GIVEN 
          IF AN *OS* HAS BEEN PROCESSED.  3) UNLIKE NOSBE, THE (MORE..
          ANSWER Y OR N) MESSAGE WAITS FOR RESPONSE ON A SEPERATE LINE. 
  
          SOLUTION - 1) WHEN THE SYSTEM MACRO *ATTACH* IS USED TO GET 
          AREA FILES, IT MAY RESET THE NOS PROMPT BACK ON.  RE-CHECK
          THE PROMPT OFF CONDITIONS AND TURN IT OFF IF NECESSARY. 
          2) REGARDLESS OF THE I-OPTION, A >> PROMPT SHOULD BE GIVEN
          FOR CONNECTED FILES AT ALL TIMES ACCEPT WHEN THE O-OPTION IS
          USED. 3) INSERT OCTAL 0013 AT END OF MESSAGE TO ENSURE USER 
          INPUT ON THE SAME LINE.  4) THE CHANGES MADE TO QU1100 ARE
          FOR SWITCHING THE NOS PROMPT OFF WHEN I-OPTION IS USED
          UNDER IDP.
          CKJ    01/13/83    USINGEX,QU2IO,OPENTL,QU1100,ATTACH 
                             QU0105,QU3000,QU4000,CALLBLP 
  
QU3A656   PROBLEM  - IF TWO *DISPLAY UPON* DIRECTIVES USE 
          THE SAME UPON FILE AND DISPLAY THE SAME FIELD 
          NAMES (EVEN THOUGH FROM A DIFFERENT SCHEMA) WITHOUT 
          RETURNING THE FILE, THE MESSAGE *INSUFFICIENT FL- 
          TRANSMISSION IGNORED* IS PRINTED.  THIS IS BECAUSE
          THE DATA NAMES WERE FOUND AND QU ASSUMES THAT 
          THE VALUES ARE TO BE USED FROM THE FILE WHERE 
          THEY WERE LAST STORED.  IT THEREFORE SETS THE 
          *FROM* FILE TO THE SAME NAME AS THE *UPON* FILE.
  
          SOLUTION - WHEN *FRMLFN* IS TO BE SET IN PROC 
          SRCHALL OF DATANAM, A TEST IS MADE TO SEE IF
          THE *FROM* FILE NAME IS THE SAME AS THE *UPON*
          FILE NAME.  IF THE TWO ARE THE SAME, AN ERROR 
          MESSAGE WILL BE PRINTED AND DATANAM RETURN TO 
          STDNO TO STOP THE TRANSMISSION. 
          MLB    03/02/83    DATANAM,EXTRACT,POINTERS,QUGEN,DIAGTEXT
                             RELSPACE,CTL30,CTL40,CTL50,CTL60 
  
QU3A662   PROBLEM - QU NEEDS MODIFICATIONS TO SUPPORT THE NEW 
          8 LINES PER INCH FEATURE ON OUTPUT. 
  
          SOLUTION - THESE CODES WERE GENERATED BY OUR CUSTOMER.
          THE CODES RECIEVED PASSING RESULTS FROM TESTS DONE BY THE 
          SYSTEMS TEST GROUP.  THE QU PROCFIL IS MODIFIED TO REFLECT
          THE CHANGES.  BASICALLY, A NEW VERSION OF PSSTEXT, PREPARED 
          BY NORI FRASIER OF INTEGRATION, NEEDS TO BE ATTACHED BEFORE 
          COMPASS IS CALLED IN THE PROCFIL.  THIS MOD SET, ALONG WITH 
          BSL CHANGES, WERE OBTAINED FROM R. R. RAGAN OF OUR TECHNICAL
          STAFF.  CHANGES TO THE INSTALLATION DECK WERE ALSO PREPARED 
          BY THE INTEGRATION GROUP. 
          CKJ    04/15/83    INITIAL,  QU,  QU1100
  
QU3A664  PROBLEM  - COPYL DID NOT FIND QUSORT DURING QU BUILD.
         THE QUGEN FILE IS MATCHED AGAINST THE LGO FILE BY COPYL. 
         QUSORT IS NOT INCLUDED IN THE QUGEN FILE WHEN SORT5 IS 
         PRESENT; THEREFORE, A MISMATCH OCCURS. 
  
         SOLUTION - INCLUDE QUSORT IN THE QUGEN FILE REGARDLESS OF
         THE PRESENCE OF SORT5.  IN SORT4OR5, THE TESTING OF THE
         PRESENCE OF SORT5 IS ALREADY INSTALLED, SO THE APPROPRIATE 
         SORT PRODUCT IS USED.  ARRANGE THE CONDITIONAL IF STATEMENTS 
         IN SORT4OR5 AND QUSORT SO THAT IF EITHER PROCEDURE IS NOT
         NEEDED BECAUSE THE RELATED SORT PRODUCT IS PRESENT DURING
         BUILD TIME, THE PROCEDURE WILL TURN INTO A ZERO LENGTH 
         RECORD.  THE RESULT BEING MEMORY SPACE SAVED.
         CKJ     08/12/83     QUGEN, QUSORT, SORT4OR5 
QU30575   PROBLEM  - USING THE *DISPLAY UPON* DIRECTIVE AND 
          DISPLAYING EDITED NUMERIC VALUES FOLLOWED BY A LITERAL
          CAUSES THE LAST NUMERIC VALUE TO BE STORED AS BLANKS. 
  
          SOLUTION - A MURAL IS USED WHEN EDITING FIELDS.  THIS 
          MURAL IS MOVED TO A NEWLY ALLOCATED SPACE AND THE OLD 
          SPACE RELEASED WHEN BUILDING THE DESCRIBE TABLE FOR THE 
          UPON FILE.  A LITERAL DOES NOT REQUIRE A MURAL BUT USES 
          THE SAME VARIABLES TO DESCRIBE THE ATTRIBUTES OF THE
          LITERAL.  THE *PTRMURAL* WAS NOT SET TO ZERO, SO THE
          LAST EDITED FIELD*S PTRMURAL WAS STILL IN THE ARRAY 
          CAUSING IT TO BE MOVED AND RELEASED BUT THE NEW ADDRESS 
          WAS STORED IN THE ARRAY FOR THE LITERAL.  THIS CODE 
          WILL SET *PTRMURAL* TO ZERO AT THE TIME THE LITERAL 
          VALUE IS STORED.
          MLB    83/01/13    DATANAM
  
QU30577   PROBLEM - THE DISPLAY-FROM DIRECTIVE DOES NOT RECOGNIZE 
          TEMPORARY DEFINED ITEMS.
          SOLUTION - ONLY DESCRIBED ITEMS WERE ALLOWED IN THIS
          DIRECTIVE.  CHANGE THE TYPEALOW TO 7 SO IT NOT ONLY 
          ALLOWS DESCRIBED ITEMS, BUT DEFINED ONE AS WELL.
          CKJ    12/14/82    DISPLAY
  
QU30579   PROBLEM - QU IGNORES THE FILE CARDS FROM THE JCL INPUT
          STREAM.  THE FL SET FROM THE FILE CARD IS NOT PICKED UP.
          THIS CAUSES THE DISPLAY-UPON DIRECTIVE TO CREATE A FILE 
          WITH RECORD LENGTHS THAT ARE DIFFERENT FROM THE FL SET
          IN THE FILE CARD. 
  
          SOLUTION - SELECT THE MAXIMUM RECORD LENGTH SET FROM
          EITHER THE FILE CARD OR QU ITSELF.  USE THAT AS THE MRL 
          IN THE FIT WHEN OPENING AND WRITING TO A FILE.
          CKJ    01/10/83    CTL30, CTL40, CTL50
  
QU30581   PROBLEM - THE USAGE ERROR MESSAGE (72) IS ISSUED IF 
          THE CUMULATIVE FUNCTION *COUNT* IS USED IN ARITHMETIC 
          EXPRESSIONS.
          SOLUTION - THE OPERATOR PROCEDURE IN EXPANAL FLAGS ANY
          CHARACTER-TYPE OPERAND USED IN AN ARITHMETIC EXPRESSION 
          AS AN USAGE ERROR.  THIS WORKS FOR ALL BUT ONE CUMULATIVE 
          FUNCTION, THE COUNT.  THE COUNT DOES NOT CARE WHAT
          DATA TYPE IT IS HANDLING.  IT CUMULATES THE NUMBER OF 
          OCCURRENCES, NOT THE VALUE OF THE DATA ITEM.  SINCE THE 
          FUNCTION CODE IS NOT SAVED AFTER EARLIER PROCESSING, IT 
          BECOMES NECESSARY TO AVOID THE DIAGNOSTIC BY SETTING THE
          USAGE TYPE TO NUMERIC WHENEVER THE COUNT IS PROCESSED.
          CKJ    02/02/83    CUMFUNC
  
 QU30596  PROBLEM - SUBSCHEMA FILE NOT BEING RETURNED PROPERLY BY A 
                    SUBSEQUENT USE/INVOKE.
          SOLUTION - INTRODUCE THE FLAG *SAMELFN* FOR NOS WHICH 
                     INDICATES THE PREVIOUS SUBSCHEMA FILE HAS THE SAME 
                     LFN AS THE NEW ONE. THEREFORE, NOS RETURNS THE OLD 
                     FILE WHEN IT ATTACHES THE NEW ONE, AND QU SHOULD 
                     NOT TRY TO RETURN IT AGAIN.
          NOTE - QU3A567 TRIED UNSUCCESSFULLY TO FIX THIS PROBLEM AND 
                 IN DOING SO CREATED MORE SERIOUS PROBLEMS, SO QU3A567
                 IS PURGED BY THIS PSR. 
          EMV    06/01/83    CUVMAIN,USE,USECDCS,USECRM 
  
QU30607   PROBLEM  - QU PROHIBITS MORE THAN 50 OS DIRECTIVES IN ONE 
          QU SESSION. 
  
          SOLUTION - INSTEAD OF JUST ISSUING A ZZZZZQU CALL AT THE END
          OF THE OS CCL PROCEDURE, DO A (REVERT,EX. ZZZZZQU.) TO CLEAR
          PREVIOUS  CCL LEVEL.
          CKJ    07/22/83    OSEXEC 
 *L617*    ************************************************ 
 QU3A666  PROBLEM  - THIS PSR IS THE QU3.4 EQUIVALENT OF THE QU30597. 
                     QU30597 CAME IN WITH QU30598.  SINCE THEY SHARED 
                     SIMILIAR PROBLEMS WITH MODIFY IN QU, ALL CODES FOR 
                     QU3.3 ARE TRANSMITTED UNDER QU30597 ONLY.
  
                     CAUTION - THIS CODE IS FOR QU3.4 ONLY. 
  
                     THE CUSTOMER REPORTED SEVERAL PROBLEMS WITH MODIFY.
                     ONE OF THEM WE CAN NOT SOLVE BY CHANGING QU.  IT 
                     DEALT WITH MODIFYING THE PRIMARY KEY WHILE DOING 
                     A SEQUENTIAL SEARCH ON A NON-KEY ITEM IN THE FILE. 
                     CHANGING THE PRIMARY KEY TO A HIGHER KEY VALUE WILL
                     CAUSE THE MODIFIED RECORD TO BE INSERTED AHEAD OF
                     THE CURRENT FILE POSITION.  QU WILL NO DOUBT RUN 
                     INTO THIS SAME RECORD AGAIN.  WHEN IT DOES, AND THE
                     RECORD SELECTION CRITERIA REMAINS TRUE, THE SAME 
                     SAME RECORD WILL BE MODIFIED AGAIN.  FURTHERMORE,
                     IF THE PRIMARY KEY IS CHANGED BY AN EXPRESSION THAT
                     GENERATES A GREATER KEY VALUE EACH TIME AROUND, QU 
                     WILL FALL INTO A LOOP THAT LASTS UNTIL THE KEY 
                     FIELD GETS OUT OF ITS LEGAL RANGE (054 QU ERROR).
  
                     THE SOLUTION GIVEN TO THE CUSTOMER WAS TO CREATE A 
                     NEW FLAG IN THE RECORD.  ONE THAT WILL HELP THE
                     RECORD SELECTION CRITERIA TO BE MORE RESTRICTIVE.
  
                     THE FOLLOWING PROBLEMS ARE FIXED BY NEW CODES. 
  
                     VETO IS PROMPTING FOR THE DELETION OF THE OLD
                     RECORD, AND THE INSERTION OF THE NEW RECORD. 
                     THIS HAPPENS WHEN THE KEY IS BEING MODIFIED, AND 
                     THE -IF- DIRECTIVE IS USED.
  
                     AT PRESENT, 2 HITS ARE COUNTED FOR EACH RECORD 
                     MODIFIED.  THIS IS SIMILIAR TO THE VETO PROBLEM. 
                     USERS SHOULD NOT BE AWARE OF THE DOUBLE ACTIONS
                     INVOLVED WITHIN MODIFY.  THEY SHOULD VIEW MODIFY 
                     AS ONE TRANSACTION ONLY, WHETHER KEYS ARE BEING
                     MODIFIED OR NOT. 
  
                     THE LAST AND THE MOST SERIOUS PROBLEM.  QU IS
                     LOSING THE OLD RECORD WHEN MODIFY FAILS BECAUSE
                     DUPLICATE KEY ERROR. 
  
                     ALL THE ABOVE ARE QU/CRM AND QU/CDCS PROBLEMS. 
  
          SOLUTION - THE VETO PROBLEM.  QU NOW TAKES IN THE NEW RECORD
                     AND PROMPTS THE USER WITH THE NEW RECORD IMAGE 
                     ONCE FOR VETO.  IF RESPONSE IS #YES#, QU WILL GO 
                     THROUGH THE WHOLE PROCESS OF MODIFY WITHOUT
                     PROMPTING THE USER AGAIN.  ALSO, THE NUMBER OF 
                     HITS IS CONTROLLED TO ONE PER RECORD MODIFIED. 
  
                     THE RECORD LOSS PROBLEM.  MODIFY HAS TWO SEPERATE
                     PROCESSES WHEN PRIMARY KEYS ARE BEING CHANGED.  ONE
                     DELETES THE OLD RECORD, THE OTHER INSERTS THE NEW
                     ONE.  QU HAVE BEEN DELETING THE OLD ONE BEFORE 
                     INSERTING THE NEW ONE.  THE OLD RECORD IS GONE BY
                     THE TIME DUPLICATE KEY ERRORS ARE DETECTED UPON
                     INSERT.  THE NEW CODE REVERSES THE ORDER OF MODIFY.
                     QU WILL NOW INSERT BEFORE DELETE.  IF ANY ERRORS 
                     ARE DETECTED UPON INSERT, THE WHOLE MODIFY PROCESS 
                     IS CANCELLED.  NO RECORD WILL BE LOST. 
  
                     IN QU/CDCS, THE PROCESSES ARE COMPLICATED BY THE 
                     RECORD LOCKING FEATURE OF CDCS.  TO REGAIN THE LOCK
                     FOR THE DELETION OF THE OLD RECORD, QU HAS TO RE-
                     READ THE OLD RECORD AFTER INSERTING THE NEW RECORD.
                     FURTHERMORE, THE DELETION OF THE OLD RECORD MAY
                     FAIL BECAUSE OF CONSTRAINT VIOLATIONS IN CDCS.  IF 
                     THIS HAPPENS, THE NEWLY INSERTED RECORD IS DELETED 
                     AND THE WHOLE MODIFY PROCESS FOR THAT GIVEN RECORD 
                     IS CANCELLED.  THIS IS DONE BY SAVING THE NEW KEY
                     VALUE WHEN THE NEW RECORD IS FIRST INSERTED.  WHEN 
                     THE DELETION OF THE OLD RECORD FAILS, THE KEY THAT 
                     FITKA POINTS TO IS REPLACED BY THE SAVED NEW KEY 
                     VALUE.  THEN THE INSERTED RECORD IS READ IN TO GAIN
                     CONTROL OF THE LOCK, AND IT IS DELETED.
  
                     VETO IS NOW CHANGED TO PROMPT THE USER ONCE PER
                     RECORD MODIFIED.  ALSO, THE NUMBER OF HITS IS FIXED
                     LIKE-WISE. 
          CKJ     83/08/29   CTL40, CTL50 
  
 QU3A672  PROBLEM  - NO HITS ARE COUNTED WHEN *UPDATE-USING* IS USING 
                     ALTERNATE KEYS.  THIS IS BECAUSE THE MODIFY-KEY
                     FLAG, BASCMODKEY, IS INCORRECTLY SET IN *DELUPSYN*.
                     *UPDINSIO* IN *CTL50* FOR CDCS CHECKS THE STATUS 
                     OF THIS FLAG BEFORE INCREMENTING THE HITS COUNTER. 
                     IF THE FLAG IS SET, HITS WILL NOT BE INCREMENTED.
  
          SOLUTION - DO NOT SET THE MODIFY-KEY FLAG, BASMODKEY, FOR 
                     *UPDATE* DIRECTIVES.  ONLY *MODIFY* CAN CHANGE 
                     KEY VALUES.
          CKJ     83/12/05   DELUPSYN 
  
 QU30595  PROBLEM  - LOGICAL EXPRESSIONS ARE NOT EVALUATED CORRECTLY
                     IF A SPECIFIED CONDITION IS USED AS THE FIRST
                     OPERAND FOR A LOGICAL OPERATOR.
  
                     PSR F2545MB ADDED A FOURTH ENTRY TO THE DATASTACK
                     IN *EXPANAL*.  THE ITEM PSTKLOC IS USED TO SAVE
                     THE LOCATION OF THE OPERATOR RELATIVE TO THE 
                     PROGRAMSTACK.  WHEN LOGICAL OPERATORS ARE FOUND, 
                     PROGRAMSTACK SKIP INFORMATION IS SET TO THE ENTRY
                     POINTED TO BY PSTKLOC.  PSTKLOC IS SET ONLY WHEN 
                     AN OPERATOR IS ENCOUNTERED.
  
                     THIS DOES NOT WORK FOR EXPRESSIONS WITH CONDITIONS 
                     BECAUSE CONDITIONS DO NOT ALWAYS HAVE A RELATIONAL 
                     OPERATOR ASSOCIATED WITH THEM.  WHEN A CONDITION 
                     DOES NOT HAVE A RELATIONAL OPERATOR, THE LOGICAL 
                     OPERATOR WILL BE ENCOUNTERED FIRST.  THAT WILL 
                     CAUSE THE SKIP INFORMATION TO BE SET USING A 
                     PSTKLOC THAT IS NOT PROPERLY SET YET.
  
          SOLUTION - WHENEVER A CONDITION IS ENCOUNTERED AND ITS ENTRY
                     PUSHED ONTO THE DATASTACK, SET THE PSTKLOC TO THE
                     POSITION OF THE CONDITION IN THE PROGRAMSTACK. 
                     WHEN THE CONDITION STACK IS EVALUATED, CALL
                     *SKIPPER* TO SEE IF THE RESULT OF THE CONDITION
                     JUSTIFY SKIPPING ON PARTS OF THE EXPRESSION. 
          CKJ     83/11/11   EXPANAL,  EXPEV
  
 QU30599  PROBLEM  - WHEN QU DETECTS THAT *SEARCH* DATABASE PROCEDURES
                     EXIST FOR AREA FILES IN USE, IT WILL LET THE DB
                     PROCEDURES HANDLE ALL RECORD RETRIEVALS AND UPDATES
                     ON THOSE FILES.  IT IS UNDER THOSE CONDITIONS, THAT
                     QU IS NOT HANDLING DATABASE PROCEDURES CORRECTLY.
                     THEY ARE USED TO REPLACE SPECIFIC CRM FUNCTIONS. 
                     THE PRESENT COMMUNICATION PROTOCOL DOES NOT ALLOW
                     QU TO ADDRESS THE VARIOUS FUNCTIONS EXPLICITLY.
                     FOR EXAMPLE, IN ORDER FOR A SEARCH OPERATION TO
                     BE MEANINGFUL, THE DBP NEEDS TO KNOW WHETHER QU
                     WANTS TO DO A CRM EQUIVALENT GET, GETN OR REWIND.
                     SIMILIARLY, THE DBP NEEDS TO KNOW WHETHER QU WANTS 
                     TO DO A PUT, DELETE OR REPLACE IN AN UPDATE EXIT.
  
                     QU SHOULD ISSUE SOME OF THE MEANINGFUL CRM ERROR 
                     MESSAGES THAT ARE APPLICABLE FOR DBPS AS WELL. 
  
          SOLUTION - A NEW PARAMETER, DBP-ACTION, IS ADDED TO THE END OF
                     THE PARAMETER LIST.  QU USES DBP-ACTION TO INFORM
                     THE DBP WHAT CRM FUNCTION SHOULD IT PERFORM. 
                     THE FOLLOWING STANDARD IS ADOPTED. 
                        ON CALL EXIT      DBP-ACTION     CRM FUNCTION 
                       --------------    ------------   --------------
                          OPEN                 1        OPEN FOR INPUT
                                               2        OPEN FOR I-O
                          SEARCH               1        REWND 
                                               2        GET 
                                               3        GETN
                          UPDATE               1        PUT 
                                               2        DELTE 
                                               3        REPLC 
  
                     THE OTHER VITAL INFORMATION THAT IS NOT EXPLICITLY 
                     ADDRESSED IN THE PARAMETER LIST IS SET IN THE
                     QU FIT.  THEY CAN BE EXTRACTED FROM THE QU FIT BY
                     USING EITHER THE FETCH MACRO IN COMPASS, OR THE
                     IFETCH FUNCTION VIA FORTRAN OR COBOL.  THERE ARE 
                     FOUR FIT FIELDS ASIDE FROM THE ONES ALREADY PASSED 
                     IN THE PARAMETER LIST THAT ARE OF INTEREST TO THE
                     DBP.  THESE ARE RKW, RKP, MRL, AND MKL.
  
                     QU IS CHANGED TO DISPLAY THREE ADDITIONAL ERROR
                     MESSAGES FOR THE DBP.
                        ERROR              QU DIAG #     CRM -ES- 
                     ----------------     -----------   ----------
                     UNKNOWN KEYS             802          445 (OCTAL)
                     DUPLICATE PRIMARY        800          446
                     DUPLICATE ALTERNATE      347          503
  
                     IN ORDER TO DRIVE QU PROPERLY UNDER THESE ERROR
                     CONDITIONS, THE DATABASE PROCEDURES MUST SET 
                     THE -ES- FIELD IN THE QU FIT WITH THE APPLICABLE 
                     CRM CODE.  THIS CAN BE ACCOMPLISHED BY USING THE 
                     STORE MACRO IN COMPASS, OR THE STOREF FUNCTION VIA 
                     FORTRAN OR COBOL.  THE -RC- OR RETURN-CODE MUST BE 
                     SET TO 1 IF -ES- IS SET. 
  
                     IF -RC- IS SET TO 1, AND -ES- IS ZERO (PRESET TO 
                     ZERO BY QU), THEN QU WILL TREAT THIS AS AN END-OF- 
                     FILE CONDITION.
  
                     DBPS SHOULD ALWAYS RETURN THE FOLLOWING INFORMATION
                     TO QU IN ADDITION TO -RC- AND -ES-.  THE RECORD, 
                     THE KEY, AND THE RECORD-LENGTH.
  
                     *** EFFICIENCY.  IF MULTIPLE ALTERNATE KEYS ARE
                     USED IN A SINGLE AREA QUERY, OR IN THE ROOT-AREA 
                     OF THE RELATION IN USE, A FILE PASS IS DONE BY QU. 
                     THIS IS ONLY TRUE IF THE SINGLE AREA, OR THE ROOT- 
                     AREA HAS A *SEARCH* DATABASE PROCEDURE.
  
                     *** PLEASE BE SURE NOT TO DO ANY TERMINAL I-O FROM 
                     THE DATABASE PROCEDURE.  THAT WILL CAUSE QU TO 
                     LOOSE ITS INTERACTIVE OUTPUT CAPABILITY. 
          CKJ     83/01/20   DBP$00, DBP$X0, DBP$PIL, CALLOWN, CTL30
                             CTL40, DBP$SAC, IFKEY, NEXTGET 
  
 QU30603  PROBLEM  - CUSTOMER ENCOUNTERED A MODE 1 ERROR DURING 
                     A DISPLAY UPON DIRECTIVE.  THE PROBLEM IS DUE
                     IN PART TO USER ERROR.  WHEN RECORD-TYPE IS NOT
                     DEFINED FOR A CRM FILE, FIXED-LENGTH WITH A
                     MINIMUM RECORD SIZE OF 10 CHARACTERS IS ASSUMED. 
                     THE USER HAD A 1 CHARACTER FIXED LENGTH RECORD.
                     A ZERO-BYTE RECORD TYPE WILL SOLVE THE PROBLEM.
                     ALSO, THE USER FORGOT TO USE THE /SEP ITEM-SIZE/ 
                     CLAUSE FOR THE DISPLAY UPON DIRECTIVE.  ASIDE
                     FROM THESE USER ERRORS, QU ALSO HAVE SOME PROBLEMS 
                     OF ITS OWN THAT PREVENTED DISPLAY UPON TO WORK.
  
          SOLUTION - THE PROBLEM IS CAUSED BY PSR QU3A599, WHICH
                     CALLS CMMFRF TO FREE THE PTRMURAL IF THE ITEM
                     IS NOT A DESCRIBED DATA ITEM.  THE CODE ASSUMED
                     THAT ONLY DESCRIBED DATA ITEMS NEED THE MURAL. 
                     THAT IS NOT TRUE, BOTH AREA AND DEFINED DATA ITEMS 
                     WITH EDITING CHARACTERS NEED THE PICTURE MURAL.
                     THE REASON FOR THE ABORTION IS BECAUSE THE FREED 
                     MURAL SPACE IS REUSED FOR SOME OTHER PURPOSES, 
                     AND THAT CAN CAUSE VERY UNDERSIRABLE RESULTS.
          CKJ     83/10/27   EXTRACT
  
QU30609   PROBLEM  - CONDITIONS THAT INVOLVE DESCRIBE ITEMS ARE 
          TREATED AS TEMPORARY DEFINED ITEMS.  THE RESULT IS THE
          CONDITION IS EVALUATED BEFORE A FULL FILE PASS IS DONE. 
  
          SOLUTION - A FLAG IS SET IF AREA ITEMS ARE FOUND IN THE 
          EXPRESSION DURING THE PROCESS OF *SPECIFY*.  WHEN THE 
          CONDITION IS USED, THIS FLAG HELPS TO INDICATE THAT 
          A FULL FILE PASS IS NEEDED BEFORE ANY EVALUATIONS OF
          THE CONDITIONAL EXPRESSION IS PERFORMED.   A SIMILIAR 
          FLAG DESIGNATED FOR DESCRIBE ITEMS SOLVES THE PROBLEM.
          CKJ    07/28/83    TDESATT  DATANAM  SPEDEDE
 QU30621  PROBLEM  - QU ABORTS WHEN DEFINED MATRICES OF 64 ITEMS
                     OR MORE ARE REFERENCED WITH THE *ALL* OR *ANY* 
                     SUBSCRIPT. 
  
                     THE PROBLEM IS CAUSED BY PSR QU3A491.  IT CREATED
                     TWO NEW WORDS, SAVEANY AND SAVEALL, TO SAVE THE
                     ANYFG AND ALLFG FLAGS FOUND IN THE INDTBL TABLE. 
                     IT MADE A MISTAKE BY USING THE NUMBER OF ITEMS 
                     AS THE LIMIT FOR A LOOP WHEN SCANNING THE TWO WORDS
                     FOR FLAG BITS THAT ARE SET.  SINCE THE ANY-ALL 
                     FLAGS FROM THE INDEX TABLE ARE SET USING THE SAME
                     LOOP COUNTER, MEMORY CONTENTS CAN BE CLOBBERED 
                     WHEN THE NUMBER OF ITEMS EXCEEDS 60.  IN THE CASE
                     OF THE CUSTOMER EXAMPLE, WHERE 100 ITEMS WERE
                     DEFINED FOR A MATRIX, THE UPON-FILE FIT FOR THE
                     DISPLAY-UPON DIRECTIVE WAS CLOBBERED.  THIS HELP 
                     TO EXPLAIN WHY THE DISPLAY WORKS WITH NO UPON-FILE.
  
          SOLUTION - INSTEAD OF USING THE NUMBER OF ITEMS AS THE LOOP 
                     LIMIT, USE THE NUMBER OF LEVEL OF QUALIFICATION, 
                     OR *TBLGS* IN THE INDEX TABLE (INDTBL).
          CKJ     83/11/03   EXPEV
  
 QU3A671  PROBLEM  - SORT5 ABORTS QU WHEN QU SENDS IT A RECORD WHOSE
                     LENGTH IS TOO SHORT TO HOLD ALL THE SORT KEYS. 
                     QU USE THE FIT -RL- AS THE RECORD LENGTH FOR 
                     SORT5.  IF Z TYPE RECORDS ARE READ VIA AAM, THE
                     FITRL MAY INDICATE A RECORD LENGTH THAT IS TOO 
                     SHORT TO HOLD THE KEYS.
  
          SOLUTION - FIND THE SORT KEY WHOSE POSITION ON THE RECORD 
                     IS THE LAST OF ALL THE KEYS USED.  THE RECORD
                     LENGTH THAT IS REQUIRED TO HOLD THIS LAST KEY
                     IS THE MINIMUM SORT RECORD LENGTH.  IF AAM 
                     RETURNS A FITRL THAT IS SMALLER THAN THE MINIMUM 
                     RECORD LENGTH, THE MINIMUM LENGTH IS PASSED TO 
                     SORT5 INSTEAD. 
          CKJ     83/11/17   SRT4OR5
  
 *L628*    ************************************************ 
 QU3A673  PROBLEM - QU ABORTS WITH A MODE ERROR AFTER REPEATED USES OF
                    *IF SAME*.
          SOLUTION - THE START ADDRESS OF THE *SAME* BUFFER WAS 
                     IMPROPERLY SET AFTER THE *SAME* CONDITION WAS
                     EXPANDED UPON.  THIS CODE CORRECTS THAT BY MOVING
                     THE RELEASE OF THE OLD BUFFER AND THE STORING OF 
                     THE NEW BUFFER ADDRESS UP BEFORE THE CODE THAT MAY 
                     CHANGE IT. 
          EMV    01/31/84    SAME 
  
 QU3A674  PROBLEM  - QU SORT OF EXTRACTED FILE GARBAGED RECORDS WHEN
                     FILE CONTROL STATEMENTS WERE USED.  THE FITMRL 
                     OF THE UPON-FILE WAS REPLACED WITH RL BEFORE WSA 
                     WAS ASSIGNED IN COMDECK EXTRACTM.  FURTHERMORE,
                     CRM WAS NOT ABLE TO REPROCESS THE FILE CARD
                     DURING OPENM BECAUSE THE STFT AND PDF FIT FIELDS 
                     WERE SET BY A SETFIT OPERATION.  THE RESULT IS 
                     QU IS PASSING TO SORT5 A MRL THAT IS TOO SHORT 
                     FOR THE FILE TO BE SORTED. 
  
          SOLUTION - LEAVE THE MRL FOR THE EXTRACT-UPON FILE ALONE. 
          CKJ     84/02/10     EXTRACTM 
  
 QU3A675  PROBLEM - QU INTERMITTENTLY GETS INTO AN ENDLESS LOOP WHEN
                    EXACTLY 10 IMF DATABASE ITEMS ARE DISPLAYED.
          SOLUTION - THE DISPLAY TABLE CONTAINS 31 WORDS (10 ENTRIES OF 
                     3 WORDS EACH AND AN OVERFLOW WORD).  THE CODE FOR
                     AN IMF DISPLAY ASSUMED THAT IF THE OVERFLOW WORD 
                     IS NON-ZERO, IT CONTAINS A POINTER TO ANOTHER
                     BLOCK OF DISPLAY TABLE.  HOWEVER, THIS WORD ALSO 
                     CONTAINS THE DISPLAY SIZE FIELD.  THIS PSR ADDS
                     CODE TO ALLOW FOR THIS FIELD.
          EMV    03/09/84    CTL60
  
 QU3A677  PROBLEM - USE OF *SAME* WITHIN A QU3.4 CONDITION CAN GIVE 
                    DIFFERENT RESULTS THAN QU3.3. 
          SOLUTION - QU3.3 TREATED *SAME* WITHIN A CONDITION AS IF IT 
                     WERE ENCLOSED IN PARENTHESES, BUT QU3.4 DOES NOT.
                     CODE HAS BEEN ADDED TO EXPLICITLY ENCLOSE THE
                     *SAME* CONDITION IN PARENTHESES WHEN IT IS BEING 
                     SAVED. 
          EMV    02/07/84    SAME 
  
 QU3A678  PROBLEM - INCOMPATIBILITIES WERE INTRODUCED INTO QU DATA
                    RETRIEVAL BY NEW FEATURES AT CPS R9.
          SOLUTION - INTRODUCE THE *LOOKUP* DIRECTIVE, WHICH GIVES THE
                     USER THE ABILITY TO CHANGE THE DATA LOOKUP ORDER.
                     ALSO INTRODUCE THE *DIRECTORY* DIRECTIVE TO CONTROL
                     WHETHER DISPLAY AND EXTRACT BUILD DIRECTORIES FOR
                     THE FILES THEY CREATE, AND THE *WITH DIRECTORY*
                     CLAUSE TO OVERRIDE IT FOR INDIVIDUAL DISPLAY OR
                     EXTRACT DIRECTIVES.
          EMV    02/14/84    CDCSNAM,CRMNAME,DATANAM,DIAGTEXT,DIRECTORY,
                             DISPLAY,EXTRACT,IMFDICT,LEXID,POINTERS,
                             QUGEN,SPEDEDE,SUB06,SUB11,SUB60, 
                             SYMPL06,SYMPL11,SYMPL60,SYNGN01.SYNGN77
  
 QU3A679   PROBLEM  -  PROBLEM WITH QU3 FLUSH OUTPUT. 
           SOLUTION -  SAVE AND RESTORE THE LIST OF FILES ACROSS A
                       CALL TO AN *EXECUTE*S SUBROUTINE.  THIS IS 
                       REQUIRED SO WE CAN MAINTAIN AUTOMATIC FLUSHING 
                       OF THE OUTPUT BUFFER.
           PJR     84/03/21     LOADREL 
  
 QU3A680  PROBLEM  - QU/CRM SUBSCHEMA DIRECTORY FILES ARE NEVER DETACHED
                     DURING A QU SESSION FOR EFFICIENCY REASON.  THIS 
                     POSES A PROBLEM WHEN AN ERRONEOUS INVOKE DIRECTIVE 
                     IS EXECUTED WITH AN EXISTING AREA FILE NAME INSTEAD
                     OF A SUBSCHEMA NAME.  AN ENTRY IS CREATED IN THE 
                     LIST-OF-FILES FOR THE AREA FILE JUST LIKE HOW IT 
                     IS FOR THE SUBSCHEMA FILES.  QU ABORTS WHEN IT 
                     TRIES TO OPEN THE AREA FILE AFTER A SUCCESSFUL 
                     INVOKE OF THE RELATED SUBSCHEMA.  CRM USES THE FIT 
                     CONTAINED IN THE LOF ENTRY INSTEAD OF THE FIT
                     SUPPLIED WITH THE OPENM CALL.
  
          SOLUTION - THE AREA FILE LEFT IN THE LOF BECAUSE OF AN
                     ERRONEOUS INVOKE NEEDS TO BE CLOSED AND DETACHED.
                     A NEW COMPASS ROUTINE, CLSEDET, IS CREATED IN
                     QU0502 TO CLOSE AND DETACH THE  *DIRSUB*  FIT. 
                     THE *DIRSUB* FIT IS USED TO OPEN ALL THE SUBSCHEMA 
                     DIRECTORIES IN A QU SESSION;   THEREFORE,  ALL 
                     SUBSCHEMA ENTRIES IN THE LOF HAVE THE SAME FIT.
                     WHEN A CLOSE AND DETACH IS PERFORMED WITH THAT 
                     FIT,  ALL THE SUBSCHEMA ENTRIES,  NOT JUST THE 
                     ERRONEOUS AREA ENTRY, IN THE LOF ARE AFFECTED. 
                     THE COST OF THIS ACTION IS THE INEFFICIENCY IN 
                     REOPENING  DETACHED  SUBSCHEMA  FILES  DURING
                     SUBSEQUENT INVOKES OF THE SAME SUBSCHEMAS. 
          CKJ     84/04/18     QU0502,  USECRM
  
 QU30606  PROBLEM  - *STORE...MOVE..* AND *STORE...SETTING..* DIRECTIVES
                     FAIL ON NON-EMBEDDED KEY.  THE RESULT OF FIRST 
                     FIELD OF THE RECORD IS PUT INTO KEY FIELD, AND QU
                     RETURNS AN 'DUPLICATE KEY ON INSERT' IF ATTEMP TO
                     INSERT ANOTHER RECORD WITH A SAME VALUE IN THE 
                     FIRST FIELD OF THE RECORD. 
          SOLUTION - NON-EMBEDDED KEY SHOULD BE CONVERTED AND PUT INTO
                     KEY ARRAY INSTEAD OF RECORD.  PROCEDURE -KEYTOKA-
                     SHOULD NOT BE PERFORMED, BECAUSE THE KEY IS ALREADY
                     IN THE KEY ARRAY AND NOT IN THE RECORD.
          KIM    06/25/84    CTL40,DELUPSYN,MOVEVAL 
  
 QU30633  PROBLEM - A MODE ERROR OCCURRED AFTER THE SECOND -IF ...
                    DISPLAY- COMMAND IF THE FIRST WAS TERMINATED
                    BEFORE COMPLETION.
          SOLUTION - THE PRIMARY KEY FILE CREATED BY -RM$BLP- WAS NOT 
                     BEING CLOSED AND RELEASED UPON EARLY TERMINATION OF
                     THE -IF ... DISPLAY-.  THIS CODE ADDS A CLOSE OF 
                     THE KEYFILE TO THE -RELSPACE- COMDECK, WHICH IS
                     EXECUTED AT THE END OF EVERY TRANSMISSION. 
          EMV    03/16/84    GETPRKEY,RELSPACE,QU2000 
                             (CALLBLP,CDCSGET,CTL30,CTL40,CTL50 
                             DCLLBLP,NEXTGET) 
  
 QU30634  PROBLEM - QU/CDCS RETURNS AN ERROR INSTEAD OF THE MESSAGE 
                    -NO RECORD QUALIFIED- ON AN -IF- WHEN THE VALUE 
                    OF THE RETRIEVAL KEY IS GREATER THAN THE HIGHEST
                    VALUE IN THE DATABASE.
          SOLUTION - CHECK THE FILE POSITION IN THE -DBSTAT- ARRAY
                     INSTEAD OF IN THE -FIT-, SINCE CDCS DOES NOT RESET 
                     ALL -FIT- FIELDS UPON RETURN.  ALSO ADD A FILE 
                     POSITION CHECK WHEN CDCS RETURNS WITH AN UNKNOWN 
                     KEY ERROR. 
          EMV    03/06/84    CDCSGET
  
 QU30635  PROBLEM  - QU DISPLAYS ERROR 913, INVALID DATA ENCOUNTERED
                     DURING CONVERSION, INCORRECTLY, WHEN USING TWO 
                     KEYS FROM TWO RECORDS TO RETRIEVE RECORD FROM
                     A RELATION.
          SOLUTION - DO NOT PROCESS THE SECOND KEY, WHICH IS NOT IN 
                     LOWAREA. 
          KIM   05/30/84    EXPEV20 
  
 QU30645  PROBLEM  - AN -IF- DIRECTIVE CONTAINING A LONG ARITHMETIC 
                     EXPRESSION WHICH REQUIRES THE ALLOCATION OF AN 
                     ADDITIONAL BLOCK OF 25 ENTRIES FOR THE LOCAL 
                     PROGRAM STACK TO STORE ITS ENTRIES GIVES AN
                     INCORRECT RESULT.
          SOLUTION - SINCE THERE ARE MORE THAN ONE BLOCK OF PROGRAM 
                     STACKS CONTAIN THE ENTRIES OF THE EXPRESSION,
                     IT IS IMPORTANT TO HAVE THE PROGRAM STACK
                     POINTER POINTS TO ADDRESS OF THE CURRENT BLOCK.
          KIM    84/04/16    EXPANAL
  
 QU30654  PROBLEM  - WHEN AN ATTEMPT IS MADE TO CREATE AN AREA FILE 
                     WITH A *CREATE*, OR TO *INVOKE* A SUBSCHEMA, 
                     QUERY UPDATE ABORTS WITH A MODE ERROR ON A 176 
                     DUE TO A DIVIDE BY ZERO. 
          SOLUTION - DO NOT DIVIDE IF THE DIVISOR IS ZERO.
          KIM   08/08/84    BGTABLE 
  
 *L642*    ************************************************ 
 QU3A682  PROBLEM  - QU MODED OUT WHEN LARGE NUMBER OF KEYS ARE TO BE 
                     RETRIEVED.  WHILE MERGING BUFFERS ONTO FILE, QU
                     READS PASS THE END-OF-FILE LABEL OF THE BUFFER.
          SOLUTION - STOP READING WHEN REACH END-OF-FILE LABEL. 
          KIM   09/05/84    RM$BLP
  
 QU3A684  PROBLEM  - QU -STORE SETTING- DIRECTIVE DOES NOT WORK PROPERLY
                     FOR ACTUAL KEY FILE.  QU STORES EVERY OTHER RECORD 
                     INTO THE DATABASE. 
          SOLUTION - *BASCTEMP* FIELD IS USED BY BOTH NON-EMBEDDED KEY
                     AND ACTUAL KEY FILES WITH DIFFERENT PURPOSES.  A 
                     CONDITION IS PUT IN TO CHECK FOR THE FILE ORGANI-
                     ZATION.
          KIM  84/11/01     CTL40 
  
 QU30630  PROBLEM  - QU ABORTS WITH "MONITOR CALL ERROR" ON AN -OS- 
                     DIRECTIVE.  IN THE PROCESS OF CONNECTING 
                     INTERACTIVE FILES THE FET ADDRESS IS LOST DUE
                     TO SETTING OFF THE PROMPT
          SOLUTION - FINISH THE REQUEST FOR CONNECTING THE FILES
                     BEFORE SET OFF THE PROMPT. 
          KIM   84/12/03     OSEXEC 
  
 QU3A679  PROBLEM  - QU ABORTED WITH ERROR 425, CANNOT USE FILE FF AS 
                     BOTH SOURCE AND TARGET FILE, WHILE ATTEMPTING
                     EXTRACT AN RESTRICTED ITEM FROM A RELATION.
                     WHILE CRACKING THE *WHERE* OPTION OF THE *RESTRICT*
                     CLAUSE, THE -TYPEALOW- OF THE RESTRICTED ITEM IS 
                     FORCED TO EQUAL TO 6 IN THE EXPANAL BY QU30573.
          SOLUTION - PURGE QU30573 PSR. 
          NOTE     - QU30573 TRIED UNSUCCESSFULLY TO FIX THE *PERFORM*
                     DIRECTIVE WITH A SPECIFIED CONDITION IN THE *UNTIL*
                     CLAUSE PROBLEM, AND IN DOING SO CREATED MORE 
                     SERIOUS PROBLEMS.  SO THIS PSR WILL PURGE QU30573
                     AND PROVIDE NEW CODES TO FIX THE *PERFORM* PROBLEM.
          KIM     85/02/08   EXPANAL, LEXID 
  
 *L650*    ************************************************ 
 QU3A685    PROBLEM  - CDCS RETURNS ERROR 624, "RECORD TYPE NOT IN SUB- 
                       SCHEMA", WHEN A RECORD OF A TYPE NOT IN THE SUB- 
                       SCHEMA IS READ.  QU CURRENTLY, UPON RECEIPT OF 
                       THIS ERROR, ISSUES DIAGNOSTIC 624 ON BOTH
                       SEQUENTIAL AND RANDOM READS. 
            SOLUTION - QU SHOULD READ THE NEXT RECORD FOR SEQUENTIAL
                       READS AND REPORT THE DIAGNOSTIC 624 FOR RANDOM 
                       READS. 
            KIM     85/01/22  CDCSGET 
  
 QU3A686  PROBLEM  - WHEN COMBINING AN *IF* DIRECTIVE, WHICH COMPARES 
                     A TEMPORARY ITEM TO AN AREA ITEM, WITH A *DISPLAY* 
                     AND A *MODIFY SETTING*, WHICH USES ONLY TEMPORARY
                     DATA ITEMS, THE DISPLAY GETS DONE TWICE, AND THE 
                     MODIFY DIRECTIVE DOES NOT APPEAR TO EXECUTE AT ALL.
                     THE IF CONDITION INVOLVES AN AREA ITEM SO IT IS
                     ASSUMED TO BE EXECUTED IN THE (40,0) OVERLAY, BUT
                     THE *MOD SETTING* USES ONLY TEMPORARY ITEMS AND THE
                     VARIABLE -REFERFILE- IS SET TO 1 (READ) NOT 77B
                     (UPDATE).  IN IFKEY, WHICH IS STARTED BY (20,1)
                     OVERLAY, CALLS LOADOVL TO LOAD (30,0) OVERLAY
                     BECAUSE -REFERFILE- HAS VALUE OF 1 (READ).  AND
                     (30,0) OVERLAY DOES NOT PROCESS *MOD SETTING*
                     DIRECTIVE. 
          SOLUTION - MODIFY QU3000 AND CTL30 TO PROCESS *MOD SETTING* 
                     DIRECTIVE WHEN IT USES ONLY TEMPORARY ITEM.
          KIM     85/07/29   CTL30,QU3000 
  
 QU3A687  PROBLEM  - DATABASE PROCEDURES CAN SOMETIMES CAUSE EXTRA
                     COPIES OF CRM TO GET LOADED. 
          SOLUTION - MAKE SURE THE PASSLOC LIST USED IN LOADING THE 
                     DBP IS SUFFICIENTLY COMPLETE TO ALLOW REFERENCE
                     TO THE CRM IN 0,0. 
          CFR    85/05/13    DBP$PIL, DBP$00, DBP$X0
  
 QU30680  PROBLEM - QU/CDCS CAN GO INTO A LOOP RETRIEVING FROM THE
          DATABASE AFTER AN -OS- DIRECTIVE HAS BEEN USED.  THE TEST 
          CASE WAS DOING AN EXTRACT OF THE ENTIRE AREA.  IT CORRECTLY 
          WROTE ALL THE RECORDS OF THE AREA, THEN LOOPED WRITING THE
          LAST RECORD OVER AND OVER AND OVER. 
  
          SOLUTION - WHEN AN -OS- DIRECTIVE IS EXECUTED, QU MUST END
          ITS CURRENT CONNECTION TO CDCS BEFORE EXECUTING THE COMMAND,
          THEN RECONNECT TO CDCS AFTER GETTING CONTROL AGAIN.  IN THIS
          SITUATION, QU NEGLECTED TO REDECLARE ITS DATABASE STATUS
          BLOCK TO CDCS, AND CDCS THEREFORE DID NOT RETURN A STATUS TO
          THAT STATUS BLOCK, AND QU NEVER SAW THE FILE POSITION FOR 
          EOI.
          CFR    85/02/12    OSINIT,QU0100
  
 QU30686  PROBLEM  - QU SHOULD ACCEPT SUB-SCHEMA NAME WITH EMBEDDED 
                     HYPHENS IF IT IS LISTED IN THE -LIBRARY- CLAUSE. 
          SOLUTION - MODIFY *CREATE* *INVOKE* AND *VERSION* DIRECTIVES
                     TO ACCEPT SUB-SCHEMA NAME WITH EMBEDDED HYPHENS
                     ONLY IF IT IS LISTED IN THE -LIBRARY- CLAUSE.
          NOTE     - THE SUB-SCHEMA NAME IN THE *USE* STATEMENT CANNOT
                     HAVE EMBEDDED HYPHENS, BECAUSE THE SUB-SCHEMA NAME 
                     MUST NOT BE DIFFERENT FROM THE LIBRARY NAME. 
          KIM     85/03/26   CUVSYN,SUB05,SYMPL05,SYNGN05 
  
 *L670*    ************************************************ 
 QU30695  PROBLEM  - 1/  DUPLICATE RECORDS WILL NOT BE ELIMINATED USING 
                         SORT WITH -UNIQUE- OPTION. 
                     2/  UNDOCUMENTED RESTRICTION ON SORT KEY - THE 
                         NUMBER OF KEY AND/OR SUM CHARACTERS MUST BE
                         LESS THAN 256. 
                     THE KEY WAS NOT SPECIFIED WITH ENOUGH PRECISION
                     THAT THE DUPLICATE RECORDS WOULD NOT BE SORTED 
                     TO ADJACENT POSITIONS.  THEREFORE, SOME OF THE 
                     DUPLICATE RECORDS COULD NOT ELIMINATED.
  
          SOLUTION - OPTION -UNIQUE- OF SORT DIRECTIVE WILL NOT WORK
                     IF KEY IS NOT SPECIFIED WITH ENOUGH PRECISION TO 
                     BRING DUPLICATE RECORDS ADJACENT TO EACH OTHERS. 
                     QU REFERENCE MANUAL AND -HELP- TEXT ARE EXPANDED 
                     TO INCLUDE MORE INFORMATION ABOUT SORT, AND ALSO 
                     THE RESTRICTION ON SORT KEY. 
                     SORT PROCEDURE (QU) IS MODIFIED TO HANDLE THE
                     CASE WHICH -ON- OPTION IS OMITTED AND THE RECORD 
                     IS LONGER THAN 255 CHARACTERS.  THE SORT KEY WILL
                     BE THE FIRST 255 OF THE RECORD IF THE RECORD IS
                     LONGER THAN 255 CHARACTERS.
          KIM     86/05/02   QUGEN, SORT
  
 *L688*    ************************************************ 
 QU30698  PROBLEM  - QU FAILED WITH CRM ERROR 442 WHEN ADDING A RECORD
                     TO AN -AK- FILE. 
                     THE KEY VALUE AT THE ADDRESS SPECIFIED BY THE KEY
                     ADDRESS (KA) FIELD IN THE FIT MUST BE UNIQUE OR
                     ZERO; OTHERWISE THE REQUEST IS IGNORED.
          SOLUTION - MODIFY CTL40 TO SET THE KEY VALUE TO ZERO. 
  
          KIM     86/06/16   CTL40
  
 QU30704  PROBLEM  - EQUALITY TEST BETWEEN THE MAJOR KEY AND THE PRIMARY
          *          KEY FAILS. 
                     THE -SCANALLAREA- IS OFF SO PROCEDURE -NEXTGET-
                     WILL NOT READ ALL RECORDS IN THE AREA FILE.
          SOLUTION - SET THE -SCANALLAREA- SO ALL RECORDS WILL BE READ. 
  
          KIM     86/09/24   CTL30
  
 *L716*    ************************************************ 
 QU30708  PROBLEM -  COMBINING TEMPORARY ITEMS AND SUBSCHEMAS CONTAINING DATA 
                     BASE PROCEDURES CAUSES ABORT.
          SOLUTION - CLEAR DUMMY VARIABLE SO NOT MISTAKENLY USED AS POINTER TO
                     AREATABLE. 
          EMV           05/14/87            STKSCAN 
  
 QU30712  PROBLEM  - GIVEN AN IF STATEMENT OF THE FORM 'IF COND1 AND (VBL EQ
                     V1 OR V2 OR V3)', RECORDS WITH VBL = V3 ARE NOT RETURNED.
          SOLUTION - THE SEARCH ORDER OF THE ALTERNATE KEY EXPRESSION TREE
                     NEEDED TO BE REWRITTEN.  ALSO CLEARED OUT A TEMPORARY
                     BUFFER OF KEYNAMES AFTER EACH USE. 
          EMV     10/01/87        RM$BLP
 *L739*    ************************************************ 
 QU30715  PROBLEM  - WHEN USING QU TO RETRIEVE RECORDS WITH AN -IF- STATEMENT 
                     WHICH CONTAINS TWO OR MORE CONDITIONS THAT REFERENCE 
                     ALTERNATE KEYS, SOMETIMES TOO FEW RECORDS ARE RETRIEVED. 
  
          SOLUTION - 1) THE LENGTH OF THE BUFFER HOLDING THE LIST OF PRIMARY
                        KEYS WAS NOT CALCULATED CORRECTLY FOR KEYS LONGER 
                        THAN ONE WORD.
                     2) WHEN THE PRIMARY KEY BUFFER WAS COPIED OUT TO FILE, 
                        THE WORD OF ZEROES SIGNALLING END OF BUFFER WENT
                        WITH IT.  WHEN THE PRIMARY KEY LIST WAS LONGER THAN 
                        ONE BUFFER, THIS 0-WORD REMAINED WITHIN THE KEY LIST, 
                        CAUSING A PREMATURE END-OF-INFORMATION CONDITION
                        WHEN IT WAS LATER ENCOUNTERED.
                     3) THE *XOR* KEY LIST MERGE STOPPED AT THE END OF THE
                        SHORTER KEY LIST, LOSING THE REMAINING KEYS IN THE
                        LONGER LIST.
                     4) DURING THE COPY OF A BUFFER, THE CALCULATION OF THE 
                        NUMBER OF KEYS IN THE BUFFER WAS OFF BY ONE.
  
          EMV        09/26/88     RM$BLP
  
 QU30729  PROBLEM  - WHEN USING QU TO RETRIEVE RECORDS WITH AN -IF- STATEMENT 
                     WHICH CONTAINS A CONDITION MORE THAN TWO LEVELS DEEP THAT
                     REFERENCES ALTERNATE KEYS, TOO FEW RECORDS ARE RETRIEVED.
  
          SOLUTION - RM$BLP USES MANY SCRATCH BUFFERS AND BASED ARRAYS TO 
                     REFERENCE THEM.  THE POINTERS TO THESE BASED ARRAYS WERE 
                     ALL HELD IN GLOBAL, AND SET/RESETSWAPPED FREQUENTLY. 
                     THE RESULTING CODE WAS VERY ERROR-PRONE AND HARD TO DEBUG. 
                     TO AVOID THIS, I PARAMETERIZED ALL THE PROCEDURE CALLS,
                     PASSING ALL THE POINTERS AND MAKING SURE NO PROCEDURE
                     CHANGED A VALUE OUTSIDE OF ITS SCOPE UNEXPECTEDLY. 
  
          EMV        04/22/89     RM$BLP
  
 *L780*    ************************************************ 
 *L797*    ************************************************ 
 *L803*    ************************************************ 
 *L826*    ************************************************ 
 *L840*    ************************************************ 
 *L847*    ************************************************ 
 *L851*    ************************************************ 
 *L859*    ************************************************ 
 *L871*    ************************************************ 
 QU30732  PROBLEM - THE *JULIAN* FUNCTION RETURNS INCORRECT RESULTS 
          FOR DATES BEYOND THE YEAR 1999.  ALSO, THE *GREG* FUNCTION
          RETURNS INCORRECT RESULTS FOR CERTAIN DATES.
  
          SOLUTION - CORRECT THE GREGORIAN-TO-JULIAN CONVERSION CODE
          AND THE JULIAN-TO-GREGORIAN CONVERSION CODE TO ACCOUNT FOR
          THE YEAR 2000.
  
          PCS.   99/03/04.   EXPEV, EXPEVAL.
  
************ HISTORY CARDS SHOULD BE INSERTED BEFORE THIS CARD *********
