CN103914304A - 一种基于sap平台的不同结构类型参数转换方法 - Google Patents

一种基于sap平台的不同结构类型参数转换方法 Download PDF

Info

Publication number
CN103914304A
CN103914304A CN201410142491.3A CN201410142491A CN103914304A CN 103914304 A CN103914304 A CN 103914304A CN 201410142491 A CN201410142491 A CN 201410142491A CN 103914304 A CN103914304 A CN 103914304A
Authority
CN
China
Prior art keywords
parameter
type
variable
sap
assignment
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201410142491.3A
Other languages
English (en)
Other versions
CN103914304B (zh
Inventor
费建法
王成现
李林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
Jiangsu Electric Power Information Technology Co Ltd
Information and Telecommunication Branch of State Grid Jiangsu Electric Power Co Ltd
Original Assignee
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
Jiangsu Electric Power Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Jiangsu Electric Power Co Ltd, Jiangsu Electric Power Information Technology Co Ltd filed Critical State Grid Corp of China SGCC
Priority to CN201410142491.3A priority Critical patent/CN103914304B/zh
Publication of CN103914304A publication Critical patent/CN103914304A/zh
Application granted granted Critical
Publication of CN103914304B publication Critical patent/CN103914304B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)

Abstract

本发明公开了一种基于SAP平台的不同结构类型参数转换方法,该方法通过指针地址的方式来转移参数值,再根据实际参数类型的需要动态创建传入参数类型,将指针地址中存放的值赋值到该参数中,实现不同参数类型的转换。采用本发明不再利用中间变量来做转换操作,工作量小、工作效率高、准确率高。

Description

一种基于SAP平台的不同结构类型参数转换方法
技术领域
本发明涉及一种参数转换方法,具体说是一种基于SAP平台的不同结构类型参数转换方法。
背景技术
在SAP平台下,功能的执行过程中如果发生用户人为的参数维护错误导致参数类型不能匹配,此时SAP会直接DUMP处理,特别是在调用函数Function时,参数类型或者值不对,会直接导致程序DUMP,错误内容就是类型不匹配,SAP标准的解决方法用TryCatch语句进行捕获给用户提示来解决问题,但实际情况有时需要对其赋值,例如往一个字符类型的参数中输入一个数值,这种情况应该是允许的,但如果是个函数接口,这将导致参数类型不匹配而实现不了,需要开发人员修改代码来兼容这种情况,利用一个和函数相同类型的参数来转接一下,把数值参数赋值给字符类型变量,再将字符变量传入函数中,在每个特殊的需求地方都需要这么去处理,没有一个统一的方式来做,导致工作量大、工作效率低、错误率高。
发明内容
本发明的目的是提供一种基于SAP平台的不同结构类型参数转换方法,该方法针对SAP平台中的测试脚本,实现不同参数类型间在可通用的数据值的情况下可实现赋值,以达到自动的参数类型识别和赋值,实现不同参数类型的转换。
本发明的目的通过以下技术方案实现:
一种基于SAP平台的不同结构类型参数转换方法,其特征在于:该方法通过指针地址的方式来转移参数值,再根据实际参数类型的需要动态创建传入参数类型,将指针地址中存放的值赋值到该参数中,实现不同参数类型的转换;具体步骤如下:
1)判断参数类型为基本类型变量,还是Structure变量或Table变量;若是Structure变量或Table变量,利用SAP系统平台提供的类cl_abap_tabledescr及cl_abap_structdescr来获取类型的字段信息,利用cl_abap_typedescr=>describe_by_data方法获取结构的类型信息及字段信息;
2)定义任意类型的指针变量,用于存储来源参数的值;
3)通过上述获取的来源参数信息得到目的参数的类型信息,利用DATA对象参照目的参数类型动态创建参数;
4)将指针记录的参数值赋值给DATA对象中,并用TryCatch语句进行异常捕获,若发生异常,则说明值无法赋值到目的参数中,将不做赋值动作,若不发生异常,则可以正常赋值,将值赋值到DATA对象中,实现类型不匹配的参数值传递;
5)对应表格类型变量,获取到每个字段信息之后,针对来源和目的参数都拆分到字段层级来对应,通过字段名对应,实现不同参数类型的转换。
本发明中,参考语句:CREATEDATA、变量TYPE为目的参数类型。
本发明中,类型转换包含两种,一种是基本类型的变量,包含的类型有:C、N、D、T、P、F这几种SAP中的基本类型;另一种是SAP所有的复杂结构类型,有Structure变量和Table变量,对于基本类型变量,采用上述的指针结合动态创建类型参数方法来实现,对于复杂结构,需要对Structure变量及Table变量的每行每个字段采用上述基本类型变量的方法来实现类型的转换,按照结构中的字段名进行匹配。
本方法应用在SAP平台中,不再利用中间变量来做转换操作,而是通过指针地址的方式来转移参数值,再根据实际参数类型的需要动态创建传入参数类型,将指针地址中存放的值赋值到该参数中,实现不同参数类型的转换,工作量小、工作效率高、准确率高。
附图说明
图1是不同类型参数适配器实现流程图。
具体实施方式
本发明中相关技术术语的名词解释如下:
DUMP:SAP平台中程序发生错误无法正常执行下去;Structure:SAP平台中结构化的参数类型,同一维数组;Table:SAP平台中结构化的参数类型,同二维数组,每一行是一个Structure类型参数。
一种基于SAP平台的不同结构类型参数转换方法,该方法通过指针地址的方式来转移参数值,再根据实际参数类型的需要动态创建传入参数类型,将指针地址中存放的值赋值到该参数中,实现不同参数类型的转换;具体步骤如下:
1.判断参数类型为基本类型变量,还是Structure变量或Table变量。
2.若是Structure变量或Table变量,需利用SAP系统平台提供的类cl_abap_tabledescr及cl_abap_structdescr来获取类型的字段信息,利用cl_abap_typedescr=>describe_by_data方法获取结构的类型信息及字段信息。
3.定义任意类型的指针变量,用于存储来源参数的值。
4.通过上述获取的来源参数信息得到目的参数的类型信息,利用DATA对象参照目的参数类型动态创建参数,参考语句:CREATEDATA变量TYPE(目的参数类型)。
5.将指针记录的参数值赋值给DATA对象中,并用TryCatch语句进行异常捕获,若发生异常,则说明值无法赋值到目的参数中,将不做赋值动作,若不发生异常,则可以正常赋值,将值赋值到DATA对象中,实现类型不匹配的参数值传递
6.对应表格类型变量,获取到每个字段信息之后,针对来源和目的参数都需要拆分到字段层级来对应,通过字段名对应,转换步骤同基本类型变量操作。

