데이터 언어 인터페이스(Data Language Interface, Data Language/I, DL/I, Data Language/Interface, Data Language/One[1])는 IBM의 IMS 데이터베이스 접근에 쓰이는 언어 시스템이자 데이터 통신 시스템이다.
임의의 언어에서 DFSLI000이라는 소프트웨어 스텁을 호출함으로써 구현할 수 있다. 이 스텁은 다양한 프로그래밍 언어를 핸들하기 위한 엔트리 포인트들이 있는데, 이를테면 코볼 프로그램의 경우 CBLTDLI를 호출하는 것을 들 수 있다. 이 스텁은 호출하는 프로그램에 연결되어 요청을 IMS 시스템에 보낸 뒤 결과와 상태 코드를 반환한다.
함수 코드
PL/I을 제외한 모든 언어에서 호출 시 최초의 매개변수는 함수 코드이며, 네 개의 문자 필드로 구성된다.
- "GU " (Get Unique)
- "GN " (Get Next)
- "REPL" (Replace)
- "ISRT" (Insert)
- "DELT" (Delete)
- 기타 ("GNP ", "GHU ", "GHN ", "GHNP", "PURG")
PL/I의 경우 언어 특성상 최초의 매개변수는 잇따르는 매개변수의 수를 포함하는 풀워드여야 한다. (Fixed Bin(31))
호출의 예
코볼 프로그램의 호출은 다음과 같은 비슷한 형식으로 이루어진다.
02100 CALL “CBLTDLI” USING GU, Stores-Database-PCB, Stores-Segment-Area, Stores-Root-SSA
한편 PL/I 프로그램의 호출은 다음과 같은 비슷한 형식으로 이루어진다.
CALL PLITDLI(FOUR, GU, Stores-Database-PCB, Stores-Segment-Area, Stores-Root-SSA);
각주
외부 링크