As defined in the sapBAPIBusinessObjectTypeMetadataschema Operationis an

n-cardinality complex type. The MethodNameelement of the operation type is a

simple type with multiple cardinality:

<complexType name="sapBAPIBusinessObjectTypeMetadata">
<sequence>
<element name="Type" type="string"/>
<element name="Operation" type="sapasi:sapBAPIOperationTypeMetadata" minOccurs="0" maxOccurs="unbounded"/>
<element name="ErrorConfiguration" type="sapasi:sapRFCErrorConfigurationMetadata" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
<complexType name="sapBAPIOperationTypeMetadata">
<sequence maxOccurs="1" minOccurs="0">
<element name="Name" type="string" minOccurs="0" maxOccurs="1"/>
<element name="MethodName" minOccurs="0" maxOccurs="unbounded" type="string"/>
</sequence>
</complexType>
<complexType name="sapRFCErrorConfigurationMetadata">
<sequence maxOccurs="1" minOccurs="0">
<element name="ErrorParameter" type="string" minOccurs="0" maxOccurs="1"/>
<element name="ErrorCode" minOccurs="0" maxOccurs="1" type="string"/>
<element name="ErrorDetail" minOccurs="0" maxOccurs="1" type="string"/>
</sequence>
</complexType>

For the above metadata, the object level annotations map generated for the

JavaBeanRecord would look like the following:

public static LinkedHashMap objectAnnotations = new LinkedHashMap();
static {
objectAnnotations.put("Type","BAPI");
LinkedList operationAnnotation = new LinkedList();
LinkedList methodnameList;
LinkedHashMap createOperationMap = new LinkedHashMap();
createOperationMap.put("Name", "Create");
methodnameList = new LinkedList();
methodnameList.add("wbiCustomerCreate)";
createOperationMap.put("MethodName", methodnameList);
operationAnnotation.add(createOperationMap);
LinkedHashMap updateOperationMap = new LinkedHashMap();
updateOperationMap.put("Name", "Update");
methodnameList = new LinkedList();
methodnameList.add("wbiCustomerUpdate)";
updateOperationMap.put("MethodName", methodnameList);
operationAnnotation.add(updateOperationMap);
objectAnnotations.put("Operation",operationAnnotation);
}

ObjectAnnotations:Object level metadata in the annotations is read and stored in the

’objectAnnotations’ Map. Following diagram shows the structure of

objectAnnotations.

118 WebSphereAdapters: WebSphereAdapter Toolkit User Guide