LSCX Run-time Messages

Library Message Processing

The SAS/C run-time library generates messages for unusual conditions detected during program execution. Some of these conditions represent programmer errors, such as attempting to take the square root of a negative number, while others represent unusual conditions beyond the programmer's control, such as running out of memory or a system service failure.

The library does not diagnose every failure of every function because some failures are expected. Rather, it is the application's responsibility to detect these conditions and inform the user when necessary. For example, the library will not diagnose a failure to retrieve an environment variable that is not defined because the caller of getenv should be prepared for this possibility and usually will not consider it to be an error.

If the library produces diagnostics that are not desirable for your application, you can use

Message Types

Run-time library diagnostic messages have the form
   LSCXmessage-number **** severity **** ERRNO = error-number
   Generated in function-name called from line line-number of function-name, offset hex-value
   [C++/Extended] name: full-name
   message-text
   Interrupted while: context
where severity can be any of the following:
NOTE
describes a condition that permits program execution to continue but which is not communicated to the caller of the routine. The errno variable is usually not set.
WARNING
describes a condition that permits program execution to continue; however, the routine that detected the condition returns an error indication to its caller. When a library warning is issued, the errno variable is set and usually an error code is returned from the function that detected the condition. (Most library messages are warnings.)
ERROR
describes a condition that forces program termination, usually with an ABEND.

Run-time library messages are normally written to the stderr file, except for ABEND messages, which are written to the terminal, the JES2 job log or to an OS/390 SYSOUT file. (See message 064 for more information about ABEND messages in batch.) If stderr is not open or not usable, library messages will be sent to the terminal or to the JES2 job log in OS/390 batch.

Note: Messages numbered from 000-099 are issued under special circumstances and are not usually in the format described above; they never modify the errno variable. Some of these messages are also system dependent. Messages numbered between 500 and 999 often refer to system-specific conditions, and the same number may be used by different systems in different ways. When this occurs, the same message number will be listed several times, once for each system where it has a unique meaning.

For additional assistance with any diagnostic, call Technical Support at SAS Institute. In preparation for your call, read Technical Report C-114, A Guide for the SAS/C Compiler Consultant and have ready the required information.

LSCX Messages

Note: MM = Multiple messages.
000 001 002 003 004 005 006 007 008 009
010 011 012
(MM)
013 014 015 016 017 018 019
020 021 022 023
(MM)
024 025 026 027 028
(MM)
029
030     033 034 035       039
040 041 042 043 044 045
(MM)
046 047 048 049
050 051 052 053 054 055 056 057 058 059
(MM)
060 061 062 063 064 065 066 067 068 069
070 071 072 073 074 075 076      
                   
                098 099
100 101 102     105 106 107    
110 111     114       118 119
  121 122   124 125 126 127 128 129
130 131 132 133 134 135 136 137 138 139
140 141 142 143 144 145 146 147 148 149
150                  
160 161       165 166 167 168 169
170 171       175 176 177    
180 181 182 183 184 185 186      
                   
200 201 202 203 204 205 206 207    
 
250 251 252 253            
                   
270 271 272 273 274 275 276 277 278 279
280 281 282 283 284 285 286 287 288 289
                   
300 301 302 303 304   306 307   309
310 311 312 313 314 315 316 317 318 319
320 321 322 323 324 325 326 327 328 329
330 331   333 334 335 336 337 338 339
340 341 342 343 344 345 346 347 348 349
350 351 352 353 354 355 356 357 358 359
360 361 362 363 364 365 366 367 368 369
370 371 372 373   375 376 377 378 379
380 381 382 383 384 385 386 387 388 389
390 391 392 393 394 395 396 397 398  
400 401 402 403 404 405 406 407 408 409
410 411 412              
                   
430 431                
 
460 461 462 463            
470 471 472 473 474   476 477 478 479
480 481 482 483 484 485 486 487 488 489
490 491 492   494 495 496 497 498 499
500
(MM)
501
(MM)
502
(MM)
503
(MM)
504
(MM)
505 506
(MM)
507
(MM)
508 509
(MM)
510
(MM)
511 512
(MM)
513
(MM)
514
(MM)
515
(MM)
516 517 518 519
520 521 522 523 524
(MM)
525 526 527 528 529
530 531 532 533 534 535 536 537 538
(MM)
539
540 541 542 543
(MM)
544
(MM)
545
(MM)
546
(MM)
547 548 549
550 551 552 553 554 555 556 557    
560 561 562 563 564 565 566 567 568 569
570 571 572 573
(MM)
574 575 576 577 578  
580 581 582 583   585 586 587 588 589
590 591 592 593 594 595 596 597 598 599
600 601 602 603 604 605 606 607 608 609
610 611                
 
640       644 645 646 647 648 649
650 651 652 653 654 655 656 657 658  
660 661 662 663 664          
670
(MM)
671 672 673 674 675 676     679
680 681 682 683 684          
690 691 692 693 694 695 696 697 698 699
700 701 702   704 705     708 709
710 711 712 713 714 715 716 717 718 719
720 721 722 723
(MM)
724 725
(MM)
       
730                  
 
800
(MM)
801
(MM)
802 803 804 805 806
(MM)
807 808 809
810 811 812
(MM)
813 814 815 816      
820 821 822 823 824          
830                  
840 841 842 843 844 845 846 847 848 849
850 851 852              
860 861 862 863 864 865 866 867 868 869
870 871 872 873 874 875 876 877 878 879
880 881 882 883 884 885 886 887 889
890 891                
900 901 902 903 904 905 906 907 908 909
910 911 912 913 914 915 916 917 918 919
920 921 922 923 924 925 926 927 928 929
930 931 932 933 934 935 936 937 938 939
940 941 942 943 944 945 946 947 948 949
950 951 952 953 954 955 956 957 958 959
960 961   963 964 965 966 967    
                   
980 981 982 983 984          
990 991 992 993  


000

ERROR: Automatic storage overlaid by program.
ABEND code: 1200

Explanation

During return from a function, the library detected that stack storage for the returning function was inconsistent or corrupted. This is probably caused by the program storing data using an invalid pointer, a bad subscript, or an incorrect string length.

Action

Run the program again using the =storage run-time option, or run the program under the SAS/C debugger and use the storage debugger command to locate the overlaid data areas. Also, inspect the returning function for uninitialized pointers, out-of-bounds array references, and other similar errors.

001

ERROR: Automatic storage control blocks overlaid.
ABEND code: 1201

Explanation

During a function call, the library detected that stack data areas were inconsistent or corrupted. This is probably caused by the program storing data using an invalid pointer, a bad subscript, or an incorrect string length.

Action

Run the program again using the =storage run-time option, or run the program under the SAS/C debugger and use the storage debugger command to locate the overlaid data areas. Also, inspect the calling function for uninitialized pointers, out-of-bounds array references and other similar errors.

002

ERROR: Stack overflow detected.
ABEND code: 1202

Explanation

During program termination, the library discovered that the end of the stack had been overlaid. This error can occur only when a program runs with the =minimal run-time option. Note that stack overflow is not detected when it occurs but only at program termination. However, if stack overflow is detected, then all the program's results should be regarded as possibly incorrect.

Action

Run the program again without specifying =minimal, and use the =usage run-time option to obtain an accurate estimate of the amount of stack space required by the program. Then adjust the initial stack space requested accordingly, adding some extra space for error handling and other unusual situations.

003

ERROR: Automatic storage control blocks overlaid.
ABEND code: 1203

Explanation

During program termination, the library discovered that stack management data areas were inconsistent or corrupted. This is probably caused by the program storing data using an invalid pointer, a bad subscript, or an incorrect string length. Note that even though this error is detected during termination, it may have occurred much earlier, and all the program's results should be regarded as possibly incorrect.

Action

Run the program again using the =storage run-time option, or run the program under the SAS/C debugger and use the storage debugger command to locate the overlaid data areas. Also, inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

004

ERROR: Improper or outdated argument to longjmp.
ABEND code: 1204

Explanation

During a call to longjmp, the library was unable to locate the function to which control was to be returned. This may be caused by overlaying a jmp_buf. It may also be caused by calling longjmp for a jmp_buf set by a call to setjmp in a routine that has already returned to its caller.

Action

Correct the problem. If a jmp_buf has been overlaid, the debugger monitor command may be useful in locating the cause of the overlay.

005

ERROR: Free storage control blocks overlaid.
ABEND code: 1205

Explanation

During execution of the malloc function, the library detected that library free storage control blocks had been overlaid. This is probably caused by the program storing data using an invalid pointer, a bad subscript, or an incorrect string length. Note that the overlay may have occurred much earlier in the program's execution, and may have nothing to do with the code executing at the time of the ABEND.

Action

Run the program again using the =storage run-time option, or run the program under the SAS/C debugger and use the storage debugger command to locate the overlaid data areas. Also, inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

006

ERROR: Free storage control blocks overlaid.
ABEND code: 1206

Explanation

During execution of the malloc or free function, the library detected library free storage control blocks had been overlaid. This is probably caused by the program storing data using an invalid pointer, a bad subscript, or an incorrect string length. Note that the overlay may have occurred much earlier in the program's execution, and may have nothing to do with the code executing at the time of the ABEND.

Action

Run the program again using the =storage run-time option, or run the program under the SAS/C debugger and use the storage debugger command to locate the overlaid data areas. Also, inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

007

ERROR: Free storage control blocks overlaid.
ABEND code: 1207

Explanation

During execution of the free function, the library detected that library free storage control blocks had been overlaid. This is probably caused by the program storing data using an invalid pointer, a bad subscript, or an incorrect string length. Note that the overlay may have occurred much earlier in the program's execution, and may have nothing to do with the code executing at the

Action

Run the program again using the =storage run-time option, or run the program under the SAS/C debugger and use the storage debugger command to locate the overlaid data areas. Also, inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

008

ERROR: Storage to be freed is unallocated or overlaid.
ABEND code: 1208

Explanation

The argument of a call to free did not appear to be the address of storage previously allocated by malloc. One possible explanation is that the 8-byte prefix that precedes each block of storage allocated by malloc has been overlaid. Note that the overlay may have occurred much earlier in the program's execution and may have nothing to do with the code executing at the time of the ABEND.

Action

If the storage to be freed appears to have been correctly allocated with malloc, run the program again using the =storage run-time option, or run the program under the SAS/C debugger and use the storage debugger command to locate the overlaid data areas. Also, inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

009

ERROR: Free storage control blocks overlaid.
ABEND code: 1209

Explanation

During program termination, it was discovered that free storage management data areas were inconsistent or corrupted. This is probably caused by the program storing data using an invalid pointer, a bad subscript, or an incorrect string length. Note that even though this error is detected during termination, it may have occurred much earlier, and all the program's results should be regarded as possibly incorrect.

Action

Run the program again using the =storage run-time option, or run the program under the SAS/C debugger and use the storage debugger command to locate the overlaid data areas. Also, inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

010

ERROR: Program terminated by call to abort.
ABEND code: 1210

Explanation

The program has called the abort function or raised the SIGABRT signal. This may occur as the result of a failed assertion when the assert macro is used.

Action

Determine the reason that abort was called, and correct the problem. Note that if this message occurs running the compiler or a SAS/C utility, it indicates a programming error in the compiler or utility and should be reported to SAS/C Technical Support.

011

ERROR: Argument to unloadm is not a loaded function address.
ABEND code: 1211

Explanation

The program called the unloadm function, but the argument did not appear to be a pointer to a function in a load module loaded by loadm. One possible cause of this message is an overlay of the function pointer.

Action

If the argument to unloadm appears to be a valid function pointer into a module loaded by loadm, inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors. Use of the debugger monitor command may also be helpful in locating the overlay.

012

ERROR: Unable to load run-time I/O routines, execution cannot continue.
ERROR: Unable to locate transient library.
ERROR: Unable to locate diagnostic routines, execution cannot continue.
ABEND code: 1212

Explanation

These messages indicate that required transient library modules could not be loaded. The first message above is the most common case. This message occurs during program initialization if the library's I/O and error-handling routines could not be found. This most likely indicates a problem with JCL, TSO allocations or CMS disk accesses, such that the program is unable to access the transient library at all. The second message is produced when certain transient modules (for instance, signal handling) cannot be located after initialization is complete. This form of the message most likely indicates an error installing the transient library. The third form of the message occurs only when the Generalized Operating System interface (GOS) is in use.

Action

Confirm that the transient library is available. Contact your local SAS/C support to determine the proper procedures for access to the transient library at your site.

In OS/390 batch or TSO, the library startup code looks for the transient library modules in one of the following places:

  1. In the library allocated to the DDname CTRANS.
  2. In any allocated task library. (For instance, under ISPF, the DDname ISPLLIB will be searched.)
  3. In STEPLIB or JOBLIB.
  4. In the system linklist.
  5. In the OS/390 link pack area (LPA).
If the library has not been installed into linklist or LPA, any SAS/C job or session must have an appropriate DD statement defined as in items 1 through 3 above.

Under CMS, the library startup code looks for the transient library modules in one of the following places:

  1. In a shared segment created when the product was installed.
  2. In LSCRTL LOADLIB on an accessed minidisk.
If the library has not been installed into a segment or segments, you must access the library minidisk before running a SAS/C program.

Under UNIX System Services OS/390, when a program is invoked by the exec system call, the library startup code looks for the transient library modules in one of the following places:

  1. In the library named by the ddn_CTRANS environment variable.
  2. In the list of libraries defined by the STEPLIB environment variable.
  3. In the system linklist.
  4. In the OS/390 link pack area (LPA).
If the library has not been installed into linklist or LPA, any SAS/C program run under UNIX Systems Services will require definition of one of the environment variables listed above.

For a C program linked using a Generalized Operating System library, where the library looks for transient modules is not defined by SAS/C. In this case, consult the implementer of the GOS interface routines.


013

ERROR: Improper use of C subordinate load module.
ABEND code: 1213

Explanation

An attempt was made to run a SAS/C dynamically loadable module as an independent program. A SAS/C dynamically loadable module can only be used when loaded by another SAS/C program using the loadm function.

Action

Refer to the SAS/C Library Reference, Chapter 1, "Dynamic-Loading Functions."

014

ERROR: Recursive failures in run-time diagnostic routines.
ABEND code: 1214

Explanation

The SAS/C library diagnostic support suffered multiple errors while trying to write a diagnostic message. This is probably a SAS/C library error, though it could be caused by program overlays of library data areas.

Action

Contact SAS/C Technical Support.

015

ERROR: Load module management control blocks overlaid.
ABEND code: 1215

Explanation

The CMS unloadm function detected an error trying to delete the storage used by a dynamically loaded load module. This is probably caused by program overlay of library data areas.

Action

Inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

016

ERROR: Load module management control blocks overlaid.
ABEND code: 1216

Explanation

The CMS unloadm function discovered that library dynamic loading control blocks were inconsistent or corrupted. This is probably caused by program overlay of library data areas.

Action

Inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

017

ERROR: Load module management control blocks overlaid.
ABEND code: 1217

Explanation

The CMS loadm function discovered that library dynamic loading control blocks were inconsistent or corrupted. This is probably caused by program overlay of library data areas.

Action

Inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

018

ERROR: Runtime library error during dynamic loading.
ABEND code: 1218

Explanation

The CMS loadm function failed while trying to delete a buffer. This is probably a SAS/C library error, but it may also be caused by program overlay of library data areas.

Action

Contact SAS/C Technical Support. Also, inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

019

ERROR: Internal error in DEBUG facility.
ABEND code: 1219

Explanation

The interface between the SAS/C library and the debugger detected an error in its own processing or in the debugger. This can occur if the program overlays debugger data areas.

Action

Contact SAS/C Technical Support. Also, inspect the program for uninitialized pointers, out-of-bounds array references and other similar errors.

020

ERROR: Program aborted by DEBUG facility.
ABEND code: 1220

Explanation

The program was terminated due to use of the debugger abort command. Also, this ABEND is issued if the debugger is unable to respond to multiple attention interrupts and the user chooses to terminate the application.

021

ERROR: System error during segment loading.
ABEND code: 1221

Explanation

An error was detected by CP while loading a library segment. This may indicate a CP system error.

Action

Contact SAS/C Technical Support for further information.

022

ERROR: Internal error in run-time domain manager.
ABEND code: 1222

Explanation

The library framework manager detected an internal error or corrupted control blocks.

Action

Contact SAS/C Technical Support.

023

ERROR: System failure in TSO CLIST/Rexx interface.
ABEND code: 1223

Explanation

An unexpected error occurred in the OS/390 SAS/C SUBCOM interface.

Action

Contact SAS/C Technical Support.

023

ERROR: Required library nucleus extension dropped.
ABEND code: 1223

Explanation

A CMS nucleus extension used to manage sharing of the SAS/C run-time library has been dropped by the user.

Action

Don't issue NUCXDROP for nucleus extensions whose names begin with the characters L$C.

024

ERROR: Attempt to terminate non-C routine with longjmp.
ABEND code: 1224

Explanation

The program issued a call to longjmp or exit, but execution of the call would require termination of one or more non-SAS/C calling routines.

Action

For some applications, allowing non-C calling routines to be terminated by longjmp or exit is not a problem. For such applications, you can modify L$UPREP to suppress this ABEND, as described in Appendix 6, "Using the indep Option for Interlanguage Communication," in the SAS/C Compiler and Library User's Guide.

025

ERROR: Program terminated due to name signal.
ABEND code: 1225

Explanation

A signal occurred for which the default action is termination, and no signal handler was defined. These signals include SIGALRM, SIGIUCV and most of the UNIX Systems Services signals.

Action

If abnormal termination is not desired, modify the program to define a handler for the signal.

026

ERROR: Internal error in fullscreen support library.
ABEND code: 1226

Explanation

The FSSL library detected an internal error. This can occur if the application overlays FSSL data areas.

Action

Contact SAS/C Technical Support.

027

ERROR: Runtime library error in coprocess support.
ABEND code: 1227

Explanation

A library failure occurred terminating a coprocess.

Action

Contact SAS/C Technical Support.

028

ERROR: Unable to obtain memory for IUCV interrupt handling.
ABEND code: 1228

Explanation

The library was unable to allocate memory to extend the library's queue of incoming IUCV messages. This can occur if the program blocks IUCV interrupts or fails to respond to them in a timely fashion.

Action

Make sure the program has not blocked IUCV signals, and is running in an adequate virtual machine.

028

ERROR: Unable to obtain memory for TCP/IP interrupt handling.
ABEND code: 1228

Explanation

The library was unable to allocate memory for handling IUCV interrupts for the IBM TCP/IP product. This is probably a library internal error.

Action

Contact SAS/C Technical support.

029

ERROR: No storage available to satisfy an unconditional GETMAIN request.
ABEND code: 1229

Explanation

A request by a C program for more memory failed, and execution was unable to continue. This normally indicates that CICS storage was exhausted or almost exhausted.

Action

Consult with your CICS Systems Programming Staff.

030

ERROR: OpenEdition not available, execution unable to continue.
ABEND code: 1230

Explanation

The program invoked a function that requires the presence of UNIX Systems Services in the system, such as getpid, but UNIX Systems Services was not installed or not running. The POSIX definition of the function did not permit the function to fail.

Action

Do not use functions that require UNIX Systems Services on systems where UNIX Systems Services is not installed. If is normally running on your system, contact your Systems Programming Staff for assistance.

033

ERROR: Internal error in interlanguage communication.
ABEND code: 1233

Explanation

This message indicates an internal library error.

Action

Contact SAS/C Technical Support.

034

ERROR: Inter-language call failed - no framework created for C.
ABEND code: 1234

Explanation

An ILC call was attempted from a non-C environment but no valid C framework had been created.

Action

Call CFMWK before calling a C function from another language, and verify that the CFMWK call was successful. Refer to the SAS/C Compiler Interlanguage Communication Feature User's Guide for details on how to create a C framework.

035

ERROR: Fatal interlanguage communication usage error.
ABEND code: 1235

Explanation

A library U1235 ABEND was issued for an unrecoverable usage error. It should always be accompanied by another message describing the nature of the error.

Action

Refer to previous messages for the cause of this error.

039

ERROR: Unexpected internal error during abnormal termination.
ABEND code: 1239

Explanation

An unexpected internal error occurred in CICS ABEND handling.

Action

Contact SAS/C Technical Support.

040

ERROR: Unexpected error in ABEND analysis - analysis terminated.
ABEND code: 1240

Explanation

During ABEND analysis, an unexpected program check was encountered which made further recovery and analysis impossible. This message is produced, the analysis is terminated, and if possible a dump is taken. This error can be caused by program errors which cause library object code to be overlaid.

Action

Refer to previous messages as to the cause of the ABEND.

041

ERROR: Program terminated by operating system. ABEND code is code.

Explanation

The operating system or the SAS/C library forced abnormal termination of the program. The ABEND code may be either a system code or a user code.

Action

If the ABEND code is a user code in the range 1200 to 1240, (for instance U1235) then refer to the SAS/C Library Reference for more details.

For a system ABEND, refer to the appropriate operating-system-dependent listing of ABEND codes for details on the ABEND. (See MVS System Codes for OS/390 or VM System Messages and Codes for CMS.) User ABENDs not in the SAS/C range are generated by the SAS/C program using the abend function, by assembler subroutines, or by other products, such as FORTRAN, PL/I or IMS.

Two particularly common user ABEND codes are 240, which is a FORTRAN ABEND code, and 4000, which is a PL/I ABEND code. In general, the meaning of a user ABEND code depends on the application and the other products or interfaces it uses, and therefore you should consult with local expertise if you receive a user ABEND code you do not recognize.

Library messages 000 through 041 are often accompanied by one or more additional messages giving supplementary information about an ABEND. These messages are not numbered. The messages and their meanings are as follows:

C run-time storage has been overlaid by the program.
The ABEND analysis has found one or more library control blocks to be in an inconsistent or corrupted state. Running the program again with the =storage run-time option may produce information about the overlay.
Runtime library failure, library storage may have been overlaid.
The ABEND occurred while a critical library routine was executing. Often this means that library storage was overlaid before the failure. Running the program again with the =storage option may produce information about the overlay.
The ABEND occurred in another task or domain.
The ABEND occurred in non-C code not called directly from your program. For example, you would get this message if the debugger ABENDed while debugging your program, or if a CMS ABEND occurred while a REXX function package was loaded but inactive.
A non-C or system routine was running at the time of ABEND.
The ABEND occurred in non-C code called from C, usually in a system routine.
This ABEND could not be recovered due to environmental damage.
Corruption of library control blocks prevented the library from converting this ABEND into a C signal.
Traceback terminated - save areas overlaid.
Due to corruption of stack information, a complete C calling trace could not be produced. If you run the program again with the =storage option, you can probably get more information about the overlay.
Unable to determine location of failure.
ABEND analysis was unable to determine where the failure occurred. This may be due to overlay of control blocks. It may also be generated if the ABEND occurs during program termination after the C framework has been partially destroyed. After this message, the ABEND handler prints the ABEND PSW and registers, which may be useful in the absence of a traceback.

042

NOTE: C run-time storage usage statistics statistic-values

Explanation

This message was issued due to use of the =usage run-time option. The library produces a report on the amount of stack and heap used as well as the number of system allocate requests and frees. If the program uses coprocesses, a stack report is given for both the main coprocess, and for all coprocesses combined.

043

NOTE: Invalid run-time argument ignored: "=argument-name"

Explanation

An program argument beginning with an equals sign was specified. Arguments of this type are considered to be SAS/C run-time options; however, argument-name was not recognized as a valid option.

Action

Refer to the SAS/C Compiler and Library User's Guide, Chapter 8, "Run-time Argument Processing," for information on run-time arguments.

044

NOTE: Further warning message will be suppressed.

Explanation

The library stops generating warning messages after a maximum number of five have been printed if stderr is unavailable, in order to avoid flooding OS/390 consoles with messages. There is no message limit if stderr is available.

Action

If possible, correct any problems that prevent the use of stderr. For instance, in OS/390 batch, make sure a valid SYSTERM DD statement is defined. Alternately, consider use of the quiet function to suppress these messages.

045

ERROR: No memory available for ABEND analysis.

Explanation

During ABEND analysis under OS/390, the ABEND handler could not obtain the memory needed to continue. The ABEND analysis and further execution were terminated.

Action

Refer to previous messages to determine the cause of the ABEND or increase memory availability and rerun the program to obtain a traceback and other diagnostic information. Note that if, due to an error, a program loops consuming all available memory, it may not be possible to bypass this condition by increasing the region size.

045

NOTE: CP VMDUMP command issued.

Explanation

Under CMS, the SAS/C ABEND handler issued the CP VMDUMP command because the =abdump run-time option was specified.

046

NOTE: Undefined items in library option string ignored.

Explanation

When the C framework is created by the ILC routine CFMWK, or when the entry point to a program is specified as $MAINO, the caller provides an argument string containing any run-time options to be passed to the program. This diagnostic is produced if any part of this string cannot be recognized as a valid run-time option or redirection.

Action

Correct the calling program to specify a correct run-time options string. See SAS/C Interlanguage Communication for information on CFMWK. For more details on passing run-time arguments using $MAINO see the SAS/C Compiler and Library User's Guide, Chapter 10, "Communication with Assembler Programs."

047

WARNING: Run-time message texts not found. errno=ERRNO-value
WARNING: Run-time message texts not found, further information unavailable.
Errno value: see message

Explanation

A condition occurred requiring a library message. However, the library message texts could not be accessed.

Action

If the program is executing in the normal C environment make sure the transient library is available and was installed correctly. If the program is linked with a Generalized Operating System (GOS) library, consult your local GOS implementer for information on this condition.

Note that this message may be produced by an all-resident program if a library diagnostic is required, but the program defined the symbol NO_WARNING before including <resident.h>.


048

NOTE: Most recent C run-time modules not available.
Use version version-number or later to avoid problems.

Explanation

When the C run-time environment is first created a check is made to confirm that the transient run-time library modules are at least as recent as the resident libraries used at link time. If the resident library is more recent then the transient library, this message is produced as a warning that correct behavior cannot be assured.

The second line of the message indicates the minimum transient library level necessary to guarantee compatibility with the executing load module.

Action

Contact your local support for SAS/C for information on how to access the most current version of the SAS/C transient library. For more details on combining different release levels of the resident and transient libraries, see "Rules for Using Different Releases of the Compiler and Library" in Chapter 1 of the SAS/C Library Reference, Volume 1.

049

NOTE: Abbreviations must be unique.

Explanation

This message is accompanied by message 043. An abbreviation of a run-time option was specified, but the abbreviation did not contain enough characters to identify it uniquely. The option is ignored and execution continues.

Action

Refer to the SAS/C Compiler and Library User's Guide, Chapter 8, "Run-time Argument Processing" for a list of valid abbreviations.

050

ERROR: Execution terminated due to =QUIT run-time option.
ABEND code: various

Explanation

A library message was generated and the =quit run-time option was specified. The program is abnormally terminated, with a user ABEND code matching the number of the generated message. (For example, if message 502 was generated, then the ABEND code is user 502). This message is generated to explain the reason for the ABEND.

051

ERROR: ABEND code in language-name.

Explanation

This message is generated to identify the ABEND code and the language when an ABEND occurs in a language other than C. Some languages, such as FORTRAN, modify the ABEND code during their processing, and the ABEND code printed by C may be the modified rather than the original code. language-name may also be CDEBUG for an ABEND that occurs in the C debugger or CMS for an ABEND that occurs under CMS while a REXX function package is idle.

Action

Refer to previous messages as to the cause of the ABEND. If the ABEND is in the SAS/C debugger, contact Technical Support.

052

ERROR: language-name ABEND code reinstated as 0C6.

Explanation

This message may occur when an 0Cx ABEND occurs in a language that does not define a handler for this particular ABEND. The C framework manager assumes control and determines whether or not the ABEND should proceed.

In some cases, it is not possible for the framework manager to allow the ABEND to proceed without either changing the ABEND code or the perceived location of the ABEND. Because changing the location of the ABEND affects the accuracy of the error message, the framework manager instead changes the ABEND code. More exactly, it loads the registers at the time of ABEND and branches to an odd address within a byte of the original ABEND location. Thus, information such as the number of the line that failed should be correct.

Action

Refer to previous messages as to a possible cause of the ABEND. Any messages produced by the other language will probably also be useful.

053

ERROR: Inter-language call or return attempted during program termination.

Explanation

The framework for another language had begun to terminate and then attempted to call (or return to) C. This can occur only if an interlanguage call or return is attempted after the use of a language facility that allows program termination to be intercepted, such as a PL/I FINISH ON-unit.

Action

Correct the non-C code not to call C functions during termination.

054

ERROR: Internal error in C library inter-language communication routines.

Explanation

This is a SAS/C internal library error.

Action

Contact SAS/C Technical Support.

055

ERROR: Invalid inter-language call to C.

Explanation

This message is issued when a C function is called from another language but the C framework is already active. The most likely cause of this error is a non-C routine that was not declared with a keyword such as __cobol. In some cases, a misdeclared routine of this sort may execute successfully; however, if it calls another C function, this error results.

Action

Refer to the SAS/C Compiler Interlanguage Communication Feature User's Guide for restrictions on inter-language calls to C.

056

NOTE: SAS/C library release n.nnx (resident), release n.nnx (transient).

Explanation

This message indicates the versions of the resident and transient libraries for the executing program. This message is produced when the =version run-time option is used.

057

ERROR: REXX function package is not reentrant.
Functions cannot be loaded.

Explanation

A REXX function package has been compiled using the norent compiler option. REXX function packages must be compiled using the rent option.

Action

