2016-07-15 6 views
1

타사 공급 업체가 제공 한 CSV 파일을 COBOL 응용 프로그램으로 가져옵니다. 파일 이름은 .csv 형식으로 23 자입니다. 배달 된 파일은 Excel, Word 및 Vi로 정상적으로 올바르게 읽습니다.23 문자 파일 이름 파일의 open 문에 94,20 오류가 발생했습니다.

제공된 파일 이름을 사용하여 이러한 파일 중 하나를 열면 COBOL 오류 94,20- 파일을 찾을 수 없습니다. 이것은 SCO OpenServer 5.0.7 (Unix) 및 Windows 7 런타임 환경에서 발생합니다.

그러나 파일 이름을 임의로 4 자로 줄이면 아무런 문제없이 파일을 열고 읽고 닫을 수 있습니다.

순차 입력 파일 이름에 허용되는 문자 수에 COBOL 제한이 있습니까? 그 밖의 오픈 불량의 원인은 무엇입니까?

저는 Micro-focus/ACUCOBOL-GT V7.00 컴파일러와 ACUCOBOL-GT 런타임 버전 5.2.1을 실행하고 있습니다.

답변

0

SCO Unix (SCO OpenServer의 전신)의 이전 버전에는 14 자의 파일 이름 제한이 있습니다. 파일의 이름이 'something.csv'인 경우 '무언가'부분은 10 자로 제한됩니다.

이 제한은 OpenServer 5.0.7에 적용되지 않습니다. 그러나 사용중인 COBOL이 훨씬 이전 버전에서 컴파일되었거나 최신 버전이지만 이전 버전과의 호환성을 유지하기 위해 파일 이름 지원을 자발적으로 제한하는 경우 문제가 될 수 있습니다. 당신은 13, 14, 15-char 파일 이름에 대해 테스트함으로써 이것을 조사 할 수 있습니다. 일반적으로 실제 길이를 알아보기 위해 다른 길이를 조사하십시오.

5.0.7 시스템에는 시스템 호출 추적 프로그램 truss (C)가 있어야하며 추적 시스템 (CP)이있을 수 있습니다 (C 개발 시스템이 설치된 경우). truss how-you-start-a-cobol-program longfilename.csv을 실행하면 유용한 출력이 생성 될 수 있습니다. 실제 오류 및 시스템 오류 번호가 표시됩니다. trusstrace의 OSR5 버전은 약간 달라 지므로 둘 다 시도하십시오. 파일에 출력을 쓰려면 "-o"플래그와 같은 항목에 대한 매뉴얼 페이지를 읽으십시오.