IMS DB - Thao tác dữ liệu

Các phương pháp thao tác dữ liệu khác nhau được sử dụng trong lệnh gọi IMS DL / I như sau:

  • Cuộc gọi ISRT
  • Giữ cuộc gọi
  • Cuộc gọi REPL
  • Cuộc gọi DLET

Chúng ta hãy xem xét cấu trúc cơ sở dữ liệu IMS sau đây để hiểu các lệnh gọi hàm thao tác dữ liệu:

Cuộc gọi ISRT

Những điểm cần lưu ý -

  • Lệnh gọi ISRT được gọi là lệnh gọi Chèn được sử dụng để thêm các lần xuất hiện phân đoạn vào cơ sở dữ liệu.

  • Các cuộc gọi ISRT được sử dụng để tải một cơ sở dữ liệu mới.

  • Chúng tôi thực hiện lệnh gọi ISRT khi trường mô tả phân đoạn được tải với dữ liệu.

  • SSA không đủ điều kiện hoặc đủ điều kiện phải được chỉ định trong lệnh gọi để DL / tôi biết vị trí đặt sự cố phân đoạn.

  • Chúng tôi có thể sử dụng kết hợp cả SSA không đủ tiêu chuẩn và đủ điều kiện trong cuộc gọi. Một SSA đủ điều kiện có thể được chỉ định cho tất cả các cấp trên. Chúng ta hãy xem xét ví dụ sau:

CALL 'CBLTDLI' USING DLI-ISRT
                     PCB-NAME
                     IO-AREA
                     LIBRARY-SSA
                     BOOKS-SSA
                     UNQUALIFIED-ENGINEERING-SSA

Ví dụ trên cho thấy chúng tôi đang thực hiện lệnh gọi ISRT bằng cách cung cấp kết hợp các SSA đủ điều kiện và chưa đủ điều kiện.

Khi một phân đoạn mới mà chúng tôi đang chèn có một trường khóa duy nhất, thì nó sẽ được thêm vào ở vị trí thích hợp. Nếu trường khóa không phải là duy nhất, thì trường đó được thêm vào bởi các quy tắc do người quản trị cơ sở dữ liệu xác định.

Khi chúng tôi đưa ra lệnh gọi ISRT mà không chỉ định trường khóa, thì quy tắc chèn sẽ cho biết vị trí đặt các phân đoạn so với các phân đoạn song sinh hiện có. Dưới đây là các quy tắc chèn -

  • First - Nếu quy tắc là trước, phân đoạn mới sẽ được thêm vào trước bất kỳ cặp song sinh nào hiện có.

  • Last - Nếu quy tắc là cuối cùng, phân đoạn mới được thêm vào sau tất cả các cặp song sinh hiện có.

  • Here - Nếu quy tắc ở đây, nó được thêm vào vị trí hiện tại so với các cặp song sinh hiện có, có thể là đầu tiên, cuối cùng hoặc bất kỳ đâu.

Mã trạng thái

Bảng sau đây hiển thị các mã trạng thái liên quan sau cuộc gọi ISRT -

S. không Mã Trạng thái & Mô tả
1

Spaces

Cuộc gọi thành công

2

GE

Nhiều SSA được sử dụng và DL / I không thể đáp ứng cuộc gọi với đường dẫn được chỉ định.

3

II

Cố gắng thêm một lần xuất hiện phân đoạn đã có trong cơ sở dữ liệu.

4

LB / LC LD / LE

Chúng tôi nhận được các mã trạng thái này trong khi xử lý tải. Trong hầu hết các trường hợp, chúng chỉ ra rằng bạn không chèn các phân đoạn theo một trình tự phân cấp chính xác.

Giữ cuộc gọi

Những điểm cần lưu ý -

  • Có ba loại lệnh gọi Nhận Giữ mà chúng tôi chỉ định trong DL / tôi gọi:

    • Nắm giữ duy nhất (GHU)

    • Giữ tiếp theo (GHN)

    • Tiếp theo trong vòng Parent (GHNP)

  • Hàm Hold chỉ định rằng chúng tôi sẽ cập nhật phân đoạn sau khi truy xuất. Vì vậy, trước một cuộc gọi REPL hoặc DLET, một lệnh gọi giữ thành công phải được thực hiện cho DL / I biết ý định cập nhật cơ sở dữ liệu.

Cuộc gọi REPL

Những điểm cần lưu ý -

  • Sau khi gọi giữ thành công, chúng tôi thực hiện một cuộc gọi REPL để cập nhật sự xuất hiện của phân đoạn.

  • Chúng tôi không thể thay đổi độ dài của một đoạn bằng cách gọi REPL.

  • Chúng tôi không thể thay đổi giá trị của trường khóa bằng cách gọi REPL.

  • Chúng tôi không thể sử dụng SSA đủ điều kiện với cuộc gọi REPL. Nếu chúng tôi chỉ định một SSA đủ điều kiện, thì cuộc gọi không thành công.

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.

Ví dụ trên cập nhật sự xuất hiện của phân đoạn CNTT bằng cách sử dụng lệnh gọi REPL. Đầu tiên, chúng tôi thực hiện lệnh gọi GHU để nhận sự xuất hiện của phân đoạn mà chúng tôi muốn cập nhật. Sau đó, chúng tôi thực hiện một cuộc gọi REPL để cập nhật các giá trị của phân đoạn đó.

Cuộc gọi DLET

Những điểm cần lưu ý -

  • Lệnh gọi DLET hoạt động giống như cách gọi REPL.

  • Sau khi gọi giữ thành công, chúng tôi thực hiện một lệnh gọi DLET để xóa sự kiện phân đoạn.

  • Chúng tôi không thể sử dụng SSA đủ điều kiện với lệnh gọi DLET. Nếu chúng tôi chỉ định một SSA đủ điều kiện, thì cuộc gọi không thành công.

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.

Ví dụ trên xóa sự kiện phân đoạn CNTT bằng cách sử dụng lệnh gọi DLET. Đầu tiên, chúng tôi thực hiện một lệnh gọi GHU để nhận được sự xuất hiện của phân đoạn mà chúng tôi muốn xóa. Sau đó, chúng tôi thực hiện một lệnh gọi DLET để cập nhật các giá trị của phân đoạn đó.

Mã trạng thái

Bảng sau đây hiển thị các mã trạng thái có liên quan sau cuộc gọi REPL hoặc DLET -

S. không Mã Trạng thái & Mô tả
1

Spaces

Cuộc gọi thành công

2

AJ

SSA đủ điều kiện được sử dụng trong cuộc gọi REPL hoặc DLET.

3

DJ

Chương trình đưa ra một cuộc gọi thay thế mà không có một cuộc gọi nhận giữ ngay trước đó.

4

DA

Chương trình thực hiện một thay đổi đối với trường khóa của phân đoạn trước khi thực hiện lệnh gọi REPL hoặc DLET