1. 程式人生 > >sap呼叫外部rfc函式

sap呼叫外部rfc函式

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' 是外部實現的方法名,