Claims (3)

1.一种基于SAP平台的不同结构类型参数转换方法,其特征在于:该方法通过指针地址的方式来转移参数值,再根据实际参数类型的需要动态创建传入参数类型,将指针地址中存放的值赋值到该参数中,实现不同参数类型的转换;具体步骤如下:
1)判断参数类型为基本类型变量,还是Structure变量或Table变量;若是Structure变量或Table变量,利用SAP系统平台提供的类cl_abap_tabledescr及cl_abap_structdescr来获取类型的字段信息,利用cl_abap_typedescr=>describe_by_data方法获取结构的类型信息及字段信息;
定义任意类型的指针变量,用于存储来源参数的值;
3)通过上述获取的来源参数信息得到目的参数的类型信息,利用DATA对象参照目的参数类型动态创建参数;
4)将指针记录的参数值赋值给DATA对象中,并用Try Catch语句进行异常捕获,若发生异常,则说明值无法赋值到目的参数中,将不做赋值动作,若不发生异常,则可以正常赋值,将值赋值到DATA对象中,实现类型不匹配的参数值传递;
5)对应表格类型变量,获取到每个字段信息之后,针对来源和目的参数都拆分到字段层级来对应,通过字段名对应,实现不同参数类型的转换。
2.根据权利要求1所述的基于SAP平台的不同结构类型参数转换方法,其特征在于:步骤3)中,参考语句:CREATE DATA 、变量 TYPE 为目的参数类型。
3.根据权利要求1所述的基于SAP平台的不同结构类型参数转换方法,其特征在于:步骤1)中,基本类型的变量包含的类型有:C、N、D、T、P、F这几种SAP中的基本类型。
CN201410142491.3A 2014-04-10 2014-04-10 一种基于sap平台的不同结构类型参数转换方法 Active CN103914304B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410142491.3A CN103914304B (zh) 2014-04-10 2014-04-10 一种基于sap平台的不同结构类型参数转换方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410142491.3A CN103914304B (zh) 2014-04-10 2014-04-10 一种基于sap平台的不同结构类型参数转换方法

Publications (2)

Publication Number Publication Date
CN103914304A true CN103914304A (zh) 2014-07-09
CN103914304B CN103914304B (zh) 2017-02-22

Family

ID=51040009

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410142491.3A Active CN103914304B (zh) 2014-04-10 2014-04-10 一种基于sap平台的不同结构类型参数转换方法

Country Status (1)

