diff --git a/src/nbi/service/rest_server/nbi_plugins/ietf_sap_topology/YangHandler.py b/src/nbi/service/rest_server/nbi_plugins/ietf_sap_topology/YangHandler.py
index af358532b7e55c2f3cfef0dcf3194c9076c1f0e8..1ee82a37de9e68bead1aeba97bad7275c243efda 100644
--- a/src/nbi/service/rest_server/nbi_plugins/ietf_sap_topology/YangHandler.py
+++ b/src/nbi/service/rest_server/nbi_plugins/ietf_sap_topology/YangHandler.py
@@ -80,16 +80,30 @@ class YangHandler:
         
     def compose_node(self, dev: Device, name_mappings: NameMappings, network: Any, connected_tps: set) -> None:      
 
+
+
         device_name = dev.name
         name_mappings.store_device_name(dev)
 
-        node = network.create_path(f'node[node-id="{device_name}"]')
-        node.create_path('node-id', device_name)
+        context_client = ContextClient()
+        device = context_client.GetDevice(DeviceId(**json_device_id(device_name)))
+    
+        
+        for config in device.device_config.config_rules:
+            if config.WhichOneof('config_rule') == 'custom' and config.custom.resource_key == '_connect/settings':
+                try:
+                    settings_data = json.loads(config.custom.resource_value)
+                    sap_device = settings_data.get('sap_id') 
+                except ValueError:
+                    sap_device = "ERROR"
+                break 
+        sap_device = "SAP"+ str(sap_device)
+
+        node = network.create_path(f'node[node-id="{sap_device}"]')
+        node.create_path('node-id', sap_device)
 
     
 
-        context_client = ContextClient()
-        device = context_client.GetDevice(DeviceId(**json_device_id(device_name)))
 
         for endpoint in device.device_endpoints:
             name_mappings.store_endpoint_name(dev, endpoint)
@@ -97,25 +111,16 @@ class YangHandler:
 
         
 
-        self._process_device_config(device, node, connected_tps)
+        self._process_device_config(device, node, connected_tps, sap_device)
 
 
    
     
-    def _process_device_config(self, device: Device, node: Any, connected_tps: set) -> None:
+    def _process_device_config(self, device: Device, node: Any, connected_tps: set, sap_device: str) -> None:
         #sLOGGER.info(f"Métodos disponibles en 'node': {dir(node)}")
         #LOGGER.info(f"Métodos disponibles en 'nedevice': {dir(device)}")
-        sap_device = ""
-        for config in device.device_config.config_rules:
-            
-            if config.WhichOneof('config_rule') == 'custom' and config.custom.resource_key == '_connect/settings':
-                try:
-                    settings_data = json.loads(config.custom.resource_value)
-                    sap_device = settings_data.get('sap_id', "")
-                except ValueError:
-                    sap_device = "ERROR"
-                
-                break
+        sap_device = sap_device
+
                 
         for config in device.device_config.config_rules: