Data Language Interface: Difference between revisions

Content deleted Content added
The 'I' is a Roman '1' not 'Interface'. Article title is also wrong.
Djatovsky (talk | contribs)
m Removed two unnecessary commas and added one.
Line 1:
'''Data Language One''' (Data Language/I, DL/I, Data Language/One, Data Language/One<ref>{{cite web|url=http://www-03.ibm.com/servers/eserver/zseries/zvse/products/database.html#dli|title=IBM z/VSE Products and components|publisher=[[IBM]]|accessdate=2009-06-27}}</ref>) is the language system used to access [[International Business Machines|IBM]]'s [[Information Management System|IMS]] [[database]]s, and its data communication system.
 
It is implemented from many languages by making calls to a software stub, DFSLI000. This stub has entry points to handle a variety of programming languages e.g. calling CBLTDLI from a [[COBOL]] program. This stub is linked to the calling program, passes on the request to the IMS system, and returns the results and a status code.
Line 7:
The structure of any database is presented to the application program as a ''PCB'' (Program Communication Block), and this is used as one of the [[parameter]]s passed to the stub. Other types of PCB are used to send and receive [[transaction processing]] messages, access and write to the user’s [[computer display|VDU]] screen, and to print reports etc.
 
When accessing a database segment, the application program also uses an ''SSA'' (Segment Search Argument) as a parameter, to specify the segment or segments that it needs. This would typically contain the segment type required, and the contents of any key fields.
 
For all languages except [[PL/I]], the first parameter in a call is the ''Function Code''{{snd}} a four character field, examples being: “<code>GU&nbsp;&nbsp;</code>” (Get Unique), “<code>GN&nbsp;&nbsp;</code>” (Get Next), “<code>REPL</code>” (Replace), and “<code>ISRT</code>” (Insert). With PL/I, due to the way this language does not mark the last parameter with a '1' in bit 0, the first parameter must instead be a fullword (Fixed Bin(31)) containing the number of following parameters.