Use with data-in-virtual (DIV macro)

There are several restrictions for programs that use data-in-virtual MAP service with data shared using the IARVSERV SHARE service:
  • A sharing page must reside in non-swappable storage and have a SHAREDWRITE view mode.
  • Only one member of a sharing group can be mapped. Any attempt to map another member of the same sharing group results in a X'08B' abend.
  • You cannot use the IARVSERV macro to share data mapped to a hiperspace object.
  • You cannot map a sharing page whose sharing group contains a page that is currently a fixed or disabled reference page.
  • If the owning address space of a sharing page that was mapped by DIV MAP terminates prior to a DIV UNMAP, the data is lost. Any further reference to the shared data results in a X'028' abend.

There are also restrictions for programs that use the data-in-virtual UNMAP function:

If a sharing page is currently mapped, and the owner of the map issues DIV UNMAP with RETAIN for that page, the value of RETAIN affects all sharing group members as follows:
  • For RETAIN=NO, all pages of the target become unpredictable in content.
  • For RETAIN=YES, all pages of the target get the data as it last appeared within the sharing page. This can be useful for saving an instance of data, such as a check point. Use of RETAIN=YES can affect performance if it consumes large amounts of central storage by repeated retaining of the storage.