SAP

La factura llegó con el número de material cortado a la mitad

Un código de material aparece incompleto en una factura y nadie tocó la interfaz. Así se ve en producción el cambio de longitud del material en S/4HANA.

Edward Camacho Guerra
Edward Camacho Guerra

CEO / Arquitecto de Soluciones SAP

· 12 min de lectura

Analista de facturación de una utility revisa un comprobante de servicio recién impreso junto a la impresora industrial de la oficina de facturación

Imagine un lunes en el área de facturación de una distribuidora eléctrica o de una operadora de oil & gas en América Latina. El equipo revisa el lote de documentos emitidos durante el fin de semana y todo cuadra, salvo un detalle: en algunas líneas, el código del material —un repuesto de mantenimiento, un insumo de servicio, un equipo de medición— aparece incompleto. No hay errores en el monitor de integración, no hay un ticket abierto y la interfaz que transporta ese dato no ha sido modificada en años.

La primera reacción suele ser culpar al dato maestro: alguien lo cargó mal, alguien lo corrige a mano y el lote sale. Pero el problema regresa con el siguiente material nuevo. Y es ahí donde conviene detenerse, porque ese código recortado no es un error de captura: es el síntoma visible de un cambio estructural en SAP S/4HANA que alcanzó a una integración que nadie tocó.

Con esta pieza abrimos una serie de seis artículos encadenados sobre ese problema. Aquí instalamos el síntoma tal como se ve en producción; las piezas siguientes irán desarmando la causa y el camino de corrección por etapas.

Un apunte para ubicarse: esta serie no trata de cómo planificar o presupuestar una conversión. Trata de lo que ocurre cuando el sistema ya opera y el error aparece en un documento que alguien tiene que explicar. Si tu organización todavía está en la fase de planificación, al final encontrarás las piezas que ya publicamos sobre ese momento.

El síntoma aparece lejos de la causa

El ciclo del diagnóstico equivocado
Por qué el código recortado vuelve una y otra vez
---
config:
  theme: base
  fontFamily: 'Inter Variable, system-ui, sans-serif'
  themeVariables:
    darkMode: true
    fontFamily: 'Inter Variable, system-ui, sans-serif'
    fontSize: '15px'
    background: '#111113'
    primaryColor: '#1A1A1D'
    primaryTextColor: '#F4F5F8'
    primaryBorderColor: '#00C2FF'
    secondaryColor: '#242428'
    tertiaryColor: '#1A1A1D'
    mainBkg: '#1A1A1D'
    secondBkg: '#242428'
    tertiaryBkg: '#2E2E33'
    lineColor: '#00C2FF'
    textColor: '#F4F5F8'
    titleColor: '#F4F5F8'
    nodeBorder: '#00C2FF'
    clusterBkg: '#1A1A1D'
    clusterBorder: '#2E2E33'
    edgeLabelBackground: '#242428'
    pie1: '#00C2FF'
    pie2: '#f59e0b'
    pie3: '#22c55e'
    pie4: '#59d7ff'
    pie5: '#f97316'
    pie6: '#ef4444'
    pieTitleTextColor: '#F4F5F8'
    pieSectionTextColor: '#F4F5F8'
    pieLegendTextColor: '#F4F5F8'
    pieStrokeColor: '#111113'
    pieOuterStrokeColor: '#111113'
---
flowchart TD
  A([Código de material incompleto en un documento]) --> B[Suele culparse al dato maestro]
  B --> C[Se corrige el registro a mano]
  C --> D[Se reprocesa y se cierra la incidencia]
  D --> E[El origen sigue intacto]
  E --> F[Llega un material nuevo con código largo]
  F --> G([Fallo con el documento ya enviado])
  G -->|Se repite| B
  class A inicio
  class B,C,D proceso
  class E,F neutro
  class G malo
classDef inicio fill:#113d4f,stroke:#00C2FF,color:#ffffff
classDef proceso fill:#33363c,stroke:#9aa0aa,color:#ffffff
classDef malo fill:#462226,stroke:#ef4444,color:#ffffff
classDef neutro fill:#33363c,stroke:#9aa0aa,color:#ffffff
Quien lo detecta es facturación, almacén o auditoría, no el equipo de integración. Para ellos, el síntoma se parece a un problema de calidad de datos, y por eso el diagnóstico inicial suele ir en la dirección equivocada.

