BookmarkSubscribeRSS Feed
🔒 This topic is solved and locked. Need further help from the community? Please sign in and ask a new question.
LuisLeiteBR
Obsidian | Level 7

Hello guys!

I would like to try to get guidance on the QKB Management process, regarding Customizations and Updating Versions in the following scenario

I have a QKB Portuguese BR (eg CI24) that has undergone customizations (insertion of new definitions to meet specific needs).

Once the SAS version is available to CI26, we need to define a procedure standard, recommended by SAS, to perform an update of my QKB to version 26, taking into account:

- Without losing the customizations implemented

- Ensuring the compatibility of code already implemented, and in production, which uses the original structure of QKB ​​CI 24

In this way I would like to try to get some answers to the questions I am having regarding:

A) Please clarify how to use the QKB Merge Tool

  - Which QKB should we use as Source, the new QKB CI26 or the old QKB CI24 Customized?

  - Do the created files (backup 001) refer to which "source"? Source or Destination QKB?

  - Is there a difference in the merge result if we reverse the order of the QKBs in the process? What are they?

  - Would anyone have any examples of using the command line method for the Merge Tool (cmtgui.exe), by doing a full merge between 2 QKBs and also a partial merge (just a few files)?

  - Is there any specific recommendation (points of attention) for use of the Merge Tool command line, when we perform a partial merge?

  - In order to ensure the compatibility of previously implemented code (Jobs, Process Jobs of Dataflux, etc ...), is the Merge Tool the correct option for updating a previously customized version of QKB?
 
B) How to use the QKB Difference Viewer tool to support the upgrade of a previously customized version of QKB?

  - Would anyone have an example of a comparison of a Custom QKB vs. Original QKB of the same or higher version?
 
C) What are the impacts of instead of making a merge, simply make an import of the custom definitions in QKB CI24 for the new QKB CI26?

  - Will there be a need to recode Jobs and Process Jobs, etc. from Dataflux, due to possible changes in the structure of the definitions implemented by SAS in its new versions of QKB?

  - Is there any tool that will refer us to which Jobs and Process Jobs and other previously implemented elements need to be recoded (adjusted)?

I know there are many questions and I thank you in advance for any collaboration or clarification on the subject.

Regards,

Luís Leite

1 ACCEPTED SOLUTION

Accepted Solutions
MKQueen
SAS Super FREQ

While it is true you can only have one Active QKB defined at a time there are some ways to specify the use of an Alternative QKB path for certain nodes within a job.  Here is a blog I wrote on that topic: 

http://blogs.sas.com/content/sgf/2016/07/21/using-an-alternate-quality-knowledge-base-qkb-in-a-dataf...

 

Another blog you may be interested in is using multiple QKB locales within a job. 

http://blogs.sas.com/content/sgf/2016/06/03/using-multiple-quality-knowledge-base-qkb-locales-in-a-d...

 

View solution in original post

4 REPLIES 4
MKQueen
SAS Super FREQ

Answers to your questions are in red below.  Hope this helps!

 

 

Hello guys! I would like to try to get guidance on the QKB Management process, regarding Customizations and Updating Versions in the following scenario I have a QKB Portuguese BR (eg CI24) that has undergone customizations (insertion of new definitions to meet specific needs). Once the SAS version is available to CI26, we need to define a procedure standard, recommended by SAS, to perform an update of my QKB to version 26, taking into account:

Something to be aware of is that QKB CI 27 is now the latest version and it recommended to use the latest version; therefore, we would recommend you skip CI 26 and use CI 27 instead if possible. It is always recommended to read the "What's New" document for the QKB. http://support.sas.com/documentation/onlinedoc/qkb/index.html In your case, you should review the What's New documents for version CI 25, CI2 6, CI 27.

 

Also another recommendation is to use the latest version of Data Management Studio to perform actions on the QKB.  Currently, the latest version of Data Management Studio is 2.7. The reason for this is that the newer versions have fixes for issues found over time.   Also the Export/Import feature was significantly updated starting in the 2.6 release, and there is a new feature which allows for replacement of a definition when possible; however, note that in some situations it is not possible to replace though.

 

- Without losing the customizations implemented

- Ensuring the compatibility of code already implemented, and in production, which uses the original structure of QKB ​​CI 24 In this way I would like to try to get some answers to the questions I am having regarding: A) Please clarify how to use the QKB Merge Tool   - Which QKB should we use as Source, the new QKB CI26 or the old QKB CI24 Customized?

 

I think this and your other questions may be cleared up by reading the Merge Tool documentation which can be found here: http://support.sas.com/documentation/onlinedoc/dfdmstudio/2.7/dmpdmsug/Content/dfU_QKBMerge_30002.ht...

Generally customers want to move up to the latest release of the QKB and bring forward their customizations.  If this is the case for you, the source is your modified CI 24 installation and the destination is CI 26 (or as we recommend CI 27).

 

  - Do the created files (backup 001) refer to which "source"? Source or Destination QKB?

The Merge Tool Usage Notes documentation should help understand this

http://support.sas.com/documentation/onlinedoc/dfdmstudio/2.7/dmpdmsug/Content/DMCust_QKBUsage_Merge...

 

  - Is there a difference in the merge result if we reverse the order of the QKBs in the process? What are they?

Yes, the destination QKB is the one that is modified and it will contain all the items from the source and the destination.  The source QKB is not modified.

 

  - Would anyone have any examples of using the command line method for the Merge Tool (cmtgui.exe), by doing a full merge between 2 QKBs and also a partial merge (just a few files)?