Recompile the function package using the rent option. For complete details on REXX function packages see the SAS/C Library Reference chapter "The REXX SAS/C Interface."

058

ERROR: REXX environment name is terminating. Command rejected.

Explanation

This message occurs in a TSO SUBCOM application. The C program has called execend to terminate SUBCOM processing, but while the library was attempting to terminate an active TEXX EXEC, a subcommand was addressed to the terminating program.

The REXX input line that caused this message fails and passes a return code of -10 back to REXX.

Action

Correct the application so that this situation does not arise.

059

NOTE: Rexx environment name is busy. Command rejected.

Explanation

This message occurs in a TSO SUBCOM application. It indicates that while the C program was processing a REXX command, another command was addressed to the same environment. This is likely to happen only if the user is running several REXX EXECs as independent subtasks, or if the C program calls the system function to invoke another EXEC.

The REXX input line that generates this message fails and passes a return code of -10 back to REXX.

Action

Correct the application so that this situation does not arise.

059

NOTE: SUBCOM environment is busy. Command rejected.

Explanation

A CMS SUBCOM application invoked another CMS processor. For instance, it used the system function to invoke an EXEC. The invoked processor then attempted to address the SUBCOM environment of the original program. Recursive invocation of the SUBCOM interface in this fashion is not permitted. A return code of -10 is passed back to the program that attempted the recursive invocation.

Action

Do not attempt to address a C SUBCOM environment recursively. This may require restricting the use of general-purpose EXECs from a SUBCOM application.

060

NOTE: Beginning storage corruption check.

Explanation

When the =storage run-time option was requested, this message indicates that the storage corruption report is being generated.

061

NOTE: Storage corruption report generated.

Explanation

When the =storage run-time option was requested, this message indicates the storage corruption report has been successfully generated.

062

NOTE: No storage corruption detected.

Explanation

When the =storage run-time option was requested, this message indicates that a storage check was performed without finding any storage overlays.

063

NOTE: Unable to produce storage corruption report.

Explanation

This message indicates that for some reason the =storage run-time option failed to produce a storage corruption report. Typically this message is preceded by other library messages describing the problem.

Action

Under OS/390, the most likely cause for this message is that the STGRPT DDname was not allocated.

064

NOTE: ABEND diagnostic messages directed to ddname name

Explanation

The library diagnostics associated with a program ABEND (including the program traceback) were directed to the DDname indicated, either SYSTERM or a SYSOUT file allocated by the library. This avoids increasing the load on the OS/390 system console for C programming errors.

065

ERROR: Diagnostic output ABEND: code. Messages redirected to job log.

Explanation

The library attempted to send diagnostic messages to a file, but an ABEND occurred while writing to the file. Use of the file is abandoned and the messages are written to the job log.

066

ERROR: Unable to allocate DD-name - DYNALLOC error code hex-value.

Explanation

An UNIX Systems Services application attempted to dynamically allocate a DDname needed by the library as specified by an environment variable but the allocation failed. The DYNALLOC error code is included in the message.

Action

Look up the error code in the IBM MVS/ESA Application Development Guide: Authorized Assembler Language Programs, and take appropriate action. If the error code indicates a problem with the file to be allocated (for instance, it does not exist), correct the value of the environment variable and rerun.

067

ERROR: Unable to reopen CTRANS after fork - child terminated.
ABEND code: 1212

Explanation

After a fork call, the child process was unable to reopen CTRANS to access the SAS/C transient library.

Action

Contact SAS/C Technical Support.

068

NOTE: Error detected in file: name

Explanation

An error in a run-time option or redirection was detected in the named file. The error itself is described in a previous message.

069

NOTE: Terminal/pipe not valid for argument redirection.

Explanation

An argument redirection request specified a file that was a terminal file or a pipe. These files are not supported for argument redirection.

Action

Correct the specification.

070

NOTE: Enter IC to interrupt program or a REXX immediate command.

Explanation

This message is produced if you hit the attention key while a SAS/C SUBCOM application is running a REXX EXEC. The message indicates that you can communicate to REXX by entering any REXX immediate command, or send an attention signal to the SAS/C debugger or library by entering IC.

Action

Enter a Rexx immediate command, or enter IC to signal the SAS/C application or debugger, or enter a null line to simply continue execution of the REXX EXEC.

071

NOTE: Recursive inclusion of argument file: name.

Explanation

An argument redirection file contains another argument redirection that (directly or indirectly) causes the file to be included again. The recursive specification is ignored.

Action

Correct the file to not include a recursive specification.

072

ERROR: This version of the transient library does not support OpenEdition.
ABEND code: SEC6

Explanation

A program called using UNIX Systems Services exec linkage determined that the accessible version of the SAS/C transient library did not support UNIX Systems Services. The program is aborted.

Action

Provide a CTRANS DD statement or use the ddn_CTRANS environment variable to define the location of a compatible version of the transient library. Contact your SAS/C Support Representative to determine the appropriate data set name.


073

NOTE: Library internal error, text for message message-number was truncated.

Explanation

This message indicates that an error occurred formatting the previous library message, and that some of the message text was lost. This condition should not occur and indicates a potential problem in the run-time library.

Action

Report the problem to SAS/C Technical Support.

074

NOTE: I/O support code not accessible. Diagnostic information may be lost.

Explanation

This message is produced if you run an all-resident application under the shell and the library needs to generate a diagnostic message, but is unable to send the message because HFS I/O support was not linked into the module. The original diagnostic message is sent to the MVS console as an alternative.

Action

Modify the application to define the macro RES_HFS_STDIO before including <resident.h>.

075

WARNING: Command line parameter truncated to 2000 bytes.

Explanation

With Release 7.00, the command line must be 2,000 characters or less if you are using MAIN as your entry point.

Action

It is not possible to increase the command line length beyond 2,000 bytes for the MAIN entry point. You will need to use either the $MAINC or the $MAINO entry point if you require a command line that is longer that 2,000 bytes.

076

Warning: This Function is not supported by your version of the Operating System.

Explanation

The operating system does not provide the support necessary for this function to perform properly.

Action

See the documentation for the specific function returning this message.

098

WARNING: VSAM PHYSICAL ERROR SYNADAF INFO:
Errno value: EDEVICE

Explanation

This message indicates a physical I/O error processing a VSAM data set, probably a hardware problem. The rest of the text of the message contains details that may be helpful in isolating the error. This message is sent to the Operator's console in MVS.

Action

Check for other indications of hardware problems. For instance, in MVS, look for IOS000I messages that may contain more information about the error.

099

ERROR: I/O-type ERROR (access-method) DIAGNOSTIC INFO, information
Errno value: EDEVICE

Explanation

This message is similar to message 098 except that it applies to BSAM rather than VSAM files. This may indicate either a hardware problem, or a program logic error. If the message is accompanied by an MVS IOS000I message, it probably indicates a hardware problem.

Action

If the message indicates WRNG.LEN.RECORD, the probable cause is incorrect DCB information, possibly caused by incorrect concatenation of DD statements. Another possible cause is a call to fseek or fsetpos with a corrupted or uninitialized seek address. Consult with your local system programming staff for help interpreting this message and determining possible causes.

100

WARNING: Memory unavailable for new allocation: number bytes required.
Errno value: ENOMEM

Explanation

The library attempted to allocate the number of bytes indicated. This may be caused by a direct call to malloc, or may represent a library internal storage request.

Action

Increase the region size or virtual machine size. If the amount of memory requested appears unreasonable, verify that the argument passed to malloc has been correctly initialized.

101

ERROR: Program does not contain a "main" function. Execution aborted.
ABEND code: 1210

Explanation

A C load module was linked with neither a main function nor a _dynamn function. This message is issued by a dummy main function contained within the library. This is usually a link-edit error that caused part of the program to be omitted or that specified the wrong entry point.

Action

Unless the compiler option indep is in use, every C program requires a main function. If indep is not in use, ensure that the main function is included when the program is linked. If indep is in use, ensure that the program entry point is defined as the first function to be executed, not as MAIN.

102

WARNING: Module name is too long or entirely blank: module-name.
Errno value: EARG

Explanation

A call to loadm or buildm specified a module name that was entirely blank or contained more than 8 characters.

Action

Correct the program to make sure a valid module name is specified.

105

WARNING: Input data does not match format string: format-string.
Errno value: ECONV

Explanation

During the execution of one of the scanf family of functions, an incompatibility was detected between the data and the format string. Up to eight characters of the format string are displayed in the message.

Action

Refer to the SAS/C Library Reference for more details on the function being invoked and valid format strings. The quiet function can be used to suppress the message.

106

WARNING: % found at end of function-name format string.
Errno value: EARG

Explanation

A trailing % was found in a format string. The % denotes the beginning of a format and cannot appear by itself.

Action

If an actual % character is desired in the output, specify two % characters (for instance, Interest rate %d%%). Refer to the SAS/C Library Reference for more details on the function being invoked and valid format strings.

107

WARNING: Invalid number base for strtol: base-value.
Errno value: EDOM

Explanation

The base specified in the invocation of strtol is invalid.

Action

Specify a valid base between 2 and 36.

110

NOTE: Arguments to function-name overlap (length=length). Results are unpredictable.
Errno value: unchanged

Explanation

The function indicated has been passed arguments that address overlapping areas. The results are unpredictable. Some of the functions that may cause this message to be generated are: memcpy, memcpyp, and memfil. This message may also be generated if the length passed to one of these functions is extremely large, perhaps due to an uninitialized variable.

Action

If it is valid for the data areas to overlap, consider using the memmove function. See the SAS/C Library Reference for information on memmove.

This message can be generated within the library during program startup if a SAS/C program is invoked with an invalid parameter list pointer in register 1. If the program issuing the message was invoked from another program (for instance, using the ATTACH macro), check the invoking program to be sure it has constructed a correct parameter list.


111

NOTE: Length of memset target too large: length. Results unpredictable.
Errno value: unchanged

Explanation

The program is running in AMODE 24, and a call to memset specified a length of more than 16 megabytes. The probable cause is an uninitialized argument to memset.

Action

Correct the program.

114

WARNING: error-type occurred converting "string" to floating point.
Errno value: ERANGE

Explanation

During an attempt to convert a string to a floating point number, an error occurred. The error value is either Underflow or Overflow.

Action

None. The data to be converted represented a number outside the hardware range for floating-point numbers.

118

WARNING: buildm unsuccessful. Module name name already defined.
Errno value: EUSAGE

Explanation

The module name specified to buildm is the name of a previously loaded or built module.

Action

Each module name should normally be unique. If reusing an existing module name is required, refer to the SAS/C Library Reference description of buildm for details.

119

WARNING: Transient module module-name could not be located.
Errno value: EFORBID

Explanation

An all-resident program required a transient load module, but the symbol ALLOW_TRANSIENT was not defined when it was compiled.

Action

This generally indicates that the program has attempted to use a library feature which was not specified at the time that the <resident.h> header file was included. This is permitted only if ALLOW_TRANSIENT is specified and the transient library is accessible. Refer to the SAS/C Compiler and Library User's Guide, Chapter 9, "All Resident C Programs," for details.

121

WARNING: Calendar time value outside the range of the system clock.
Errno value: EUSAGE

Explanation

The IBM 370 system clock has a year range of 1900-2041. If the time value passed to the mktime function falls outside of this range, the above message is generated and mktime returns a error code to its caller.

Action

Avoid the use of time values outside the valid range.

122

WARNING: Minimum field width of 0 ignored in function-name format.
Errno value: EUSAGE

Explanation

A field width of 0 was specified in the format for a scanf type function. This width is illegal and execution of scanf is terminated.

Action

Specify a field width other than 0.

124

ERROR: Assertion failed: assertion-text.
ABEND code: 1210

Explanation

An assertion was specified in the source program and the assertion was not met. The executing program is terminated (abort is called).

Action

If the assertion is incorrect, remove or correct it. If the assertion is correct, fix the program logic error which caused the assertion to fail.

125

WARNING: Invalid function-name format character 'format-code'.
Errno value: EARG

Explanation

An invalid format specification such as %q was passed to a printf or scanf type function.

Action

For more details on valid formats see the SAS/C Library Reference description of the specified function.

126

WARNING: hex-value is not a valid double-byte character.
Errno value: EARG

Explanation

The hex characters printed do not comprise a valid double-byte character.

Action

For more details see the SAS/C Library Reference, Chapter 11, "Multibyte Character Functions."

127

NOTE: Unmatched double-byte shift-out in function-name argument string.
Errno value: EARG

Explanation

A zero byte was encountered within a double-byte character sequence, so the sequence was terminated.

Action

For more details see Chapter 11, "Multibyte Character Functions," in SAS/C Library Reference, Volume 1.

128

WARNING: %format-code conversion exceeds maximum length of max-length characters.
Errno value: EARG

Explanation

A format item for a printf-like function specified a length larger than the limit for this function. The limit is 512 characters for functions other than sprintf and its variants (which have no limit). Note, this limit does not apply to %s and %V formats.

Action

Decrease the size of the conversion, or use sprintf or snprintf to format the data, followed by a function such as fputs to write the formatted output.

129

WARNING: Integer overflow converting "string" to long (base number).
Errno value: ERANGE

Explanation

During an attempt to convert the specified string to the specified base, the strtol function encountered an integer overflow. The strtol function returns LONG_MAX or LONG_MIN for this condition. stroul can also generate this message, in which case it returns ULONG_MAX.

Action

A possible solution is to use stroul (unsigned long) for the conversion. Refer to the SAS/C Library Reference description of strtol and strtoul for more information.

130

ERROR: Attempt to free an address not allocated by malloc.
ABEND code: 1208

Explanation

The argument of a call to free did not appear to be the address of storage previously allocated by malloc. One possible explanation of this condition is that the 8-byte prefix which precedes each block of storage allocated by malloc has been overlaid. Note that the overlay may have occurred much earlier in the program's execution and may have nothing to do with the code executing at the time of the ABEND.

Action

If the storage to be freed appears to have been correctly allocated with malloc, run the program again using the =storage run-time option, or run the program under the SAS/C debugger and use the storage debugger command to locate the overlaid data areas. Also, inspect the program for uninitialized pointers, out-of-bounds array references, and other similar errors.

131

WARNING: Invalid signal number: signal-number
Errno value: EARG

Explanation

A signal-related function was called specifying an undefined signal number.

Action

Ensure that the library passes valid signal names in calls to signal-handling functions. Integer constants should not be passed to signal routines, since different systems often use different numbers for the same signal. See Chapter 5, "Signal-Handling Functions" in SAS/C Library Reference, Volume 2, for information on valid signals.

132

WARNING: Signal signal-name cannot be ignored.
Errno value: EARG

Explanation

A request was made to ignore the indicated signal; however, certain signals, such as SIGABND, cannot be ignored.

Action

See "Signal-Handling Functions" in SAS/C Library Reference, Volume 2, for information on valid signals.

133

WARNING: Signal number already defined: signal-number.
Errno value: EARG | EUSAGE

Explanation

An attempt was made to define a user signal that is not in the valid range for user-defined signals or which has already been defined as a user signal.

Action

See "Signal-Handling Functions" in SAS/C Library Reference, Volume 2, for information on defining user signals.

134

NOTE: Handling of signal-name not permitted due to =option-name option.
Errno value: unchanged

Explanation

The named signal cannot be handled because a run-time option was used. The option =nohtsig inhibits handling of termination signals SIGABRT and SIGABND. The option =nohcsig inhibits handling of computational signals SIGFPE, SIGSEGV and SIGILL. The request to handle the signal is ignored.

Action

See the SAS/C Compiler and Library User's Guide for complete details on run-time library options and "Signal-Handling Functions" in SAS/C Library Reference, Volume 2 for general information on signal-handling.

135

ERROR: Return from signal-name handler not supported, execution terminated.
ABEND code: signal-dependent

Explanation

A handler attempted to return to the point of interruption, but this was not allowed for this signal. The program is abnormally terminated, using the ABEND code associated with the signal. (Signals for which return is forbidden include SIGABRT, SIGABND, SIGSEGV and SIGILL.)

Action

To recover from one of these signals, the handler must use the longjmp function to resume execution. See "Signal-Handling Functions" in SAS/C Library Reference, Volume 2 for general information on signal handling.

136

ERROR: Argument to unloadm is not a valid dynamically loaded function address.
ABEND code: 1211

Explanation

The program called the unloadm function, but the argument did not appear to be a pointer to a function in a load module loaded by loadm. Overlay of the unloadm argument can cause this message.

Action

If the argument to unloadm appears to be a valid function pointer to a module loaded by loadm, inspect the program for uninitialized pointers, out-of-bounds array references, and other similar errors. Use of the debugger monitor command may also be helpful in locating the overlay.

137

WARNING: Attempt to allocate from uninitialized or corrupted storage pool.
Errno value: EUSAGE

Explanation

The control information in a pool_t object is incorrect. Either the object has not been initialized by a call to the pool function or it has been overlaid.

Action

Check that the pool_t object was correctly initialized. If so, use the debugger monitor command to determine where the object was overlaid.

138

WARNING: Insufficient memory to load module module-name.
Errno value: ENOMEM

Explanation

An attempt to dynamically load the named module failed because there was not enough memory for the library to allocate its load module management control blocks.

Action

Increase the amount of memory available for the execution and make sure that the program is freeing memory which it no longer requires.

139

WARNING: buildm failed due to insufficient memory.
Errno value: ENOMEM

Explanation

The buildm routine attempted to build an entry point address as requested. During the attempt, buildm could not obtain enough memory to complete its processing.

Action

Increase the amount of memory available for the execution and make sure that the program is freeing memory which it no longer requires.

140

WARNING: Argument to coproc is unrecognized: argument-value.
Errno value: EARG

Explanation

The coproc function accepts only the symbolic arguments MAIN, SELF, or CALLER.

Action

See the SAS/C Library Reference, Chapter 9, "Coprocessing Functions," for information on coproc.

141

WARNING: Argument to function-name does not identify an active coprocess.
Errno value: EUSAGE

Explanation

An argument to the specified function is not the id of any active coprocess. Most likely, the coprocess id is uninitialized or corrupted.

Action

Check to be sure the coprocess id was correctly initialized. If so, use the debugger monitor command to determine where the id was overlaid.

142

WARNING: coreturn not permitted from main coprocess.
Errno value: EUSAGE

Explanation

The main coprocess cannot call coreturn because there is no calling coprocess to return to.

Action

Modify the program so that the main coprocess does not call coreturn. For complete details on coprocesses, see the SAS/C Library Reference, Chapter 9, "Coprocessing Functions."

143

WARNING: Recursive cocall not permitted.
Errno value: EUSAGE

Explanation

A coprocess attempted to cocall itself either directly or via one or more additional coprocesses. This behavior is not supported. The erroneous call to cocall returned and execution continued.

Action

Modify the program's logic to avoid recursive cocalls. For complete details on coprocesses, see the SAS/C Library Reference, Chapter 9, "Coprocessing Functions."

144

WARNING: Maximum number of coprocesses already active.
Errno value: ELIMIT

Explanation

A request was made to create another coprocess, but there were already 65535 coprocesses active.

Action

Reorganize the program so that this limit is not reached. (Note that in most cases a program which attempts to create the maximum number of coprocesses will run out of memory first.) For complete details on coprocesses, see the SAS/C Library Reference, Chapter 9, "Coprocessing Functions."

145

WARNING: No memory available to start new coprocess.
Errno value: ENOMEM

Explanation

An attempt to create a new coprocess failed due to insufficient memory.

Action

Increase the amount of memory available for the execution and make sure that the program is freeing memory which it no longer requires. Also, investigate whether the amount of stack space for each coprocess can be reduced.

146

WARNING: Unable to start new coprocess during program termination.
Errno value: EUSAGE

Explanation

An attempt was made to start a new coprocess while a program was terminating, for instance, while an atexit routine was running. This is not permitted.

Action

Create any necessary coprocesses before termination. For complete details on coprocesses, see the SAS/C Library Reference, Chapter 9, "Coprocessing Functions."


147

ERROR: Unable to add atcoexit routine for terminating coprocess.
Errno value: EUSAGE

Explanation

An attempt was made to add an atcoexit routine for a terminating coprocess. Once a coprocess has begun to terminate, it is not possible to define atcoexit routines for it.

Action

Define any necessary atcoexit routines before termination of the coprocess. For complete details on coprocesses, see the SAS/C Library Reference, Chapter 9, "Coprocessing Functions."

148

ERROR: Unable to add atexit routine during program termination.
Errno value: EUSAGE

Explanation

An attempt was made to define an atexit routine while the program was terminating. This is not permitted.

Action

Define any necessary atexit routines before termination. See the SAS/C Library Reference, Volume 1 for information on atexit.

149

NOTE: coreturn not permitted, calling coprocess no longer active.
Errno value: unchanged

Explanation

An attempt was made to return to a coprocess that is no longer active. This can happen only during program termination if a coprocess intercepts its own termination using blkjmp or atcoexit.

Action

For complete details on coprocesses, see chapter 9, "Coprocessing Functions," in SAS/C Library Reference.

150

WARNING: Reserved fields in costart parms not zero.
Errno value: EARG

Explanation

The costart_parms argument to the costart function contains several reserved areas that must be set to zeros. This condition probably occurred because the costart_parms argument was not completely initialized.

Action

Check that the costart_parms argument has been correctly initialized.

160

WARNING: Invalid first argument to sigprocmask: argument-value
Errno value: EARG

Explanation

The first argument to sigprocmask is not one of the symbolic constants SIG_BLOCK, SIG_UNBLOCK, or SIG_SETMASK.

Action

Correct the program to pass a valid first argument. See Chapter 5, "Signal-Handling Functions," in the SAS/C Library Reference for further information on sigprocmask.

161

WARNING: Signal signal-name cannot be handled.
Errno value: EINVAL

Explanation

UNIX Systems Services does not allow the indicated signal to be handled.

165

WARNING: Daylight savings time information is missing.
Errno value: EUSAGE

Explanation

A call to mktime specified a tm_isdst field of 1 in the argument, indicating that daylight savings time was in effect. But the value of the TZ environment variable did not include a daylight savings time definition, so the call to mktime failed.

Action

Either modify the TZ environment variable to include a daylight savings time definition, or set the tm_isdst field to 0 or -1.

166

NOTE: TZ not set - tm_isdst setting cannot be used.
Errno value: unchanged

Explanation

A call to mktime specified a tm_isdst field of 1 or 0 in the argument, indicating that daylight savings time was or was not in effect. Because the TZ environment variable was undefined or invalid, the library has no daylight savings time information available. The returned tm_isdst field is set to -1, and mktime assumes an offset from GMT based on the hardware time-of-day clock.

Action

Modify the program to specify a tm_isdst field of -1 if it may be run in an environment in which the TZ environment variable is not defined, or use the quiet function to suppress the message.

167

WARNING: tm_isdst setting results in an "impossible" time.
Errno value: EUSAGE

Explanation

The argument to mktime specified a time which cannot occur in the time zone defined by the TZ environment variable and set the tm_isdst field of its argument to -1. For instance, if standard time ends at 2:00 AM on March 30, and daylight time begins at that moment at 3:00 AM, then 2:30 a.m. on March 30 is an impossible time.

Action

Do not specify mktime arguments which are not valid times. Alternately, use the quiet function to suppress the message.

168

WARNING: Inconsistent TZ value supplied. TZ setting will be ignored until TZ is reset.
Errno value: EUSAGE

Explanation

The value of the TZ environment variable specified a time zone that is inconsistent. For example, the end time for daylight savings time is later than the end time for standard time but less than the start time for savings time. The inconsistent TZ value is ignored, and the time zone implied by the hardware time-of-day clock setting is used.

Action

Make sure the TZ environment variable setting is correct.

169

WARNING: Invalid/unsupported format of TZ environment variable "value".
Errno value: EUSAGE

Explanation

The value of the TZ environment variable does not conform to the syntax specified by the POSIX standard. Note that the POSIX standard allows an implementation to support additional TZ formats beginning with a : but SAS/C supports no such formats.

Action

Make sure the TZ environment variable setting is correct. See Chapter 3, "Function Categories," in SAS/C Library Reference, Volume 1 for information on the form of the TZ environment variable.

170

WARNING: Invalid or missing environment variable name.
Errno value: EARG

Explanation

An invalid environment variable name was specified in a call to putenv or setenv. For instance, the variable contains an equals sign.

Action

Correct the environment variable name. For more information on the syntax for environment variable names, see Chapter 4, "Environment Variables," in the SAS/C Library Reference.

171

WARNING: Scope specified for environment variable is invalid: scope-value
Errno value: EUSAGE | EFORBID

Explanation

The scope specified is invalid or not supported in the current environment. See the "Environment Variables" chapter of the SAS/C Library Reference for a discussion of the valid scopes. If the errno variable is set to EFORBID, it indicates that the program was created using the all-resident library and that use of TSO environment variables was not requested at compile-time. It also indicates that the program was running in TSO, called getenv, and was unable to find a variable in the program scope variable list.

Action

For more information on environment variable scopes, see Chapter 4, "Environment Variables," in the SAS/C Library Reference. See the SAS/C Compiler and Library User's Guide for information on using the all-resident library.

175

WARNING: name locale is not supported - unable to load name module.
Errno value: ENFOLD

Explanation

The argument to setlocale requested the use of a non-standard locale, but no load module supporting that locale could be loaded.

Action

If the locale specified is intended to be a user-defined locale, correct JCL allocations or disk accesses so the load module supporting that locale is accessible. If the locale is intended to be a standard locale, correct the specification. See "Localization Functions" in the SAS/C Library Reference, Volume 2 for more information on implementing user-defined locales.

176

WARNING: Unrecognized text in locale string: text
Errno value: ENFOUND

Explanation

The locale specification contained unrecognized text. A SAS/C locale consists of a single name, optionally followed by a semi-colon and a list of category overrides, separated by semicolons.

Action

Correct the locale specification. See "Localization Functions" in the SAS/C Library Reference, Volume 2 for more information on the syntax of valid locale specifications.

177

WARNING: Unrecognized setlocale category: category-value
Errno value: ENFOUND

Explanation

The first argument to the setlocale function is not one of the locale category symbolic names defined in <locale.h>.

Action

Correct the program. See "Localization Functions" in the SAS/C Library Reference, Volume 2 for further information on locale categories.

180

NOTE: DEBUG module not loaded, =DEBUG option ignored

Explanation

The =debug run-time option was specified, but the debugger load module could not be loaded. The cause of the failure should have been described by a previous message.

Action

Correct the condition described in the previous message.

181

NOTE: =DEBUG option cancelled, unable to open debug processor files

Explanation

In OS/390 batch, the debugger requires DBGIN (input) and DBGLOG (output) files to be available upon initialization. DD statements for these files must be present in the JCL.

Action

Correct the JCL.

182

WARNING: function-name routine not called, I/O suppressed for this program.
Errno value: EFORBID

Explanation

An attempt was made to perform I/O in a program for which I/O support was suppressed. I/O can be suppressed using the _NIO library option or, in an all-resident program, by specifying NO_IO when including <resident.h>.

Action

Correct the program to not attempt I/O, or modify it so I/O is permitted.

183

NOTE: =DEBUG option not supported for authorized program.

Explanation

The debugger is not supported for programs running in an authorized environment. If this were permitted, debugger facilities could allow subversion of OS/390 integrity and security features by unauthorized users.

Action

Contact SAS/C Technical Support for further information.

184

NOTE: Unsupported remote debugger _DB_COMM method text

Explanation

The remote communication access method specified in the _DB_COMM environment variable for either the remote debugger or program communication is not supported.

Action

Change the _DB_COMM environment variable specification to a supported value. Supported access methods that can be specified are:
TCPIP
TCP/IP access method
APPC
IBM's Advanced Program to Program Communication
LOCAL
non-remote debugger

185

NOTE: =DEBUG option not supported for setuid/setgid program.

Explanation

It is not yet clear if this message will be possible with the remote debugger. The debugger is not supported for programs running with an effective uid or gid different from the real uid or gid. If this were permitted, debugger facilities could allow subversion of integrity and security features by unauthorized users.UNIX Systems Services

Action

Contact SAS/C Technical Support for further information.

186

NOTE: The local debugger is not supported for exec-linkage programs.

Explanation

The use of the local debugger (=debug run-time option) is not supported for programs invoked with exec-linkage, such as applications running under the UNIX Systems Services shell.

Action

Debug exec-linkage applications using the sascdbg shell command or TSO command.

200

WARNING: error-type occurred during computation of expression.
Errno value: ERANGE

Explanation

Floating-point overflow or underflow (as indicated in the message) occurred during computation of a mathematical function. The errno variable is set to ERANGE and an appropriate value (+/-HUGE_VAL for overflow or 0.0 for underflow) is returned.

Action

If possible, correct the program or the data. The message can be suppressed using the _matherr function, as described in the SAS/C Library Reference, Volume 1.

201

WARNING: error-type occurred during computation of expression.
Errno value: ERANGE

Explanation

Floating-point overflow or underflow (as indicated in the message) occurred during computation of a mathematical function. The errno variable is set to ERANGE and an appropriate value (+/-HUGE_VAL for overflow or 0.0 for underflow) is returned.

Action

If possible, correct the program or the data. The message can be suppressed using the _matherr function, as described in the SAS/C Library Reference, Volume 1.

202

WARNING: value is a singularity of the function-name function. Evaluation impossible.
Errno value: ERANGE

Explanation

The indicated value is a singularity of the indicated function; that is, the function approaches infinity as the argument approaches the singularity. The errno variable is set to ERANGE, and an appropriate value (+/-HUGE_VAL) is returned.

