EGL 프로그램에서 IMS 함수 사용
EGL 프로그램에서 IMS™ 함수를 사용할 수 있습니다.
다음 테이블은 EGL 프로그램에서 사용할 수 있는
IMS 함수를 나열합니다. 테이블에는 또한
해당 함수를 사용하는 방법을 요약되어 있습니다.
| IMS 함수 | EGL 함수 | 주석 |
|---|---|---|
| 프로그램 유형 | ||
| IMS 대화식 |
|
workDBType 빌드 디스크립터 옵션은 DL/I 또는 DB2®를 사용하여 converse 문에 데이터를 저장할지 여부를 지정합니다. |
| IMS 비대화식 또는 메시지 구동 단축 경로(옵션 1) |
|
|
| IMS 비대화식 또는 메시지 구동 단축 경로(옵션 2) |
|
|
| IMS 비대화식 또는 메시지 구동 단축 경로(옵션 3, 텍스트 양식 아님) | I/O PCB와 연관되고 IMS/VS에 대해 생성된 연속 레코드에 대해 get next를 수행하도록 루프하는 기본 프로그램입니다. | YES로 설정된 imsFastPath 빌드 디스크립터 옵션은 명령문 및 EGL 오류 처리를 IMS 단축 경로 프로그램에서 허용된 사항으로 제한합니다. |
| 트랜잭션 지향 BMP | I/O PCB와 연관되고 IMS BMP에 대해 생성된 연속 레코드에 대해 get next를 수행하도록 루프하는 기본 프로그램입니다. | |
| 일괄처리 지향 BMP | I/O PCB와 연관되고 IMS BMP에 대해 생성되었지만 연속 레코드를 사용하지 않는 기본 프로그램입니다. | |
| DL/I 일괄처리 | DL/I가 사용하고 z/OS® 일괄처리를 위해 생성되는 기본 프로그램 | |
| 일반 z/OS 일괄처리 | DL/I가 사용하고 z/OS 일괄처리를 위해 생성되는 기본 프로그램 | |
| 터미널 및 프린터 지원 | ||
| MFS 소스 | 텍스트 및 인쇄 양식이 있는 FormGroup | EGL이 FormGroup에 대해 MFS 소스를 생성합니다. |
| 터미널과 통신 |
|
|
| 터미널 프린터에 대한 인쇄 출력 |
|
|
| 동적 프린터 지원 | 런타임 시 프린터 연관을 동적으로 변경하도록 converseVar.printerAssociation 설정 | |
| /FORMAT modname formName |
|
|
| 실제 및 논리적 페이징 | 지원되지 않음 | EGL 양식은 실제 또는 논리적 페이지의 정의를 지원하지 않습니다. |
| MFS 소스를 생성하기 위한 SDF II | 지원되지 않음 | EGL 생성에는 편집 순서 및 특수 제어 필드에 대한 지식이 필요합니다. |
| SQL 데이터베이스 지원 | ||
| DB2 데이터베이스 정의 및 액세스 | SQLRecord 정의 및 SQL I/O 문 | EGL은 기본 SQL 문을 작성합니다. #sql 지시문을 사용하여 기본값을 수정하십시오. |
| DL/I 데이터베이스 지원 | ||
| 사용할 PSB | @dli 복합 특성의 psb 특성은 EGL PSBRecord의 프로그램 변수 이름을 식별합니다. | EGL PSB는 IMS PSB에서 정보의 서브세트입니다. |
| DL/I 데이터베이스 정의 및 액세스 | PSBRecord 정의, DLISegment 정의, DL/I I/O 문입니다. I/O 문의 usingPCB 키워드는 사용할 PCB를 식별합니다. | EGL은 기본 SSA를 작성합니다. #dli 지시문을 사용하여 기본값을 수정하십시오. |
| DL/I 단축 경로 데이터베이스 정의 및 액세스 |
|
#dli 지시문을 사용 중인 경우 EGL이 2자의 명령 코드를 허용함 |
| IMS 메시지 큐 |
|
I/O PCB와 연관된 연속 레코드에 대해 EGL 기본 프로그램에서 get next 문을 사용하십시오. 레코드는 이전 프로그램에서 vgLib.startTransaction() 함수 또는 add 문에 의해 삽입되었을 수 있습니다. z/OS 일괄처리에 지원되지 않습니다. |
| GSAM 파일 |
|
IMS BMP 또는 z/OS 일괄처리에만 지원됩니다. |
| 파일 지원 | ||
| 순차 파일 지원 | seq 또는 seqrs로 설정된 fileName의 자원 연관이 있는 연속 레코드 |
|
| VSAM 파일 지원 | vsam 또는 vsamrs로 설정된 fileName의 자원 연관이 있는 연속 레코드, 색인화된 레코드 또는 상대 레코드 |
|
| 런타임 시 동적으로 파일 이름 변경 | recordName.resourceAssociation | seqrs 또는 vsamrs의 사용 필요 |
| COBOL DISPLAY 문 |
|
출력 대상은 사용자가 COBOL 컴파일러 옵션 OUTDD에서 지정하는 DDNAME입니다. 기본적으로 출력은 IMS BMP 또는 z/OS 일괄처리 작업을 실행하는 IMS/VS 또는 JCL의 메시지 영역을 시작하는 작업에서 DDNAME SYSOUT에 작성됩니다. |
| IMS 메시지 전환 | ||
| 즉각적인 프로그램 간 메시지 전환 |
|
|
| 연기된 프로그램 간 메시지 전환(메소드 1) |
|
|
| 연기된 프로그램 간 메시지 전환(메소드 2) | 프로그램은 converse 문을 사용하고 converse 문 전에 sysVar.transactionID를 새 트랜잭션 코드로 설정합니다. | 동일한 EGL 프로그램 내에서 트랜잭션 이름 변경을 허용합니다. 프로그램이 변경되지 않으므로 두 트랜잭션 모두가 동일한 PSB 및 FormGroup을 사용해야 합니다. |
| Miscellaneous | ||
| 기본 체크포인트 | sysLib.commit() 시스템 함수 | |
| 기호 체크포인트 | dliLib.AIBTDLI(), dliLib.EGLTDLI() 또는 vgLib.VGTDLI() | 다음을 참조하십시오. |
| 다시 시작(XRST 호출) | dliLib.AIBTDLI(), dliLib.EGLTDLI() 또는 vgLib.VGTDLI() | 다음을 참조하십시오. |
| 롤백 | sysLib.rollback() 시스템 함수 | |
| 로그 호출 | sysLib.audit() 시스템 함수 | audit()의 내용을 참조하십시오. |
| 대체 TP PCB에 대한 PURG 호출 | 출력 IMS 메시지 큐와 연관된 연속 레코드 또는 인쇄 양식에 대해 close 문을 사용하십시오. | |
| 비동기 처리 | vgLib.startTransaction() | startTransaction()의 내용을 참조하십시오. |