是否有可能通過COBOL程序故意讓您的工作異常結束。 假設我有一個輸入文件,其中包含Header,Detail和Trailer記錄。我將寫一個COBOL pgm來讀取這個文件。如果在這個文件中沒有找到Detail記錄,那麼我想通過給出一些Abend消息和一些Abend Code來緩解我的工作。是否可能?如何故意緩和工作
如何故意緩和工作
回答
想要將程序退出還是隻需設置RETURN-CODE?
我懷疑設置RETURN-CODE,書面方式留言 ,然後通過STOP RUN
或GOBACK
終止程序是所有 你真正想做的事情。導致實際的ABEND可能不是必需的。
在IBM批處理環境中,由程序設置的RETURN-CODE成爲運行程序的JCL作業步驟的 RC。這通常是你想要設置和測試的內容。
RETURN-CODE
由MOVE
設置爲一個數字值。例如:
DISPLAY 'No Detail Records found in file.'
MOVE 16 TO RETURN-CODE
GOBACK.
您也可以發行使用 的CEE3DMP--Generate dump 實用程序的語言環境下運行的程序(IBM大型機 選項)中的程序轉儲。
在舊的IBM Mainframe COBOL程序中,您可能會看到對ILBOABN0
例程的調用。這個電話 abended您的程序併發布轉儲。此例程現在爲depreciated,贊成上面列出的 技術。
最後,真正舊的程序可能會在其中生成代碼來生成異常終止。這可以通過多種方式來完成,但是被零除是 往往喜愛:
DIVIDE SOME-NUMBER BY ZERO GIVING SOME-NUMBER.
屢試不爽!
個人而言,我建議設置RETURN-CODE
來呼叫ILBOABN0
或數據異常技術。
注意: RETURN-CODE特殊寄存器不是COBOL-85標準的一部分。它可以作爲IBM對該語言的擴展。如果您在非IBM兼容環境中工作,則可能需要採取其他機制。
有關如何設置傳回給JCL作業步驟的返回代碼以及強制加密代碼,請參閱以下鏈接。 http://www.tek-tips.com/viewthread.cfm?qid=1058302&page=22
做運行的異常結束的一種方法是,以輸出一個消息發送到用戶終端或在大型計算機中心,並在必要時可能在打印機的操作者,所有這取決於計算機的類型的程序是被運行。在cobol中,可以使用DISPLAY UPON ..並使用ENVIRONMENT DIVISION SPECIAL-NAMES部分條目中定義的終端,操作員控制檯或打印機的標識符。一個例子可能與此類似,使用正確的設備名稱爲您的案件 操作員控制檯是特殊名稱與顯示「運行錯誤 - 沒有詳細記錄,流出」的輸出OP2和 顯示「報告運營經理「的輸出OP2和停止運行。在程序劃分。 對環境的提及需要包含在任何工作或宏觀和操作說明中。
首先,你應該檢查一下你自己的商店/網站的工作標準。爲了「邏輯」的原因,大多數團隊已經有了一種可以接受的方式來故意收縮程序。我工作的一家公司有一個叫做SYSABND2的非常簡單的程序,我相信它是用匯編語言編寫的,這個程序被稱爲只是用來收縮程序。
這就是說,到ABEND(不只是設置返回代碼),你應該調用模塊CEE3ABD(或以前版本ILBOABN0,現在不建議使用)。
有關詳細信息,請參閱:
是的,這是可能的異常終止你的工作故意通過COBOL程序通過簡單地調用不存在的一個模塊。它會給S806異步代碼。
如果程序不使用動態CALL,該怎麼辦?那將如何生成S806? – 2017-02-10 11:56:20
- 1. mysql故意放緩
- 2. 應用程序緩存故障轉移如何工作?
- 3. 故意延緩動態模板
- 4. 我如何故意從主內存讀取緩存?
- 5. ASP.NET緩存如何工作?
- 6. RoR緩存如何工作?
- 7. 緩存如何工作?
- 8. Gmap.net緩存如何工作?
- 9. 緩存行如何工作?
- 10. 緩衝流如何工作?
- 11. CherryPy緩存如何工作?
- 12. iOS - 緩存如何工作?
- 13. PreparedStatement緩存 - 它是什麼意思(它是如何工作的)
- 14. 如何故意拋出RuntimeException?
- 15. 意向如何工作?
- 16. asp.net MVC的緩存和Firefox的緩存如何工作?
- 17. paintBackground不知何故現在願意工作
- 18. ServiceStack PooledRedisClientManager故障轉移如何工作?
- 19. 轉場緩和;不工作
- 20. 緩和不會工作?
- 21. 如何在Infopath for SharePoint 2010中故意鎖定工作流任務?
- 22. jQuery和緩存 - 它如何工作,檢測當前的緩存和版本等
- 23. Localizable.strings工作,但不工作的意大利人故事板完美本地化。
- 24. GWT ClientBundle緩存如何工作?
- 25. InputStream緩衝區如何工作?
- 26. Django緩存系統如何工作?
- 27. 自動NDB緩存如何工作?
- 28. 如何導軌默認緩存工作
- 29. AMP緩存如何正確工作?
- 30. 如何使res_query工作與DNS緩存?
ILBOABN0(在鏈接頁面上提及)現在已被棄用。而外部鏈接不是答案,你應該在這裏總結一下。除了更令人愉快之外,與網站鏈接往往不會總是呆在周圍,尤其是像這樣的網站。谷歌的「tek-tips.com」,你會發現至少有兩個中斷時間,人們抱怨。 – Abacus 2014-01-31 21:53:15