--- /dev/null
+use catalogdb;
+
+ALTER TABLE orchestration_flow_reference
+ADD SCOPE VARCHAR (200) DEFAULT NULL,
+ADD ACTION VARCHAR (200) DEFAULT NULL;
\ No newline at end of file
 
   `SEQ_NO` int(11) NOT NULL,
   `FLOW_NAME` varchar(200) NOT NULL,
   `FLOW_VERSION` double NOT NULL,
+  `SCOPE` varchar(200) DEFAULT NULL,
+  `ACTION` varchar(200) DEFAULT NULL,
   `NB_REQ_REF_LOOKUP_ID` int(11) NOT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `UK_orchestration_flow_reference` (`COMPOSITE_ACTION`,`FLOW_NAME`,`SEQ_NO`,`NB_REQ_REF_LOOKUP_ID`),
 
   `SEQ_NO` int(11) NOT NULL,
   `FLOW_NAME` varchar(200) NOT NULL,
   `FLOW_VERSION` double NOT NULL,
+  `SCOPE` varchar(200) DEFAULT NULL,
+  `ACTION` varchar(200) DEFAULT NULL,
   `NB_REQ_REF_LOOKUP_ID` int(11) NOT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `UK_orchestration_flow_reference` (`COMPOSITE_ACTION`,`FLOW_NAME`,`SEQ_NO`,`NB_REQ_REF_LOOKUP_ID`),
 
     private Boolean isVirtualLink;
     @JsonProperty("virtual-link-key")
     private String virtualLinkKey;
+    @JsonProperty("scope")
+    private String bpmnScope;
+    @JsonProperty("action")
+    private String bpmnAction;
 
     public String getBpmnFlowName() {
         return bpmnFlowName;
     public void setVirtualLinkKey(String virtualLinkKey) {
         this.virtualLinkKey = virtualLinkKey;
     }
+
+    public String getBpmnScope() {
+        return bpmnScope;
+    }
+
+    public void setBpmnScope(String scope) {
+        this.bpmnScope = scope;
+    }
+
+    public String getBpmnAction() {
+        return bpmnAction;
+    }
+
+    public void setBpmnAction(String action) {
+        this.bpmnAction = action;
+    }
+
 }
 
             boolean isVirtualLink, String virtualLinkKey, boolean isConfiguration) {
         ExecuteBuildingBlock executeBuildingBlock = new ExecuteBuildingBlock();
         BuildingBlock buildingBlock = new BuildingBlock();
+
+        Optional.ofNullable(orchFlow.getBpmnAction()).ifPresent(action -> buildingBlock.setBpmnAction(action));
+        Optional.ofNullable(orchFlow.getBpmnScope()).ifPresent(scope -> buildingBlock.setBpmnScope(scope));
+
+
         buildingBlock.setBpmnFlowName(orchFlow.getFlowName());
         buildingBlock.setMsoId(UUID.randomUUID().toString());
         if (resource == null) {
 
 import org.apache.commons.lang3.builder.EqualsBuilder;
 import org.apache.commons.lang3.builder.HashCodeBuilder;
 import org.apache.commons.lang3.builder.ToStringBuilder;
-import org.onap.so.db.catalog.beans.BuildingBlockDetail;
 import com.openpojo.business.annotation.BusinessKey;
 import uk.co.blackpepper.bowman.annotation.LinkedResource;
 
     @Column(name = "FLOW_VERSION")
     private Double flowVersion;
 
+    @BusinessKey
+    @Column(name = "ACTION")
+    private String bpmnAction;
+
+    @BusinessKey
+    @Column(name = "SCOPE")
+    private String bpmnScope;
+
     @ManyToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY)
     @JoinColumn(name = "NB_REQ_REF_LOOKUP_ID")
     private NorthBoundRequest northBoundRequest;
     public String toString() {
         return new ToStringBuilder(this).append("id", id).append("action", action)
                 .append("sequenceNumber", sequenceNumber).append("flowName", flowName)
-                .append("flowVersion", flowVersion).toString();
+                .append("flowVersion", flowVersion).append("bpmnAction", bpmnAction).append("bpmnScope", bpmnScope)
+                .toString();
     }
 
     @Override
         }
         OrchestrationFlow castOther = (OrchestrationFlow) other;
         return new EqualsBuilder().append(action, castOther.action).append(sequenceNumber, castOther.sequenceNumber)
-                .append(flowName, castOther.flowName).append(flowVersion, castOther.flowVersion).isEquals();
+                .append(flowName, castOther.flowName).append(flowVersion, castOther.flowVersion)
+                .append(bpmnAction, castOther.bpmnAction).append(bpmnScope, castOther.bpmnScope).isEquals();
     }
 
     @Override
     public int hashCode() {
         return new HashCodeBuilder().append(action).append(sequenceNumber).append(flowName).append(flowVersion)
-                .toHashCode();
+                .append(bpmnAction).append(bpmnScope).toHashCode();
     }
 
     public String getAction() {
         this.id = id;
     }
 
+    public String getBpmnAction() {
+        return bpmnAction;
+    }
+
+    public void setBpmnAction(String bpmnAction) {
+        this.bpmnAction = bpmnAction;
+    }
+
+    public String getBpmnScope() {
+        return bpmnScope;
+    }
+
+    public void setBpmnScope(String bpmnScope) {
+        this.bpmnScope = bpmnScope;
+    }
+
     @LinkedResource
     public NorthBoundRequest getNorthBoundRequest() {
         return northBoundRequest;
 
   `SEQ_NO` int(11) NOT NULL,
   `FLOW_NAME` varchar(200) NOT NULL,
   `FLOW_VERSION` double NOT NULL,
+  `SCOPE` varchar(200) DEFAULT NULL,
+  `ACTION` varchar(200) DEFAULT NULL,
   `NB_REQ_REF_LOOKUP_ID` int(11) NOT NULL,
   PRIMARY KEY (`id`),
   UNIQUE KEY `UK_orchestration_flow_reference` (`COMPOSITE_ACTION`,`FLOW_NAME`,`SEQ_NO`,`NB_REQ_REF_LOOKUP_ID`),