{"ref":"capability:document-output","page":"/capabilities/document-output","json":"/capabilities/document-output.json","generated":"2026-10-26","drafted_with_ai":true,"entity":{"id":"document-output","name":"Document output","domain":"integration-and-messaging","ecosystems":["cap","abap","btp"],"universal":true,"description":"Producing a document a person receives — a printed form, a generated PDF, a filled template — and getting it to a printer or a queue rather than returning it as a payload.","short":"Producing printed forms, PDFs and filled templates for people","core_coverage":{"state":"core-and-community","what_core_does":"[@cap-js/print](artifact:cap-js-print) adds a `print` action to an entity annotated `@PDF.Printable` and hands the document to [SAP Print service](artifact:btp-print), which holds the queues and the connection to the customer's local printers; using the plugin requires a subscription to that service.","where_it_stops":"It stops at delivery: what it prints must already be a `LargeBinary` attribute on the entity. Producing the document itself — filling a Word or PDF template from CDS data — is not part of it, and is where the community sits.","sources":[{"url":"https://raw.githubusercontent.com/cap-js/print/74cb8f7c82f478fa6e8794c51f1a9f9e75421c68/README.md","title":"cap-js/print — README, About this project","checked":"2026-09-22","quote":"The `@cap-js/print` package is a [CDS plugin](https://cap.cloud.sap/docs/node.js/cds-plugins#cds-plugin-packages) that provides print service features through integration with the [SAP Print Service](https://api.sap.com/api/PRINTAPI/overview)."},{"url":"https://raw.githubusercontent.com/cap-js/print/74cb8f7c82f478fa6e8794c51f1a9f9e75421c68/README.md","title":"cap-js/print — README, Requirements and Setup","checked":"2026-09-22","quote":"Using this plugin requires a valid subscription of the [SAP Print Service](https://help.sap.com/docs/SCP_PRINT_SERVICE)."},{"url":"https://raw.githubusercontent.com/cap-js/print/74cb8f7c82f478fa6e8794c51f1a9f9e75421c68/README.md","title":"cap-js/print — README, Model Requirements","checked":"2026-09-22","quote":"The attribute(s) you want to print are of type `LargeBinary`"},{"url":"https://discovery-center.cloud.sap/servicecatalog/api/v1/services/ebde33f5-a068-4bf4-9c98-25260423c365","title":"SAP Discovery Center — SAP Print service","checked":"2026-09-15","quote":"Using this service, the business application's development team can easily establish the connection between SAP Print service and the customer’s local printers."}],"assessed_at":"2026-09-22","relationship":"narrow-by-design"},"history":[{"date":"2026-08-31","field":"core_coverage.state","from":"left-open-on-purpose","to":"core-and-community","reason":"States renamed to describe who is present rather than to interpret intent. left-open-on-purpose asserted a motive; core-and-community states a fact, with relationship carrying the intent separately."},{"date":"2026-09-14","field":"ecosystems","from":"cap","to":"cap, abap, btp","reason":"Widened to ABAP and BTP: abap2xlsx, AntonSikidin/zcl_docx, beraadim/zcl_pdf, bizhuka/xtt, victorizbitskiy/zspool_pdf and monstermichl/HandlebarsABAP produce spreadsheets, Word files, PDFs and filled templates from ABAP, and SAP-samples/forms-service-by-adobe-samples integrates SAP Forms Service by Adobe with the ABAP Environment."},{"date":"2026-09-22","field":"core_coverage.what_core_does","from":"[@cap-js/print](artifact:cap-js-print) exposes an API-driven printing service with queue management and cross-platform integration.","to":"[@cap-js/print](artifact:cap-js-print) adds a `print` action to an entity annotated `@PDF.Printable` and hands the document to [SAP Print service](artifact:btp-print), which holds the queues and the connection to the customer's local printers; using the plugin requires a subscription to that service.","reason":"The sentence described what SAP Print service does and attributed it to the plugin. The plugin's README says it integrates with that service and requires a subscription to it, so queue management and the reach to the printers are the service's. [SAP Print service](artifact:btp-print) entered the graph on 2026-09-15 and can now be named and linked."},{"date":"2026-09-22","field":"core_coverage.where_it_stops","from":"It stops at delivery. Producing the document itself — filling a Word or PDF template from CDS data — is not part of it, and is where the community sits.","to":"It stops at delivery: what it prints must already be a `LargeBinary` attribute on the entity. Producing the document itself — filling a Word or PDF template from CDS data — is not part of it, and is where the community sits.","reason":"The boundary held, but the reader had nothing to check it against. The README's model requirement is the test: the document has to be a LargeBinary attribute before the plugin will print it."},{"date":"2026-10-26","field":"coverage_by_ecosystem.abap.community_adds","from":"(none)","to":"ABAP libraries write the formats Form Builder does not (spreadsheets, Word files, text from templates) and PDFs from code; SAP Forms Service by Adobe renders forms for an ABAP system from outside it.","reason":"Reassessed against the graph (check:capabilities): open-abap-pdf and SAP Forms Service by Adobe arrived after the block was last looked at and the text named neither kind. The state stays core-and-community."},{"date":"2026-10-26","field":"coverage_by_ecosystem.btp.what_core_does","from":"SAP Forms Service by Adobe renders a document ...","to":"[SAP Forms Service by Adobe](artifact:btp-forms-service-by-adobe) renders a document ...","reason":"Reassessed against the graph (check:capabilities): the service is a provider on this door and the text named it without the link. Wording otherwise unchanged; the state stays core-only."}],"coverage_by_ecosystem":{"abap":{"state":"core-and-community","assessed_at":"2026-09-14","what_core_does":"SAP Interactive Forms by Adobe: the Form Builder in the ABAP Workbench designs PDF-based print forms, which go to a printer by default or back to the program as a PDF to send by fax or e-mail.","where_it_stops":"At PDF print forms. Spreadsheets, Word documents and text filled from a template are not what Form Builder produces, and the ABAP libraries that write XLSX, DOCX and Handlebars output sit there.","community_adds":"ABAP libraries write the formats Form Builder does not: [abap2xlsx](artifact:abap2xlsx-abap2xlsx) spreadsheets, [zcl_docx](artifact:antonsikidin-zcl-docx) Word files and [HandlebarsABAP](artifact:monstermichl-handlebarsabap) text from templates, and PDF writers such as [open-abap-pdf](artifact:open-abap-open-abap-pdf) build a PDF from ABAP code. [SAP Forms Service by Adobe](artifact:btp-forms-service-by-adobe) renders forms for an ABAP system from outside it.","sources":[{"url":"https://help.sap.com/doc/saphelp_snc70/7.0/en-US/b7/64348655fb46149098d95bdca103d0/content.htm?no_cache=true","title":"SAP Help — SAP Interactive Forms by Adobe","checked":"2026-09-14","quote":"You can use the Form Builder (integrated into ABAP Workbench) to create PDF-based print forms that you can then print or send by e-mail or fax."},{"url":"https://help.sap.com/doc/saphelp_snc70/7.0/en-US/6d/bd2d828aa04eeb9451aad0d02ae9a0/content.htm?no_cache=true","title":"SAP Help — Form Output (SAP Interactive Forms by Adobe)","checked":"2026-09-14","quote":"Forms are sent to a printer by default"}],"relationship":"unassessed"},"btp":{"state":"core-only","assessed_at":"2026-09-14","what_core_does":"[SAP Forms Service by Adobe](artifact:btp-forms-service-by-adobe) renders a document from a template designed in Adobe LiveCycle Designer and the business data bound to it. One plan connects it to an ABAP system, another to any other application over its REST API.","where_it_stops":"At the rendered document. Which data goes into the form, and when an application asks for it, is the application's; SAP's sample guide builds that part in RAP.","note":"The corpus holds SAP's sample for this service, which demonstrates it and is not counted as a provider; core-only rests on the service as SAP's service metadata describes it.","sources":[{"url":"https://github.com/SAP-samples/btp-service-metadata/blob/main/v1/developer/ads.json","title":"SAP Forms service by Adobe — SAP btp-service-metadata v1","checked":"2026-09-14","quote":"Connect the Forms service to an ABAP system."},{"url":"https://github.com/SAP-samples/btp-service-metadata/blob/main/v1/developer/adsrestapi.json","title":"Forms Service by Adobe API — SAP btp-service-metadata v1","checked":"2026-09-14","quote":"Connect to the Forms service via an application using the REST API that is not based on ABAP."},{"url":"https://github.com/SAP-samples/forms-service-by-adobe-samples/blob/main/docs/introduction.md","title":"SAP-samples/forms-service-by-adobe-samples — Introduction custom form development","checked":"2026-09-14","quote":"When rendering a document via template + business data, the rendering engine expects all needed data entries,"}]}},"framing_by_ecosystem":{"abap":{"description":"In ABAP the document is built inside the system that holds the data: a PDF print form from Form Builder, or a spreadsheet, Word file or text that a library writes from ABAP structures and tables."},"btp":{"description":"On BTP document output is a service an application calls: SAP Forms Service by Adobe takes a form template and the data for it and returns the rendered document, to an ABAP system or over REST to anything else."}},"drafted_with_ai":true},"sap_delivery":{"door":"cap","all":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-js-print","name":"@cap-js/print","json":"/artifacts/cap-js-print.json"}]},"by_flavor":{"node":{"built_in":[],"documented_pattern":[],"announced":[],"packages":[{"ref":"artifact:cap-js-print","name":"@cap-js/print","json":"/artifacts/cap-js-print.json"}]},"java":null}},"edges":{"use_cases":[],"shared_tasks":[],"related_tasks":[],"options":[{"ref":"artifact:cap-js-print","name":"@cap-js/print","json":"/artifacts/cap-js-print.json","ecosystem":"cap","origin_ring":"sap-official"},{"ref":"artifact:salvatorelaspata-cap-plugin-adobe-forms","name":"@salvatorela/cap-plugin-adobe-forms","json":"/artifacts/salvatorelaspata-cap-plugin-adobe-forms.json","ecosystem":"cap","origin_ring":"independent"},{"ref":"artifact:abap2xlsx-abap2xlsx","name":"abap2xlsx","json":"/artifacts/abap2xlsx-abap2xlsx.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:monstermichl-handlebarsabap","name":"HandlebarsABAP","json":"/artifacts/monstermichl-handlebarsabap.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:open-abap-open-abap-pdf","name":"open-abap-pdf","json":"/artifacts/open-abap-open-abap-pdf.json","ecosystem":"abap","origin_ring":"community-org"},{"ref":"artifact:btp-forms-service-by-adobe","name":"SAP Forms Service by Adobe","json":"/artifacts/btp-forms-service-by-adobe.json","ecosystem":"btp","origin_ring":"sap-official"},{"ref":"artifact:btp-print","name":"SAP Print service","json":"/artifacts/btp-print.json","ecosystem":"btp","origin_ring":"sap-official"},{"ref":"artifact:victorizbitskiy-zspool-pdf","name":"SAP Spool PDF","json":"/artifacts/victorizbitskiy-zspool-pdf.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:bizhuka-xtt","name":"XTT","json":"/artifacts/bizhuka-xtt.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:antonsikidin-zcl-docx","name":"zcl_docx","json":"/artifacts/antonsikidin-zcl-docx.json","ecosystem":"abap","origin_ring":"independent"},{"ref":"artifact:beraadim-zcl-pdf","name":"zcl_pdf","json":"/artifacts/beraadim-zcl-pdf.json","ecosystem":"abap","origin_ring":"independent"}],"samples":[{"ref":"artifact:sap-samples-abap-platform-reuse-services","name":"abap-platform-reuse-services","json":"/artifacts/sap-samples-abap-platform-reuse-services.json"},{"ref":"artifact:sap-samples-forms-service-by-adobe-samples","name":"SAP-samples/forms-service-by-adobe-samples","json":"/artifacts/sap-samples-forms-service-by-adobe-samples.json"}],"explained_by":[{"ref":"content:a-method-to-create-an-adobe-form-attachment-for-a-work-item-using-the-class-conc","name":"A method to create an Adobe form attachment for a work item using the class concept.","json":"/content/a-method-to-create-an-adobe-form-attachment-for-a-work-item-using-the-class-conc.json"},{"ref":"content:on-the-fly-excel-download-in-a-rap-fiori-app-no-database-table-no-persistence-pu","name":"On‑the‑Fly Excel Download in a RAP Fiori App — No Database Table, No Persistence, Pure CDS + ABAP","json":"/content/on-the-fly-excel-download-in-a-rap-fiori-app-no-database-table-no-persistence-pu.json"},{"ref":"content:custom-form-with-custom-data-source-in-sap-public-cloud-grow-with-sap","name":"Custom Form with Custom Data Source in SAP Public Cloud (Grow with SAP)","json":"/content/custom-form-with-custom-data-source-in-sap-public-cloud-grow-with-sap.json"},{"ref":"content:print-preview-from-rap-action-with-v4-odata-and-multiple-selection","name":"Print Preview from RAP Action with v4 OData and Multiple Selection","json":"/content/print-preview-from-rap-action-with-v4-odata-and-multiple-selection.json"},{"ref":"content:how-to-merge-two-separate-smart-forms-into-a-single-pdf-in-sap","name":"How to Merge Two Separate Smart Forms into a Single PDF in SAP","json":"/content/how-to-merge-two-separate-smart-forms-into-a-single-pdf-in-sap.json"},{"ref":"content:basic-code-s-of-abap","name":"Basic code's of ABAP","json":"/content/basic-code-s-of-abap.json"},{"ref":"content:a-cross-application-fiori-app-to-print-adobe-forms","name":"A cross application Fiori APP to print Adobe Forms","json":"/content/a-cross-application-fiori-app-to-print-adobe-forms.json"},{"ref":"content:merge-multiple-pdf-forms-into-a-single-document-for-download-or-printing","name":"Merge multiple PDF forms into a single document for download or printing.","json":"/content/merge-multiple-pdf-forms-into-a-single-document-for-download-or-printing.json"},{"ref":"content:generating-adobe-form-using-rap-framework-odata-services","name":"Generating Adobe Form Using RAP framework OData Services","json":"/content/generating-adobe-form-using-rap-framework-odata-services.json"},{"ref":"content:generate-and-download-pdfs-on-the-fly-in-cap","name":"How to Generate and Download PDFs on the fly without persisting in CAP Application","json":"/content/generate-and-download-pdfs-on-the-fly-in-cap.json"},{"ref":"content:generating-pdf-on-btp-cf-using-cap-and-puppeteer","name":"Generating PDF on BTP CF using CAP and Puppeteer","json":"/content/generating-pdf-on-btp-cf-using-cap-and-puppeteer.json"},{"ref":"content:display-pdf-from-btp-forms-service-in-a-cap-sapui5-application","name":"Using Custom Actions to display PDF from SAP BTP Forms service into a CAP SAPUI5 application","json":"/content/display-pdf-from-btp-forms-service-in-a-cap-sapui5-application.json"}],"normative_context":[]}}