-   Code & Utilities (
-   -   Code: Sample Qkey Script (

mark_h 12th February 2002 20:17

Code: Sample Qkey Script
1 Attachment(s)
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.



|* 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.
|***************************** declaration section ***************************
|* Maintain Manufacturing Dependent Demand
|* Mark Holland
|* 01-18-2002
|* Main table tppss961 Manufacturing Dependent Demand, Form Type 1
|***************************** declaration section ***************************
        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 20: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 17:30

Qkey related scenarios
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 17:36


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 13:49

Today , I have ever tried it firsttime. It really perfect solution. Congratulations
who did it.


sbakshi 9th January 2007 15:45

Baan 4c4 SP 16, Oracle, Windows
It's a perfect, robust script tool and v r using it for past 7 years. Works great on BaaN 4c4.


baanhp 9th December 2013 12:26

How to generate customized script using QKEY
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

mark_h 9th December 2013 14:33

Do you all own the Q-key product? I do not think fullscope supports it any longer - see this 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.

All times are GMT +2. The time now is 17:05.

©2001-2017 - -