인쇄 양식
인쇄 양식은 프린터로 보내는 레이아웃을 정의합니다.
인쇄 프로세스
인쇄는 다음과 같은 2단계로 진행됩니다.
- 먼저, print 문을 코딩합니다. 각 명령문은 런타임 버퍼에 양식을 추가합니다.
- 그 다음, EGL 런타임이 새 페이지를 시작하는 데 필요한 기호를 추가하고 버퍼된 모든 양식을 인쇄 디바이스로 송신한 후 버퍼의 내용을 지웁니다.
해당 서비스는 다음과 같은 상황에 대한 응답으로 제공됩니다.
- 프로그램이 동일한 인쇄 디바이스를 목적지로 하는 인쇄 양식에 대해 close 문을 실행합니다.
- 프로그램이 세그먼트 모드(텍스트 UI 프로그램과 UI 프로그램에서의 세그먼테이션 참조)이고 converse 문을 실행합니다.
- 프로그램이 비EGL(및 비VisualAge Generator) 프로그램에 의해 호출되었으며 호출된 프로그램이 종료됩니다.
- 실행 단위의 기본 프로그램이 종료됩니다.
- converseVar.printerAssociation 시스템 변수(인쇄 양식의 출력 목적지를 지정함)는 iSeries에서 실행되는 COBOL 프로그램에서 설정됩니다.
다중 양식의 출력인 경우 양식을 표시하는 순서대로 print 문을 호출해야 합니다.
다음 예를 고려하십시오.
- 출력의 맨 위에 있는 고정된 양식은 구입 회사 및 주문 번호를 식별합니다.
- 후속 부동 영역에서 동일하게 형식화된 일련의 부동 양식은 회사에 대한 각 주문 품목을 식별합니다.
- 출력 맨 아래에 있는 고정된 양식은 항목의 목록에서 화면이동하는 데 필요한 화면 또는 페이지의 수를 나타냅니다.
이 정보를 인쇄하려면 일련의 print 문을 호출하십시오. 각 명령문은 인쇄 양식에서 작동합니다.
해당 명령문은 표시된 순서 대로 다음 양식을 참조합니다.
- 맨 위 양식
- 루프에서 반복적으로 호출되는 print 문에 의해 표시되는 부동 양식입니다.
- 맨 아래 양식
새 페이지를 시작하려면 print 문을 실행하기 전에 converseLib.pageEject() 시스템 함수를 호출하십시오.
고정 양식에 대한 고려사항
다음과 같은 명령문이 고정된 양식에 적용됩니다.
- 현재 행보다 긴 시작 행이 있는 고정된 양식에 대해 print 문을 실행할 경우, EGL은 지정된 행으로 인쇄 디바이스를 진행하는 데 필요한 기호를 삽입합니다. 이와 유사하게 현재 행보다 짧은 시작 행이 있는 고정 양식에 대해 print 문을 실행할 경우, EGL은 새 페이지를 시작하는 데 필요한 기호를 삽입합니다.
- 고정 양식이 다른 고정 양식의 일부 행(전체가 아님)을 오버레이하는 경우 EGL은 새 페이지를 시작하는 데 필요한 기호를 자동으로 삽입하고 새 페이지에 두 번째 고정 양식을 배치합니다.
- 고정 양식이 다른 고정 양식의 모든 행을 오버레이할 경우, EGL은 버퍼에서 나머지 출력을 지우지 않고 기존 양식을 대체합니다. 기존 출력을 유지하고 다음 페이지에 새 양식을 배치하려는 경우 새 양식에 대해 print 문을 실행하기 전에 converseLib.pageEject() 시스템 함수를 호출하십시오.
부동 양식에 대한 고려사항
부동 양식을 사용 중이면 다음과 같은 실수가 발생할 수 있습니다.
- print 문을 실행하여 부동 영역 끝을 벗어나서 부동 양식을 배치합니다. 또는,
- 최소한 부분적으로 부동 영역을 고정 양식으로 오버레이하는 print 문을 실행한 다음, 부동 양식을 부동 영역에 추가하기 위해 print 문을 실행합니다.
두 경우의 결과로 EGL이 새 페이지를 시작하는 데 필요한 기호를 삽입하며, 부동 영역이 새 페이지의 부동 영역 첫 번째 행에 배치됩니다. 예를 들어, 페이지가 앞에서 설명한 주문 및 항목 출력과 유사할 경우, 새 페이지에 최상위 고정 양식이 포함되지 않습니다.
기타 고려사항
소수점과 구분 기호 문자는 decimalSymbol 및 separatorSymbol 빌드 디스크립터 옵션에 의해 판별됩니다. 인쇄 양식을 사용하지 않는 COBOL에 대해 생성하는 EGL 프로그램에서 해당 옵션의 기본값은 런타임 설치 시 지정된 언어 종속 옵션 모듈에서 옵니다. 그러나 인쇄 양식을 사용하는 경우 decimalSymbol 옵션의 기본값은 기간이고 separatorSymbol 옵션의 기본값은 쉼표입니다. 이러한 값이 사용자 위치에 적절하지 않으면 해당 디스크립터 옵션을 명백하게 설정해야 합니다.
인쇄 목적지
EGL에서 close 문을 처리하여 인쇄 양식을 표시하는 경우 출력이 프린터 또는 데이터 세트로 보내집니다.
다음 세 번 중에서 목적지를 지정할 수 있습니다.
- 디버그할 때(EGL 디버거에 대한 정보는 EGL 프로그래머 안내서 참조)
- 생성할 때 자원 연관 파트 사용(자세한 정보는 EGL 생성 안내서 참조)
- 실행할 때 converseVar.printerAssociation 시스템 변수의 현재 값 사용(printerAssociation 참조)