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指定用户名错误的更多相关文章

  1. 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 ...

  2. asp.net中当服务器出错时显示指定的错误页面

    http://blog.csdn.net/helloxiaoyu/article/details/2943537 此篇文章描述了当异常再ASP.NET中发生时怎样使用C#.NET代码去拦截和相应异常. ...

  3. 在主函数中提示用户输入用户名和密码。另写一方法来判断用户输入是否正确。该方法分别返回一个bool类型的登录结果和和一个string类型的登录信息。如登录成功,返回true及“登录成功”,若登录失败则返回false及“用户名错误”或“密码错误”(使用out参数)

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. struts2回显指定的错误信息

     <s:fielderror />  显示全部的 错误消息(用addFieldError方法添加的 )   <s:fielderror>            <s:pa ...

  5. <s:submit> 指定的method方法不执行

    很多文章在讲一个表单多个提交方法的时候都是在<s:submit>中通过method来指定,但是我在试验中怎么也不对,jsp页面代码如下 <%@page import="or ...

  6. git 指定用户名密码更新代码

    使用git 更新代码 如何修改git 的密码一直令人费解,百度一堆也没给出答案.下面给一种替代方案. 例如:我们正常的代码地址 http://172.16.210.112/project/test.g ...

  7. delphi xe7 多线程调用CMD,使用管道,临界区技术,实现指定用户名,多线程,异步返回CMD命令结果到memo

    第一次发这个,发现格式很乱,不好看,可以用XE7的project--format project sources命令格式化一下代码. 后面我会上传此次修改函数用的源代码到云盘 链接: http://p ...

  8. [svn]指定用户名

    svn [option] --username=faith --passward=521 或者 svn [option] --username "faith" --passward ...

  9. [Python] from scipy import sparse 报 DLL load failed:找不到指定模块错误

    依赖vc运行环境.需要安装 vc_redist Py3.5要安装2015版 传送门: https://www.microsoft.com/zh-CN/download/details.aspx?id= ...

  10. windows环境:idea或者eclipse指定用户名操作hadoop集群

    方法 在系统的环境变量或java JVM变量添加HADOOP_USER_NAME(具体值视情况而定). 比如:idea里面可以如下添加HADOOP_USER_NAME=hdfs 原理:直接看源码 /h ...

随机推荐

  1. 一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识

    摘要:char类型字段想走索引的话,必须用引号括起来.如果是时间戳等类型的纯数字,建议还是存为int型吧. 本文分享自华为云社区<一次事故,我对MySql时间戳存char(10)还是int(10 ...

  2. APP安全加固怎么做?加固技术、加固方法、加固方案

    ​ 前面的文章中我们为大家介绍了移动应用安全检测的测试依据.测试方法.和测试内容,本文我们着重分享App安全加固的相关内容. ​ (安全检测内容) 通过前面的文章我们知道了app安全检测要去检测哪些内 ...

  3. iOS IPA包的制作和上传步骤详解​

    目录 前言 一.IPA包的原理 二.IPA包上传的步骤 1.注册开发者账号 2.创建应用程序 3.编码和设计 4.生成证书和配置文件 5.打包IPA包 6.上传IPA包 三.总结 前言 iOS IPA ...

  4. Java 轻量开发框架 Solon 1.4.4 发布 ,完善分布式任务规范

    Solon 是一个轻量的Java基础开发框架.强调,克制 + 简洁 + 开放的原则:力求,更小.更快.更自由的体验.支持:RPC.REST API.MVC.Job.Micro service.WebS ...

  5. 【AI 安全探索】AI 流行的时代,我们应该担心什么?

    视频地址:https://www.bilibili.com/video/BV1eg4y1Q7N5/ 是未来危机,还是眼下的问题? Sasha Luccioni 是 Hugging Face 团队的道德 ...

  6. Django rest_framework使用自定义异常

    完整代码 https://gitee.com/mom925/django-system 在settings.py中配置 REST_FRAMEWORK = { "EXCEPTION_HANDL ...

  7. NBA赛事直播超清画质背后:阿里云视频云「窄带高清2.0」技术深度解读

    在半月前结束的NBA总决赛中,百视TV作为全网唯一采用"主播陪你看NBA"模式的直播平台,以"陪看型"赛事解说来面对内容差异化竞争.与此同时,百视TV还运用了& ...

  8. 【JAVA基础】MySQL配置

    mySQL配置 数据库连接 初始化配置 --创建用户 并授权 create user 'injasup'@'%' identified by 'supplier@2023#!'; GRANT SELE ...

  9. 深挖 Python 元组 pt.2

    哈喽大家好,我是咸鱼 在<深挖 Python 元组 pt.1>中我们了解 Python 元组的一些概念(索引和切片等),以及如何创建元组,最重要的是我们还介绍了元组的不可变特性 那么今天我 ...

  10. 探究Presto SQL引擎(2)-浅析Join

    作者:vivo互联网技术-Shuai Guangying 在<探究Presto SQL引擎(1)-巧用Antlr>中,我们介绍了Antlr的基本用法以及如何使用Antlr4实现解析SQL查 ...