Lo primero que hace difícil este problema es quién lo detecta. No lo ve el equipo de integración ni el de desarrollo ABAP: lo ve el analista de facturación, el responsable de almacén que no encuentra el repuesto en el sistema del contratista, o el auditor que no logra conciliar un documento con el catálogo de materiales.

Para ellos, el síntoma se parece a un problema de calidad de datos. Por eso el diagnóstico inicial suele ir en la dirección equivocada: se corrige el registro, se reprocesa el documento y se cierra la incidencia. El origen sigue intacto, y cada material nuevo con un código largo vuelve a reproducir el fallo en el punto más incómodo de la cadena, cuando el documento ya salió hacia un cliente, un proveedor o un sistema externo.

Una interfaz que nadie tocó también puede romperse

La falla diferida
Del go-live limpio a la interfaz que se rompe
Conversión
🧪
Pruebas de la conversión
La integración las pasa
↓
Go-live
🚀
Arranque en producción
Transcurre sin incidentes
↓
Meses después
⚙️
Activación de la funcionalidad extendida
Requisito para usar códigos de más de 18 caracteres
↓
Datos nuevos
🗂️
Materiales con códigos más largos
Se empiezan a crear en el sistema
↓
Ruptura
🔌
Interfaz que nadie modificó
Transporta un valor que ya no le cabe
Por qué no se ve el día de la conversión
1Mientras no se active
La comunicación vía BAPI, IDoc, servicios web y RFC liberados de entrada sigue funcionando con normalidad.
2Desfase en el tiempo
La falla no coincide con el cambio que la provoca: «nadie tocó la integración» es cierto y, por eso mismo, engañoso.
IBM, 2019

En SAP S/4HANA, la longitud máxima de los campos que manejan el número de material se extendió de 18 a 40 caracteres, según lo descrito en la nota SAP 2215424 (IBM, 2019). Para no romper la compatibilidad con otras versiones y con las interfaces existentes, los campos originales de las BAPI conservaron su longitud, y se agregó un campo nuevo al final de la estructura para soportar el número de material largo (IBM, 2019).

Hay un segundo detalle que explica por qué el problema no aparece el día de la conversión. Para usar números de material de más de 18 caracteres hay que activar explícitamente la funcionalidad de número de material extendido, y mientras no se active, la comunicación vía BAPI, IDoc, servicios web y RFC liberados de entrada sigue funcionando con normalidad (IBM, 2019).

La consecuencia práctica es incómoda: la falla no coincide en el tiempo con el cambio que la provoca. La integración pasa las pruebas de la conversión, el go-live transcurre sin incidentes y, meses después, alguien activa la funcionalidad extendida y empieza a crear materiales con códigos más largos. Ese día, una interfaz que nadie modificó empieza a transportar un valor que ya no le cabe. La frase «nadie tocó la integración» es literalmente cierta, y precisamente por eso es engañosa.

Dónde se corta el dato

El punto exacto de ruptura suele estar en el código propio. Cuando números de material desarrollados a la medida con longitud de 18 caracteres conviven con el nuevo número de material de 40 caracteres, puede perderse información al mover el valor entre ambos formatos, y pueden aparecer conflictos de tipo al pasar el campo como parámetro, además de conflictos de longitud al compararlo o concatenarlo con el número de material de SAP (KTern, 2021). En todos esos casos, el código propio resulta incompatible (KTern, 2021).

Código propio tipado a la longitud anterior
Cuatro formas en que puede romperse el dato
✂️
Pérdida de información
Puede producirse al mover el valor entre el formato de 18 y el de 40 caracteres.
KTern, 2021
🔀
Conflictos de tipo
Pueden aparecer al pasar el campo como parámetro.
KTern, 2021
⚖️
Conflictos de longitud al comparar
Frente al número de material de SAP.
KTern, 2021
🔗
Conflictos de longitud al concatenar
Con el número de material de SAP.
KTern, 2021

Tampoco las integraciones empaquetadas de terceros quedan exentas. En el ámbito de gestión de activos, el adaptador de IBM Maximo para SAP requirió ajustes en su código ABAP para entregar el número de material al campo nuevo dentro de las estructuras BAPI, y en el IDoc MATMAS el mapeo debe usar el campo MATNR_LONG del segmento E1MARAM en lugar de MATNR (IBM, 2019). Es un recordatorio útil: el riesgo no vive solo en los desarrollos Z de la casa.

Por qué importa en utilities y oil & gas de América Latina

