printerAssociation

converseVar.printerAssociation 시스템 변수를 사용하여 런타임 시 양식을 인쇄할 때 출력 대상을 지정합니다. 일부 파일 유형의 경우 여러 인쇄 파일을 동시에 열 수 있습니다.

다음 방법 중 하나로 이 변수를 사용할 수 있습니다.
  • assignment 또는 move 문의 소스 또는 대상으로 사용
  • 논리식 표현에서 비교 값으로 사용
  • return 문의 값으로 사용
converseVar.printerAssociation의 특성은 다음과 같습니다.
기본 유형
CHAR
데이터 길이
파일 유형에 따라 다름
세그먼트화된 대화의 값 저장 여부

converseVar.printerAssociation은 생성 중에 또는 디버깅을 위해 지정된 시스템 자원 이름으로 초기화됩니다. 프로그램이 다른 프로그램에 제어를 전달하면 converseVar.printerAssociation 값이 수신 프로그램의 기본값으로 설정됩니다.

여러 인쇄 출력의 인터리브를 방지하기 위해 인쇄 파일은 다음 중 하나가 발생할 때까지 열려 있습니다.
  • close 문이 양식에 대해 수행됩니다.
  • 세그먼트화 중단이 발생합니다.
  • 기본 프로그램이 종료됩니다.
  • 호출 대상 프로그램이 종료되고 비EGL 및 비VAGen 프로그램에서 호출되었습니다.
close 문은 converseVar.printerAssociation의 현재 값과 관련된 파일을 닫습니다. converseVar.printerAssociation 값을 변경하면 다음이 발생합니다.
  • 여러 인쇄 출력을 허용하는 파일 유형의 경우 현재 프린터 파일이 계속 열려 있습니다. next print 문에서 EGL은 이 printerAssociation 값에 대한 첫 번째 참조인 경우 새 인쇄 출력 파일을 열거나, 이전에 사용한 이 printerAssociation 값에서 파일이 이미 열린 경우 인쇄 출력 파일에 추가합니다.
  • 여러 인쇄 출력을 허용하지 않는 파일 유형의 경우 EGL은 next print문에서 현재 프린터 파일을 닫고 새 printerAssociation 값에 새 인쇄 출력 파일을 엽니다.

호환성

표 1. printerAssociation에 대한 호환성 고려사항
플랫폼 문제
Java™ 생성
Java 생성을 위해 converseVar.printerAssociation을 중간에 콜론이 있는 두 개의 부분으로 된 문자열로 설정합니다.
  jobID:destination
jobID
각 인쇄 작업을 고유하게 식별하는 일련의 문자(콜론 없음)입니다. 문자는 대소문자가 구분되며(job01JOB01과 다름), 인쇄 작업이 닫힌 후에 jobID를 다시 사용할 수 있습니다.
사용자 코드의 이벤트 플로우에 따라 다른 작업을 사용하여 다른 출력 종류 또는 다른 출력 순서를 개선시킬 수 있습니다. 예를 들어, 다음과 같은 EGL 명령문의 순서를 고려하십시오.
  converseVar.printerAssociation = "job1"; 
  print form1;
  converseVar.printerAssociation = "job2";
  print form2;
  converseVar.printerAssociation = "job1";
  print form3;
프로그램이 종료되면 다음의 두 인쇄 작업이 작성됩니다.
  • form3이 뒤에 오는 form1
  • form2만 단독으로
destination
출력을 수신하는 프린터 또는 파일입니다.
destination 문자열은 선택사항이며 인쇄 작업이 계속 열려 있는 경우 무시됩니다. 문자열이 없는 경우, 다음과 같은 명령문이 적용됩니다.
  • destination 앞에 오는 콜론을 생략할 수 있습니다.
  • 대부분의 경우 프로그램에서는 사용자가 출력에 사용될 프린터 또는 파일을 지정하는 인쇄 미리보기 대화 상자를 표시합니다. curses 라이브러리를 UNIX에 사용하면 예외가 발생합니다. 이때 인쇄 작업이 기본 프린터로 이동합니다.
