diff --git a/file-formats/sfpf/README.md b/file-formats/sfpf/README.md new file mode 100644 index 000000000..1b838a356 --- /dev/null +++ b/file-formats/sfpf/README.md @@ -0,0 +1,6 @@ +# SFPF File Format + +File | Cardinality | Definition | Schema | Example +:--- | :--- | :--- | :--- | :--- +`.sfpf.json` | 1 | [`zif_aff_sfpf_v1.intf.abap`](./type/zif_aff_sfpf_v1.intf.abap) | [`sfpf-v1.json`](./sfpf-v1.json) | [`z_aff_example_sfpf.sfpf.json`](./examples/z_aff_example_sfpf.sfpf.json) +`.sfpf.xdp` | 1 | [`XFA-3_3`](https://www.pdfa.org/norm-refs/XFA-3_3.pdf) | - | [`z_aff_example_sfpf.sfpf.xdp`](./examples/z_aff_example_sfpf.sfpf.xdp) diff --git a/file-formats/sfpf/examples/z_aff_example_sfpf.sfpf.json b/file-formats/sfpf/examples/z_aff_example_sfpf.sfpf.json new file mode 100644 index 000000000..d07cdbf89 --- /dev/null +++ b/file-formats/sfpf/examples/z_aff_example_sfpf.sfpf.json @@ -0,0 +1,14 @@ +{ + "formatVersion": "1", + "header": { + "description": "Example SFPF for ABAP file formats", + "originalLanguage": "en", + "abapLanguageVersion": "cloudDevelopment" + }, + "generalInformation": { + "dataProvider": "Example_SRV_DEF", + "fontEmbed": false, + "layoutMirroring": false, + "reduceDataVolume": false + } +} diff --git a/file-formats/sfpf/examples/z_aff_example_sfpf.sfpf.xdp b/file-formats/sfpf/examples/z_aff_example_sfpf.sfpf.xdp new file mode 100644 index 000000000..b077af286 --- /dev/null +++ b/file-formats/sfpf/examples/z_aff_example_sfpf.sfpf.xdp @@ -0,0 +1,89 @@ + + + + + + + + pdf + + + + + + + + pdf + + + + 0 + + 0 + 1.7 + 8 + + + * + + + + + + + + 2023-11-28T15:36:44Z + Adobe LiveCycle Designer 11.0 + 1 + Adobe LiveCycle Designer 11.0 + uuid:6bbc0415-1ddf-4e6d-8fb1-2d0d63b53cfa + + 11.0.9.20230302.1.6.0 + /template/subform[1] + + + + diff --git a/file-formats/sfpf/sfpf-v1.json b/file-formats/sfpf/sfpf-v1.json new file mode 100644 index 000000000..30a1a033d --- /dev/null +++ b/file-formats/sfpf/sfpf-v1.json @@ -0,0 +1,93 @@ +{ + "$comment": "This file is autogenerated, do not edit manually, see https://github.com/SAP/abap-file-formats for more information.", + "$schema": "https://json-schema.org/draft/2020-12/schema", + "$id": "https://github.com/SAP/abap-file-formats/blob/main/file-formats/sfpf/sfpf-v1.json", + "title": "Object Type SFPF", + "description": "Object type SFPF", + "type": "object", + "properties": { + "formatVersion": { + "title": "Format Version", + "description": "Format version", + "type": "string", + "const": "1" + }, + "header": { + "title": "Header", + "description": "Header", + "type": "object", + "properties": { + "description": { + "title": "Description", + "description": "Description of the ABAP object", + "type": "string", + "maxLength": 60 + }, + "originalLanguage": { + "title": "Original Language", + "description": "Original language of the ABAP object", + "type": "string", + "minLength": 2 + }, + "abapLanguageVersion": { + "title": "ABAP Language Version", + "description": "ABAP language version", + "type": "string", + "enum": [ + "standard", + "cloudDevelopment" + ], + "enumTitles": [ + "Standard", + "ABAP Cloud Development" + ], + "enumDescriptions": [ + "Standard", + "ABAP cloud development" + ], + "default": "standard" + } + }, + "additionalProperties": false, + "required": [ + "description", + "originalLanguage" + ] + }, + "generalInformation": { + "title": "General Information", + "description": "General Information", + "type": "object", + "properties": { + "dataProvider": { + "title": "Data Provider", + "description": "RAP Service Definition that implements the business context for this form template", + "type": "string", + "maxLength": 40 + }, + "fontEmbed": { + "title": "Font Embed", + "description": "Automatically embed font files into the output. Useful if your output uses fonts that are not delivered by default, for asian fonts or to include your own branding.", + "type": "boolean" + }, + "layoutMirroring": { + "title": "Layout Mirroring", + "description": "When activated if your form template is designed in an LTR language and your target output is an RTL language, layout will be automatically mirrored in the output.", + "type": "boolean" + }, + "reduceDataVolume": { + "title": "Reduce Data Volume", + "description": "Reduce data input volume based on the form design", + "type": "boolean" + } + }, + "additionalProperties": false + } + }, + "additionalProperties": false, + "required": [ + "formatVersion", + "header", + "generalInformation" + ] +} diff --git a/file-formats/sfpf/type/zif_aff_sfpf_v1.intf.abap b/file-formats/sfpf/type/zif_aff_sfpf_v1.intf.abap new file mode 100644 index 000000000..48e65e328 --- /dev/null +++ b/file-formats/sfpf/type/zif_aff_sfpf_v1.intf.abap @@ -0,0 +1,40 @@ +INTERFACE zif_aff_sfpf_v1 + PUBLIC. + TYPES: + BEGIN OF ty_general_information, + "!

Data Provider

+ "! RAP Service Definition that implements the business context for this form template + data_provider TYPE c LENGTH 40, + "!

Font Embed

+ "! Automatically embed font files into the output. + "! Useful if your output uses fonts that are not delivered by default, + "! for asian fonts or to include your own branding. + font_embed TYPE abap_bool, + "!

Layout Mirroring

+ "! When activated if your form template is designed in an LTR language + "! and your target output is an RTL language, + "! layout will be automatically mirrored in the output. + layout_mirroring TYPE abap_bool, + "!

Reduce Data Volume

+ "! Reduce data input volume based on the form design + reduce_data_volume TYPE abap_bool, + END OF ty_general_information. + + TYPES: + "!

Object Type SFPF

+ "! Object type SFPF + BEGIN OF ty_main, + "!

Format Version

+ "! Format version + "! $required + format_version TYPE zif_aff_types_v1=>ty_format_version, + "!

Header

+ "! Header + "! $required + header TYPE zif_aff_types_v1=>ty_header_60_cloud, + "!

General Information

+ "! General Information + "! $required + general_information TYPE ty_general_information, + END OF ty_main. +ENDINTERFACE. diff --git a/file-formats/sfpf/type/zif_aff_sfpf_v1.intf.json b/file-formats/sfpf/type/zif_aff_sfpf_v1.intf.json new file mode 100644 index 000000000..737a35715 --- /dev/null +++ b/file-formats/sfpf/type/zif_aff_sfpf_v1.intf.json @@ -0,0 +1,7 @@ +{ + "formatVersion": "1", + "header": { + "description": "AFF type for SFPF object", + "originalLanguage": "en" + } +}