Microsoft Universal Print 与 SAP 集成教程

2024-04-30 14:20

本文主要是介绍Microsoft Universal Print 与 SAP 集成教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

引言

从 SAP 环境打印是许多客户的要求。例如数据列表打印、批量打印或标签打印。此类生产和批量打印方案通常使用专用硬件、驱动程序和打印解决方案来解决。

Microsoft Universal Print 是一种基于云的打印解决方案,它允许组织以集中化的方式管理打印机和打印机驱动程序。通过与 SAP 集成,用户可以简化打印流程,减少设备管理开销,并消除对打印驱动程序的需求。

前端打印 (Frontend Printing)

前端打印指的是通过 SAP GUI、Web 浏览器或基于 Web 的 SAP 前端应用程序进行的用户打印操作。

准备工作

在开始之前,请确保您已经拥有以下条件:

  • 有效的 Microsoft 365 订阅,包含Universal Print功能。
  • 访问您的 SAP 系统 的权限。
  • 与SAP系统兼容的打印机,已连接到网络。

步骤 1: 配置 Microsoft Universal Print

  1. 登录到 Microsoft 365 管理中心
  2. 导航到 设置” > “Universal Print”
  3. 添加并注册您的打印机。
  4. 分配 打印机权限 给需要打印的用户。

步骤 2: 在 SAP 中配置打印机

  1. 登录到您的 SAP 系统
  2. 打开 SPAD 打印机配置工具。
  3. 创建一个新的打印机队列,选择 远程打印机”
  4. 输入通过Universal Print注册的打印机的详细信息。

步骤 3: 管理打印作业

  1. 在SAP中发送打印作业。
  2. 使用 Microsoft 365 管理中心 监控打印作业状态。
  3. 如有需要,可暂停、取消或重新排列打印作业。

后端打印 (Backend Printing)

后端打印指的是由应用程序而非用户发起的无人值守的批量打印作业。

前提条件

  1. Azure Entra ID 租户 ID
  2. Azure 订阅 ID
  3. Microsoft Universal Print 许可证
  4. 至少一个在 Microsoft Universal Print 中注册的物理打印机
  5. SAP NetWeaver:最低 SAP_BASIS 发布 7.57 或以上版本
  6. SAP Print Queue Management:在 SAP 中激活此功能
  7. 授权的 SAP 用户:有权生成和监督假脱机请求和打印队列的个人

集成方案设计

配置后端打印解决方案:

后端打印解决方案运行得就像一个润滑良好的机器,有两个主要组件和谐地工作:

  1. 部署基础设施(控制面板):可以将其想象为乐队的指挥,监督设置并确保打印过程的所有部分都调整得恰到好处,随时准备行动。
  2. 后端打印工作者(工作负载面板):这是团队中的音乐家,勤奋地阅读乐谱(假脱机请求)并精确小心地演奏音符(发送打印作业)给 Universal Print 设备。

控制面板

控制面板主要负责管理后端打印辅助角色和 Azure 资源的基础结构状态。控制面板使用安装脚本进行部署,由以下组件组成:

  1. 持久性存储:所有 Terraform 状态文件的安全位置,可跟踪基础结构的蓝图。
  2. Container Registry:一个数字库,用于存储后端打印工作线程的映像,随时可以部署。

工作负载面板

工作负载面板是执行操作的位置。这一切都与处理这些打印作业有关,并且是使用 Terraform 设置的。以下是它的内容:

  • 应用服务计划和函数应用:后端打印辅助角色执行的阶段。
  • Application Insights:一个可选但敏锐的观察者,用于监视后端打印工作人员的性能。
  • Key Vault:用于存储所有机密和敏感信息的安全保管库。
  • 存储帐户:用于管理打印作业的仓库。
  • 逻辑应用和自定义连接器:确保打印作业传送到通用打印设备的信使。
  • API 连接:将逻辑应用连接到通用打印 API 的网桥。
  • 托管标识:函数应用的后台阶段阶段,授予对 Key Vault 和存储帐户的访问权限。

部署后端打印解决方案

1. 从 Azure 门户中打开 Azure Cloud Shell (Powershell)。

