The dliLib.AIBTDLI() system function uses the AIBTDLI interface to invoke a DL/I function directly.
To invoke a DL/I function using the CBLTDLI interface, use dliLib.EGLTDLI() or vgLib.VGTDLI().
dliLib.AIBTDLI()(
func CHAR(4) in,
pcbName STRING in
parms... ANY)
If there is no EGL I/O statement that corresponds to the DL/I call you want to issue, you can use dliLib.AIBTDLI(). For example, EGL does not provide an I/O statement that corresponds to a DL/I FLD call against a Main Storage Database (MSDB) or Data Entry Database (DEDB). You can use dliLib.AIBTDLI() to issue the FLD call.
Record CustomerPSBRecordPart type PSBRecord { defaultPSBName="STBICLG" }
// database PCB
customerPCB DB_PCBRecord { @PCB { pcbType = DB, pcbName = "STDCDBL",
hierarchy = [ @relationship { segmentRecord = "CustomerRecordPart" },
...]}};
end
mypsb CustomerPSBRecordPart;
dliLib.AIBTDLI("FLD", "STDCDBL", myIOArea, mySSA1, ... mySSAn);
if (mypsb.customerPCB.statusCode != " ")
// do error processing
end