问题:周末的时候突然被叫起来改程序(没办法,苦逼程序猿),然后一时换乱把200的账号给锁了。。。大晚上还找不到人解锁咋办,于是我想着能不能在300去解锁(同一个服务器的不同client)。后面稍微琢磨了下确实是可行的!分享一下

解决办法:解决办法一共有2种,其实原理很简单,只要把被锁client的usr02表的UFLAG字段置0就可以了

       1、是同client或者跨client都可以,但是有个前提条件:那就是必须得现有一个RFC的连接方式,并且是配置好密码的,也就是不用登录(可以登录的话直接登录解锁就好了),这里只提供一种思路,不用在意这些细节!当然远程连接可以是BASIS通过配置传输或者SSO的时候自动生成的,也可以是手动生成的,因为我这边STMS并没有配置,所以我就SM59手动建了一个。具体实现效果如图所示可以发现,左边是300的程序,调了一个RFC,RFC是指向200client的,然后执行完后就可以解锁了~。 

         虽然说是跨服务器也可以,但是就涉及到传输的问题了,比较麻烦,接下来说一种更简单的方式

SAP 跨client解锁账号_ABAP解锁账号

        2、其实不就是更新usr02表就好了嘛,直接在301里更新就好了sql不必须!

SELECT * FROM usr02
  CLIENT SPECIFIED
  INTO TABLE @data(LT_USR02)
  WHERE mandt = '200'
    AND BNAME = 'DEMO01'.
  IF SY-SUBRC EQ 0.
    UPDATE USR02 client specified SET UFLAG = 0  WHERE MANDT = '200' AND BNAME = 'DEMO01'.
  ENDIF.

  .

  IF SY-SUBRC EQ 0.
    WRITE:'YES'.
  ENDIF.