子程式的命名通常和普通程式的命名方式相同。但是需要注意的是,對於子程式而言,不可將其字首命名為以下這幾個名字。
afbafh
cbccee
edcibm
ifyigy
igzilb
實際上,以上名字都屬於
ibm相關產品的名字。如果將子程式的字首命名為以上名字,則在主程式中將不能對其進行呼叫。當在主程式中試圖呼叫該子程式時,系統將會從
ibm的庫,或者編譯器例程中尋求解決方案。
例如,以下這種子程式呼叫便是錯誤的。其中子程式**如下。
identificationdivision.
program-idedc-sub-prog.
auther***.
*environmentdivision.
*datadivision.
working storage section.
……linkage section.
define some parameters……*
proceduredivisionusingsome parameters.
……goback.
主程式**如下。
identificationdivision.
program-idtest-main-prog.
auther***.
*environmentdivision.
*datadivision.
working storage section.
77parm-datapic x.……*
proceduredivision.
……call 『edc-sub-prog』usingparm-data.
……stop run.
以上被呼叫的子程式名字為「
edc-sub-prog
」。由於其字首為「
edc」,屬於
ibm的保留字,因此該子程式不能被呼叫。
精通COBOL 11 2 2 子程式的呼叫順序
首先需要說明的是,子程式實際上就是普通的程式。當某一程式被其他程式呼叫時,該程式才相對呼叫的程式而言被稱作子程式。因此,當某一程式作為子程式被呼叫後,該程式也可再將其他程式作為子程式進行呼叫。當多個程式進行呼叫時,便存在乙個呼叫順序的問題。關於子程式的呼叫順序,通常是提倡進行線形呼叫的。例如,以下這...
精通COBOL 11 2 3 子程式的終止方式
當某一子程式被呼叫執行時,該程式通常有以下 3種發展方向。q呼叫另乙個子程式。q終止本子程式,並返回上一層主呼叫程式。q終止本子程式,同時退出整個系統。關於第一條發展方向,實際上在上一小節中已有所提到。此處重點看後兩種發展方向。其中對於第 2種發展方向,主要是通過 goback 或exit prog...
COBOL子程式呼叫
內部子程式 identification division.program id.proc a.environment division.data division.procedure division.identification division.program id.proc b.enviro...