*DECK CBCKSCM 
USETEXT TSBP2CM                                                         006100
      PROC CBCKSCM; 
      BEGIN 
  
# EXTERNAL REFERENCES#
      XREF PROC CBDBPBD;               #ADD DBP S TO DBP LIST#
  
# DECLARATIONS BETWEEN $BEGIN AND $END BLOCKS ARE SATISFIED BY SYMPL   #006120
# TEXTS AS INDICATED IN THE USETEXT DIRECTIVE.                         #006130
                                                                        006140
      $BEGIN     # SYMPL TEXT * TSBP2CM * USED #                        006150
                                                                        006160
*CALL CBPASS2CM 
                                                                        006180
      $END                                                              006190
      CONTROL EJECT;
 #
*     LOOP THRU ALL ENTRIES IN THE SCHEMA 
 #
      SCITEMOFFSET = SCRECDITMPTR[0]; 
      IF SCITEMOFFSET EQ 0 THEN 
        RETURN; 
ITEMLOOP: 
# IF ENCODE/DECODE DBPS THEN CALL CBDBPBD#
      IF SCITMENCDPTR[SCITEMOFFSET] NQ 0 THEN 
        BEGIN 
        OM$ITMDBP = TRUE; 
        RECMAPPING = TRUE;   #MAPPING FOR RECORD# 
        INDEX = SCITEMOFFSET+SCITMENCDPTR[SCITEMOFFSET]-1;
ENCDLOOP: 
        INDEX = INDEX+1;
        CBDBPBD(SCITEMCODER[INDEX]);
        IF SCITEMCNEXT[INDEX] THEN GOTO ENCDLOOP; 
        END 
# IF A DBP CALL LIST THEN CALL CBDBPBD# 
      IF SCITEMONPTR[SCITEMOFFSET] NQ 0 THEN
        BEGIN 
        RECMAPPING = TRUE;   #MAPPING FOR RECORD# 
        OM$ITMDBP = TRUE; 
        INDEX = SCITEMOFFSET+SCITEMONPTR[SCITEMOFFSET]-1; 
CALLLIST: 
        INDEX = INDEX+1;
        CBDBPBD(SCITEMONCALL[INDEX]); 
        IF SCITEMNEXTON[INDEX] THEN GOTO CALLLIST;
        END 
# IF ACTUAL/VIRTUAL RESULT DBP THEN ADD IT TO LIST# 
      IF SCITMATVTP[SCITEMOFFSET] NQ 0 THEN 
        BEGIN 
        RECMAPPING = TRUE;   #MAPPING FOR RECORD# 
        OM$ITMDBP = TRUE; 
        CBDBPBD(SCITEMRESULT[SCITEMOFFSET+SCITMATVTP[SCITEMOFFSET]]); 
        END 
# IF CHECK DBP THEN ADD IT TO LIST# 
      IF SCITEMCHECKS[SCITEMOFFSET] NQ 0 AND
        NOT SCITMCKPIC[SCITEMOFFSET+SCITEMCHECKS[SCITEMOFFSET]] THEN
        BEGIN 
        RECMAPPING = TRUE;   #MAPPING FOR RECORD# 
        OM$ITMDBP = TRUE; 
        OM$CKDBP = TRUE;
        IF SCITMCKDBP[SCITEMOFFSET+SCITEMCHECKS[SCITEMOFFSET]] THEN 
          CBDBPBD(SCITMCKPROC[SCITEMOFFSET+SCITEMCHECKS[SCITEMOFFSET]]);
        END 
# IF OCCURS DATABASE IDENTIFIER TIMES SET OMIT TABLE FLAG#
      IF SCITMDIMOCC[SCITEMOFFSET] THEN 
        OM$OCCRDBI = TRUE;
      IF SCITEMNXTPTR[SCITEMOFFSET] NQ 0 THEN 
        BEGIN 
        SCITEMOFFSET = SCITEMOFFSET+SCITEMNXTPTR[SCITEMOFFSET]; 
        GOTO ITEMLOOP;
        END 
      RETURN; 
      END 
      TERM; 
