Annotations¶
@Abstract¶
Defines a base layer definition that needs further implementation.
Note! An abstract definition requires that an implementation is added at an upper layer.
@DynamicComponentDependency¶
If an entity is referenced from a dynamic component, then it is required to override the entity and specify an @DynamicComponentDependency annotation. This is in addition to the annotation provided above the reference.
@Override
@DynamicComponentDependency PURCH
entity PurchaseReqLine {
use attributes = Objstate;
}
The annotated object is only included if the component is part of the installation.
@Override¶
Run additional code before and/or after the lower layer of code is executed.
@Override
entity TaxSeries {
attribute TaxSeriesId Text {
label = "Tax Series ID";
}
}
Note! An override requires that a call is made to 'super' - thus executing the code is a lower layer.
Example (Using @Override in the plsvc file to do some action after creating a new record)¶
@Override
PROCEDURE CRUD_Create (
etag IN OUT VARCHAR2,
key_ IN OUT Project_Cost_Element_Key,
attr_ IN OUT VARCHAR2,
info_ OUT VARCHAR2,
action_ IN VARCHAR2 )
IS
BEGIN
super(etag_, key_, attr_, info_, action_);
Project_Cost_Element_API.Check_Default_Element(key_.company);
END CRUD_Create___;
@Overtake¶
This code is run instead of the code in lower layer(s). Note! An overtake should not make any call to 'super'.