Submitted by duncanc on Tue, 02/03/2015 - 13:59
Forums

Hi,

Is it possible to override the options used by CRTICEPGM?

There are a couple of things we would like to do:

  • Specify the compiled object name, so we can handle filename clashes (longer than 10 characters).
  • Specify the library, so we can override the server defaults dynamically (rather than creating a server for every library we want to compile to).

Thanks,
Craig

Niels Liisberg

Tue, 02/03/2015 - 17:09

Hi Craig;

 

1) The object name has to be the ten first char of the source, so by convention use these 10 chars as best as you can. There is no mapping feature for long names to object names unfortunately

 

2) This you can do already today. The answer is a HIVE. Hives is a virtual path to IFS, application library and library list. Hives is not that well documented yet since it is a rather new (and hidden) feature, and some minor changes may occur in that department. 

A hive is defined in the webconfig.xml in the server root. You define a virtual path name that maps to a library where the program is stored and loaded from. A library list and physical path where the IFS files are found:

Here is a snippet from the webconfig.xml

<!--

Hives is virtual paths and maps to the associated application library and library list.  
    Good practice is to keep a special char in the hive name (i.e. a dash) so it will notbe 
    confused by at physical path in the IFS. The hive path can point to any path 
   on the IFS - also out of the server root path. This can be used to map to
   QNTC files on a Windows server or via a mounted NFS volume on a AIX, Linux, 
    Mac, Win or NAS-disk for images, PDF resources etc.
    -->

 <hives>
   <!-- 
      A Hive for mapping the -demo to an application library DEMO and library list is changed
     http://systest.icebreak.org/-demo/mypgm.aspx is
     /www/demo/mypgm.aspx loaded from the library DEMO.
    -->
    <map   
      alias="-demo"    
     path="/www/demo"
      lib="DEMO" 
     libl="DEMO QGPL SYSTEST NORTHWIND" 
   />
   <!-- 
      A Hive outside the IFS root pathe for the server
      http://systest.icebreak.org/-develop/mypgm.aspx is
      /projects/icebreak/source/mypgm.aspx is the source that compiles and the program is placed in ICEPRJ
      the librarylist is unchange from the jobdescription
   -->
    <map   
      alias="-develop" 
     path="/projects/icebreak/source"  
      lib="ICEPRJ"
    />

   <!-- 
      A QNTC Hive for static resources ( no lib nor libl) on a windows server: 
     http://systest.icebreak.org/-images/Innovation%20Awards%20SC06coop.jpg 
   -->
    <map   
      alias="-images"    
     path="/QNTC/DKSRV209/share/Pictures" 
   />

 </hives>