SEPCERP试点阶段技术书PMZPMICREATEORDERPMS 接口 工单创建及工单号返回V1.docx
- 文档编号:23672196
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:40
- 大小:522.58KB
SEPCERP试点阶段技术书PMZPMICREATEORDERPMS 接口 工单创建及工单号返回V1.docx
《SEPCERP试点阶段技术书PMZPMICREATEORDERPMS 接口 工单创建及工单号返回V1.docx》由会员分享,可在线阅读,更多相关《SEPCERP试点阶段技术书PMZPMICREATEORDERPMS 接口 工单创建及工单号返回V1.docx(40页珍藏版)》请在冰豆网上搜索。
SEPCERP试点阶段技术书PMZPMICREATEORDERPMS接口工单创建及工单号返回V1
四川省电力公司
企业资源管理(ERP)系统实施项目
技术设计说明书
第一部分:
基本信息
(生成新的版本后,以下内容要相应改动)
开发类型
增强接口单据报表
技术工具
EnhancementUserExitBAdI
DialogInteractivelist
ABAPOOFunctiongroup
RFCBAPIfunctionExecutiveProgram
BDCTableContentsModification
ServerfileLocalfile
SAPScriptSmartformsOutput-onlyList
模块
PM
开发机及集团
D19110
事务代码
程序ID
ZPMI_CREATEORDER
程序名称
工单创建及工单号返回
功能设计者
王宗光
技术设计者
郑扬钱
ABAP程序员
郑扬钱
第二部分:
设计书维护记录
更新日期
更新人员
简要说明
2009-09-17
郑扬钱
新增
第三部分:
技术方案描述
3.1业务需求描述
PMS系统中工作任务单制定完成后,又PMS接口程序通过企业服务总线调用ERP系统的Web服务,并将工单信息传递给ERP系统,ERP系统在接收到工单信息后创建工单,生成ERP系统的工单号并将工单号作为返回参数传递给PMS系统。
3.2技术解决方案
提供Web服务,接收PMS根据企业服务总线(ESB)传递过来的参数文件,根据接收消息创建工单,并根据ERP工单号编码规则生成工单号,同时将生成的工单号作为参数返回。
3.3系统简单架构图
第四部分:
程序逻辑描述—将主要代码功能描述清楚,
参数文件格式为:
xmlversion="1.0"encoding="UTF-8"?
>
--editedwithXMLSpyv2009sp1()byspliky(ibm)-->
--任务单信息来源-->
33:
11
--任务单信息发送时间-->
--任务单编号-->
--ERP工单编号,新建时为空-->
--任务单名称-->
--工作地点工作地点是否即变电站/间隔/线路的功能位置编码-->
--中文工作任务单描述-->
--任务单相关设备信息-->
--设备编码、名称1-->
--设备编码、名称n-->
--中立单位编码-->
--检修工区-->
--中立单位编码-->
--检修班组-->
--中文-->
--工作内容-->
--项目编号-->
--计划开始工作时间-->
--计划结束工作时间-->
--中立单位编码-->
--所属地市-->
--编码,参见附件《工作任务单检修性质编码》-->
ERP返回参数文件格式如下:
xmlversion="1.0"encoding="UTF-8"?
>
--任务单信息来源-->
33:
11
--任务单信息发送时间-->
--ERP工单号--> 第五部分: 源程序----复杂性功能实现可贴主要功能代码部分 ERP接收参数 ERP传出参数 Functionmodule代码部分 FUNCTIONZPMI_CREATEORDER. *"---------------------------------------------------------------------- *"*"Localinterface: *"IMPORTING *"VALUE(IN_PARA)TYPESTRINGOPTIONAL *"EXPORTING *"VALUE(OUT_PARA)TYPESTRING *"---------------------------------------------------------------------- DATA: CL_XML_DOCUMENTTYPEREFTOCL_XML_DOCUMENT, WA_JXBZTYPEZPM_PLANT,"检修班组 WA_JXGQTYPEZPM_PLANT,"检修工区 IT_EQUITYPESTANDARDTABLEOFZPM_SBS_STR,"设备 WA_EQUITYPEZPM_SBS_STR, WA_VEQUITYPEV_EQUI,"设备相关的视图 W_KOSTLTYPECRCO-KOSTL,"成本中心 W_POSID(24)TYPEC,"WBS W_PSPIDTYPEPROJ-PSPID, FLG_WBS (1)TYPEC, FLG_ERR (1)TYPEC, W_OBJNR(22)TYPEC,"对象号 W_SDATE(20)TYPEC,"开始日期 W_EDATE(20)TYPEC,"结束日期 W_TPLNR(30)TYPEC,"功能位置 W_FLG (1)TYPEC,"大修FLG W_TPL(10)TYPEC,"功能位置FLG W_COUNTTYPEI,"BDC消息返回内表行数 W_RETURNTYPEI."输出参数: 1成功,0失败 TABLES: IFLOT. DATA: IT_RESTYPEMATCH_RESULT_TAB, WA_RESLIKELINEOFIT_RES. "数据清空 REFRESH: IT_METHODS,IT_HEADER,IT_HEADERU,IT_OPERATION,IT_TABLE, IT_OPERATIONU,IT_OBJECT,IT_OBJECTU,IT_RETURN,IT_NUMBER. CLEAR: WA_HEADER,WA_JXBZ,WA_JXGQ,WA_EQUI,W_KOSTL,W_POSID,W_OBJNR, W_SDATE,W_EDATE,W_FLG,W_COUNT,W_RETURN,W_LOGNO. *对日志表进行加锁 CALLFUNCTION'ENQUEUE_EZPM_ORDERLOG' EXCEPTIONS FOREIGN_LOCK=1 SYSTEM_FAILURE=2 OTHERS=3. IFSY-SUBRC<>0. DO10TIMES. WAITUPTO1SECONDS. CALLFUNCTION'ENQUEUE_EZPM_ORDERLOG' EXCEPTIONS FOREIGN_LOCK=1 SYSTEM_FAILURE=2 OTHERS=3. IFSY-SUBRC=0. EXIT. ENDIF. ENDDO. ENDIF. *获取当前设备日志表的相关数据 SELECTMAX(ZPM_ORDERLOG~SBSNO) FROMZPM_ORDERLOG INTOW_LOGNO. W_LOGNO=W_LOGNO+1. *传入参数日志记录 WA_ORDLOG-MANDT=SY-MANDT."客户端 WA_ORDLOG-SBSNO=W_LOGNO."操作号 WA_ORDLOG-ODATE=SY-DATUM."日期 WA_ORDLOG-OTIME=SY-UZEIT."时间 WA_ORDLOG-OPERAT='CRE'."操作类型 WA_ORDLOG-STAT=''."处理状态 WA_ORDLOG-INPARA=IN_PARA."PMS工单接口传入参数 "更新传入的参数到日志表中 MODIFYZPM_ORDERLOGFROMWA_ORDLOG. COMMITWORKANDWAIT. "编辑操作日期 CONCATENATESY-DATUM(4) SY-DATUM+4 (2) SY-DATUM+6 (2) INTOW_DATE SEPARATEDBY'-'. WRITESY-UZEITTOW_TIMEUSINGEDITMASK'__: __: __'. CONCATENATEW_DATE W_TIME INTOW_DSTR SEPARATEDBYSPACE. "解析XML文件 CALLFUNCTION'Z_XML2TABLE' EXPORTING INPUT_XML=IN_PARA IMPORTING RETCODE=W_RETURN TABLES I_TABLE=IT_TABLE. "编辑解析出来的数据 LOOPATIT_TABLEINTOWA_TABLE. TRANSLATEWA_TABLE-NAMETOUPPERCASE. TRANSLATEWA_TABLE-VALUETOUPPERCASE. CASEWA_TABLE-NAME. WHEN'RWDMC'. *WA_HEADER-SHORT_TEXT=WA_TABLE-VALUE."描述 WHEN'RWDMS'. WA_HEADER-SHORT_TEXT=WA_TABLE-VALUE."描述 WHEN'GZNR'. WA_OPERATION-DESCRIPTION=WA_TABLE-VALUE."工作内容 WHEN'GZDD'. "生成ERP里面的功能位置 PERFORMFRM_MAKE_FUNCUSINGWA_TABLE-VALUE CHANGINGW_TPLNR. SELECTSINGLE*FROMIFLOT WHERETPLNR=W_TPLNR. IFSY-SUBRC<>0. W_TPL='X'. ENDIF. WHEN'CODE'."设备 CONDENSE: WA_TABLE-VALUE. WA_EQUI-CODE=WA_TABLE-VALUE. IFWA_EQUI-CODEISNOTINITIAL. APPENDWA_EQUITOIT_EQUI. ENDIF. WHEN'NAME'. WA_EQUI-NAME=WA_TABLE-VALUE. WHEN'JXGQ'. "查找检修工区对应的ERP维护信息 SELECTSINGLE* INTOWA_JXGQ FROMZPM_PLANT WHEREWHBZ=WA_TABLE-VALUE. IFSY-SUBRC=0. WA_HEADER-PLANPLANT=WA_JXGQ-PLANPLANT."维护计划工厂 WA_HEADER-MAINTPLANT=WA_JXGQ-SWERK."维护工厂 *WA_HEADER-MN_WK_CTR=WA_JXGQ-ARBPL."工作中心 ELSE. FLG_ERR='X'. CONCATENATE'检修工区' WA_TABLE-VALUE '所对应的维护计划工厂在ERP系统里面没有维护' INTOWA_AUFNR-RESULTHINT. WA_ORDLOG-ISSUCCESSFUL='否'. WA_AUFNR-ISSUCCESSFUL='否'. ENDIF. WHEN'JXBZ'. "查找检修班组所对应的ERP维护信息 SELECTSINGLE* FROMZPM_PLANT INTOWA_JXBZ WHEREWHBZ=WA_TABLE-VALUE. IFSY-SUBRC=0. *WA_HEADER-PLANPLANT=WA_JXBZ-PLANPLANT."维护计划工厂 *WA_HEADER-MAINTPLANT=WA_JXBZ-SWERK."维护工厂 WA_HEADER-MN_WK_CTR=WA_JXBZ-ARBPL."工作中心 ELSE. FLG_ERR='X'. CONCATENATE'检修班组' WA_TABLE-VALUE '所对应的工作中心在ERP系统里面没有维护' INTOWA_AUFNR-RESULTHINT. WA_ORDLOG-ISSUCCESSFUL='否'. WA_AUFNR-ISSUCCESSFUL='否'. ENDIF. WA_HEADER-PMACTTYPE=WA_TABLE-VALUE."PM作业类型 WHEN'JHKSGZSJ'."检修开始时间 CONCATENATE: WA_TABLE-VALUE(4) WA_TABLE-VALUE+5 (2) WA_TABLE-VALUE+8 (2) INTOW_SDATE. WA_HEADER-START_DATE=W_SDATE."计划开始工作时间 CLEAR: W_SDATE. WHEN'JHJSGZSJ'."检修结束时间 CONCATENATE: WA_TABLE-VALUE(4) WA_TABLE-VALUE+5 (2) WA_TABLE-VALUE+8 (2) INTOW_SDATE. WA_HEADER-FINISH_DATE=W_SDATE."计划结束工作时间 CLEAR: W_SDATE. WHEN'JXXZ'."检修性质 "根据映射关系表,查找ERP检修性质 SELECTSINGLEAUART FROMZPM_AUART INTOW_AUART WHEREJXXZ=WA_TABLE-VALUE. IFSY-SUBRC=0. WA_HEADER-ORDER_TYPE=W_AUART."检修性质即工作类型 ENDIF. WA_HEADER-PMACTTYPE=WA_TABLE-VALUE."维护作业类型 WHEN'XMBH'."项目编号(WBS) CONDENSEWA_TABLE-VALUE. IFWA_TABLE-VALUEISNOTINITIAL. W_POSID=WA_TABLE-VALUE. SELECTSINGLEPSPID INTOW_PSPID FROMPROJ WHEREPSPID=WA_TABLE-VALUE. IFSY-SUBRC=0. "WBS外内码转换 CALLFUNCTION'CONVERSION_EXIT_ABPSP_INPUT' EXPORTING INPUT=W_POSID IMPORTING OUTPUT=WA_HEADER-WBS_ELEM"WBS内码 EXCEPTIONS NOT_FOUND=1 OTHERS=2. ELSE. FLG_WBS='X'. ENDIF. ENDIF. WHENOTHERS. ENDCASE. ENDLOOP. IFWA_HEADER-SHORT_TEXTISINITIAL. READTABLEIT_TABLEINTOWA_TABLE WITHKEYNAME='RWDMC'. IFSY-SUBRC=0. WA_HEADER-SHORT_TEXT=WA_TABLE-VALUE."描述 ENDIF. ENDIF. "大修项目必须得填WBS IFW_AUART='ZP02'ORW_AUART='ZP0B'."大修项目 IFW_POSIDISINITIAL. W_FLG='X'. ENDIF. ENDIF. IFFLG_ERRISINITIAL. IFFLG_WBSISINITIAL. IFIT_EQUIISNOTINITIALORW_TPL<>'X'. IFW_FLGISINITIAL."不属于大修项目 "填入需要维护的设备信息 LOOPATIT_EQUIINTOWA_EQUI. CASESY-TABIX. WHEN1. WA_HEADER-EQUIPMENT=WA_EQUI-CODE. "如果检修工区和设备本身的维护工厂不一致的话,计划工厂取设备的检修工区, "而维护中心(工作中心)取检修班组,成本中心取工作中心里面所对应的成本中心。 SELECTSINGLE* FROMV_EQUI INTOWA_VEQUI WHEREEQUNR=WA_EQUI-CODE ANDDATBI='99991231'. IFWA_VEQUI-SWERK<>WA_JXGQ-SWERK. WA_HEADER-PLANPLANT=WA_JXGQ-SWERK."维护计划工厂 WA_HEADER-MAINTPLANT=WA_JXGQ-SWERK."维护工厂 WA_HEADER-MN_WK_CTR=WA_JXBZ-ARBPL."工作中心 IFWA_JXBZ-ARBPLISNOTINITIAL. CLEAR: W_KOSTL."取工作中心所对应的成本中心 SELECTSINGLECRCO~KOSTL INTOW_KOSTL FROMCRCO INNERJOINCRHD ONCRCO~OBJID=CRHD~OBJID WHERECRHD~ARBPL=WA_JXBZ-ARBPL. WA_HEADER-COSTCENTER=W_KOSTL."成本中心 ENDIF. ENDIF. WHENOTHERS."多个设备的情况下 WA_OBJECT-COUNTER=WA_OBJECT-COUNTER+1."对象 WA_OBJECT-EQUIPMENT=WA_EQUI-CODE. APPENDWA_OBJECTTOIT_OBJECT. WA_OBJECTU-SORTFIELD='X'. WA_OBJECTU-PROCESSING_IND='X'. APPENDWA_OBJECTUTOIT_OBJECTU. WA_METHODS-REFNUMBER=WA_METHODS-REFNUMBER+1. WA_METHODS-OBJECTTYPE='OBJECTLIST'. WA_METHODS-METHOD='CREATE'. WA_METHODS-OBJECTKEY='%00000000001'. APPENDWA_METHODSTOIT_METHODS. ENDCASE. ENDLOOP. WA_HEADER-ORDERID='%00000000001'."订单号 IFWA_HEADER-EQUIPMENTISINITIAL. WA_HEADER-FUNCT_LOC=W_TPLNR. ENDIF. "编辑需要维护的设备 APPENDWA_HEADERTOIT_HEADER. "表头所需要更新的字段 CLEAR: WA_HEADERU. WA_HEADERU-ORDERID='%00000000001'."订单号 WA_HEADERU-START_DATE='X'. WA_HEADERU-FINISH_DATE='X'. WA_HEADERU-SHORT_TEXT='X'. WA_HEADERU-MAINTPLANT='X'. WA_HEADERU-MN_WK_CTR='X'. WA_HEADERU-EQUIPMENT='X'. WA_HEADERU-FUNCT_LOC='X'. WA_HEADERU-PMACTTYPE='X'. IFWA_HEADER-WBS_ELEMISNOTINITIAL. WA_HEADERU-WBS_ELEM='X'. ENDIF. APPENDWA_HEADERUTOIT_HEADERU. "BAPI结构: 处理方法 CLEAR: WA_METHODS. W_NO=W_NO+1. WA_METHODS-REFNUMBER=W_NO. WA_METHODS-OBJECTTYPE='HEADER'. WA_METHODS-METHOD='CREATE'. WA_METHODS-OBJECTKEY='%00000000001'. APPENDWA_METHODSTOIT_METHODS. "工序 WA_OPERATION-ACTIVITY='0010'. WA_OPERATION-C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SEPCERP试点阶段技术书PMZPMICREATEORDERPMS 接口 工单创建及工单号返回V1 SEPCERP 试点 阶段 技术 PMZPMICREATEORDERPMS 创建 单号 返回 V1
链接地址:https://www.bdocx.com/doc/23672196.html