2016-07-27 2 views
0

서브 파일을 사용하여 많은 COBOL 프로그램을 수행 할 수 있었지만 최근에는 서브 파일을 탐색하는 동안 페이지를 표시하기위한 키워드가 필요했습니다.
나는 페이지까지 누를 경우에만 키워드 표시를 잡으려고 관리하며 페이지가 다운을 누르면 첫 번째 서브 파일의 페이지, 언제 그리고는 서브 파일의 마지막 페이지입니다,하지만 난 페이지를 잡을 수위로 페이지가 위로 그래서 나는 그것을 찾아서 단일 페이지 서브 파일이 롤링 버튼을 나타내는 유일한 방법 일 수 있다는 것을 알았습니다.
나는 this example을 찾았지만 어떤 종류의 코딩을 사용하고 있는지 알 수 없었다.
cobol에서 단일 페이지 서브 파일을 작성하는 방법

IBM COBOL/400을 사용하여이를 수행하는 방법이 필요합니다.

+0

"서브 파일"을 사용하지 않고 COBOL 프로그램을 사용하여 파일을 읽고 키보드를 처리하고 싶다고 올바르게 이해 했습니까? –

+0

'... 어떤 종류의 코딩 ...'당신이 명확히 할 수 있습니까? 당신은 당신이 프로그래밍 언어를 모르는 것이라고 말하고 있습니까? 오래된 문장 구문을 사용하는 RPG IV, 구식 고정 소스 소스 라인입니다. – user2338816

+0

BTW, ILE COBOL보다는 COBOL/400이 정말로 필요합니까? – user2338816

답변

3

나는 당신이하고 싶은 것을 이해하지 못합니다. 그러나 아마도 다음과 같이하면 질문을 편집하여 더 명확하게 작성할 수 있습니다.

먼저, SFLSIZSFLPAG 키워드의 의미를 이해해야합니다.

이 두 키워드가 관련되어 있으며
페이지에서 다음과 같은 방법으로 사용할 수있는 서브 파일에 기록> 수 -

SFLPAG은 - 한 번
SFLSIZ에서 화면의 서브 파일의 레코드> 수 시간 서브
->SFLPAG = SFLSIZ : UP 모두 페이지를 처리해야하는 애플리케이션 및 DOWN PAGE 키 누름. 응용 프로그램은 한 번에 한 화면 상당의 레코드를로드합니다. 이 기술은 9999 개 이상의 레코드가 표시 될 수있는 경우에 유용합니다.

로드 모든 서브 ->SFLPAG <> SFLSIZ : 귀하의 응용 프로그램이로드 서브 파일에 대한 모든 기록. 시스템은 PAGE UPPAGE DOWN 키를 처리합니다. 서브 파일에는 최대 9999 개의 레코드 만로드 할 수 있습니다.

확장 서브 ->SFLPAG <> SFLSIZ : 귀하의 응용 프로그램이로드 한 번에 기록을 한 화면. 귀하의 응용 프로그램은 페이지 아래로 키를 누르기 만하면됩니다. 시스템은 PAGE UP 키를 처리합니다.

로드 된 모든 하위 파일은 거의 레코드가없는 경우에만 사용되었습니다. 전체 버퍼 (즉, SFLSIZ)가 디스플레이 장치로 전송되기 때문에. 2400 보 통신 라인을 다룰 때, 당신은 당신이하지 않았던 것을 보내기를 원하지 않았습니다.

하위 파일 확장은 타협점이었으며 앱에 대한 작업량이 약간 줄어들었고 필요한 경우에만 데이터를 보냈습니다.

통신 링크의 속도가 주어지면 9999 개가 넘는 레코드가 표시되지 않는 한, 모든 서브 파일로드를 사용할 수 있습니다.좋은 이점은 웹용 도구를 사용하기 시작한 경우, UI에서 모든 데이터를 사용할 수 있으므로 UI가 클라이언트 측에서 열을 기준으로 정렬/필터링 할 수 있도록 허용 할 수 있다는 것입니다.

레코드가 9999 개 이상인 경우 10,000+ 레코드를 통해 페이지를 실제로 사용할 수있게하려면 시간 하위 파일에 페이지가 있어야합니다. 필자는 개인적으로 10,000 개가 넘는 레코드보다 사용자에게 말하는 메시지를 표시하고 모든 하위 파일로드에 적합한보다 합리적인 숫자로 레코드를 선택/필터링하는 방법을 제공합니다.

명심해야 할 점은 5250 프로토콜은 "멍청한 터미널"이 아니라는 것입니다. 귀하가하는 모든 키를 누르는 즉시 호스트로 전송되지 않습니다. 페이지 위로 또는 페이지를 내릴 때 페이지 평균이 인 것은 정말로 클라이언트 터미널 (에뮬레이터)이 처리한다는 것입니다. 컨트롤은 필요할 때만 앱에 반환됩니다. 예를 들어 필드의 VALUES 키워드를 사용하는 경우 해당 유효성 검사는 서버가 아닌 터미널 쪽에서 처리됩니다.