Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- BROKER SCHEMA Service
- -- **************************************************************** --
- -- Developer : Ahmed Safwat
- -- Date : 25/2/2018
- -- Version :
- -- Implementation ID : --
- -- Comments : --
- -- **************************************************************** --
- CREATE COMPUTE MODULE LoanCancelation_AuditVarsContextRouting_WS
- CREATE FUNCTION Main() RETURNS BOOLEAN
- BEGIN
- CALL CopyMessageHeaders();
- DECLARE ENV REFERENCE TO Environment.Variables;
- DECLARE inHdr REFERENCE TO InputRoot.XMLNSC.alr:LoanCancelationRq.Hdr;
- DECLARE inBody REFERENCE TO InputRoot.XMLNSC.alr:LoanCancelationRq.Body;
- --Save Soap Context Data
- SET ENV.Context.OriginalProperties = InputRoot.Properties;
- SET ENV.Context.SOAPReplyID = InputLocalEnvironment.Destination.SOAP.Reply.ReplyIdentifier;
- --Routing
- SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelName = 'GetT24ContractExitenceStatus';
- --Context
- CREATE FIELD ENV.Context.LoanCancelationRq;
- DECLARE LoanCancelationRq REFERENCE TO ENV.Context.LoanCancelationRq;
- -- setting destination to FinanceBulkCancelation
- SET OutputLocalEnvironment.Destination.RouterList.DestinationData[1].labelName = 'GetT24ContractExitenceStatus';
- CREATE FIELD ENV.Context.GetT24ContractExitenceStatusRq;
- DECLARE GetT24ContractExitenceStatusRq REFERENCE TO ENV.Context.GetT24ContractExitenceStatusRq;
- -- Parameters of GetT24ContractExitenceStatus
- --previous audit
- /*
- -- Parameters of GetT24ContractExitenceStatus
- SET GetT24ContractExitenceStatusRq.MsgId = SUBSTRING(CAST(Environment.Variables.MsgId AS CHAR) FROM 3 FOR 48);
- SET GetT24ContractExitenceStatusRq.RqID = inHdr.alr:Msg.alr:RqID;
- SET GetT24ContractExitenceStatusRq.SvcID = inHdr.alr:Msg.alr:SvcID;
- SET GetT24ContractExitenceStatusRq.FuncID = '0001';
- SET GetT24ContractExitenceStatusRq.UserLang = COALESCE(inHdr.alr:Sys.alr:SessionLang, inHdr.alr:Agt.alr:UserLang, 'EN');
- SET GetT24ContractExitenceStatusRq.Cic = inHdr.alr:Agt.alr:CICNum;
- SET GetT24ContractExitenceStatusRq.UserID = inHdr.alr:Sys.alr:LoginInfo.alr:UserID;
- SET GetT24ContractExitenceStatusRq.DossierNum = inBody.DossierNum;
- SET GetT24ContractExitenceStatusRq.BranchId = inHdr.alr:Sys.alr:BranchID;
- SET GetT24ContractExitenceStatusRq.NumOfInstallments = COALESCE(inBody.NumOfInstallments, 0);
- SET GetT24ContractExitenceStatusRq.ChID = inHdr.alr:Sys.alr:ChID;
- SET GetT24ContractExitenceStatusRq.TerminalID = COALESCE(inHdr.alr:Sys.alr:TerminalID, '0000');
- RETURN TRUE;
- */
- SET ENV.AuditVars.UsrDef1 = inBody.ContractNum;
- SET LoanCancelationRq.serviceID = inHdr.alr1:Msg.alr1:SvcID;
- SET LoanCancelationRq.subServiceID = inHdr.alr1:Msg.alr1:SubSvcID;
- SET LoanCancelationRq.RqID = inHdr.alr1:Msg.alr1:RqID;
- SET LoanCancelationRq.msgTimeStamp = CAST ((CURRENT_TIMESTAMP - TIMESTAMP '1970-01-01 00:00:00') SECOND as INTEGER);
- SET LoanCancelationRq.channelID = inHdr.alr1:Sys.alr1:ChID;
- SET LoanCancelationRq.userID = 'INTERNET';
- SET LoanCancelationRq.bankID = '1';
- SET LoanCancelationRq.language = COALESCE(inHdr.alr1:Sys.alr1:SessionLang , 'EN' );
- SET LoanCancelationRq.dossierID = inBody.ContractNum;
- RETURN TRUE;
- END;
- CREATE PROCEDURE CopyMessageHeaders() BEGIN
- DECLARE I INTEGER 1;
- DECLARE J INTEGER;
- SET J = CARDINALITY(InputRoot.*[]);
- WHILE I < J DO
- SET OutputRoot.*[I] = InputRoot.*[I];
- SET I = I + 1;
- END WHILE;
- END;
- END MODULE;
- CREATE COMPUTE MODULE LoanCancelation_ParseRs_WS
- CREATE FUNCTION Main() RETURNS BOOLEAN
- BEGIN
- CALL CopyMessageHeaders();
- SET OutputRoot.XMLNSC.alr:LoanCancelationRs.(XMLNSC.NamespaceDecl)xmlns:alr = alr;
- SET OutputRoot.XMLNSC.alr:LoanCancelationRs.(XMLNSC.NamespaceDecl)xmlns:alr1 = alr1;
- CREATE FIELD OutputRoot.XMLNSC.alr:LoanCancelationRs.Hdr;
- --CREATE FIELD OutputRoot.XMLNSC.alr:LoanCancelationRs.Body;
- DECLARE outHdr REFERENCE TO OutputRoot.XMLNSC.alr:LoanCancelationRs.Hdr;
- --DECLARE outBody REFERENCE TO OutputRoot.XMLNSC.alr:LoanCancelationRs.Body;
- DECLARE ENV REFERENCE TO Environment.Variables;
- DECLARE inMsg REFERENCE TO ENV.Context.SetLoanCancelationRs;
- DECLARE RequestMsg REFERENCE TO ENV.Context.LoanCancelationRq;
- DECLARE ResponseMsg REFERENCE TO ENV.Context.SetLoanCancelationRs;
- SET ENV.AuditVars.ReturnCd = ResponseMsg.Hdr.Status.StatusCd;
- -- T24 procedure call instead
- IF 1=1 THEN
- IF ENV.AuditVars.RejectnReason = '200' THEN
- SET outHdr.alr1:Status.alr1:StatusCd = SuccessErrorCode;
- SET outHdr.alr1:Status.alr1:StatusDesc = SuccessErrorDesc;
- ELSE
- SET outHdr.alr1:Status.alr1:StatusCd = BackendErrorCode;
- SET outHdr.alr1:Status.alr1:StatusDesc = BackendErrorDesc;
- END IF;
- SET outHdr.alr1:RqID = RequestMsg.RqID;
- ELSE
- IF EXISTS(ResponseMsg.Response.resultCode[]) THEN
- CALL util.GetErrorMapping('CTFError',
- 'EAIError',
- '*',
- ResponseMsg.Response.resultCode,
- ResponseMsg.Response.statusCode,
- outHdr.alr1:Status.alr1:StatusCd,
- outHdr.alr1:Status.alr1:StatusDesc,
- Environment.Variables.ErrorMapping.TARGETVAL3);
- ELSE
- SET outHdr.alr1:Status.alr1:StatusCd = BackendErrorCode;
- SET outHdr.alr1:Status.alr1:StatusDesc = BackendErrorDesc;
- END IF;
- END IF;
- SET OutputLocalEnvironment.Destination.SOAP.Reply.ReplyIdentifier = ENV.Context.SOAPReplyID;
- SET OutputRoot.Properties.Encoding = 546;
- SET OutputRoot.Properties.CodedCharSetId = 1208;
- RETURN TRUE;
- END;
- CREATE PROCEDURE CopyMessageHeaders() BEGIN
- DECLARE I INTEGER 1;
- DECLARE J INTEGER;
- SET J = CARDINALITY(InputRoot.*[]);
- WHILE I < J DO
- SET OutputRoot.*[I] = InputRoot.*[I];
- SET I = I + 1;
- END WHILE;
- END;
- END MODULE;
- CREATE COMPUTE MODULE LoanCancelation_ErrorHandler_WS
- CREATE FUNCTION Main() RETURNS BOOLEAN
- BEGIN
- IF EXISTS(Environment.Variables.Context.OriginalProperties[]) THEN
- SET OutputRoot.Properties = Environment.Variables.Context.OriginalProperties;
- ELSE
- SET OutputRoot.Properties = InputRoot.Properties;
- END IF;
- IF NOT EXISTS(OutputRoot.MQMD[]) THEN
- CREATE NEXTSIBLING OF OutputRoot.Properties DOMAIN ('MQMD') NAME 'MQMD';
- IF NOT(EXISTS(Environment.Variables.Context.OriginalMQMD[])) THEN
- SET OutputRoot.MQMD = InputRoot.MQMD;
- ELSE
- SET OutputRoot.MQMD = Environment.Variables.Context.OriginalMQMD;
- END IF;
- END IF;
- DECLARE FailureStatusCode CHARACTER NULLIF(COALESCE(Environment.Variables.Status.StatusCd, Environment.Variables.StatusCd, SuccessErrorCode), SuccessErrorCode);
- IF FailureStatusCode IS NULL THEN
- SET Environment.Variables.AuditVars.ReturnCode = GeneralIntegrationErrorCode;
- SET OutputRoot.XMLNSC.alr:LoanCancelationRs.Hdr.alr1:Status.alr1:StatusCd = GeneralIntegrationErrorCode;
- SET OutputRoot.XMLNSC.alr:LoanCancelationRs.Hdr.alr1:Status.alr1:StatusDesc = GeneralIntegrationErrorDesc;
- ELSE
- SET Environment.Variables.AuditVars.ReturnCode = Environment.Variables.StatusCd;
- SET OutputRoot.XMLNSC.alr:LoanCancelationRs.Hdr.alr1:Status.alr1:StatusCd = COALESCE(Environment.Variables.Status.StatusCd, Environment.Variables.StatusCd);
- SET OutputRoot.XMLNSC.alr:LoanCancelationRs.Hdr.alr1:Status.alr1:StatusDesc = COALESCE(Environment.Variables.Status.StatusDesc, Environment.Variables.StatusDesc);
- END IF;
- SET OutputRoot.XMLNSC.alr:LoanCancelationRs.Hdr.alr1:RqID = Environment.Variables.MsgRqHdr.Msg.RqID;
- RETURN TRUE;
- END;
- END MODULE;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement