Я в этот кодеюнит вообще не лазил.....
Код:
Documentation()
OnRun()
BizTalkManagement.GET;
IF (BizTalkManagement."Check BizTalk Suspd. Queue") AND
(BizTalkManagement."Suspd. Queue Monitor Interval" > 0) THEN BEGIN
CREATE(SuspQueueTimer);
SuspQueueTimer.Interval := BizTalkManagement."Suspd. Queue Monitor Interval" * 60000;
SuspQueueTimer.Enable;
END;
IF BizTalkManagement."Outbnd. Doc. Monitor Interval" > 0 THEN BEGIN
CREATE(OutboundDocTimer);
OutboundDocTimer.Interval := BizTalkManagement."Outbnd. Doc. Monitor Interval" * 60000;
OutboundDocTimer.Enable;
END;
CREATE(TcpCom);
MESSAGE(Text001 + COMPANYNAME);
SubstString(StringToSearch : Text[250];SearchString : Text[250];StringToSub : Text[250]) : Text[250]
res := StringToSearch;
IF (STRLEN(StringToSearch) > 0) AND (STRLEN(SearchString) > 0) THEN BEGIN
EOS := FALSE;
inx := 0;
REPEAT
inx := inx + 1;
IF inx <= STRLEN(res) THEN BEGIN
TestChar := COPYSTR(res,inx,STRLEN(SearchString));
IF TestChar = SearchString THEN
res := COPYSTR(res,1,inx-1) + StringToSub + COPYSTR(res,inx + STRLEN(SearchString),250);
END
ELSE
EOS := TRUE;
UNTIL EOS;
END;
EXIT(res);
StartTcpListen(PortNumber : Integer) ReturnBool : Boolean
IF PortNumber = 0 THEN
BEGIN
TcpCom.Cryptography := BizTalkManagement."Use Encryption";
ReturnBool := TcpCom.TcpListen(BizTalkManagement."Appln. Srv./Broker Port No.");
END
ELSE
BEGIN
TcpCom.Cryptography := BizTalkManagement."Use Encryption";
ReturnBool := TcpCom.TcpListen(PortNumber);
END;
EXIT(ReturnBool);
OutboundDocTimer::TimerEvent()
OutboundDocTimer.Disable;
WatchDog.CheckOutbound;
OutboundDocTimer.Enable;
SuspQueueTimer::TimerEvent()
SuspQueueTimer.Disable;
WatchDog.CheckBTSQueue;
SuspQueueTimer.Enable;
TcpCom::DataAvailable(VAR XmlData : Automation "''.IDISPATCH";VAR XmlResponse : Text[1024])
xmlin := XmlData;
CREATE(xmlout);
XMLDocReceive.PutXMLIn(xmlin);
XMLDocReceive.RUN;
COMMIT;
XMLDocReceive.GetXMLOut(xmlout);
XmlResponse := xmlout.xml;
XMLDocReceive.GetInboundDocumentType(DocumentType);
XMLDocReceive.GetInboundDocumentNo(DocumentNo);
XMLDocAccept.Init(DocumentType,DocumentNo);
IF NOT XMLDocAccept.RUN THEN BEGIN
IF (BizTalkManagement."Send System Error Description") AND
(BizTalkManagement."System Administrator E-Mail" <> '')
THEN
Mail.NewMessage(BizTalkManagement."System Administrator E-Mail",
Text002,
STRSUBSTNO(Text003,SELECTSTR(DocumentType+1,Text004),DocumentNo),'');
END;
CLEAR(xmlin);
CLEAR(xmlout);