Realtime Interfaces

markjde

Active Member
I will have some interfaces that populate tables on the OneWorld Enterprise
Server through an ODBC connection from the other application.

What we need to do is create a real time environment. When the interface
table is populated by the other application, we want to have an application
executed in OneWorld to process the records in OW.

The remote application will populate the file at anytime, as a result we
can't have a scheduled JDE OW application. Any ideas as to how is the best
way to ensure this happens without too much overhead.

Thanks.

Mark Smith

B7332 SP11, Intel NT4, SQL 7.0
[email protected]
 
Hi Mark,

We also had to do this on my previous job (with exactly the same
configuration as you are running) and accomplished it by having the stored
procedure which is populating outside OW call the RunUBE.exe when it had
finished populating, this automatically kicked off the UBE in OW.

You might also be able to do it by using a trigger on the table being
inserted into and calling through ER, never tried this myself though.

Hope that helps
Barry

-----
BARRY SCOTT
Project Golden Dragon (Hong Kong)
t: (+852) 2686 3110
m: (+44) 7799 671 546


>
 
Barry,

The only problem is that the application that is populating the file via
ODBC cannot initiate a call to the UBE.

In addition, if you cannot (to my knowledge) create a trigger in OW that
will lauch the UBE when a record is added to the table - because it is being
populated via ODBC and not through and OW application.


Mark
----- Original Message -----
From: "BScott" <[email protected]>
To: <[email protected]>
Sent: Sunday, January 14, 2001 7:47 PM
Subject: RE: Realtime Interfaces ~~3951:3953


> Hi Mark,
>
> We also had to do this on my previous job (with exactly the same
> configuration as you are running) and accomplished it by having the stored
> procedure which is populating outside OW call the RunUBE.exe when it had
> finished populating, this automatically kicked off the UBE in OW.
>
> You might also be able to do it by using a trigger on the table being
> inserted into and calling through ER, never tried this myself though.
>
> Hope that helps
> Barry
>
> -----
> BARRY SCOTT
> Project Golden Dragon (Hong Kong)
> t: (+852) 2686 3110
> m: (+44) 7799 671 546
>
>
> >
>
>
> --------------------------
> To view this thread, visit the JDEList forum at:
>
http://198.144.193.139/cgi-bin/wwwthreads/showflat.pl?Cat=0&Board=OWDEV&Numb
er=3953
> *************************************************************
> This is the JDEList One World / XE Developers Mailing List.
> Archives and information on how to SUBSCRIBE, and
> UNSUBSCRIBE can be found at http://www.JDELIST.com
> *************************************************************
>
>
 
I see, I wasn't sure if triggers would work in that case. Maybe you could
get the odbc insert to place a flag in a control table or a file on the
server and have a ube or tsr-type process polling looking for this every
minute - this ube could then kick off the required processing. I've seen
that done very effectively in a unix environment before, don't know much
about NT but I assume similar processes can be put in place.

Barry

>
 
Mark,
If I am right then subsystem jobs do it exactly what you want.
See the JDE documentations how to create subsystem jobs and examine some
existing subsystem job UBE.
Zoltán

>

B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
 
Why don't you just use a database trigger (in Oracle or SQL) instead of
OneWorld trigger? You can use RunUbe there. I've seen this implemented in
AS/400 and it worked just fine.

Regards,
Vladimir Ponomarev
 
Zoltan,

What are some of the other subsystem UBEs? I realize that we have R98810,
but what other ones exist that I look at for guidance?

Thanks.


Mark

----- Original Message -----
From: "Zoltan_Gyimesi" <[email protected]>
To: <[email protected]>
Sent: Monday, January 15, 2001 11:58 AM
Subject: RE: Realtime Interfaces ~~3951:3974


> Mark,
> If I am right then subsystem jobs do it exactly what you want.
> See the JDE documentations how to create subsystem jobs and examine some
> existing subsystem job UBE.
> Zoltán
>
> >
>
> B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
> (working with B7321, B7331, XE too)
> --------------------------
> To view this thread, visit the JDEList forum at:
>
http://198.144.193.139/cgi-bin/wwwthreads/showflat.pl?Cat=0&Board=OWDEV&Numb
er=3974
> *************************************************************
> This is the JDEList One World / XE Developers Mailing List.
> Archives and information on how to SUBSCRIBE, and
> UNSUBSCRIBE can be found at http://www.JDELIST.com
> *************************************************************
>
>
 
Vlad,

What would be the syntax of a trigger to execute an OW UBE? I didn't think
that you could execute anything (aside from database formatting) through MS
SQL 7.0 triggers.


Mark
----- Original Message -----
From: "vap" <[email protected]>
To: <[email protected]>
Sent: Monday, January 15, 2001 4:08 PM
Subject: RE: Realtime Interfaces ~~3951:4004


