Skip to content

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'.