FOR0102S
The DIV callable service service-name failed. The return code was return-code. VS FORTRAN Version Error 2 Number: AFB144I-1, AFB144I-2

Explanation

The DIV callable service service-name failed because of one of the errors in the table, which is identified by the return code return-code. The arguments mentioned in the explanations are those described for the DIV callable services in VS FORTRAN Version 2 Language and Library Reference.

Return Code Explanation
8 The value of the dyncom argument wasn't the name of a dynamic common block.
12 The value of the type argument was neither DDNAME, DSNAME, nor DSN.
16 If the value of the type argument was DSNAME or DSN, the value of the access argument was neither READ nor READWRITE. If the value of the type argument was DDNAME, the value of the access argument was neither READ, READWRITE, nor blank.
20 The value of the access argument was READ, but the data object was empty.
24 The object specified by the divobj argument was already associated with a dynamic common block or an object ID through a different ddname.
28 The ddname or data set name given as the divobj argument did not refer to a VSAM linear data set.
32 The value supplied for divobj argument was not a valid ddname or data set name (as determined by the value of the type argument).
36 The value of the divobj argument conflicted with the value of the type argument. For example, this return code could indicate that the type argument had a value of DDNAME, and the divobj had a value that could only be a data set name rather than a ddname.
40 The data set that had the name given as the value of the divobj argument and that should have been a VSAM linear data set could not be dynamically allocated, possibly because it didn't exist.
44 The dynamic common block whose name was given as the value of the dyncom argument was already associated with another data object through a the use of the DIVINF or DIVVWV callable service.
48 The argument list passed to the DIV callable service was invalid for one or more of these reasons:
  • Call was made from a program compiled by the VS FORTRAN Version 1 or the VS FORTRAN Version 2 compiler with the the LANGLVL(66) compiler option.
  • Call was made from a program compiled by the VS FORTRAN Version 1 compiler at a level before Release 3.
  • Call was made from a program compiled by the FORTRAN IV H Extended or the FORTRAN IV G1 compiler.
  • Incorrect number of arguments was provided.
  • One or more of the arguments wasn't of the type required by the callable service.
  • Call was made from an assembler language program, and the arguments were not provided in the form required when there are character arguments.
52 The value of the mapnum argument implied a range in the data object that overlaps a range that was already mapped.
56 The value of the obj-id argument did not have an association with any data object.
60 The value of the offset argument was negative.
64 The dynamic common block whose name was given as the value of the dyncom argument was not associated with any data object.
68 The DIVSAV callable service was invoked, but the data object associated with the dynamic common whose name was given as the value of the dyncom argument was not accessed using a value of READWRITE for the access argument.
72 The value of the mapnum argument was zero or negative.
76 The DIV callable service was called from within an MTF parallel subroutine.

System action

The service is not completed, and the condition is signaled. If the condition is unhandled, the application is terminated.

Qualifying Data:

No. Name Input/ Output Data Type and Length Value
1 parm-count Input INTEGER*4 3
2 subroutine- name Input CHARACTER*8 Name of the DIV subroutine
3 return-code Input INTEGER*4 Return code from the Fortran DIV subroutine.

Permissible Resume Actions:

Name Action Taken after Resumption
RN The service is not completed, a return code of return code is set, and execution resumes.

Programmer response

Based on the return code identified by return-code, take the action indicated. The arguments mentioned are those described for the DIV callable services in VS FORTRAN Version 2 Language and Library Reference.

Return Code Explanation
8 Specify the name of the common block as one of the suboptions of the DC compiler option.
12 Change the value of the type argument to DDNAME, DSNAME, or DSN depending on whether a ddname or a data set name is given as the value of the divobj argument. (Lowercase characters are allowed.)
16 Change the value of the access argument to READ or READWRITE. (Lowercase characters are allowed.)
20 Ensure that name given as the divobj argument refers to the data object (VSAM linear data set) that was intended, or change the value of the access argument to READWRITE.
24 Remove this call to the DIVINF or DIVINV callable service if an existing association can be used. Alternatively, terminate the existing association using the DIVTRF or DIVTRV callable service before calling DIVINF or DIVINV.
28 Ensure that the ddname or the data set name given as the divobj argument refers to a VSAM linear data set.
32 Ensure that the value of the divobj argument is a valid ddname or a data set name that refers to a VSAM linear data set. Also ensure that it is correctly specified as either a ddname or a data set name in the type argument.
36 If the type argument has a value of DDNAME, then ensure that a ddname referring to a VSAM linear data set is given as the value of the divobj argument. If the type has a value of DSNAME or DSN, then ensure that a data set name of a VSAM linear data set is given as the value of the divobj argument. Change either or both of these arguments to make them consistent.
40 Ensure that the data set name refers to a VSAM linear data set, which can be created using Access Method Services.
44 Make one or more of these changes:
  • Remove the call to the DIVINF or DIVVWV if an existing association can be used.
  • Use a different dynamic common block name.
  • First terminate the existing association using the DIVTRF or DIVTRV callable service.
48 If the calling program is written in Fortran, compile it with the VS FORTRAN Version 2 compiler, and do not specify the LANGLVL(66) compiler option. If it is written in assembler language, use the Fortran conventions for argument lists with character arguments. These conventions are described in the topic “Passing Character Arguments Using the Standard Linkage Convention” in Appendix B of VS FORTRAN Version 2 Programming Guide for CMS and MVS.
52 Use a different value for the mapnum argument to avoid overlapping an existing mapping of the data object. Use the DIVCML callable service if necessary to determine the length of the dynamic common blocks so that overlapping mappings can be avoided.
56 Ensure that the value of the obj-id argument is the same as what was returned by a previous call to the DIVINV callable service. Also ensure that the previous call to the DIVINV callable service completely successfully. If it's possible that a user-written condition handler requested that execution resume in the event of an error, then provide logic to handle the nonzero return code.
60 Provide a value for the offset argument that is not less than 0.
64 Ensure that the name given as the value of the dyncom argument has been associated with a data object using the DIVINF callable service. Also ensure that the previous call to the DIVINF callable service completely successfully by checking the return code if it's possible that a user-written condition handler requested that resumption of execution occur.
68 If the changes made in the dynamic common block are to be saved in the data object, then ensure that the value of the access argument in the call to the DIVINF or DIVINV callable service is READWRITE. If the changes are not to be saved, then remove the call to the DIVSAV callable service.
72 Provide a positive value for the mapnum argument. Also see the actions for return code 52.
76 Restructure the application so that there are no calls to the data-in-virtual callable service in MTF parallel subroutines. However, these services can be used in the main task program, and the SHRCOM callable service can be used to allow sharing of the dynamic common blocks among the main task program and the parallel subroutines.

Symbolic Feedback Code

FOR0102