Senior SAP Developer · +10 años de experiencia

David Ollero
Montes

Desarrollo de aplicaciones SAP Fiori / SAPUI5 & SAP RAP para entornos S/4HANA modernos.

SAP FioriSAPUI5RAP CDS ViewsOData v2/v4ABAP OO Clean CoreS/4HANA
// Perfil técnico
DisponibilidadActivo
Experiencia+10 años SAP Fiori/UI5
EntornosS/4HANA · ECC
ParadigmaRAP · Clean Core
CertificaciónPSM I — Scrum.org
IdiomasES · FR C1 · EN B2+
UbicaciónSevilla, España
// Sobre mí

Perfil profesional

Ingeniero Informático con más de 10 años de experiencia en tecnologías SAP, especializado en el desarrollo de aplicaciones SAP Fiori y SAPUI5 para clientes nacionales e internacionales.

He participado en proyectos SAP ECC y SAP S/4HANA, desarrollando soluciones modernas basadas en Fiori Elements, RAP (RESTful ABAP Programming Model), CDS Views y OData. Mi enfoque está orientado a la creación de aplicaciones escalables, mantenibles y alineadas con Clean Core.

Destaco por mi capacidad de análisis, resolución de problemas, orientación a la calidad técnica y colaboración con equipos multidisciplinares.

Español
NATIVO
Français
C1 AVANCÉ
English
B2+ PROF.
SAP Fiori Launchpad

SAP Fiori Launchpad — Vista home personalizada con tiles de aplicaciones, KPIs y calendario integrado

// Empresas con las que he colaborado
WorldgriduDefine FihocaAluxion BirchmanTechedge
SAP Developer en doble monitor

Entorno de desarrollo SAP — Aplicación Fiori en monitor izquierdo · ABAP OO en Eclipse ADT a la derecha

// Stack tecnológico

Tecnologías

Dominio profundo del ecosistema SAP moderno, con conocimiento complementario en desarrollo frontend estándar.

SAP S/4HANA Ecosystem

SAP S/4HANA Ecosystem — Arquitectura completa: UI Fiori · OData API · ABAP Backend · HANA Database

SAP Business Technology Platform

SAP Business Technology Platform — Plataforma unificada para construir, integrar, analizar y extender

SAP Core
🎯
SAP Fiori
UX / Launchpad
SAPUI5
Framework UI
🧩
Fiori Elements
Floorplan patterns
🔷
RAP
RESTful ABAP
🗃️
CDS Views
Data modelling
🔌
OData v2/v4
API layer
⚙️
ABAP OO
Backend logic
🏢
S/4HANA
On-Premise / Cloud
🛡️
Clean Core
Extensibility
🛠️
Eclipse ADT
Dev tooling
☁️
SAP BTP
Cloud platform
📋
Adobe Forms
Output mgmt
Web & otras
🟨
JavaScript
ES6+
🌐
HTML5 / CSS3
Frontend
⚛️
React Native
Mobile
Java
Backend
🐍
Python
Scripting
// SAP RAP — RESTful Application Programming Model

Arquitectura RAP

El modelo RAP es el estándar SAP moderno para construir aplicaciones Fiori sobre S/4HANA. Separa persistencia, lógica de negocio y exposición OData en capas bien definidas.

SAP RAP Architecture

SAP RAP — RESTful ABAP Programming Model: End-to-End Architecture con 5 capas bien definidas

Fiori Elements List Report

Fiori Elements List Report — Aplicación Manage Sales Orders con filtros, tabla y acciones (Create, Delete, Fulfill)

🎯 UI Layer
SAP Fiori Elements · SAPUI5 · Launchpad
🔌 OData
Service Binding · OData v2/v4 · HTTP REST
📦 Projection
Consumption CDS · Behavior Projection · UI Annotations
🔷 Interface
Root CDS View Entity · Behavior Definition · ETag
⚙️ Behavior Pool
ABAP Class · Validations · Determinations · Actions
🗃️ CDS Views
Interface CDS · VH CDS · Associations · Annotations
💾 Persistence
ABAP Dictionary Table · HANA Database
SAP RAP
Ejemplo: Aplicación Contract Managers