> Why don't you just use a database trigger (in Oracle or SQL) instead of
> OneWorld trigger? You can use RunUbe there. I've seen this implemented in
> AS/400 and it worked just fine.
>
> Regards,
> Vladimir Ponomarev
>
>
>
>
> --------------------------
> To view this thread, visit the JDEList forum at:
>
http://198.144.193.139/cgi-bin/wwwthreads/showflat.pl?Cat=0&Board=OWDEV&Numb
er=4004
> *************************************************************
> This is the JDEList One World / XE Developers Mailing List.
> Archives and information on how to SUBSCRIBE, and
> UNSUBSCRIBE can be found at http://www.JDELIST.com
> *************************************************************
>
>
 
Mark,
I am really not experienced with subsystem job UBE till now but I have just examined the "Interoperability" JDE documentation under the Technical folder.
Please, take a look at "Appendix B" in your documentation. You will find several Subsystem UBE listed there.
Take care, because as I have seen, in many cases the Subsystem UBE and the "normal" Input Batch Processor UBE differs only in version but not in the template. In these cases, you have to investigate the versions too, not only the template.
Please, share your experiences if you have used subsystem UBE.
Hope, could help a bit.
&
Good Luck,
Zoltán


B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
 
Yuks,
Sorry, I had a closer look at MS SQL, and yes, there seems to be no easy way
to execute an external program (you can do it via DTS, but you can't run a
DTS task from Transact-SQL statement). Sorry.

As a partial excuse I can only say, I've seen this working in AS400 and
thought it is very much the same with SQL server. God bless IBM

Regards,
Vladimir Ponomarev
 
Mark,

I think like Zoltan that UBE is the best way to do what you want. I've used
subsystem in a customer. But you have to initialize some parameters.

First, to use subsystem, you must create a second batch queue. Because when
subsystem is running, the other batch can't run. You must launch the R00460
batch in this queue.
Secondly you must use the P47002 to create a new transaction.
Then you must use the P0047 to define for this transaction which batch you
want to use to integrate your data in OneWorld.
And Last, you use normally the "AddTransactionToSubsystemQueue". If you are
in a third party application you can use this business function but if not,
you can simply add a record in the F986113 to indicates that you have a new
record to integrate in JDE. And your batch will be automatically executed.
There is standard table to integrate you data, you can create a custom table
but this table must have the same format than the standard. (ie, column
EDUS, EDBT, EDTN, EDSP). If you create your table like this, when you data
are integrated in JDE, the flag EDSP is uptaded to "Y".

Otherwise, it's true that you can use trigger in SQL Server to execute a
batch. We have implemented in our company, and it's works.

if you want more details, send me an email.

Franck BLETTNER

email: mailto:[email protected]
tel. (33) 04 72 13 16 16
FOCAL Ingénierie SUD
Le 6e Avenue, 75, cours Albert Thomas
69447 LYON Cedex 03 FRANCE




-----Message d'origine-----
De : markjde [mailto:[email protected]]
Envoyé : mardi 16 janvier 2001 05:20
À : [email protected]
Objet : Re: Realtime Interfaces ~~3951:4013


Zoltan,

What are some of the other subsystem UBEs? I realize that we have R98810,
but what other ones exist that I look at for guidance?

Thanks.


Mark

----- Original Message -----
From: "Zoltan_Gyimesi" <[email protected]>
To: <[email protected]>
Sent: Monday, January 15, 2001 11:58 AM
Subject: RE: Realtime Interfaces ~~3951:3974


> Mark,
> If I am right then subsystem jobs do it exactly what you want.
> See the JDE documentations how to create subsystem jobs and examine some
> existing subsystem job UBE.
> Zoltán
>
> >
>
> B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
> (working with B7321, B7331, XE too)
> --------------------------
> To view this thread, visit the JDEList forum at:
>
http://198.144.193.139/cgi-bin/wwwthreads/showflat.pl?Cat=0&Board=OWDEV&Numb
er=3974
> *************************************************************
> This is the JDEList One World / XE Developers Mailing List.
> Archives and information on how to SUBSCRIBE, and
> UNSUBSCRIBE can be found at http://www.JDELIST.com
> *************************************************************
>
>




--------------------------
To view this thread, visit the JDEList forum at:
http://198.144.193.139/cgi-bin/wwwthreads/showflat.pl?Cat=0&Board=OWDEV&Numb
er=4013
*************************************************************
This is the JDEList One World / XE Developers Mailing List.
Archives and information on how to SUBSCRIBE, and
UNSUBSCRIBE can be found at http://www.JDELIST.com
*************************************************************
 
Re: RE: Realtime Interfaces

Mark & Franck

