|
![]() |
#1 |
Участник
|
Я в этот кодеюнит вообще не лазил.....
Код: 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); |
|