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:
  1. save and open sql-commands from a file
  2. history command list (via filedump)
  3. multiple command within one transaction
  4. 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

  1. 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)
  2. 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)
  3. Hi Gianni, on U10201-f113 I gave it a try with

    [FILES] usys:usyssql.frm aa3.frm

    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)
  4. 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)
  5. 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)
  6. Hi Uli, maybe the answer to the problem is contained in these sentences of the U10 manual : First sentence

    classic deployment

    A deployment strategy in which application resources are deployed in a variety of locations and formats. It was the standard approach used prior to Uniface 9.3
    but is no longer supported.

      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)
  7. 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)
  8. What are the $search_resources settings in your asn? 


    Author: Iain Sharp (i.sharp@pcisystems.co.uk)
  9. 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)
  10. 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)
  11. 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)
  12. 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)
  13. 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)
  14. gypsilon said 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  

    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)