diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js
index 181fc11..51f353f 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsActionHelper.js
@@ -37,7 +37,6 @@
         thresholdValue: entitlementPool.thresholdValue,
         thresholdUnits: getValue(entitlementPool.thresholdUnits),
         increments: entitlementPool.increments,
-        operationalScope: getValue(entitlementPool.operationalScope),
         time: entitlementPool.time,
         startDate: entitlementPool.startDate,
         expiryDate: entitlementPool.expiryDate
@@ -58,7 +57,6 @@
             thresholdValue: entitlementPool.thresholdValue,
             thresholdUnits: getValue(entitlementPool.thresholdUnits),
             increments: entitlementPool.increments,
-            operationalScope: getValue(entitlementPool.operationalScope),
             time: entitlementPool.time,
             startDate: entitlementPool.startDate,
             expiryDate: entitlementPool.expiryDate
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsConstants.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsConstants.js
index e69ff68..dbb6b44 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsConstants.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsConstants.js
@@ -49,7 +49,6 @@
     ENTITLEMENT_POOLS_EDITOR_DATA: {
         entitlementMetric: { choice: '', other: '' },
         aggregationFunction: { choice: '', other: '' },
-        operationalScope: { choices: [], other: '' },
         time: { choice: '', other: '' }
     }
 };