At first, thanks Frank for your valuable additions.
I suppose, subsystem solution has some advantages against "normal" UBE, as:
1.) Subsystem UBE won't wait amoung the other UBEs in the queue (except if it have its own).
2.) Subsystem won't produce more presences in the queue but "normal" will when it is invoked more times in a shorter time intervall triggered by more records.
3.) Subsystem spare the overhead loads of uploading/launching and purging an UBE each time get invoked, so spare time and computer resources.
Am I right?
Zoltán

B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
 
RE: RE: Realtime Interfaces

you're right

-----Message d'origine-----
De : Zoltan_Gyimesi [mailto:[email protected]]
Envoyé : jeudi 18 janvier 2001 21:17
À : [email protected]
Objet : Re: RE: Realtime Interfaces ~~3951:4251


Mark & Franck

At first, thanks Frank for your valuable additions.
I suppose, subsystem solution has some advantages against "normal" UBE, as:
1.) Subsystem UBE won't wait amoung the other UBEs in the queue (except if
it have its own).
2.) Subsystem won't produce more presences in the queue but "normal" will
when it is invoked more times in a shorter time intervall triggered by more
records.
3.) Subsystem spare the overhead loads of uploading/launching and purging an
UBE each time get invoked, so spare time and computer resources.
Am I right?
Zoltán

B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
--------------------------
Visit the forum to view this thread at:
http://198.144.193.139/cgi-bin/wwwthreads/showflat.pl?Cat=&Board=OWDEV&Numbe
r=4251
*************************************************************
This is the JDEList One World / XE Developers Mailing List.
Archives and information on how to SUBSCRIBE, and
UNSUBSCRIBE can be found at http://www.JDELIST.com
*************************************************************
 
We can had this to the tips section of jdelist...

It's a sample to execute a batch with an SQL server Trigger.

CREATE TRIGGER <name> on CRPDTA.F0101
FOR insert, update, delete AS
exec master..xp_cmdshell 'cd d:\oneworld\ddp\B7332\system\bin32', no_output
exec master..xp_cmdshell 'd:\oneworld\ddp\B7332\system\bin32\runube JDE JDE
CRP733 R014021 XJDE0001 QB7332 "Batch" "Hold" "\\sd\hp8000dn" ', no_output


-----Message d'origine-----
De : Zoltan_Gyimesi [mailto:[email protected]]
Envoyé : jeudi 18 janvier 2001 21:17
À : [email protected]
Objet : Re: RE: Realtime Interfaces ~~3951:4251


Mark & Franck

At first, thanks Frank for your valuable additions.
I suppose, subsystem solution has some advantages against "normal" UBE, as:
1.) Subsystem UBE won't wait amoung the other UBEs in the queue (except if
it have its own).
2.) Subsystem won't produce more presences in the queue but "normal" will
when it is invoked more times in a shorter time intervall triggered by more
records.
3.) Subsystem spare the overhead loads of uploading/launching and purging an
UBE each time get invoked, so spare time and computer resources.
Am I right?
Zoltán

B7332 SP11, ESU 4116422, Intel NT4, SQL 7 SP1
(working with B7321, B7331, XE too)
--------------------------
Visit the forum to view this thread at:
http://198.144.193.139/cgi-bin/wwwthreads/showflat.pl?Cat=&Board=OWDEV&Numbe
r=4251
*************************************************************
This is the JDEList One World / XE Developers Mailing List.
Archives and information on how to SUBSCRIBE, and
UNSUBSCRIBE can be found at http://www.JDELIST.com
*************************************************************
 
RE: RE: Realtime Interfaces

Zoltan,

I'm not an expert on OW subsystems, and I've never used them myself.
However, I've seen it used, and it was not the most pleasant sight. I still
think, that subsystem processing in OW should not be as efficient as
database triggers.
1. You can specify a Queue, when you do RunUBE, and you can create a
designated queue for this type of processing. I do not think, that if you
send several tasks for a subsystem, it will process them all - just the
same, it'll take care of them one by one.
2. If you trigger an event for each addition of a record to, say, F0411Z1 -
yes, that'll be a mess. But why can't you use a custom table and add a
record there, when you complete uploading a batch of transactions? You can
also pass parameters this way.
3. Overhead is basically the same issue as number of UBE's and you can solve
that.

What I don't like about subsystem jobs (let's forget about setting it up) is
that I have a strong feeling that it will be polling database every second
or two, and this seems a bad design to me.

May somebody with more knowledge how subsystems work enlighten us?

Regards,
Vladimir Ponomarev
PS: if you look at suggested design, you'll notice that it is just
implementing subsystem using database triggers instead of OneWorld. It'll
even process one task at a time (in SQL server xp_cmdshell will wait for
command to complete)
Sig: B733, B7331, B7332, XE (mostly XE at the moment); SQL 7.0, Oracle
8.1.5, DB/400 (mostly SQL); Wintel, HP, AS/400 (mostly Wintel)
 
Back
Top