SAP 調用外部程式 .轉

來源:互聯網
上載者:User
SAP 調用外部程式 SAP 的方法(函數)如何用其它語言實現,是SAP的funcation module 如果在外面實現,就是在SAP裡建立一個FM,然後在外面用其它語言,JAVA,.net實現這個方法完成複雜功能。

在SAP外部啟動一個服務,這個服務串連SAP的geteway service,當SAP調用RFC方法時這個方法根據DESTINATION 指定的RFC名稱(SM59),找到這個服務程式,找到實現方法。

作用:
1.實現複雜的業務處理,比較abap語言實現困難的
2.與外部系統做介面,比較當SAP做業務時觸發外部作業
3.從外部擷取資料,前題是SAP為主動
4.SAP與外部語言的無關性
5.例如SAP與生鮮磅稱的介面,當SAP做收貨,稱重量時,用這種方法調用外部程式,把重量反回SAP系統。very good!

 RFC 配置:
                         i.              T-Code:SM59;建立一個RFC串連,需要配置的項目:輸入RFC Destination,Connection Type 選擇T(表示用TCP/IP方式),輸入Description(描述),Technical Settings裡選擇Registered server program ,配置Program ID這個很重要與PC上外部註冊的服務程式名稱一致,Gateway host(主機網關,這個資訊由Basis人員提供)xxx.xxx.xxx.xxx,Gateway service (網關服務,這個資訊由Basis人員提供,例如:sapgw10).
                       ii.              測試Test Connection ,如果配置成功應通過。沒有錯誤提示。
FM建立:

    SE37 ,注意屬性要設定為遠程方式(remote -enabled module),其它與建立普通FM一樣。
FM調用方式:
 

***初始化L_ITAB_DATA內表***
  L_RFC_DESTINATION = 'SM59DesName'.  "'RFCSCALE'.  "指定RFC程式
  L_WA_WEIGHT-WAAGE = 'SM59ProgramID'. "在配置SM59時最好兩個名一樣,
  APPEND L_WA_WEIGHT TO L_ITAB_WEIGHT.  "向Internal Table中賦值

***調用SAP FUNCTION MODULE擷取資料***'HU_GET_RFC_DATA' 是外部實現的方法名,請參考執行個體
  CALL FUNCTION 'HU_GET_RFC_DATA' DESTINATION L_RFC_DESTINATION
    TABLES
      ET_WEIGHT             = L_ITAB_WEIGHT
    EXCEPTIONS
      COMMUNICATION_FAILURE = 1  MESSAGE MSG_TEXT
      SYSTEM_FAILURE        = 2  MESSAGE MSG_TEXT. 
    
C#實現FM:

SAP.net實現非常簡單,用SAP.net服務產生RFC介面存取方法類。

附件:sap.net標準執行個體

SAP 的方法(函數)如何用其它語言實現,是SAP的funcation module 如果在外面實現,就是在SAP裡建立一個FM,然後在外面用其它語言,JAVA,.net實現這個方法完成複雜功能。

在SAP外部啟動一個服務,這個服務串連SAP的geteway service,當SAP調用RFC方法時這個方法根據DESTINATION 指定的RFC名稱(SM59),找到這個服務程式,找到實現方法。

作用:
1.實現複雜的業務處理,比較abap語言實現困難的
2.與外部系統做介面,比較當SAP做業務時觸發外部作業
3.從外部擷取資料,前題是SAP為主動
4.SAP與外部語言的無關性
5.例如SAP與生鮮磅稱的介面,當SAP做收貨,稱重量時,用這種方法調用外部程式,把重量反回SAP系統。very good!

 RFC 配置:
                         i.              T-Code:SM59;建立一個RFC串連,需要配置的項目:輸入RFC Destination,Connection Type 選擇T(表示用TCP/IP方式),輸入Description(描述),Technical Settings裡選擇Registered server program ,配置Program ID這個很重要與PC上外部註冊的服務程式名稱一致,Gateway host(主機網關,這個資訊由Basis人員提供)xxx.xxx.xxx.xxx,Gateway service (網關服務,這個資訊由Basis人員提供,例如:sapgw10).
                       ii.              測試Test Connection ,如果配置成功應通過。沒有錯誤提示。
FM建立:

    SE37 ,注意屬性要設定為遠程方式(remote -enabled module),其它與建立普通FM一樣。
FM調用方式:
 

***初始化L_ITAB_DATA內表***
  L_RFC_DESTINATION = 'SM59DesName'.  "'RFCSCALE'.  "指定RFC程式
  L_WA_WEIGHT-WAAGE = 'SM59ProgramID'. "在配置SM59時最好兩個名一樣,
  APPEND L_WA_WEIGHT TO L_ITAB_WEIGHT.  "向Internal Table中賦值

***調用SAP FUNCTION MODULE擷取資料***'HU_GET_RFC_DATA' 是外部實現的方法名,請參考執行個體
  CALL FUNCTION 'HU_GET_RFC_DATA' DESTINATION L_RFC_DESTINATION
    TABLES
      ET_WEIGHT             = L_ITAB_WEIGHT
    EXCEPTIONS
      COMMUNICATION_FAILURE = 1  MESSAGE MSG_TEXT
      SYSTEM_FAILURE        = 2  MESSAGE MSG_TEXT. 
    
C#實現FM:

SAP.net實現非常簡單,用SAP.net服務產生RFC介面存取方法類。

附件:sap.net標準執行個體

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.