Aplicación RAP managed para gestión de Contract Managers sobre S/4HANA. Fiori Elements List Report + Object Page con Value Help CDS y filtro OR personalizado.

managed BOCDS VH Fiori ExtensionOData v2
ABAP CDSZI_CONTRACT_MANAGER.ddls
@AccessControl.authorizationCheck: #NOT_REQUIRED
@EndUserText.label: 'Contract Managers'
define root view entity ZI_CONTRACT_MANAGER
  as select from ymmcontrats_cm
{
  key yebeln        as ContractId,
      yphacase      as Phase,
      ypharfx       as RfxNumber,
      ytitrecontrat as ContractTitle,
      ycm1          as ContractManager1,
      ycm2          as ContractManager2,
      ycm3          as ContractManager3
}
ABAP CDSZC_CONTRACT_MANAGER.ddls
@Metadata.allowExtensions: true
define root view entity ZC_CONTRACT_MANAGER
  provider contract transactional_query
  as projection on ZI_CONTRACT_MANAGER
{
  @Consumption.valueHelpDefinition: [{
    entity: { name: 'ZC_VH_CONTRACT_MANAGER',
              element: 'UserId' }
  }]
  ContractManager1,
  ContractManager2,
  ContractManager3
}
ABAP RAPZI_CONTRACT_MANAGER.bdef
managed implementation in class
  zbp_i_contract_manager unique;
strict ( 2 );
define behavior for ZI_CONTRACT_MANAGER
persistent table ymmcontrats_cm
lock master
{
  update; delete;
  field ( readonly )
    ContractId, Phase, RfxNumber, ContractTitle;
  mapping for ymmcontrats_cm {
    ContractId = yebeln;
    ContractManager1 = ycm1;
    ContractManager2 = ycm2;
    ContractManager3 = ycm3;
  }
}
JavaScriptControllerExtension.js — Filtro OR
onBeforeRebindTableExtension: function(oEvent) {
  var oParams = oEvent.getParameter("bindingParams");
  var oInput  = this.byId("contractManagerFilterInput");
  if (!oInput) return;
  var sVal = oInput.getValue().replace(/\*/g,"").trim();
  if (!sVal) return;
  // Filtro OR — CM1, CM2, CM3
  oParams.filters.push(new Filter({
    filters: [
      new Filter("ContractManager1", FilterOperator.Contains, sVal),
      new Filter("ContractManager2", FilterOperator.Contains, sVal),
      new Filter("ContractManager3", FilterOperator.Contains, sVal)
    ], and: false
  }));
}

Demo interactiva — List Report Fiori Elements con filtro OR sobre los 3 Contract Managers.

Contract Managers
DO
ContratoAffaireTítuloCM1CM2CM3Estado
// CDS Views & Fiori Elements

Más ejemplos técnicos

CDS Views y Fiori Elements: el dúo que define el desarrollo SAP moderno.

Eclipse ADT CDS View

Eclipse ADT — CDS View ZI_SalesOrder con asociaciones, anotaciones y estructura completa del Business Object

SAP Fiori Value Help

Value Help Fiori — Diálogo de selección de proveedor con búsqueda, filtros y lista de resultados paginada

Fiori Elements Object Page

Fiori Elements Object Page — Sales Order con secciones colapsables, datos de cabecera, ítems y Business Partner

CDS Views
Value Help con CDS — Usuarios SAP

CDS de Value Help que accede a USR21 + ADRP para exponer nombre, apellidos e ID de usuario desde cualquier campo Fiori con búsqueda integrada.

@ObjectModel.dataCategory: #VALUE_HELP@Search.searchableINNER JOIN
ABAP CDSZI_VH_CONTRACT_MANAGER.ddls
@ObjectModel.dataCategory: #VALUE_HELP
@Search.searchable: true
define view entity ZI_VH_CONTRACT_MANAGER
  as select from usr21
  inner join adrp on adrp.persnumber = usr21.persnumber
{
  @ObjectModel.text.element: [ 'FullName' ]
  @Search.defaultSearchElement: true
  key usr21.bname as UserId,
  @Semantics.text: true
  adrp.name_text  as FullName,
  adrp.name_first as FirstName,
  adrp.name_last  as LastName
}
ABAP CDSZC_VH_CONTRACT_MANAGER.ddls
define view entity ZC_VH_CONTRACT_MANAGER
  as select from ZI_VH_CONTRACT_MANAGER
{
  key UserId, FullName, FirstName, LastName
}
Fiori Elements
Metadata Extension — UI Annotations