2. 在 Cloud Shell 编辑器中创建新文件。将以下脚本复制并粘贴到其中,并使用 ps1 扩展名保存(例如:setup.ps1)。保存文件后,您可以单击刷新按钮并在根目录上找到该文件。打开文件,然后调整参数(说明如下),使其适合你的 SAP 环境。

$Env:CONTROL_PLANE_ENVIRONMENT_CODE="CTRL"$Env:WORKLOAD_ENVIRONMENT_CODE="TEST"$Env:LOCATION=""$Env:ENTRA_ID_TENANT_ID = ""$Env:AZURE_SUBSCRIPTION_ID = ""$Env:SAP_VIRTUAL_NETWORK_ID = ""$Env:BGPRINT_SUBNET_ADDRESS_PREFIX = ""$Env:ENABLE_LOGGING_ON_FUNCTION_APP = "false"$Env:CONTAINER_REGISTRY_NAME = ""$Env:HOMEDRIVE = ""$UniqueIdentifier = Read-Host "Please provide an identifier that makes the service principal names unique, for example (MGMT/CTRL)"$confirmation = Read-Host "Do you want to create a new Application registration for Control Plane y/n?"if ($confirmation -eq 'y') {$Env:CONTROL_PLANE_SERVICE_PRINCIPAL_NAME = $UniqueIdentifier + "-SAP-PRINT-APP"}else {$Env:CONTROL_PLANE_SERVICE_PRINCIPAL_NAME = Read-Host "Please provide the Application registration name"}$ENV:SAPPRINT_PATH = Join-Path -Path $Env:HOMEDRIVE -ChildPath "SAP-PRINT"if (-not (Test-Path -Path $ENV:SAPPRINT_PATH)) {New-Item -Path $ENV:SAPPRINT_PATH -Type Directory | Out-Null}Set-Location -Path $ENV:SAPPRINT_PATHGet-ChildItem -Path $ENV:SAPPRINT_PATH -Recurse | Remove-Item -Force -Recurse$scriptUrl = "https://raw.githubusercontent.com/Azure/universal-print-for-sap-starter-pack/main/deployer/scripts/install_backend_printing.ps1"$scriptPath = Join-Path -Path $ENV:SAPPRINT_PATH -ChildPath "install_backend_printing.ps1"Invoke-WebRequest -Uri $scriptUrl -OutFile $scriptPathInvoke-Expression -Command $scriptPath

脚本参数

名字

描述

类型

CONTROL_PLANE_ENVIRONMENT_CODE

控制平面环境代码用于为控制平面资源创建唯一名称。

字符串

“CTRL”, “管理”

WORKLOAD_ENVIRONMENT_CODE

工作负载环境名称用于为工作负载资源创建唯一名称

字符串

“PROD”、“TEST”、“DEV”

ENTRA_ID_TENANT_ID

Entra ID 租户 ID

字符串

“xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”

AZURE_SUBSCRIPTION_ID

Azure Subcription ID

字符串

“yyyy-yyyy-yy-yy

SAP_VIRTUAL_NETWORK_ID

部署了 SAP 系统的虚拟网络的资源 ID。

字符串

BGPRINT_SUBNET_ADDRESS_PREFIX

将在其中部署后端打印服务的子网的地址前缀

字符串

"10.10.10.10/25"

ENABLE_LOGGING_ON_FUNCTION_APP

在 Azure 函数应用上启用日志记录

布尔字符串

真”/“假”

家庭驱动器

Azure 用户的驱动器。这是你在 Azure Cloud Shell 中看到的位置。示例:/home/john

字符串

“/家/约翰”

3. 在 PowerShell 上,执行命令:

./setup.ps1

4. 脚本执行完毕后,您将在您的 Azure 订阅中整齐地部署了控制面板和后端打印工作者。

授权 API 连接到 Universal Print

5. 跳转到 Azure 门户中的工作负载平面资源组。

6. 找到 API 连接资源并点击“编辑 API 连接”按钮。

7. 点击“授权”以与 Universal Print API 建立连接。弹出窗口关闭后,记得点击“保存”按钮以保存授权连接。