Action

If possible, correct the program or the data. The message can be suppressed using the _matherr function, as described in the SAS/C Library Reference, Volume 1.

203

WARNING: value is not a valid argument to the function-name function.
Errno value: EDOM

Explanation

The indicated function is mathematically undefined for the given argument. The errno variable is set to EDOM.

Action

If possible, correct the program or the data. The message can be suppressed using the _matherr function, as described in the SAS/C Library Reference, Volume 1.

204

WARNING: expression is not mathematically meaningful.
Errno value: EDOM

Explanation

The indicated function is mathematically undefined for the given arguments. The errno variable is set to EDOM.

Action

If possible, correct the program or the data. The message can be suppressed using the _matherr function, as described in the SAS/C Library Reference, Volume 1.

205

NOTE: [Total | Partial] loss of significance occurred during evaluation of expression.
Errno value: unchanged

Explanation

The function result is less accurate than the arguments. If the message indicates total loss of significance, the result may be completely inaccurate. If it indicates partial loss of significance, the result is approximately correct, but considerably less precise than its input arguments.

Action

If possible, correct the program or the data. Output of this message may indicate serious problems with the correctness of program results, which should be evaluated carefully. The message can be suppressed using the _matherr function, as described in the SAS/C Library Reference, Volume 1.

206

WARNING: error-type occurred during computation of expression.
Errno value: ERANGE

Explanation

Floating-point overflow or underflow (as indicated by error-type) occurred during computation of a mathematical function. The errno variable is set to ERANGE and an appropriate value (+/-HUGE_VAL for overflow or 0.0 for underflow) is returned.

Action

If possible, correct the program or the data. The message can be suppressed using the quiet function, as described in the SAS/C Library Reference, Volume 1.

207

NOTE: [Total | Partial] loss of significance occurred during evaluation of expression.
Errno value: unchanged

Explanation

The function result is less accurate than the arguments. If the message indicates total loss of significance, the result may be completely inaccurate. If it indicates partial loss of significance, the result is approximately correct, but considerably less precise than its input arguments.

Action

If possible, correct the program or the data. Output of this message may indicate serious problems with the correctness of program results, which should be evaluated carefully. The message can be suppressed using the _matherr function, as described in the SAS/C Library Reference, Volume 1.

250

ERROR: Exception handling internal ERROR: explanation.
Abend code: 1232

Explanation

The C++ library found a condition during exception handling that prevented continued execution.

Action

If the reason indicated is out of memory, this is caused by a throw after memory in both the normal area and in the area reserved for exception handling has been exhausted. Either a large object (size greater than 1K bytes) has been thrown or multiple smaller objects have been thrown after normal memory is exhausted. If a different reason is indicated, contact SAS/C Technical Support.

251

NOTE: Exception thrown: exception-type
Errno value: unchanged

Explanation

A C++ exception was thrown, and the run-time option =xtrace is in effect. The exception-type value in the message text is a brief description of the type of exception thrown. For the exception types defined in the C++ standard library, the description gives the actual type, such as class std::bad_alloc. For other types, the text is either non-standard class or non-standard type if the actual exception type is not a class. In such cases, the exception type can generally be determined by inspection of the throw statement in the program.

The message is followed by a traceback of functions active at the time the exception was thrown.

Action

If the exception is unexpected, correct the program to not throw the exception.

252

NOTE: Program terminated due to uncaught exception: exception-type
Errno value: unchanged

Explanation

A C++ exception of the type indicated was thrown, and it was not caught by the program (or was rethrown after being caught). The C++ library is about to terminate the program by calling the std::terminate function. std::terminate terminates the program with a user 1210 ABEND, unless the default terminate handler is replaced by use of the set_terminate function.

The message is accompanied by a traceback of functions active at the time the exception was first thrown. If the =btrace run-time option was specified, there will also be a traceback of functions active immediately before std::terminate is called. In this case, the =btrace traceback will appear first.

Action

Correct the program to catch the exception and/or to avoid throwing the exception.

253

NOTE: std::terminate called due to reason
Errno value: unchanged

Explanation

If the reason is rethrow with no current exception, then a C++ program used a throw statement to rethrow the current exception in a situation where no current exception was defined. This is erroneous, and the C++ library calls the std::terminate function to terminate the program. Unless the default terminate handler is replaced by a program call to set_terminate, std::terminate aborts program execution with a user 1210 ABEND.

If the reason is an uncaught throw with pending catch, this indicates that the exception handling mechanism was attempting to initialize a catch handler variable but the initialization was aborted because of an uncaught exception. If the reason is an uncaught throw while unwinding a stack, this indicates that while unwinding the stack due to an exception, a destructor was called which aborted because of an uncaught exception. In these cases the exception handling mechanism handles the new exception by calling the terminate handler that was in effect at the time of the uncaught throw.

Action

In the rethrow case, correct the code to rethrow the current exception only when an exception has been caught by a handler that has not exited. In the other cases, std::uncaught_exception() can be used to detect when the exception handling mechanism is active in order to avoid further throws. More generally, it is best to avoid destructors that can throw or exception objects whose copy constructor can throw.

270

WARNING: The language language-name is not defined to the C library.
Errno value: EARG

Explanation

A call to mkfmwk or CFMWK specified a language that was unknown to the library.

Action

Check the spelling of the language. (For instance, specify PLI, not PL1.) Refer to the SAS/C Compiler Interlanguage Communication Feature User's Guide for a list of valid languages.

271

WARNING: C framework initialization failed due to lack of memory.

Explanation

A call to CFMWK failed because there was insufficient memory to initialize the C framework.

Action

Make sure the program is not incorrectly allocating memory. If it is not, then increase the amount of available memory for execution.

272

ERROR: Inter-language call failed - target language not defined.
ABEND code: 1235

Explanation

A call was made to a routine declared with the __foreign keyword but more than one user-supported language was active. No language token was passed to define the correct language.

Action

Correct the program by having only a single foreign language active or by supplying a language token as needed. Refer to the SAS/C Compiler Interlanguage Communication Feature User's Guide for more details.

273

ERROR: Unexpected termination of language framework for language-name.
ABEND code: 1233

Explanation

This message indicates an internal library error.

Action

Contact SAS/C Technical Support.

274

ERROR: Unsupported control structure used in multi-language program.
ABEND code: 1235

Explanation

An interlanguage call or return has occurred but the routine making the call or return is not consistent with the chain of routines that were active at the time of the last interlanguage call or return. This could be caused by a storage overlay.

However, it is more likely that use of a GOTO-like control structure in one language (such as the C setjmp) has terminated routines in another language. This condition can usually only be detected at the time of an interlanguage call or return; therefore, the actual error may have occurred much earlier than the point where the message was issued.

Action

Check the program for misuse of C longjmp, PL/I GOTO, etc. Also, running with the C run-time option =storage may produce useful information if a storage overlay has occurred.

275

WARNING: Unable to create language framework for language-name.
Errno value: ESYS

Explanation

The framework for the named language failed to initialize.

Action

The other language's run-time library should have generated one or more messages describing the condition that prevented initialization. Use these messages to determine how to correct the problem.

276

WARNING: Argument to dlfmwk is not a valid language token.
Errno value: EUSAGE

Explanation

An argument was passed to dlfmwk that is not a valid language token for any active language. This may be the result of an uninitialized variable. It can also occur if an attempt is made to delete a framework more times that it has been created. dlfmwk returns a nonzero value to indicate the call has failed.

Action

Check the program for one of the errors described above. See the SAS/C Compiler Interlanguage Communication Feature User's Guide for more information on dlfmwk.

277

WARNING: Unable to terminate execution of language-name.
Errno value: EUSAGE

Explanation

A call dlfmwk or DCFMWK failed because the framework could not be terminated. One or more routines in the named language may have been still executing. For example, this message is generated if a C function called from FORTRAN uses dlfmwk to attempt to delete the FORTRAN framework. A nonzero value will be returned to indicate the call has failed.

Action

Check the program for unterminated routines in the target language. For a call to DCFMWK, specify the =btrace run-time option to get a trace of still active routines.

278

WARNING: Inter-language communication not permitted for more than one coprocess.
Errno value: EUSAGE
ABEND code: 1235
ERROR: Inter-language communication not permitted for more than one coprocess.
Errno value: EUSAGE
ABEND code: 1235

Explanation

An attempt was made to create a framework or call a routine in another language in more than one coprocess. If the error is detected by mkfmwk, the message is issued as a WARNING and a zero token is returned to indicate that the framework could not be created.

If the error is detected during a call to another language, the message is issued as an ERROR and a user 1235 ABEND is issued because there is no way to communicate to the program that the call has failed.

Action

Refer to the SAS/C Compiler Interlanguage Communication Feature User's Guide for more information.

279

ERROR: Inter-language call failed - no framework created for language-name.
ABEND code: 1234

Explanation

An attempt was made to call a routine in another language when its framework had not yet been successfully created. A call to mkfmwk or CFMWK may have been omitted.

Alternately, perhaps mkfmwk or CFMWK failed and the program neglected to check for failure, in which case a previous message should describe the reason for the failure. After this message is printed, the SAS/C library issues a user 1234 ABEND.

Action

Correct the program to successfully create a language framework before calling a routine in that language.

280

WARNING: Attempt to terminate language frameworks out of order.
Errno value: EUSAGE

Explanation

Calls to dlfmwk or DCFMWK were made in an incorrect order. The language whose framework was created last must always be deleted first. A nonzero value was returned to indicate the call has failed.

Action

Correct the program to terminate frameworks in the correct order.

281

NOTE: language-name framework terminated unexpectedly - attempting to halt execution.

Explanation

The named language terminated while other frameworks were still active. There are many possible causes for this message, including the following: The SAS/C library responded to this condition by terminating all frameworks and program execution.

Action

If program termination was not intended, correct the program. For instance, perhaps a FORTRAN routine used a STOP statement when RETURN was intended, or a COBOL program used a STOP RUN when GOBACK was intended.

282

ERROR: Inter-language call or return attempted during program/process termination.
ABEND code: 1235

Explanation

The C program had begun to terminate and then attempted to call (or return to) another language. This can occur only if an interlanguage call or return is attempted after blkjmp or atexit is used to intercept program termination. This message can also occur if an interlanguage call is attempted during termination of a coprocess using blkjmp or atcoexit.

283

NOTE: Additional errors may occur due to language-name's premature termination.

Explanation

This message is generated after message 281 if the framework that terminated unexpectedly is not the framework most recently created. In this case, the unexpected termination interfered with the SAS/C framework manager's error-handling code. This interference is only temporary; if termination completes successfully, there should be no residual effects of the interference.

However, if an error or program check occurs during termination of the other frameworks, this will likely provoke a cascade of errors, with little reliable information about cause or location.

Since the possibility of errors during framework termination cannot be prevented, this message is issued before anything else can go wrong because the chances of issuing it after an error are slim.

Action

None required.

284

NOTE: Argument argument-number to language-name routine is not a supported data type.

Explanation

An argument passed to a non-C routine is of a data type not supported by the called language. For instance, a structure was passed to FORTRAN. The SAS/C library passes the argument by reference, unaltered.

Action

If the call is correct, you can inhibit this message by using an & or @ operator in the argument to pass it as a pointer.

285

NOTE: Return value from language-name routine is not a supported data type.

Explanation

The declared return value type for a non-C routine called from C is not a type supported by the called language. For instance, a PL/I routine cannot return a structure. The SAS/C library allows the call to proceed but the handling of the return value is unpredictable.

Action

If the results are not satisfactory, rewrite the interface between the languages to use a supported data type. The message can be suppressed via the quiet function, as described in the SAS/C Library Reference, Volume 1.

286

WARNING: Unable to create framework. Too many frameworks currently active.
Errno value: ELIMIT

Explanation

A library table used to contain framework information has filled up and no more frameworks can be created. This table is shared by all C programs in a virtual machine or under a single OS/390 task. The table contains entries for 20 frameworks. CFMWK stores a zero token value to indicate the failure.

Action

You can normally correct this condition by running fewer C programs simultaneously in a single virtual machine or task.

287

NOTE: Calling coprocess terminated unexpectedly - attempting to halt other languages.
Errno value: unchanged

Explanation

A coprocess (other than the main coprocess) that has created frameworks for additional languages terminated without deleting these frameworks. These frameworks are all deleted, but execution of the C program continues.

Action

No response is necessary; however, it is good practice to have the program delete the frameworks.

288

NOTE: language-name framework terminated unexpectedly - attempting to halt calling process.
Errno value: unchanged

Explanation

A language, whose framework was created by a C coprocess other than the main coprocess, terminated unexpectedly. All other non-C frameworks, and the coprocess that created them, are terminated, but other coprocesses continue to execute if there are no errors during this termination. See message 281 for a list of possible causes of unexpected framework termination.

Action

Check to be sure that termination of the non-C framework was intentional. See the Action for message 281.

289

ERROR: Inter-language call failed due to previous error - errno=code
ABEND code: 1235

Explanation

An unexpected error occurred during a call from C to a non-C routine. Previous message(s) should describe this error more fully. The code value in the message is the value stored in the errno variable by the previous error. Usually this value will be ENOMEM, indicating that there was no memory available to perform the call.

After this message is printed, the library issues a user 1235 ABEND.


300

WARNING: File not opened, print=yes cannot be specified for an update file.
Errno value: EUSAGE

Explanation

Simultaneous reading and writing of a print=yes file is not supported. Note, a file is print=yes by default if it has A in its RECFM and is opened in text mode.

Action

Correct the program. One possible workaround would be to modify the program to use binary I/O to manipulate the carriage control information in column 1 of the data records directly.

301

WARNING: Keyword "name" cannot be specified for file-type file access.
Errno value: EUSAGE

Explanation

The amparm keyword specified is not valid for the type of file being opened. Examples of invalid combinations are:
Keyed access:
print, page, pad, eof, prompt, trunc, commit
Binary access:
print, page

302

WARNING: File unusable due to previous error.
Errno value: EPREV

Explanation

A error occurred in a previous I/O request and the file's error flag has not been cleared (see clearerr and clrerr). The library cannot process this file further.

Action

Refer to the previous messages for more details. If you wish to continue using a file after an error, call the clearerr or clrerr function, as described in the SAS/C Library Reference, Volume 1.

303

WARNING: Attempt to write read-only file.
Errno value: EUNSUPP

Explanation

This is a library internal error.

Action

Report the problem to SAS/C Technical Support.

304

WARNING: File does not support seeking.
Errno value: EUNSUPP

Explanation

An attempt was made to seek using fseek. Certain file types do not support seeking, such as the terminal and SYSOUT files.

Action

See Tables 3.5 and 3.6 in SAS/C Library Reference, Volume 1, for a list of file types for which seeking is not supported.

306

WARNING: Attempt to write short record to format F file with pad=no.
Errno value: EUNSUPP

Explanation

An attempt was made to write out a partial record. A file with a fixed record format, RECFM=F, requires all records to be full-length. The library will only pad short records if the pad amparm is specified. Valid pad specifications are pad=null and pad=blank. Note, for binary files accessed using the seq access method, pad=no is assumed by default.

Action

Either correct the program to write full-length F format records, change the output RECFM, or specify an appropriate pad amparm when opening the file. Refer to "I/O Functions" in Chapter 3 of the SAS/C Library Reference, Volume 1.

307

WARNING: Invalid final argument to function-name.
Errno value: EARG

Explanation

An invalid seek type was passed to the indicated function. The functions fseek, lseek and kseek only support seek types of SEEK_SET, SEEK_CUR, and SEEK_END.

Action

Correct the erroneous call to specify a valid symbolic constant as the final argument. Refer to "I/O Functions" in Chapter 3 of the SAS/C Library Reference, Volume 1 for descriptions of specific functions.

309

WARNING: The terminal cannot be opened for update.
Errno value: EFATTR

Explanation

Opening the terminal for both reading and writing is not supported by SAS/C.

Action

To perform both input and output to the terminal, open them separately. To assume complete control of the terminal, use the SAS/C full-screen support library and window manager. For more details refer to SAS/C Full-Screen Support Library User's Guide, Fourth Edition.

310

WARNING: Improper file mode for open: text
Errno value: EARG

Explanation

The open mode passed to one of the fopen family of functions is invalid.

Action

Refer to "I/O Functions" in Chapter 3 of the SAS/C Library Reference, Volume 1, for a detailed description of the permitted open modes.

311

WARNING: Access method "name" not defined.
Errno value: EARG

Explanation

The access method passed to afopen is not defined. The access method name must be no more than four characters in length. Valid access methods are: term, seq, rel, kvs, and hfs.

This error may occur with an all-resident program if an unusual type of file is processed and appropriate symbols were not defined in the source module that includes <resident.h>. For example, you might get this message for access method kvs if RES_VSAM was not defined and the program attempted to access a VSAM file.

Action

Refer to the section "Library Access Methods" in Chapter 3 of the SAS/C Library Reference for more detail. See "All-Resident C Programs" in SAS/C Compiler and Library User's Guide, Fourth Edition, for more information on <resident.h>.

312

WARNING: Too many access method keywords specified.
Errno Value: ELIMIT

Explanation

An access method parameter string specified more than the maximum number of keywords allowed. The maximum is currently 30.

313

WARNING: Undefined file name style: style-code
Errno value: EARG

Explanation

The file name style specified in the open is invalid. Valid styles are:

Style
code
File type
cmsCMS file name
ddnDDname
dsnOS/390 data set name
hfsUNIX Systems Services HFS file
pathNFS file (on another system)
sfCMS shared file
sfdCMS shared file directory
tsoTSO file name
xedXEDIT file

This message may be generated for an all-resident program if it tries to use a file name that is supported only if an appropriate symbol is defined when including <resident.h>. For instance, an all-resident program can access files with sf style file names only if the program first defines the symbol RES_SHARED_FILE before including <resident.h>.

Action

Refer to "I/O Functions" in Chapter 3 of the SAS/C Library Reference, Volume 1, for more details. See "All-Resident C Programs" in SAS/C Compiler and Library User's Guide for more information on <resident.h>.

314

WARNING: Unknown or duplicate access method keyword: string
Errno value: EARG

Explanation

An access method parameter string was specified with an unknown keyword or a repeated keyword. The start of the incorrect text is printed in the message.

Action

Refer to"I/O Functions" in Chapter 3 of the SAS/C Library Reference, Volume 1, for information on valid amparms.

315

WARNING: Improper file pointer, file not reopened.
Errno value: EARG

Explanation

The FILE pointer argument to freopen or afreopen is not a valid FILE pointer. This message may be generated if library work areas have been overlaid.

Action

Make sure a valid file pointer is passed.

316

WARNING: Attempt to use null FILE pointer.
Errno value: ENOTOPEN

Explanation

A null FILE pointer was passed to an I/O function. This is usually the result of failing to check whether a file was successfully opened before reading or writing it.

317

WARNING: File name was not opened successfully, error flag not cleared.
Errno value: ENOTOPEN

Explanation

clearerr or clrerr was called to clear the error flag for a file, but the flag could not be cleared. The file is a standard file (stdin, stdout or stderr) that failed to open successfully. A standard file can fail to open due to an invalid redirection, an invalid specification of _stdinm, _stdonm, _stdenm, or a missing DD statement.

Action

A previous message should have explained why the file failed to open. Take the action appropriate for this message.

318

WARNING: File name was not opened successfully.
Errno value: ENOTOPEN

Explanation

One of the standard files (stdin, stdout, or stderr) failed to open successfully. This can be caused by a missing DD statement, an invalid redirection or an invalid _stdinm, _stdonm, or _stdenm specification. Another message should have been generated describing the failure.

Action

A previous message should have explained why the file failed to open. Take the action appropriate for this message.

319

WARNING: Error flag set permanently, not cleared.
Errno value: EPREV

Explanation

An attempt was made to clear the file's error flag, but the error flag had been set permanently. This occurs when an error is so severe that no recovery is possible.

Action

The only means of clearing the error flag in this case is to close and reopen the file. A previous message should explain the cause of the original error. Note, by using the function clrerr to clear the error flag, you can determine at execution time whether or not error recovery is possible.

320

WARNING: I/O not performed due to previous error.
Errno value: EPREV

Explanation

A request was made to perform I/O on a file that was in an error state. The I/O operation was not performed.

Action

After detecting an error in file use, call the clearerr or clrerr function to reset the error flag. No use of the file (other than closing it) is allowed while the error flag is set.

321

WARNING: Record contains more data than requested.
Errno Value: EFFORM

Explanation

For a call to afread, the record to be read was larger than the amount specified by the afread arguments. For a call to afwrite, an existing record was being overwritten, and the amount to be written was less than the existing record size. (This can happen only when the file has trunc=no behavior.)

Action

Correct the program to specify a large enough number of items when calling afread or afwrite. See SAS/C Library Reference description of afread and afwrite for more details.

322

WARNING: Function valid only for binary files.
Errno value: EUNSUPP

Explanation

A call was made to afread or afwrite to access a file that was opened for text. These functions are only valid for files opened in binary mode.

Action

See the SAS/C Library Reference description of afread and afwrite for more details.

323

WARNING: Record does not contain an integral number of items
Errno value: EFFORM

Explanation

This message indicates that fread or afread was called to read items whose size was greater than 1, but the amount of data read was not an even number of items. For instance, reading 2 integers (size 4) from a file containing six bytes of data would cause this message to be generated.

Action

Correct the program, or correct the input data to conform to the program's requirements. Note that the second argument to fread or afread is the item size, and the third argument is the count. If you code afread(buf, 6000, 1, fileptr), the call will fail unless the next input record is exactly 6000 bytes long. If you code afread(buf, 1, 6000, fileptr), you can successfully read any record whose length is 6000 bytes or less.

324

WARNING: Record too small to contain all items.
Errno value: EFFORM

Explanation

A request was made using afwrite to output more data than could be contained in a single record.

Action

Increase the output file's record size, or correct the program to write smaller records. See SAS/C Library Reference description of afwrite for more details on the behavior of afwrite.

325

WARNING: File not open for input.
Errno value: EUNSUPP

Explanation

A request was made for input from a file that was not opened for input. The file's error flag is set.

326

WARNING: File not open for output.
Errno value: EUNSUPP

Explanation

A request was made for output to a file that was not opened for output. The file's error flag is set.

327

WARNING: File does not support rewind.
Errno value: EUNSUPP

Explanation

An attempt was made to rewind a file that does not support rewind. The file's error flag is set.

Action

See Table 3.6 in SAS/C Library Reference, Volume 1, for information on file types for which seeking is restricted.

328

WARNING: File does not support fseek.
Errno value: EUNSUPP

Explanation

An attempt was made to seek on a file that does not support seeking. The file's error flag is set.

Action

See Table 3.6 in SAS/C Library Reference, Volume 1, for information on file types for which seeking is restricted.

329

WARNING: File does not support seek to EOF.
Errno value: EUNSUPP

Explanation

A request was made to seek to end of file on a file (for instance, a PDS member) that does not support seeking to EOF. The file's error flag is set.

Action

See Table 3.6 in SAS/C Library Reference, Volume 1, for information on file types for which seeking is restricted.

330

WARNING: No more characters can be pushed back.
Errno value: EUSAGE

Explanation

An attempt was made to push back more characters with ungetc than can be supported by SAS/C. The ISO/ANSI standard states that only one character of pushback can be guaranteed. SAS/C allows more than one character to be pushed back when each character pushed back matches the character read from that position, except at the start of a record.

Action

Refer to the SAS/C Library Reference description of ungetc for more details.

331

WARNING: Value to be pushed back is not a valid character.
Errno value: EARG

Explanation

The argument to ungetc is neither a valid character or EOF. (That is, it is an integer outside the range of the char data type.)

Action

Correct the program to pass a char value or EOF.

333

WARNING: Read rejected, last file operation was a write.
Errno value: EUSAGE

Explanation

An input request was rejected because the last file operation was a write. The ISO/ANSI standard requires that a seek or flush operation be performed between write and read requests.

Action

