ASMB,L,C,R
      HED DBUPD SUBROUTINE FOR REMOTE ONLY ACCESS 
      NAM DBUPD,7 92069-16240 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-18240
*     RELOC:     92069-16240
* 
*     PRGMR:     CEJ
* 
* 
******************************************************************* 
* 
* 
* 
*  This version of DBUPD is for remote only data base access.  It assumes 
*  that the data base is remote and merely provides an interface between
*  the user and RBUPD which handles the remote Update.
* 
*  The calling sequence for DBUPD is: 
* 
*        JSB DBUPD
*         DEF *+7      return point 
*         DEF BASE     the data base parameter used in a successful re- 
*                        mote DBOPN on the data base in which an entry
*                        is to be updated.  The data base must have been
*                        opened in either mode 1 or mode 3. 
*         DEF SET      data set name or number of the data set in which 
*                        the current entry is to be updated.
*         DEF MODE     DBUPD mode = 1.
*         DEF STAT     a ten word array in which the status of the call 
*                        is returned.  This subroutine only uses the first
*                        two words in which it returns: 
*                          word                   contents
*                          ----                   --------
*                            1           error code (zero if successful)
*                              If successful: 
*                            2           word length of data in BUF 
*         DEF LIST     a list of items whose values in the data record
*                        of the current entry in SET are to be replaced 
*                        by the values in BUF.  Non-writeable and key 
*                        items may appear in this list but their values 
*                        in BUF must be identical to their values in the
*                        data record. 
*         DEF BUF      the values of the items to replaced concatenated 
*                        together and in the same order as the items in 
*                        LIST.
* 
      SKP 
A     EQU 0 
B     EQU 1 
* 
      ENT DBUPD 
      EXT .ENTR,DBIDS,RBUPD 
* 
BASE  NOP 
SET   NOP 
MODE  NOP 
STAT  NOP 
LIST  NOP 
BUF   NOP 
* 
*  Get true parameter and return addresses. 
* 
DBUPD NOP 
      JSB .ENTR 
       DEF BASE 
* 
*  Make sure all the parameters are there.
* 
      LDA BUF 
      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 RBUPD to handles this request. 
* 
      JSB RBUPD 
       DEF *+7
       DEF BASE,I 
       DEF SET,I
       DEF MODE,I 
       DEF STAT,I 
       DEF LIST,I 
       DEF BUF,I
* 
*  Reset BUF to zero for parameter check on next entry. 
* 
EXIT  CLA 
      STA BUF 
* 
*  Return to caller.
* 
      JMP DBUPD,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$
                                                                                                                                                                                            