Mike,

I am not sure if this is officially supported but I have done it in a
couple of sites.

You can change a couple of the settings in the VOC record for the
command you want to run. DOS or create an separate entry to the
executable itself.

Change attribute 4 of the voc entry to include one of the following,
TICRGNH. I cannot remember the exact one at this stage. But one of them
Lets you execute a command during a trigger.

Cheers,


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of HENDERSON MIKE,
MR
Sent: Thursday, 8 September 2005 2:46 p.m.
To: u2-users@listserver.u2ug.org
Cc: SOO STEATHER, MR
Subject: [U2] [UV] Triggers, transaction state and interaction with the
'outside world' {Unclassified}

Listers,

We provision our Microsoft Active Directory (and our SAP Logistics, and
..., and ...) from our UniVerse HR system [UV 10.0.x on Windows Server
2003 - we are pretty much a Windows shop].  Currently the data transfer
is done by an overnight batch process, which we have used for several
years, but we now wish to provide a more real-time solution.

The mechanism chosen by our architecture team is Microsoft BizTalk
Server, which comes with interfaces to AD and SAP already available and
tested.  Our preferred method of talking to BizTalk is via Microsoft
Message Queuing Services, because this is an assured-delivery transport
[if it tells you it's got the message, it *will* arrive at the
destination].  We have a Windows '.dll' and an '.exe' command-line
utility which will talk to MSMQ from any Windows box.
In order to achieve the real-time aspect, the obvious thing to do is to
add a trigger to the relevant base file in UV, which will put a message
into MSMQ to send to BizTalk to tell everything else about the change.
To do this, we must be in Transaction State (if you weren't already, a
trigger automagically puts you into Transaction State).

This brings us to a difficulty: we can't use the command-line utility
because 'PERFORM "DOS ..." ' is not allowed in transaction state, nor
can we directly insert the record in a remote SQL database because BCI
CONNECT is also not allowed in Transaction State.

I think that leaves us with three theoretical possibilities:
a)      Write a UV Basic program using the Sockets Interface to talk
directly to MSMQ
b)      Write a C routine to talk to MSMQ via a published API (or
calling our '.dll'), and invoke this via the UniVerse GCI or
c)      Make the Trigger write a UV flag record, monitoring that file
with a Phantom which will talk to MSMQ via the DOS Shell

"c" is kind of a crude, 'Rube Goldberg' lash-up and less real-time, but
it would work and we could do that in a few hours programming work.  But
our architecture guys would probably snigger at my 'old-fashioned'
technology.

I don't know if "a" or "b" will work in Transaction State, and we have
no institutional knowledge of either mechanism so it would be expensive
in time to try to find out.

Please can anyone offer any experienced-based advice here, or suggest an
alternative "d" which is easier, better, and/or quicker than my ideas.
And yes, I'd at least consider a "buy my excellent product ..."
response.

Thanks in advance


Mike







The information contained in this Internet Email message is intended for
the addressee only and may contain privileged information, but not
necessarily the official views or opinions of the New Zealand Defence
Force.
If you are not the intended recipient you must not use, disclose, copy
or distribute this message or the information in it.

If you have received this message in error, please Email or telephone
the sender immediately.
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to