The utility ADACALL can be used to issue Adabas direct calls (native commands) to an Adabas database for learning and testing and for analyzing problems.
The utility ADACALL is contained in the library SYSADA.
The ADACALL Utility - Issuing Adabas Direct Calls documentation covers the following topics:
 To invoke ADACALL 
Enter the following system command:
SYSADA
An ADACALL main screen similar to the example screen below is displayed:
15:53:32             ***** NATURAL ADACALL UTILITY *****             2006-12-14
 User SAG                  - ADABAS Direct Calls -                             
 Mode Char                                                    Call No. 45      
 *** Control Block ***         First Byte 30                                   
  Cmd L3        Cmd ID SAG           File 316             Database 10          
 Resp 0            ISN 382            ISQ 0                    ISL 0           
  FBL 210          RBL 980            SBL 140     VBL 140      IBL 0           
 COP1             COP2          User Area                 Cmd Time 4           
 Addition1        Addition2  Addition3        Addition4        Addition5       
 AA]?             227  48                                                      
 *** Buffer Areas ***                                                          
 Format  AA,AC,AE.                                                             
                                                                               
 Record  11111003ARTHUR               DENT                                     
                                                                               
 Search                                                                        
                                                                               
  Value                                                                        
                                                                               
    ISN                                                                        
Command ===>                                                                   
Enter-PF1---PF2---PF3---PF4---PF5---PF6---PF7---PF8---PF9---PF10--PF11--PF12---
      Help  Main  Exit              Char  Hex   View  Prnt  Run   Init  Canc | 
                        
On the ADACALL main screen, specify the necessary parameter values and
                       execute the Adabas command by either choosing PF10 (Run) or entering
                       the ADACALL command EXEC in the Command line.
               
In the example screen above, the Adabas command
                       L3 was executed for a logical read of the employees
                       file.
               
Except for the control block, which is shown in full, only a part of the buffer is displayed. You can view the buffers in their entirety by using any of the ADACALL direct commands or PF keys listed below.
The parameters which can be specified on the ADACALL main screen are listed below. You can use the ADACALL online help function to obtain a summarized explanation of the parameters.
 To invoke the online help function 
Place the cursor in the field for which you require help and enter a question mark (?) or choose PF1. (For read-only fields, only PF1 applies.)
For detailed information, see the Adabas documentation Command Reference and Messages and Codes.
| Parameter | Explanation | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Mode | 
                           
  |  
                               
                     ||||||||||||||
| Call No. | Number of commands executed since the start of the session. | ||||||||||||||
| First Byte |  The first byte of the Adabas control block. 
                                    
                            Indicates whether 1-byte or 2-byte database IDs (DBID) and file numbers (FNR) are used:  
                                        H'00' = 1-byte DBID, FNR (file numbers 1 - 255)  |  
                               
                     ||||||||||||||
| Cmd |  
                                    
                            Adabas command. Enter and execute the Adabas
                                             |  
                               
                     ||||||||||||||
| Cmd ID | Command ID. | ||||||||||||||
| File | File number. 
                                    
                             
                                        If First Byte is set to
                                           
                                        If First Byte is set to
                                           |  
                               
                     ||||||||||||||
| Database | Database ID (DBID). Defaults to the DBID of the FUSER file of
                                    the current Natural session (see File above). 
                                    
                            If First Byte is set to   |  
                               
                     ||||||||||||||
| Resp | Response code returned after the command is executed. | ||||||||||||||
| ISN | Internal sequence number. | ||||||||||||||
| ISQ | ISN quantity. | ||||||||||||||
| ISL | Lowest ISN value for ISN lists. | ||||||||||||||
| FBL | Format buffer length in bytes (maximum 210). | ||||||||||||||
| RBL | Record buffer length in bytes (maximum 980). | ||||||||||||||
| SBL | Search buffer length in bytes (maximum 140). | ||||||||||||||
| VBL | Value buffer length in bytes (maximum 140). | ||||||||||||||
| IBL | ISN buffer length in bytes (maximum 200). | ||||||||||||||
| COP1 | Command option 1. | ||||||||||||||
| COP2 | Command option 2. | ||||||||||||||
| User Area | User area for the control block. | ||||||||||||||
| Cmd Time | The time taken to execute the command, converted to 1/100th seconds for convenience. | ||||||||||||||
| Addition1 | Additions 1. | ||||||||||||||
| Addition2 | Additions 2. If the call was successful, it displays the compressed length of the record being read and the decompressed length of the data requested via the format buffer. If a non-zero response is returned and the error was a result of an invalid format buffer, the field in error and its offset into the format buffer are displayed. | ||||||||||||||
| Addition3 | Additions 3. | ||||||||||||||
| Addition4 | Additions 4. If a VSAM file is being read, this field is set to VSAM if initialized. | ||||||||||||||
| Addition5 | Additions 5. | ||||||||||||||
| Format | Format buffer. (The final period is necessary.) | ||||||||||||||
| Record | Record buffer. | ||||||||||||||
| Search | Search buffer. (The final period is necessary.) | ||||||||||||||
| Value | Value buffer. | ||||||||||||||
| ISN | ISN buffer. | ||||||||||||||
When you execute the Adabas command OP
                        (Open), ADACALL provides a window where you can specify the following
                        parameters:
               
