안녕하세요,
스마트 폼으로 장표를 출력하고 있는데요,,
헤더 부분에 장표의 정보가 표시되고
메인윈도우에서 루프를 돌리면서 명세 부분을 출력하고 있는데요.
명세가 길어져서 2페이지로 넘어가게 될 경우에
1페이지에는 명세를 표시하지 않고 2페이지 부터 명세를 출력하게 하려고 하는데요.
메인페이지에서 루프를 돌릴시에 이 명세가 2페이지 까지 넘어갈지 아닐지 알 수 있나요?
일단, 전체 페이지 수를 봐서
전체 페이지 수가 1일 경우, 2페이지 이상일 경우,,,
이렇게 따로따로 페이지를 만들까 생각하고 있는데요.
플래그를 줘서 좀더 세련되게 코딩 하는 방법은 없나요??
혹시 알고 계신분이 계시다면 답변좀 주세요. 기다리겠습니다.
댓글 3
-
JiruMi
2009.08.28 23:35
-
JiruMi
2009.08.28 23:55
위에 sysf-formpages -> sfsy-formpages 로 정정합니다. -
....
2009.08.28 23:58
아, 그런가요.... 절망적인 답변이네요,,,
이런저런거 안될때 시스템 항목 sfsy-formpages 로 판단하려고 했는데
그것마저 안된다면.....
실은 헤더 부분에 READ_TEXT로 가져와야 하는 항목이 있어서 길이가 고정이 아닙니다.
텍스트 부분에 한줄이 입력된 경우 한줄만 표시하고 20줄 입력된경우 20줄을 표시해야 하기에
1페이지에 명세부분이 몇개까지 표현될까를 미리 판단할 수가 없습니다...
그렇다면 아예 저런 코딩을 할 수가 없는 결론에 도달하게 되는건가요.........ㅠ.ㅠ
그래도, JiruMi님 답변 감사드립니다!
미리 총 페이지를 아는 방법은 제가 아는 한도 안에는 없습니다.. ( 넵. ABAP 8개월째; )
스마트폼의 시스템 항목으로 sysf-formpages 가 있는데, 이 안에 총 페이지가 들어 가 있어서
이것으로 판단 하며 될 것 같지만, 이 시스템 항목은 스마트폼이 모두 출력 된 가장 최후에 총 페이지 값이 들어 가기 때문에
조건 으로 사용할 수 가 없습니다.
그러므로 방법은 "명세 갯수와 명세의 실제 인쇄 범위를 초기에 계산" 해서 "첫 페이지에 인쇄 할 수 있는 명세의 갯수"를 넘으면
2페이지로 넘어가도록, 하드 코딩 해야 합니다..