Windows 2000/NT/XP에 대해 생성 중이면 다음 명령문이 destination의 설정에 적용됩니다.
  • 출력을 기본 프린터로 보내려면 다음과 같이 수행하십시오.
    • 자원 연관 파트의 fileName 특성과 일치하는 값을 지정하십시오.
    • spool(seqws)가 아님)이 관련된 파일 유형의 값이 되도록 Java 런타임 특성을 변경하십시오. 예를 들어, 자원 연관 파트에서 fileName 특성 값이 myFile이고 systemName 값이 printer이면, Java 런타임 특성의 설정을 변경하여 vgj.ra.myFile.fileType이 seqws가 아니라 spool이 되도록 설정해야 합니다. 변경한 후 특성이 다음과 같습니다.
        vgj.ra.myFile.systemName=printer
        vgj.ra.myFile.fileType=spool
  • 출력을 파일로 보내려면 자원 연관 파트의 fileName 특성과 일치하는 값을 지정하십시오. 여기서 seqws는 자원 연관 파트의 관련 fileType 특성의 값입니다. systemName 특성은 출력을 수신하는 운영 체제 파일 이름이 포함된 자원 연관 파트입니다.
  • printerdestination 값으로 지정하지 마십시오. 이렇게 지정하면 인쇄 미리보기 대화 상자가 사용자에게 표시되지만 이후 버전의 EGL에서 동작이 변경될 수 있습니다.
다음 명령문은 UNIX에 대해 생성 중일 때 destination의 설정에 적용됩니다.
  • 출력을 기본 프린터로 보내려면(curses 라이브러리가 사용 중인지 여부에 상관 없음) 자원 연관 파트의 fileName 특성과 일치하는 값을 지정하십시오. 여기서 spool은 자원 연관 파트의 관련 fileType 특성의 값입니다.
  • 출력을 파일로 보내려면 자원 연관 파트의 fileName 특성과 일치하는 값을 지정하십시오. 여기서 seqws는 자원 연관 파트의 관련 fileType 특성의 값입니다. 자원 연관 파트의 systemName 특성에는 출력을 수신하는 운영 체제 이름이 포함됩니다.
  • printer 값을 destination 값으로 지정하지 마십시오. 이렇게 지정하면(또한 curses 라이브러리가 사용 중인지 않은 경우) 인쇄 미리보기 대화 상자가 사용자에게 표시되지만 이후 버전의 EGL에서 동작이 변경될 수 있습니다.
CICS®
CICS에서 printDestination 빌드 디스크립터 옵션의 값은 converseVar.printerAssociation의 초기값을 판별하거나 초기값을 판별하기 위해 vgLib.startTransaction() 시스템 함수와 상호작용합니다.
  • printDestination을 PROGRAMCONTROLLED로 설정한 경우 converseVar.printerAssociation의 초기값은 생성될 때 파일 이름 printer에 지정된 값입니다.
  • 다음 조건이 모두 true인 경우 converseVar.printerAssociation의 초기값은 해당 함수의 prID 매개변수에 지정된 값입니다.
    • printDestination은 TERMINALID로 설정됩니다.
    • 트랜잭션은 vgLib.startTransaction() 함수 호출에 의해 시작됩니다.
    • vgLib.startTransaction() 함수의 termID 매개변수는 영(2진수)으로 설정됩니다.

CICS 일괄처리 프로그램이 vgLib.startTransaction() 함수를 통해 시작되지 않은 경우 converseVar.printerAssociation의 기본값은 터미널에서 시작된 프로그램에 적절하게 CICS EIBTRMID로 설정됩니다.

다음 파일 유형만 지원됩니다.
SPOOL
converseVar.printerAssociation의 값은 직렬 파일과 연관된 JES SPOOL 파일의 출력 파일 이름입니다. 여러 파일을 동시에 열 수 있습니다.
출력 파일 이름은 다음 양식을 가지며 19바이트 정도를 포함합니다.
  nodeid.userid.class

nodeid는 1 - 8자의 시스템 노드 ID 또는 별표(*)입니다. userid는 1 - 8자의 시스템 사용자 ID 또는 별표(*)입니다. class는 선택사항이며 기본값으로 A가 설정된 1자의 스풀 클래스입니다. class가 지정되지 않은 경우, userid도 선택적이며 기본값은 CICS 사용자 ID(sysVar.userID에 저장된 값)입니다.

