首页> 中国专利> 一种基于SAP平台的不同结构类型参数转换方法

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

摘要

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

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-02-22

    授权

    授权

  • 2014-10-08

    专利申请权的转移 IPC(主分类):G06F9/44 变更前: 变更后: 登记生效日:20140912 申请日:20140410

    专利申请权、专利权的转移

  • 2014-08-06

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20140410

    实质审查的生效

  • 2014-07-09

    公开

    公开

说明书

技术领域

本发明涉及一种参数转换方法,具体说是一种基于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.对应表格类型变量,获取到每个字段信息之后,针对来源和目的参数都需 要拆分到字段层级来对应,通过字段名对应,转换步骤同基本类型变量操 作。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号