Subroutine 是面向物件的 ABAP 編程模型誕生之前的一種 ABAP程式模塊化編程方式,廣泛應用于 SAP ECC 等傳統產品中,
舉個例子,看下圖這個 ABAP 報表,在主程式中,執行4個包含業務邏輯的代碼塊(我們用給ABAP 變數賦值,并列印變數值,來模擬業務邏輯的執行)

因為模擬邏輯比較簡單,所以上圖的報表,大家看起來可能還是覺得不是很復雜,然而,在實際場景中,如果把一個業務場景里所有的業務邏輯,都書寫在主程式里,會帶來以下弊端:
-
為了確保代碼的可讀性和后續可維護性,需要為每個業務邏輯代碼塊,手動書寫一些注釋,例如上圖第8,12,16,20行代碼,
-
上圖代碼第3行~第6行定義的變數,從業務邏輯上說,只屬于對應的業務邏輯代碼塊,比如 lv_data_for_task1, 開發者的意圖是,它純粹是為了完成任務1(task1)而設計的,然而,從技術上來說,lv_data_for_task1到 lv_data_for_task4這四個變數,全部是通過全域變數的方式定義的,因此,整個報表的任意位置,都能夠修改這些 lv_data_for_task 的值,其結果就是,這些變數毫
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/274802.html
標籤:其他
上一篇:從電話網到IP互聯網再到CDN
