Content deleted Content added
m Removed two unnecessary commas and added one. |
m link data communication |
||
(5 intermediate revisions by 3 users not shown) | |||
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|archive-url=https://web.archive.org/web/20060321113510/http://www-03.ibm.com/servers/eserver/zseries/zvse/products/database.html#dli|url-status=dead|archive-date=March 21, 2006|title=IBM z/VSE Products and components|publisher=[[IBM]]|accessdate=2009-06-27}}</ref>) is the language system used to access [[
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.
In any full-function IMS database, the smallest element that can be retrieved is a ''segment''. Each segment is made up of ''fields'', one of which, typically, will be a key field. The segments are arranged hierarchically in the database, the highest
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 [[
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
A typical call from a [[COBOL]] program might be <syntaxhighlight lang="cobolfree" inline>CALL “CBLTDLI” USING GU, Stores-Database-PCB, Stores-Segment-Area, Stores-Root-SSA</syntaxhighlight>. The program would then automatically wait till the requested data
A typical call from a PL/I program might be <syntaxhighlight lang="cobolfree" inline>CALL PLITDLI(FOUR, GU, Stores-Database-PCB, Stores-Segment-Area, Stores-Root-SSA);</syntaxhighlight>.
|