Utilities y oil & gas
Del campo corto al costo operativo
🔌
Punto de contacto con la longitud anterior
Medición, facturación a terceros, almacenes, contratistas de mantenimiento, plataformas EAM, portales de proveedores y reportes a entes reguladores: en cada uno el código puede viajar por un campo corto.
›
🧾
Código recortado
Aparece en un documento de facturación o en el catálogo de repuestos.
›
💱
Facturación
Se complican la conciliación y la recaudación.
›
🛠️
Mantenimiento
Un componente crítico puede quedar sin trazabilidad justo cuando la continuidad operativa depende de encontrarlo rápido.
Con la configuración estándar, los números de material exclusivamente numéricos siguen restringidos a 18 caracteres. Los catálogos más expuestos son los alfanuméricos: codificaciones de fabricante, de proveedor o esquemas internos (IBM, 2019; SAP Learning, s. f.).

La facturación y el catálogo de materiales de mantenimiento son dos de las zonas con más integraciones en una utility o en una operadora de oil & gas de la región: sistemas de medición, facturación a terceros, almacenes, contratistas de mantenimiento, plataformas EAM, portales de proveedores y reportes hacia entes reguladores. Cada uno de esos puntos de contacto es un lugar donde el código de material puede viajar por un campo con la longitud anterior.

El impacto tampoco es menor. Un código recortado en un documento de facturación complica la conciliación y la recaudación; uno recortado en el catálogo de repuestos puede dejar un componente crítico sin trazabilidad justo cuando la continuidad operativa depende de encontrarlo rápido.

Hay un matiz que ayuda a acotar la exposición: con la configuración estándar, los números de material exclusivamente numéricos siguen restringidos a 18 caracteres y se completan con ceros a la izquierda en la base de datos. Según la propia base de conocimiento de SAP, el sistema rechaza un número numérico más largo aunque la extensión de campo esté activada (IBM, 2019; SAP KBA 2453997, s. f.). Los catálogos más expuestos son, por tanto, los alfanuméricos: codificaciones de fabricante, de proveedor o esquemas internos que aprovechan la nueva longitud.

Tres preguntas antes de culpar al dato maestro

Antes de corregir a mano
Tres preguntas de diagnóstico
⚙️
Activación
¿Está activada la funcionalidad de número de material extendido, y desde cuándo?
🔤
Códigos afectados
¿Son alfanuméricos y superan la longitud anterior?
🔌
Transporte
¿Qué interfaces, IDoc, BAPI o desarrollos propios usan el campo original en lugar del campo largo?

Antes de corregir el siguiente registro a mano, vale la pena hacer tres preguntas:

  • ¿Está activada la funcionalidad de número de material extendido en el sistema, y desde cuándo?
  • ¿Los materiales afectados tienen códigos alfanuméricos que superan la longitud anterior?
  • ¿Qué interfaces, IDoc, BAPI o desarrollos propios transportan el material usando el campo original en lugar del campo largo?

Si las respuestas apuntan en esa dirección, el problema no está en quien cargó el dato, sino en la integración que lo transporta. En AGT acompañamos a utilities y empresas de energía de la región a convertir ese síntoma aislado en un diagnóstico ordenado, antes de que se convierta en un patrón de incidencias recurrentes.

Lo que sigue en la serie

En la próxima entrega bajamos del síntoma a la causa: «Qué cambió realmente: el campo de material pasó de 18 a 40 caracteres en S/4HANA». Las piezas siguientes avanzarán por etapas hasta el camino de corrección.

Esta serie se apoya en lo que ya publicamos sobre la fase previa, cuando la conversión todavía se está planificando. Si quieres el contexto completo, estas lecturas cubren ese momento:

Fuentes

Artículo de Edward Camacho Guerra, elaborado con apoyo de herramientas de inteligencia artificial y revisado y aprobado por el autor.

Conversemos 30 minutos

¿Este análisis mapea un mercado donde ya operas o estás evaluando entrar?

Revisamos tu caso específico, mapeamos los riesgos que aplican, y te decimos honestamente si es oportunidad para ti —sin pitch comercial, solo discusión técnica y estratégica.

Al enviar aceptas ser contactado por AGT Consultoría para el assessment solicitado. Tus datos no serán compartidos con terceros ni usados para publicidad.

Edward Camacho Guerra · CEO / Arquitecto de Soluciones SAP
#sap s/4hana #integracion #número de material #sap is-u #utilities #custom code