z/OS ISPF Software Configuration and Library Manager Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


STORE—Store Member Information in an Accounting Record

z/OS ISPF Software Configuration and Library Manager Guide and Reference
SC19-3625-00

The STORE service saves a member's statistical, dependency, and historical information in an accounting record in the project database. SCLM usually obtains statistical and dependency information by parsing the member, and it is a required input to the STORE service. SCLM retains the historical information in the project database and automatically generates it for the member.

Before you call the STORE service, you must lock the member using the LOCK service, and the member must exist in the development library you specify. After the STORE service ends, the member remains locked and the access key also remains unchanged. A typical development scenario follows:

  1. Use the LOCK service to lock the member. The member may or may not yet exist.
  2. Update or create the member.
  3. Parse the member using the PARSE service.
  4. Save the member's statistical, dependency, and historical information using the STORE service.

The STORE service removes duplicate dependency information for each member. For example, if a member is referenced as an include ten times, the STORE service records the reference only once in the accounting information.

When the STORE service receives dependency information, it replaces the existing dependency information rather than appending to it.

Change code information can relate problem report (PR) numbers, change request (CR) numbers, and other information to individual source members. The STORE service can validate change codes you input to the STORE service before it enters them into the accounting records and saves the member.

Like dependency information, all existing user data entries are replaced with the new user data the STORE service receives. User data entries are stored directly into the accounting information for the member. Duplicate entries passed to the STORE service are preserved in the accounting information.

Command invocation format

You cannot use command procedures to call this service.

Call invocation format

Read syntax diagramSkip visual syntax diagram
>>-lastrc--:=--FLMLNK('STOREbbb',sclm_id--,group,type,member---->

>--,access_key--,language--,-+-userid-+--,-+-C-+--,-+-Y-+------->
                             '-'--'---'    '-U-'    '-N-'   

>--,$stats_info,$list_info--,$msg_array--,-+------------+-);---><
                                           '-subproject-'      

Parameters

sclm_id
An SCLM ID associated with a given project and project definition. The INIT service generates the SCLM ID. The maximum parameter length is 8 characters.
group
The group in which the store is to occur. The specified group must be a development library. The maximum parameter length is 8 characters.
type
The type containing the member whose information is to be stored. The maximum parameter length is 8 characters.
member
The member whose information is to be stored. The maximum parameter length is 8 characters.
access_key
The access key assigned to the member with the LOCK service. If you supply an incorrect access key, the service fails. The maximum parameter length is 16 characters.
language
The language of the member. If you used the PARSE service to parse the member, this language should be the same as the one specified as input to the PARSE service. The maximum parameter length is 8 characters. However, if the language is different, you can generate your own $stats_info and write an accounting record. You can also use the statistics retrieved from the PARSE service, and it will create a new accounting record with the updated information.
userid
The user ID of the person requesting the STORE service. It defaults to the current system user ID. The maximum parameter length is 8 characters.
C|U
C indicates conditional; SCLM does not draw down a compilation unit into a different member. U indicates unconditional; SCLM can draw down a compilation unit into a different member. The maximum parameter length is 24 characters.
Y|N
Y tells SCLM to verify change code records appearing in $list_info with the change code verification routine specified in the project definition. N tells SCLM not to verify change code records. The maximum parameter length is 24 characters.

Ask your project manager if your project is using a change code verification routine. If it is not, specify N.

$stats_info
A pointer to a record containing the member's statistical information. You must have a valid buffer address.
Note: If you used the PARSE service to generate the record, you must copy the buffer to the calling program's local storage before calling the STORE service. Failure to copy the buffer to local storage causes unpredictable results.
See Pointer parameter descriptions for more details on the $stats_info parameter and copying the record contents.
$list_info
A pointer to an array of records that contains the member's include, change code and user entry information. If the member has none of this information, you can pass a fullword zero buffer address.

All include and user entry information data listed in $list_info replaces existing accounting record data for the member. If you want to maintain existing information (such as user entry history) for the member, it must appear in the $list_info parameter.

SCLM ignores the Date and Time Stamp fields on all change code entries in the $list_info array. The STORE service assigns the current system date and time to all change codes it finds in the array. Note that SCLM does not update the array itself.

SCLM adds all change code data listed in $list_info to the existing change code information in the member's accounting record. If the change code is already listed in the member's accounting record, SCLM updates the date and time stamps for the existing change code entry.

The order of the include entries in $list_info determine the order in which the build function processes the member's dependencies.

Note that SCLM does not permit duplicate record entries in the $list_info array. If it encounters duplicate records, it flags an error.
Note: If you used the PARSE service to generate the array, you must copy the buffer to the calling program's local storage before you call the STORE service. Failure to copy the buffer to local storage causes unpredictable results. See Pointer parameter descriptions for more information about the $list_info parameter and copying the array contents.
$msg_array
An output parameter pointing to the message array. See Pointer parameter descriptions for more information about $msg_array.
subproject
The name of the subproject to be assigned to the member. This parameter must only be specified if the SCLM project has been defined with subprojects. For more information about subprojects, see SCLM security.

The maximum parameter length is 8 characters.

Return codes

Additional special services messages are written to the FLMMSGS ddname. See SCLM service messages for more information.

Other return codes might be produced by the FLMLNK processor. See SCLM service return codes for more information.

Possible return codes are:
0
Normal completion.
4
Warning condition. The $msg_array parameter determines the location of this message array.
8
Error condition. The $msg_array parameter contains the error message associated with this condition.

Example of call invocation

This example shows general syntax. Call invocations are language-specific. See Sample programs using SCLM services for specific examples.

lastrc := FLMLNK('STORE   ',               (* service          *)
              sclm_id,                     (* SCLM ID          *)
              'USER1   ',                  (* group            *)
              'SOURCE  ',                  (* type             *)
              'FLM01MD2',                  (* member           *)
              'XXX#04          ',          (* access key       *)
              'PASCAL  ',                  (* language         *)
              '        ',                  (* user ID          *)
              'C                       ',  (* compilation unit *)
              'Y                       ',  (* change codes     *)
              $stats_info,                 (* statistical information pointer *)
              $list_info,                  (* listing information pointer     *)
              $msg_array);                 (* message array pointer           *)

This service call stores the statistical and dependency information (obtained from $stats_info and $list_info) in the accounting record for member FLM01MD2 in the project database. The sclm_id parameter contains a valid SCLM ID returned from the INIT service.

The member FLM01MD2 must exist in the SOURCE type in the USER1 group and must have previously been locked with an access key of XXX#04. The member is identified as a PASCAL member.

SCLM does not draw down compilation units into a different member and it verifies all change codes found in $list_info. SCLM returns all messages in the $msg_array array.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014