The Merge Tool is a UI based tool.  As for a partial merge, this is possible but not via the Merge Tool.  In order to perform a partial merge, the user can export the definitions they wish from the source QKB, and then import those definitions into the destination QKB.  This is done via the Export and Import features which are documented here:

http://support.sas.com/documentation/onlinedoc/dfdmstudio/2.7/dmpdmsug/Content/DMCust_QKBSchWiz.html   

 

- Is there any specific recommendation (points of attention) for use of the Merge Tool command line, when we perform a partial merge?

The main recommendation is to use the latest version of Data Management Studio when using the Merge Tool or the Export/Import feature as they have the latest fixes.  For the Export/Import feature make sure you export all the definitions you wish to bring forward (i.e. all the ones you modified) and don’t forget any.  The Export/Import will handle all the dependencies that a definition has and will export and then import them appropriately.   - In order to ensure the compatibility of previously implemented code (Jobs, Process Jobs of Dataflux, etc ...), is the Merge Tool the correct option for updating a previously customized version of QKB?

The Merge Tool or the Export/Import approach can be used.  The Jobs, Process Job, etc will need to be updated to utilize the destination QKB.  This is typically handled via a global configuration setting so if that is the case the global setting just needs to be updated.

 

  1.   B) How to use the QKB Difference Viewer tool to support the upgrade of a previously customized version of QKB?

The QKB Difference Viewer will calculate the differences between two QKBs and show them.  It does not handle any type of merge type of activity.  It’s more to help the user find what is different.  You can find the documentation for the tool here:

http://support.sas.com/documentation/onlinedoc/dfdmstudio/2.7/dmpdmsug/Content/dfU_QKBDiff_30000.htm...   

 

- Would anyone have an example of a comparison of a Custom QKB vs. Original QKB of the same or higher version?

Screenshots have been attached to the reply.  

 

C) What are the impacts of instead of making a merge, simply make an import of the custom definitions in QKB CI24 for the new QKB CI26?

The QKB Merge process will bring forward all definitions which are different, including those changed by SAS between the two QKB releases.  Whereas the Export/Import is scoped to what you choose to export.  If you only export/import the definitions you changed, only those definitions will be added to destination QKB.  If a SAS provided definition was changed between the source and destination QKB, the export/import will not bring those forward - assuming you don’t export them.  Some people prefer this method so that they only have the latest version SAS provided definitions for the given QKB release plus their modified definitions.  Other people may want/need to keep the older version of the SAS provided definitions for whatever reason.  In this case you will have two “versions” of the definition (one is the backup).

 

  - Will there be a need to recode Jobs and Process Jobs, etc. from Dataflux, due to possible changes in the structure of the definitions implemented by SAS in its new versions of QKB?

For Merge, the source definition retains its name while the destination definition is renamed to be the backup.  So if you wish to use the source definition version after the merge then no change is needed.  If you wish to the use the destination version then the Jobs needs to be updated to use the backup version. Also, keep in mind that if you have stored Match codes for any new/changed definitions, you will want to regenerate those to ensure the stored match codes are using the new logic.

For Export/Import, there is a replace option (Data Management Studio 2.6 and higher) will allows for the replacement of a definition on Import if it is possible.  There are situations where the replacement is not possible so check the log of the import to understand whether the replace happen for an individual definition when you use this option.  If the replace is used and is possible to replace, then no updates are needed to the Jobs.  If the replace is not used or the replace is not possible, then the imported definition will have a new name and the Jobs will need to be updated if imported version of the definition should be used.  If you don’t update the Job then original version (the one that came with the destination QKB) will be used instead of the newly imported one.

 

  - Is there any tool that will refer us to which Jobs and Process Jobs and other previously implemented elements need to be recoded (adjusted)?

Sorry, I am not aware of any such tools.

 

I know there are many questions and I thank you in advance for any collaboration or clarification on the subject. Regards, Luís Leite


QKB_Diff_Viewer.pngQKB_Diff_Viewer_Icons.png
LuisLeiteBR
Obsidian | Level 7

Thank you MKQueen!

I`d like to ask you a litle bit more ...

I Know that whe can store more than one QKB on different folders on a server, but, as long as I know, only one QKB can be active and running on that server (the one configured on the app.cfg).

Is there any way to dynamically change the active QKB on the Data Management Server, preserving the running JOBS?

Is it possible to dinamically choose wich QKB to use from a JOB or Process Job on a Data Mangement Server?

Thank You!

MKQueen
SAS Super FREQ

While it is true you can only have one Active QKB defined at a time there are some ways to specify the use of an Alternative QKB path for certain nodes within a job.  Here is a blog I wrote on that topic: 

http://blogs.sas.com/content/sgf/2016/07/21/using-an-alternate-quality-knowledge-base-qkb-in-a-dataf...

 

Another blog you may be interested in is using multiple QKB locales within a job. 

http://blogs.sas.com/content/sgf/2016/06/03/using-multiple-quality-knowledge-base-qkb-locales-in-a-d...

 

LuisLeiteBR
Obsidian | Level 7
Thank You again!!!

This will be extremely helpful for my JOBS/PJOBS !!!

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

How to connect to databases in SAS Viya

Need to connect to databases in SAS Viya? SAS’ David Ghan shows you two methods – via SAS/ACCESS LIBNAME and SAS Data Connector SASLIBS – in this video.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 4 replies
  • 1453 views
  • 2 likes
  • 2 in conversation