SEPCERP试点阶段技术书PMZPMI0004PMS 接口 功能位置设备主数据 写入V1.docx
《SEPCERP试点阶段技术书PMZPMI0004PMS 接口 功能位置设备主数据 写入V1.docx》由会员分享,可在线阅读,更多相关《SEPCERP试点阶段技术书PMZPMI0004PMS 接口 功能位置设备主数据 写入V1.docx(56页珍藏版)》请在冰豆网上搜索。
SEPCERP试点阶段技术书PMZPMI0004PMS接口功能位置设备主数据写入V1
四川省电力公司
企业资源管理(ERP)系统实施项目
技术设计说明书
第一部分:
基本信息
(生成新的版本后,以下内容要相应改动)
开发类型
增强接口单据报表
技术工具
EnhancementUserExitBAdI
DialogInteractivelist
ABAPOOFunctiongroup
RFCBAPIfunctionExecutiveProgram
BDCTableContentsModification
ServerfileLocalfile
SAPScriptSmartformsOutput-onlyList
模块
PM
开发机及集团
D19110
事务代码
ZPMI0004
程序ID
ZPMI0004
程序名称
功能位置、设备主数据写入
功能设计者
王宗光
技术设计者
郑扬钱
ABAP程序员
郑扬钱
第二部分:
设计书维护记录
更新日期
更新人员
简要说明
2009-09-03
郑扬钱
新增
第三部分:
技术方案描述
1.业务需求描述
PMS系统中新增、修改或删除表达设备层次结构的信息(如变电站、间隔、线路、配电站房等)时,按照ERP系统的功能位置编码规则生成ERP功能位置编码,将基础数据同步至数据中心共享区,ERP系统从数据中心共享区获取功能位置主数据,并在ERP系统中新增、修改或删除功能位置主数据。
PMS系统中对设备主数据进行新增、删除或修改操作时,将新增、修改或删除数据同步至数据中心共享区,ERP系统通过接口从数据中心共享区获取ERP系统所需的设备主数据,按照ERP系统对设备编码规则及颗粒度要求,在ERP系统中创建或更新对应的设备主数据信息。
ERP系统对设备生成资产编号后,将资产编号同步至数据中心共享区,PMS系统从数据中心获取设备资产编号信息。
2.技术解决方案
根据数据中心共享区中“数据增量更新索引表”获取功能位置和设备主数据的变更(新增、修改或删除)数据,并将获取到的数据存放在ERP系统临时表中,而后对数据进行转换处理,并写入ERP系统真实表,实现设备功能位置和设备主数据在ERP系统与PMS系统的同步。
本程序承接功能位置和设备主数据的转换程序,在数据转换完毕后,由中间表写入ERP系统业务表。
写数对象为临时表中处理状态为“1(已转换)”的数据,写数成功后将处理状态修改为“2(已写入)”。
3.系统简单架构图
4.ERP临时表:
一、功能位置临时表(ZPMGNWZ)
序号
字段名
字段说明
字段类型长度
备注
1.
ID
标识列
NUMC(15)
2.
OBJ_ID
被更新数据主键
CHAR(42)
3.
OPER_DATE
取数日期
DATS(8)
4.
OPER_TIME
取数时间
TIMS(6)
5.
OPER_TYPE
操作类型
CHAR
(1)
C:
CREATE,M:
MODIFY,D:
DELETE
6.
OPER_STAT
处理状态
CHAR
(1)
0:
未转换,1:
已转换,2:
已写入,3:
转换错误,4:
写入错误,5:
不作处理
7.
OPER_DES
处理说明
CHAR(255)
记录处理错误时的信息
8.
FUNCT_LOC
功能位置编码
CHAR(60)
PMS功能位置编码
9.
FUNCLOC
功能位置描述
CHAR(40)
10.
TPLNR
功能位置
CHAR(30)
转换后的ERP功能位置编码
11.
TPLMA
上一级功能位置
CHAR(30)
12.
MAINTPLANT
维护工厂
CHAR(80)
PMS运行(维护)班组或单位
13.
SWERK
维护工厂
CHAR(4)
14.
IWERK
维护计划工厂
CHAR(4)
15.
ABCINDIC
电压等级
CHAR
(2)
PMS电压等级
16.
ABCKZ
ABC
CHAR
(1)
17.
PLSECTN
PMS资产性质
CHAR(50)
18.
BEBER
工厂区域
CHAR(3)
19.
EDIT_DATE
操作日期
DATS(8)
在ERP中进行写入处理的记录日期
20.
EDIT_TIME
操作时间
TIMS(6)
在ERP中进行写入处理的记录时间
21.
DATA_TABLECODE
被更新数据类型
CHAR(80)
22.
DATA_SPC
专业分类
CHAR(10)
二、设备台帐临时表(ZPMSBTZ)
序号
字段名
字段说明
字段类型长度
备注
1.
ID
标识列
NUMC(15)
2.
OBJ_ID
被更新数据主键
CHAR(42)
3.
OPER_DATE
取数日期
DATS(8)
4.
OPER_TIME
取数日期
TIMS(6)
5.
OPER_TYPE
操作类型
CHAR
(1)
C:
CREATE,M:
MODIFY,D:
DELETE
6.
OPER_STAT
处理状态
CHAR
(1)
0:
未转换,1:
已转换,2:
已写入,3:
转换错误,4:
写入错误,5:
不作处理
7.
OPER_DES
处理说明
CHAR(255)
记录处理错误时的信息
8.
EQUITYPE_TMP
设备大类
CHAR(10)
9.
EQUIPMENT
设备编号
CHAR(18)
10.
EQUIDESCR
设备名称
CHAR(60)
11.
USTAT
PMS设备用户状态
CHAR(50)
12.
J_ESTAT
ERP设备用户状态
CHAR(5)
13.
EQUITYPE
技术对象类型
CHAR(50)
PMS设备类型
14.
EQART
技术对象类型
CHAR(10)
15.
INGRP
客户服务和工厂维护的计划员组
CHAR(3)
16.
MAINTPLANT
维护工厂
CHAR(80)
PMS维护或运行单位(班组)
17.
SWERK
维护工厂
CHAR(4)
18.
IWERK
维护计划工厂
CHAR(4)
19.
KOSTL
成本中心
CHAR(10)
20.
ARBPL
工作中心
CHAR(8)
21.
MANFACTURE
制造商
CHAR(50)
PMS生产厂家,线路设备默认空
22.
MANCOUNTRY
PMS制造商国家
CHAR(50)
线路设备默认空)
23.
HERLD
制造国别
CHAR(3)
24.
MANMODEL
设备型号
CHAR(50)
线路设备默认空
25.
PLSECTN
PMS工厂区域
CHAR(50)
PMS资产性质
26.
BEBER
工厂区域
CHAR(3)
27.
ABCINDIC
PMS电压等级
CHAR
(2)
28.
ABCKZ
ABC
CHAR
(1)
29.
FUNCT_LOC
PMS功能位置
CHAR(60)
30.
TPLNR
功能位置
CHAR(30)
31.
INBDT
投运日期
CHAR(20)
32.
SUPEREQUI
高级设备
CHAR(42)
上级物理设备,线路设备默认空
33.
XLQC
线路全长
DEC(15
(2)
34.
SFFD
是否分段
CHAR
(2)
35.
CODE_ASSET
PMS资产编号
CHAR(50)
36.
PMSTABLE
所属PMS数据中心表格
CHAR(30)
37.
EDIT_DATE
操作日期
DATS(8)
38.
EDIT_TIME
操作时间
TIMS(6)
39.
DATA_TABLECODE
被更新数据类型
CHAR(80)
40.
DATA_SPC
专业分类
CHAR(10)
41.
POSID
WBS要素
CHAR(24)
第四部分:
程序逻辑描述—将主要代码功能描述清楚,
功能位置创建、修改、标记删除程序
技术实现方式:
BAPI,FunctionalLocation
1、创建功能位置(事务代码IL01)
调用方法:
Create
BAPI传入参数与接口获取数据的对应
序号
BAPI传入参数
中间表数据项
SAP透明表/字段名
字段类型长度
备注
1.
FUNCT_LOC
功能位置
IFLO/TPLNR
CHAR(30)
2.
FUNCLOC
功能位置描述
IFLO/PLTXT
CHAR(40)
3.
MAINTPLANT
维护工厂
ITOB/SWERK
CHAR(4)
4.
PLANPLANT
计划工厂
ITOB/IWERK
CHAR(4)
5.
ABCINDIC
电压等级
ITOB/ABCKZ
CHAR
(1)
6.
SUPFLOC
上一级功能位置
IFLO/TPLMA
CHAR(30)
直接根据功能位置截取到上一层
7.
CATEGORY
功能位置种类
IFLO/FLTYP
CHAR
(1)
默认M
8.
STRIND
结构标识
RILO0/TPLKZ
CHAR(5)
默认ZFL01
9.
PLSECTN
工厂区域
ITOB/BEBER
CHAR(3)
2、修改功能位置(事务代码IL02)
调用方法:
Change
BAPI传入参数与接口获取数据的对应
序号
BAPI传入参数
接口传入数据
SAP透明表/字段名
字段类型长度
备注
1.
FUNCT_LOC
功能位置
ITOB/TPLNR
CHAR(30)
作为主键
2.
DESCRIPT
功能位置描述
ITOB/PLTXT
CHAR(40)
更新内容
3.
MAINTPLANT
维护工厂
ITOB/SWERK
CHAR(4)
更新内容
4.
PLANPLANT
计划工厂
ITOB/IWERK
CHAR(4)
更新内容
5.
ABCINDIC
电压等级
ITOB/ABCKZ
CHAR
(1)
更新内容
6.
PLSECTN
工厂区域
ITOB/BEBER
CHAR(3)
3、删除功能位置(事务代码IL02)
调用方法:
Change
操作码为D时,在原有功能位置描述后面添加“(已删除)”,并对该功能位置作删除标识。
序号
BAPI传入参数
接口传入数据
SAP透明表/字段名
字段类型长度
备注
1.
FUNCT_LOC
功能位置
ITOB/TPLNR
CHAR(30)
作为主键
2.
功能位置描述
ITOB/PLTXT
CHAR(40)
更新内容
设备创建、修改、标记删除程序
技术实现方式:
BAPI,PieceOfEquipment
1、创建设备信息(事务代码IE01)
调用方法:
Create
BAPI传入参数与接口获取数据的对应
序号
BAPI传入参数
接口传入数据
SAP透明表/字段名
字段类型长度
备注
1.
EQUIPMENT
设备编码
ITOB/EQUNR
CHAR(18)
2.
EQUICATGRY
设备种类
ITOB/EQTYP
CHAR
(1)
默认“生产性PMS设备”
3.
EQUIDESCR
设备名称
ITOB/SHTXT
CHAR(40)
4.
设备用户状态
ITOBATTR/STTXU
CHAR(40)
默认“10在用”
5.
EQUITYPE
技术对象类型
ITOB/EQART
CHAR(10)
6.
MANFACTURE
制造商
ITOB/HERST
CHAR(30)
7.
MANCOUNTRY
制造商国家
ITOB/HERLD
CHAR(3)
8.
MANMODEL
设备型号
ITOB/TYPBZ
CHAR(20)
9.
MAINTPLANT
维护工厂
ITOB/SWERK
CHAR(4)
10.
PLANPLANT
计划工厂
ITOB/IWERK
CHAR(4)
11.
COSTCENTER
成本中心
ITOB/KOSTL
CHAR(10)
12.
PLANGROUP
计划人员组
ITOB/INGRP
CHAR(3)
13.
WORK_CTR
主工作中心
ITOB/GEWRK
CHAR(8)
14.
PLSECTN
工厂区域
ITOB/BEBER
CHAR(3)
15.
ABCINDIC
电压等级
ITOB/ABCKZ
CHAR
(1)
16.
COMP_CODE
公司代码
ITOB/BUKRS
CHAR(4)
默认1900
17.
START_FROM
开始日期
ITOB/INBDT
DATS(8)
投运日期
18.
FUNCT_LOC
功能位置
ITOB/TPLNR
CHAR(30)
19.
SUPEREQUI
高级设备
ITOB/HEQUI
CHAR(18)
2、修改设备信息(事务代码IE02)
调用方法:
Change
BAPI传入参数与接口获取数据的对应
序号
BAPI传入参数
接口传入数据
SAP透明表/字段名
字段类型长度
备注
1.
EQUIPMENT
设备编码
ITOB/EQUNR
CHAR(18)
作为主键
2.
EQUIDESCR
设备名称
ITOB/SHTXT
CHAR(40)
3.
设备用户状态
ITOBATTR/STTXU
CHAR(40)
4.
EQUITYPE
技术对象类型
ITOB/EQART
CHAR(10)
5.
MANFACTURE
制造商
ITOB/HERST
CHAR(30)
6.
MANCOUNTRY
制造商国家
ITOB/HERLD
CHAR(3)
7.
MANMODEL
设备型号
ITOB/TYPBZ
CHAR(20)
8.
MAINTPLANT
维护工厂
ITOB/SWERK
CHAR(4)
9.
PLANPLANT
计划工厂
ITOB/IWERK
CHAR(4)
10.
COSTCENTER
成本中心
ITOB/KOSTL
CHAR(10)
11.
PLANGROUP
计划人员组
ITOB/INGRP
CHAR(3)
12.
WORK_CTR
主工作中心
ITOB/GEWRK
CHAR(8)
13.
PLSECTN
工厂区域
ITOB/BEBER
CHAR(3)
14.
ABCINDIC
电压等级
ITOB/ABCKZ
CHAR
(1)
15.
START_FROM
开始日期
ITOB/INBDT
DATS(8)
投运日期
16.
FUNCT_LOC
功能位置
ITOB/TPLNR
CHAR(30)
17.
SUPEREQUI
高级设备
ITOB/HEQUI
CHAR(18)
3、删除设备(事务代码IE02)
调用方法:
Change
操作码为D时,拆卸功能位置和高级设备,修改设备状态为“60删除”,并为该设备设置删除标识。
序号
BAPI传入参数
接口传入数据
SAP透明表/字段名
字段类型长度
备注
1.
EQUIPMENT
设备编码
ITOB/EQUNR
CHAR(18)
EQUIPMENT
2.
设备用户状态
ITOBATTR/STTXU
CHAR(40)
3.
FUNCT_LOC
功能位置
ITOB/TPLNR
CHAR(30)
4.
SUPEREQUI
高级设备
ITOB/HEQUI
CHAR(18)
第五部分:
源程序----复杂性功能实现可贴主要功能代码部分
1.程序运行效果:
输入事务代码ZPMI0004
选择需要进行写入到ERP的维护工厂,将相应的数据写入到ERP系统。
2.程序源代码
*&---------------------------------------------------------------------*
*&程序名称:
ZPMI0004&*
*&程序描述:
功能位置、设备主数据写入&*
*&开发人员:
郑扬钱&*
*&创建日期:
2009/07/13&*
*&程序用途:
将转换后的数据写入到ERP系统&*
*&---------------------------------------------------------------------*
*&日期更改人.更改版本主要更改内容描述&*
*&20090723郑扬钱01高级设备和功能位置同时存在,无法写入&*
*&修改为:
存在高级设备时不写功能位置&*
*&20090813郑扬钱02在修改设备时,首先判断该设备是否在ERP&*
*&系统存在,若不存在,则创建&*
*&20090929郑扬钱03添加及时更新临时表数据功能&*
*&20091014郑扬钱04创建设备时如果设备已经存在,则修改设备&*
*&20091014郑扬钱05修改设备时,如果设备维护工厂进行了变更&*
*&先拆卸功能位置,再改设备变化值&*
*&20091109郑扬钱06删除设备时,首先判断该设备是否在系统存&*
*&在,再进行删除相应的处理&*
*&--------------------------------------------------------------------&*
REPORTZPMI0004MESSAGE-IDZPM01.
*TYPES定义
*功能位置
TYPES:
BEGINOFTY_GNWZ.
INCLUDETYPEZPMGNWZ.
TYPES:
ENDOFTY_GNWZ.
*设备台帐
TYPES:
BEGINOFTY_SBTZ.
INCLUDETYPEZPMSBTZ.
TYPES:
ENDOFTY_SBTZ.
DATA:
IT_GNWZTYPESTANDARDTABLEOFTY_GNWZ,
WA_GNWZTYPETY_GNWZ,
IT_SBTZTYPESTANDARDTABLEOFTY_SBTZ,
WA_SBTZTYPETY_SBTZ.
DATA:
W_SWERKTYPET001W-WERKS,
FLG_STATTYPEC."FLAG标识处理状态
*功能位置,设备台帐-调用BAPI时所用的参数
DATA:
W_NUMBERTYPEBAPI_ITOB_PARMS-FUNCLOC,"功能位置编码
W_FUNCLOC_INTTYPEBAPI_ITOB_PARMS-FUNCLOC_INT,
W_ENUMBERTYPEBAPI_ITOB_PARMS-EQUIPMENT,"设备编码
W_SYSTEMTYPEBAPI_ITOB_PARMS-LABEL_SYST,"标志系统
WA_GENERALTYPEBAPI_ITOB,
WA_GGENERALXTYPEBAPI_ITOBX,
WA_GSPECIFICTYPEBAPI_ITOB_FL_ONLY,
WA_GSPECIFICXTYPEBAPI_ITOB_FL_ONLYX,
WA_EPECIFICTYPEBAPI_ITOB_EQ_ONLY,
WA_EPECIFICXTYPEBAPI_ITOB_EQ_ONLYX,
W_INST_DATETYPEBAPI_ITOB_PARMS-INST_DATE,
WA_EQ_INSTALLTYPEBAPI_ITOB_EQ_INSTALL,
W_TPLNRTYPEIFLOT-TPLNR,
W_EQUNRTYPEEQUI-EQUNR,
WA_RETURNTYPEBAPIRET2,
W_MSGTYPEMSGTXT.
*BDC
*Batchinputdataofsingletransaction
DATA:
IT_BDCDATATYPESTANDARDTABLEOFBDCDATA,
WA_BDCDATATYPEBDCDATA,
*messagesofcalltransaction
IT_MESSTABTYPESTANDARDTABLEOFBDCMSGCOLL,
WA_MESSTABTYPEBDCMSGCOLL.
SELECTION-SCREENBEGINOFBLOCKBK01WITHFRAMETITLETEXT-001.
SELECT-OPTIONS:
S_SWERKFORW_SWERK.
SELECTION-SCREENENDOFBLOCKBK01.
*程序初始化
INITIALIZATION.
REFRESH:
IT_GNWZ,IT_SBTZ,IT_BDCDATA,IT_MESSTAB.
CLEAR:
WA_GNWZ,WA_SBTZ.
*程序主处理
START-OF-SELECTION.
*对功能位置临时表进行加锁
CALLFUNCTION'ENQUEUE_EZPMGNWZ'
EXPORTING
MODE_ZPMGNWZ='E'
MANDT=SY-MANDT
EXCEPTIONS
FOREIGN_LOCK=1
SYSTEM_FAILURE=2
OTHERS=3.
IFSY-SUBRC<>0.
MESSAGES000WITH'功能位置临时表ZPMGNWZ加锁失败,请检查!
'.
EXIT.
ENDIF.
*对设备台帐临时表进行加锁
CALLFUNCTIO