SUBMIT指定用户名错误
1、SUBMIT说明
在ABAP中,SUBMIT关键字用于运行另一个ABAP程序。通过SUBMIT关键字,可以在当前程序内部调用其他程序,而无需关闭当前程序。
SUBMIT语句的一般语法如下:
"--------------------@斌将军--------------------
SUBMIT <program> [VIA SELECTION-SCREEN|USING SELECTION-SET <selection_set>]
[VIA JOB LV_JOBNAME NUMBER LV_JOBCOUNT]
[AND RETURN] [EXPORTING LIST TO MEMORY]
[WITH p1 = <value1> ... pn = <value_n>]
[WITH p1 = <value1> ... WITH pn = <value_n>].
"--------------------@斌将军--------------------
2、指定账号
需求说明:在后台JOB中使用SUBMIT调用程序时,程序中需要指定某个账号来执行某些逻辑,所以使用USE LV_UNAME,用于指定运行目标程序的用户名。不管登录账号是哪个,都是使用账号BINGENERAL来执行目标程序YTESTJOB。
源程序代码如下:
"--------------------@斌将军--------------------
DATA: lv_number TYPE tbtcjob-jobcount,
lv_name TYPE tbtcjob-jobname,
lv_uname TYPE syst_uname,
lv_print_parameters TYPE pri_params. CLEAR:lv_name ,lv_number.
lv_name = |后台作业测试|. CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = lv_name
IMPORTING
jobcount = lv_number
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
IF sy-subrc = 0. lv_uname = 'BINGENERAL'."调用ytestjob时,用账号:BINGENERAL执行程序 SUBMIT ytestjob TO SAP-SPOOL
SPOOL PARAMETERS lv_print_parameters
WITHOUT SPOOL DYNPRO
VIA JOB lv_name NUMBER lv_number
USER lv_uname
AND RETURN.
IF sy-subrc = 0.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = lv_number
jobname = lv_name
strtimmed = 'X'
EXCEPTIONS
cant_start_immediate = 1
invalid_startdate = 2
jobname_missing = 3
job_close_failed = 4
job_nosteps = 5
job_notex = 6
lock_failed = 7
OTHERS = 8.
IF sy-subrc <> 0. ENDIF.
ENDIF.
ENDIF.
"--------------------@斌将军--------------------
在YTESTJOB中校验用户是否有权限,目标程序代码如下:
"--------------------@斌将军--------------------
REPORT ytestjob. DATA(lv_message) = '执行本程序的账号:' && sy-uname. WRITE: lv_message. AUTHORITY-CHECK OBJECT 'M_MRES_WWA'
ID 'ACTVT' DUMMY
ID 'WERKS' FIELD 'P010'.
IF sy-subrc <> 0.
WRITE: / '权限校验失败'.
ELSE.
WRITE: / '权限校验成功'.
ENDIF.
"--------------------@斌将军--------------------
3、存在问题
测试时,使用SAP_ALL权限的账号,没有问题,后台作业创建并执行成功

运行结果

但是此方法对于非SAP_ALL权限的账号TEST1103,执行时就出现了问题

作业没有正常执行

检查后发现原来是权限问题,使用SU53发现缺少权限

官方解释

而且指定用户名时,要用大写,否则仍然检查失败

所以大家在使用此关键字指定用户时,需要注意以上问题。
而对于想通过指定大权限账号来跳过权限校验这个方案,也要考虑给登录用户分配S_BTCH_NAM权限的合理性。
定期更文,欢迎关注

