Skip to Content
Personal Insights
Author's profile photo Markus Berg

SAP Print Service

Although everybody is talking about paperless businesses for years and today’s business world is undergoing digital transformation, printing is still an essential part of many business processes and is often required for documentation purposes. The SAP Print service offers you functionality to print documents from the cloud to your local printer as well as lets you monitor the printing status. You can leverage the service in your native application running on the SAP Business Technology Platform, use it for side-by-side extensibility with existing SAP Solutions or embed it in your own application offering on BTP.

The service is available in the SAP Discover Center

 

Use cases

Printing in the cloud might not necessarily require the SAP Print service. It mainly depends on how you want to perform the printing. We can distinguish two main uses cases: Attended printing and un-attended printing.

Attended printing

When your users directly work in a browser-based application and manually work on each individual document, printing can also directly be performed. Either by the build-in features from the browser or underlying operating system. They will provide the user with the standard print dialog where available printers can be selected.

In such a scenario the usage of the SAP Print service is not required.

For example: When your application uses the SAP Forms By Adobe service to render a PDF document, the PDF can be directly displayed in the browser and be printed from the corresponding PDF reader application.

Un-attended printing

When you have business scenarios where

  • Printing should be performed without any user interaction (background printing)
  • You perform printing of many documents at once (for example triggered by a scheduled job)
  • You need to send documents to multiple printers
  • You need to monitor the printing status
  • You need proper error handling for failed printouts

Then the SAP Print service is the choice for you.

For example:

Your application provides a scheduling feature which offers to select documents to be printed based on some parameters. When the corresponding scheduling job runs, the documents get selected based on the parameters and send to the SAP Print service. All of the documents get printed automatically. You can even make the print queue as part of your selection criteria to send them to different printers.

A simpler use case: You want your users to trigger printing asynchronously so that they can continue working and do not need to wait for the system to finish the printing.

Overview

SAP Print service offers printing functionality and lets you monitor the printing status. You can send documents to the Print service and then print out documents using a physical printer. The documents are stored temporarily, so you can print them later and control the output from the printer.

SAP Print service aims to serve the business applications that are based on SAP Business Technology Platform (SAP BTP) and other Cloud products across SAP Intelligent Enterprise Suite.

Using this service, the development effort to connect to local printers can be significantly reduced.

 

SAP Print service mainly consists of:

  • An admin UI for managing print queues
  • A backend service exposing a public API for the consumer app
  • Connectivity with SAP Cloud Print Manager

 

Features

SAP%20Print%20Service%20Features

Features of SAP Print Service

 

How it works

To be able to print, you have to create at least one print queue. A print queue serves as a temporary storage for the individual print requests (print queue items) and can be connected to one physical printer using the SAP Cloud Print Manager (CPM) installed on the client. The CPM will pull all print queue items from the queue and send it to the printer. For managing the print queues and monitoring the print status, the print service offers a corresponding user interface.

The printer service consists of the following features/individual services:

Manage Print Queue

You can create, change and delete a print queue. It also allows you to pause a print queue (no documents can be pulled from it) and to restart it again.

Manage Print Queue Items

Similar to print queues, you can also manage the individual print queue items. This includes pausing and restarting as well as reassigning a particular print queue item to another print queue.

Public APIs

For each step of managing print queues and print queue items, there are public APIs which you can call accordingly.

Connect SAP Cloud Print Manager

When you have installed the SAP Cloud Print Manager on your local PC, you can connect it with the print service. It will then list all available print queues and you can assign a physical printer to each queue. Once this setup is completed the SAP Cloud Print Manager for SCP will run in the background and regularly check for new documents to print and send them to the physical printer.

 

Usage Scenarios

Scenario 1: Build a Custom Extension Application Based on SAP Print Service

In this scenario the SAP Print service is used in a single custom application which is integrated into your existing SAP environment. Typically such an application is useful when extending the standard functionality of SAP’s Intelligent Enterprise Suite to cover all your specific business requirements including printing. The following diagram illustrates the basic flow of such an extension scenario:

Custom Extension Application Based on SAP Print Service

Scenario 2: Build a Multi-Tenant SaaS Application Based on SAP Print Service

In this scenario the SAP Print Service is used in a multi-tenant SaaS application which is offered to multiple customers. This is a typical use case for partners which either want to offer a specific application for printing or just want to add a printing feature to their existing application. In both cases the you can significantly reduce the development efforts as SAP Print service already offers basic printing capabilities. The following diagram illustrates the basic flow of such an scenario:

