ASMB,L,C,R
      HED DBFND SUBROUTINE FOR REMOTE ONLY ACCESS 
      NAM DBFND,7 92069-16238 REV.1912 790130 
* 
* 
******************************************************************* 
* (C) COPYRIGHT HEWLETT-PACKARD COMPANY 1979. ALL RIGHTS RESERVED.
* NO PART OF THIS PROGRAM MAY BE PHOTOCOPIED, REPRODUCED, OR
* TRANSLATED TO ANOTHER PROGRAM LANGUAGE WITHOUT THE PRIOR WRITTEN
* CONSENT OF HEWLETT-PACKARD COMPANY. 
******************************************************************* 
* 
* 
*     SOURCE:    92069-18238
*     RELOC:     92069-16238
* 
*     PRGMR:     CEJ
* 
* 
******************************************************************* 
* 
* 
* 
*  This version of DBFND is for remote only data base access.  It assumes 
*  that the data base is remote and merely provides an interface between
*  the user and RBFND which handles the remote Find.
* 
*  The calling sequence for DBFND is: 
* 
*        JSB DBFND
*         DEF *+7         return point
*         DEF IBASE       data base parameter used in succesful remote
*                           DBOPN call for the data base in which the set 
*                           to be initialized resides.
*         DEF SET         the name or number of the detail data set to
*                           be prepared for chain reads.
*         DEF MODE        DBFND mode = 1
*         DEF STAT        returned 10 word status array which is of the 
*                           form: 
*                             1st word - status code (0 if successful)
*                             2nd word - zero 
*                             3rd & 4th words - doubleword current record 
*                                             number set to zero
*                             5th & 6th words - doubleword count of detail
*                                             entries in the chain
*                             7th & 8th words - doubleword record number of 
*                                             chain foot
*                             9th & 10th words - doubleword record number 
*                                              of chain head
*         DEF ITEM        detail's key item number for desired chain
*         DEF ARG         key item's value for desired chain
* 
      SKP 
      ENT DBFND 
      EXT .ENTR,DBIDS,RBFND 
* 
A     EQU 0 
B     EQU 1 
* 
BASE  NOP 
SET   NOP 
MODE  NOP 
STAT  NOP 
ITEM  NOP 
ARG   NOP 
* 
*  Get true parameter and return point addresses. 
* 
DBFND NOP 
      JSB .ENTR 
       DEF BASE 
* 
*  Make sure all the parameters are there.
* 
      LDA ARG 
      SZA,RSS 
      JMP E162      Missing parameter.
* 
*  Ask DBIDS to check the data base specified in BASE to see if it is 
*  valid, and if so to set up its Run Table as the current Run Table. 
* 
      CCA           A = -1 signifies not DBOPN calling. 
      JSB DBIDS 
       DEF *+2
       DEF BASE,I 
* 
      JMP E103      Error return - illegal BASE param.
      NOP           (Local data base return - ignore.)
* 
*  Ask RBFND to handle this request.
* 
      JSB RBFND 
       DEF *+7
       DEF BASE,I 
       DEF SET,I
       DEF MODE,I 
       DEF STAT,I 
       DEF ITEM,I 
       DEF ARG,I
* 
*  Reset ARG to zero for parameter check on next entry. 
* 
EXIT  CLA 
      STA ARG 
* 
*  Return to user.
* 
      JMP DBFND,I 
* 
*  Error return points. 
* 
E103  LDA D103      Illegal base parameter. 
      RSS 
E162  LDA D162      Missing parameter.
      STA STAT,I
      JMP EXIT
* 
* 
D103  DEC 103 
D162  DEC 162 
      END 
      END$
                                                                                                                                                                                                    