how to redirect FRM files in the ASN?
Author: ulrichmerkel@web.de (ulrich-merkel)
In older Uniface versions, we created a couple of forms with the same interface and used in the ASN a redirection so each customer got "his local version".
[FILES] ABC.frm ..\frm_directory\ABC_DE.frm
The same was used to replace as an example the SQL editor with some customised version (see $uuu utilities)
Replacement of sql/print statements This component is a better visualisation of the sql/print statement. Mapping as usys:usyssql sys_sql. The form offers a few useful functions like:
- save and open sql-commands from a file
- history command list (via filedump)
- multiple command within one transaction
- timing, etc...
Can someone help me what I have to put in my ASN to get the same result under U10? TIA, Uli
14 Comments
Local Administrator
Hi Uli, I feel/think "standard deployment" it is involved here, not only for U10 but also with U97... My expectations: - Case1: specialization [FILES] ABC.frm ABC_DE.frm it should open ABC_DE.frm from your standard frm directory - Case2: substitution [FILES] usys:usyssql.frm sys_sql.frm it should open sys_sql.frm from your standard frm directory The trick IMHO is to avoid paths to have standard deployment to work the way it is designed to do. Hope it helps... Gianni
Author: gianni (gianni.sandigliano@unifacesolutions.com)
Local Administrator
Hi Gianni, thanks for your example, I will have a look this evening what it will do with U10. Greetings from Frankfurt/Germany, Uli
Author: ulrich-merkel (ulrichmerkel@web.de)
Local Administrator
Hi Gianni, on U10201-f113 I gave it a try with
but still the standard SQL workbench comes up in in the IDE. Looks like we overlooked something, perhaps someone else has another suggestion? TIA, Uli
Author: ulrich-merkel (ulrichmerkel@web.de)
Local Administrator
Hi Uli, I have not the U10 version and I did a test with U97 and it worked perfectly. All my compiled forms are into : d:\svil_97\frm My asn : [FILES] ........................................................... usys:usyssql.frm d:\svil_97\frm\sys_sql.frm usys:usys*.frm usys:usys*.frm ........................................................... ........................................................... ........................................................... abc.frm d:\svil_97\frm\abc_de.frm *.frm d:\svil_97\frm\*.frm Luigi
Author: LG1949 (l_giuliante@shsistemi.it)
Local Administrator
Hi Luigi, thank you for your suggestion (and the note that it works on 9.7). That reminds me that Uniface works on "first fit", so we have to see that the merged ASN in memory will have the special line BEFORE the more general one. Therefore we have to repeat the more general line after our amendment usys:usyssql.frm usys:usys*.frm My first try on U10 failed, but I will investigate on this suggestion. Perhaps someone else has already experienced how to do it in U10; Thanks again, Uli
Author: ulrich-merkel (ulrichmerkel@web.de)
Local Administrator
Hi Uli, maybe the answer to the problem is contained in these sentences of the U10 manual : First sentence
classic deployment
Second sentence File Assignments and Redirection
File Assignments and Redirection
File assignments can be used to redirect non-DBMS files to other locations. Non-DBMS files can include Uniface UAR and XML files that Uniface controls, as well as HTML files and text files that may be used by the application. Uniface finds these files using locations listed in the [RESOURCES] assignment file section, and/or by file assignments in the [FILES] section.
Nothing about Frm files. Luigi
Author: LG1949 (l_giuliante@shsistemi.it)
Local Administrator
Hi Luigi, looks like even in U97, opening a form first looked at the [files] ASN and continue it's work with the modified name (that's why your 9.7 works). I assume this intermediate step will no longer been done in U10 and they go straight to the resources. Well the facts tells us, that the existing way is not supported any more. So we can not provide these benefits to our users/customers when going U10. Thanks a lot for doing all the work scanning the U10 manuals, Uli
Author: ulrich-merkel (ulrichmerkel@web.de)
Local Administrator
What are the $search_resources settings in your asn?
Author: Iain Sharp (i.sharp@pcisystems.co.uk)
Local Administrator
Hi Iain, in U10 you have no alternatives, the latest U10 helpfile (f114) reads: $SEARCH_RESOURCES
$SEARCH_RESOURCES
Specifies that Uniface searches for its application resources in the locations specified by the [RESOURCES] assignment file section. The only valid value is resources_only.
$SEARCH_RESOURCES { = } resources_only
Defaults
Assignment file:
usys.asn
Section:
[SETTINGS]
Default value:
None. If not set, the application will not run.
Author: ulrich-merkel (ulrichmerkel@web.de)
Local Administrator
I'm currently not working with uniface 10, but I would try the following Did you try the [RESOURCES] section? Just use different resources files, while the one with your variations should stay first (and of course the correct $search_resources setting). Wolfgang
Author: gypsilon (wva@gypsilon.de)
Local Administrator
That is what I was going to suggest. If your top resource setting is [RESOURCES] idf_mods usys...uar where idf_mods is a folder with the correct structure, and forms with the same name as the ones Uniface uses, then it should use those in preference.
Author: Iain Sharp (i.sharp@pcisystems.co.uk)
Local Administrator
Can you not compile them as ABC_XXX and copy them to ABC.frm on deployment? I am now using the urm copy/move function to create my own UARs simply and using scripts, meaning its relatively simple to organise.
Author: Iain Sharp (i.sharp@pcisystems.co.uk)
Local Administrator
Hi Iain, well, creating a form with the same name as the uniface one is a "very dirty" option, but it works (thank you). I tried to avoid interfearing too much in "the Labs" realm all those years, but it looks like U10 forces this way. And for my file replacement with the alternatives ABC.frm ..\frm_directory\ABC_DE.frm this means that I have to use another construct: My actual way would be implementing ABC.frm as a dispatcher which reads a logical and activates the final form. Will cause some change in migrations from U9 to U10 converting the [FILES] section into a [LOGICALS] but it's a one-time effort. But if someone knows a way to keep "the old ASNs" alive; I would prefer this compatibility solution. Greetings from a very cold Frankfurt/Germany ('winter is comming'), Uli
Author: ulrich-merkel (ulrichmerkel@web.de)
Local Administrator
Hi Wolfgang, the problem with all these resource files is that the form in all the variations (former ABC_DE.frm) have to have the same name (ABC.frm). It makes development a real chaos because for every variation, you need a separate development environment. Gruß aus Frankfurt, Uli
Author: ulrich-merkel (ulrichmerkel@web.de)