2016-10-21 8 views
0

는 좀 더 읽기유틸리티를 사용하지 않고 cobol 프로그램에서 지연을 만드는 방법은 무엇입니까?

ACCEPT TIME-TODAY FROM TIME. 

** 10 SECONDS waiting: 
PERFORM UNTIL DELTATIME <= 00001000 
    ACCEPT TIME-TODAY-2 FROM TIME 
    COMPUTE DELTATIME = (TIME-TODAY-2 - TIME-TODAY) 
END-PERFORM. 

로 코드를 가지고 : http://ibmmainframes.com/about9953.html#ixzz4NiZIe8cY

하지만이 코드는 경계 조건에 대해 작동하지 않습니다.

+5

아니요, 이것은 당황 스럽습니다. 메인 프레임에서 10 CPU 초의 비용을 알고 있습니까? 나는 그것이 당신이 메스 꺼운 느낌을 갖게 할 것이라고 생각합니다. 왜 이럴 필요가 있다고 생각하니? –

+0

다른 웹 보드에서 링크 된 스레드는 10 년입니다. – cschneid

+4

복제본 : http://stackoverflow.com/questions/11786621/how-to-sleep-in-mainframe-cobol –

답변

2

질문에 메인 프레임 태그가 있습니다. z/OS 또는 z/VM이 운영 체제라고 가정합니다.

응용 프로그램의 런타임 루틴을 총칭하여 언어 환경이라고합니다. 암시 적이든 명시 적이든이 런타임 루틴을 호출하게됩니다. 당신은 그것을 피할 수 없습니다.

런타임에는 목표를 달성하는 CEE3DLY이 포함됩니다. IBM 지식 센터의 언어 환경 섹션을 확인하십시오.

"모든 유틸리티"를 사용하지 않고 코드를 지연시키는 것이 요구 사항이라고 생각합니다. 귀하의 코드에서 유틸리티 (언어 환경 런타임 루틴)를 항상 사용하고 있다고 말하고 있습니다. 예를 들어, Working-Storage는 Language Environment 루틴에 의해 할당됩니다. CEE3DLY을 호출해도 종속성이 추가되지 않습니다.

+0

중복이므로 :이 답변에 투표하지 마십시오. @cschneid :이 대부분을 복사하십시오. 가능하면 원본 답안에 준 답에 대한 답변 (복제), 답변 삭제, 복제에 대한 투표 –