ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 跳过Access Key的详细方法。

跳过Access Key的详细方法。

原创 Linux操作系统 作者:100113 时间:2012-02-11 23:17:56 0 删除 编辑
公司准备上SAP ERP系统,我作为ERP项目的成员之一,一至在积极的、努力的学习SAP ERP,无奈SAP ERP实再太大,大得一时让人摸不着头脑。我之前是做Net开发的,所以我一开始就想看看SAP ABAP长个什么样子,想法是好的,但是实现的过程是曲折的。要想写ABAP代码主必须向SAP申请Access Key,我就这样被Access Key无情的挡在了ABAP大门的外面,由于上网查阅资料,有高人提到,要想绕开Access Key有两种方法,一种是使用牛人提供的注册机,产生Key(我也试过这种方法,不过没成功,搞得我很没有面子)。另外一种方法就是修改SAP ERP检查Access Key程序的代码,下面要介绍的也是这种方法。
 
一、去掉检查Access Key程序"LSKEYF00"的Editor lock属性,使其可以修改。
 
        a、在"T-code"编辑框中输入"se30"后按回车.
 
        b、弹出一个对话框,点击其中一个按钮(随便一个都可以)。
 
        c、出现一个窗口,在工具栏上点击"Tips & Tricks" 或者就直接按F6。
 
        d、出现另外一个窗口,窗口中间有两个大大的编辑框,在右边的编辑框中输入
 
              Update PROGDIR set edtx = ''
              Where
              name = 'LSKEYF00'
              And
              state = 'A'.
      注意:是右边,一定是右边。俺当时就没注意这个,就直接把上面这段代码写在了左边的编辑框里面,怎么都继续不下去,郁闷了好几天,才发现是我自己搞错了,应该写在右边编辑框里面。所以这里特别的提个醒。
 
        e、按F8 完成。
 
二、在权限判断文件里面加上断点,阻断权限判断
 
      a、在"T-code"编辑框中输入"se38"后按回车。
 
      b、出现一个窗口,在默认的编辑框中输入"LSKEYF00" 。
 
      c、点击"Display" 按钮。
 
      d、找到 JUMP_THE_WALL 块,然后在这块中找到下面这段

            CALL 'GET_DEVELOPER_KEY' ID 'NAME' FIELD 'ABCDEFGHIJKL'
            ID 'CUSTID' FIELD '1234567890'
            ID 'KEY' FIELD DUMMY_KEY.
 
      e、把光标放在dummy_key后面.点击页面上的背景是红色的stop(ecc6.0里面有两个,选第一个,第二个没有试),在这里添加一个断点,此时上面的最后一行会变为暗红色。
 
      f、点击后面一串图标中倒数第四个(创建新的会话),会出现一个新的操作界面窗口,在新窗口的Tcode输入se38回车。(这里如果不这样打开新窗口的话,有可能会造成不能进入断点的状况。别人是这样说的,我没有验证过)
 
   
三、修改权限判断文件中的判断参数的值,达到绕过权限判断的目的。

      a、 在默认的编辑框中输入"LSKEYF00"。
 
      b、点击"Change"按钮。
 
      c、程序会自动运行到断点处,窗口的下面Variables1标签里面会有三行空白的数据,(有人说是四行,但我这里只有三行),其中Variable列是可以编辑的,在第一行的Variable中输入"SY-SUBRC"后回车,其它列会自动填冲数据。
 
      d、其中Val列的值是非0的值,而且是不可以修改的,我们需要点下下面的铅笔图标,使其可修改,将其值改为0。
 
      e、按F6。
 
      f、程序运行到下一行代码,重复d步。
 
      g、e,f这两步循环,直到代码运行到 SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S52 { color: #0000FF; } ENDFORM.且Val的值为0  
 
      h、按F8,程序会跳出一个或者几个信息框,不必理会,确认,就会出现一个白底灰字的界面,里面是程序源代码,但因为不能修改,所以是灰色的。

四、修改检查Access Key程序的代码。以后可以直接跳过。
 
     a、将光标停在  SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S33 { color: #4DA619; } .L0S52 { color: #0000FF; } ID 'KEY'    FIELD DUMMY_KEY.  的下一行(空白行)
 
     b、点击"insert",光标所在得会插入下面的代码:
      SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S31 { font-style. italic; color: #808080; } .L0S32 { color: #3399FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; } *  INSERT   WSMK900002         3
  *
  *}   INSERT
      第一行Insert 后面的字符可能会不一样,这不重要。
 
     c、修改上面的代码,把第二行的*删掉,换成  SPAN { font-family: "Courier New"; font-size: 10pt; color: #000000; background: #FFFFFF; } .L0S32 { color: #3399FF; } .L0S55 { color: #800080; } .L0S70 { color: #808080; } sy-subrc 0. 即:
      *  INSERT   WSMK900002         3
  sy-subrc 0.
  *}   INSERT
        
    d、最后,这段代码会是下面这个样子
      CALL 'GET_DEVELOPER_KEY' ID 'NAME' FIELD 'ABCDEFGHIJKL'
                         ID 'CUSTID' FIELD '1234567890'
                         ID 'KEY'    FIELD DUMMY_KEY.
 
*{   INSERT   WSMK900002   1
sy-subrc 0.
*}   INSERT

  CHECK SY-SUBRC EQ 2.  "customer system!

*{   INSERT   WSMK900002              2
sy-subrc 0.
*}   INSERT

  MOVE SPACE TO DUMMY_KEY.

*{   INSERT         WSMK900002    3
sy-subrc 0.
*}   INSERT

  RC 0.
ENDFORM.  " JUMP_THE_WALL

            e、点击"保存",程序又会跳到断点处,需要重复第三价段中从c开始的所有步骤。最后会保存成功。
           f、点击"Program"菜单下面的"Activate"子菜单,激活程序。程序又会跳到断点处,需要重复第三价段中从c开始的所有步骤。

 
 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/23353800/viewspace-716083/,如需转载,请注明出处,否则将追究法律责任。

下一篇: ABAP之Hello,World
请登录后发表评论 登录
全部评论

注册时间:2011-11-24

  • 博文量
    19
  • 访问量
    51360