How to create CRUD DC1 API?
The example programs can be found in the QSAMPLES source file and they are delivered together with Aperio. CRUD operations are performed over file FILE01.
DSRE01 - black box program for validation incoming data and maintaining the file.
EXAMPLE025 getting a list of records
EXAMPLE026 getting one record
EXAMPLE027 adding new record
EXAMPLE028 record update
EXAMPLE029 record deletion
Message handling is performed according to : How to handle messages in Aperio (Standard DC1 method )
Black box program
Data structure for the parameter list for DSRE01 is based on file DSLE01. Database fields in DSLE01 (ones that correspond to fields from FILE01) should be defined with ALWNULL keyword, so the program can check if the value is passed (null indicator off).
*ALWNULL(USRCTL) must be specified on the H-Spec of all programs, to process or define null capable fields.
Modes to call DSRE01 program:
- ADD
- UPDATE
- GET
- DELETE
- CLRNULLOFF Clear parameters, set null indicators for null capable fields to off
- CLRNULLON Clear parameters, set null indicators for null capable fields to on
Depending on modes DSRE01 program returns record’s data and proper return code. Return codes:
- ’ ’ - no errors
- ‘NF’ - no record was found
- ‘ER’ - errors appeared
- ‘EV’ - errors during validation
API programs
- Aperio documentation tags should be added at the beginning of the program:
- First call DSRE01 with mode CLRNULLON to clear data structure and set null indicators.
- Then get the parameters and set off corresponding null indicators. If a parameter is absent in the API call, its null indicator remains on.
- Then set mode and call DSRE01 again. If any error appears, gather error messages, else prepare response data.
- To implement sorting of the list of records (EXAMPLE025) add “order by” fields to the compile-time array.
The details about procedures used for implementing sorting are describe in FAQ: How to implement sorting