Portus Version 2018-08-24
 

Using Portus with Adabas

Portus interfaces with Adabas in a smooth, seamless way, implementing almost all features of both the Mainframe and OpenSystems version of Adabas:

All Portus database access operations (see the SOAP reference for more information) are supported:

Operation Function
get Retrieve a single record, access via descriptor (defined as primary key in the DataView) or ISN
list Return 1 to n records in a single result set, access by simple key criteria.
select Return 1 to n records in either a single result set (non-conversational mode) or the first set ("chunk") of records (in conversational mode), access by complex key criteria (including from/to ranges, OR conditions, etc.)
selectNext Return the next n records for a conversation initiated by a "select" operation.
selectEnd Terminate a conversation initiated by a "select".
selectCount Return the number of records matching the specified key criteria.
add Add a new record to an Adabas file.
update Update a record accessed by key or ISN.
delete Delete a record accessed by key or ISN.

Requests can be fine tuned with SOAP header options. In addition to the general options the following Adabas specific headers are available:

SOAGateway_Internal_Adabas_ISN

On certain operations an ISN (Adabas Internal Sequence Number) can be used in lieu of a primary key to retrieve a record.

SOAGateway_Internal_Adabas_StartAtISN

In addition to the specification of key data this header option can be used to further limit the result set by setting a starting ISN for LIST and SELECT operations.

SOAGateway_Internal_Adabas_Read_Direction

Specify an "A" (the default) for ascending retrieval, a "D" for descending.

SOAGateway_Internal_Adabas_Sort_Order

The result set can be sorted by up to three fields. Specify their XML names, comma separated, with this header option

SOAGateway_Internal_Adabas_Password

The password required to access an Adabas file secured with ADASCR (Adabas Security). This password is different from that in the global "soap security" section.

SOAGateway_Internal_Adabas_Multifetch_Limit

Limit the number of records to be retrieved by a "multifetched" operation (LIST or SELECT / SELECTNEXT) with a single call to Adabas.

Before a Portus Service can be used, the mapping between the physical layout (the Adabas FDT) and the Portus (XML) representation must be in place. This mapping is called the Portus 'DataView'. In addition to the manual approach described in detail in the Data Views section, there are a number of semi-automated methods aiding in the generation of Portus DataViews for Adabas resources

  1. Dynamicall create a DataView from an Adabas FDT
  2. Create DataView(s) from a SYSOBJH unload file

Dynamicall create a DataView from an Adabas FDT

A new DataView can be generated from an Adabas file using the 'Service Discovery wizard', which will not only generate the DataView (XRD), but also a XSD, plus the Portus Resource (service) definition itself.

  1. Use the 'Service creation Wizard' to generate the Service(s)
  2. Important: As Adabas only knows about the 2-character "internal field names", you will have to edit the DataView and assign "friendly names" to all fields.

Create DataView(s) from a SYSOBJH unload file

DataView(s) for Portus Adabas resources can be generated/imported from SYSOBJH extracts.


Ostia
www.ostiasolutions.com
Copyright @ 2006-2018 Ostia Software Solutions Limited.