# | Name | Location | Type | Details | Index | Description |
---|---|---|---|---|---|---|
.01 | name(+) | 0;1 | FREE TEXT | B | ||
.02 | tag | 0;2 | FREE TEXT | |||
.03 | routine(+) | 0;3 | FREE TEXT | |||
.04 | return value type(+) | 0;4 | SET OF CODES | 1:SINGLE VALUE 2:ARRAY 3:WORD PROCESSING 4:GLOBAL ARRAY 5:GLOBAL INSTANCE | This field tells RPC Broker how to process the resulting data from the call. SINGLE VALUE: Broker will return the value of the return parameter (first parameter in the formal list). For example, TAG(RESULT) ; S RESULT="DOE, JOHN" Q ARRAY: Using $ORDER Broker will traverse the return parameter (first parameter in the formal list), returning all elements of the array. For example, TAG(RESULT) ; S RESULT(1)="ONE" S RESULT(2)="TWO" Q WORD PROCESSING: This type is treated exactly the same way as the ARRAY, with one exception that the WORD WRAP ON field is used to control whether each line returned is terminated with CR + LF characters. See WORD WRAP ON field description for more information. GLOBAL ARRAY: Return value parameter should be set to a closed global reference in ^TMP. The global's data nodes will be traversed using $QUERY, and all data values on global nodes descendant from the global reference are returned. This type is especially useful for returning data from VA FileMan word processing fields, where each line is on a 0-subscripted node. Important: The global reference you pass is killed by the Broker at the end of RPC Execution as part of RPC cleanup. Do not pass a global reference that is not in ^TMP or that should not be killed. This type is useful for returning large amounts of data to the client, where using the ARRAY type can exceed the symbol table limit and crash your RPC. For example, to return sign-on introductory text you could do this, TAG(RESULT) ; M RESULT=^XTV(8989.3,1,"INTRO") K RESULT(0) ;this node is not needed Q GLOBAL INSTANCE: Using this type Broker will return the value of a global node. For example the following code will return the whole 0th node from the NEW PERSON file for the current user. TAG(RESULT) ; S RESULT=$NA(^VA(200,DUZ,0)) Q | |
.05 | availability | 0;5 | SET OF CODES | P:PUBLIC S:SUBSCRIPTION A:AGREEMENT R:RESTRICTED | This field is used to indicate the availability of the API to various users. PUBLIC indicates that the API is available for general use by any package, and it is not necessary to either indicate that the API is being used or to request permission to use it. SUBSCRIPTION indicates that the API is available to those packages that wish to use it, BUT the package needs to indicate that it is using the API or subscribing to it. AGREEMENT indicates that the API is available to packages, other than the developing package, only by means of an integration agreement on its usage. RESTRICTED indicates that the API is not available for reference by any package other than the package which developed it. Entry of the input and return parameter information is at the option of the developing package in this case. | |
.06 | inactive | 0;6 | SET OF CODES | 0:ACTIVE 1:INACTIVE 2:LOCAL INACTIVE (ACTIVE REMOTELY) 3:REMOTE INACTIVE (ACTIVE LOCALLY) | This field is used to indicate that the RPC is not available for use for some reason. An RPC can be marked as completely unusable (1), unusable locally (2), or unusable remotely (3). Local use means in the account the user is logged into; remote use means in an account other than the one the user is directly logged into (i.e., a 'Remote RPC'). The Broker will not run an RPC that is marked as unusable in the applicable context. | |
.07 | client manager | 0;7 | BOOLEAN | 1:YES | This field is used to identify those APIs which may be initiated to control the client or to send data to the client unrelated to requests from the client. These actions usually require additional information on the configuration which is present. | |
.08 | word wrap on | 0;8 | SET OF CODES | 0:FALSE 1:TRUE | Affects GLOBAL ARRAY and WORD PROCESSING return value types only. If set to FALSE, all data values are returned in a single concatenated string in Results[0]. If set to TRUE, each array node on the M side is returned as a distinct array item in the Results property of the TRPCBroker. If you're returning some text to the client and you'd rather let the memo box of the client control the wrapping of lines, set WORD WRAP ON to FALSE. On the other hand, if you want to preserve line breaks as they exist on the server, set WORD WRAP ON to TRUE. | |
.09 | version | 0;9 | NUMERIC | A number to identify the version of the Remote Procedure. Currently this number is only checked if the Remote Procedure is being run on a foreign server. If a version number is passed to the Broker by the application requesting that the Remote Procedure be run on the foreign server, the Remote Procedure will only be run if the value of this field is equal to or greater than the passed version number. | ||
.1 | suppress rdv user setup | 0;10 | BOOLEAN | 0:No 1:Yes | This field controls how Remote Data View handles the setup of a user to run the RPC. If the field is set to No or is blank than the remote users data will be set up in the New Person file and DUZ for the process will be set to the user. If the field is set to Yes at the remote site the remote user data will NOT be entered into the New Person file and DUZ will be set to the Postmaster. This field should not be set to Yes for RPC's that collect patient data. If there is any question about why a RPC has this set to yes contact the DBA for the VA. | |
.11 | app proxy allowed | 0;11 | BOOLEAN | 0:No 1:Yes | This field must be set to Allowed if this RPC is to be run by an APPLICATION PROXY user. The default is to NOT allow access. | |
1 | description | 1;0 | WORD-PROCESSING | |||
2 | input parameter | 2;0 | MULTIPLE | 8994.02 | Input parameter is what RPC Broker passes into your remote procedure. The name that you may call the input parameter has no special meaning to the Broker. However, you should choose a name that best describes the data that the parameter is used for. | |
3 | return parameter description | 3;0 | WORD-PROCESSING |