7.35.3 DELETE Examples

Example 1: Delete an order specified in field #ORDNUM from an order header file:

DELETE FROM_FILE(ORDHDR) WITH_KEY(#ORDNUM)

Example 2: Delete order line number 1 and then order line 2 from an order lines file called ORDLIN. The order number is contained in a field called #ORDNUM:

DELETE FROM_FILE(ORDLIN) WITH_KEY(#ORDNUM 1)

DELETE FROM_FILE(ORDLIN) WITH_KEY(#ORDNUM 2)

Note the use of the numeric literals 1 and 2 as key values.

This example could also have been coded as:

CHANGE    FIELD(#I) TO(1)

DOWHILE   COND('#I <= 2')

DELETE    FROM_FILE(ORDLIN) WITH_KEY(#ORDNUM #I)

CHANGE    FIELD(#I) TO('#I + 1')

ENDWHILE

Example 3: Delete all order lines associated with an order specified in field #ORDNUM:

DELETE FROM_FILE(ORDLIN) WITH_KEY(#ORDNUM)

Note that this command deletes multiple records from the file.

Example 4: Delete all order lines associated with an order specified in field #ORDNUM and then delete the order header record:

DELETE FROM_FILE(ORDLIN) WITH_KEY(#ORDNUM)

DELETE FROM_FILE(ORDHDR) WITH_KEY(#ORDNUM)

Example 5: Delete all records from file NAMES where field #DLTIND contains a Y:

DELETE FROM_FILE(NAMES) WHERE('#DLTIND = Y')

Example 6: Delete all records from file NAMES where field #DLTIND contains a Y and field #UPDATE is less than the current date:

DELETE FROM_FILE(NAMES) WHERE('(#DLTIND = Y) AND (#UPDATE < *YYMMDD)')

Note the use of the system variable *YYMMDD which contains the current date in format YYMMDD (which is presumably the same format as #UPDATE).