Multi-Tenant SaaS Application

 

 

Useful Links

Discover Center – SAP Print service

Help Portal – SAP Print Service

SAP API Business Hub – SAP Print service

Sample scenario – Label Printing Using SAP Print Service

Cloud Print Manager – Installation and Configuration

Assigned Tags

      7 Comments
      You must be Logged on to comment or reply to a post.
      Author's profile photo Johannes Bacher
      Johannes Bacher

      Hello Markus,

      thank you for this blog - I have one question.

      We have built a custom App in BTP which sends some data to a carrier and receives a PDF document with barcodes. Now we need to print this PDF document on specific printers.

      Can this be achieved with the print service?

      Please note that Adobe forms is NOT involved. The use cases is:

      • In a BTP custom App i have a PDF document (binary data)
      • I want to print this on a specific printer
      • Print manager is installed, several print queues have been defined (for S/4HANA Cloud)

      Any help is highly appreciated!

      Thank you

      Johannes

      Author's profile photo Markus Berg
      Markus Berg
      Blog Post Author

      Hello Johannes,

      The SAP Print service can be used for this use case. It's completely independent from Adobe Forms. You can send the PDF file to the service to print it.

      The print queue management is very similar to the print queues in SAP S/4HANA Cloud. However, you cannot reuse the queues from there, as there is no integration yet. So you need to setup the print service in parallel.

      Regards,

      Markus

      Author's profile photo Johannes Bacher
      Johannes Bacher

      Hello Markus Berg thank you for the answer!

      One additional question:

      I understand that it will work with PDF files. However, we have Zebra label printers in use and they understand only the ZPL-Format. Can I define a queue for ZPL Format as well, and then the ZPL file will be printed out?

      I checked the API and found this:

      [
        {
          "qname": "pq01",
          "qdescription": "Example Print Queue",
          "qstatus": "R",
          "qformat": "PDF",
          "cleanupPrd": 1,
          "techUserName": "tech_user"
        }
      ]
      
      Please note the "qformat:PDF" line. Does this mean that I have to define a queue with a specific format?
      
      
      And if so - can the format be ZPL?
      
      Your help is highly appreciated!
      Thank you,
      Johannes 
      
      
      
      Author's profile photo Christian Ruthner
      Christian Ruthner

      Hello Markus,

      Nice blog. We have recently bought the print service because we need to print labels. I would have a question to you.

      Do I need a cloud application to trigger the printing or is it also possible to call the APIs of the print service e.g. from SAP Cloud Process Integration via iFlow.

      I have just tried to fetch all print service queues via REST-API "/qm/api/v1/rest/queues" in POSTMAN with OAUTH2 and it worked properly.

      But when I try to POST a document to the queue via "/dm/api/v1/rest/print-documents" I get back the message "RBAC: access denied". I know this has something to do with the cloud  roles, and I am not sure if these roles can only be used in cloud applications.

      Any help would be appreciated.

      Thank you and BR,
      Christian

      Author's profile photo Benny Mei
      Benny Mei

      Hi Christian,

      I am working with Markus on SAP new cloud printing solution, nice to hear you have started to adopt SAP Print Service.

      Yes, it is possible to leverage SAP CPI iFlow to consume Print Service APIs. Actually, another customer already accomplished it. If you need, we can share the example iFlow with you.

      Regarding the error "RBAC: access denied",  as you mentioned, you was using POST, I think it will not be HTTP Method issue. However, SAP Print Service provides 2 service plans, one is sender which is used for uploading document and creating print task, but the other is receiver which is used to connect print client, not sure whether you are using the correct one.

      For API definition detail, you can visit SAP API Hub for  SAP Print Service.

      To ensure we can give your quick response, you can also open customer incident to our support component BC-CCM-PRN-OM-SCP.

       

      Best regards,

      Benny

      Author's profile photo Christian Ruthner
      Christian Ruthner

      Hello Benny,

      It would be great if you could provide me the iFlow example.

      I used the correct service plan but received the mentioned error message.
      As you suggested, I have opened an incident.

      Thank you and BR,
      Christian

      Author's profile photo Benny Mei
      Benny Mei

      Hi Christian,

      You are welcome!

      I sent the sample iFlow to you, it might not fully match with customer's requirement, but can be used as reference. Please have a check.

       

      Best regards,

      Benny