云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

专属服务器_odbc数据库_试用

小七 141 0

专属服务器_odbc数据库_试用

ABAP测试驾驶舱(ATC)可以很容易地配置为检查发布的每个传输请求。

但是如果您使用传输副本导入质量/测试系统(例如,如果您使用SAP ChaRM进行传输管理),标准中不可能在从开发系统传输到质量/测试系统时自动执行ATC检查。

另一方面,在不同的地方,例如Randolf Eilenberger的SAP代码检查器手册等,企业管理软件开发,它描述了如何为每个传输任务发布触发代码检查器测试。

我还没有找到描述如何在传输任务发布时自动调用ATC。

如果这是您在开发系统中想要的,在BAdI CTS\u REQUEST\u CHECK的一个实现中,您只需要实现一个方法:

method if\u ex\u CTS\u REQUEST\u CHECK ~ CHECK\u before\u release.

DATA is \u ok TYPE abap\u bool VALUE abap\u true.

选择SINGLE trfunction,strkorr FROM e070,其中trkorr=@REQUEST

INTO(@DATA(trfunction),@数据(strkorr)).

ASSERT sy–subrc=0.

"仅处理运输任务的发布,

"不处理运输请求,

"仅处理客户代码(不包括维修,未自定义)。

检查strkorr不是初始值,trfunction='S'。

尝试

数据(或工厂)=新的cl\u satc\u api\u工厂()。

数据(it对象)=cl\u satc\u object\u set\u工厂=>为传输创建\u(请求

)->如果

satc\u object\u set ~获取\u object\u keys()。

数据(或对象)=cl\u satc\u object\u set\u工厂=>为\u object\u keys(it对象)创建\u).

数据(或_变量)=新的cl_satc_ci_check_变量()。

或_变量->设置_名称('Z_标准')。"替换为检查变量

数据(或_run_config)=或_工厂->使用_chk_变量创建_run_配置(导出i_object_set=或_objects

i_check_variant=或_变量

i_描述=|传输释放{请求}|).

数据(或\u运行\u控制器)=或\u工厂->创建\u运行\u控制器(或\u运行\u配置)。

或\u运行\u控制器->运行(导入e \u结果\u访问=数据(或\u结果\u访问))。

或\u结果\u访问->获取\u结果(导入e \u结果=数据(it \u f))。

在指定字段符号()时循环,其中(kind='e'或kind='W')"错误/警告

和"P"除外伪注释和pragmas

is\u ok=abap\u false.

EXIT.

ENDLOOP.

CATCH cx\u satc\u failure cx\u satc\u not\u found INTO DATA(cx).

DATA(exc\u text)=cx->get\u text().

MESSAGE exc\u text TYPE'E'。

is\u ok=abap\u false.

CATCH cx\u satc\u empty\u object\u set cx\u satc\u invalid\u argument INTO cx."确定,如果传输为空或只包含不可检查的对象

ENDTRY.

if is \u ok=abap \u true.

MESSAGE s007(zs \u dev \u tools \u local)。"成功消息–创建您自己的消息

ELSE.

MESSAGE s008(zs \u dev \u tools \u local)。"失败消息–创建您自己的消息

"我们只获取具有此"脏"的执行ID"cast:

数据(或结果访问量)=cast cl\u satc\u result\u access(或结果访问量)。

调用函数'satc\u AC\u displat\u result\u BY \u EXEC'

导出执行量\u id=或结果访问量\u int->if \u satc\u result\u access ~ result\u id

异常

xpt\u no\u results=1

xpt\u not\u authorized=2

xpt\u display\u used=3

其他=4.

ASSERT sy–subrc=0.

RAISE cancel.

ENDIF.

ENDMETHOD.

(此编码使用了一些新的7.40 SP08语言特性,移动物联网卡,因此您可能需要对其进行调整。)

基本上就是这样。

我注意到,包含程序的ATC方法在单独传输时不会进行测试,因为我只调用测试帧程序(type)的ATC方法1报告、类、功能组)。我没有找到一个简单的方法来克服这个问题,云服务器和服务器,使用标准的ATC框架函数,所以我在一个本地类中用以下方法编程:

类方法:

丰富主程序

如果|satc\u object\u set=>ty\u object\u keys,则更改c\u it \u keys类型,

is\u include\u program

IMPORTING i\u object TYPE if\u satc\u object\u set=>ty\u object\u key

RETURNING VALUE(r\u is\u include\u program)TYPE abap\u bool,如何做淘客,

get\u main\u programs\u for\u include

IMPORTING i\u object TYPE if\u satc\u object\u set=>ty\u object\u key

RETURNING VALUE(r\u it)TYPE if\u satc\u object\u set=>ty\u object\u key,

是否包含主程序

导入

返回值(r)类型abap\u bool,

方法丰富主程序。

在c\U it\u键处循环分配字段符号()。

如果是包含主程序()。

数据(it\u main\u程序)=获取包含主程序()。

如果it\u main\u程序不是初始的

并且不包含主程序(导出i\u it\u mainprogs=it\u main\u程序

i\u it\u current\u keys=c\u it\u键)。

插入it_main_programs[1]进入表c_it_key.

ENDIF.

ENDIF.

ENDLOOP.

ENDMETHOD.

METHOD是_include_program.

r_是_include_program=abap#false.

CHECK i_object–obj_type='PROG'。

从reposrc中选择单个subc,其中progname=@i_object–obj_name和subc='i'

进入@DATA(subc)###warn#ok#####需要。

IF sy–subrc=0.

r_is_include_program=abap_true.

ENDIF.

ENDMETHOD.

METHOD get_main_programs_for_include.

DATA it_mainprogs LIKE i_object的标准表–obj_name.

DATA wa LIKE r_it的行。

CLEAR_it如果没有主程序,return initial

CALL FUNCTION'RS\u GET\u MAINPROGRAMS'

EXPORTING

name=i\u object–obj\u name

TABLES

MAINPROGRAMS=it\u mainprogs

EXCEPTIONS

cancelled=1

OTHERS=2.

ASSERT sy–subrc=0.

wa–obj\u type='PROG.

循环在it\u mainprogs分配字段符号().

wa–obj\u name=

将wa插入表r\u it.

ENDLOOP.

ENDMETHOD.

包含方法主程序

r=abap\u false.

在i\u it\u mainprogs处循环分配字段符号()。

读取表i\u it\u当前键,键obj\u type=-obj\u type obj\u name=-obj\u name

不传输字段

如果sy–subrc=0.

r=abap_true.

RETURN.

ENDIF.

ENDLOOP.

ENDMETHOD.

现在,需要调用enrich_main_programs()在创建它的语句之后更改它的对象。

Edit 25.04.2016:添加了cx_satc_invalid_参数的异常处理。

您好,感谢您的文档。此BADI实施将有助于处理任务级ATC检查。请您帮助我了解以下情况。

如果同一程序存在于两个不同的任务中,在第一个任务发布期间,一些错误得到QA审查员的批准。

因此,这些错误是否会在第二个任务发布期间重复??

任务和各自的运输编号发布后。再次修改了相同的程序。在此任务发布时间内,是否会再次考虑以前批准的错误?

您好,Rayudu,

这是标准的ATC功能:已授予豁免("批准")的调查结果将不会在将来出现。

,淘客帝国