SAP SLM KEY生成程序
### SAP SLM KEY生成程序详解 #### 一、概述 SAP SLM (System Landscape Management) 是SAP系统中用于管理整个系统环境的关键组件之一。从SAP ECC 5.0版本开始,为了更好地控制和优化系统的安装与升级流程,SAP开始强制要求安装SLM。SLM的主要功能之一就是生成必要的安装密钥(Install Key),这是进行后续安装步骤的基础。如果缺少这些密钥,则无法完成安装过程。 #### 二、SLM KEY的重要性 对于BASIS(Business Application Support Infrastructure)顾问而言,SLM KEY是至关重要的。它不仅关系到新系统的安装,还涉及到现有系统的维护和升级工作。通过SLM KEY,可以确保系统的合法性和授权状态,这对于维护系统的稳定运行至关重要。 #### 三、生成SLM KEY的过程 根据提供的代码片段,我们可以了解到生成SLM KEY的具体步骤: 1. **定义数据结构**:首先定义了一个名为`dswpclientkey`的数据结构,其中包含了生成密钥所需的各项参数,如`INSTNO`(实例号)、`DBID`(数据库标识符)、`BUNDLE_ID`(捆绑包ID)和`SERVICE_KEY`(服务密钥)等。 2. **初始化变量**:接着初始化了一些变量,包括`P_VALUE`、`P_INSTNO`等,并定义了参数`P_SID`、`P_SYSNO`和`P_SERVER`,这些参数分别代表了系统ID、系统编号和服务器名称。 3. **获取SP值**:通过`GET_SP_VALUE`过程来获取特定的SP值(Software Provisioning Manager值)。此过程接受系统ID、系统编号和服务器名称作为输入,并返回一个值到`P_VALUE`中。 4. **处理SP值**:对获取到的`P_VALUE`进行处理,主要是通过一系列转换操作来生成最终的密钥。这包括将输入字符串转换为大写字母、按照一定的长度分段处理字符串并将其转换为XSTRING类型,然后使用XOR运算符对各个部分进行加密处理。 5. **输出结果**:将处理后的密钥值输出。 #### 四、代码详解 1. **数据结构定义**: ```abap TYPES: BEGIN OF dswpclientkey, INSTNO TYPE num10, DBID(3), BUNDLE_ID(8), SERVICE_KEY(40), END OF dswpclientkey. ``` 2. **初始化变量**: ```abap DATA: P_VALUE TYPE num10, P_INSTNO TYPE num10. ``` 3. **获取SP值**: ```abap FORM get_sp_value USING P_PF_SID P_PF_SYSNO P_PF_SERVER CHANGING P_PF_VALUE. ``` 4. **SP值处理**: - 将输入字符串转换为大写。 - 按照指定长度分段处理字符串。 - 使用XOR运算符对字符串进行加密处理。 5. **输出结果**: ```abap WRITE P_VALUE. ``` #### 五、总结 通过以上分析可以看出,SAP SLM KEY生成程序是基于一定的逻辑规则对输入数据进行处理,从而生成合法有效的安装密钥。对于SAP系统的安装和维护来说,掌握SLM KEY的生成方法是非常重要的。此外,通过对SLM KEY的理解和使用,还可以帮助BASIS顾问更好地管理整个SAP系统环境,确保系统的稳定运行。
types: begin of dswpclientkey,
INSTNO type num10,
DBID(3),
BUNDLE_ID(8),
SERVICE_KEY(40),
end of dswpclientkey.
*data: dswpclientkey_w type standard table of dswpclientkey.
DATA: P_VALUE(10),
P_INSTNO(10).
PARAMETERS: P_SID(3),
P_SYSNO(2),
P_SERVER(15).
START-OF-SELECTION.
PERFORM GET_SP_VALUE USING P_SID
P_SYSNO
P_SERVER
P_INSTNO
CHANGING P_VALUE.
END-OF-SELECTION.
WRITE P_VALUE.
*&---------------------------------------------------------------------*
*& Form get_sp_value
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_PF_SYSNO text
* -->P_PF_SERVER text
* <--P_PF_VALUE text
*----------------------------------------------------------------------*
FORM get_sp_value USING P_PF_SID
P_PF_SYSNO
P_PF_SERVER
P_PF_INSTNO
CHANGING P_PF_VALUE.
CONSTANTS: lc_part_len TYPE i VALUE 5,
lc_pw_len TYPE i VALUE 10,
lc_allowed_chars(38) TYPE c VALUE
'-0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ_'.
data: lf_string(20) type c,
lf_key type i,
ls_key type dswpclientkey,
lf_part(lc_part_len) type c,
lf_finalf(lc_pw_len) type c,
lf_finalx type xstring,
lf_xbuffer type xstring,
lf_opf(10) type c,
lf_langu like sy-langu,
lf_subrc like sy-subrc,
lf_len type i,
lo_conv_to_x TYPE REF TO cl_abap_conv_out_ce.
clear: lf_string, lf_finalx, lf_opf.
剩余6页未读,继续阅读
- shihaidong06052013-03-11能用,刚下载下来的时候还不会用,还是同事教的。
- rudyxp2013-12-04Haha,有这个算出来比较方便,不用随身携带了
- gabon2011-11-22正需要这个呢 多谢楼主 但是必须要导入到ABAP系统里才能用,没有像zsapgui之类的 可执行程序吗
- bankliu2012-12-13可以用的,就是为啥评论的人好少。。。
- 粉丝: 2
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 19 工资发放明细表-可视化图表.xlsx
- 27 员工工资表(图表分析).xlsx
- 23 财务报告工资数据图表模板.xlsx
- 22 财务报告工资数据图表模板.xlsx
- 24 工资表-年度薪资可视化图表.xlsx
- 26 财务分析部门工资支出图表.xlsx
- Python爬虫技术详解:从基础到实战.zip
- 25 工资费用支出表-可视化图表.xlsx
- 30公司各部门工资支出数据图表1.xlsx
- 29 员工月度工资支出数据图表.xlsx
- 28 工资表(自动计算,图表显示).xlsx
- 31 财务分析工资年度开支图表.xlsx
- 33 年度工资预算表(可视化看板).xlsx
- 32 公司年度工资成本数据图表.xlsx
- 34 年度工资汇总-数据可视化看板.xlsx
- 36 财务报表新年度部门工资预算表.xlsx