當某一子程式被呼叫執行時,該程式通常有以下
3種發展方向。
q呼叫另乙個子程式。
q終止本子程式,並返回上一層主呼叫程式。
q終止本子程式,同時退出整個系統。
關於第一條發展方向,實際上在上一小節中已有所提到。此處重點看後兩種發展方向。其中對於第
2種發展方向,主要是通過
goback
或exit program
語句實現的。對於第
3種發展方向,主要是通過
stop run
語句實現的。下面分別就以上
3種語句進行講解。
1
.goback
語句
goback
語句作為程式的結束標誌,既可以在子程式中使用,也可以在主程式中使用。二者的共同之處都是終止程式,但也有各自的區別。
q對於子程式而言,使用
goback
語句有兩方面作用。其中一方面作用是表示該子程式在此處終止。另一方面作用是表示該子程式終止後,將把控制權返回給主程式或是上一層子程式。
q對於主程式而言,
goback
語句通常表示返回到作業系統。此時,包含該程式的作業將結束執行。實際上,在主程式中使用
goback
語句和使用
stop run
語句是等效的。
2
.exit program
語句
當在子程式中使用
exit program
語句時,表示直接返回到主程式或上一層子程式中。並且,保持此時的執行單元不被終止。當子程式中所有語句執行完畢後,將會產生並執行一條隱含的
exit program
語句。在主程式中使用
exit program
語句時,不會產生任何動作。因此,通常不在主程式中使用
exit program
語句。3
.stop run
語句
在子程式中使用
stop run
語句時,通常將直接返回到作業系統中。並且,此時相應的作業也將結束執行。當在主程式中使用
stop run
語句時,通常也是直接返回到作業系統。並且,
stop run
語句將終止整個執行單元。同時,該語句還將把所有動態呼叫的子程式,以及相應的編譯連線程式從執行單元中移除掉。但需要注意的是,該語句並不刪除主程式。
精通COBOL 11 2 1 子程式的命名規則
子程式的命名通常和普通程式的命名方式相同。但是需要注意的是,對於子程式而言,不可將其字首命名為以下這幾個名字。afbafh cbccee edcibm ifyigy igzilb 實際上,以上名字都屬於 ibm相關產品的名字。如果將子程式的字首命名為以上名字,則在主程式中將不能對其進行呼叫。當在主程...
精通COBOL 11 2 2 子程式的呼叫順序
首先需要說明的是,子程式實際上就是普通的程式。當某一程式被其他程式呼叫時,該程式才相對呼叫的程式而言被稱作子程式。因此,當某一程式作為子程式被呼叫後,該程式也可再將其他程式作為子程式進行呼叫。當多個程式進行呼叫時,便存在乙個呼叫順序的問題。關於子程式的呼叫順序,通常是提倡進行線形呼叫的。例如,以下這...
COBOL子程式呼叫
內部子程式 identification division.program id.proc a.environment division.data division.procedure division.identification division.program id.proc b.enviro...