commit()

sysLib.commit() 시스템 함수는 특정 파일과 데이터베이스 같은 복구 가능한 자원에 업데이트를 저장합니다.

대부분의 경우 EGL은 각 복구 가능 관리자에 영향을 미치는 1단계 커미트를 수행합니다. 대개 이 커미트는 모든 파일 또는 데이터베이스의 읽기 위치 잠금과 업데이트 잠금을 해제합니다. 암시적 커미트가 발생하는 경우에 대한 정보는 논리적 작업 단위의 내용을 참조하십시오. sysLib.commit()의 불필요한 사용을 피하면 성능을 개선할 수 있습니다. 자세한 정보는 이 주제의 "호환성"을 참조하십시오. 이 주제의 끝에 있는 관련 참조 링크에서 다양한 UI 기술의 세그먼트화에 대한 토론도 참조하십시오.

구문

  sysLib.commit( )

호환성

표 1. commit()의 호환성 고려사항
플랫폼 문제
z/OS®용 CICS®
  • sysLib.commit()를 호출하면 CICS SYNCPOINT가 발생하여 모든 자원 관리자에서 조정되는 2단계 커미트가 수행됩니다.
  • 원격 COBOL 프로그램에 대한 호출에 클라이언트 제어 작업 단위가 포함되는 경우 생성된 Java™ 프로그램 또는 랩퍼가 원격 CICS 기반 COBOL 프로그램에서 수행한 업데이트(CICS 복구 가능 파일의 업데이트 포함)도 저장합니다. 자세한 정보는 luwControlEGL 생성 안내서 정보를 참조하십시오.
  • 원격으로 호출된 일괄처리 프로그램(호출 프로그램과 다른 시스템에 상주하는 프로그램)이 sysLib.commit()를 호출할 수 있습니다. luwControl 속성을 SERVER로 설정하면 커미트가 정상적으로 작동합니다. 이 속성을 CLIENT로 설정하면 EGL이 RuntimeException을 예외 처리(throw)합니다.
  • CICS 파일 정의와 파일 유형에 따라 파일이 복구 가능 자원이 될 수 있습니다.
COBOL 생성 관계형 데이터베이스 액세스(SQL) 중에 cursorWithHold 옵션을 사용하면 읽기 위치 잠금과 업데이트 잠금이 해제되지 않을 수 있습니다. 자세한 정보는 SQL에 대한 open 고려사항 and SQL에 대한 prepare 고려사항의 내용을 참조하십시오.
IMS™ BMP
  • 트랜잭션 중심 BMP의 경우 sysLib.commit()는 무시됩니다. 암시적 커미트가 발생하는 경우에 대한 자세한 정보는 논리적 작업 단위의 내용을 참조하십시오.
  • 일괄처리 중심 BMP의 경우 sysLib.commit()를 호출하면 DL/I 기본 CHKP 호출이 발생하여 모든 자원 관리자에서 조정되는 2단계 커미트가 수행됩니다. psbData.psbName의 컨텐츠는 CHKP 호출의 체크포인트 ID로 사용됩니다.
  • 비고속 대체 PCB와 연관된 직렬 파일에 기록된 출력은 복구 가능합니다.
  • GSAM 파일은 기본 CHKP와 함께 사용되는 경우 복구 불가능합니다. GSAM 파일을 복구 가능하게 만들려면 다음 시스템 함수 중 하나를 사용하여 DL/I 기호 체크포인트 호출을 실행하십시오.
    • dliLib.AIBTDLI()
    • dliLib.EIBTDLI()
    • vgLib.VGTDLI()
IMS/VS 이 환경에서는 sysLib.commit가 무시됩니다. 암시적 커미트가 발생하는 경우에 대한 세부사항은 논리적 작업 단위의 내용을 참조하십시오.
iSeries COBOL 프로그램이 SQL문을 실행한 경우 sysLib.commit()를 호출하면 SQL COMMIT WORK가 발생합니다. 프로그램이 SQL 요청을 실행하지 않은 경우에는 sysLib.commit()가 iSeries COMMIT 명령과 동등해집니다. 암시적 커미트가 발생하는 경우에 대한 세부사항은 논리적 작업 단위의 내용을 참조하십시오.
Java 생성
  • sysLib.commit() 커미트는 클라이언트 제어 작업 단위를 사용하여 호출된 원격 서버 프로그램의 변경사항뿐 아니라 관계형 데이터베이스와 WebSphere® MQ 메시지 큐의 변경사항을 커미트합니다.
JavaScript 생성 sysLib.commit가 지원되지 않습니다.
WebSphere MQ 메시지 큐
  • 메시지 큐 업데이트는 MQRecord 파트에서 includeMsgInTransaction 특성이 YES로 설정된 경우에만 복구 가능합니다.
  • 메시지 get 문과 add 문 모두 복구 가능 메시지의 commit()rollback()의 영향을 받습니다. 복구 가능 메시지에 대해 get 다음에 rollback()을 실행하면 트랜잭션을 완료하지 못하는 경우 입력 메시지가 손실되지 않도록 다시 입력 큐에 메시지가 배치됩니다. 또한 복구 가능 메시지에 대해 add 다음에 rollback()을 실행하면 메시지가 큐에서 삭제됩니다.
z/OS 일괄처리
  • 프로그램이 PSB를 지정하지 않았지만 SQL 요청을 발행한 경우 sysLib.commit()를 호출하면 SQL COMMIT WORK가 발생합니다.
  • 프로그램이 PSB를 지정한 경우 sysLib.commit()를 호출하면 DL/I 기본 CHKP 호출이 발생하여 모든 자원 관리자에서 조정되는 2단계 커미트가 수행됩니다. psbData.psbName의 컨텐츠는 CHKP 호출의 체크포인트 ID로 사용됩니다.
  • GSAM 파일은 기본 CHKP와 함께 사용되는 경우 복구 불가능합니다. GSAM 파일을 복구 가능하게 만들려면 다음 시스템 함수 중 하나를 사용하여 DL/I 기호 체크포인트 호출을 실행하십시오.
    • dliLib.AIBTDLI()
    • dliLib.EIBTDLI()
    • vgLib.VGTDLI()