자세한 정보는 CICS 사용자 정의 매뉴얼을 참조하십시오.

TRANSIENT
이 값은 직렬 파일과 연관된 임시 데이터 큐의 4바이트 DCT 이름입니다. 임시 데이터 큐 이름은 CICS에 정의되어야 합니다.

여러 파일을 동시에 열 수 있습니다.

IMS™ BMP
EGL 생성 IMS BMP의 converseVar.printerAssociation에 대한 지원이 다음 플랫폼의 해당 변수에 대한 지원과 결합됩니다.
  • IMS/VS, 여기서 converseVar.printerAssociation은 SMSGQ 유형의 파일에만 유용합니다.
  • z/OS® 일괄처리, 여기서 converseVar.printerAssociation은 SEQRS 유형의 파일에만 유용합니다.
IMS/VS

SMSGQ 유형의 파일이 출력으로 지원되지만 여러 파일을 동시에 열 수 없습니다. 값(8바이트 논리 터미널 이름 또는 트랜잭션 코드)이 IMS 시스템에 정의되고 단일 세그먼트 메시지를 승인하는 메시지 큐와 연관되어야 합니다. 생성 시 사용되는 자원 연관 파트에서 파일 이름은 수정이 가능한 대체 PCB 또는 수정이 가능한 표현 대체 PCB와 연관되어야 합니다.

converseVar.printerAssociation의 값은 대문자로 변환되지 않습니다.

iSeries COBOL

iSeries COBOL과 관련하여 converseVar.printerAssociation 시스템 변수를 생성 시 사용되는 자원 연관 파트의 fileName 특성 값으로 설정하십시오. 파일 유형이 SPOOL이 아닌 SEQ여야 합니다.

다중 인쇄 작업은 iSeries에 대해 생성되는 COBOL 프로그램에 지원되지 않고 converseVar.printerAssociation이 설정될 때, EGL 런타임이 이전 파일(데이터의 이전 결과물을 완료)을 닫습니다. iSeries 명령 OVRPRTF를 사용하여 파일 이름을 대체하고, 새 파일을 엽니다.

사용되기 이전에 converseVar.printerAssociation의 값은 대문자로 변환되지만 시스템 변수 자체의 값은 변경되지 않고 그대로 유지됩니다. 시스템 변수가 소문자 버전으로 초기화되면 소문자 버전에 대하여 비교될 때 converseVar.printerAssociation의 값은 TRUE을 테스트합니다.

converseVar.printerAssociation에서 설정된 값은 호출 레벨에서 전파되며 모든 하위 호출 레벨로 변경됩니다. 그러나 프로그램에서 이전에 이 파일을 열었으면 값이 전달되지 않습니다.

z/OS 일괄처리

SEQRS 유형의 파일을 참조하는 경우에만 converseVar.printerAssociation 시스템 변수를 설정할 수 있습니다. z/OS 일괄처리 프로그램으로 생성되는 프로그램의 경우, 변수의 값이 54바이트 데이터 세트 이름이거나 8바이트 DD 이름이며, 여러 파일을 동시에 열 수 있습니다. 변수의 초기값은 EZEPRINT라는 DD 이름에 할당된 파일의 이름이거나(DD 이름이 없는 경우) 생성 시 파일 이름 printer에 지정된 시스템 자원 이름입니다.

converseVar.printerAssociation을 설정할 때 파일은 SVC99 동적 할당 방식으로 연결됩니다. SVC99의 DISP 옵션이 SHR로 설정됩니다. 이는 데이터 세트가 출력을 위해 열릴 때마다 다시 작성됨을 의미합니다.

사용되기 이전에 converseVar.printerAssociation의 값은 대문자로 변환되지만 시스템 변수 자체의 값은 변경되지 않고 그대로 유지됩니다. 시스템 변수가 소문자 버전으로 초기화되면 소문자 버전에 대하여 비교될 때 converseVar.printerAssociation의 값은 TRUE을 테스트합니다.