1. 程式人生 > >如何使用ABSL代碼調用Web service

如何使用ABSL代碼調用Web service

absl abap sap cloud c4c

需求:在C4C UI裏創建web service(maintain ticket),然後通過ABSL代碼消費。
1. 創建一個新的Communication Arrangement
技術分享圖片

基於Manage Tickets這個標準的Communication Scenario創建一個Communication Arrangement:

技術分享圖片

因為我是在當前C4C系統上的ABSL裏調用當前C4C系統提供的Web Service,所以Communication System選擇Local:

技術分享圖片

當然這個Local的communication system也是需要在這個地方自己創建一個的:

Authentication method可以維護成"User ID and Password", 給該創建的arrangement維護communication user的password:

技術分享圖片

技術分享圖片

將該Arrangement的WSDL下載到本地。

技術分享圖片

2. 在Cloud Studio裏創建一個新的External Web Service Integration:

技術分享圖片

將第一步下載的WSDL文件夾加載進去:

技術分享圖片

點擊finish,在Studio裏能看到自動生成了兩個文件。

雙擊.csd(communication scenario definition), 將Communication Type改為A2X改為:

技術分享圖片

切換到Services tab, 選擇Custom Outbound Services->JerryTicket2->MaintainBundle

技術分享圖片

激活之後,在Communication Scenario的列表裏也能看到JerryTicket2這個communication scenario了。

3. 基於前一步創建的communication scenario JerryTicket2創建一個Communication arrangement。至此C4C配置完成。

技術分享圖片

技術分享圖片

ABSL代碼如下:

技術分享圖片

import ABSL;

import AP.CRM.Global;

import AP.Common.GDT;

var ticketReq: JerryTicket2.MaintainBundle.Request;

var SerReq : JerryTicket2.MaintainBundle.Request.ServiceRequestBundleMaintainRequest2_sync.ServiceRequest ;

var SrvReqItem : JerryTicket2.MaintainBundle.Request.ServiceRequestBundleMaintainRequest2_sync.ServiceRequest.Item;

SerReq.actionCode = "06";

SerReq.ID = this.ID;

var counter = 0;

while(counter < 500)

{

SrvReqItem.actionCode = "01"; //Create Item

SrvReqItem.Description.content = "Add item from WS" ;

SrvReqItem.ProductID.content = "P120100";

SrvReqItem.RequestedQuantity.content = 1.0;

SrvReqItem.RequestedQuantity.unitCode = "EA";

SrvReqItem.UserServiceTransactionProcessingTypeCode = "SRP0";

SerReq.Item.Add(SrvReqItem);

counter = counter + 1;

}

ticketReq.ServiceRequestBundleMaintainRequest2_sync.ServiceRequest.Add(SerReq);

var response = Library::JerryTicket2.MaintainBundle(ticketReq,"","JerryTicket2");

要獲取更多Jerry的原創技術文章,請關註公眾號"汪子熙"或者掃描下面二維碼:

技術分享圖片

技術分享圖片

如何使用ABSL代碼調用Web service