Skip to main content
Previous section   Next section

Add the MVBasic Code

The next step is to create the Search method. Before coding the method, set the value of the
language
keyword for the class to
mvbasic
. Change the class declaration for Services to the following:

Class MVFILE.Services Extends %SOAP.WebService 
[language=mvbasic, ProcedureBlock ]
 
Note that at this stage the class does not compile. In order to compile you must replace the
Quit
statement in Search with a
RETURN
statement.
Next, add three arguments to the method's argument list. The method declaration looks like this.

Method Search(ID As %String, ATTRNAME As %String, VNO As %String) 
As %String [ WebMethod ]
Note the following about the method declaration:
  • The method accepts three arguments representing an MVFILE.PERSON ID, an attribute name, and an attribute subvalue number.
  • The method is tagged with the
    WebMethod
    keyword. This means that Caché exposes it as a Web Service.
Finally, add the body to the method:

Method Search(ID As %String, ATTRNAME As %String, VNO As %String) 
As %String [ WebMethod ]
{
OPEN "DICT", "PERSON" ELSE RETURN "DICT Not Open"
READV ATTR.AMC FROM ATTRNAME,2
OPEN "PERSON" TO PERSFILE ELSE RETURN "File Not Open"
READV ATTR FROM PERSFILE,ID, ATTR.AMC
VM=CHAR(253)
VALUE = FIELD(ATTR,VM,VNO)
RETURN VALUE
}
The method returns the specified attribute value (or subvalue) of the specified MVFILE.PERSON record.
Previous section   Next section