Country Link
CN (1) CN103914304B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106293764A (zh) * 2016-08-22 2017-01-04 江苏电力信息技术有限公司 一种通过abap语法解析获取引用自定义对象的方法
CN106325968A (zh) * 2016-08-19 2017-01-11 江苏电力信息技术有限公司 一种分析sap开发对象类型之间关联关系的方法
CN108932123A (zh) * 2018-06-21 2018-12-04 北京奇虎科技有限公司 参数处理方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271548A1 (en) * 1999-03-02 2007-11-22 Business Objects Data Integration Specification to abap code converter
US20080306976A1 (en) * 2007-06-05 2008-12-11 International Business Machines Corporation Process for dynamic table conversion
CN101551773A (zh) * 2009-03-12 2009-10-07 南京大学 符号错误和赋值截断的二进制漏洞检测定位装置
CN101952805A (zh) * 2008-02-25 2011-01-19 微软公司 有效地关联名义上不兼容的类型
US20110320876A1 (en) * 2010-06-23 2011-12-29 Udo Klein Systems and methods for processing source code during debugging operations
CN102804147A (zh) * 2010-03-29 2012-11-28 株式会社软4软 执行abap源代码的代码检查的代码检查执行系统
CN103034499A (zh) * 2012-12-13 2013-04-10 中国航空无线电电子研究所 机载设备网络数据传输通用的数据格式转换方法及其系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070271548A1 (en) * 1999-03-02 2007-11-22 Business Objects Data Integration Specification to abap code converter
US20080306976A1 (en) * 2007-06-05 2008-12-11 International Business Machines Corporation Process for dynamic table conversion
CN101952805A (zh) * 2008-02-25 2011-01-19 微软公司 有效地关联名义上不兼容的类型
CN101551773A (zh) * 2009-03-12 2009-10-07 南京大学 符号错误和赋值截断的二进制漏洞检测定位装置
CN102804147A (zh) * 2010-03-29 2012-11-28 株式会社软4软 执行abap源代码的代码检查的代码检查执行系统
US20110320876A1 (en) * 2010-06-23 2011-12-29 Udo Klein Systems and methods for processing source code during debugging operations
CN103034499A (zh) * 2012-12-13 2013-04-10 中国航空无线电电子研究所 机载设备网络数据传输通用的数据格式转换方法及其系统

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106325968A (zh) * 2016-08-19 2017-01-11 江苏电力信息技术有限公司 一种分析sap开发对象类型之间关联关系的方法
CN106325968B (zh) * 2016-08-19 2019-03-08 江苏电力信息技术有限公司 一种分析sap开发对象类型之间关联关系的方法
CN106293764A (zh) * 2016-08-22 2017-01-04 江苏电力信息技术有限公司 一种通过abap语法解析获取引用自定义对象的方法
CN106293764B (zh) * 2016-08-22 2019-05-07 江苏电力信息技术有限公司 一种通过abap语法解析获取引用自定义对象的方法
CN108932123A (zh) * 2018-06-21 2018-12-04 北京奇虎科技有限公司 参数处理方法和装置
CN108932123B (zh) * 2018-06-21 2022-03-11 北京奇虎科技有限公司 参数处理方法和装置

Also Published As

Publication number Publication date
CN103914304B (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
US10754869B2 (en) Managing data format of data received from devices in an internet of things network
CN109388566A (zh) 一种代码覆盖率分析方法、装置、设备及存储介质
CN104081338A (zh) 在运行时间映射应用依赖性
CN104102734B (zh) 数据展示方法及系统
CN112363695B (zh) Pmml文件及其运行时环境与工业软件的集成方法
CN109241026B (zh) 数据管理的方法、装置及系统
CN104881343A (zh) 一种测试方法和测试系统
CN109871289A (zh) 一种远程过程调用rpc服务生成方法及装置
CN103345386A (zh) 一种软件生产方法、装置及运行系统
CN110955715A (zh) Erp系统和目标平台的数据转换方法、装置以及电子设备
CN104536819A (zh) 基于web服务的任务调度方法
CN105005543A (zh) 一种接口生成装置及方法
CN105868196A (zh) 一种服务器端工业数据报表生成方法
CN106301892A (zh) 基于Apache Ambari的Hue服务部署及配置和监控办法
CN111158800B (zh) 基于映射关系构建任务dag的方法及装置
CN109976823A (zh) 一种应用程序启动方法、装置及终端设备
CN110633959A (zh) 基于图结构的审批任务创建方法、装置、设备及介质
CN103399735A (zh) 远程函数调用接口中间层开发方法
CN103914304A (zh) 一种基于sap平台的不同结构类型参数转换方法
CN115794106A (zh) 一种轨道交通二进制协议数据配置式解析的方法及系统
CN108681446B8 (zh) 基于组件服务的众创性气候算法管理系统及方法
CN103942140A (zh) 一种测试程序自动转换方法
CN102402455A (zh) 调用动态链接库的方法和装置
CN103186384A (zh) 一种面向业务组件的软件设计分析系统及其使用方法
CN105320604A (zh) 一种自动化测试系统及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: JIANGSU ELECTRIC POWER COMPANY JIANGSU ELECTRIC PO

Free format text: FORMER OWNER: JIANGSU ELECTRIC POWER COMPANY JIANGSU ELECTRIC POWER INFORMATION TECHNOLOGY CO., LTD.

Effective date: 20140912

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20140912

Address after: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Applicant after: State Grid Corporation of China

Applicant after: Jiangsu Electric Power Company

Applicant after: Jiangsu Electric Power Information Technology Co., Ltd.

Applicant after: Information & Telecommunication Branch of State Grid Jiangsu Electric Power Company

Address before: 100031 Xicheng District West Chang'an Avenue, No. 86, Beijing

Applicant before: State Grid Corporation of China

Applicant before: Jiangsu Electric Power Company

Applicant before: Jiangsu Electric Power Information Technology Co., Ltd.

C14 Grant of patent or utility model
GR01 Patent grant