Las metadata extensions permiten definir columnas, filtros, facetas y agrupaciones sin tocar la CDS de consumo — separación limpia de responsabilidades.

@UI.lineItem@UI.selectionField@UI.facet@UI.fieldGroup
ABAP CDSZC_CONTRACT_MANAGER.ddlx
@Metadata.layer: #CORE
@UI.headerInfo: { typeName: 'Contract Manager',
  title: { value: 'ContractTitle' } }
annotate view ZC_CONTRACT_MANAGER with {
  @UI.selectionField: [{ position: 10 }]
  @UI.lineItem: [{ position: 10, importance: #HIGH }]
  ContractId;
  @UI.lineItem: [{ position: 50 }]
  @UI.fieldGroup: [{ qualifier: 'ContractManager', position: 10 }]
  ContractManager1;
}
XMLContractManagerFilter.fragment.xml
<core:FragmentDefinition xmlns="sap.m"
  xmlns:sfb="sap.ui.comp.smartfilterbar">
  <sfb:ControlConfiguration
    key="ZContractManagerFilter"
    label="Contract Manager">
    <sfb:customControl>
      <HBox alignItems="Center">
        <Input id="contractManagerFilterInput"
          width="20rem"
          submit="onSubmitContractManagerFilter"/>
        <Button text="Effacer"
          press="onClearAllFilters"/>
      </HBox>
    </sfb:customControl>
  </sfb:ControlConfiguration>
</core:FragmentDefinition>
// Trayectoria profesional

Experiencia

Más de 10 años trabajando en proyectos SAP para clientes de diferentes sectores y países.

Equipo SAP S/4HANA

Entorno de trabajo SAP — Equipo multidisciplinar trabajando en proyecto S/4HANA con ABAP y Fiori

Sprint Planning Agile

Metodología ágil — Sprint Planning con backlog de tareas, colaboración y foco en entrega de valor

2022 →
Presente
Senior SAP Fiori/UI5 Developer — Proyectos S/4HANA
Desarrollo de aplicaciones SAP RAP y Fiori Elements sobre S/4HANA. Extensiones Clean Core, Value Helps CDS, servicios OData v2/v4 y extensiones Fiori personalizadas para clientes del sector energético e industrial.
RAPFiori ElementsCDS ViewsOData v4Clean CoreS/4HANA
2018 →
2022
SAP Fiori/UI5 Developer — Proyectos ECC & S/4HANA
Desarrollo de aplicaciones SAPUI5 freestyle y Fiori Elements. OData v2, Adobe Forms, ABAP OO y proyectos de transformación ECC → S/4HANA para clientes internacionales.
SAPUI5OData v2ABAP OOAdobe Forms
2014 →
2018
SAP UI5 Developer — Proyectos SAP ECC
Inicio de especialización en SAP Fiori y SAPUI5 sobre SAP ECC. Aplicaciones transaccionales y analíticas, integración con backends ABAP y soporte multidisciplinar.
SAPUI5SAP ECCABAPOData
// Contacto

Hablemos

¿Tu organización está en proceso de adoptar SAP S/4HANA, RAP o Fiori Elements? Estaré encantado de conversar sobre cómo puedo contribuir a tus proyectos SAP.

¿Qué puedo aportar?

Aplicaciones SAP modernas que generan valor real: escalables, mantenibles, Clean Core y alineadas con la hoja de ruta SAP.

Aplicaciones RAP + Fiori Elements listas para S/4HANA
Extensiones Clean Core — sin modificar estándar SAP
Migraciones ECC → S/4HANA
Formación y mentoring de equipos SAP
Enviar mensaje →