maximum ISNs to be stored in the internal ISN buffer,
maximum records permitted in hold status,
maximum CIDs (command IDs) which may be active,
maximum time permitted for execution of an
                                Sx command.
                     
In the window, enter the relevant information and choose ENTER.
For an explanation of the parameters and valid values, refer to the Adabas Command Reference documentation.
The ADACALL direct commands listed below are provided to change ADACALL parameter settings or to switch between screens by either entering a command in the Command line or choosing a corresponding PF key.
In addition to ADACALL commands, from the Command line, you can also issue Natural system commands.
In the following table, an underlined portion of a command represents an acceptable abbreviation.
| Command | PF Key | Function | ||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| PF1 | Invoke the help function for ADACALL. If the cursor is positioned on one of the various ADACALL parameters and PF1 is pressed, help information on this parameter is displayed. | |||||||||||||||||||||||||||||||
| PF2 | Return to the ADACALL main screen. Mode is set to
                                    CHAR.
                         |  
                               
                     |||||||||||||||||||||||||||||||
 
                                    BACK 
                         |  
                                
                        PF5 |  Page backward to the previous buffer when viewing the buffers
                                    in their entirety. 
                                    
                            Valid only after the   |  
                               
                     ||||||||||||||||||||||||||||||
 CB
                                    
                         |  
                                
                        Display the control block buffer entirely; valid in hexadecimal mode only. | |||||||||||||||||||||||||||||||
 CHAR
                                    
                         |  
                                
                        PF6 | Change the current mode to character mode (EBCDIC). | ||||||||||||||||||||||||||||||
 D
                                    
                         |  
                                
                        Display extended error message text for response code received. When an Adabas response other than 0 (zero) is returned, the corresponding short error message text is displayed in the message line. The extended text can be viewed by issuing this command. | |||||||||||||||||||||||||||||||
 EXEC 
                                    
                           or 
  |  
                                
                        PF10 | Execute the direct command with the parameters specified. | ||||||||||||||||||||||||||||||
 EXIT 
                                    
                           or 
 or 
 or 
  |  
                                
                         PF3 
                                    
                            or PF12  |  
                                
                        Exit. If pressed while on the ADACALL main screen, ADACALL is terminated. If one of the buffer screens is being viewed, the ADACALL main screen is displayed with Mode unchanged. | ||||||||||||||||||||||||||||||
 FB
                                    
                         |  
                                
                        Display the format buffer in its entirety. | |||||||||||||||||||||||||||||||
 
                                    FWD 
                         |  
                                
                        PF4 |  Page forward to the next buffer when viewing the buffers in
                                    their entirety. 
                                    
                            Valid only after the   |  
                               
                     ||||||||||||||||||||||||||||||
 HEX
                                    
                         |  
                                
                        PF7 | Change the current mode to hexadecimal. | ||||||||||||||||||||||||||||||
 IB
                                    
                         |  
                                
                        Display the ISN buffer in its entirety. | |||||||||||||||||||||||||||||||
INIT |  
                                
                        PF11 | 
                           
  |  
                               
                     ||||||||||||||||||||||||||||||
 PRINT 
                         |  
                                
                        PF9 |  Generate and display a report on the status of all buffers. 
                                    
                            The Natural terminal command   |  
                               
                     ||||||||||||||||||||||||||||||
 RB
                                    
                         |  
                                
                        Display the record buffer in its entirety. | |||||||||||||||||||||||||||||||
 
                                    RUN 
                         |  
                                
                        Same as EXEC.
                         |  
                               
                     |||||||||||||||||||||||||||||||
 SB
                                    
                         |  
                                
                        Display the search buffer in its entirety. | |||||||||||||||||||||||||||||||
 VB
                                    
                         |  
                                
                        Display the value buffer in its entirety. | |||||||||||||||||||||||||||||||
VIEW |  
                                
                        PF8 | 
                           
  |  
                               
                     ||||||||||||||||||||||||||||||
 VSAM
                                    
                         |  
                                
                        If VSAM has been defined for the
                                    current Natural session, this direct command can be issued to access or update
                                    VSAM files. When you issue this command, you are prompted by a window for the
                                    VSAM file name. When the command is executed, it is directed to the appropriate
                                    VSAM file.
                         |  
                               
                     |||||||||||||||||||||||||||||||
ADACALL allows direct commands to be issued to any database. Therefore,
                       as a means of security, a user exit is supplied. This user exit is called
                       ADAEXIT and is contained in the library SYSADA. You can modify ADAEXIT as
                       required. The Adabas control block is passed as a parameter to ADAEXIT. You can
                       change the source code of the user exit so as to modify the contents of the
                       control block. By simply changing the database ID or file number, or by setting
                       the Command Code to XX, you can prevent database calls from being
                       performed.