diff --git a/data/pldm_variables.py b/data/pldm_variables.py
index 54eb8f8..482e2b8 100755
--- a/data/pldm_variables.py
+++ b/data/pldm_variables.py
@@ -18,69 +18,13 @@
 VERSION_BIOS = {'VALUE': ['f1', 'f1', 'f1', '00'], 'STRING': '1.0.0'}
 VERSION_FRU = {'VALUE': ['f1', 'f0', 'f0', '00'], 'STRING': '1.0.0'}
 
-# PLDM base related variables.
-PLDM_BASE_CMD = {
-    'GET_TID': '02',
-    'GET_PLDM_VERSION': '03',
-    'GET_PLDM_TYPES': '04',
-    'GET_PLDM_COMMANDS': '05'}
 
-# Response lengths are inclusive of completion code.
-GET_TID_RESP_BYTES = 2
-GET_PLDM_VERSION_RESP_BYTES = 10
-GET_PLDM_TYPES_RESP_BYTES = 9
-GET_PLDM_COMMANDS_RESP_BYTES = 33
-
-# PLDM bios related variables.
-PLDM_BIOS_CMD = {
-    'GET_BIOS_TABLE': '01',
-    'SET_BIOS_ATTRIBUTE_CURRENT_VALUE': '07',
-    'GET_BIOS_ATTRIBUTE_CURRENT_VALUE_BY_HANDLE': '08',
-    'GET_DATE_TIME': '0c'}
-
-PLDM_BIOS_TABLE_TYPES = {
-    'STRING_TABLE': '00',
-    'ATTRIBUTE_TABLE': '01',
-    'ATTRIBUTE_VAL_TABLE': '02'}
-
-TRANSFER_OPERATION_FLAG = {
-    'GETNEXTPART': '00',
-    'GETFIRSTPART': '01'}
-
-TRANSFER_RESP_FLAG = {
-    'PLDM_START': '01',
-    'PLDM_MIDDLE': '02',
-    'PLDM_END': '04',
-    'PLDM_START_AND_END': '05'}
-
-# PLDM platform related variables.
-PLDM_PLATFORM_CMD = {
-    'SET_STATE_EFFECTER_STATES': '39',
-    'GET_PDR': '51'}
-
-PLDM_PDR_TYPES = {
-    'STATE_EFFECTER_PDR': '11'}
-
-# PLDM OEM related variables.
-PLDM_FILEIO_CMD = {
-    'GET_FILE_TABLE': '1',
-    'READ_FILE': '4',
-    'WRITE_FILE': '5',
-    'READ_FILE_INTO_MEMORY': '6',
-    'WRITE_FILE_FROM_MEMORY': '7'}
-
-PLDM_FILEIO_COMPLETION_CODES = {
-    'INVALID_FILE_HANDLE': '80',
-    'DATA_OUT_OF_RANGE': '81',
-    'INVALID_READ_LENGTH': '82',
-    'INVALID_WRITE_LENGTH': '83',
-    'FILE_TABLE_UNAVAILABLE': '84',
-    'INVALID_FILE_TABLE_TYPE': '85'}
-
-# PLDM FRU related variables.
-PLDM_FRU_CMD = {
-    'PLDM_GET_FRU_RECORD_TABLE_METADATA': '01',
-    'PLDM_GET_FRU_RECORD_TABLE': '02'}
+PLDM_BASE_CMDS = ['2(GetTID)', '3(GetPLDMVersion)', '4(GetPLDMTypes)', '5(GetPLDMCommands)']
+PLDM_PLATFORM_CMDS = ['57(SetStateEffecterStates)', '81(GetPDR)']
+PLDM_BIOS_CMDS = ['1(GetBIOSTable)', '7(SetBIOSAttributeCurrentValue)',
+                  '8(GetBIOSAttributeCurrentValueByHandle)', '12(GetDateTime)',
+                  '13(SetDateTime)']
+PLDM_FRU_CMDS = ['1(GetFRURecordTableMetadata)', '2(GetFRURecordTable)']
 
 # PLDM command format.
 
diff --git a/lib/pldm_utils.py b/lib/pldm_utils.py
index 81fbbf0..13005b3 100644
--- a/lib/pldm_utils.py
+++ b/lib/pldm_utils.py
@@ -56,6 +56,10 @@
                 supported_types['text'].append(record[1].rstrip(")"))
             result['supported_types'] = supported_types
 
+        elif 'supported_commands' in result:
+            commands = result['supported_commands'].split(":")[0].split(" ")
+            return commands
+
         elif 'yyyy-mm-dd_hh' in result:
             # Date & Time :
             # YYYY-MM-DD HH:MM:SS - 2020-02-24 06:44:16
diff --git a/pldm/test_pldm_base.robot b/pldm/test_pldm_base.robot
index 0d05182..70929f4 100644
--- a/pldm/test_pldm_base.robot
+++ b/pldm/test_pldm_base.robot
@@ -10,6 +10,7 @@
 
 
 *** Test Cases ***
+
 Verify Get PLDM Types
     [Documentation]  Verify supported PLDM types.
     [Tags]  Verify_Get_PLDM_Types
@@ -64,3 +65,33 @@
     Rprint Vars  pldm_output
 
     Valid Dict  pldm_output  valid_values={'tid': ['1']}
+
+Verify GetPLDMCommands
+    [Documentation]  Verify GetPLDMCommands response message.
+    [Tags]  Verify_GetPLDMCommands
+    [Template]  Verify GetPLDMCommands For PLDM Type
+
+    # pldm_type    # expected_pldm_cmds
+
+    '0'            ${PLDM_BASE_CMDS}
+    '2'            ${PLDM_PLATFORM_CMDS}
+    '3'            ${PLDM_BIOS_CMDS}
+    '4'            ${PLDM_FRU_CMDS}
+
+*** keywords ***
+
+Verify GetPLDMCommands For PLDM Type
+    [Documentation]  Verify GetPLDMCommands for given input pldm type with expected pldm cmds.
+    [Arguments]  ${pldm_type}  ${expected_pldm_cmds}
+
+    # Description of argument(s):
+    # pldm_type             pldm type (e.g. '0', '2', '3', '4').
+    #                      '0' -> base, '2' -> platform, '3' -> 'bios', '4' -> 'fru'.
+    # expected_pldm_cmds    expected pldm commands for given pldm type.
+
+    # Example output:
+    # Supported Commands : 2(GetTID) 3(GetPLDMVersion) 4(GetPLDMTypes) 5(GetPLDMCommands)
+
+    ${pldm_output}=  Pldmtool  base GetPLDMCommands -t ${pldm_type}
+    Rprint Vars  pldm_output
+    Valid List  pldm_output  ${expected_pldm_cmds}