将 SAP 打印队列配置添加到函数应用

8. 打开函数应用并在概览屏幕上找到验证器函数。

9. 点击“代码 + 测试”。

10. 点击“测试/运行”按钮。

11. 在正文部分,放入下面提供的 JSON 负载并按“运行”。如果你看到一个愉快的“200 OK”响应代码,你就准备好了!如果不是,错误信息将为你提供修复任何小问题的线索。

通过 Powershell 或图形 API 从 Azure 门户获取打印机共享 ID。

通过重复上述配置步骤添加更多队列或 SAP 环境。

{"sap_environment" : "PROD","sap_sid": "SID","sap_hostname": "http://10.186.102.6:8001","sap_user": "sapuser","sap_password": "sappassword","sap_print_queues": [{"queue_name":"ZQ1","print_share_id": "12345678-1234-1234-1234-123456789012"},{"queue_name":"ZQ2","print_share_id": "12345678-1234-1234-1234-123456789012"}]}

附录

  1. 部署指南、SAP 特定 FAQ 和社区讨论可在 GitHub 上找到。
  2. 通用打印的一般 FAQ 可在 Microsoft Learn 上找到。
  3. 如果您希望集成特殊标签打印机,请参阅相关文档。

这篇关于Microsoft Universal Print 与 SAP 集成教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/949101

相关文章

MQTT SpringBoot整合实战教程

《MQTTSpringBoot整合实战教程》:本文主要介绍MQTTSpringBoot整合实战教程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考... 目录MQTT-SpringBoot创建简单 SpringBoot 项目导入必须依赖增加MQTT相关配置编写

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

Java集成Onlyoffice的示例代码及场景分析

《Java集成Onlyoffice的示例代码及场景分析》:本文主要介绍Java集成Onlyoffice的示例代码及场景分析,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要... 需求场景:实现文档的在线编辑,团队协作总结:两个接口 + 前端页面 + 配置项接口1:一个接口,将o

Logback在SpringBoot中的详细配置教程

《Logback在SpringBoot中的详细配置教程》SpringBoot默认会加载classpath下的logback-spring.xml(推荐)或logback.xml作为Logback的配置... 目录1. Logback 配置文件2. 基础配置示例3. 关键配置项说明Appender(日志输出器

Swagger2与Springdoc集成与使用详解

《Swagger2与Springdoc集成与使用详解》:本文主要介绍Swagger2与Springdoc集成与使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1. 依赖配置2. 基础配置2.1 启用 Springdoc2.2 自定义 OpenAPI 信息3.

Kali Linux安装实现教程(亲测有效)

《KaliLinux安装实现教程(亲测有效)》:本文主要介绍KaliLinux安装实现教程(亲测有效),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、下载二、安装总结一、下载1、点http://www.chinasem.cn击链接 Get Kali | Kal

Web技术与Nginx网站环境部署教程

《Web技术与Nginx网站环境部署教程》:本文主要介绍Web技术与Nginx网站环境部署教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、Web基础1.域名系统DNS2.Hosts文件3.DNS4.域名注册二.网页与html1.网页概述2.HTML概述3.

spring security 超详细使用教程及如何接入springboot、前后端分离

《springsecurity超详细使用教程及如何接入springboot、前后端分离》SpringSecurity是一个强大且可扩展的框架,用于保护Java应用程序,尤其是基于Spring的应用... 目录1、准备工作1.1 引入依赖1.2 用户认证的配置1.3 基本的配置1.4 常用配置2、加密1. 密

WinForms中主要控件的详细使用教程

《WinForms中主要控件的详细使用教程》WinForms(WindowsForms)是Microsoft提供的用于构建Windows桌面应用程序的框架,它提供了丰富的控件集合,可以满足各种UI设计... 目录一、基础控件1. Button (按钮)2. Label (标签)3. TextBox (文本框

Spring Boot 集成 Solr 的详细示例

《SpringBoot集成Solr的详细示例》:本文主要介绍SpringBoot集成Solr的详细示例,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 目录环境准备添加依赖配置 Solr 连接定义实体类编写 Repository 接口创建 Service 与 Controller示例运行