*DECK C$ISEX
          IDENT  C$ISEX 
          TITLE  CBISEX - INDEXED SEQUENTIAL ERROR EXIT ROUTINE         000030
  
          MACHINE  ANY,I
          COMMENT  INDEXED SEQUENTIAL ERROR EXIT
          SST 
          B1=1
          SPACE  4
**        CBISEX - INDEXED SEQUENTIAL ERROR EXIT ROUTINE                000050
*                                                                       000060
*         CALLING SEQUENCE                                              000070
*                CALLED BY CRM WHEN ERROR EXIT IS ENTERED               000080
*                                                                       000090
*         DOES   GOES TO INVALID KEY IF THE ERROR IS A VALID INVALID KEY000100
*                ELSE, GOES TO C.EX                                     000110
*                                                                       000120
*         USES   ES FILED IN FIT - REGISTERS NOT IMPORTANT              000130
*                                                                       000140
  
  
          ENTRY  C.ISEX                                                 000160
 C.ISEX   DATA   0                                                      000170
 CDCS     IFNE   OP.DCS,OP.NO,1 
          RJ     =XC.A0B1    RESTORE A0 AND B1 (IF CDCS CALL) 
          SB3    B0 
          RJ     =XC.SETKY   RESET KEY TO PRIME KEY AND REY OF REF TO SAME
          FETCH  A0,ES,X5    GET CRM ERROR CODE                         000180
          SB3    INVKTBS     SIZE OF TABLE                              000190
          MX6    30                                                     000200
          SA2    INVKTB                                                 000210
 FINDIK   BSS    0           LOOK FOR KEY IN TABLE                      000220
          SA2    B3+INVKTB-1                                            000230
          SB3    B3-B1                                                  000240
          BX3    -X6*X2                                                 000250
          IX3    X3-X5                                                  000260
          ZR     X3,INVKFND  JUMP IF IT IS AN INV KEY                   000270
          NZ     B3,FINDIK   JUMP IF TABLE HAS SOME LEFT                000280
          RJ     =XC.EX      ERROR - NOT AN INVALID KEY                 000290
          EQ     C.ISEX      CONTINUE IF AN ACCEPTABLE ERROR            000300
 INVKFND  BSS    0                                                      000310
          AX2    30          POSITION STATUS CODE                       000320
          BX1    -X6*X2                                                 000330
          EQ     =XC.INVKY   GO TO INVALID KEY PROCESS                  000340
*                                                                       000350
*       THE INVALID KEY TABLE HAS THE FILE STATUS CODE IN DISPLAY CODE I000360
*       IN BITS 41-30 AND THE CRM ERROR CODE IN THE LOWER 30 (IN BINARY)000370
*                                                                       000380
 INVKTB   BSS    0                                                      000390
          VFD    30/2R24,30/253B   FILE LIMITS EXCEEDED                 000400
          VFD    30/2R21,30/444B  SEQUENCE ERROR                        000410
          VFD    30/2R22,30/446B  DUPLICATE KEY                         000420
          VFD    30/2R22,30/503B  DUPLICATE KEY ON ALT KEY              000430
          VFD    30/2R23,30/506B  NO ALT KEY FOUND                      000440
          VFD    30/2R23,30/445B  NO KEY FOUND                          000450
 INVKTBS  EQU    *-INVKTB                                               000460
          END                                                           000470
