Message Flow for ESB 3

>>>>>>>CRM_Order_Sync
--Order Sync Routing LabelName
CREATE DATABASE MODULE CRM_Order_Sync_RoutingLabelName
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
DECLARE lableName CHARACTER;
SET lableName=
Root.XMLNSC.siebel:SiebelMessage.siebel:ListOfOrder.siebel:ListOfOrderHeader.siebel:Order.
siebel:ListOfOrderItem.siebel:OrderItem.siebel:ActionCode;
SET Environment.Variables.OrderTypeLableName=lableName;
CALL Utility.addRouteLabel(LocalEnvironment,lableName);
RETURN TRUE;
END;
END MODULE;


--Build Order Sync Request
/**
*批量開戶
**/
CREATE COMPUTE MODULE CRM_Order_Sync_Request
CREATE FUNCTION Main() RETURNS BOOLEAN
BEGIN
SET OutputRoot = InputRoot;

--通過 公共節點 拼成order中相同內容
DECLARE requestMessage REFERENCE TO OutputRoot.XMLNSC.uvs:order.uvs:OrderRequest.uvs:RequestMessage;
--需修改業務類型
SET requestMessage.uvs:MessageBody.uvs:OrderInfo.uvs:TradeType VALUE='CA010';

--創建Body節點
CREATE FIELD requestMessage.uvs:MessageBody;
DECLARE messageBody REFERENCE TO requestMessage.uvs:MessageBody;
--取到 siebel請求來的消息
DECLARE siebelMessage REFERENCE TO Environment.Variables.SiebelMessage;

--信用度 需要 100倍轉換
DECLARE acctCredit INTEGER Siebel.Util.convertAcctCreditToCBS(siebelMessage.siebel:ListOfOrder.siebel:ListOfOrderHeader.siebel:Order.siebel:CREDITAMOUNT,100);
--賬戶的付費類型 枚舉轉換 如果siebel不傳固定填1
DECLARE paidMode_o CHARACTER Common.getTransferValue(Siebel.Util.getPaymentType(),FIELDVALUE(siebelMessage.siebel:ListOfOrder.siebel:ListOfOrderHeader.siebel:Order.siebel:PaymentType));
IF paidMode_o IS NULL OR paidMode_o = '' THEN
SET paidMode_o=1;
END IF;

--Accts
SET messageBody.uvs:Accts.uvs:Acct.uvs:AcctInfoEntity.(XMLNSC.Attribute)type='1';
SET messageBody.uvs:Accts.uvs:Acct.uvs:AcctInfoEntity.uvs:Account.uvs:acctID=siebelMessage.siebel:ListOfOrder.siebel:ListOfOrderHeader.siebel:Order.siebel:ListOfOrderItem.siebel:OrderItem.siebel:BillingAccountNumber;
SET messageBody.uvs:Accts.uvs:Acct.uvs:AcctInfoEntity.uvs:Account.uvs:custID=siebelMessage.siebel:ListOfOrder.siebel:ListOfOrderHeader.siebel:Order.siebel:AccountNumber;
SET messageBody.uvs:Accts.uvs:Acct.uvs:AcctInfoEntity.uvs:Account.uvs:acctCredit=acctCredit;

SET messageBody.uvs:Accts.uvs:Acct.uvs:AcctInfoEntity.uvs:Account.uvs:ParaList.uvs:Para.uvs:paraID='AccountCode';
SET messageBody.uvs:Accts.uvs:Acct.uvs:AcctInfoEntity.uvs:Account.uvs:ParaList.uvs:Para.uvs:paraName='AccountCode';
SET messageBody.uvs:Accts.uvs:Acct.uvs:AcctInfoEntity.uvs:Account.uvs:ParaList.uvs:Para.uvs:paraValue=siebelMessage.siebel:ListOfOrder.siebel:ListOfOrderHeader.siebel:Order.siebel:ListOfOrderItem.siebel:OrderItem.siebel:BillingAccountNumber;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章