Correct the program to call fseek(file, 0, SEEK_CUR) or (fflush(file) between the output operation and the input operation.

334

WARNING: Write rejected, last file operation was a read.
Errno value: EUSAGE

Explanation

An output request was rejected because the last file operation was a read. The ISO/ANSI standard requires that a seek operation be performed between read and write requests unless the read detected end of file.

Action

Correct the program to call fseek(file, 0, SEEK_CUR) between the output operation and the input operation.

335

WARNING: Read rejected, file name is a write-only file.
Errno value: EUNSUPP

Explanation

An input request was rejected because the file named in the message was opened as a write-only file.

Action

Either open the file for reading as well as writing, or correct the program not to read from the file.

336

WARNING: Write rejected, file name is a read-only file.
Errno value: EUNSUPP

Explanation

An output request was rejected because the file named in the message was opened as a read-only file.

Action

Either open the file for writing as well as reading, or correct the program not to write to the file.

337

WARNING: Write rejected, file must be positioned to start before writing.
Errno value: EUSAGE

Explanation

To switch between input and output modes, the program must be at the beginning of file for certain files, notably OS/390 PDS members. If this restriction is violated, the requested operation is not performed and the error flag is set for the file.

Action

See Table 3.6 in SAS/C Library Reference, Volume 1 for information on file types for which seeking is restricted.

338

NOTE: File to be opened does not support print format output, print=yes ignored.
Errno value: unchanged

Explanation

The file to be opened does not have a RECFM (record format) that includes A (ANSI carriage control), and therefore the print=yes amparm cannot be supported. The open attempt will continue ignoring print=yes.

Note that the standard file stdout is opened by the library using the amparm print=yes. Therefore, this message may be issued for stdout if the file's RECFM does not include A, even though stdout is not explicitly opened by the program.

Action

None is required. However, to avoid the message either use a file capable of being printed or remove the print=yes amparm.

If the message is issued for stdout, you can use the external variable _stdoamp to override the library's amparms for this file. For example, you can code char *_stdoamp = "" to specify that stdout should be opened without any amparms.


339

WARNING: Write rejected, length of existing record cannot be changed.
Errno value: EUSAGE

Explanation

An attempt was made to change a text file's record structure by changing a new line character to an ordinary character or changing an ordinary character to a new line. An example is trying to replace the text abcn with ancn or abcd. The first attempts to replace one record with two, the second attempts to combine this record and the next record. The error flag is set for the file.

Note, this condition occurs only for trunc=no files, since with a trunc=yes file, the file is truncated at the point of output, and therefore the length of the last record can be changed.

Action

Correct the program either to open the file for binary access or to preserve the file's record structure. For CMS minidisk files that support both trunc=yes and trunc=no, consider using trunc=yes.

340

WARNING: Improper value for access-method keyword: keyword=value.
Errno value: EARG

Explanation

An invalid value for the access-method keyword keyword was specified in an amparms string. Valid access-method keywords and their values are:
keyword
value
org
ps, os, po, pds, pdse, ks, es, rr, ls, byte
pad
no, null, blank
commit
no, yes
recfm
f, v, u
alcunit
trk, block, cyl, rec, krec, mrec
trunc
yes, no
grow
yes, no
rlse
yes, no
print
yes, no
order
seq, random
share
rls, rlsread, alloc, ispf

Valid access-method keywords with numeric (integer) values are:

  reclen    bufmax   keyoff  
  blksize   space    bufnd   
  page      extend   bufni   
  bufsize   dir      bufsp   
  buflim    keylen           
The reclen parameter may also be specified as reclen=x.

Action

Correct the amparm. See SAS/C Library Reference, Volume 1, for more information on amparms.

341

NOTE: The keyword keyword is ignored when opening a file-type file.
Errno value: unchanged

Explanation

The amparm keyword cited cannot be honored for the type of file being opened, so the keyword is ignored. Some invalid keyword/file combinations are:

Action

Remove the amparm.

342

WARNING: Internal error locating end of relative file.
Errno value: ELIBERR

Explanation

The library was unable to correctly locate the end of file. This could be caused by invalid file sharing.

Action

Refer to IBM messages listed in the job log for other information, and contact SAS/C Technical Support.

343

WARNING: Record record-number of file does not have the correct length.
Errno value: ESYS | ECORRUPT

Explanation

The length of a record was not consistent with the record format of the file. This could be caused by using JCL DCB parameters to tell the library that a file was suitable for rel access when it fact it was not. The error flag is set for the file.

Action

The presence of a wrong-length record in a relative file may cause incorrect file positioning among other errors. Therefore, if you receive this message, you should be suspicious of the correctness of any I/O to the file after the incorrect record.

Refer to IBM messages listed in the job log for other information, and contact SAS/C Technical Support for further assistance if this condition is not associated with overriding the file's DCB parameters.


344

WARNING: Internal ERROR: end of file occurred prematurely.
Errno value: ELIBERR

Explanation

End of file occurred unexpectedly while the library was processing a file opened for UNIX-style I/O. This could be caused by several users trying to access the same file simultaneously, which is generally not supported by OS/390 or CMS. In other circumstances, it is a SAS/C library internal error.

Action

Contact SAS/C Technical Support.

345

WARNING: File "name" not opened, read-only conflicts with truncate/exclusive.
Errno value: EARG

Explanation

When a file was opened using the open function for read-only access, one of the open options O_TRUNC or O_CREAT|O_EXCL was specified. These options are supported only for files that allow writing. The open failed.

Action

Correct the program to remove the unsupported options or to specify writing.

346

WARNING: File "name" not opened for exclusive access. File already exists.
Errno value: EEXIST

Explanation

The file to be opened already exists, but the open call required a non-existing file due to the use of O_CREAT|O_EXCL. The open failed.

Action

Assure that the file to be opened does not exist, or change the call to open not to specify O_EXCL.

347

WARNING: File "name" not opened, creation of temporary copy failed.
Errno value: various

Explanation

A file was opened that could not directly support UNIX-style I/O. For these files, the library creates a temporary file into which the file to be opened is copied. This temporary file failed to open. This failure is described by a previous message.

Action

Take whatever action is appropriate for the previous message. See Chapter 3, "I/O Functions" in SAS/C Library Reference, Volume 1, for more information on the SAS/C UNIX-style I/O implementation.

348

WARNING: operation rejected, file position unknown due to a previous error.
Errno value: EPREV

Explanation

The file position is unknown because of a previous error. This may be caused by an error occurring in a previous call to lseek or in any other operation that issued a seek.

Action

The problem can be corrected by calling lseek to set the file position to a previously determined location.

349

WARNING: Write suppressed due to previous read error.
Errno value: EPREV

Explanation

A write request using UNIX-style I/O failed due to a previous read error. Failing subsequent writes protects a partially unreadable file from further damage.

Action

Correct the previous read error, for which a previous message should have been issued.

350

WARNING: Open failed, too many open files.
Errno Value: ELIMIT

Explanation

The maximum number of files were opened simultaneously. The SAS/C library allows up to 256 files to be open at once. However, note that any call to open for a file that is not suitable for rel access creates two open FILE pointers.

Action

Correct the program to use fewer open files at one time.

351

WARNING: File to be closed is not a valid open file.
Errno value: EUSAGE

Explanation

An attempt was made to close a FILE pointer that has already been closed, was never opened, or contains a corrupt FILE pointer value. If this message is received during program termination, it generally means that FILE pointers maintained by the library and used at program termination to close all open files have been corrupted. These FILE pointers are stored in the PRV (pseudo-register vector) for the main program load module. The most likely cause of such corruption is writing beyond the bounds of a __rent static or extern item.

Action

If the message was generated for a call to fclose, correct the argument to fclose. If the message is issued during program termination, check the program source for storing outside the bounds of extern or static data. Variables stored in the PRV immediately before the library pseudo-register L$CXGIOT are the most likely to be at fault. (A mapping of the PRV can be obtained from CLINK if the CLINK PREM option is used, and from the linkage editor if PREM is not used.)

352

WARNING: No more temporary files can be opened.
Errno value: ELIMIT

Explanation

A maximum of 255 temporary files can be opened simultaneously. This limit has been reached. Note that temporary files are opened by the library when UNIX-style I/O is requested for a file that does not support rel access, as well as when the tmpfile function is called.

Action

Change the program's logic so that fewer temporary files are open simultaneously.

353

WARNING: Open failed, trunc=value not supported for this file.
Errno value: EFATTR

Explanation

Certain file types do not support trunc=yes: VSAM, CICS Intrapartition transient data queues, CICS spool files, CMS shared files, and UNIX Systems Services HFS files.

Certain file types do not support trunc=no: OS/390 PDS members and sequential data sets, including OS sim (file mode 4 and tape) files under CMS, except for those suitable for rel access opened as binary. However, if grow=no is used with these file types, only trunc=no is supported.

Action

Correct the program. For more information regarding the trunc amparm refer to the SAS/C Library Reference, Chapter 3, "I/O Functions."

354

WARNING: I/O interrupted by signal, data may be lost.
Errno value: EINTR

Explanation

A signal was received during an I/O operation, and a signal handler performed I/O to the same file or used longjmp to avoid returning to the point of interrupt. This leaves the file in an uncertain state, and an interrupt flag is set that prevents further I/O to the file until clearerr is called.

Action

Avoid use of files within signal handlers, and avoid the use of longjmp for signals that may occur while a library I/O function is running. If these cannot be avoided, add calls to clearerr as necessary to allow I/O to continue.

355

WARNING: Invalid text in access method parameter string: text
Errno value: EARG

Explanation

An item in the amparm string did not contain an equal sign. All amparms must have the form "keyword=value." Note that the syntax does not allow an amparm value to contain a comma.

356

WARNING: Open failed, trunc=yes not supported by UNIX style I/O.
Errno value: EUSAGE

Explanation

UNIX I/O is by nature not truncating. An attempt to use trunc=yes with binary UNIX-style I/O is not allowed.

Action

For more details on UNIX-style I/O and its implementation under OS/390 and CMS refer to SAS/C Library Reference, Chapter 3, "I/O Functions."

357

WARNING: Open failed, grow=no is not compatible with the open mode.
Errno value: EUSAGE

Explanation

In a call to aopen, the amparm grow=no was specified, but a conflicting open mode option was also set: one or more of O_TRUNC, O_APPEND or O_CREAT. The file was not opened.

Action

Remove the conflicting open mode settings, or remove grow=no from the amparms. For more details on the grow=no amparm, refer to SAS/C Library Reference, Chapter 3, "I/O Functions."

358

WARNING: File not opened, the "keylen" amparm was specified for a text or binary stream.
Errno value: EUSAGE

Explanation

The keylen access method parameter is valid only for VSAM files. If specified for a non-VSAM or LDS data set the keylen value must be 0.

Action

Correct the program or JCL so that a VSAM file is accessed, or modify the program not to specify a keylen other than 0. For more details on the keylen keyword refer to SAS/C Library Reference, Chapter 3, "I/O Functions."

359

WARNING: This file is too large to process with the "rel" access method.
Errno value: EFATTR

Explanation

A file opened for access using the rel access method is larger than (2[32]-2) bytes. Because the file position is stored in a full word and the bit pattern 0xffffffff is reserved for an error indication, the file cannot be opened.

Action

Modify the application to allow the large file to be split into several files, or use the afopen function to force the use of the seq access method.

360

WARNING: Output to file name lost due to previous error.
Errno value: EPREV

Explanation

When a file opened for UNIX-style I/O was closed, the new file contents from the library's work file were not copied to the user's file. Due to this error, some data could not be copied.

Action

Refer to previous library messages and any IBM messages written to the job log for additional information on the failure, and take appropriate action.

361

WARNING: I/O failure, the file position has overflowed.
Errno value: ELIMIT

Explanation

An lseek or fseek caused the effective file position to become negative or greater than 2[32].

362

WARNING: File does not support ftell except at start of record.
Errno value: EUNSUPP

Explanation

For certain files accessed as binary (notably VSAM ESDS clusters), ftell is supported only when the file is positioned at the beginning of a record.

Action

Correct the program to use ftell only at record boundaries when processing a VSAM ESDS. See Table 3.6 in SAS/C Library Reference, Volume 1, for information on file types for which seeking is restricted.

363

WARNING: The file position cannot be accurately returned as a long integer.
Errno value: ERANGE

Explanation

The library was unable to successfully convert the file position to a long integer, the return type of the ftell function. This indicates that the file being processed is too large or has records that are too large to allow all possible file positions to be returned successfully. See the "File Positioning" section in Chapter 3 of SAS/C Library Reference, Volume 1, for a detailed discussion of how file positions are transformed into long values.

Action

A possible alternative is to use fgetpos/fsetpos instead of ftell/fseek for files using standard I/O.

364

WARNING: File does not support seeks relative to EOF.
Errno value: EUNSUPP

Explanation

An attempt was made to seek on a file accessed using the seq access method with an offset from end of file other than 0. This is not supported.

Action

If it is necessary to seek relative to end of file, access the file using the rel access method, or use UNIX-style I/O. See Table 3.6 in SAS/C Library Reference, Volume 1, for information on file types for which seeking is restricted.

365

WARNING: File does not support seeks relative to current position.
Errno value: EUNSUPP

Explanation

An attempt was made to seek on a file opened for text access using a nonzero offset relative to the current position. This is not supported.

Action

If seeking relative to the current position is required, consider whether the program can be modified to use binary access and the rel access method. See Table 3.6 in SAS/C Library Reference, Volume 1, for information on file types for which seeking is restricted.

366

WARNING: Seek failed, current file position unknown due to previous error.
Errno value: EPREV

Explanation

An attempt was made to seek relative to the current file position. Due to a previous error the file position is unknown and cannot be used to reposition the file.

Action

Correct the previous error or reposition the file to a previously determined location.

367

WARNING: I/O request failed due to a previous seek error.
Errno value: EPREV

Explanation

An I/O request was made that could not be completed because the file position was unknown due to a previous seek failure. A separate diagnostic should have been generated by the previous failure.

Action

Use the fseek, fsetpos or rewind function to define a valid file position after a seek failure.

368

WARNING: File does not support ftell.
Errno value: EUNSUPP

Explanation

The file or access method does not permit the use of ftell. For instance, ftell cannot be used with a file open for binary access unless its return value is the number of bytes from the start of file. Most files do not permit this value to be readily computed.

Action

Consider using fgtepos rather than ftell, which is supported for more kinds of file. See "File Positioning" in the SAS/C Library Reference, Volume 1.

369

WARNING: File not opened, grow=no is valid only for a file opened with r+.
Errno value: EUSAGE

Explanation

The amparm grow=no is incompatible with all open modes other than r+.

Action

Correct the program by removing grow=no from the amparms, or opening the file for r+. For more details on the grow=no amparm, refer to SAS/C Library Reference, Chapter 3, "I/O Functions."

370

WARNING: File not opened. grow=no and trunc=yes are conflicting options.
Errno value: EUSAGE

Explanation

The grow=no and trunc=yes access method parameters are incompatible. The file is not opened.

Action

Remove one of the two amparms.

371

WARNING: Attempt to extend file opened with grow=no.
Errno value: EUSAGE

Explanation

A file opened using the grow=no amparm cannot be extended. The existing data can be changed; however, adding new data is not permitted.

Action

Do not use the grow=no amparm if you intend to add new data to a file. For more details on the grow=no amparm refer to SAS/C Library Reference Chapter 3, "I/O Functions."

372

WARNING: File not opened. commit=no is not supported for this file type.
Errno value: EFATTR

Explanation

The commit=no amparm is supported only for files in the CMS shared file system, or files accessed via binary UNIX-style I/O.

Action

Use the commit=yes keyword only in situations where it is supported. For more details on the commit=no amparm, refer to SAS/C Library Reference Chapter 3, "I/O Functions."

373

NOTE: The argument to function-name did not point to a valid open file.
Errno value: unchanged

Explanation

The argument to the function indicated did not point to a valid open file. The file may have failed to open, or the argument may have been overlaid. This message is associated with file inquiry functions like fattr and fnm. After the message the function returns a degenerate value (e.g., the address of an all-zero struct fattrib object for fattr).

Action

Correct the program to pass a valid FILE pointer.

375

WARNING: afflush rejected, last file operation was a read.
Errno value: EUSAGE

Explanation

The afflush request was rejected because the last file operation was a read. Because afflush is considered an output operation, a seek must be performed between a read and a call to afflush.

Action

A call to afflush following a read request is highly unusual and may indicate a logic error. If the order of operations is correct, add a call to fseek(file, 0, SEEK_CUR) before the call to afflush.

376

WARNING: afflush failed, file not positioned to end of record.
Errno value: EUSAGE

Explanation

For some file types it is not possible to perform an afflush unless the file is positioned to the end of a record. For instance, this is the case for files opened with the amparm trunc=yes.

Action

Modify the program logic so that afflush is used only when positioned to the end of a record. For more information on afflush, see the function description in SAS/C Library Reference, Volume 1.

377

WARNING: Unable to write zero-length record to this file.
Errno value: EUNSUPP

Explanation

An attempt was made using the afwrite function to write a zero-length record to a file that does not support zero-length records. Nothing is written and the error flag is set for the file.

Action

Make sure that the output file supports zero-length records (for example, an OS/390 RECFM VB file) before attempting to write one.

378

NOTE: Buffered input data discarded.
Errno value: unchanged

Explanation

The fflush function was called for an UNIX Systems Services input file which does not support seeking, such as the terminal or a pipe. The call to fflush is successful, but one or more characters of input data were lost.

Action

Avoid the use of fflush on input files, or use the quiet function to suppress the diagnostic.

379

WARNING: I/O failure, record number too large.
Errno value: ELIBERR

Explanation

The rel access method detected an impossible record number during processing. This could occur processing a file larger than 2[32]-2 bytes sequentially. Files this size are not supported by the rel access method.

Action

If the file is smaller than the supported maximum, contact SAS/C Technical Support. If the file is too large, process it using the seq access method. See SAS/C Library Reference, Volume 1, for more information on library access methods.

380

WARNING: Attempt to access non-standard stream with standard I/O function.
Errno value: EUSAGE

Explanation

An attempt was made to access a non-standard stream, such as a stream opened using open mode 'k', with an unsupported standard I/O function.

Action

See the section "VSAM I/O" in Chapter 3 of the SAS/C Library Reference, Volume 1, for a list of the standard I/O functions that can be used with a keyed stream.

381

WARNING: Attempt to use keyed access to a non-keyed stream.
Errno value: EUSAGE

Explanation

An attempt was made to call a keyed I/O function such as kretrv for a text or binary stream.

382

WARNING: This file does not permit searching.
Errno value: EUNSUPP

Explanation

An attempt was made to call ksearch for a stream that did not permit searching. Searching is permitted only for keyed streams that allow reading. In particular, a stream opened for wk or ak does not permit searching.

383

WARNING: Search key length is greater than file key length.
Errno value: EARG

Explanation

The length of the key passed to ksearch is longer than the key length of the VSAM file. The request fails and the file's error flag is set.

Action

Correct the call to ksearch.

384

WARNING: Replace/delete rejected, file opened for append.
Errno value: EUSAGE

Explanation

A keyed file opened for append (open mode ak or a+k) does not support replacement or deletion of records. If this is required, the file should be opened with r+k or w+k.

Action

Correct the program.

385

WARNING: Replace/delete rejected, current record not defined.
Errno value: EUSAGE

Explanation

Before a VSAM record can be replaced or deleted, it must be retrieved using the kretrv function.

Action

Correct the program to retrieve a record before it attempts to delete or replace it.

386

WARNING: Replace/delete rejected, current record not retrieved for update.
Errno value: EUSAGE

Explanation

The most recently retrieved record from a VSAM file was retrieved with K_noupdate specified. The record must be retrieved for update before it can be replaced or deleted.

Action

Correct the program.

387

WARNING: Record not replaced, the key has been changed.
Errno value: EUSAGE

Explanation

It is not permitted to replace a record with another record that has a different key.

Action

Correct the program. The effect of replacing a record and changing its key can be achieved by adding the replacement record and then deleting the old record.

388

WARNING: Record not written, too large for file.
Errno value: EUSAGE

Explanation

A call to kreplace or kinsert specified a record that was larger than permitted by the file.

Action

Correct the program, or use a VSAM file with a larger maximum record length.

389

WARNING: Record not written, does not contain complete key.
Errno value: EUSAGE

Explanation

The record to be added or replaced was so small that some bytes of the key field were not present. The record was not written and the file's error flag is set.

390

WARNING: Record not deleted, specified key does not match.
Errno value: EUSAGE

Explanation

A call to the kdelete function was made that specified a key different from the key for the currently retrieved record. The record was not deleted, and the file's error flag was set.

Action

Correct the program. If this check is not wanted, modify the program to pass NULL as the key pointer to kdelete.

391

WARNING: This file does not permit records to be deleted.
Errno value: EUNSUPP

Explanation

The file did not allow deletion of records. In particular, it is not possible to delete records from an ESDS or from a path whose base cluster is an ESDS.

Action

If deletion of records is required, switch to some other kind of VSAM cluster.

392

WARNING: Position information unavailable for this file.
Errno value: EUNSUPP

Explanation

This condition should never occur.

Action

Report this message to SAS/C Technical Support.

393

WARNING: File position not meaningful, current record not defined.
Errno value: EUNSUPP

Explanation

A call to the ktell or kgetpos function requested position information about the current record. If there was no current record (that is, if the previous action on the file was not a call to kretrv), then the call fails.

Action

Correct the program to call ktell or kgetpos only after a record has been retrieved.

394

WARNING: This file does not support backwards inexact searches.
Errno value: EUNSUPP

Explanation

A ksearch call was made that specified K_backwards but not K_exact. These searches cannot be supported for files that allow duplicate keys.

Action

Modify the logic of the program, or use a file that does not permit duplicate keys.

395

WARNING: This file does not support inexact searches.
Errno value: EUNSUPP

Explanation

A ksearch call was made that did not specify K_exact. The actual file is an ESDS that only supports exact searches.

Action

Correct the program, or use another type of cluster that supports inexact searches.

396

WARNING: This file does not support generic key searches.
Errno value: EUNSUPP

Explanation

A ksearch call was issued that specified a generic key, but the file does not support generic searches. Generic searches are supported only for a VSAM KSDS.

Action

Correct the program, or use a KSDS rather than an ESDS or RRDS.

397

WARNING: Searching not supported for output-only file.
Errno value: EUNSUPP

Explanation

VSAM files support searching only when the open mode allows reading.

Action

Open the file for r+k, w+k, or a+k rather than wk or ak.

398

WARNING: Library internal error, keyed file has zero length key.
Errno value: ELIBERR

Explanation

This is either a library internal error or an indication that library control blocks have been corrupted.

Action

Contact SAS/C Technical Support.

400

WARNING: File buffer not allocated.
Errno value: EUSAGE

Explanation

This is a library internal error.

Action

Contact SAS/C Technical Support.

401

WARNING: Operation not supported.
Errno value: EARG | EUNSUPP

Explanation

An unsupported request has been made for I/O to a terminal input file. This is a library internal error.

Action

Contact SAS/C Technical Support.

402

WARNING: Requested file number already associated with an open file: file-number
Errno value: EUSAGE

Explanation

A request to open a file with SAS/C file number file-number failed because the file number was already assigned to another open file. This is an internal library error.

Action

Contact SAS/C Technical Support.

403

WARNING: Buffer length too small for amput.
Errno value: EUSAGE

Explanation

During file output, the number of characters written was greater than the size of the file's buffer. This is an internal library error.

Action

Contact SAS/C Technical Support.

404

WARNING: Descriptor file-number is not associated with an open file or socket.
Errno value: EBADF

Explanation

A call to a UNIX-style I/O function specified a file descriptor that was not associated with an open file or socket. This error may be the result of not checking a call to open or socket for failure. It may also be caused by overlaying a variable containing a file descriptor.

Action

Correct the program to use valid file and socket numbers.

405

WARNING: File open for append not positioned to end of file before output.
Errno value: EUSAGE

Explanation

A file opened for append was not positioned properly to end of file. This is an internal library error.

Action

Contact SAS/C Technical Support.

406

WARNING: Old file name and new file name style prefixes are incompatible.
Errno value: EUSAGE

Explanation

A call was made to the rename functions using different file name styles for the old and new names. This is not permitted.

Action

For more information on file style prefixes, refer to Chapter 3, "I/O Functions" in SAS/C Library Reference, Volume 1.

407

WARNING: Attempt to update record not retrieved for update.
Errno value: EUSAGE

Explanation

This is an internal library error in kreplace.

Action

Contact SAS/C Technical Support.

408

WARNING: Seek with non-zero offset not supported for keyed file.
Errno value: EUNSUPP

Explanation

This is an internal library error.

Action

Contact SAS/C Technical Support.

409

WARNING: File position not defined, no record retrieved.
Errno value: EUSAGE

Explanation

This is a library internal error in ktell or kgetpos.

Action

Contact SAS/C Technical Support.

410

WARNING: Unable to retrieve record located by previous search.
Errno value: ELIBERR

Explanation

An attempt was made to search for or get an input record from a keyed file, but the record, which had been located previously, can no longer be found. This is an internal library error.

Action

Contact SAS/C Technical Support.

411

WARNING: Unsupported direction change for file with duplicate keys.
Errno value: EUNSUPP

Explanation

While processing a file that allows duplicate keys, an attempt was made to change the direction of retrieval. That is, a call kretrv specifying K_backwards was made after a call that did not specify K_backwards, or vice versa. For files with duplicate keys, you can only change the direction using a successful call to ksearch.

Action

Correct the program, or run the program with files that do not allow duplicate keys. For more information on VSAM processing refer to Chapter 3, "I/O Functions" in SAS/C Library Reference, Volume 1.

412

WARNING: Unable to retrieve record due to previous failed search.
Errno value: EPREV

Explanation

Positioning in a VSAM file that permits duplicate keys is lost after any failure in a backwards search. A successful call to ksearch must occur before any more records can be retrieved.

Action

Perform a successful ksearch before attempting to retrieve any more records if a ksearch call specifying K_backwards fails.

430

WARNING: File type does not permit action.
Errno value: EUSAGE

Explanation

An attempt was made to perform the indicated action on a file whose device type does not permit that action.

Action

Contact SAS/C Technical Support.

431

WARNING: Second argument to access is not a valid access mode.
Errno value: EARG

Explanation

The access mode that was passed as the second argument to the access function was invalid. Valid access modes are R_OK (check for read access), W_OK (check for write access), 0 (check for existence), and R_OK | W_OK (check for read and write access). For UNIX Systems Services HFS files, X_OK (check for execute access) is also honored.

Action

Use a valid symbolic value as the second argument to access. See the access function description in SAS/C Library Reference, Volume 1.

460

WARNING: name function not implemented by TCP/IP software.
Errno value: ENOSYS

Explanation

A socket function was called that is not supported by the socket implementation. For instance, the givesocket function is not supported by UNIX Systems Services integrated sockets.

Action

Do not use the unsupported function, or use the setsockimp function to select an implementation that supports the function. See SAS/C Library Reference, Volume 2, for more information on setsockimp.

461

WARNING: Socket implementation has already been determined.
Errno value: EUSAGE

Explanation

A call was made to the setsockimp function, but the socket implementation had already been determined. Only one call to setsockimp is permitted, and it must precede all other socket calls.

462

WARNING: Unable to load specified socket implementation: name
Errno value: EARG

Explanation

The library was unable to load the requested TCP/IP implementation load module. The failure should be described by a previous message. Perhaps the implementation name is misspelled, or perhaps the MVS library or CMS minidisk containing the load module is not accessible.

Action

Contact your local Systems Programming Staff to make sure you are following local procedures for access to the correct software.

463

NOTE: Socket implementation has been determined via Environment Variable [VARIABLE=VALUE].
Errno value: unchanged

Explanation

This is an informational message generated when a call to the library function setsockimp has been overridden with an environment variable.

470

WARNING: Vendor-specific TCP/IP error condition (name).
Errno value: ESYS

Explanation

An error condition named by name was set by the TCP/IP vendor's software for a function error return that is not recognized or mapped by the SAS/C TCP/IP library.

Action

Consult the TCP/IP vendor's documentation for an explanation of the error condition named.

471

WARNING: TCP/IP software is down. Reason: text.
Errno value: ENETDOWN

Explanation

IBM TCP/IP software is not running. Either it has never been started, or has gone down and is currently unavailable.

Action

If IBM TCP/IP has been installed at your site, run the program again when TCP/IP has been started and available. This message can also be the the result of supplying (or defaulting to) the wrong TCP/IP address space name. The correct name can be supplied in a number of different ways. Refer to SAS/C Library Reference, Volume 2, for details.

Otherwise, insure that your site's TCP/IP vendor supplied LSCNCOM module is found in the SAS/C library transient search order before the IBM TCP/IP version of the LSCNCOM load module shipped with the SAS/C transient library.


472

WARNING: Socket level not supported by TCP/IP software.
Errno value: ENOPROTOOPT

Explanation

A level argument other than SOL_SOCKET was passed to the getsockopt or setsockopt function.

473

WARNING: TCP/IP software caused unrecoverable socket library failure.
Errno value: ESYS

Explanation

Further socket library processing was attempted after a previous TCP/IP software failure placed the socket library in an unrecoverable state.

Action

This is a secondary message. Action should be directed toward resolving problems associated with previous error messages. The socket library unrecoverable state can be reset by terminating and reinitializing the current SAS/C environment or by calling the socktrm function.

474

WARNING: Internal failure in socket library. Reason: text.
Errno value: ELIBERR

Explanation

An internal error occurred in the SAS/C socket library or a critical internal function call failed. The usual reasons for these internal failures are errors returned by IUCV functions dealing with path establishment or message exchanges with the TCPIP address space.

Common failures include iutpset rc=1 and/or iutpconn return code = -1, which indicate a problem establishing IUCV communication with the TCP/IP address space. These conditions are known to occur in association with products that run multiple job steps in a single address space, such as some popular TSO multi-session products, if more than one of the job steps attempts to run a socket application.

Another failure that is occasionally seen is iutpset rc=4 or iutpset rc=5, which indicates a memory protection or addressing exception has occurred in IBM TCP/IP IUCV Platform code attempting to establish the IUCV path.

Most other failures are rare and SAS/C Technical Support should be contacted for assistance.


476

NOTE: TCP/IP virtual machine is: name.
Errno value: unchanged

Explanation

This is an informational message note generated in conjunction with other run-time TCP/IP error messages relating to IUCV communication failures with the named virtual machine or OS/390 address space name.

Action

Take action based upon other run-time error messages.

477

NOTE: CMSIUCV macro failed. RC=code-number.
Errno value: unchanged

Explanation

A CMSIUCV macro returned return code code-number. This run-time message is most commonly seen when the CMSIUCV macro fails attempting the CONNECT operation to the TCP/IP virtual machine.

Action

Consult the appropriate manual for your system (VM/ESA CMS Application Development Reference or VM/SP System Facilities for Programming) for an explanation of CMSIUCV macro return code.

478

NOTE: IUCV error. IPRCODE=code-number.
Errno value: unchanged

Explanation

An IUCV macro completed and stored a failing IPRCODE. Note, this run-time message is analogous to 477, but applies to MVS IUCV platforms. The message is most commonly seen when an IUCVMCOM (OS/390 IUCV Platform macro) CONNECT fails.

Action

Consult the appropriate IBM OS/390 TCP/IP programmers reference for an explanation of the IUCV return code. Alternatively, consult VM/ESA CP Programming Services or VM/SP System Facilities for Programming, since many of the IUCV IPR codes for OS/390 TCP/IP IUCV Platform Support are not currently documented in the TCP/IP Programmer's Reference.

479

WARNING: Session with TCP/IP software timed out.
Errno value: ESYS

Explanation

The TCP/IP address space/virtual machine has failed to return a response to the library IUCV message handler before it timed out.

Action

Determine the cause for the non-responsiveness of the TCP/IP address space or virtual machine.

480

WARNING: Socket file descriptor descriptor-number is not open.
Errno value: EBADF

Explanation

The file descriptor that was passed to a socket function was not the number of a valid open socket. Perhaps the program failed to check the return value from the socket function.

481

WARNING: function-name does not support socket operations.
Errno value: EUNSUPP

Explanation

A UNIX-style I/O function, such as lseek, which is valid for file descriptors, but not for socket descriptors, has been called for a socket.

482

WARNING: I/O buffer buffer-number [count | length] is invalid.
Errno value: EINVAL

Explanation

The library detected an error in the buffer count for a TCP/IP vector I/O function call readv or writev, or the I/O buffer length is invalid (for a socket function that has a buffer length parameter).

Action

Determine the cause within the application and correct the invalid buffer count or length.

483

WARNING: Error condition set by TCP/IP software.
Errno value: various

Explanation

An error condition was detected and returned by the system TCP/IP software, causing a value to be stored in the errno variable.

Action

Examine the failing function and the value of the errno variable for more diagnostic information.

484

WARNING: File descriptor (number descriptor-number) for socket rendered unusable by TCP/IP software failure.
Errno value: ECONNABORTED

Explanation

The TCP/IP software placed the socket descriptor in an ABORTED state.

485

WARNING: SAS/C sockets support only TCP/IP (AF_INET).
Errno value: EAFNOSUPPORT

Explanation

An addressing family other than AF_INET was specified. Only AF_INET is supported for non-integrated sockets.

Action

Change the program to specify AF_INET. If you are using integrated sockets, AF_UNIX may also be specified.

486

WARNING: value is an incorrect socket address length for AF_INET.
Errno value: EINVAL

Explanation

The length of the socket address passed to bind, connect, or as part of the message header for sendmsg does not match the required length of sizeof(struct sockaddr_in).


487

WARNING: F_SETFD must be 0 or 1.
Errno value: EINVAL

Explanation

The third argument for the fcntl function must be 0 or 1 when the second argument is F_SETFD and the first argument is a socket descriptor.

488

WARNING: fcntl command unrecognized or not valid for socket.
Errno value: EINVAL

Explanation

A call to fcntl for a socket specified an unsupported command or option. Only the commands F_GETFD, F_SETFD, F_GETFL and F_SETFL are supported, unless UNIX Systems Services integrated sockets are used.

Action

See SAS/C Library Reference, Volume 1, for more information on the fcntl function.

489

WARNING: parameter-name parameter cannot be NULL.
Errno value: EINVAL

Explanation

An invalid NULL pointer was passed to the indicated function.

490

WARNING: parameter-name parameter cannot be negative.
Errno value: EINVAL

Explanation

An invalid negative parameter value was passed to the indicated function.

491

WARNING: parameter-name parameter invalid.
Errno value: EINVAL

Explanation

An invalid parameter value was passed to the indicated function.

492

WARNING: parameter-name parameter not consistent with option or command.
Errno value: EINVAL

Explanation

The indicated parameter value was inconsistent with the other function parameters.

494

WARNING: Library socket limit exceeded.
Errno value: EMFILE

Explanation

The library was unable to open any more sockets. If UNIX Systems Services is installed, the maximum number of sockets is controlled by UNIX Systems Services, and can be changed by modifying the UNIX Systems Services startup parameters in SYS1.PARMLIB. The limit is 256 if UNIX Systems Services is not installed.

Action

Modify the program to keep fewer sockets open at one time. If your site uses UNIX Systems Services, ask your Systems Programming Staff to increase the UNIX Systems Services socket limit.

495

NOTE: At most MAXNS (6) nameservers may be specified.
Errno value: 0

Explanation

More than MAXNS (6) NSINTERADDR nameserver definition keywords appear in the IBM TCPIP.DATA file. Only the first MAXNS nameservers found will be used by the resolver functions defined in <resolv.h> header file.

Action

Remove any unneeded NSINTERADDR statements from the TCPIP.DATA file. Having more than two or three name servers to query can result in poor performance for the TCP/IP resolver functions unless the servers are properly configured.

If the TCPIP.DATA file is shared among different systems it may be possible to place a system id prefix to identify the system(s) that use a particular name server and thus reduce the name server count on a per system id basis.

Alternately, the name server configuration may be changed so that the excess name servers are pointed to by other name servers in the in the configuration, thus reducing the number of NSINTERADDR statements required.


496

NOTE: Error in TCPIP.DATA file before line line-number, column column-number
Errno value: 0

Explanation

A syntax error or unrecognized keyword was encountered while processing the IBM TCPIP.DATA file. The line number and column of the statement are part of the message. The failing statement is ignored and processing of the TCPIP.DATA file continues with the next valid TCPIP.DATA statement.

Action

Correct the TCPIP.DATA statement syntax problem identified by the message. If the syntax is correct, and the keyword is a valid TCPIP.DATA keyword, contact SAS/C Technical Support for assistance.

497

NOTE: Could not determine system name for TCPIP.DATA .
Errno value: 0

Explanation

The library was unable to identify the specific system executing the application.

For OS/390, this means the system name was not obtainable from the VMCF entry in the subsystem name table defined by IEFSSNxx member(s) of SYS1.PARMLIB.

For CMS, the SYSTEM NETID file is not accessible and/or failed to contain an entry name name for the current CPUID, and the QUERY USERID command failed to return a recognizable system name for the current userid.

Action

Consult the appropriate IBM TCP/IP Customization manual for your system for details on the system name specification for TCPIP.DATA files.

498

WARNING: Internal ERROR: attempt to release unused socket number socket-number
Errno value: ELIBERR

Explanation

This is an internal error in socket number management.

Action

Report the problem to SAS/C Technical Support.

499

WARNING: TCP/IP software limit reached on number of sockets.
Errno value: EMFILE

Explanation

The application is already using the maximum number of socket descriptors permitted by your system. No more socket descriptors may be allocated until some are closed.

Action

Close socket descriptors which are no longer in use before trying to obtain another.

500

WARNING: File not text, ddname name not defined.
Errno value: ENFOUND

Explanation

The DDname specified was not defined and so could not be opened, removed, or renamed.

Action

Define the DDname via JCL, a TSO ALLOCATE command or a CMS FILEDEF.

500

WARNING: File not text, transient data queue name name not defined.
Errno value: ENFOUND

Explanation

The transient data queue name was not defined to CICS and so could not be opened.

Action

Define the queue name in the CICS Destination Control Table (DCT).

501

WARNING: File not opened, terminal not defined in batch.
Errno value: ENFOUND

Explanation

An attempt was made to open the terminal (file name *) in OS/390 batch. SAS/C does not support a terminal or pseudo-terminal input file in batch.

Action

Do not attempt terminal input in batch. The intractv function can be used to tell whether the program is running in batch, as described in the SAS/C Library Reference, Volume 2.

501

WARNING: Internal error in l$cgbcm: Library filetype: text
Errno value: ELIBERR

Explanation

The library was attempting to locate a member within a MACLIB or TXTLIB. The library found GLOBALed MACLIBs or TXTLIBs but could not search them.

Action

Contact SAS/C Technical Support.

501

WARNING: Cannot specify file open mode "open-mode" for an Extrapartition destination.
Errno value: EUNSUPP

Explanation

The file open mode open-mode cannot be specified for this type of file. Extrapartition data queues and JES spool files can be opened for input or output but not both.

Action

Change the file mode argument string to indicate whether the file is to be read or written.

502

WARNING: System macro name failed with return code return-code
Errno value: ESYS | ELIBERR

Explanation

A system macro or service failed in an unexpected or unusual way. and the library did not recognize this specific error. The return code from the failing service is shown in the message.

Action

To find a more detailed explanation of the reason for the failure refer to the related documentation.

The following is a list of IBM publications that describe the return codes for particular macros and services used by the library.

Macro or Service IBM Reference Documentation
ATTACH
IDENTIFY
MVS/ESA Application and Development Guide
SWAREQ MVS/ESA Application Development Reference: Services for Authorized Assembler Language Programs
BLDL
ISITMGD
OPEN
STOW
TCLOSE (see CLOSE TYPE=T)
MVS/DFP Macro Instructions for Data Sets
CATALOG (see CAMLST CAT)
LOCATE
OBTAIN
RDJFCB
SCRATCH
UNCATALOG (see CAMLST UNCAT)
MVS/DFP System Programming Reference
IKJCT441
IKJSCAN
PUTGET
PUTLINE
STACK
TGET
TPUT
TSO/E Programming Services
IRXINIT
IRXSAY
IRXSTK
IRXSUBCM
TSO/E REXX/MVS Reference
GLOBALV CMS Command Reference
FSSTATE CMS Application Development Reference for Assembler
BPXWRBLD Using REXX to Access UNIX Systems Services MVS Services

If the problem cannot be determined by referring to the related documentation, contact SAS/C Technical Support.


502

WARNING: EXEC CICS command "name" failed with response code response-code.
Errno value: ESYS

Explanation

The run-time library issued an EXEC CICS command which received an unexpected exceptional response return code from CICS.

Action

The command and response code will be a guide for the action you should take. The response code can be looked up in the appropriate CICS documentation under EIBRESP. They are also listed after the command descriptions. Common responses include NOTAUTH, QIDERR, SYSIDERR, ISCINVREQ, IOERR, and LENGERR. If necessary, contact your CICS Systems Administrator or call SAS/C Technical Support.

503

WARNING: File never created, open failed.
Errno value: ENFOUND

Explanation

An attempt was made to open an OS/390 sequential file with open mode r, rb, r+, or r+b. The file contained no data and appeared never to have been initialized. SAS/C treats such files as not existing.

For a file to be created, it must not only be defined by the operating system but must also contain data (as recorded in the VTOC) or, for a VSAM file, have been initialized by writing at least one record to the file.

This message can be generated when a data set was created by the operating system via a DD card or TSO ALLOCATE command immediately before the program containing the failing open was run.

Action

Refer to Chapter 3, "I/O Functions" in SAS/C Library Reference, Volume I, for a detailed discussion of the SAS/C interpretation of file existence. To correct the problem, use a file type for which an empty file can be distinguished from an uninitialized file, such as a PDS member, or ensure that the input file contains at least a byte of data before attempting to read it.

503

WARNING: File "file-name file-type file-mode" not found.
Errno value: ENFOUND

Explanation

An attempt was made to open a file in r or r+ mode (or some other open mode beginning with r), and the file was not found. Either the file does not exist or the file has been defined but no data has been written to the file. CMS does not support the existence of files containing no characters.

Action

Make sure the file name is correct and, if the file is being opened for r or r+ access, that the file has been created and contains data. Refer to "I/O Functions" in SAS/C Library Reference, Volume I.

504

WARNING: PDS member not found: member-name
Errno value: ENFOUND

Explanation

An attempt was made to open a PDS member for input using one of the open modes r, r+, rb, or r+b, but the member does not exist.

Action

Specify an existing PDS member, or change the open mode to one which allows a new member to be created.

504

WARNING: Cannot open an destination-type only Extrapartition destination for operation.
Errno value: EUNSUPP

Explanation

Either you are trying to read an extrapartition transient data destination defined to CICS as TYPEFLE=OUTPUT or you are trying to write to an extrapartition transient data destination defined to CICS as TYPEFLE=INPUT.

Action

Make sure the arguments to open match the transient data queue definitions in the CICS Destination Control Table (DCT).

505

WARNING: File contains incorrect V-format control data.
Errno value: ECORRUPT

Explanation

Processing of a RECFM V file has failed due to incorrect record or block length information in the file, possibly because of improperly concatenating a data set with a smaller block size or record length before a data set with a larger block size or record length.

Action

Investigate whether the file has been corrupted and should be recreated. This error can occur at the end of a file when the program that wrote the file ran out of disk space.

506

WARNING: Permanent file error, reopen of ddname name failed.
Errno value: ESYS

Explanation

During a call to rewind or a similar function, the library closed and reopened the file to reposition it. The file failed to reopen.

Action

Specifying FREE=CLOSE in the JCL can cause this error. If FREE=CLOSE was not specified, contact SAS/C Technical Support.

506

WARNING: File not opened, transient data destination name is not open.
Errno value: EDEVICE

Explanation

CICS returned an indication that the extrapartition queue name is not open.

Action

Modify the CICS Destination Control Table (DCT) definition for the queue so that it is opened when CICS initializes, or issue a CEMT SET TDQUEUE OPEN command for the named destination.

507

WARNING: A PDS member cannot be opened for append.
Errno value: EFATTR

Explanation

A PDS/PDSE member cannot be opened for append (open mode a, ab, a+, or a+b). This is an OS/390 restriction associated with the organization of PDSs.

Action

If this ability is required, use UNIX-style I/O to process the member. For more information, refer to Chapter 3, "I/O Functions" in SAS/C Library Reference, Volume I

507

WARNING: A PDS member cannot be opened for output.
Errno value: EFATTR

Explanation

Under CMS a MACLIB or TXTLIB member can only be opened for input.

Action

Refer to "I/O Functions" in SAS/C Library Reference, Volume I for information on file name specification under CMS.

507

WARNING: File not opened, reclen=x not supported for file-type.
Errno value: EFATTR

Explanation

The program specified reclen=x as an amparm to afopen. This specification is not supported for transient data queues or JES spool files.

Action

Either remove the reclen=x amparm or change it to a supported record length.

508

WARNING: File not opened, "name" is not a valid "style-code" style file name.
Errno value: EARG

Explanation

The file name shown does not have the correct syntax for the specified style of file. (For instance, a ddn style name contains a period.)

A common cause of this error is a program ported from another system to OS/390, where the default file name style is ddn, since most portable file names are not valid DDnames.

Action

Correct the file name. If interpreting file names as DDnames is inappropriate for your program, define the external variable _style, as described in the SAS/C Compiler and Library User's Guide.

If your program is a CICS application using a td or spl style file name, see the CICS User's Guide for more information.


509

WARNING: File not opened, not found on specified volume.
Errno value: ECORRUPT

Explanation

The file to be opened was not found on the correct volume. The volume may have been specified in the open amparms or the JCL, or it may have been obtained from the system catalog.

Action

If the program or JCL is incorrect, correct it. If the system catalog addresses an incorrect volume, contact your site's Systems Programming Staff for assistance.

509

WARNING: File "file-name file-type file-mode" has invalid directory data.
Errno value: EFATTR

Explanation

The library attempted to scan a MACLIB or TXTLIB to determine if the member to be opened existed. Invalid data was found within the library header, and the open failed.

Action

Contact your site's Systems Programming Staff for assistance in determining why the library is corrupt.

509

WARNING: File not opened, remote transient data destinations not supported.
Errno value: EUNSUPP

Explanation

Remote transient data destinations are not supported.

Action

Run the application on the remote system so that the named destination is logically a local one, or define the remote destination on the local system.

510

WARNING: Member "name" not found in globaled member-type.
Errno value: ENFOUND

Explanation

An attempt was made to open a %MACLIB or %TXTLIB file name, but the search of the GLOBALed MACLIBs or TXTLIBs for the specified member failed to find it.

Action

Make sure the MACLIBs or TXTLIBs in the GLOBAL list contain the specified member and make sure the member name is spelled correctly. Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for file name specification under CMS for use of %MACLIB and %TXTLIB file names.

510

NOTE: blksize=[num] keyword ignored, actual block size of file is max-size.
Errno value: unchanged

Explanation

The program specified a blksize amparm, and the value specified was greater than the actual block size of the file. The specified block size is ignored.

Action

Reconcile the blksize amparms value with the block size of the actual file.

511

NOTE: Requested record length of length too large, reduced to maximum-value.
Errno value: unchanged

Explanation

The maximum record length for an OS/390 data set is 32756. The maximum record length for a CICS spool file is 32760. A larger reclen was specified, but this was treated by the library as the maximum permitted.

Action

Correct the program to use a smaller record size, or use reclen=x.

512

NOTE: Memory not available for another numberK DIV window. Performance may be affected.
Errno value: unchanged

Explanation

The library failed to allocate the specified number of bytes of additional memory, which were needed to read or write a VSAM DIV window. The requested I/O will still be performed; however, the library will be forced to remap a previously allocated window.

Action

Refer to "I/O Functions" in SAS/C Library Reference, Volume I for further information on VSAM linear data sets (DIV objects).

512

WARNING: File file-name file-type file-mode cannot be positioned to record number record-number
Errno value: EUSAGE

Explanation

A request was made to reposition the specified file. When the library attempted to position the file it determined that the position requested was not valid. This may be caused by unintentionally writing over the argument to fseek or fsetpos.

Action

Make sure the file position is valid. If an fseek or fsetpos argument has become corrupted, consider the use of the SAS/C debugger monitor command to locate the problem. Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for details on file positioning under CMS.

512

WARNING: File not opened, unknown transient data destination type.
Errno value: ESYS

Explanation

The transient data destination associated with this file is not extrapartition, intrapartition, or remote.

Action

The run-time library only recognizes one of the above types of transient data destinations. One possibility is that the internal CICS transient data control information has been overwritten with misleading information. If that is not the case ensure that the destination definition in the CICS Destination Control Table (DCT) is correct.

513

NOTE: Memory not available for program specification bufsize=[num]. Actual bufsize is buffer-sizeK.
Errno value: unchanged

Explanation

The library was unable to allocate a buffer for a DIV data set of the size specified by the bufsize amparm. A smaller window size was used as indicated in the message.

Action

Specify another bufsize value or run the program in a larger region.

513

WARNING: Requested record length of length too large, may not exceed 65535.
Errno value: EFATTR

Explanation

The program specified a reclen amparm greater than the maximum of 65535. This is a restriction imposed by CMS.

513

WARNING: I/O not performed, transient data destination "name" is not open.
Errno value: ENOTOPEN

Explanation

The transient data destination is not in CICS OPEN status. An EXEC CICS command returned a response code of NOTOPEN.

Action

Modify the CICS Destination Control Table (DCT) definition for the queue so that it is opened when CICS initializes or issue a CEMT SET TDQUEUE OPEN command for the named destination.

514

WARNING: File not opened, reclen for PRINTER may not exceed record-length
Errno value: EFATTR

Explanation

The maximum record length for a PRINTER file is 230.

Action

Correct the program. If the application requires a reclen value greater than the maximum, do not specify a PRINTER file.

514

WARNING: File not opened, no transient data destination assigned to stdin.
Errno value: ENFOUND

Explanation

The program attempted to read from stdin. Under CICS, unlike other environments, there is no defined standard input file. One must be explicitly specified by the program.

Action

Explicitly open stdin and specify a file name with the appropriate prefix or initialize the _stdinm variable with a default prefix and file name.

515

WARNING: Internal error in name: Memory overlay on FCB.
Errno value: ELIBERR

Explanation

While processing a file the library detected that the file was not opened correctly. The most likely cause of this is a memory overlay on the FCB.

Action

Contact SAS/C Technical Support.

515

WARNING: EXEC CICS text command failed with response code response-code and resp2 code resp2-code.
Errno value: ESYS

Explanation

The run-time library issued an EXEC CICS command that received an unexpected exceptional response return code from CICS.

Action

The command and response codes will be a guide for the action you should take. The response code can be looked up in the appropriate CICS documentation under EIBRESP. They are also listed after the command descriptions. Common responses include NOTAUTH, QIDERR, SYSIDERR, ISCINVREQ, IOERR, and LENGERR. Discuss further with your CICS Systems Administrator or call SAS/C Technical Support.

516

WARNING: File not opened, disk disk-letter is not write-accessed.
Errno value: EFATTR

Explanation

A request was made to open a file for output to a disk that is not write accessed.

Action

Correct the program or make the specified disk write accessible.

517

WARNING: File cannot be accessed using the name access method.
Errno value: EFATTR

Explanation

An explicit access method was requested for a file or device which cannot support it.

Action

This is most often caused by attempting to use the rel access method on a file that does not have RECFM F or RECFM FBS. The access methods and their requirements are:
term
for the terminal (or the SYSTERM DD statement in OS/390 batch)
rel
for binary access to RECFM F and RECFM FBS sequential files. rel is also accepted for RRDS and LDS VSAM files, and for UNIX Systems Services disk files.
kvs
for VSAM files other than linear accessed using a keyed stream
fd
for UNIX Systems Services files
seq
for anything remaining. seq is accepted for a terminal file, and term is substituted.
For more information on access methods refer to "I/O Functions" in SAS/C Library Reference, Volume I.

518

WARNING: File not opened, member member-name not found in file "file-name file-type file-mode"
Errno value: ENFOUND

Explanation

An attempt was made to open a member of a MACLIB or TXTLIB for input; however, the member was not found in the specified library.

Action

Make sure that the member name is spelled correctly and that the library specified contains the member.

519

WARNING: Invalid file identifier: "file-name file-type file-mode"
Errno value: EARG

Explanation

The specified file identifier is invalid. The file name, file type, or file mode does not conform to CMS standards.

Action

Correct the file identifier. Refer to the CMS User's Guide for an explanation of the rules for valid CMS file IDs.

520

NOTE: Read terminated by attention.
Errno value: unchanged

Explanation

The library was performing a terminal read operation when it received an attention. The read was terminated with possible loss of data.

Action

None required. The message is simply a reminder that any data entered in the transmission that ended with an attention may have been lost.

521

WARNING: File "file-name file-type file-mode" is not a library.
Errno value: EFATTR

Explanation

While attempting to process the global list of MACLIBs or TXTLIBs, the open routine found a file that is not a library. This file is ignored.

Action

Correct the global list of MACLIBs or TXTLIBs.

522

WARNING: File not opened, the specifications "recfm=f" and "reclen=x" are incompatible.
Errno value: EARG | EUSAGE

Explanation

EARG
The amparms specified both reclen=x and recfm=f. reclen=x requires recfm=v.
EUSAGE
The amparms specified reclen=x, but the actual RECFM of the data set was F.

Action

Do not specify reclen=x for a file unless the RECFM is V.

523

NOTE: Program specifications "reclen=[num]" ignored for existing file. Actual LRECL is record-length
Errno value: unchanged

Explanation

The program specified the amparm reclen with a record length different from the actual record length of the file being opened. The reclen of a file can only be changed when the file is opened for output (open mode w, wb, etc.).

524

WARNING: File not opened, "reclen=[spec]" is inconsistent with other file attributes.
Errno value: EFATTR

Explanation

The reclen amparm specified a record length that is inconsistent with other characteristics of the file being opened. For instance, the file has RECFM F, but the reclen does not evenly divide the file's block size.

Action

Correct the program, or use a file with the required record length.

524

NOTE: Program specifications "recfm=[spec]" ignored for existing file. Actual RECFM is format-specification
Errno value: unchanged

Explanation

The program specified the amparm recfm with a record format different from the actual RECFM of the file being opened. The RECFM of a file can only be changed when the file is opened for output (open mode of w, wb, etc.).

525

WARNING: File not opened, program specification "reclen=x" is incompatible with FILEDEF option RECFM F.
Errno value: EFATTR

Explanation

The program specified the amparm reclen=x, but the CMS FILEDEF statement specified a RECFM of F. A file with a RECFM of F must have a specified logical record length of 32760 or less.

Action

Correct the program or modify the FILEDEF.

526

WARNING: File not opened, I/O-type I/O not support by device.
Errno value: EFATTR

Explanation

The I/O-type value can be either update or append. If the type is update then the file being opened was a unit record device. These types of devices do not support update I/O. If the type is append the file being opened is probably a CMS tape file. SAS/C does not support appending to a tape file on CMS.

Action

Correct the program, or correct JCL or FILEDEFs not to use a device that is incompatible with the program.

527

WARNING: PDS member already exists, cannot be written with DISP=MOD.
Errno value: EFATTR

Explanation

An attempt was made to open an existing PDS member for which DISP=MOD was specified. When used with a PDS member, the JCL specification DISP=MOD is interpreted by OS/390 as requesting a member which does not yet exist.

Action

Either use DISP=OLD/SHR or delete the member first.

528

NOTE: FILEDEF option RECFM [spec] ignored for existing file. Actual RECFM is format-specification
Errno value: unchanged

Explanation

A CMS FILEDEF specified a RECFM which is different than the file's actual RECFM. The library, while opening the file, noticed the inconsistency and used the actual RECFM.

Action

None required. To suppress the message, correct the FILEDEF or call the quiet function before calling fopen. See the SAS/C Library Reference, Volume 1, for information on quiet.

529

NOTE: FILEDEF option LRECL [num] ignored for existing file. Actual LRECL is record-length
Errno value: unchanged

Explanation

A CMS FILEDEF specified a LRECL for a file being opened which was different from the file's actual LRECL. The library, while opening the file, noticed the inconsistency and used the actual LRECL.

Action

None required. To suppress the message, correct the FILEDEF or call the quiet function before calling fopen. See the SAS/C Library Reference, Volume 1, for information on quiet.

530

WARNING: File not opened, FILEDEF command failed with return code return-code
Errno value: ESYS

Explanation

The program attempted to open an OS simulated CMS file (file mode 4). The library attempted to create a FILEDEF for the OS file and the FILEDEF command failed.

Action

Look up the FILEDEF return code in the CMS Command Reference and take appropriate action..

531

NOTE: Program specification "recfm=[spec]" ignored for device. Actual RECFM is format-specification
Errno value: unchanged

Explanation

The program specified the amparm recfm with a record format different from the record format supported by the device being opened. The actual device format will be used.

Action

None required. To suppress the message, correct the amparms or call the quiet function before calling fopen. See the SAS/C Library Reference, Volume 1, for information on quiet.

532

NOTE: Program specification "reclen=[num]" ignored for device. Actual LRECL is record-length
Errno value: unchanged

Explanation

The program specified the amparm reclen with a record length different from the record size supported by the device being opened. The device's record size will be used.

Action

None required. To suppress the message, correct the amparms or call the quiet function before calling fopen. See the SAS/C Library Reference, Volume 1, for information on quiet.

533

NOTE: FILEDEF option RECFM [spec] ignored for device. Actual RECFM is format-specification
Errno value: unchanged

Explanation

A CMS FILEDEF specified a RECFM which differed from the record format supported by the device being opened. The library, while opening the device, noticed the inconsistency and used the device format.

Action

None required. To suppress the message, correct the FILEDEF or call the quiet function before calling fopen. See the SAS/C Library Reference, Volume 1, for information on quiet.

534

NOTE: FILEDEF option LRECL [num] ignored for device. Actual LRECL is record-length
Errno value: unchanged

Explanation

A CMS FILEDEF specified a LRECL, which is different from the record length supported by the device being opened. The library, while opening the device, noticed the inconsistency and used the record length supported by the device.

Action

None required. To suppress the message, correct the FILEDEF or call the quiet function before calling fopen. See the SAS/C Library Reference, Volume 1, for information on quiet.

535

NOTE: Blksize value block-size too large for device, reduced to maximum-value
Errno value: unchanged

Explanation

The library determined that the block size requested by the blksize amparm for a file being opened was larger than the device could support. The block size was reduced to the maximum maximum-value for the device.

Action

Specify a smaller block size, or avoid running the program using devices that cannot accommodate the block size required.

536

NOTE: Program specification "keyword=value" ignored for existing file. Actual keyword is value.
Errno value: unchanged

Explanation

The library detected an incompatibility between the file characteristics requested via amparms and the actual characteristics of the file being opened. The program's request was ignored, and the existing data set's characteristics were retained.

Action

None required. Refer to Chapter 3, "I/O Functions" in SAS/C Library Reference, Volume I for information on use of the quiet function to suppress the message. See the section "Opening Files" for a detailed discussion of when the library's processing of amparms for existing files.

537

WARNING: File not opened, "recfm=[spec]" is inconsistent with other file attributes.
Errno value: EFATTR

Explanation

The record format specified by the program's amparms was not compatible with the other attributes of the file to be opened. For instance, the program specified recfm=f, but the file's LRECL did not evenly divide the BLKSIZE.

Action

Correct the program, or use a file which is compatible with the program's amparms.

538

WARNING: DISP=MOD not supported for multi-volume output files.
Errno value: EFATTR

Explanation

The SAS/C library does not support use of multi-volume output files with DISP=MOD.

Action

Consider the use of append mode (open mode a or ab) rather than DISP=MOD for these files.

538

WARNING: Unit exception bit set while accessing name
Errno value: EDEVICE

Explanation

An I/O operation to the named file resulted in a hardware device error.

Action

Contact your site's Systems Programming Staff.

538

WARNING: Physical record size of record-size split to accommodate requested record size of record-size.
Errno value: ESYS

Explanation

The program specified a reclen value, and a spool file record that was longer than the program specified length was read by the library. The single long record will be split and returned to the program in segments.

Action

Reconcile the reclen value specified in the program with the length of the records being read from the JES spool.

539

WARNING: File not opened, "a+" I/O not supported for multi-volume file.
Errno value: EFATTR

Explanation

The file being opened is a multi-volume file. Update append mode (open mode a+ or a+b) for a multi-volume file is not supported by SAS/C.

Action

Avoid the use of update append mode for multi-volume files.

539

WARNING: Incorrect length record read from data-set-name. DIAG X'20' return code X'03'.
Errno value: EDEVICE

Explanation

While reading an OS data set, the library received the indicated return code from a CP DIAG X'20' request. This indicates that an incorrect length record was read.

Action

Contact with your site's System Programming staff for assistance. Refer to CP Programming Services for information on DIAG X'20' return codes.

540

WARNING: Permanent I/O error for device address. Sense bytes=hex-value
Errno value: EDEVICE

Explanation

A permanent error occurred on the specified device. The message includes sense data which is information received from the device on the nature of the error.

Action

Consult with your site's Systems Programming Staff for information on the sense data for the failing device.

541

WARNING: Device address text.
Errno value: EDEVICE

Explanation

A problem occurred on the device whose address is shown in the message. Possible causes include: device not attached, device halted, and device type not supported.

Action

Consult with your site's Systems Programming staff for additional help in determining the problem with the device.

542

WARNING: Internal error in "l$cdscb". DSCB not found.
Errno value: ELIBERR

Explanation

The library was searching an OS disk table of contents for the data set to be opened. The name was found; however, the DSCB was not a Format 1 DSCB. This condition should not occur.

Action

Contact SAS/C Technical Support.

543

WARNING: Member name required for output to PDS.
Errno value: EUSAGE

Explanation

An attempt was made to open a PDS for output without specifying a member name. When a PDS is opened for output a member name must be specified.

Action

Make sure that a member name is specified when opening an output PDS.

543

WARNING: Dataset not recognized as an OS MACLIB or TXTLIB.
Errno value: EFATTR

Explanation

A request was made to open a member of an OS MACLIB or TXTLIB. However, the library determined that the file was not an OS partitioned data set with RECFM FB and LRECL 80. The file was not opened.

Action

Do not attempt to process an OS data set as a MACLIB or TXTLIB unless it has the characteristics described above.

544

WARNING: Dataset not found: <name>.
Errno value: ENFOUND

Explanation

The library was searching for a GLOBALed OS MACLIB or TXTLIB. (An OS MACLIB or TXTLIB is considered to be GLOBALed when it is FILEDEFed using the DDname CMSLIB, and CMSLIB appears in the CMS GLOBAL list.) The data set specified was not found.

Action

Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for more information on GLOBALed OS MACLIBs and TXTLIBs as advanced CMS I/O facilities.

544

WARNING: File not opened, no data sets could be located for external writer name "name".
Errno value: ENFOUND

Explanation

An EXEC CICS SPOOLOPEN command failed with a NOTFND response code. Usually this means that no dataset with the specified name could be found.

Action

Verify that the name is correct and that the file actually exists.

545

WARNING: Open failed due to physical I/O ERROR: text
Errno value: EDEVICE

Explanation

While opening a RECFM FBS data set for rel access, the library attempted to read the last record of the file, but a physical I/O error occurred. The text is information obtained from the OS/390 SYNADAF macro.

Action

Check for IBM messages located in the job log, such as IOS000I messages. Consult with your site's Systems Programming Staff to determine whether or not a hardware failure occurred.

545

WARNING: Internal error in "l$cggrd". End of file not found.
Errno value: ELIBERR

Explanation

While the library was reading a file the end of file indicator was not found as expected. The most probable cause is an internal library error.

Action

Contact SAS/C Technical Support.

546

WARNING: Unable to reopen file. Further use is impossible.
Errno value: ESYS

Explanation

A file accessed via the rel access method ran out of space. The library attempted to reopen the file after the failure, but the reopen was unsuccessful. The file can no longer be accessed, even if clearerr is used to attempt to clear the error.

One possible cause of this problem is use of the JCL parameter FREE=CLOSE.

Action

Check for other library messages and IBM messages located in the job log. If the problem cannot be determined, call SAS/C Technical Support.

546

WARNING: Dataset not found. Filemode not defined.
Errno value: ENFOUND

Explanation

An error occurred opening a GLOBALed OS MACLIB or TXTLIB member. The CMSLIB FILEDEF defining a GLOBALed OS MACLIB or TXTLIB did not specify a file mode, which prevents the library from locating the data set.

Action

Correct the CMSLIB FILEDEF to specify a valid file mode.

547

WARNING: Internal error in "l$catap". Device name not found in DEVTAB.
Errno value: ELIBERR

Explanation

The library was searching for the virtual address of an attached tape drive in the CMS device table. The end of the list was reached without locating the device. The most probable cause is an internal library error.

Action

Contact SAS/C Technical Support.

548

WARNING: access-method I/O failure: text
Errno value: EDEVICE

Explanation

An operating system access method, such as BSAM, detected an error. The text attempts to provide more detailed information on the failure. This can be the result of a hardware problem. However, it can also be caused by misuse of I/O functions, such as attempting to read a concatenated data set where the data set with the largest block size is not first in the list.

Action

Check for other library messages and IBM messages located in the JES log, such as message IOS000I, which indicates a hardware failure. Contact your site's Systems Programming Staff.

549

WARNING: access-method I/O failure (text). Probable cause: invalid seek address.
Errno value: EDEVICE

Explanation

An operating system access method, such as BSAM, detected an error. The text attempted to provide more detailed information on the failure. A seek operation preceded the error; possibly, the error may have been caused by use of an incorrect seek address.

Action

Check for errors in the arguments to fseek or fsetpos. If none are found, treat this error like message 548.

550

WARNING: Record not written, file is full.
Errno value: ENOSPC

Explanation

During file output, a write operation failed because these was no space left in the file, and the file could not be extended. For any access method other than rel, any further access to the file (without closing it and reopening it) is impossible. However, with rel access it is possible to continue to use the file after calling clearerr, as long as no attempt is made to add new records.

Action

Recreate the data set with more space, or make more free space available on the volume where the file resides. If the file is a PDS member, compressing the PDS may make more free space available.

551

WARNING: File not opened, existing DCB attributes are inconsistent.
Errno value: EFATTR

Explanation

The DCB for a data set specified in JCL or in the data set label was not consistent. For instance, for a RECFM F file the LRECL did not evenly divide the BLKSIZE.

Action

Correct the JCL (or TSO allocations) to specify consistent DCB parameters.

552

WARNING: A file with record format FBS cannot be opened for append.
Errno value: EFATTR

Explanation

An attempt was made to open a data set with RECFM FBS for append (open mode a, ab, a+, or a+b). Due to the characteristics of a RECFM FBS data set, it is not possible to open one for append using the seq access method.

Action

Use the rel access method, or use a data set with a different record format if append mode is required.

553

WARNING: A concatenated file cannot be opened for writing.
Errno value: EFATTR

Explanation

An attempt was made to open a concatenated DDname for output. This is not supported by the operating system.

Action

Do not attempt to use a concatenated DDname for output.

554

WARNING: Text I/O not supported for relative or linear VSAM file.
Errno value: EFATTR

Explanation

Linear VSAM (DIV) files can only be accessed in binary mode. Relative record (RRDS) VSAM files can be accessed only in binary or keyed mode.

Action

Correct the program to use a supported I/O mode. If text I/O is required, open some file type other than relative record or linear VSAM.

555

WARNING: File not opened, text access not supported by "rel" access method.
Errno value: EUSAGE

Explanation

An open was attempted that specified text access but the use of the rel access method was also requested. The rel access method is only supported for binary access.

Action

Either use an access method that supports text, or specify binary access.

556

WARNING: File not opened, option "option-name=option-value" incompatible with "rel" access method.
Errno value: EUSAGE

Explanation

A call to afopen requested the rel access method but also specified an amparm that is incompatible with rel access, such as trunc=yes. The open failed.

Action

Correct the incompatibility.

557

WARNING: Uninitialized VSAM file cannot be opened for input.
Errno value: ENFOUND

Explanation

An attempt was made to open a VSAM file with open mode r+, r+b, or r+k. No records had ever been stored in the file, and therefore the open failed.

This message usually occurs when a new file has been defined using Access Method Services, but no data has been written to the file.

Action

Either add a record to the file before running the program, or correct the program to use a different open mode, such as w+ or a+. Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for information on the meanings of open modes when used with VSAM files.

560

WARNING: Minidisk disk-letter not accessed.
Errno value: EUSAGE

Explanation

The remove function has been called to remove a file on a minidisk that is not accessed.

Action

Access the minidisk, or specify the file to be removed correctly.


561

WARNING: CMS RENAME command failed with return code return-code
Errno value: EUSAGE

Explanation

The rename function invoked the CMS RENAME command that failed with the return code indicated.

Action

Refer to the CMS Command Reference for an explanation of the return code.

562

WARNING: No read/write disk accessed for "file-name file-type *"
Errno value: EUSAGE

Explanation

A file with file mode * was opened for output; however, no read/write disk was accessed, and therefore the file could not be created on any disk.

Action

Access a disk for read/write mode before running the program.

563

WARNING: "name" prefix is unsupported.
Errno value: EARG

Explanation

Prefixes of the specified style are not supported by cmspid. cmspid supports only style prefixes of cms, xed, and sf.

Action

Correct the program. See the SAS/C Library Reference, Volume 1, for more information on cmspid.

564

WARNING: "name" is not a valid CMS fileid.
Errno value: EARG

Explanation

The path name passed to cmspid is not composed of a valid CMS file name, file type, and file mode. The file mode is optional, but if present it must be valid.

Action

Specify a valid file name. Refer to the CMS User's Guide for an explanation of valid CMS file IDs.

565

WARNING: Attempt to skip over unwritten variable-length record.
Errno value: EUSAGE

Explanation

The library attempted to seek past the end of a CMS RECFM V file and failed. The probable cause was the program called fseek or fsetpos specifying a file position that indicated a record past the current end of file.

Action

Correct the program. If an fseek or fsetpos argument has been overlaid with invalid data, use the debugger monitor command to locate the point of overlay.

566

WARNING: Minidisk disk-letter is full.
Errno value: ENOSPC

Explanation

A write operation failed because the minidisk containing the output file had no more free space.

Action

Remove files from the mindisk, access another minidisk to contain the file, or change the program to write less data.

567

WARNING: Attempt to seek past end of record.
Errno value: EUSAGE

Explanation

An attempt has been made to seek past the end of a record. The most likely cause is the use of a seek target which is uninitialized or has been corrupted.

Action

Check that the argument passed to fsetpos or fseek is correct and has not been corrupted.

568

WARNING: Attempt to seek past end of file.
Errno value: EUSAGE

Explanation

While performing a fsetpos or fseek operation, the library detected the end of file. Seeking past the end of file is not supported under OS/390 by the seq access method. This condition is usually caused by the use of a seek target which is uninitialized or corrupted.

Action

Check that the argument passed to fsetpos or fseek is correct and has not been corrupted.

569

NOTE: The specification "trunc=no" is incompatible with this type of file. "trunc=yes" is used.
Errno value: unchanged

Explanation

The program requested trunc=no when this was not supported. For instance, trunc=no is incompatible with print=yes. The incompatible trunc specification is ignored.

570

WARNING: Open failed, device does not exist.
Errno value: ESYS

Explanation

A request was issued to open a device such as READER, PRINTER, etc. The device is not defined to CP.

Action

If the program is specifying the correct device check with your site's Systems Programming staff on why the device is unknown.

571

WARNING: Open failed, grow=no amparm not supported with DISP=MOD.
Errno value: EUSAGE

Explanation

An attempt was made to open a DDname defined with DISP=MOD using the amparm grow=no. DISP=MOD and grow=no are incompatible, since DISP=MOD requests adding new records to the end of the file.

Action

Correct the JCL or the application.

572

WARNING: Open failed, grow=no amparm not supported for tape files.
Errno value: EFATTR

Explanation

An attempt was made to open a tape file using the amparm grow=no. Due to limitations of magnetic tape devices, this cannot be supported.

573

WARNING: Open failed, grow=no not supported for multi-volume spanned file.
Errno value: EFATTR

Explanation

An open request for a multi-volume spanned format data set specified grow=no. Due to operating system limitations, this could not be supported, and the open was failed.

Action

Do not specify grow=no when opening multi-volume spanned data sets.

573

WARNING: File name is not a VSAM data set.
Errno value: ENFOUND

Explanation

An attempt was made to open a ddn style file name for keyed access, but the DDname was not defined by a DLBL command as a VSAM file.

Action

Use the DLBL command to define the VSAM file before running the program.

574

WARNING: Unable to synchronize file, not positioned to end of block.
Errno value: EUSAGE

Explanation

A call to afflush was made for a multi-volume file opened with grow=no. Due to operating system limitations, this is only permitted when the file is positioned to the end of a block.

Action

Avoid the use of afflush for multi-volume files opened with grow=no.

575

WARNING: File position unknown due to previous error.
Errno value: EPREV

Explanation

A call was made to ftell or fgetpos, but a previous error made determination of the current file position impossible. A diagnostic should have been generated describing the previous error, which was probably associated with the errno value EDEVICE.

Action

Use fseek, fsetpos, or rewind to define a valid file position after an EDEVICE error.

576

WARNING: afflush not supported for PDSE member opened with "grow=yes".
Errno value: EUSAGE

Explanation

Due to PDSE restrictions, the afflush function was not implemented for PDSE members opened with the amparm grow=no.

Action

If afflush is a requirement, consider using a standard PDS in place of a PDSE.

577

WARNING: afflush not supported by "seq" access method for RECFM FBS files.
Errno value: EFATTR

Explanation

A call to afflush was made for a RECFM FBS file accessed via the seq access method. afflush is not supported in this case.

Action

If possible, use the rel access method, which supports RECFM FBS files and allows afflush. Alternately, use a RECFM F file.

578

WARNING: afflush not supported for DSORG DA file.
Errno value: EUSAGE

Explanation

A call to afflush was made for a DSORG DA file accessed via the seq access method. This is not supported.

Action

Remove the DSORG DA attribute from the file. Note, in general using DSORG DA with files read or written by SAS/C programs should be avoided. Use of DSORG DA adds no additional capabilities and results in additional restrictions such as the above.

580

WARNING: System routine "name" failed with reason code reason-code
Errno value: ESYS | ELIBERR

Explanation

The named system routine failed with an unusual reason code. Some of the valid system routines are: DMSEXIST, DMSRENAM, DMSGETWU, DMSOPEN, DMSREAD, DMSWRITE, DMSCOMM, DMSOPDIR, and DMSGETDI.

Action

Refer to the CMS Application Development Reference for information on the reason code. The reason code should identify the cause of the problem and an appropriate response.

581

WARNING: File not opened, "org=value" was specified, but actual organization is "value"
Errno value: EFATTR

Explanation

A call to afopen specified the org amparm, but the actual organization of the file to be opened was incompatible. The file was not opened.

Action

Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for more information on access method parameters.

582

WARNING: File not opened. "org=value" was specified, but no member name was defined.
Errno value: EFATTR

Explanation

An afopen call specified one of the amparms org=po, org=pds or org=pdse. However, a member name was not specified either in the file name or by the DD statement or TSO allocation. The open failed.

Action

Do not specify partitioned organization for a file without a member name. If you want to read a PDS directory, specify org=ps.

583

WARNING: This file cannot be opened for keyed access.
Errno value: EFATTR

Explanation

A request has been made to open a file for keyed access that does not support it. Only VSAM KSDS, ESDS, and RRDS files can be opened for keyed access.

Action

Specify a valid VSAM data set name, or correct the program not to use keyed access.

585

WARNING: Internal error in name: Unexpected value for text.
Errno value: ELIBERR

Explanation

While checking the access mode of a CMS shared file system file, the named library routine found the authority flags to be blank or invalid. This is a library internal error.

Action

Contact SAS/C Technical Support.

586

WARNING: name is not a valid "style-code" style pathname.
Errno value: EARG

Explanation

The name specified is not a valid pathname for the style prefix specified.

Action

Correct the program. Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for complete details.

587

WARNING: Invalid file identifier: name.
Errno value: EARG

Explanation

The specified file identifier is invalid. The file name, file type, or file mode does not conform to CMS standards.

Action

Correct the program. See the CMS User's Guide for information on valid file name components.

588

WARNING: Attempt to use the default file pool, which is currently undefined.
Errno value: EARG

Explanation

The program attempted to use the default file pool, but no default file pool was defined.

Action

To define a default file pool, use the CMS command SET FILEPOOL. Refer to the CMS User's Guide for usage of the SET FILEPOOL command.

589

WARNING: Unable to obtain a work unit ID.
Errno value: ELIBERR

Explanation

The library attempted to fill in a Open Work Area but the request failed.

Action

This message will be accompanied by message 580. Refer to that message for more information.

590

WARNING: CMS shared files can only be accessed using the "rel" or "seq" access methods.
Errno value: EFATTR

Explanation

The program attempted to access a CMS shared file specifying an access method other than rel or seq. This is unsupported.

591

WARNING: CMS shared file directories can only be accessed using the "seq" access method.
Errno value: EFATTR

Explanation

CMS shared file directories (sfd style pathnames) must be accessed with the seq access method.

Action

Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for more details Under CMS shared files.

592

WARNING: File name cannot be positioned to record number record-number.
Errno value: EUSAGE

Explanation

A request was made to reposition the indicated file. When the library attempted to position the file it determined that the position requested was not valid.

Action

Make sure the file position is valid. If an fseek or fsetpos argument has become corrupted, consider using the SAS/C debugger monitor command to locate the problem. Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for details on file positioning under CMS.

593

WARNING: CMS shared file name not found.
Errno value: ENFOUND

Explanation

The specified CMS shared file was not found in any of the defined directories.

594

WARNING: File or directory "name" not found or you are not authorized to action it.
Errno value: ENFOUND

Explanation

A request was made to perform an action such as rename or remove on the specified directory. The directory does not exist, or the caller is not authorized to perform the action.

Action

Specify the name correctly, and do not attempt to remove or rename files for which you are not authorized.

595

WARNING: Open failed, CMS shared file directory name not found.
Errno value: ENFOUND

Explanation

An open request for a file in a CMS shared file directory or for the directory itself failed because the directory was not found.

Action

Correct the program or file name.

596

WARNING: Open failed, CMS shared file directory name is already open.
Errno value: EFFORM

Explanation

The program attempted to open the same CMS shared file directory more than once. This is not permitted by some releases of CMS.

597

NOTE: Unsupported value specified for the dirsearch amparm, dirsearch=allauth will be used.

Explanation

The supported values for the amparm dirsearch are: file, all, allauth, and subdir. Some other value was specified.

Action

Correct the program. Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for more details Under CMS shared files.

598

WARNING: Open failed, a fileid must be specified with dirsearch=file, all, or allauth.
Errno value: EUSAGE

Explanation

When using the amparm dirsearch a file ID must be specified. For instance, sfd: * exec * is an invalid file name with dirsearch=file.

Action

Correct the program. Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for more details Under CMS shared files.

599

WARNING: Open failed, a fileid cannot be specified with dirsearch=subdir.
Errno value: EUSAGE

Explanation

When using the amparm dirsearch=subdir, the file name can specify only the directory to search. For instance, sfd: master.

Action

Correct the program. Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for more details Under CMS shared files.

600

WARNING: File not opened, blksize larger than track size.
Errno value: EUSAGE

Explanation

An attempt was made to open a file, but the blksize amparm specified a block size larger than the track size of the device on which the file was allocated.

Action

Request a smaller block size, or change your allocation procedures to use a device with a larger track size.

601

WARNING: File not opened, "name" is not a proper temporary file name.
Errno value: EARG

Explanation

An internal error occurred in library temporary file processing.

Action

Contact SAS/C Technical Support.

602

WARNING: Temporary file not opened, no name DD card.
Errno value: ENFOUND

Explanation

In systems without dynamic allocation such as VS1, a SYSTMPnn DD statement is required for each temporary file opened by the program. On these systems, if no DD statement is defined, the open fails.

Action

Add appropriate DD statements and run the job again.

603

WARNING: Unable to create temporary file, DYNALLOC macro returned error code error-code, reason code hex-value.
Errno value: ESYS

Explanation

An attempt to dynamically allocate a temporary file failed. The error code and reason code for the failure are shown in the message.

Action

Look up the codes in the MVS/ESA Application Development Guide: Authorized Assembler Language Programs publication and take appropriate action.

604

WARNING: Temporary file not created, sufficient disk space not available.
Errno value: ENOSPC

Explanation

Dynamic allocation failed to create a temporary file because there was not enough disk space available.

Action

Report this problem to your site's Systems Programming Staff. On CMS, this problem can be addressed by accessing a temporary disk.

605

WARNING: File not opened, ddname "name" does not define a temporary disk file.
Errno value: EFATTR

Explanation

The library attempted to open a temporary file defined by a SYSTMPnn DD statement. The DD statement did not define a temporary disk data set.

Action

Correct or remove the DD statement.

606

WARNING: The "rel" access method does not support DISP=MOD.
Errno value: EFATTR

Explanation

An attempt was made to open a file defined with DISP=MOD using the rel access method, which does not support DISP=MOD.

Action

Consider replacing the use of DISP=MOD with open mode ab or a+b. Alternately, change the file's RECFM to FB from FBS, and specify use of the seq access method, which can support DISP=MOD.

607

WARNING: Temporary file not created, unit name not defined: name
Errno value: ESYS

Explanation

An attempt to dynamically allocate a temporary file failed because the unit name requested for the temporary file was not known to the system. The unit name for temporary files is VIO by default; however, the unit name can be changed by means of a zap described in the SAS/C installation instructions.

Action

See the installation instructions for information on changing this unit name, or contact SAS/C Technical Support.

608

WARNING: Temporary file not created, ddname name already in use.
Errno value: EINUSE

Explanation

This message normally indicates an internal library error in opening a temporary file. The message can also be produced if multiple tasks in an address space are executing the SAS/C debugger, and a SYSTMPDB DD statement has been defined.

Action

If you are running the debugger for more than one task, either avoid using a SYSTMPDB DD statement or restrict use of the debugger to a single task. Otherwise, contact SAS/C Technical Support.

609

WARNING: I/O operation failed. Probable cause: no more extents can be allocated.
Errno value: ENOSPC

Explanation

While processing a linear data set, the library issued the DIV macro. The DIV macro failed with reason code X'E10802', indicating an attempt to map beyond the end of file. This code usually indicates that it was not possible to allocate a new extent for the file.

Action

Recreate the data set with enough space. If the cause does not appear to be lack of disk space, contact SAS/C Technical Support.

610

WARNING: Specified bufsize extends past last extent of file.
Errno value: EFATTR

Explanation

An attempt was made to open a linear data set specifying a bufsize amparm which extended past the last extent of the file. The open failed.

Action

Either decrease the bufsize specification, or recreate the file with more space.

611

NOTE: Linear Dataset not allocated with SHAREOPTIONS(1,3).
Errno value: unchanged

Explanation

An attempt was made to open a linear data set (LDS) defined with a SHAREOPTIONS value other than SHAREOPTIONS(1,3). Correct processing of a linear data set cannot be guaranteed if the data set is shared. This note is generated to inform the user; however, processing continues.

Action

Since the results of sharing an open linear data set are unpredictable, consider redefining the file as SHAREOPTIONS(1,3). To suppress the message, see the description of the quiet function in the SAS/C Library Reference, volume 1.

640

WARNING: A file-type file cannot be operation.
Errno value: EFATTR

Explanation

An attempt was made to remove or rename a terminal file. This is not supported.

644

WARNING: Virtual machine must be in 370-mode to perform this function.
Errno value: EFORBID

Explanation

An attempt was made to open a %MACLIB or %TXTLIB file where the GLOBAL list identified a file on an OS disk. CMS was IPLed in XA mode, but this form of access to OS disks is supported only in 370 mode.

Action

IPL CMS in 370 mode, or access the OS data set via a specific FILEDEF rather than as a GLOBALed MACLIB or TXTLIB.

645

WARNING: File not opened, authorization is required to operation this file.
Errno value: EACCES

Explanation

An attempt to open a VSAM file failed because the user did not have appropriate authorization. operation specified the level of access required.

Action

If the access is appropriate, use your site's security program to permit the access.


646

WARNING: File not opened due to simultaneous incompatible use by other users.
Errno value: EINUSE

Explanation

An attempt to open a VSAM data set failed because the data set was in use by another job or user. This message will be generated even if all users have the data set allocated with DISP SHR unless sharing is permitted by the data set's SHAREOPTIONS. Note, however, that SAS/C does not support sharing of VSAM files by multiple users. If the SHAREOPTIONS allow sharing, the library will not detect when sharing occurs, and the results will be unpredictable.

Action

Run the program when no other users are utilizing the data set.

647

WARNING: Open failed, output file already exists and is not reusable.
Errno value: EFATTR

Explanation

An attempt was made to open and truncate an existing VSAM file using an open mode beginning with w, such as wb. The file was not defined by Access Method Services as REUSABLE, and therefore the file could not be opened as specified.

Action

Use Access Method Service to make the file REUSABLE, or use an open mode that does not attempt to truncate the file (for example, r+b).

648

WARNING: VSAM name macro failed, record held by another program or file.
Errno value: EINUSE

Explanation

An attempt was made to update or delete a record of a VSAM data set, but the control interval containing the record is held by another FILE pointer referencing the same data set, or by another task in the same address space. The other FILE or task must release control of the interval before the request will be allowed.

Action

Refer to "I/O Functions" in SAS/C Library Reference, Volume I, for information on how to code the program to deal with this condition.

649

WARNING: VSAM file can no longer be accessed due to reopen failure.
Errno value: ESYS

Explanation

The library had to close and reopen a VSAM file to switch from load mode to update mode. The reopen request failed, and therefore the file is no longer accessible. Using the JCL option FREE=CLOSE can cause this error.

Action

If FREE=CLOSE was specified, remove it. Otherwise, check the job log for IBM messages describing the reason the open failed, and take appropriate action.

650

WARNING: VSAM name macro failed with return code return-code.
Errno value: ELIBERR | ESYS

Explanation

A VSAM macro failed with the indicated return code. If the errno variable is ELIBERR, it indicates a condition the library believes should not occur. If the errno variable is ESYS, it indicates a failure which could be either an environmental error or a library error.

Action

If the errno variable is ELIBERR, contact SAS/C Technical Support. If the errno variable is ESYS, look up the macro in MVS/ESA Macro Instructions for Data Sets and take the action indicated for the return code.

651

WARNING: VSAM operation failed with reason code reason-code.
Errno value: ELIBERR | ESYS

Explanation

A VSAM operation failed, generating this reason code. If the errno variable is ELIBERR, it indicates a condition the library believes should not occur. If the errno variable is ESYS, it indicates a failure which could be either an environmental error or a library error.

Action

If the errno variable is ELIBERR, contact SAS/C Technical Support. If the errno variable is ESYS, look up the macro in MVS/ESA Macro Instructions for Data Sets and take the action indicated for that return code. (For the operation of temporary close, see the CLOSE macro description.)

652

WARNING: VSAM name macro failed due to insufficient memory.
Errno value: ENOMEM

Explanation

A VSAM macro failed because of an out-of-memory condition.

Action

Specify a larger region or virtual machine size, or reduce the program's memory requirements.


653

WARNING: I/O request failed due to hardware error during execution of the name macro.
Errno value: EDEVICE

Explanation

An I/O request failed due to a hardware error.

Action

Under OS/390, consult the SYNADAF information (sent to the OS/390 console in message 098) for more information. Report this error to your site's Systems Programming Staff.

654

WARNING: VSAM name macro failed with a logical error, reason code reason-code.
Errno value: ELIBERR | ESYS

Explanation

An unexpected error was indicated by the VSAM name macro during an I/O operation. The file's error flag is set. The errno variable is set to ELIBERR if the error indicates a library failure.

Action

Look up the reason code in the MVS/ESA Macro Instructions for Data Sets publication, and take appropriate action. If the errno variable is ELIBERR, contact SAS/C Technical Support.

655

WARNING: VSAM operation not performed to due to previous seek failure.
Errno value: EPREV

Explanation

The VSAM operation failed a previous seek request failed.

Action

Refer to the message(s) describing the seek failure for further information.

656

WARNING: Seek failed, target does not address a valid record.
Errno value: EUSAGE

Explanation

A VSAM seek request failed because the target position did not specify the RBA of any record. This may have been caused by overlaying the argument to fseek or fsetpos.

Action

Verify that the seek address is correct and has not been overlaid. If the seek address has been overlaid, use the SAS/C debugger monitor to determine the point of overlay.


657

WARNING: File not opened, unable to locate end of file.
Errno value: ELIBERR

Explanation

The library was unable to locate the last record of the VSAM data set being opened.

Action

Contact SAS/C Technical Support.

658

WARNING: A VSAM KSDS cannot be opened for output in text or binary mode.
Errno value: EARG | EFATTR

Explanation

The user attempted to open a KSDS file for output or update in text or binary mode. This is not supported. The errno variable is set to EARG if the amparm org=ks is specified; otherwise, the errno variable is set to EFATTR.

Action

Modify the program to use keyed access, or open a file of some type other than a KSDS.

660

WARNING: File not opened, specification "keyword=value" conflicts with actual value of value.
Errno value: EFATTR

Explanation

An attempt was made to open a file where the keylen or keyoff amparm did not agree with that of the file to be opened.

Action

Ensure that files opened by the program conform to the keylen and keyoff specifications within the program.

661

WARNING: This file does not permit the length of a record to be changed.
Errno value: EUNSUPP

Explanation

The program attempted to replace a record in a VSAM ESDS or RRDS with one whose length was different. Changing the length of a record with kreplace is supported only for a KSDS. Note, that even though an alternate index over an ESDS can be treated as a KSDS for most purposes, these files do not support updates that change the length of a record.

Action

Correct the program to not modify the lengths of records, or ensure that it always opens a KSDS.


662

WARNING: Retrieval failed, file position undefined due to previous error.
Errno value: EPREV

Explanation

Due to a previous error in VSAM processing, the file position in the cluster is unknown. For this reason, it was impossible to retrieve the next sequential record.

Action

Check the message for the previous error and take appropriate action.

663

WARNING: Record has duplicate key, not inserted.
Errno value: EDUPKEY

Explanation

An attempt was made to add a record with the same key as another record in the file, and the file does not support this. The error flag is set for the file.

Action

Don't attempt to add a duplicate record unless the file is an alternate path that allows duplicate keys. Note that this message is suppressed by default, and therefore is generated only when the run-time option =warning is in effect.

664

WARNING: Request failed due to invalid relative record number: record-number.
Errno value: EUSAGE

Explanation

The key specified for a record in a RRDS is not a valid record number for this file.

Action

Correct the program to specify a valid record number as the record key.

670

WARNING: File text, DYNALLOC macro returned error code error-code, reason code hex-value.
Errno value: ESYS

Explanation

An attempt to dynamically allocate a data set failed. If the error occurred in osdfind or osdnext, text gives the name of the file which could not be allocated. If the error occurred in some other function, the text describes the operation being performed.

Action

Look up the error codes in the IBM MVS/ESA Application Development Guide: Authorized Assembler Language Programs, and take appropriate action. If the error codes indicate a programming problem, this is a SAS/C library internal error.


670

WARNING: An OS format file cannot be accessed with the style-code style prefix.
Errno value: EUNSUPP

Explanation

The library does not support access to file mode 4 (OS simulated) files using an sf or sfd style file name.

Action

ACCESS the shared file directory as a minidisk, and open the file using a cms style file name.

671

WARNING: member not operation, ddname does not define a partitioned data set.
Errno value: EFATTR

Explanation

An attempt to remove or rename a PDS member failed because the DDname specified did not point to a PDS.

Action

Make sure the DDname is defined as a PDS (or PDSE).

672

WARNING: text, file could not be opened.
Errno value: ESYS

Explanation

The operation indicated by text failed because the file to be modified or checked could not be opened.

Action

Check the job log for IBM messages describing the cause of the failure, and take appropriate action.

673

WARNING: text, ddname does not define a physical sequential file.
Errno value: EFATTR

Explanation

The remove function called for a DDname that identified a file whose organization was not physical sequential. For a DDname that is not a PDS member, remove attempts to empty the file, but because of the file's organization, this was not possible.

Action

Do not attempt to call remove for an unsupported file type.


674

WARNING: text, member not found.
Errno value: ENFOUND

Explanation

An attempt to remove or rename a PDS member failed because the PDS member did not exist.

Action

Specify an existing member name.

675

WARNING: Member not renamed, old ddname "name" does not match new ddname "name".
Errno value: EARG

Explanation

A call to rename attempted to rename a member of one DDname to a member of another DDname. This operation is not supported.

Action

Correct the program to specify the same DDname for both the old and new member.

676

WARNING: text, new member name already exists.
Errno value: EUSAGE

Explanation

An attempt to rename a member of a PDS failed because the new member name was already defined.

Action

Specify a member name which does not already exist.

679

WARNING: Insufficient authority to operation this file.
Errno value: EACCES

Explanation

A call to remove or rename failed because the user was not authorized to perform this operation on the file.

Action

Correct the file name, or use your site's security package to get authorization for the file.

680

WARNING: A file-type can not be renamed to a file-type.
Errno value: EUSAGE | EFATTR

Explanation

A call to rename attempted to rename one kind of data set as another kind. For example, the old name specified a PDS member, but the new name did not. Renames which change the type of a data set are not supported. The errno variable is EUSAGE if the error was in the rename arguments, or EFATTR if the error depended on the environment (for example, if it occurred because a DDname was allocated to an HFS file).

Action

Correct the program or the file definitions to make the types compatible.

681

WARNING: Old PDS name and new PDS name must be the same to rename a PDS member.
Errno value: EUSAGE

Explanation

A call to rename requested renaming a PDS member to be a member of a different PDS. This operation is not supported. A rename involving a PDS member must change only the member name.

682

WARNING: File not removed, expiration date not passed.
Errno value: ESYS

Explanation

An attempt to remove a sequential data set failed because its expiration date had not yet passed.

Action

Use a system utility such as IEHPROGM to remove the data set.

683

WARNING: File not renamed, can not rename to a generation data group name.
Errno value: EUSAGE

Explanation

An attempt was made to rename a data set to a member of a generation data group. This is not supported.

Action

Correct the program. For more information on generation data groups, refer to the IBM manual MVS/DFP Using Data Sets.

684

WARNING: operation failed, DD-name DDname references a HFS file.
Errno value: EUSAGE

Explanation

A call was made to remove or rename specifying a DDname that referenced an HFS file. remove and rename are not supported with DDnames allocated to HFS files unless the DDname/filename syntax is in use.

Action

Do not attempt to call remove or rename for DD statements addressing HFS files.

690

WARNING: File not found.
Errno value: ENFOUND

Explanation

A call to remove or rename specified a non-existent data set name.

Action

Correct the file name, or check for its existence using access before calling remove or rename. To suppress the message, use the quiet function as described in the SAS/C Library Reference, Volume 1.

691

WARNING: Tape file can not be renamed.
Errno value: EFATTR

Explanation

An attempt has been made to rename a tape data set. This is not supported.

Action

Correct the program or file name.

692

WARNING: File name is longer than 44 characters.
Errno value: EARG

Explanation

The argument to remove or rename specified a member of a generation data group. However, when the name was expanded, it was longer than 44 characters, which is the OS/390 limit for data set names.

Action

Specify a valid file name.

693

WARNING: File not renamed, new name already exists on volume "name".
Errno value: EUSAGE

Explanation

A rename operation failed because the new name already existed on the volume specified.

Action

When calling rename, make sure the new file name does not already exist.

694

WARNING: File not renamed, could not be found on volume "name"
Errno value: ENFOUND

Explanation

An attempt to rename a file failed because the specified file could not be found on the volume shown. This error probably indicates that the file to be renamed is not catalogued correctly.

Action

Correct the catalog information for the file and try again.

695

WARNING: text, data set is open.
Errno value: EINUSE

Explanation

A call to remove or rename failed because the data set was open.

Action

Close the data set before attempting to remove or rename it.

696

WARNING: text, system macro "name" returned status code status for volume "name".
Errno value: ESYS

Explanation

During a call to remove or rename, the indicated system macro produced an unexpected status code. The remove or rename operation failed.

Action

Look up the status code in the IBM MVS/DFP System Programming Reference for a description of the error, and take appropriate action.

697

WARNING: File has not been renamed on all volumes and not recataloged.
Errno value: ESYS

Explanation

An attempt to rename a multi-volume data set was successful on some volumes but not on others. Each error was described by a previous message. The library did not attempt to change the catalog or repair the damage. This must be done by the user or by Systems Programming Staff.

Action

Locate messages for the previous error(s) and take appropriate action. Consult your site's Systems Programming Staff for assistance in correcting the catalog information.

698

WARNING: name function not supported for VSAM files.
Errno value: EUSAGE

Explanation

The remove and rename function are not supported for VSAM files.

Action

VSAM files can be removed or renamed using Access Method Services.

699

WARNING: System macro "CATALOG UNCAT" failed with return code: 8, R0: hex-value, R1: hex-value.
Errno value: ESYS

Explanation

While removing or renaming an OS/390 data set, the library attempted to uncatalog the data set. The uncatalog operation failed with a system error. In the case of remove, the data set was scratched from the disk before uncatalog was attempted. In the case of rename, the library attempted to restore the file's original name after an uncatalog error occurred.

Action

Look up the failure codes in the IBM manual MVS/DFP System Programming Reference, and take appropriate action. If the failure indicates a programming error, contact SAS/C Technical Support.

700

ERROR: System ABEND code occurred loading module: name.
Errno value: ESYS

Explanation

An attempt was made to load a dynamic load module, but an unexpected system error occurred which prevented the module from being loaded.

Action

Look up the ABEND code in MVS/ESA System Codes and take appropriate action.

701

WARNING: Load module not found: name.
Errno value: ENFOUND

Explanation

An attempt was made to load a dynamic module, but the module was not found in any appropriate library. Under OS/390, the library searches first for the module in any active tasklibs, then in STEPLIB and JOBLIB, and finally in the system linklist and LPA. If the module appears to be a library module (that is, its name begins with LSC or L$), the library also searches the CTRANS data set.

Under CMS, the library searches DYNAMC LOADLIB, as well as any other locations specified by a call to addsrch. For run-time library modules, it searches in LSCRTL LOADLIB on an accessed disk, or possibly in a run-time library shared segment. For more information on the CMS search order, see the SAS/C Library Reference, Volume 2.

Action

Confirm that the module name and search order were specified correctly. Under OS/390, verify that the correct libraries were specified as STEPLIB or JOBLIB in the JCL. (If running under the UNIX Systems Services shell, verify that the STEPLIB environment variable has been defined appropriately.) Under CMS, verify that the mini-disk containing any required LOADLIB was correctly ACCESSed. Refer to Chapter 1, "Dynamic-Loading Functions" in SAS/C Library Reference, Volume 2, for complete details.

702

WARNING: No memory available to load module: name.
Errno value: ENOMEM

Explanation

An attempt was made to load a dynamic load module, but there was not enough memory to load it.

Action

Increase the program's region size, or reduce the program's memory requirements. If the module is marked AMODE=24, consider whether the application can be modified to run AMODE=31,RMODE=ANY.

704

WARNING: Load module name marked not executable.
Errno value: ENFOUND

Explanation

An attempt was made to load a dynamic load module that was marked not executable. This indicates that when the module was link-edited, one or more errors occurred that precluded load module execution. (A return code of 8 or greater is returned by the linkage editor when this occurs.)

Action

Verify that the load module that could not be loaded was linked successfully, with a return code less than 8. If it appears that the linkedit was successful, verify that libraries are specified in the right order in the JCL so that the module is being fetched from the correct library. If the link edit failed because routines that are not actually required for execution were absent, consider using the LET linkage editor option or the C __weak keyword.

705

WARNING: Search element type type-value unknown or not supported by system-name.
Errno value: EARG

Explanation

The addsrch function was called to add a specification to the dynamic loading search order, but the element type was unknown or not supported by the operating system.

Action

Verify that the search element type is one of the symbolic constants defined for this purpose in <dynam.h>, and that the element type is appropriate to the operating system. See SAS/C Library Reference, Volume 2, for details. Note that under OS/390 calls to addsrch specifying a CMS search element type are ignored, and no diagnostic is generated.

708

NOTE: Attempt to delete undefined search pointer.
Errno value: unchanged

Explanation

The function delsrch was called to delete a search element from the search list. The search element was not valid or has already been deleted. This message may indicate that the search element has been overlaid.

Action

Verify that the search element was stored correctly and has not been overlaid. If an overlay has apparently occurred, use the SAS/C debugger command monitor to locate the point of the overlay.

709

WARNING: Time of day unavailable, system clock not operational.
Errno value: EDEVICE

Explanation

A call was made to the time function to return the time of day. Time of day information was not available because the system time of day clock was not functional.

Action

This is most likely a hardware error. Contact your site's Systems Programming staff.

710

NOTE: Unable to determine time zone, Greenwich time assumed.
Errno value: unchanged

Explanation

One of the timing functions such as localtime attempted to determine the difference between local time and Greenwich time. This attempt failed, probably because of a hardware time-of-day clock failure. The library assumes that local time and Greenwich time should be the same.

Action

This is most likely a hardware error. Contact your site's Systems Programming staff.

711

WARNING: Argument to gmtime/localtime is not a proper time value.
Errno value: EARG

Explanation

The argument passed to the gmtime or localtime function specified a time that is outside the range of times that can be represented by the 370 time-of-day clock (from the year 1900 to the year 2041).

Action

Correct the program to pass a valid time_t value.

712

WARNING: An internal error occurred during gmtime/localtime processing.
Errno value: ELIBERR

Explanation

An internal error occurred converting a time_t value to a Gregorian date.

Action

Contact SAS/C Technical Support.

713

WARNING: Unknown system command type: text.
Errno value: EARG

Explanation

The program attempted to invoke a system command with an unsupported style prefix. The valid prefixes under OS/390 are PGM, TSO, and SH. The valid prefixes in CMS are CMS, CP, SUBSET, and XEDIT.

Action

Specify a valid system command prefix. If the system command to be executed has a colon in its first nine characters, add the default prefix to the start of the command to keep the text before the colon from being interpreted as a prefix.

714

WARNING: No command name present in "system" argument string.
Errno value: EARG

Explanation

The argument string passed to the system function was entirely blank or contained only a style prefix.

Action

Correct the program to specify a command name.

715

WARNING: [Command | Program] name too long: name....
Errno value: EARG | EUSAGE

Explanation

A call to system attempted to invoke a program or command longer than 8 characters, which is the maximum supported by OS/390. Note that the error may be in a CLIST or REXX EXEC invoked by the system function as well as in the argument to system.

Action

Correct the program, CLIST or REXX EXEC.

716

WARNING: [Program | Command] name was abnormally terminated with a [system | user] code of error-code
Errno value: ESYS

Explanation

A program or TSO command invoked by the system or oslink function, or by one of the OS/390 SUBCOM functions, abnormally terminated. In the case of system, the failing command may have been specified by a CLIST or REXX EXEC rather than by the caller of system.

Action

This message generally indicates a problem with the program or command being invoked, not with the caller of oslink or system. For a system code, refer to MVS/ESA System Codes for further information on the ABEND. If the program being invoked is a SAS/C program and the ABEND code is in the range 1200-1240, see Library ABEND Codes for further information. For other user ABEND codes, see the documentation for the program being invoked, or for other products used by that program (for example, FORTRAN or DL/I).

717

WARNING: Invalid TSO command name rejected: name
Errno value: EUSAGE

Explanation

An invocation of the system function to run a TSO command detected an invalid TSO command name. The invalid name may have been specified in a TSO CLIST or REXX EXEC rather than by the argument to system.

Action

Correct the program, CLIST or REXX EXEC. See the TSO/E User's Guide for information on TSO command syntax.

718

WARNING: TSO environment not active, "system" command rejected.
Errno value: EUSAGE

Explanation

The system function was called to issue a TSO command but the program was not running in a TSO environment. The request was rejected.

Action

Avoid use of the system function using the TSO style prefix for programs not run under TSO. The envname function can be used to determine if the program is running under TSO.

719

NOTE: name signal not supported in environment.
Errno value: unchanged

Explanation

An attempt was made to handle a signal that is not supported in the current environment, for example, SIGINT in OS/390 batch or CICS. The call to signal or sigaction indicates success, but the only way the signal can be generated is using the raise function.

Action

Correct the program so that it does not attempt to handle signals that are not supported by the expected environment. Also, see the SAS/C Library Reference, Volume 1, for information on using the quiet function to suppress unwanted run-time messages.

720

NOTE: Invalid data in TSO environment file: line
Errno value: unchanged

Explanation

Invalid data was found in the file containing definitions of PERMANENT scope TSO environment variables. The invalid data was ignored, and processing of the file continued.

Action

If you have edited or modified the PERMANENT scope environment variable file (normally called C@ENV.PERM), correct the file. Otherwise, contact SAS/C Technical Support. See the SAS/C Library Reference, Volume 1, for information on the contents of this file.

721

NOTE: Unexpected end of TSO environment file.
Errno value: unchanged

Explanation

An environment variable function such as getenv encountered an unexpected end-of-file trying to process the TSO permanent environment variable file (normally called C@ENV.PERM). Any incomplete data was ignored.

Action

Same as for message 720.

722

WARNING: Unable to allocate TSO environment file, DYNALLOC error code hex-value
Errno value: ESYS

Explanation

The library failed to allocate the TSO PERMANENT scope environment variable file. For a call to getenv, the library assumes there are no PERMANENT scope variables. For a putenv or setenv call, an error is indicated to the caller.

Action

Look up the DYNALLOC error code in MVS/ESA Application Development Reference: Services for Authorized Assembler Language Programs and take appropriate action. If the code indicates a programming problem, contact SAS/C Technical Support. For information on how the library allocates and uses the environment variable file, see the SAS/C Library Reference, Volume 1.

723

WARNING: Error reading TSO environment file: text
Errno value: EDEVICE

Explanation

An I/O error occurred reading the TSO permanent scope environment variable file. The cause (as supplied by the SYNADAF macro) is given in the message.

Action

This may be caused by allocating a file to the DDname C@ENV that does not have an appropriate DCB (RECFM VB, LRECL 259). Check the file's DCB, and also check the OS/390 console log for message IOS000I, indicating a hardware problem. If a hardware problem is indicated, report the message to your site's Systems Programming Staff.

723

WARNING: EXEC CICS name TS QUEUE(name) failed with response code response-code while attempting to access environment variables.
Errno value: EACCES, EDEVICE, ESYS, ENOSPC

Explanation

An EXEC CICS READQ or WRITEQ command failed while trying to read or write the temporary storage queue used to store environment variables.

Action

The response code should indicate the action to take. Response codes can be found in the appropriate CICS documentation under EIBRESP and are listed after the READQ and WRITEQ command descriptions. For example, a response code corresponding to NOSPACE occurs when insufficient space is available in the temporary storage data set, while a response code corresponding to IOERR occurs when there is an unrecoverable I/O error in the temporary storage data set.

724

WARNING: Permanent environment variables not supported in batch.
Errno value: EUNSUPP

Explanation

The putenv or setenv function was called to update a PERMANENT scope environment variable in a program running under the TSO terminal monitor (IKJEFT01) in batch, but there was no C@ENV DD statement defined. PERMANENT scope environment variables can be accessed in batch only when running under IKJEFT01, and only if a C@ENV DD statement is present.

Action

Supply the DD statement or correct the program not to attempt to access PERMANENT scope environment variables in batch.

725

WARNING: putenv failed due to improper sharing of TSO subpool 78.
Errno value: EUSAGE

Explanation

A call to putenv or setenv failed because an ancestor task of the C program failed to share TSO subpool 78 properly with its subtask. Full SAS/C TSO environment variable support is dependent on proper sharing of subpool 78.

Action

Determine the program that is failing to share subpool 78 with its subtasks, and correct that program. If this is not possible, modify the program not to call putenv or setenv to update non-PROGRAM scope environment variables.

725

WARNING: putenv failed due to improper sharing of CICS temporary storage queue name.
Errno value: EUSAGE

Explanation

Environment variables are stored in the first record of a temporary storage queue. The stored variables are preceded by an identifying header. In this particular instance, the temporary storage queue identified by name was found to contain a record which did not have a recognizable header. The SAS/C library assumes that the named queue is being used for some other purpose and cannot be used to store or retrieve environment variables.

Action

The default queue name used by the library is the VTAM luname associated with the transaction. If the named queue is already used for something other than storing environment variables, then modify the code in the user-replaceable module L$UEVQN to choose a different name for the library to use.

730

WARNING: The name function is not supported in CICS.
Errno value: ESYS

Explanation

A function was called that is not supported in CICS.

Action

Correct the program. The iscics function can be used to check whether or not the program is in a CICS environment. See the SAS/C Library Reference, Volume 1, for information on iscics.

800

WARNING: Environment name name not acceptable to CLIST/Rexx.
Errno value: EARG

Explanation

The environment name passed to execinit is not supported by the command language (CLIST or REXX under TSO, REXX under UNIX Systems Services). The environment name is limited to 8 characters, which must be alphabetc, numeric or national ($, # or @) characters.

800

NOTE: CMS macro "name" failed with RC = return-code
Errno value: ESYS or unchanged if NOTE
WARNING: CMS macro "name" failed with RC = return-code
Errno value: ESYS or unchanged if NOTE

Explanation

The indicated CMS macro failed, producing the indicated return code. If the message is a NOTE, execution was able to proceed, ignoring the error. If the message is a WARNING, the function that detected the error returned failure to its caller.

Action

Refer to the CMS Application Development Reference for Assembler for an explanation of the return code and take appropriate action. If the return code indicates a programming problem, contact SAS/C Technical Support.

801

WARNING: function-name rejected, a valid TSO or OpenEdition environment does not exist.
Errno value: EUSAGE

Explanation

The execinit or execmsg function was called, but the program was not called with UNIX Systems Services exec-linkage and was not running in a TSO address space with valid TSO control blocks.

Action

SUBCOM applications can only be run under TSO or when UNIX Systems Services exec-linkage is in use (for instance, under the UNIX Systems Services shell). To run a SUBCOM program in OS/390 batch, consider use of the background TMP (IKJEFT01).

801

WARNING: Unknown parameter "name" in call to "routine"
Errno value: ESYS

Explanation

An invalid call was made to a REXX function package. The parameter list includes an argument that is not defined by REXX.

Action

Check that the function package has been called properly by REXX. If the call appears to be correct, contact SAS/C Technical Support.

802

WARNING: NUCXLOAD command failed for "program-name"
Errno value: ESYS

Explanation

An error occurred when the CMS NUCXLOAD command was used by a REXX function package. This is probably a SAS/C internal error.

Action

Contact SAS/C Technical Support.

803

WARNING: Attempt to call name without a previous successful call of execinit.
Errno value: EUSAGE

Explanation

The program called a function which requires the prior use of execinit to define a SUBCOM environment. execinit was not called, or the call was unsuccessful.

Action

Correct the program to call execinit and to check the return code for failure.

804

WARNING: Argument to execcall is not a valid EXEC command.
Errno value: EARG

Explanation

The argument passed to execcall was not an implicit or explicit EXEC command. There may have been invalid characters in the command name.

Action

Correct the program to pass a valid command name.


805

WARNING: execinit rejected, previous use of execinit is still active.
Errno value: EUSAGE

Explanation

execinit was called twice in the same program without an intervening call to execend.

Action

Correct the program to call execend between calls to execinit.

806

WARNING: Rexx input line longer than 32763 characters cannot be processed.
Errno value: ELIMIT

Explanation

A very long line was read from a Rexx exec. Due to CLIST compatibility requirements, the SAS/C SUBCOM interface cannot accept a line longer than 32763 characters.

Action

Rewrite the REXX exec to use shorter lines.

806

WARNING: Environment name is missing.
Errno value: EUSAGE

Explanation

A call to execinit specified a null environment name. A valid environment name must be specified so it can be addressed in an EXEC.

Action

Correct the program. See the documentation on execinit in the SAS/C Library Reference, volume 2 for more information on SUBCOM environment names.

807

WARNING: Non-interactive execution inhibited.
Errno value: EUSAGE

Explanation

The function execinit was called to initialize a non-interactive SUBCOM environment, but the program was not called directly from CMS. (For instance, it was called by an assembler language routine.) The non-interactive SUBCOM mode is supported only for programs called directly from CMS.

Action

Ensure that the application is called directly from CMS, removing any non-C front-ends. Alternately, redefine the application to use the interactive rather than the non-interactive SUBCOM mode.


808

WARNING: OpenEdition does not support non-interactive use of execinit.
Errno value: EUNSUPP

Explanation

The UNIX Systems Services REXX implementation cannot support the non-interactive mode of the SAS/C SUBCOM support.

Action

Modify the application to specify interactive mode when calling execinit.

809

WARNING: Variable name: name or length: length is invalid.
Errno value: EUSAGE

Explanation

A variable name or length passed to the execshv function was invalid. The length is limited by CMS to 250 characters. The name is validated to make sure it contains only supported characters.

Action

Correct the program. See the REXX/VM Reference and the CMS User's Guide publications for more information on valid EXEC variables.

810

WARNING: Unknown execshv function code: code-value.
Errno value: EARG

Explanation

An invalid function code was passed to the execshv function.

Action

Correct the argument to execshv to use a symbolic name described in the documentation.

811

WARNING: This environment does not support the TSO CLIST variable access interface.
Errno value: ENOSYS

Explanation

The execshv function requires a version of TSO/E that supports the IKJCT441 interface routine.

Action

Run the program on a system with a recent version of TSO/E, or modify the program not to call the execshv function.


812

WARNING: Length of Rexx/CLIST variable name is non-positive or too large: name-length.
Errno value: EUSAGE

Explanation

The arguments to execshv specified a negative variable name length or a length larger than supported by TSO.

812

WARNING: The extended function names CSECT has been deleted.
Errno value: EUSAGE

Explanation

While scanning the list of functions passed to cmsrxfn, the library found a function with an extended name. The extended names CSECT is not present, presumably because it was deleted during CLINK/COOL processing. cmsrxfn is therefore unable to determine the function names to be passed to REXX.

Action

Do not delete the extended names CSECT when linking a REXX function package. That is, specify the CLINK/COOL option xfnmkeep option, or allow it to default.

813

WARNING: Invalid Rexx/CLIST variable name: name
Errno value: EUSAGE

Explanation

A call to execshv specified an invalid variable name. The variable names are validated by TSO.

814

WARNING: Update of CLIST variable not supported: name
Errno value: EUSAGE

Explanation

A call to execshv requested that a CLIST variable be updated, but the CLIST language does not support update of this variable. Probably the variable is a CLIST &SYS... constant symbol such as $SYSTIME.

815

WARNING: execget failed due to insufficient memory.
Errno value: ENOMEM

Explanation

The execget function failed to return an input line to its caller because there was not enough memory to make a copy of the input.

Action

Ensure that sufficient memory is available.

816

WARNING: TSO Rexx/CLIST interface not supported in child process.
Errno value: ESYS

Explanation

An attempt was made to use one of the functions execcall, execid, execget, or execrc in a child process created by a TSO address space. A child process of a TSO address space is not itself a TSO address space, and therefore these functions can no longer be called.

Action

Change the program not to call any SUBCOM functions in a child process. The execend function can be called in this situation, and it will release any resources previously allocated by the TSO SUBCOM interface.

820

WARNING: Invalid DCB keyword: keyword.
Errno value: EARG

Explanation

A call to osdcb specified an invalid or unsupported DCB keyword.

Action

See SAS/C Library Reference, Volume 2, for a list of the valid keywords for osdcb.

821

WARNING: Data set name could not be opened, members not returned.
Errno value: ESYS

Explanation

osdfind/osdnext was unable to return the members for the named PDS because the PDS could not be opened.

Action

Check the job log for OS/390 messages giving further information about the failure. If running in TSO, specify PROFILE WTPMSG, which causes many OS/390 messages to be displayed at the terminal, and run again to get further information.

822

WARNING: Unexpected end of file on directory of PDS name.
Errno value: ECORRUPT

Explanation

The directory of a PDS ended unexpectedly. This is probably an indication that the directory has been damaged.

Action

Report this message to your Systems Programming Staff, who may be able to recover the PDS or restore it from a backup copy.

823

WARNING: I/O error reading directory of PDS name.
Errno value: EDEVICE

Explanation

An input error occurred reading the directory of the PDS listed. This may be a hardware error or may indicate software damage to the PDS.

Action

Report this message to your Systems Programming Staff, who may be able to determine the cause of the error and whether recovery is possible.

824

WARNING: Invalid pattern for osdfind: explanation.
Errno value: EARG

Explanation

The data set name pattern passed to osdfind was invalid. The text in the message is a more detailed explanation of the error, for instance, name too long.

830

NOTE: name subsystem unavailable for name.
Errno value: unchanged

Explanation

The VMCF subsystem of the IBM TCP/IP product is not running. Either IBM TCP/IP is not installed, or it has not been correctly initialized.

If your site runs a non-IBM TCP/IP product, this message indicates that your program has accessed the IBM TCP/IP interface module (LSCNCOM) rather than the module for your TCP/IP vendor's product.

Action

Consult your Systems Programming Staff. If your site runs a non-IBM TCP/IP product, ensure that your STEPLIB or CTRANS libraries are defined to access the correct version of LSCNCOM.

Also, you can use the setsockimp function to specify which TCP/IP implementation to use. See SAS/C Library Reference, Volume 2 for more information on this function.


840

WARNING: Unsupported dynamic allocation action code.
Errno value: EARG

Explanation

The first argument to osdynalloc was not one of the defined dynamic allocation action codes.

Action

Correct the program to pass one of the symbolic action codes defined in <os.h>.

841

WARNING: Unrecognized osdynalloc keyword: name
Errno value: EARG

Explanation

The second argument to osdynalloc included a keyword not defined for the dynamic allocation action requested.

Action

Correct the argument.

842

WARNING: osdynalloc keyword name must not specify a value.
Errno value: EARG

Explanation

The osdynalloc keywords string included a keyword which cannot have an associated value, but a value was specified. For example, the string contained tracks=5 rather than tracks,space1=5.

Action

Correct the argument.

843

WARNING: osdynalloc keyword name must specify a value.
Errno value: EARG

Explanation

The osdynalloc keywords string included a keyword which requires an associated value, but no value was specified. For example, the string contained spin rather than spin=unalloc.

Action

Correct the argument.

844

WARNING: Value of osdynalloc keyword name is too long.
Errno value: EARG

Explanation

The value specified by the named keyword in the osdynalloc keyword string was unreasonably long. Perhaps a comma has been unintentionally omitted.

Action

Correct the argument.

845

WARNING: Value of osdynalloc keyword name is out of range.
Errno value: EARG

Explanation

The numeric value specified by the named keyword in the osdynalloc keyword string was outside the meaningful range for the keyword.

Action

Correct the argument.

846

WARNING: Value of osdynalloc keyword name is not recognized.
Errno value: EARG

Explanation

The value specified by the named keyword in the osdynalloc keyword string was not recognized. The named keyword is restricted to a small set of values. For example the DYN_ALLOC keyword status is only allowed a value of OLD, NEW, MOD, or SHR.

Action

Correct the argument.

847

WARNING: Character 'character' in name keyword is not meaningful.
Errno value: EARG

Explanation

The value specified by the named keyword in the osdynalloc keyword string included an unrecognized character. The named keyword is restricted to a string of characters from a specific set. For instance, the specification recfm=vby is rejected because y is not a meaningful RECFM specification.

Action

Correct the argument.

848

WARNING: osdynalloc name value does not have the required format.
Errno value: EARG

Explanation

The value for the named keyword in the osdynalloc keyword string was not specified correctly. For example, the value for the expdt keyword did not match any of the permitted formats: yyddd, yyyyddd or yyyy/ddd.

Action

Correct the argument.

849

WARNING: osdynalloc name keyword specified incorrectly.
Errno value: EARG

Explanation

The value for the named keyword in the osdynalloc keyword string was not specified correctly. For example, the second item specified for the secmodel keyword was not GENERIC.

Action

Correct the argument.

850

WARNING: osdynalloc name keyword specifies a [invalid | negative] integer or pointer value.
Errno value: EARG

Explanation

The value specified by the named keyword in the osdynalloc keyword string was not a valid positive number.

Action

Correct the argument.

851

WARNING: No user id available, unable to complete keyword specification.
Errno value: EUSAGE

Explanation

The value for the named keyword in the osdynalloc keyword string was specified as an incomplete data set name, starting with a period. The library was unable to determine the OS/390 user id associated with the job, and therefore the name could not be completed.

Action

Specify a complete data set name, or run the program in an environment where a user id can be determined.

852

WARNING: Internal error in osdynalloc.
Errno value: ELIBERR

Explanation

An unexpected situation was detected in osdynalloc. The allocation was not performed.

Action

Report this message to SAS/C Technical Support.

860

WARNING: style-code file name cannot be resolved, no userid can be determined.
Errno value: ESYS

Explanation

A request was made to open a tso or cms style file name in a non-TSO environment, and no userid could be determined. This usually means one of two things: the site is not running a RACF compatible security product; or the program is running as an OS/390 started task, and the security system has not been configured to define a userid for started tasks.

Action

Either run the program in an environment where a userid will be available, or use dsn or ddn style file names rather than tso names.

861

WARNING: A "terminal" file cannot be opened for input in batch.
Errno value: EUSAGE

Explanation

An attempt has been made to open the file name * for input in OS/390 batch. In batch, * is only supported for output (where it specifies the DDname SYSTERM).

Action

Modify the program to call the intractv function to determine whether it is running in batch or TSO, and use a different input file name in batch.

862

WARNING: Unable to allocate file. DYNALLOC macro return code return-code error reason code hex-value info hex-value
Errno value: ESYS

Explanation

While opening a dsn or tso style file name, dynamic allocation experienced an unexpected failure. System information associated with the failure is printed in the message.

Action

Look up the error codes in the IBM MVS/ESA Application Development Guide: Authorized Assembler Language Programs and take appropriate action. If the error codes indicate a programming problem, this is a SAS/C library internal error.

863

WARNING: Existing file is not organization-type.
Errno value: EUSAGE

Explanation

The file to be opened did not have the required organization. This message most frequently occurs when the file name specifies a member name, but the data set is not a PDS.

Action

Specify the file name correctly.

864

WARNING: File not created, parameter=value conflicts with member name in file name.
Errno value: EUSAGE

Explanation

The file to be opened does not exist, and an amparm was specified which cannot be used with a PDS, such as dir=0. However, the file name includes a member name. The file is not created.

Action

Correct the amparms or the file name.

865

WARNING: Unable to deallocate file. DYNALLOC macro return code return-code error reason code hex-value info hex-value
Errno value: ESYS

Explanation

During the opening of a dsn or tso style file name, the data set was allocated, and then open failed for some reason described by a previous message. When the library attempted to free the allocation after the previous error, the DYNALLOC SVC failed.

Action

Look up the error codes in the IBM MVS/ESA Application Development Guide: Authorized Assembler Language Programs and take appropriate action. If the error codes indicate a programming problem, this is a SAS/C library internal error.

866

WARNING: File not action, name style prefix not supported by operating system.
Errno value: EARG

Explanation

Opening a file with a dsn or tso style file name requires the use of the DYNALLOC SVC, but this is not supported by the operating system.

Action

Do not use dsn or tso style file names under an operating system which does not support dynamic allocation.

867

WARNING: File not opened, parameter amparm also requires other-parameters.
Errno value: EARG

Explanation

In a call to afopen or aopen, an amparm was used which requires another amparm to be meaningful. For instance, alcunit=block was specified, but the blksize amparm was not specified.

Action

Correct the program to specify all required amparms.

868

WARNING: Unable to allocate file. Request denied by installation validation routine.
Errno value: ESYS

Explanation

While opening a dsn or tso style file name, the library invoked the DYNALLOC SVC to allocate the file. This request was failed by the site's dynamic allocation exit.

Action

Contact your Systems Programming Staff to determine why this condition occurred and how to correct it.

869

WARNING: File name name cannot be action.
Errno value: EARG

Explanation

An attempt was made to remove or rename a dsn or tso style file name which cannot be removed or renamed. Examples of such files include the terminal, NULLFILE, SYSOUT files and temporary data sets.

Action

Do not attempt to remove or rename files other than permanent disk files.

870

WARNING: Invalid name style file name.
Errno value: EARG

Explanation

A tso or dsn file name did not have the correct form.

871

WARNING: File not allocated, exclusive access required and not available.
Errno value: EINUSE

Explanation

An attempt was made to open a tso or dsn file name for writing. The file was already allocated and was shared with another job or user. The library was therefore unable to get exclusive use of the file.

Action

Run the program when no other users are using the file. Alternately, access the file via a DDname, which can be allocated SHR and shared with other users. (However, note that only one job or session should have the data set open at a time, or the effects are unpredictable.)

872

WARNING: File in use by another job or user.
Errno value: EINUSE

Explanation

An attempt was made to open a tso or dsn file name for writing. The library attempted to allocate the file OLD, but another job or user had the file allocated, so the attempt failed.

Action

Run the program when no other users are using the file. Alternately, access the file via a DDname, which can be allocated SHR and shared with other users. (However, note that only one job or session should have the data set open at a time, or the effects are unpredictable.)

873

WARNING: Volume name not mounted. Probable cause: volume invalid.
Errno value: EARG

Explanation

An attempt was made to open a tso or dsn file name, specifying the vol amparm. The volume specified was not or could not be mounted. This may indicate that the volume name was invalid.

Action

Correct the volume name, or contact Operations staff to determine why the volume was not mounted.

874

WARNING: File not allocated, unit name name not defined.
Errno value: EARG

Explanation

An attempt was made to open a tso or dsn file name, specifying the unit amparm. The unit specified needs to be defined.

875

WARNING: File not allocated, parameter-name is invalid.
Errno value: EARG

Explanation

One or more of the arguments to the failing function had incorrect syntax, for instance, the data set name, the member name, or the storage class.

Action

Correct the incorrect parameter.

876

WARNING: File not allocated, parameter-name is too long.
Errno value: EARG

Explanation

One or more of the arguments to the failing function was too long, for instance, the data set name, the member name, or the storage class.

Action

Correct the incorrect parameter.

877

WARNING: File not allocated, request denied by operator.
Errno value: ESYS

Explanation

Opening a dsn or tso style file name required operator action, but the operator cancelled the allocation request. This usually indicates that the allocation required mounting of an offline volume.

Action

Correct the file name not to require operator action, or consult with your Operations Staff on how to request operator action.

878

WARNING: File not allocated, request denied by operator. Probable cause: volume name invalid.
Errno value: ESYS

Explanation

Opening a dsn or tso style file name required operator action, but the operator cancelled the allocation request. This usually indicates that the volume requested using the vol amparm was not valid.

Action

Correct the volume name so that operator action is not required, or consult with your Operations Staff on how to request operator action.

879

WARNING: Data set does not exist: name.
Errno value: ENFOUND

Explanation

The program requested opening a data set which does not exist for input. The data set name could not be found in either the system catalog or the list of currently allocated files.

Action

Correct the file name to specify an existing file, or open the file for writing as well as reading to allow the file to be created.

880

WARNING: File not allocated, disk space not available.
Errno value: ENOSPC

Explanation

The file requested could not be created due to insufficient disk space on suitable volumes.

Action

Lower the amount of space requested, or report this condition to your site's Systems Programming Staff for advice.

881

WARNING: File not allocated, dsname conflicts with the name of an existing file.
Errno value: EUSAGE

Explanation

An attempt was made to create a file whose name conflicts with the name of an existing file. For instance, an attempt was made to create FRED.MASTER.DATA when FRED.MASTER already exists. Note that this condition occurs only when the created file is cataloged in a CVOL.

Action

Consult with your Systems Programming Staff for information on how to circumvent this condition.

882

WARNING: File not allocated, conflicting specifications parameter=value and parameter=value.
Errno value: EUSAGE

Explanation

Conflicting amparms were specified, for instance, dir=5 or keylen=8 and org=ps.

Action

Correct the conflicting amparms.

883

NOTE: Operating system does not support PDS/E. org=pdse treated as org=po.
Errno value: EUSAGE

Explanation

A request was made to create a data set as a PDS/E, but the operating system does not support PDS/E. (MVS/ESA 3.2 is required.) The data set is created as a regular PDS, and no error is indicated to the caller of afopen.

Action

None required. To avoid the message, correct the program not to request a PDS/E in an operating system which does not support them.

884

WARNING: A linear data set may not be opened for keyed access.
Errno value: EARG

Explanation

An attempt was made to open a linear data set (DIV object) for keyed access mode (open mode rk, wk, etc.) A linear data set can only be opened for binary access.

885

WARNING: Dynamic creation of VSAM files is not supported by this operating system.
Errno value: ESYS

Explanation

The library was unable to create a new VSAM data set because this level of the operating system does not support dynamic allocation of new VSAM files.

Action

Do not request dynamic creation of VSAM files unless your level of the operating system will support this.

886

WARNING: A non-zero key length must be specified when creating a VSAM KSDS.
Errno value: EUSAGE

Explanation

The library was unable to create a new VSAM data set because the amparms did not specify a key length or specified keylen=0. Note, if you open a non-existing file for keyed access, it is assumed to be a KSDS unless you use the org amparm to specify differently.

Action

Either specify a nonzero keylen value in the amparms, or modify the org amparm to request an ESDS or RRDS.

887

WARNING: The specification amparm is not supported by VSAM.
Errno value: EARG

Explanation

A VSAM-related amparm is outside the range of values accepted by VSAM. For instance, a key length greater than 255 was specified.

Action

Correct the amparm to be acceptable to VSAM. VSAM allows a maximum keylen of 255, a maximum keyoff of 32760, and a maximum reclen of 32760.

889

WARNING: File not opened due to library errors. Too many allocation text units.
Errno value: ELIBERR

Explanation

While attempting to open a file defined with a dsn or tso style name, the library suffered an internal error.

890

WARNING: Unable to allocate new VSAM data set. Probable cause: SMS not active.
Errno value: ESYS

Explanation

When the library attempted to create a new VSAM file, a sequential file was created instead. Most likely, SMS was not active.

Action

Report this error to your Systems Programming Staff.

891

WARNING: A name style file name cannot be opened with "org=value."
Errno value: EARG

Explanation

An attempt was made to open a dsn or tso style file name specifying org=byte. This file organization is valid only for UNIX Systems Services HFS files.

Action

Correct either the file name or the org amparm.

900

WARNING: function-name failed, OpenEdition is not installed.
Errno value: EMVSNOTUP

Explanation

UNIX Systems Services must be installed and active to call this function. This message may also be generated if a program linked with a version of the SAS/C Library which did not support UNIX Systems Services attempts to use an UNIX Systems Services service, such as opening an HFS file.

Action

Do not use UNIX Systems Services-dependent functions on a system where UNIX Systems Services is not installed.

901

WARNING: function-name failed, incorrect arguments passed by library, reason code hex-value.
Errno value: ELIBERR

Explanation

Erroneous arguments were passed to the UNIX Systems Services interface for the function specified. This is probably a library internal error.

902

WARNING: function-name failed because text, reason code hex-value.
Errno value: various

Explanation

UNIX Systems Services OS/390 detected a function failure. Possible reasons include dynamic allocation error, HFS permanent file error, and SAF extract error. Check the Assembler Callable Services for UNIX Systems Services OS/390 for further information. This message probably indicates a problem within UNIX Systems Services OS/390.

903

WARNING: Invalid argument to function-name.
Errno value: EINVAL or EFAULT

Explanation

An invalid argument was passed to the named function.

Action

Check that all arguments have been specified properly. If the The errno variable is EFAULT, the invalid argument was a pointer which did not address a valid memory location.

904

WARNING: Unexpected failure in function-name, reason code hex-value.
Errno value: various

Explanation

When the library called UNIX Systems Services to perform the specified function, an errno variable value not documented for that function was returned. This may be a run-time library error.

Action

Consult the list of errno values in Appendix 2, "ERRNO Values" and take appropriate action.

905

WARNING: Descriptor descriptor-number is not associated with an open HFS file.
Errno value: EBADF

Explanation

The program called a function that requires an argument to be the file descriptor for an open HFS file.

906

WARNING: function-name failed, file was opened read-only.
Errno value: EBADF

Explanation

The indicated function requires a file descriptor that allows writing.

907

WARNING: Descriptor descriptor-number is not associated with a regular HFS file.
Errno value: EBADF

Explanation

The program called a function that requires an argument to be a regular HFS file, that is, a disk file rather than a pipe, socket or terminal file.

Action

Correct the program to ensure that the argument to the failing function is the file descriptor for a regular HFS file.

908

WARNING: File system name is already mounted.
Errno value: EINVAL

Explanation

The program attempted to mount an already mounted file system.

Action

Do not mount a file system more than once.

909

WARNING: Mount point name is the root of an already mounted file system.
Errno value: EINVAL

Explanation

The first argument to the mount function specified a directory that was the target of a previous mount request.

Action

Do not attempt to mount more than one file system into the same directory.

910

WARNING: The program owning the name file system has not been started.
Errno value: EINVAL

Explanation

The call to the mount function specified a file system that was not activated when UNIX Systems Services was initialized.

Action

Contact your Systems Programming Staff for assistance.

911

WARNING: function-name failed due to system limit on the number of open files.
Errno value: ENFILE

Explanation

A call to open, pipe or socket failed because a system limit of the total number of open HFS files was exceeded.

Action

Either modify your program to open fewer files and sockets, or contact your systems programming staff to increase the system limit on open HFS files.

912

WARNING: Argument to function-name does not reference an open directory.
Errno value: EBADF

Explanation

An argument to readdir, rewinddir, or closedir does not correctly identify a directory stream opened with opendir. The argument may have been overlaid.

Action

Make sure the argument was passed to opendir before use and that it has not been inadvertently modified.

913

WARNING: Overflow occurred during computation of times() results.
Errno value: ERANGE

Explanation

One or more of the values returned by times could not be returned accurately due to overflow. -1 was stored in place of the correct value. Overflow occurs if any value is greater than 2[31] seconds.

914

WARNING: The file system to be unmounted is still in use.
Errno value: EBUSY

Explanation

A call to the umount function specified the argument MTM_UMOUNT, but the file system was still in use.

Action

If the file system must be unmounted despite being in use, specify another argument to umount. See the umount function description in SAS/C Library Reference, Volume 2.

915

WARNING: Signal number not supported by OpenEdition: signal-number.
Errno value: EINVAL

Explanation

The argument to the kill function is not the number of a signal supported by UNIX Systems Services OS/390.

Action

Correct the program to specify a signal supported by UNIX Systems Services OS/390. See "Signal Handling" in SAS/C Library Reference, Volume 1.

916

WARNING: File descriptor descriptor-number not valid for fcntl request name.
Errno value: EBADF

Explanation

The indicated file descriptor was not valid for the indicated fcntl request. For instance, to process a F_SETLK request for an exclusive lock, open the file descriptor for writing.

Action

Correct the fcntl call.

917

WARNING: Attempt to action action-only file.
Errno value: EBADF

Explanation

An attempt has been made to read a write-only file or to write a read-only file.

918

WARNING: Ambiguous use of file descriptor descriptor-number.
Errno value: EBADF

Explanation

An attempt was made to access a standard file descriptor (0, 1 or 2) that was allocated to some other file descriptor. The requested file descriptor number was not in use. This situation can arise only in unusual circumstances, generally involving the freopen function.

Action

Avoid referring to a file using a standard file descriptor number with which it is not normally associated.

919

WARNING: Open failed, HFS pathname or pathname component too long.
Errno value: ENAMETOOLONG

Explanation

A pathname passed to an UNIX Systems Services function was too long or contained a component which was too long. The maximum length of a path name under UNIX Systems Services is 1024 bytes; the maximum component length is 255.

920

WARNING: Unable to open shadow file (/dev/null) for socket.
Errno value: various

Explanation

When a non-integrated socket is accessed, the library opens a shadow file of /dev/null to prevent UNIX Systems Services from reassigning the file number assigned to the socket. This diagnostic is issued if this open fails. Note that this condition also causes the socket access to fail.

Action

Consult the list of errno values in Appendix 2, "ERRNO Values" and take appropriate action.

921

WARNING: Descriptor descriptor-number is not an open HFS file or socket.
Errno value: EBADF

Explanation

The first argument to fcntl must be an open HFS file descriptor or an open socket descriptor.

922

WARNING: Invalid file descriptor: descriptor-number.
Errno value: EBADF

Explanation

This message probably indicates an internal library error.

923

WARNING: fdopen failed, open mode incompatible with the file descriptor.
Errno value: EFATTR

Explanation

fdopen either was set to read in a file descriptor that was not opened for reading or set to write in a file descriptor that did not permit writing.

924

NOTE: Access method parameter parameter ignored for HFS file.
Errno value: unchanged

Explanation

The amparm indicated was not meaningful for an HFS file and was ignored. However, the file will be opened successfully if no more serious conditions are detected.

925

WARNING: DD statement specifies unsupported file type: DD-name.
Errno value: EFATTR

Explanation

An attempt was made to open a DDname, but the DDname specified an unusual file type which could not be opened.

Action

Correct the DD statement to specify a valid OS/390 or HFS file.

926

WARNING: DYNALLOC macro ERROR: return code return-code, error reason code hex-value info hex-value.
Errno value: ESYS

Explanation

The library issued DYNALLOC to obtain information about a DD statement allocated to an HFS file, but DYNALLOC failed as indicated.

Action

Look up the error codes in the IBM MVS/ESA Application Development Guide: Authorized Assembler Language Programs and take appropriate action. If the error codes indicate a programming problem, this is a SAS/C library internal error.

927

WARNING: File cannot be opened, DD statement specifies action only.
Errno value: EFATTR

Explanation

An attempt to open a DDname allocated to an HFS file failed because the open mode conflicted with the PATHOPTS specified on the DD statement. For example, the program attempted to open the file for reading, but PATHOPTS specified OWRONLY.

Action

Correct the program or the DD statement as appropriate.

928

WARNING: File not allocated, environment variable name specifies an invalid data set name.
Errno value: EFATTR

Explanation

An exec-linkage program attempted to open a DDname defined by an environment variable, but the value of the environment variable is not a valid OS/390 data set name.

Action

Correct the environment variable to specify a valid data set name or HFS file name.

929

WARNING: DD name DD-name not allocated - reason.
Errno value: various

Explanation

An exec-linkage program attempted to open a DDname identified by an environment variable, but the file could not be allocated. Possible reasons for this failure include data set name invalid, member name invalid, data set not found, data set in use, reserved DD name, and denied by installation exit.

Action


930

WARNING: DD-name allocation failure - DYNALLOC return code return-code, error code hex-value info hex-value.
Errno value: ESYS or ELIBERR

Explanation

An exec-linkage program attempted to open a DDname identified by an environment variable, but the file could not be allocated due to an unusual condition. If the errno variable is ELIBERR, the failure was an internal library error.

Action

Look up the error codes in the IBM MVS/ESA Application Development Guide: Authorized Assembler Language Programs and take appropriate action. If the error codes indicate a programming problem, this is a SAS/C library internal error.

931

WARNING: File path-name not allocated to DD name DD-name - OpenEdition reason code hex-value.
Errno value: various

Explanation

An exec-linkage program attempted to open a DDname identified by an environment specifying an HFS file, but the file could not be allocated. The errno variable value and reason code identify the cause of the failure.

Action

Consult the list of errno values in Appendix 2, "ERRNO Values" and take appropriate action. The reason code can be looked up in Assembler Callable Services for UNIX Systems Services OS/390 for further information. This message may indicate a problem within UNIX Systems Services OS/390.

932

WARNING: function-name failed due to insufficient memory.
Errno value: ENOMEM

Explanation

The fork or oeattach function failed due to insufficient memory.

Action

Report this error to Systems Programming Staff. Note that it is unlikely that this condition can be corrected by specifying a larger region size.

933

WARNING: function-name failed due to insufficient resources or environmental error - reason code hex-value.
Errno value: EAGAIN

Explanation

An error occurred in the fork or oeattach function. This message may indicate a temporary condition.

Action

Look up the reason code in Assembler Callable Services for UNIX Systems Services OS/390 for further information. This message may indicate a problem within UNIX Systems Services OS/390.

934

WARNING: fork not permitted - conflicts with =multitask runtime option.
Errno value: EFORBID

Explanation

A program running with the =multitask run-time option invoked the fork function, which is not compatible with this option.

Action

If the program requires the use of fork, run it without the =multitask option.

935

WARNING: File is no longer accessible in child process.
Errno value: ESYS

Explanation

The child of a SAS/C program attempted to access an OS/390 file opened by its parent. Only HFS files opened in the parent can be accessed in a child.

Action

Correct the child so it does not access OS/390 files opened by the parent, other than to close them.

936

WARNING: Function not supported for style-code style file names.
Errno value: EINVAL

Explanation

A function was called for a file whose name specified an invalid type of file, for instance, a style which does not support directories for the chdir function.

Action

Correct the program so it specifies an appropriate file name. Note that if the application is not compiled with the posix compiler option, an explicit style prefix of hfs: is required to access an HFS file (unless hfs is the default style).

937

WARNING: Socket is no longer accessible in child process.
Errno value: ESYS

Explanation

The child of a SAS/C program attempted to access a non-integrated socket opened by its parent. Only integrated sockets opened in the parent can be accessed in a child.

Action

Avoid accessing a non-integrated socket opened by a parent in a child process except to close it. Consider the use of integrated sockets for programs which call fork. See SAS/C Library Reference, Volume 2 for information on the setsockimp function, which can be used to request the use of integrated sockets.

938

WARNING: Improper file mode for popen: file-mode.
Errno value: EINVAL

Explanation

A call to popen specified a file mode that permitted both reading and writing. Only a read-only or a write-only file mode may be specified.

Action

Correct the call to popen.

939

WARNING: The argument to pclose is not a file opened by popen.
Errno value: EBADF

Explanation

A call to pclose specified a FILE pointer which was not opened by the popen function.

Action

Use the fclose function to close FILE pointers not opened by popen.

940

NOTE: pclose incomplete due to termination by longjmp.
Errno value: unchanged

Explanation

While pclose was waiting for a child process to terminate, a signal was received; the signal handler called longjmp, terminating pclose without allowing the child process to terminate.

Action

The program continues to execute, but execution may be affected because the child process continues to run.

941

NOTE: system function terminated by longjmp - child process remains active.
Errno value: unchanged

Explanation

While the system function (called to invoke an UNIX Systems Services shell command) was waiting for a child process to terminate, a signal was received; the signal handler called longjmp, terminating system without allowing the child process to terminate.

Action

The program continues to execute, but execution may be affected because the child process continues to run.

942

WARNING: This function is not supported by your version of OpenEdition.
Errno value: ENOSYS

Explanation

A function was called which requires a later version of UNIX Systems Services than the version installed at your site.

Action

Note that the envlevel function can be used to determine the level of UNIX Systems Services, for programs called with exec-linkage.

943

WARNING: OpenEdition returned undocumented return code.
Errno value: various

Explanation

An UNIX Systems Services function returned an errno variable value whose meaning was not defined at the time this information was prepared. This message is only generated if the =warning run-time option is specified.

Action

Consult the latest version of IBM MVS/ESA Application Development Reference: Assembler Callable Services for UNIX Systems Services OS/390 to determine the meaning of the errno value.

944

WARNING: OpenEdition failure: explanation.
Errno value: various

Explanation

An error in the UNIX Systems Services TCP/IP interface occurred. This may be an error in UNIX Systems Services or a hardware problem.

Action

Consult the latest version of the MVS/ESA Application Development Reference: Assembler Callable Services for UNIX Systems Services OS/390 to determine the meaning of the errno value.

945

WARNING: Descriptor descriptor-number is not associated with an OpenEdition socket.
Errno value: ENOTSOCK

Explanation

A socket interface function was called with an invalid file descriptor or one which identified an open HFS or OS/390 file rather than a socket.

946

WARNING: Specified addressing family not supported.
Errno value: EAFNOSUPPORT

Explanation

A socket interface function was called that was not supported for the socket's addressing family.

947

WARNING: function-name failed, unable to allocate socket buffer space.
Errno value: ENOBUFS

Explanation

A socket interface function was unable to obtain memory for buffers.

Action

Report this condition to your Systems Programming Staff.

948

WARNING: No call to listen prior to accept.
Errno value: EINVAL

Explanation

A call to accept was made without a previous call to listen for the same socket.

Action

Correct the program to call listen before calling accept.

949

WARNING: connect failed, socket already connected.
Errno value: EISCONN

Explanation

A call to connect was issued for an already connected socket.

950

WARNING: accept expected due to prior listen.
Errno value: EOPNOTSUPP

Explanation

A call to connect was issued for a socket previously passed to listen.

Action

Correct the program to call accept after calling listen.

951

WARNING: function-name failed, argument not a stream socket.
Errno value: EPROTOTYPE

Explanation

The indicated function is only meaningful for a stream socket.

952

WARNING: function-name failed, socket not connected.
Errno value: ENOTCONN

Explanation

The indicated function is meaningful only for a connected socket.

953

WARNING: function-name failed, AF_UNIX not supported.
Errno value: ENOSYS

Explanation

The indicated function is not supported for AF_UNIX sockets.

Action

Do not call getsockopt or setsockopt for AF_UNIX sockets.

954

WARNING: listen failed, socket not bound or already listening.
Errno value: EINVAL

Explanation

The listen function was called for a socket which had not already been bound (by a call to bind), or for which listen had already been called.

955

WARNING: function-name failed, socket has been shutdown for input.
Errno value: EINVAL

Explanation

An attempt has been made to receive data on a socket which has been shutdown for input.

956

WARNING: function-name failed, message too large to send as a datagram.
Errno value: EMSGSIZE

Explanation

An attempt was made to send a message on a datagram socket that was too large.

Action

Decrease the size of the message, or consult your Systems Programming Staff about increasing the limit.

957

WARNING: function-name failed, incorrect socket protocol.
Errno value: EPROTOTYPE

Explanation

A socket write request failed due to use of an incompatible protocol.

Action

Correct the program to use a compatible protocol.

958

WARNING: Permission to create socket denied.
Errno value: EACCES

Explanation

Permission was denied to create a socket of the specified type and protocol.

Action

Inform your Systems Programming Staff of this condition.

959

WARNING: Specified protocol not supported for domain or socket type.
Errno value: EPROTONOSUPPORT

Explanation

The protocol requested in a call to socket is not supported for the specified domain and socket type.

960

WARNING: Unexpected subtask failure during oeattach processing.
Errno value: ESYS

Explanation

A library subtask used by the oeattach function terminated unexpectedly.

Action

Contact SAS/C Technical support. Check the console log for any unusual messages which may provide further information about the nature of the failure.

961

WARNING: OpenEdition services not available to this task.
Errno value: EMVSINITIAL

Explanation

The library determined that it was not possible for the program to access any UNIX Systems Services services. The most likely cause of this message is that your site has not defined your RACF user id or RACF group id to have an UNIX Systems Services uid or gid.

Action

Contact your system administrator to request authorization to use UNIX Systems Services services. If your user id and group id are properly defined for UNIX Systems Services, contact SAS/C Technical Support.

963

WARNING: This function is not enabled at this site. 
Errno value: ENOSYS

Explanation

The function chpriority or setpriority was called, but the site has not enabled the UNIX Systems Services support for these functions.

Action

Inform your Systems Programming Staff if you require enablement of the UNIX Systems Services support for these functions.

964

WARNING: The argument to function-name is not a regular HFS file. 
Errno value: EINVAL

Explanation

The program called a function that requires an argument to be a regular HFS file--that is, a disk file rather than a pipe, socket, or terminal file.

Action

Correct the program to ensure that the argument to the failing function is the name of a regular HFS file.

965

WARNING: Socket is either bound or already connected.

Explanation

The accept_socket descriptor on a call to accept_and_receive is either bound or already connected.

Action

Correct the call to accept_and_receive.

966

WARNING: function-name failed due to insufficient STREAMS resources.

Explanation

Insufficient resources were available to complete the operation requested by the function.

967

WARNING: Command command-code not supported by the specified Physical file System.

Explanation

An invalid command code was specified on a call to pfsctl, or the command is not supported on your version of the operating system.

Action

Correct the pfsctl call.

980

WARNING: oesigsetup must be called before any other signal-handling function.
Errno value: EUSAGE

Explanation

A call to oesigsetup occurred after some other signal-handling function was called. Except for signal set manipulation functions like sigemptyset and sigaddset, oesigsetup must be the first signal-handling function call. The late call to oesigsetup is ignored, and the default division of signals between the SAS/C library and UNIX Systems Services OS/390 is in effect.

Action

Move the oesigsetup call so it precedes any other signal-related calls.

981

WARNING: OpenEdition and native signal sets overlap.
Errno value: EINVAL

Explanation

In a call to oesigsetup, one or more signals are specified in both the SAS/C signal set and the UNIX Systems Services signal set. The call to oesigsetup has no effect.

982

NOTE: Function function-name not supported when SIGALRM managed by OpenEdition.
Errno value: unchanged

Explanation

A call was made to the alarmd or sleepd function in a program for which SIGALRM is managed by UNIX Systems Services. These functions are supported only when SIGALRM is managed by SAS/C. The time interval is rounded down to the nearest second, and the corresponding standard function is called; in the case of alarmd with a nonzero argument less than 1, the signal SIGLARM is raised immediately.

Action

Either change the program to allow management of SIGLARM by SAS/C, or replace the call to alarmd or sleepd with a call to alarm or sleep. Also note that the select function can often be used in place of sleepd.

983

NOTE: MVS SIGINT handling is not supported in OpenEdition address space.
Errno value: unchanged

Explanation

An attempt has been made to define a handler for the SIGINT signal. SIGINT is defined as managed by SAS/C, but the program was invoked by exec or is a child process created by fork. SAS/C SIGINT handling is effective only in a TSO address space.

Action

Either define SIGINT as managed by UNIX Systems Services, or avoid defining a SIGINT handler in a non-TSO address space. The intractv function can be used to test whether a program is running in a TSO address space. See SAS/C Library Reference, Volume 2.

984

WARNING: name signal cannot be handled - no oesigsetup call.
Errno value: EFORBID

Explanation

A sigaction or signal call has been made for an UNIX Systems Services signal, but the program does not have exec-linkage, and no call to oesigsetup has been made. By default, a non-exec-linkage program is not able to handle UNIX Systems Services signals.

Action

Call the oesigsetup function to permit signals to be managed by UNIX Systems Services before calling any other signal-handling function. See "Signal Handling" in SAS/C Library Reference, Volume 1.

990

WARNING: Rexx execution terminated by name signal.
Errno value: EINTR

Explanation

The process running the SAS/C REXX interface for UNIX Systems Services was terminated by a signal. Note that when this message is issued, the interface to UNIX Systems Services REXX has been disabled and any call other than execend will fail.

Action

Determine the cause of the signal. If the signal was not intentional, contact SAS/C Technical Support.

991

WARNING: Rexx execution terminated by name signal, ABEND code code.
Errno value: EINTR

Explanation

The process running the SAS/C REXX interface for UNIX Systems Services was terminated by an ABEND. Note that when this message is issued, the interface to UNIX Systems Services REXX has been disabled and any call other than execend will fail.

Action

Contact SAS/C Technical support.

992

WARNING: Rexx environment no longer active due to previous error.
Errno value: EPREV

Explanation

A previous call to the SAS/C SUBCOM interface failed, generating message 990 or 991 and errno EINTR. No further calls to the SUBCOM interface (other than execend) can be made.

Action

Correct the program to check for errno EINTR after the failure of a SUBCOM function.

993

WARNING: OpenEdition Rexx interface failed due to failure of attach_execmvs service.
Errno value: various

Explanation

The execinit function could not complete because UNIX Systems Services attach_execmvs service failed. A message may have been generated describing the failure of the service.

Action

If there were other messages describing the failure, take the appropriate action for these messages. If there were no other messages, contact SAS/C Technical Support.

Copyright © 2001 by SAS Institute Inc., Cary, NC, USA. All rights reserved.