2012-03-08 1 views
0

머리글은 보고서의 시작과 끝에서 인쇄됩니다. 내 LR이 잘못되었다고 생각해. 어떤 도움?rpg as400 제목 2x 인쇄 하시겠습니까?

ft1prlc if e    disk 
fqsysprt o f 132  printer 
d heading1  c     'Salary Report' 
d heading2  c     'SSN  Last Name Salary' 
c     read  t1prlc         lr 
c     dow  *inlr=*off 
c     except printline 
c     read  t1prlc         lr 
c     enddo 
oqsysprt H       2 
O            Heading1 
O   h       2 
O            Heading2 
oqsysprt e   printline  2 

답변

0

RPG에 오신 것을 환영합니다.

예외 인쇄가 특정 조건에서 발생하도록 설정된 방법을 확인하십니까? EXCEPT 조작이 PRINTLINE을 지정하는 경우에만 세부 사항이 인쇄됩니다. PRINTLINE2, PRINTLINE 등의 다른 EXCEPT가 있으면 인쇄하지 않습니다.

제목 줄을 조절하는 기능은 무엇입니까? 힌트 : 'H'라인은 인디애나와 같은 이름이 아닌 인디케이터로 구성됩니다.

1

RPG의 경우, 레코드 유형 "H"와 "D"사이에는 실제 구별이 없습니다. 둘 다 똑같이 처리됩니다. 헤딩 라인을 두 번 얻는 이유를 이해하려면 RPG 로직 사이클을 이해해야합니다. 요약하면 논리 사이클은 c- 스펙 계산을 수행하기 전에 & 세부 행을 인쇄하여 시작합니다. 그런 다음 로직 사이클을 통해 매번 &의 제목 행을 인쇄합니다. 그래서 우리는이 :

  1. 인쇄 제목 및 세부
  2. 확인 * INLR합니다. * ON이면 종료됩니다.
  3. 수행 세부 계산
  4. 1

가이 문제를 방지하려면 F-사양은 오버 플로우 표시기를 지정해야 단계로 돌아갑니다. 그런 다음 O 스펙은 동일한 오버플로 표시기를 사용하여 조절해야합니다.

+1

또한 조언을 따르면서도 논리 사이클 프로그래밍을 실제로 사용하지 않기 때문에 제목은 한 번만 인쇄됩니다. 자, 논리 순환 프로그래밍을 사용해야한다고 말하는 것은 아닙니다. 사실, 소수의 사람들은 더 이상하지 않습니다. 제목 줄을 세부 줄과 동일한 실행 인쇄 그룹의 일부로 만들되 오버플로 표시기로 만들어야합니다. 이렇게하면 페이지 나누기가 있으면 새로운 헤더도 생깁니다. –