Shared DBRMs and multi-user environments

HCOSS maintains a DBRM library that is located in the DBRMDataSets subdirectory of the directory specified in your Shared HCOSS Directory HCOSS option. This shared DBRM library provides a single location for all production DBRMs, regardless of which user generated them. This shared DBRM library is essential for binding large applications maintained in Enterprise Developer and accessed by multiple users.

Individual HCOSS users populate the shared DBRM library when compiling HCOSS programs and applications using both the DBRMLIB and the PROMOTE compiler directive options. DBRMLIB specifies the generation of DBRMs, and PROMOTE specifies that the generated DBRMS are stored in the shared HCOSS DBRM library, and that older versions of the same DBRMS in the user's local DBRM library are deleted. In this way, HCOSS retains only the promoted copy of each DBRM.

Important: In a multi-user environment, it is vital that each HCOSS user has the same physical location specified in his or her Shared HCOSS Directory HCOSS option.

Use Case Scenario

The following scenario illustrates how the shared DBRM library is maintained and accessed for a Visual Studio project containing a single HCOSS application comprised of multiple programs maintained by several different HCOSS developers.

Developer A
  1. Opens the Visual Studio project and edits one program within the project, Program A.
  2. Compiles Program A using the DBRMLIB option.

    This generates DBRMs in Developer A's local HCOSS DBRM library.

  3. Binds the DBRMs to Program A for testing.

    HCOSS looks for each DBRM in Developer A's local HCOSS library first, and if not found, then looks in the shared HCOSS library.

  4. Tests Program A.
  5. Recompiles Program A using both the DBRMLIB and the PROMOTE options.

    HCOSS generates DBRMs in the shared HCOSS library and deletes the older versions of the same DBRMs from Developer A's local HCOSS library.

Developer B
  1. Compiles the application that contains Program A, but without specifying DBRMLIB.

    All programs are compiled, but no DBRMs are generated.

  2. Binds the application.

    HCOSS binds using the DBRMs found in the shared DBRM library, including those for Program A, previously promoted by Developer A using the PROMOTE compiler directive.