SUBMIT指定用户名错误的更多相关文章
- mongodb 使用mongodump备份 指定用户名密码 出现错误 Failed: error connecting to db server: server returned error on SASL authentication step: Authentication failed
mongodb 使用mongodump备份 指定用户名密码 出现错误 [root@MongoDB ~]# mongodump --host -u admin -p -d db1 -o /root/ F ...
- asp.net中当服务器出错时显示指定的错误页面
http://blog.csdn.net/helloxiaoyu/article/details/2943537 此篇文章描述了当异常再ASP.NET中发生时怎样使用C#.NET代码去拦截和相应异常. ...
- 在主函数中提示用户输入用户名和密码。另写一方法来判断用户输入是否正确。该方法分别返回一个bool类型的登录结果和和一个string类型的登录信息。如登录成功,返回true及“登录成功”,若登录失败则返回false及“用户名错误”或“密码错误”(使用out参数)
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- struts2回显指定的错误信息
<s:fielderror /> 显示全部的 错误消息(用addFieldError方法添加的 ) <s:fielderror> <s:pa ...
- <s:submit> 指定的method方法不执行
很多文章在讲一个表单多个提交方法的时候都是在<s:submit>中通过method来指定,但是我在试验中怎么也不对,jsp页面代码如下 <%@page import="or ...
- git 指定用户名密码更新代码
使用git 更新代码 如何修改git 的密码一直令人费解,百度一堆也没给出答案.下面给一种替代方案. 例如:我们正常的代码地址 http://172.16.210.112/project/test.g ...
- delphi xe7 多线程调用CMD,使用管道,临界区技术,实现指定用户名,多线程,异步返回CMD命令结果到memo
第一次发这个,发现格式很乱,不好看,可以用XE7的project--format project sources命令格式化一下代码. 后面我会上传此次修改函数用的源代码到云盘 链接: http://p ...
- [svn]指定用户名
svn [option] --username=faith --passward=521 或者 svn [option] --username "faith" --passward ...
- [Python] from scipy import sparse 报 DLL load failed:找不到指定模块错误
依赖vc运行环境.需要安装 vc_redist Py3.5要安装2015版 传送门: https://www.microsoft.com/zh-CN/download/details.aspx?id= ...
- windows环境:idea或者eclipse指定用户名操作hadoop集群
方法 在系统的环境变量或java JVM变量添加HADOOP_USER_NAME(具体值视情况而定). 比如:idea里面可以如下添加HADOOP_USER_NAME=hdfs 原理:直接看源码 /h ...
随机推荐
- 13个QA带你了解线上压测的知识点
摘要:设计一个线上压测系统能让我们学习到多少东西?这13个问题看你能否搞定. 本文分享自华为云社区<设计一个线上压测系统能让我们学习到多少东西?13个问题看你能否搞定>,作者:breakD ...
- 13个VSCode使用技巧,开启高效的开发模式
摘要:VsCode是一款开源的编辑器,拥有强大的功能,.由于拥有各种各样的插件,这就使得VsCode可以做到的事情更多了.在使用的过程中,也是有很多技巧的,掌握一些技巧对于后期写代码也会轻松很多. 本 ...
- SyntaxError: Non-ASCII character #-*- coding:utf-8 -*-
执行python报错 /usr/bin/python2.7 /root/demo.py File "/root/demo.py", line 2 SyntaxError: Non- ...
- Scala Http请求工具类
import java.io.IOException import java.util import org.apache.http.client.ClientProtocolException im ...
- 一文读懂火山引擎数智平台 VeDI 新品——管理驾驶舱 Plus
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 4 月 18 日,2023 春季火山引擎 FORCE 原动力大会在上海举行,火山引擎发布数智平台(VeDI)新品- ...
- ThreadLocal 本地线程变量详解
概述 ThreadLocal 意为本地线程变量,即该变量只属于当前线程,对其他线程隔离 我们知道,一个普通变量如果被多线程访问会存在存在线程安全问题,这时我们可以使用 Synchronize 来保证该 ...
- Nginx--用户认证&&访问控制&&限速&&状态访问
一 用户认证 某些网页只希望给特定的用户访问,可以设置用户认证,使用户访问时需要进行身份认证,只有认证通过才可访问网页 location / { root html; index index.html ...
- Leaflet 使用图片作为地图
Leaflet 使用图片作为地图 关键代码: L.CRS.Simple.transformation = new L.Transformation(1, 0, 1, 0); // 坐标原点切换为左上角 ...
- 机器学习 | 分类性能度量指标 : ROC曲线、AUC值、正确率、召回率
本篇博客的图源来自 zhwhong,转载仅作学习使用! 在分类任务中,人们总是喜欢基于错误率来衡量分类器任务的成功程度.错误率指的是在所有测试样例中错分的样例比例.实际上,这样的度量错误掩盖了样例如何 ...
- <vue 基础知识 3、v-bind使用>
代码结构 一. v-bind基本使用 1.效果 2.代码 01-v-bind基本使用.html <!DOCTYPE html> <html lang="en&quo ...