Re: Converting Vplus to .Net
Our student system is homegrown. All done with cobol/vplus/image. I've been assigned the task of wrapping all the vplus intrinsic calls to perform their vb.net equivalence. The idea being that we can simply take our existing cobol apps, run them through a converter to convert them to Fijitsu and then have my vplus routines display the forms.
Dave Vorgang
Senior Programmer / Analyst
Medford School District - Information Technology
(541) 842-1021
mailto:Dave.Vorgang@Medford.k12.or.us
-----Original Message-----
From: joseph dolliver [mailto:dolliverj@gmail.com]
Sent: Tuesday, October 21, 2008 9:08 AM
To: Dave Vorgang
Subject: Re: [HP3000-L] Converting Vplus to .Net
Dave, I am curious what application you are running for K12. Is it
homegrown or a package?
Thanks,
Joe Dolliver
On 10/21/08, Dave Vorgang <Dave.Vorgang@medford.k12.or.us> wrote:[color=blue]
> Hi All,
>
> I have just began working on this project for converting our existing HP3000
> Vplus screens to use Fujitsu Cobol on backend and use .Net for the forms.
>
> What I plan to do is create routines to emulate the Vplus intrinsics. For
> example, I have this routine to display the form:
>
> Private WithEvents _VFormFile As VplusBaseScreen.BaseFormMain
>
> Public Function VshowForm(ByVal comArea As ComAreaDefinition) As Boolean
> _VFormFile.LoadScreen(_CurrentScreen)
> _VFormFile.Show()
> End Function
>
>
> Then, this routine would perform the Vreadfields which basically blocks
> execution of my application until _KeyEntered = True
>
> Public Function VreadFields(ByVal comArea As ComAreaDefinition) As
> Boolean
> _VFormFile.Focus()
> _KeyEntered = False
> Do Until _KeyEntered
> System.Windows.Forms.Application.DoEvents()
> Loop
>
> End Function
>
> Then, the form will raise events and set _KeyEntered = True when thereis
> user interaction and the main process will catch those events like this:
> Private Sub _VFormFile_LastKeyPressed(ByVal key As Integer) Handles
> _VFormFile.LastKeyPressed
> _KeyEntered = True
> RaiseEvent LastKeyPressed(key)
> End Sub
> The above routine just raises the event back to its caller.
>
> This approach actually works but the Do Loop take 25% of the cpu.
>
> Now I know this is the HP3000 listserv but I thought I would give it a shot
> since some may have tried to accomplish what I am trying to do.
>
> So, my question is: Is there a better way to accomplish what I'm trying to
> do? Can/How would I place this on a different thread (if that's a way I
> should do it).
>
>
> Thanks,
>
> Dave Vorgang
> Senior Programmer / Analyst
> Medford School District - Information Technology
> (541) 842-1021
> mailto:Dave.Vorgang@Medford.k12.or.us<BLOCKED::mailto:Dave.Vorgang@Medford.k12.or.us>
>
>
> * To join/leave the list, search archives, change list settings, *
> * etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
>[/color]
* To join/leave the list, search archives, change list settings, *
* etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
Re: Converting Vplus to .Net
Dave,
I have already done this a couple of ways.
1) If you want to preserve your COBOL then you can create a .Net form and
package up the data in the exact format the ViewRead would see it. On the HP
you would have a listener program that would receive the data string. We
used Minisoft's Middleman to do this.
The receiving program would be a copy of your original COBOL where the
string would be considered the return value from the View3000 Read. We used
this method for several years.
2) We eventually took one screen at a time and did it completely in .Net.
Again we used Minisoft for the connection. We did not use SlowDBC. We did
DBFIND, DBGET, DBUPDATE, DBDELETE directly from the VB or C# code. This is
very fast and allows all the features of a .Net application with the HP3000
as a data server.
Both approaches took a little programming be since I know the HP3000 and its
languages and I know .Net, it was not too difficult.
Charlie Cookston
Web Navigation LLC
HP3000 contract services
-----Original Message-----
From: HP-3000 Systems Discussion [mailto:HP3000-L@RAVEN.UTC.EDU] On Behalf
Of Dave Vorgang
Sent: Tuesday, October 21, 2008 12:25 PM
To: [email]HP3000-L@RAVEN.UTC.EDU[/email]
Subject: Re: [HP3000-L] Converting Vplus to .Net
Our student system is homegrown. All done with cobol/vplus/image. I've
been assigned the task of wrapping all the vplus intrinsic calls to perform
their vb.net equivalence. The idea being that we can simply take our
existing cobol apps, run them through a converter to convert them to Fijitsu
and then have my vplus routines display the forms.
Dave Vorgang
Senior Programmer / Analyst
Medford School District - Information Technology
(541) 842-1021
mailto:Dave.Vorgang@Medford.k12.or.us
-----Original Message-----
From: joseph dolliver [mailto:dolliverj@gmail.com]
Sent: Tuesday, October 21, 2008 9:08 AM
To: Dave Vorgang
Subject: Re: [HP3000-L] Converting Vplus to .Net
Dave, I am curious what application you are running for K12. Is it
homegrown or a package?
Thanks,
Joe Dolliver
On 10/21/08, Dave Vorgang <Dave.Vorgang@medford.k12.or.us> wrote:[color=blue]
> Hi All,
>
> I have just began working on this project for converting our existing[/color]
HP3000[color=blue]
> Vplus screens to use Fujitsu Cobol on backend and use .Net for the forms.
>
> What I plan to do is create routines to emulate the Vplus intrinsics. For
> example, I have this routine to display the form:
>
> Private WithEvents _VFormFile As VplusBaseScreen.BaseFormMain
>
> Public Function VshowForm(ByVal comArea As ComAreaDefinition) As[/color]
Boolean[color=blue]
> _VFormFile.LoadScreen(_CurrentScreen)
> _VFormFile.Show()
> End Function
>
>
> Then, this routine would perform the Vreadfields which basically blocks
> execution of my application until _KeyEntered = True
>
> Public Function VreadFields(ByVal comArea As ComAreaDefinition) As
> Boolean
> _VFormFile.Focus()
> _KeyEntered = False
> Do Until _KeyEntered
> System.Windows.Forms.Application.DoEvents()
> Loop
>
> End Function
>
> Then, the form will raise events and set _KeyEntered = True when there is
> user interaction and the main process will catch those events like this:
> Private Sub _VFormFile_LastKeyPressed(ByVal key As Integer) Handles
> _VFormFile.LastKeyPressed
> _KeyEntered = True
> RaiseEvent LastKeyPressed(key)
> End Sub
> The above routine just raises the event back to its caller.
>
> This approach actually works but the Do Loop take 25% of the cpu.
>
> Now I know this is the HP3000 listserv but I thought I would give it a[/color]
shot[color=blue]
> since some may have tried to accomplish what I am trying to do.
>
> So, my question is: Is there a better way to accomplish what I'm trying[/color]
to[color=blue]
> do? Can/How would I place this on a different thread (if that's a way I
> should do it).
>
>
> Thanks,
>
> Dave Vorgang
> Senior Programmer / Analyst
> Medford School District - Information Technology
> (541) 842-1021
>[/color]
mailto:Dave.Vorgang@Medford.k12.or.us<BLOCKED::mailto:Dave.Vorgang@Medford.k
12.or.us>[color=blue]
>
>
> * To join/leave the list, search archives, change list settings, *
> * etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
>[/color]
* To join/leave the list, search archives, change list settings, *
* etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
* To join/leave the list, search archives, change list settings, *
* etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
Re: Converting Vplus to .Net
Hi Charlie,
One of the goals is to eliminate the HP3000 altogether. So, we are planning on porting over the HP3000 cobol to Fujitsu cobol for .net.
The database will also be ported in that we will take the turbo image structure and go directly to sql server. The new cobol programs will not need to be changed since we will write wrappers for both the image calls and the vplus calls.
Currently I am struggling with the vplus calls.
Thank you for replying and any additional insight would be welcomed.
Dave Vorgang
Senior Programmer / Analyst
Medford School District - Information Technology
(541) 842-1021
mailto:Dave.Vorgang@Medford.k12.or.us
-----Original Message-----
From: Charles C Cookston [mailto:CharlieCookston@WebNavigation.Net]
Sent: Tuesday, October 21, 2008 9:51 AM
To: Dave Vorgang; [email]HP3000-L@RAVEN.UTC.EDU[/email]
Cc: [email]doug@mnisoft.com[/email]
Subject: RE: [HP3000-L] Converting Vplus to .Net
Dave,
I have already done this a couple of ways.
1) If you want to preserve your COBOL then you can create a .Net form and
package up the data in the exact format the ViewRead would see it. On the HP
you would have a listener program that would receive the data string. We
used Minisoft's Middleman to do this.
The receiving program would be a copy of your original COBOL where the
string would be considered the return value from the View3000 Read. We used
this method for several years.
2) We eventually took one screen at a time and did it completely in .Net.
Again we used Minisoft for the connection. We did not use SlowDBC. We did
DBFIND, DBGET, DBUPDATE, DBDELETE directly from the VB or C# code. This is
very fast and allows all the features of a .Net application with the HP3000
as a data server.
Both approaches took a little programming be since I know the HP3000 and its
languages and I know .Net, it was not too difficult.
Charlie Cookston
Web Navigation LLC
HP3000 contract services
-----Original Message-----
From: HP-3000 Systems Discussion [mailto:HP3000-L@RAVEN.UTC.EDU] On Behalf
Of Dave Vorgang
Sent: Tuesday, October 21, 2008 12:25 PM
To: [email]HP3000-L@RAVEN.UTC.EDU[/email]
Subject: Re: [HP3000-L] Converting Vplus to .Net
Our student system is homegrown. All done with cobol/vplus/image. I've
been assigned the task of wrapping all the vplus intrinsic calls to perform
their vb.net equivalence. The idea being that we can simply take our
existing cobol apps, run them through a converter to convert them to Fijitsu
and then have my vplus routines display the forms.
Dave Vorgang
Senior Programmer / Analyst
Medford School District - Information Technology
(541) 842-1021
mailto:Dave.Vorgang@Medford.k12.or.us
-----Original Message-----
From: joseph dolliver [mailto:dolliverj@gmail.com]
Sent: Tuesday, October 21, 2008 9:08 AM
To: Dave Vorgang
Subject: Re: [HP3000-L] Converting Vplus to .Net
Dave, I am curious what application you are running for K12. Is it
homegrown or a package?
Thanks,
Joe Dolliver
On 10/21/08, Dave Vorgang <Dave.Vorgang@medford.k12.or.us> wrote:[color=blue]
> Hi All,
>
> I have just began working on this project for converting our existing[/color]
HP3000[color=blue]
> Vplus screens to use Fujitsu Cobol on backend and use .Net for the forms.
>
> What I plan to do is create routines to emulate the Vplus intrinsics. For
> example, I have this routine to display the form:
>
> Private WithEvents _VFormFile As VplusBaseScreen.BaseFormMain
>
> Public Function VshowForm(ByVal comArea As ComAreaDefinition) As[/color]
Boolean[color=blue]
> _VFormFile.LoadScreen(_CurrentScreen)
> _VFormFile.Show()
> End Function
>
>
> Then, this routine would perform the Vreadfields which basically blocks
> execution of my application until _KeyEntered = True
>
> Public Function VreadFields(ByVal comArea As ComAreaDefinition) As
> Boolean
> _VFormFile.Focus()
> _KeyEntered = False
> Do Until _KeyEntered
> System.Windows.Forms.Application.DoEvents()
> Loop
>
> End Function
>
> Then, the form will raise events and set _KeyEntered = True when thereis
> user interaction and the main process will catch those events like this:
> Private Sub _VFormFile_LastKeyPressed(ByVal key As Integer) Handles
> _VFormFile.LastKeyPressed
> _KeyEntered = True
> RaiseEvent LastKeyPressed(key)
> End Sub
> The above routine just raises the event back to its caller.
>
> This approach actually works but the Do Loop take 25% of the cpu.
>
> Now I know this is the HP3000 listserv but I thought I would give it a[/color]
shot[color=blue]
> since some may have tried to accomplish what I am trying to do.
>
> So, my question is: Is there a better way to accomplish what I'm trying[/color]
to[color=blue]
> do? Can/How would I place this on a different thread (if that's a way I
> should do it).
>
>
> Thanks,
>
> Dave Vorgang
> Senior Programmer / Analyst
> Medford School District - Information Technology
> (541) 842-1021
>[/color]
mailto:Dave.Vorgang@Medford.k12.or.us<BLOCKED::mailto:Dave.Vorgang@Medford.k
12.or.us>[color=blue]
>
>
> * To join/leave the list, search archives, change list settings, *
> * etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
>[/color]
* To join/leave the list, search archives, change list settings, *
* etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
* To join/leave the list, search archives, change list settings, *
* etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
Re: Converting Vplus to .Net
Hmm, interesting code, Dave, and it looks fun.
I don't mean to hijack your thread, but how do you handle the I/O for
more than 3k one process running on the client side? I'd assume you had
to write some handler on the 3k that did the I/O for each PIN?
-----Original Message-----
From: HP-3000 Systems Discussion [mailto:HP3000-L@RAVEN.UTC.EDU] On
Behalf Of Dave Vorgang
Sent: Tuesday, October 21, 2008 10:27 AM
To: [email]HP3000-L@RAVEN.UTC.EDU[/email]
Subject: [HP3000-L] Converting Vplus to .Net
Hi All,
I have just began working on this project for converting our existing
HP3000 Vplus screens to use Fujitsu Cobol on backend and use .Net for
the forms.
What I plan to do is create routines to emulate the Vplus intrinsics.
For example, I have this routine to display the form:
Private WithEvents _VFormFile As VplusBaseScreen.BaseFormMain
Public Function VshowForm(ByVal comArea As ComAreaDefinition) As
Boolean
_VFormFile.LoadScreen(_CurrentScreen)
_VFormFile.Show()
End Function
Then, this routine would perform the Vreadfields which basically blocks
execution of my application until _KeyEntered = True
Public Function VreadFields(ByVal comArea As ComAreaDefinition) As
Boolean
_VFormFile.Focus()
_KeyEntered = False
Do Until _KeyEntered
System.Windows.Forms.Application.DoEvents()
Loop
End Function
Then, the form will raise events and set _KeyEntered = True when there
is user interaction and the main process will catch those events like
this:
Private Sub _VFormFile_LastKeyPressed(ByVal key As Integer) Handles
_VFormFile.LastKeyPressed
_KeyEntered = True
RaiseEvent LastKeyPressed(key)
End Sub
The above routine just raises the event back to its caller.
This approach actually works but the Do Loop take 25% of the cpu.
Now I know this is the HP3000 listserv but I thought I would give it a
shot since some may have tried to accomplish what I am trying to do.
So, my question is: Is there a better way to accomplish what I'm trying
to do? Can/How would I place this on a different thread (if that's a
way I should do it).
Thanks,
Dave Vorgang
Senior Programmer / Analyst
Medford School District - Information Technology
(541) 842-1021
mailto:Dave.Vorgang@Medford.k12.or.us<BLOCKED::mailto:Dave.Vorgang@Medfo
rd.k12.or.us>
* To join/leave the list, search archives, change list settings, *
* etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
* To join/leave the list, search archives, change list settings, *
* etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
Re: Converting Vplus to .Net
Actually, the whole thing is going to be server side with terminal servicesas the thin client. I haven't done this before so I really don't know much about it. We are going to be working with a third-party to help with some of that but they don't know too much about .net.
Dave Vorgang
Senior Programmer / Analyst
Medford School District - Information Technology
(541) 842-1021
mailto:Dave.Vorgang@Medford.k12.or.us
-----Original Message-----
From: Ray Shahan [mailto:rshahan@republictitle.com]
Sent: Tuesday, October 21, 2008 11:20 AM
To: Dave Vorgang; [email]HP3000-L@RAVEN.UTC.EDU[/email]
Subject: RE: [HP3000-L] Converting Vplus to .Net
Hmm, interesting code, Dave, and it looks fun.
I don't mean to hijack your thread, but how do you handle the I/O for
more than 3k one process running on the client side? I'd assume you had
to write some handler on the 3k that did the I/O for each PIN?
-----Original Message-----
From: HP-3000 Systems Discussion [mailto:HP3000-L@RAVEN.UTC.EDU] On
Behalf Of Dave Vorgang
Sent: Tuesday, October 21, 2008 10:27 AM
To: [email]HP3000-L@RAVEN.UTC.EDU[/email]
Subject: [HP3000-L] Converting Vplus to .Net
Hi All,
I have just began working on this project for converting our existing
HP3000 Vplus screens to use Fujitsu Cobol on backend and use .Net for
the forms.
What I plan to do is create routines to emulate the Vplus intrinsics.
For example, I have this routine to display the form:
Private WithEvents _VFormFile As VplusBaseScreen.BaseFormMain
Public Function VshowForm(ByVal comArea As ComAreaDefinition) As
Boolean
_VFormFile.LoadScreen(_CurrentScreen)
_VFormFile.Show()
End Function
Then, this routine would perform the Vreadfields which basically blocks
execution of my application until _KeyEntered = True
Public Function VreadFields(ByVal comArea As ComAreaDefinition) As
Boolean
_VFormFile.Focus()
_KeyEntered = False
Do Until _KeyEntered
System.Windows.Forms.Application.DoEvents()
Loop
End Function
Then, the form will raise events and set _KeyEntered = True when there
is user interaction and the main process will catch those events like
this:
Private Sub _VFormFile_LastKeyPressed(ByVal key As Integer) Handles
_VFormFile.LastKeyPressed
_KeyEntered = True
RaiseEvent LastKeyPressed(key)
End Sub
The above routine just raises the event back to its caller.
This approach actually works but the Do Loop take 25% of the cpu.
Now I know this is the HP3000 listserv but I thought I would give it a
shot since some may have tried to accomplish what I am trying to do.
So, my question is: Is there a better way to accomplish what I'm trying
to do? Can/How would I place this on a different thread (if that's a
way I should do it).
Thanks,
Dave Vorgang
Senior Programmer / Analyst
Medford School District - Information Technology
(541) 842-1021
mailto:Dave.Vorgang@Medford.k12.or.us<BLOCKED::mailto:Dave.Vorgang@Medfo
rd.k12.or.us>
* To join/leave the list, search archives, change list settings, *
* etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *
* To join/leave the list, search archives, change list settings, *
* etc., please visit [url]http://raven.utc.edu/archives/hp3000-l.html[/url] *