FormDoctor
SAPscript, Smart Forms to Adobe Forms (XDP) migration & syntax validator
Content reviewed September 26, 2026
- Engine
- FORM_DOCTOR
- Domain
- Output & Extensibility
- Version
- 3.0.0
- Target releases
- S4H_2022, S4H_2023, S4HANA_CLOUD_2402, S4HANA_CLOUD_2408
- Accepted formats
- XML, TEXT
Input contract
Adobe Form XDP template together with the form's runtime data XML and/or the form interface schema (XSD) (as artifacts, or data XML in raw_content + configuration.xdp_content / xsd_content), or a SAPscript / Smart Forms source (XML export or text). Optional configuration: business_source_fields, custom_fields [{name, form_enabled, context_supports_forms}], data_source {name, extensible}, form_template, output_type.
Required input
- XDP template AND runtime data XML or form interface XSD (binding verification)
- or a SAPscript / Smart Forms source (legacy form audit)
Finding codes
Finding codes (13)
FORM_FIELD_MISSING_IN_XMLDefault severity: CriticalCategory: Data BindingBound field absent from runtime XML
Remediation: Expose the element in the form's data provider (extend the CDS view / Gateway form data service used by Output Management) or remove the unbacked binding from the XDP template.
FORM_FIELD_UNSUPPORTEDDefault severity: CriticalCategory: Data Source ExtensibilityRequested field cannot be supplied to the form
Remediation: The form data source is not extensible (or the field's business context offers no form usage), so the field cannot reach this form. Use a released form data provider that exposes the value, move the requirement to another output (e.g. email template / side-by-side extension), or drop the field.
FORM_LEGACY_SAPSCRIPT_DETECTEDDefault severity: CriticalCategory: Clean Core ExtensibilityLegacy SAPscript detected
Remediation: SAPscript is not available in ABAP Cloud / S/4HANA Cloud. Redesign the document as an Adobe Form (XDP) using Output Management (BRFplus determination) or use the SAP-delivered form template.
FORM_LEGACY_SMARTFORM_DETECTEDDefault severity: CriticalCategory: Clean Core ExtensibilityLegacy Smart Form detected
Remediation: Smart Forms are unsupported in S/4HANA Cloud Public Edition. Rebuild the layout as an Adobe Form (XDP) on a released form data provider, or adopt the SAP-delivered output form template.
FORM_BINDING_NAMESPACE_UNRESOLVEDDefault severity: MajorCategory: Data BindingBinding namespace cannot be resolved unambiguously
Remediation: Declare the namespace prefix used in the binding in the XDP template, qualify the binding so it matches exactly one element of the runtime data, and make the runtime XML use the target namespace of the form interface schema.
FORM_BINDING_PATH_MISMATCHDefault severity: MajorCategory: Data BindingField binding path does not match runtime XML
Remediation: Update the field's Binding > Data Binding (dataRef) in the XDP template to the suggested runtime XML path, or align the form interface / CDS data provider so the element appears at the bound path.
FORM_BINDING_PATH_NOT_IN_XSDDefault severity: MajorCategory: Data BindingBinding path not declared in the form interface schema
Remediation: The bound path is not part of the form interface (XSD) the data provider publishes, so the binding is not backed by the interface contract. Re-download the current schema of the form data provider and rebind the field to a declared element, or extend the data source so the element becomes part of it.
FORM_BINDING_TYPE_MISMATCHDefault severity: MajorCategory: Layout FormattingField format does not match the bound data type
Remediation: Align the field's value type / display pattern (Object > Field > Type, Patterns) with the data type and length of the bound element, or change the data provider so it delivers the format the field expects.
FORM_FIELD_NEEDS_BADIDefault severity: MajorCategory: Data Source ExtensibilityField declared by the form interface but not populated
Remediation: The form data source declares the element but delivers no value for it. Populate it in the data provider's extension point (key-user custom logic / BAdI of the form data provider) or confirm that the value is legitimately empty for this document.
FORM_FIELD_NEEDS_CUSTOM_FIELDDefault severity: MajorCategory: Data Source ExtensibilityRequested field does not exist in the business source
Remediation: Create a custom field in the business context of the document ('Custom Fields' app), enable it for form templates, publish it and bind the form field to the new element.
FORM_FIELD_NEEDS_DATA_SOURCE_EXTENSIONDefault severity: MajorCategory: Data Source ExtensibilityField exists in the business source but not in the form data source
Remediation: Extend the form data source: enable the (custom) field for form templates in the 'Custom Fields' app (tab 'Form Templates') or add it via data source extension, publish, and re-download the form interface before rebinding the field.
FORM_DUPLICATE_BINDINGDefault severity: MinorCategory: Data BindingDuplicate field binding
Remediation: Keep one <bind> per field and bind each data element once per subform; remove or rebind the duplicate in Adobe LiveCycle Designer (Object > Binding).
FORM_FIELD_HIDDEN_IN_LAYOUTDefault severity: MinorCategory: Layout VisibilityBound field hidden in layout
Remediation: In Adobe LiveCycle Designer set the field's Presence to 'Visible' (Object > Field) if it must print; otherwise document the intentional suppression.
Input validation codes (5)
FORM_ARCHIVE_REJECTEDDefault severity: MajorCategory: INPUT_VALIDATIONArchive rejected by ingestion safety limits
Remediation: The archive exceeded the 100:1 expansion ratio, 500 MB total size, entry-count or 2-level nesting limit, or contained path traversal / encrypted members. Upload a flat, unencrypted archive of the export files. No verdict was produced. Re-export the artifact in one of the formats accepted by FormDoctor (XML, TEXT) and re-run the analysis.
FORM_INVALID_INPUTDefault severity: MajorCategory: INPUT_VALIDATIONArtifact does not match the engine input contract
Remediation: Provide the artifact type documented for this engine; unrelated or structurally invalid documents are rejected. No verdict was produced. Re-export the artifact in one of the formats accepted by FormDoctor (XML, TEXT) and re-run the analysis.
FORM_PARSE_ERRORDefault severity: MajorCategory: INPUT_VALIDATIONArtifact could not be parsed
Remediation: Fix the syntax error at the reported line/column (or re-export the file unmodified from SAP). No verdict was produced. Re-export the artifact in one of the formats accepted by FormDoctor (XML, TEXT) and re-run the analysis.
FORM_PAYLOAD_TOO_LARGEDefault severity: MajorCategory: INPUT_VALIDATIONArtifact exceeds the size limit
Remediation: Split the export (e.g. per package, company code or date range) so each upload stays under the service payload limit. No verdict was produced. Re-export the artifact in one of the formats accepted by FormDoctor (XML, TEXT) and re-run the analysis.
FORM_INSUFFICIENT_INPUTDefault severity: InfoCategory: INPUT_VALIDATIONRequired input missing
Remediation: Supply every input the engine's contract marks as required (see the engine catalog entry). No verdict was produced. Re-export the artifact in one of the formats accepted by FormDoctor (XML, TEXT) and re-run the analysis.