@@ -60,16 +59,6 @@
 };
 
 export const optionsInputValues = {
-    OPERATIONAL_SCOPE: [
-        { enum: '', title: i18n('please select…') },
-        { enum: 'Network_Wide', title: 'Network Wide' },
-        { enum: 'Availability_Zone', title: 'Availability Zone' },
-        { enum: 'Data_Center', title: 'Data Center' },
-        { enum: 'Tenant', title: 'Tenant' },
-        { enum: 'VM', title: 'VM' },
-        { enum: 'CPU', title: 'CPU' },
-        { enum: 'Core', title: 'Core' }
-    ],
     TIME: [
         { enum: '', title: i18n('please select…') },
         { enum: 'Hour', title: 'Hour' },
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorReducer.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorReducer.js
index 4556b87..f773fa1 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorReducer.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorReducer.js
@@ -61,11 +61,6 @@
                         errorText: '',
                         validations: [{ type: 'maxLength', data: 120 }]
                     },
-                    operationalScope: {
-                        isValid: true,
-                        errorText: '',
-                        validations: []
-                    },
                     thresholdUnits: {
                         isValid: true,
                         errorText: '',
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx
index 350dc0b..c74354c 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/entitlementPools/EntitlementPoolsEditorView.jsx
@@ -20,13 +20,11 @@
 import Validator from 'nfvo-utils/Validator.js';
 
 import Input from 'nfvo-components/input/validation/Input.jsx';
-import InputOptions from 'nfvo-components/input/validation/InputOptions.jsx';
 import Form from 'nfvo-components/input/validation/Form.jsx';
 import Button from 'sdc-ui/lib/react/Button.js';
 import GridSection from 'nfvo-components/grid/GridSection.jsx';
 import GridItem from 'nfvo-components/grid/GridItem.jsx';
 import {
-    optionsInputValues as EntitlementPoolsOptionsInputValues,
     SP_ENTITLEMENT_POOL_FORM,
     tabIds
 } from './EntitlementPoolsConstants.js';
@@ -36,7 +34,6 @@
     thresholdValueValidation
 } from '../LicenseModelValidations.js';
 import { DATE_FORMAT } from 'sdc-app/onboarding/OnboardingConstants.js';
-import { other as optionInputOther } from 'nfvo-components/input/validation/InputOptions.jsx';
 import Tabs from 'sdc-ui/lib/react/Tabs.js';
 import Tab from 'sdc-ui/lib/react/Tab.js';
 import EntitlementPoolsLimits from './EntitlementPoolsLimits.js';
@@ -49,10 +46,6 @@
     id: PropTypes.string,
     name: PropTypes.string,
     description: PropTypes.string,
-    operationalScope: PropTypes.shape({
-        choices: PropTypes.array,
-        other: PropTypes.string
-    }),
     thresholdUnits: PropTypes.string,
     thresholdValue: PropTypes.string,
     increments: PropTypes.string,
@@ -71,7 +64,6 @@
     let {
         name,
         description,
-        operationalScope,
         thresholdUnits,
         thresholdValue,
         increments,
@@ -97,59 +89,6 @@
                 />
             </GridItem>
             <GridItem colSpan={2} lastColInRow>
-                <InputOptions
-                    onInputChange={() => {}}
-                    isMultiSelect={true}
-                    onEnumChange={operationalScope =>
-                        onDataChanged(
-                            {
-                                operationalScope: {
-                                    choices: operationalScope,
-                                    other: ''
-                                }
-                            },
-                            SP_ENTITLEMENT_POOL_FORM
-                        )
-                    }
-                    onOtherChange={operationalScope =>
-                        onDataChanged(
-                            {
-                                operationalScope: {
-                                    choices: [optionInputOther.OTHER],
-                                    other: operationalScope
-                                }
-                            },
-                            SP_ENTITLEMENT_POOL_FORM
-                        )
-                    }
-                    label={i18n('Operational Scope')}
-                    data-test-id="create-ep-operational-scope"
-                    type="select"
-                    multiSelectedEnum={
-                        operationalScope && operationalScope.choices
-                    }
-                    otherValue={operationalScope && operationalScope.other}
-                    values={
-                        EntitlementPoolsOptionsInputValues.OPERATIONAL_SCOPE
-                    }
-                    isValid={genericFieldInfo.operationalScope.isValid}
-                    errorText={genericFieldInfo.operationalScope.errorText}
-                />
-            </GridItem>
-            <GridItem colSpan={2} stretch>
-                <Input
-                    onChange={description =>
-                        onDataChanged({ description }, SP_ENTITLEMENT_POOL_FORM)
-                    }
-                    isValid={genericFieldInfo.description.isValid}
-                    errorText={genericFieldInfo.description.errorText}
-                    label={i18n('Description')}
-                    value={description}
-                    data-test-id="create-ep-description"
-                    type="textarea"
-                />
-            </GridItem>
-            <GridItem colSpan={2} lastColInRow>
                 <div className="threshold-section">
                     <Input
                         onChange={e => {
@@ -205,6 +144,21 @@
                         type="text"
                     />
                 </div>
+            </GridItem>
+            <GridItem colSpan={2} stretch>
+                <Input
+                    onChange={description =>
+                        onDataChanged({ description }, SP_ENTITLEMENT_POOL_FORM)
+                    }
+                    isValid={genericFieldInfo.description.isValid}
+                    errorText={genericFieldInfo.description.errorText}
+                    label={i18n('Description')}
+                    value={description}
+                    data-test-id="create-ep-description"
+                    type="textarea"
+                />
+            </GridItem>
+            <GridItem colSpan={2} lastColInRow>
                 <Input
                     onChange={increments =>
                         onDataChanged({ increments }, SP_ENTITLEMENT_POOL_FORM)
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementActionHelper.js
index 5d425a8..feceba5 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementActionHelper.js
@@ -40,7 +40,6 @@
         name: licenseAgreement.name,
         description: licenseAgreement.description,
         licenseTerm: licenseAgreement.licenseTerm,
-        requirementsAndConstrains: licenseAgreement.requirementsAndConstrains,
         addedFeatureGroupsIds: licenseAgreement.featureGroupsIds
     });
 }
@@ -61,8 +60,6 @@
             name: licenseAgreement.name,
             description: licenseAgreement.description,
             licenseTerm: licenseAgreement.licenseTerm,
-            requirementsAndConstrains:
-                licenseAgreement.requirementsAndConstrains,
             addedFeatureGroupsIds: featureGroupsIds.filter(
                 featureGroupId =>
                     prevFeatureGroupsIds.indexOf(featureGroupId) === -1
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorReducer.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorReducer.js
index 0d3fb2a..03157cb 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorReducer.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorReducer.js
@@ -37,14 +37,6 @@
                             LicenseAgreementEnums.SELECTED_LICENSE_AGREEMENT_TAB
                                 .GENERAL
                     },
-                    requirementsAndConstrains: {
-                        isValid: true,
-                        errorText: '',
-                        validations: [{ type: 'maxLength', data: 1000 }],
-                        tabId:
-                            LicenseAgreementEnums.SELECTED_LICENSE_AGREEMENT_TAB
-                                .GENERAL
-                    },
                     licenseTerm: {
                         isValid: true,
                         errorText: '',
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx
index cc16dd9..b2ebc1e 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseAgreement/LicenseAgreementEditorView.jsx
@@ -42,7 +42,6 @@
     id: PropTypes.string,
     name: PropTypes.string,
     description: PropTypes.string,
-    requirementsAndConstrains: PropTypes.string,
     licenseTerm: PropTypes.object,
     featureGroupsIds: PropTypes.arrayOf(PropTypes.string),
     version: PropTypes.object
@@ -54,7 +53,7 @@
     onDataChanged,
     validateName
 }) => {
-    let { name, description, requirementsAndConstrains, licenseTerm } = data;
+    let { name, description, licenseTerm } = data;
     return (
         <GridSection hasLastColSet>
             <GridItem colSpan={2}>
@@ -73,23 +72,6 @@
                     isRequired={true}
                     type="text"
                 />
-                <Input
-                    isValid={genericFieldInfo.requirementsAndConstrains.isValid}
-                    errorText={
-                        genericFieldInfo.requirementsAndConstrains.errorText
-                    }
-                    onChange={requirementsAndConstrains =>
-                        onDataChanged(
-                            { requirementsAndConstrains },
-                            LA_EDITOR_FORM
-                        )
-                    }
-                    label={i18n('Requirements and Constraints')}
-                    value={requirementsAndConstrains}
-                    data-test-id="create-la-requirements-constants"
-                    name="license-agreement-requirements-and-constraints"
-                    type="textarea"
-                />
                 <InputOptions
                     onInputChange={() => {}}
                     isMultiSelect={false}
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js
index ebbe84a..39af205 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsActionHelper.js
@@ -40,7 +40,6 @@
     return RestAPIUtil.post(baseUrl(licenseModelId, version), {
         name: licenseKeyGroup.name,
         description: licenseKeyGroup.description,
-        operationalScope: getValue(licenseKeyGroup.operationalScope),
         type: licenseKeyGroup.type,
         increments: licenseKeyGroup.increments,
         thresholdValue: licenseKeyGroup.thresholdValue,
@@ -56,7 +55,6 @@
         {
             name: licenseKeyGroup.name,
             description: licenseKeyGroup.description,
-            operationalScope: getValue(licenseKeyGroup.operationalScope),
             type: licenseKeyGroup.type,
             increments: licenseKeyGroup.increments,
             thresholdValue: licenseKeyGroup.thresholdValue,
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsConstants.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsConstants.js
index aad0a0b..d201886 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsConstants.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsConstants.js
@@ -35,24 +35,13 @@
 
 export const defaultState = {
     licenseKeyGroupsEditor: {
-        type: '',
-        operationalScope: { choices: [], other: '' }
+        type: ''
     }
 };
 
 export const LKG_FORM_NAME = 'LKGFORM';
 
 export const optionsInputValues = {
-    OPERATIONAL_SCOPE: [
-        { enum: '', title: i18n('please select…') },
-        { enum: 'Network_Wide', title: 'Network Wide' },
-        { enum: 'Availability_Zone', title: 'Availability Zone' },
-        { enum: 'Data_Center', title: 'Data Center' },
-        { enum: 'Tenant', title: 'Tenant' },
-        { enum: 'VM', title: 'VM' },
-        { enum: 'CPU', title: 'CPU' },
-        { enum: 'Core', title: 'Core' }
-    ],
     TYPE: [
         { enum: '', title: i18n('please select…') },
         { enum: 'Universal', title: 'Universal' },
@@ -73,27 +62,6 @@
         : '';
 };
 
-export const getOperationalScopes = operationalScope => {
-    if (
-        operationalScope.choices.toString() === i18n(optionInputOther.OTHER) &&
-        operationalScope.other !== ''
-    ) {
-        return operationalScope.other;
-    } else {
-        let allOpScopes = '';
-        for (let opScope of operationalScope.choices) {
-            allOpScopes +=
-                allOpScopes === ''
-                    ? InputOptions.getTitleByName(optionsInputValues, opScope)
-                    : `, ${InputOptions.getTitleByName(
-                          optionsInputValues,
-                          opScope
-                      )}`;
-        }
-        return allOpScopes;
-    }
-};
-
 export const tabIds = {
     GENERAL: 'GENERAL',
     SP_LIMITS: 'SP_LIMITS',
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorReducer.js b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorReducer.js
index e948e9c..948398a 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorReducer.js
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorReducer.js
@@ -64,11 +64,6 @@
                         errorText: '',
                         validations: [{ type: 'required', data: true }]
                     },
-                    operationalScope: {
-                        isValid: true,
-                        errorText: '',
-                        validations: []
-                    },
                     thresholdUnits: {
                         isValid: true,
                         errorText: '',
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx
index b53ce8f..0d5c6bc 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsEditorView.jsx
@@ -36,8 +36,6 @@
     validateStartDate,
     thresholdValueValidation
 } from '../LicenseModelValidations.js';
-import { other as optionInputOther } from 'nfvo-components/input/validation/InputOptions.jsx';
-import InputOptions from 'nfvo-components/input/validation/InputOptions.jsx';
 
 import { DATE_FORMAT } from 'sdc-app/onboarding/OnboardingConstants.js';
 
@@ -52,10 +50,6 @@
     name: PropTypes.string,
     description: PropTypes.string,
     increments: PropTypes.string,
-    operationalScope: PropTypes.shape({
-        choices: PropTypes.array,
-        other: PropTypes.string
-    }),
     type: PropTypes.string,
     thresholdUnits: PropTypes.string,
     thresholdValue: PropTypes.number,
@@ -75,7 +69,6 @@
         name,
         description,
         increments,
-        operationalScope,
         type,
         thresholdUnits,
         thresholdValue,
@@ -100,82 +93,6 @@
                     type="text"
                 />
             </GridItem>
-            <GridItem colSpan={2} lastColInRow>
-                <InputOptions
-                    onInputChange={() => {}}
-                    isMultiSelect={true}
-                    onEnumChange={operationalScope =>
-                        onDataChanged(
-                            {
-                                operationalScope: {
-                                    choices: operationalScope,
-                                    other: ''
-                                }
-                            },
-                            LKG_FORM_NAME
-                        )
-                    }
-                    onOtherChange={operationalScope =>
-                        onDataChanged(
-                            {
-                                operationalScope: {
-                                    choices: [optionInputOther.OTHER],
-                                    other: operationalScope
-                                }
-                            },
-                            LKG_FORM_NAME
-                        )
-                    }
-                    label={i18n('Operational Scope')}
-                    data-test-id="create-lkg-operational-scope"
-                    type="select"
-                    multiSelectedEnum={
-                        operationalScope && operationalScope.choices
-                    }
-                    otherValue={operationalScope && operationalScope.other}
-                    values={licenseKeyGroupOptionsInputValues.OPERATIONAL_SCOPE}
-                    isValid={genericFieldInfo.operationalScope.isValid}
-                    errorText={genericFieldInfo.operationalScope.errorText}
-                />
-            </GridItem>
-            <GridItem colSpan={2}>
-                <Input
-                    onChange={description =>
-                        onDataChanged({ description }, LKG_FORM_NAME)
-                    }
-                    label={i18n('Description')}
-                    data-test-id="create-lkg-description"
-                    value={description}
-                    isValid={genericFieldInfo.description.isValid}
-                    errorText={genericFieldInfo.description.errorText}
-                    type="textarea"
-                    overlayPos="bottom"
-                />
-            </GridItem>
-            <GridItem colSpan={2} lastColInRow>
-                <Input
-                    isRequired={true}
-                    onChange={e => {
-                        const selectedIndex = e.target.selectedIndex;
-                        const val = e.target.options[selectedIndex].value;
-                        onDataChanged({ type: val }, LKG_FORM_NAME);
-                    }}
-                    value={type}
-                    label={i18n('Type')}
-                    data-test-id="create-lkg-type"
-                    isValid={genericFieldInfo.type.isValid}
-                    errorText={genericFieldInfo.type.errorText}
-                    groupClassName="bootstrap-input-options"
-                    className="input-options-select"
-                    overlayPos="bottom"
-                    type="select">
-                    {licenseKeyGroupOptionsInputValues.TYPE.map(type => (
-                        <option key={type.enum} value={type.enum}>
-                            {type.title}
-                        </option>
-                    ))}
-                </Input>
-            </GridItem>
             <GridItem>
                 <Input
                     onChange={e => {
@@ -209,7 +126,7 @@
                     )}
                 </Input>
             </GridItem>
-            <GridItem>
+            <GridItem lastColInRow>
                 <Input
                     className="entitlement-pools-form-row-threshold-value"
                     onChange={thresholdValue =>
@@ -225,6 +142,55 @@
                     type="text"
                 />
             </GridItem>
+            <GridItem colSpan={2}>
+                <Input
+                    onChange={description =>
+                        onDataChanged({ description }, LKG_FORM_NAME)
+                    }
+                    label={i18n('Description')}
+                    data-test-id="create-lkg-description"
+                    value={description}
+                    isValid={genericFieldInfo.description.isValid}
+                    errorText={genericFieldInfo.description.errorText}
+                    type="textarea"
+                    overlayPos="bottom"
+                />
+            </GridItem>
+            <GridItem colSpan={2} lastColInRow>
+                <Input
+                    onChange={increments =>
+                        onDataChanged({ increments }, LKG_FORM_NAME)
+                    }
+                    label={i18n('Increments')}
+                    value={increments}
+                    data-test-id="create-ep-increments"
+                    type="text"
+                />
+            </GridItem>
+            <GridItem colSpan={2}>
+                <Input
+                    isRequired={true}
+                    onChange={e => {
+                        const selectedIndex = e.target.selectedIndex;
+                        const val = e.target.options[selectedIndex].value;
+                        onDataChanged({ type: val }, LKG_FORM_NAME);
+                    }}
+                    value={type}
+                    label={i18n('Type')}
+                    data-test-id="create-lkg-type"
+                    isValid={genericFieldInfo.type.isValid}
+                    errorText={genericFieldInfo.type.errorText}
+                    groupClassName="bootstrap-input-options"
+                    className="input-options-select"
+                    overlayPos="bottom"
+                    type="select">
+                    {licenseKeyGroupOptionsInputValues.TYPE.map(type => (
+                        <option key={type.enum} value={type.enum}>
+                            {type.title}
+                        </option>
+                    ))}
+                </Input>
+            </GridItem>
             <GridItem>
                 <Input
                     type="date"
@@ -275,17 +241,6 @@
                     selectsEnd
                 />
             </GridItem>
-            <GridItem colSpan={2}>
-                <Input
-                    onChange={increments =>
-                        onDataChanged({ increments }, LKG_FORM_NAME)
-                    }
-                    label={i18n('Increments')}
-                    value={increments}
-                    data-test-id="create-ep-increments"
-                    type="text"
-                />
-            </GridItem>
         </GridSection>
     );
 };
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditorView.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditorView.jsx
index 4c8c8ce..9d961b4 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditorView.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/licenseKeyGroups/LicenseKeyGroupsListEditorView.jsx
@@ -106,18 +106,10 @@
         if (localFilter.trim()) {
             const filter = new RegExp(escape(localFilter), 'i');
             return licenseKeyGroupsList.filter(
-                ({
-                    name = '',
-                    description = '',
-                    operationalScope = '',
-                    type = ''
-                }) => {
+                ({ name = '', description = '', type = '' }) => {
                     return (
                         escape(name).match(filter) ||
                         escape(description).match(filter) ||
-                        escape(this.extractValue(operationalScope)).match(
-                            filter
-                        ) ||
                         escape(type).match(filter)
                     );
                 }
@@ -128,7 +120,7 @@
     }
 
     renderLicenseKeyGroupListItem(licenseKeyGroup, isReadOnlyMode) {
-        let { id, name, description, operationalScope, type } = licenseKeyGroup;
+        let { id, name, description, type } = licenseKeyGroup;
         let {
             onEditLicenseKeyGroupClick,
             onDeleteLicenseKeyGroupClick
@@ -146,17 +138,12 @@
                 </div>
 
                 <div className="list-editor-item-view-field">
-                    <div className="title">{i18n('Operational Scope')}</div>
-                    <div className="text operational-scope">
-                        {operationalScope &&
-                            this.getOperationalScopes(operationalScope)}
-                    </div>
-
                     <div className="title">{i18n('Type')}</div>
                     <div className="text type">
                         {InputOptions.getTitleByName(optionsInputValues, type)}
                     </div>
                 </div>
+
                 <div className="list-editor-item-view-field">
                     <div className="title">{i18n('Description')}</div>
                     <div className="text description">{description}</div>
@@ -165,32 +152,6 @@
         );
     }
 
-    getOperationalScopes(operationalScope) {
-        if (
-            operationalScope.choices &&
-            operationalScope.choices.toString() === i18n(optionInputOther.OTHER)
-        ) {
-            return operationalScope.other;
-        } else if (operationalScope.choices) {
-            let allOpScopes = '';
-            for (let opScope of operationalScope.choices) {
-                allOpScopes +=
-                    allOpScopes === ''
-                        ? InputOptions.getTitleByName(
-                              optionsInputValues,
-                              opScope
-                          )
-                        : `, ${InputOptions.getTitleByName(
-                              optionsInputValues,
-                              opScope
-                          )}`;
-            }
-            return allOpScopes;
-        } else {
-            return '';
-        }
-    }
-
     extractValue(item) {
         if (item === undefined) {
             return '';
diff --git a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/listItems/LicenseKeyGroup.jsx b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/listItems/LicenseKeyGroup.jsx
index 555acf8..79f0eb2 100644
--- a/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/listItems/LicenseKeyGroup.jsx
+++ b/openecomp-ui/src/sdc-app/onboarding/licenseModel/overview/listItems/LicenseKeyGroup.jsx
@@ -15,10 +15,7 @@
  */
 import React, { Component } from 'react';
 import i18n from 'nfvo-utils/i18n/i18n.js';
-import {
-    extractValue,
-    getOperationalScopes
-} from '../../licenseKeyGroups/LicenseKeyGroupsConstants.js';
+import { extractValue } from '../../licenseKeyGroups/LicenseKeyGroupsConstants.js';
 import ArrowCol from './listItemsComponents/ArrowCol.jsx';
 import ItemInfo from './listItemsComponents/ItemInfo.jsx';
 import IconCol from './listItemsComponents/IconCol.jsx';
@@ -29,10 +26,7 @@
 
 class LicenseKeyGroup extends Component {
     render() {
-        let {
-            lkgData: { name, description, operationalScope, type },
-            isOrphan
-        } = this.props;
+        let { lkgData: { name, description, type }, isOrphan } = this.props;
         return (
             <div
                 className={`vlm-list-item vlm-list-item-lkg ${
@@ -43,14 +37,6 @@
                 <IconCol className="lkg-icon" text="LKG" />
                 <ItemInfo name={name} description={description} />
                 <AdditionalDataCol>
-                    {operationalScope &&
-                        operationalScope.choices && (
-                            <AdditionalDataElement
-                                className="vlm-list-item-operational-scope"
-                                name={i18n('Operational Scope')}
-                                value={getOperationalScopes(operationalScope)}
-                            />
-                        )}
                     <AdditionalDataElement
                         className="vlm-list-item-group-type"
                         name={i18n('Type')}
