ASMB,L,C,R
      HED DBPUT SUBROUTINE FOR REMOTE ONLY ACCESS 
      NAM DBPUT,7 92069-16241 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-18241
*     RELOC:     92069-16241
* 
*     PRGMR:     CEJ
* 
* 
******************************************************************* 
* 
* 
* 
*  This version of DBPUT is for remote only data base access.  It assumes 
*  that the data base is remote and merely provides an interface between
*  the user and RBPUT which handles the remote Put. 
* 
*  The calling sequence for DBPUT is: 
* 
*          JSB DBPUT
*           DEF *+7         return point
*           DEF BASE        the data base parameter used in a successful
*                             remote DBOPN call for the data base in which
*                             an entry is to be added.  The data base must
*                             have been opened in either mode 1 or 3, and 
*                             if mode 1 must have been previously locked
*                             to the user.
*           DEF SET         the name or number of the manual master or
*                             detail data set in which the entry is to
*                             be added. 
*           DEF MODE        DBPUT mode = 1. 
*           DEF STAT        a ten word status array in which the follow-
*                             ing is returned:
*                             word                contents
*                             ----                --------
*                               1        status code (0 if successful)
*                                If successful: 
*                               2        word length of contents of BUF 
*                              3-4       new entry's record number
*                              5-6       count of entries in
*                                          - last chain if detail 
*                                          - synonym chain if master
*                              7-8       record number of predecessor in
*                                          - last chain if detial 
*                                          - synonym chain if master
*                             9-10       zero 
*           DEF LIST        a list of item names or numbers of the items
*                             in the data set which are to receive values 
*                             in the new entry.  Must contain all key 
*                             items in the data set.
*           DEF BUF         the values for the items in LIST concatenated 
*                             together and in the same order as the items 
*                             in LIST.
* 
      SKP 
A     EQU 0 
B     EQU 1 
* 
      ENT DBPUT 
      EXT .ENTR,DBIDS,RBPUT 
* 
BASE  NOP 
SET   NOP 
MODE  NOP 
STAT  NOP 
LIST  NOP 
BUF   NOP 
* 
*  Get true parameter and return point addresses
* 
DBPUT 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 by the BASE parameter 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 RBPUT to handle this request.
* 
      JSB RBPUT 
       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 chech on next entry. 
* 
EXIT  CLA 
      STA BUF 
* 
*  Return to caller.
* 
      JMP DBPUT,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$
                                                                                                                                                          