mark_h
12th February 2002, 21:17
Q-key has been mentioned multiple times on this site. I thought I would post a sample of one Qkey session that I just recently did. Hopefully this will help people understand the product.

I modified the tppss9161m00b session to include text for the MDD, plus allow the user to assign a number code to the MDD. This is an extension of the Baan standard program or better yet - added functionality. With Qkey you do not have to modify the Baan source script. When Baan releases a new version of this script - all I need to do is recompile my version. Unlike some of our changes I will not have to move Baans changes to our script or make new changes to the Baan source script.

You can not do everything with Qkey that you do with a source script, but you can come close. Remember this is just a sample and you must OWN or have a demo copy to run the script. Plus you also have to have the new table that it uses.

The attached file contains the script as I developed it (pre-compile tppss91610.cln) and a copy of the file after it has been compiled(qkey compiled tppss91610.cln). Also a word document is include that contains a screen print showing the two new fields.

Once again this is just a sample and you must own qkey to compile or run it. This is not an advertisement for the product, but I do find it very useful. Without Qkey I could not make the changes that I did, since we do not have the source for this session.

Mark


|**************************************************************
|* Session :tppss9161 0 VRC B40C a1 dev1
|* Author : Mark Holland
|* Date : February 12, 2002
|************************************************************************
|* Script Type : Main Session
|* Description : Example of extending Baan functionality with out source code.
|* Category : Sample Code
|* License :
|* Platform : UNIX
|* Requirements : Purchasing QKEY software from Redklay.
|* All Rights Reserved
|*
|* Permission to use, copy, modify, and distribute this software and its
|* documentation for any purpose and without fee is hereby granted,
|* provided that the above copyright notice appear in all copies and that
|* both that copyright notice and this permission notice appear in
|* supporting documentation.
[y|* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|* WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
|* TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE
|* OR PERFORMANCE OF THIS SOFTWARE.
|***************************** declaration section ***************************
|*****************************************************************************
|* Maintain Manufacturing Dependent Demand
|* Mark Holland
|* 01-18-2002
|*****************************************************************************
|* Main table tppss961 Manufacturing Dependent Demand, Form Type 1
|*****************************************************************************
|***************************** declaration section ***************************
declaration:
table ttppss990 | Text for MDD.
table ttppss961 | MDD

extern domain tcyesno txta.yn | Text present for MDD
extern domain tcorno key.code | New numeric key for MDD
extern domain tctxtn hold.textn | Hold Text number

#include <bic_text>

toolswizard
4th March 2002, 21:44
I wanted to say thank you for supplying this example. It has given me more ideas than I can think about at one time. It was greatly appreciated.

BaanTech
12th July 2002, 18:30
Although I've never used Qkey, I would like to point out a few things we discovered when testing an internal Bolt-On concept that attempted to utilize the standard 4-GL events.

The limitations we encountered were plentiful and mainly based on the restrictions that the code could only be modified either before or after the calls to the standard (4GL) events. Originally the plan was to utilize the standard 4-GL events that were available as external functions. This was supposed to take us a little closer to an "Object Oriented" like programming approach using object inheritance. The major problem that was discovered was that there was no way to work within the standard code, which at times would involve a significant amount of standard processing such as on cont.process:, before.rewrite, etc... (eg. add additional conditions to standard selects - add a field value in a select prior to a table commit) without actually modifying the standard code, or else commenting out the standard code and recreating it, in which case we had to first recreate multiple lines of code that normally could have been done by modifying only one line. In addition, when the time came, we would need to patch both the standard code (could be plug and play) as well as the new code (would require manual cut and paste) which kind of defeated the purpose of a tool that was supposed to allow for simplified patching in
customized environments.

~Vamsi
12th July 2002, 18:36
BaanTech,

Using this approach is good for a few situations. In cases where one is adding a few fields or additional constraints, it is an easy way out.

And here is the most important use for a tool like this. Not everyone owns source code. For those folks this is one of the more viable solutions.

mr_suleyman
25th December 2006, 14:49
Today , I have ever tried it firsttime. It really perfect solution. Congratulations
who did it.

PERFECT !!!

sbakshi
9th January 2007, 16:45
It's a perfect, robust script tool and v r using it for past 7 years. Works great on BaaN 4c4.

Cheers!

baanhp
9th December 2013, 13:26
Hi Mark

I have gone through your attachment, first of all thanks a lot for sharing this great knowledge base .It helps to extend standard baan script which does not have source code . But I request you please let me know the steps I have to follow to generate this qkey version of program script . I found the DLL tccomqcidll1 , but I have no idea how I can use this , as I and my team has no details document for this .We are searching whole baanboard but could not able to succeed in knowing how this DLL can be used to create the QKEY version of standard source. We need to add some modification in ITEM master session ,but as we dnt have source code just waiting for some help from BAANBOARD .

Kindly help us in moving forward .

Thanks and Regards
baanhp

mark_h
9th December 2013, 15:33
Do you all own the Q-key product? I do not think fullscope supports it any longer - see this http://www.baanboard.com/baanboard/showthread.php?t=686. If you do not own the tool you might what to check Crossroads RMC they have a tool like it. Plus ~vamsi posted a shareware tool like it in this forum.

If qkey is installed properly then when you put in |#parent in the object and compile it, then qkey includes that library into the script. So basically if you have an empty script for a standard baan session, underdeclaration put |#parent. Then just compile it - the qkey tool adds all the needed stuff to the script and then compiles it.

AnuKass
10th January 2019, 08:41
Hi..
I never used Qkey concept .but i tried wrapper concept .actually the both are same or not?
if different,please tell me what is the different in this?

mark_h
10th January 2019, 15:24
Qkey used to be support software. I no longer thing it is available. I do believe RMCis has an equivalent tool. As far as I am concerned they accomplish the same thing just thru different methods.

AnuKass
11th January 2019, 14:20
Thanks...for valuable reply ..