跟我们一起
玩转路由器

【SAP技巧】SAP后台作业管理/SAP打印管理

sap后台作业管理:

后台作业在SAP系统中主要用于运行处理大量数据且不需要用户交互的程序。尽管创建、配置和监控后台作业相对简单,但管理后台作业的真正挑战在于解决方案的选择和系统负载的控制。失控的后台作业可能对系统性能造成灾难性影响,同时也带来权限管理的风险,导致得不偿失的结果和流程混乱。因此,在创建周期性后台作业之前,应进行慎重分析。例如,如果一个明显偏向OLAP类型的报表可以使用BI实现,为何还要在生产系统中运行长时间的后台作业?这可能会导致严重的性能问题。再比如,用户如果获得了随意创建后台作业的权限,可能会导致后台作业失控,在业务高峰期由于大量后台作业运行而使整个系统停顿,造成实际的经济损失。此外,如果后台作业安排不合理,可能导致资源密集型和重要作业在同一时间段运行,影响流程的正常运作。

详细解释一下SAP的后台作业。SAP的后台作业可以定时启动,也可以由事件触发。后台作业包含一个或多个步骤,每个步骤包括调用的程序、外部shell命令和外部程序,还包括调用者和变量,并可以定义打印参数。后台作业的名称通常需要遵循一定的命名规则,以明确其重要性、启动方式和作用等。我们通常通过SM36创建后台作业(也可以通过SM36查看SAP标准后台作业),通过SM37监控和管理后台作业。

后台作业有Scheduled、Released、Ready、Active、Finished、Canceled六种状态。还可以指定执行的服务器组(后台作业执行的服务器组可以通过sm61配置)。Scheduled状态的作业已创建但尚未释放,这种状态的作业不会运行。Released状态的作业在启动条件满足后会启动,Ready是启动条件满足后,系统开始为该作业分配但尚未分配合适的后台进程的一个中间状态。Active表示该作业正在运行中,即相应的后台进程正在运行作业的某个步骤;Finished表示作业的所有步骤都成功完成。Canceled表示作业在某个步骤运行过程中异常中止。

SAP作业的信息存储在一系列的TBTC*表中。有时,某个作业对应的进程中止了,但表中的状态信息未更新,导致作业显示为active状态,而实际上没有进程在运行。这种情况下,我们可以通过检查状态手动修正表中的状态信息。

如果要分析作业取消的原因,应检查作业日志。由于作业步骤通常运行的是ABAP程序,作业取消时常伴有dump产生。此时,双击作业日志的条目可以跳转到对应的dump。此外,有时由于进程被中止导致的作业取消未被写入日志,需要结合系统日志进行分析。作业日志存储在\usr\sap\SID\SYS\global日志文件 JOBLOG中,在某些特定情况下,日志文件访问问题会导致所有作业取消,在DI上出现这种问题时,据说可能是NFS不稳定,但我不确定这一点。

触发事件通常使用函数模块BP_EVENT_RAISE或sapevt.exe。

SAP打印管理:

完整的SAP打印过程基本如下:1.选择打印的文档,创建spool request(printer-independent);2.如果是立即打印,则根据输出设备创建output request(printer-dependent);3.output request被移交给SAP打印进程处理;4.SAP打印进程将打印数据转换成打印机可识别的格式,移交给操作系统打印管理器。

在adm中强调了一点,如果操作系统层面的打印机不可用,对SAP来说该打印机也不可用。此外,SAP打印机的访问方法主要与操作系统差异(NT、Unix)以及SAP打印进程和操作系统打印队列所在服务器有关。访问方法:F类型针对用户端为Windows平台,具体通过SAP spool->saplpd->Windows spool实现。L(调用Unix shell命令lp/lpr)和C(调用Windows API)类型分别对应Unix和Windows平台的应用服务器的local类型,local类型表示SAP打印进程和操作系统打印队列在同一物理服务器上。U和S分别针对Unix平台和Windows平台的远程打印,远程打印表示SAP打印进程和操作系统打印队列不在同一服务器。需要说明的是,S类型仍然需要调用打印服务器端的saplpd。

下面大致说明一下简单的SAP打印机配置过程(OMS的复杂类型配置暂且略过,我还没有做过)。我们通常配置的打印机(output device)多为L类型的。SPAD创建打印机:output device大小写区分;device type选择对应的型号,如果没有默认的,首先去SAP官网下载最新的device type导入,如果还没有,就去供应商官网查找。SAP Note 8928 Delivery Class:打印机使用标准打印机;Authorization Group:打印机权限管理,不需要可以略过(我没有配置过);Model、Location、Message都是描述性字段,根据各公司的命名规则填写,以便实际管理;Lock Printer in SAP System:是否在SAP系统中锁定该打印机?当然不了;Host Access Method:L;Host Printer Name:打印机名称(这个字段将用于lp/lpr命令);Host Name:打印服务器机器名(例如,我的打印机安装在sidhau上,那么这一栏自然就是sidhau)。一般为了性能良好,都将Do not query Host Spooler for output status打上勾。其他默认。

关于F类型打印机,下面贴一个SDN关于PDF1打印机配置的博客。这个包含了F类型打印机配置,同时给出了不用第三方软件提供将报表转为PDF格式文件的解决方案,已测试通过。请注意打印配置,实际上不同类型的打印机,比如L和C的,代表着不同的接口。L类型打印机,SAP传递给操作系统的是lp/lpr命令,C类型的,则是调用Windows平台的saplpd。https://www.php.cn/link/d2cc6063bce8482e2cdf59d6a1885d73

对于spool的维护和监控也是相当重要的。需要定期清理旧的spool request和output request。SAP有标准的后台作业SAP_REORG_SPOOL(rspo1041)和SAP_CHECK_SPOOL(rspo1043),详细信息可以查看SAP Note 130978和98065。

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《【SAP技巧】SAP后台作业管理/SAP打印管理》
文章链接:https://www.lu-you.com/settings/27545.html
本站资源来源于互联网整理,若有图片影像侵权,联系邮箱429682998@qq.com删除,谢谢。

评论 抢沙发

登录

找回密码

注册