Making an Inquiry (INQY) DL/I call without a PSB object

A new API is introduced to allow issuing INQY DL/I calls directly without the need for a PSB object.

All Type-2 users of the IMS Universal JDBC driver can use the application interface to call a method that issues the desired Inquiry (INQY) DL/I call and return an appropriate object with the returned data from the call, without requiring the PSB metadata. This functionality is delivered through APAR PH19041/UI74514.

The following code examples illustrate how the application interface enables issuing INQY DL/I calls and return the object with the returned data from the call:

  • INQY DBQUERY : A user can issue an INQY DBQUERY call using the application interface. A call can be issued by calling the inqyDBQuery() method from the application interface. A DBQueryInfo object is returned containing the call's returned information.
    
    Application app = ApplicationFactory.createApplication();
    DBQueryInfo info = app.inqyDBQuery();
    info.getReturnCode();
    info.getReasonCode();
    info.getStatusCode();
    Returned data: DBQueryInfo object
    
       public int getReasonCode()
       public String getReasonCodeHex() 
       public int getReturnCode()
       public String getReturnCodeHex()
       public int getStatusCode()
       public String getStatusCodeChars()
  • INQY ENVIRON: A user can issue an INQY ENVIRON call using the application interface. A call can be issued by calling the inqyEnviron() method from the application interface. An EnvironInfo object is returned containing the call's returned information.
     
    Application app = ApplicationFactory.createApplication();
    EnvironInfo info = app.inqyEnviron();
    info.getControlRegionType();
    Returned data: EnvironInfo object
    
        public int getReasonCode()
        public String getReasonCodeHex()  
        public int getReturnCode()
        public String getReturnCodeHex()
        public int getStatusCode()
        public String getStatusCodeChars()
        public String getRRSIndicator()
        public String getCatalogIndicator() 
  • INQY MSGINFO: A user can issue an INQY MSGINFO call using the application interface. A call can be issued by calling the inqyMessageInfo() method from the application interface. A MessageInfo object is returned containing the call's returned information.
  • 
    Application app = ApplicationFactory.createApplication();
    MessageInfo info = app.inqyMessageInfo();
    info.getIMSID();
    Returned data: MessageInfo object:
    
        public int getReasonCode()  
        public String getReasonCodeHex()
        public int getReturnCode()
        public String getReturnCodeHex()  
        public int getStatusCode()
        public String getStatusCodeChars()
  • INQY FIND: A user can issue an INQY FIND call using the application interface. A call can be issued by calling the inqyFind() method from the application interface. A PCB name must be entered as a string to issue the call with. A FindInfo object is returned containing the call's returned information.
    
    Application app = ApplicationFactory.createApplication();
    FindInfo info = app.inqyFind(this.expectedPCBName);
    assertEquals(0, info.getReturnCode());
    assertEquals(0, info.getReasonCode());
    assertEquals(16448, info.getPCBStatusCode());
    Returned data: FindInfo object
    
        public short getPCBStatusCode() 
        public String getPCBStatusCodeChar()
        public int getReasonCode()
        public String getReasonCodeHex()
        public int getReturnCode()
        public String getReturnCodeHex()
        public int getStatusCode()
        public String getStatusCodeChars()
  • INQY PROGRAM: A user can issue an INQY PROGRAM call using the application interface. A call can be issued by calling the inqyProgram() method from the application interface. A ProgramInfo object is returned containing the call's returned information.
    
    Application app = ApplicationFactory.createApplication();
    ProgramInfo info = app.inqyProgram();
    info.getProgramName();
    Returned data : ProgramInfo object
    
        public String getProgramName()
        public int getReasonCode()
        public String getReasonCodeHex()
        public int getReturnCode()
        public String getReturnCodeHex()
        public int getStatusCode()
        public String getStatusCodeChars()
Note: To learn more about the Inquiry (INQY) call and the subfunctions, see INQY call