如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2018年3月20日

SAP ABAP/4程式共用的六種方法

作者: Fred F.M. Wang (FW知識瑣記) 日期:2018.3.20
原著作日期 : 2001/03/29



Outline
   共用程式片段(Include file)
   共用副程式庫(Subroutine pool)
   共用功能模組(Function pool)
   共用Transaction (Call transaction)
   共用報表(Submit report)
   共用對話窗模組(Dialog module pool)

共用程式片段(Include file)
    共用程式片段Program type : ‘I’ (Include program)
    叫用方式 : Include Zxxxxx.
    Include programs are used to
    1. divide very large programs into smaller more manageable units
    2. create common program components
    就上面第二點而言, 兩個缺點:
    data dependence, not information hiding
    not modularization

共用副程式庫(Subroutine pool)
    副程式庫Program type : ‘S’ (subroutine pool)
    用來存放可共用的副程式(Form)
    副程式庫宣告方式 : Report Zxxxxx.
    程式庫宣告方式 :  FORM abc.  … ENDFORM.
    叫用共用副程式庫中的副程式 : PERFORM abc(Zxxxxx).
    優點:
    Easy developing, easy calling
    Grouping different purpose subroutines into pools
    Data independent, data transmitting via parameters

共用功能模組庫(Function pool)
    功能模組庫Program type : ‘F’ (Function group)
    Function pool 用來存放Function module
    功能模組庫宣告方式 : FUNCTION-POOL Zxxx.
    功能模組宣告方式 : FUNCTION abc. …. ENDFUNCTION.
    叫用功能模組庫中的功能模組 : CALL FUNCTION abc.
    優點:
    same as subroutine pool
    Remote function call supported
    不必記得function module放在哪個function group只要記得function module name即可
共用Transaction (Call transaction)
叫用方式 : CALL TRANSACRION “Zxx”.
2種應用方式:
1. SET PARAMETER 方式: Call transaction … and skip first screen,  put value into parameters of input fields
2. BATCH INPUT 方式: Call transaction …  using BDCDATA mode 'E'  update 'S’ messages into MESSTAB : put value into fields via BDC structure

共用報表(Submit report)
    共用報表Program type : ‘1’ (report)
    報表程式宣告方式 : REPORT Zxxxxx.
    叫用報表程式 : SUBMIT Zxxxxx.
    缺點:
    Parameters transmitting via EXPORT/IMPORT commands
    變數必須宣告以相同的名稱, 模組化程度不足

共用對話窗模組庫(Dialog module pool)
    Program type : ‘M’ (module pool)
    共用對話窗模組庫宣告方式 : PROGRAM Zxxxxx.
    叫用方式 : CALL DIALOG “Zabc”.
    可將許多共用對話窗模組,放在一個Module pool內供許多程式叫用
    優點:Function module不必記得Dialog module放在哪個module pool要記得dialog module name即可

2018年3月16日

我用開源Open Source做多少事, 導入Open Source平台需要做甚麼

作者: Fred F.M. Wang (FW知識瑣記) 日期:2018.3.16

 這是我五年多的時間, 用Open Source做的專案
1 使用BIRT建立商業智慧報表系統
2 使用Drupal 建立企業網站
3 使用Drupal Commerce 建立露營地訂位系統
4 使用Codeigniter+XAMPP 建立企業應用入口,以及許多Web應用系統如資產查詢,設備查詢,安裝軟體查詢,刷卡紀錄查詢,行事曆,同仁通訊錄,特約商店...等
5 使用 phpBB 建立公司內部論壇平台
6 使用 Redmine 建立專案管理平台
7 使用 Mantis 建立Issue Tracking System
8 使用 Subversion 建立版本管理系統
9 使用 OTRS 建立IT服務管理系統(ITSM), 包含IT服務需求管理
10 使用 Spiceworks 建立資訊設備管理系統自動掃描與收集設備資訊
11 使用ProcessMaker 做為流程管理平台(注意: ProcessMaker Open Source版不提供patch更新等服務)

您需要做甚麼
1 事前評估該Open Source軟體的成熟度, 可用性, 功能適用性,是否適用於您的電腦環境,如OS與帳號整合等。
2 熟悉PHP或Open Source使用的程式語言, 必要時可以修改原始程式,修改後一定要記錄下來,當系統升級後需要確認是否還要將程式改回去。
3 熟悉CSS, 可以自行修改為合適的風格。
4 上相關資源網站找解答,發生錯誤時,可以找到解決的方法。
5 研究了解該平台的資料庫資料表格結構,必要時可以與其他系統整合,或開發輔助系統
6 了解Open Source 軟體安裝,升級,平台移轉與資料庫備份的方法。
7 了解Open Source軟體的設定
    a. 如何增加功能模組
    b. 如何設定郵件通知
    c. 如何設定企業帳號整合,例如與Microsoft AD整合
    d. 如何進行其他基本設定