Page 1 of 1
VL Framwork Private Connection
Posted: Sat Feb 04, 2017 8:44 am
by DaveH
I am looking to create a Private connection within the VL Framework to an iSeries. Does anybody have an example of how to it setup that I could follow.
Re: VL Framwork Private Connection
Posted: Tue Feb 07, 2017 12:31 pm
by MarkD
I don’t have a code sample so all I can offer is some pointers to the things you might need to use.
avPrivateConnect is normally used to establish a super-server session with a remote server, so I am going to assume that is what you need to do. Let me know if it’s something else. You use your own custom/private connection in place of the standard automatic connections defined on the (Servers) -> (Administration) tab.
If you need to ask the user for profile, passwords, etc your avPrivateConnect method should show a modal VL form and then return control when the user is connected (or not).
The basic built-function required to make super-server connection are
DEFINE_ANY_SERVER -
http://docs.lansa.com/14/en/lansa015/in ... server.htm
CONNECT_SERVER -
http://docs.lansa.com/14/en/lansa015/in ... server.htm
CONNECT_FILE -
http://docs.lansa.com/14/en/lansa015/in ... t_file.htm
There’s also a symmetric avPrivateDisconnect method that should DISCONNECT_FILE and DISCONNECT_SERVER to avoid warning messages when closing down the application.
BTW, you know if you code up a private connection you will lose use of the built in automatic connection capabilities like periodic connection testing, session recovery, password changing, etc?
Re: VL Framwork Private Connection
Posted: Wed Feb 08, 2017 2:59 am
by DaveH
Thanks for the information. Just some clarification.
We currently required our users to enter a profile and password when accessing the frameworks. This establishes a connection to our iSeries, We now have a few user profiles where we want to skip the entry of a profile and password and have our imbedded interface point reusable part log them in. These profiles will be used by multiple people on the shop floor. That is why I was looking at the avPrivateConnect.
Re: VL Framwork Private Connection
Posted: Thu Feb 09, 2017 5:31 pm
by MarkD
I was just looking at some code in the VLF connector.
I think you can reuse the VLF's standard connection logic - the same logic used for your other users.
I will try to find an example and post it to the forum tomorrow morning.
Re: VL Framwork Private Connection
Posted: Fri Feb 10, 2017 9:53 am
by MarkD
Inside your private connection logic you can iterate through the servers defined to the VLF like this:
Code: Select all
* Use VL's F2 feature help to see all properties exposed by this server object
Define_Com Class(#VF_FP007) Name(#Server) Reference(*dynamic)
* Get the first server
Invoke Method(#uSystem.uServerContainer.uFirstServer) Userverref(#Server) Ucursor(#vf_elnum) Ureturncode(#vf_elretc)
Dowhile Cond('#vf_elretc = ok')
* The VF_FP007 server object has a set of properties that define the server.
* These properties are READ ONLY in this context and must never be updated.
* For example ..
Use message_box_add ('Caption' #Server.uCaption)
Use message_box_add ('Type' #Server.uServerType)
Use message_box_add ('LU Name' #Server.uServerLUName)
Use Message_box_show (ok ok info)
* Get the next server
Invoke Method(#uSystem.uServerContainer.uNextServer) Userverref(#Server) Ucursor(#vf_elnum) Ureturncode(#vf_elretc)
Endwhile
If you need to declare #uSystem do this globally in your reusable part:
Define_Com Class(#VF_SY001) Name(#USYSTEM) Scope(*Application) Reference(*dynamic)
Re: VL Framwork Private Connection
Posted: Fri Feb 10, 2017 9:57 am
by MarkD
One you have the VF_FP007 server object you want to connect to you should be able to say:
#Server.uConnect User(XXXXXXX) Password(XXXXXXX) returnCode(#ReturnCode)
where you are looking for #ReturnCode to come back as OK.
Re: VL Framwork Private Connection
Posted: Fri Feb 10, 2017 10:01 am
by MarkD
There probably will be a hiccup or two - but on the face of this it seems like it will work