In COBOL, we call an internal table as Array. This post explains how to use an IF condition in the Search statement. Here are the differences between SEARCH and SEARCH ALL.
In WHEN condition, you can give =, > and <.
TIP: SEARCH in COBOL is serial search. So sorting of internal table is not required
You can use IF condition to filter input fields along with SEARCH. The below sample code shows how to give IF condition:
SET IX TO 1. SEARCH TABLE-ENTRY AT END MOVE 1 TO ORG-SUB WHEN ORD-RECIPIENT = TABLE-CODE (IX) SET ORG-SUB TO IX. MOVE ORD_CITY (IX) TO WS_CITY IF WS_CITY = '840' MOVE 'USA' TO INP_REC (1:3) END-IF END-SEARCH