Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.

For information on migrating to InterSystems IRIS, see Why Migrate to InterSystems IRIS?

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.

Feedback