IMS DB-데이터 조작
IMS DL / I 호출에 사용되는 다른 데이터 조작 방법은 다음과 같습니다.
- ISRT 호출
- 보류 전화 받기
- REPL 호출
- DLET 전화
데이터 조작 함수 호출을 이해하기 위해 다음 IMS 데이터베이스 구조를 고려해 보겠습니다.
ISRT 호출
주목할 점-
ISRT 호출은 데이터베이스에 세그먼트 발생을 추가하는 데 사용되는 삽입 호출로 알려져 있습니다.
ISRT 호출은 새 데이터베이스를로드하는 데 사용됩니다.
세그먼트 설명 필드에 데이터가로드되면 ISRT 호출을 발행합니다.
DL / I가 세그먼트 발생 위치를 알 수 있도록 규정되지 않거나 규정 된 SSA를 호출에 지정해야합니다.
통화에서 자격이없는 SSA와 자격을 갖춘 SSA를 함께 사용할 수 있습니다. 위의 모든 레벨에 대해 적격 SSA를 지정할 수 있습니다. 다음 예를 살펴 보겠습니다.
CALL 'CBLTDLI' USING DLI-ISRT
PCB-NAME
IO-AREA
LIBRARY-SSA
BOOKS-SSA
UNQUALIFIED-ENGINEERING-SSA
위의 예는 적격 SSA와 비정규 SSA의 조합을 제공하여 ISRT 호출을 발행하고 있음을 보여줍니다.
삽입하는 새 세그먼트에 고유 키 필드가 있으면 적절한 위치에 추가됩니다. 키 필드가 고유하지 않은 경우 데이터베이스 관리자가 정의한 규칙에 따라 추가됩니다.
키 필드를 지정하지 않고 ISRT 호출을 발행하면 삽입 규칙이 기존 트윈 세그먼트와 관련된 세그먼트를 배치 할 위치를 알려줍니다. 다음은 삽입 규칙입니다.
First − 규칙이 첫 번째 인 경우 기존 쌍둥이 앞에 새 세그먼트가 추가됩니다.
Last − 규칙이 마지막이면 기존의 모든 쌍둥이 뒤에 새 세그먼트가 추가됩니다.
Here − 규칙이 여기에 있으면 기존 쌍둥이와 관련된 현재 위치에 추가됩니다.이 위치는 첫 번째, 마지막 또는 어느 위치 일 수 있습니다.
상태 코드
다음 표는 ISRT 호출 후 관련 상태 코드를 보여줍니다-
S. 아니 | 상태 코드 및 설명 |
---|---|
1 | Spaces 성공적인 통화 |
2 | GE 여러 SSA가 사용되고 DL / I가 지정된 경로로 호출을 충족 할 수 없습니다. |
삼 | II 이미 데이터베이스에있는 세그먼트 발생을 추가해보십시오. |
4 | LB / LC LD / LE 로드 처리 중에 이러한 상태 코드를받습니다. 대부분의 경우 정확한 계층 순서로 세그먼트를 삽입하지 않음을 나타냅니다. |
보류 전화 받기
주목할 점-
DL / I 통화에서 지정하는 세 가지 유형의 Get Hold 통화가 있습니다.
고유 한 보류 (GHU) 가져 오기
Get Hold Next (GHN)
다음 부모 내에서 보류 (GHNP)
Hold 기능은 검색 후 세그먼트를 업데이트하도록 지정합니다. 따라서 REPL 또는 DLET 호출 전에 데이터베이스를 업데이트 할 의도를 DL / I에 알리는 성공적인 보류 호출이 발행되어야합니다.
REPL 호출
주목할 점-
성공적인 보류 호출 후 세그먼트 발생을 업데이트하기 위해 REPL 호출을 발행합니다.
REPL 호출을 사용하여 세그먼트의 길이를 변경할 수 없습니다.
REPL 호출을 사용하여 키 필드의 값을 변경할 수 없습니다.
REPL 호출에는 적격 SSA를 사용할 수 없습니다. 정규화 된 SSA를 지정하면 호출이 실패합니다.
CALL 'CBLTDLI' USING DLI-GHU
PCB-NAME
IO-AREA
LIBRARY-SSA
BOOKS-SSA
ENGINEERING-SSA
IT-SSA.
*Move the values which you want to update in IT segment occurrence*
CALL ‘CBLTDLI’ USING DLI-REPL
PCB-NAME
IO-AREA.
위의 예는 REPL 호출을 사용하여 IT 세그먼트 발생을 업데이트합니다. 먼저 업데이트하려는 세그먼트 발생을 얻기 위해 GHU 호출을 발행합니다. 그런 다음 REPL 호출을 발행하여 해당 세그먼트의 값을 업데이트합니다.
DLET 전화
주목할 점-
DLET 호출은 REPL 호출과 같은 방식으로 작동합니다.
성공적인 보류 호출 후 세그먼트 발생을 삭제하기 위해 DLET 호출을 발행합니다.
DLET 통화에는 적격 SSA를 사용할 수 없습니다. 정규화 된 SSA를 지정하면 호출이 실패합니다.
CALL 'CBLTDLI' USING DLI-GHU
PCB-NAME
IO-AREA
LIBRARY-SSA
BOOKS-SSA
ENGINEERING-SSA
IT-SSA.
CALL ‘CBLTDLI’ USING DLI-DLET
PCB-NAME
IO-AREA.
위의 예는 DLET 호출을 사용하여 IT 세그먼트 발생을 삭제합니다. 먼저 삭제하려는 세그먼트 발생을 가져 오기 위해 GHU 호출을 발행합니다. 그런 다음 DLET 호출을 발행하여 해당 세그먼트의 값을 업데이트합니다.
상태 코드
다음 표는 REPL 또는 DLET 호출 후 관련 상태 코드를 보여줍니다-
S. 아니 | 상태 코드 및 설명 |
---|---|
1 | Spaces 성공적인 통화 |
2 | AJ REPL 또는 DLET 호출에 사용되는 적격 SSA입니다. |
삼 | DJ 프로그램은 바로 이전에 보류 호출을받지 않고 교체 호출을 발행합니다. |
4 | DA 프로그램은 REPL 또는 DLET 호출을 발행하기 전에 세그먼트의 키 필드를 변경합니다. |