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

相关文章

Maven的使用和配置国内源的保姆级教程

《Maven的使用和配置国内源的保姆级教程》Maven是⼀个项目管理工具,基于POM(ProjectObjectModel,项目对象模型)的概念,Maven可以通过一小段描述信息来管理项目的构建,报告... 目录1. 什么是Maven?2.创建⼀个Maven项目3.Maven 核心功能4.使用Maven H

Spring Boot 集成 Quartz并使用Cron 表达式实现定时任务

《SpringBoot集成Quartz并使用Cron表达式实现定时任务》本篇文章介绍了如何在SpringBoot中集成Quartz进行定时任务调度,并通过Cron表达式控制任务... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启动 Sprin

IDEA自动生成注释模板的配置教程

《IDEA自动生成注释模板的配置教程》本文介绍了如何在IntelliJIDEA中配置类和方法的注释模板,包括自动生成项目名称、包名、日期和时间等内容,以及如何定制参数和返回值的注释格式,需要的朋友可以... 目录项目场景配置方法类注释模板定义类开头的注释步骤类注释效果方法注释模板定义方法开头的注释步骤方法注

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

Python虚拟环境终极(含PyCharm的使用教程)

《Python虚拟环境终极(含PyCharm的使用教程)》:本文主要介绍Python虚拟环境终极(含PyCharm的使用教程),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录一、为什么需要虚拟环境?二、虚拟环境创建方式对比三、命令行创建虚拟环境(venv)3.1 基础命令3

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

python连接本地SQL server详细图文教程

《python连接本地SQLserver详细图文教程》在数据分析领域,经常需要从数据库中获取数据进行分析和处理,下面:本文主要介绍python连接本地SQLserver的相关资料,文中通过代码... 目录一.设置本地账号1.新建用户2.开启双重验证3,开启TCP/IP本地服务二js.python连接实例1.

Python 安装和配置flask, flask_cors的图文教程

《Python安装和配置flask,flask_cors的图文教程》:本文主要介绍Python安装和配置flask,flask_cors的图文教程,本文通过图文并茂的形式给大家介绍的非常详细,... 目录一.python安装:二,配置环境变量,三:检查Python安装和环境变量,四:安装flask和flas

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.