Technical data

Example 8–5 (Cont.) Creating Relationships Between Records of the Same
Type
B300-BUILD-AND-STORE-STOOL-LEG.
MOVE "SAMP3" TO PART_ID.
MOVE "STOOL LEGS" TO PART_DESC.
MOVE "G" TO PART_STATUS.
MOVE 2 TO PART_PRICE.
MOVE 1 TO PART_COST.
MOVE SPACES TO PART_SUPPORT.
IF DB-OK STORE PART ON ERROR
DISPLAY "B300 Error in storing STOOL LEGS"
PERFORM 900-DISPLAY-DB-CONDITION
MOVE 1 TO DB-ERROR-CHECK.
C000-STORE-COMPONENTS.
MOVE "STOOL" TO PART_DESC.
C100-FIND-STOOL.
FIND FIRST PART USING PART_DESC ON ERROR
DISPLAY "C000 Error in finding STOOL"
PERFORM 900-DISPLAY-DB-CONDITION
MOVE 1 TO DB-ERROR-CHECK.
MOVE "STOOL SEAT" TO PART_DESC.
C200-FIND-STOOL-SEAT.
IF DB-OK
FIND FIRST PART USING PART_DESC RETAINING PART_USES
ON ERROR
DISPLAY "C000 Error in finding STOOL SEAT"
PERFORM 900-DISPLAY-DB-CONDITION
MOVE 1 TO DB-ERROR-CHECK.
C300-CONNECT-COMPONENT-1.
MOVE "SAMP2" TO COMP_SUB_PART.
MOVE "SAMP1" TO COMP_OWNER_PART.
MOVE "U" TO COMP_MEASURE.
MOVE 1 TO COMP_QUANTITY.
IF DB-OK
STORE COMPONENT RETAINING PART_USES
ON ERROR
DISPLAY "C000 Error in storing first component"
PERFORM 900-DISPLAY-DB-CONDITION
MOVE 1 TO DB-ERROR-CHECK.
C400-FIND-STOOL-LEGS.
MOVE "STOOL LEGS" TO PART_DESC.
IF DB-OK
FIND FIRST PART USING PART_DESC RETAINING PART_USES
ON ERROR
DISPLAY "C000 Error in finding STOOL LEGS"
PERFORM 900-DISPLAY-DB-CONDITION
MOVE 1 TO DB-ERROR-CHECK.
(continued on next page)
Database Programming Examples 8–19