2020-08-13 10:54发布
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,
有人可以建议一种大规模关闭采购申请的方法吗?
致谢
Vijay,你好
如果您使用的是更高版本的SAP(4.6版以上),则需要使用eCATT脚本。
下面是创建eCATT脚本的过程:
第1步:创建eCATT测试脚本
1)创建一个新脚本(Transaction-SECATT)
a。 输入测试脚本名称(Z_PR_Closure)
b。 选中u201CTest Scriptu201D单选按钮
c。 选择u2018create objectu2019按钮
2)常规数据标签
a。 在以下字段中输入信息:职务,负责人,组件和系统数据容器。
b。 点击u2018editoru2019标签。
3)编辑器标签u2013录制脚本
a。 点击u2018Patternu2019
b。 在命令字段中输入u2018TCD(Record)u2019。
c。 在交易字段(ME52N)中输入要记录的第一个交易代码。
e。 记录一次交易的过程(输入PR编号并检查"已结束"指示符)。 完成后,单击u2018yesu2019将数据传输到脚本。
4)建立参数
注意:这些参数将用于输入数据或设置默认值。
a。 双击录制的命令界面。 (#1)
b。 双击u2018DYNPROu2019文件夹。 (上面的#2)
c。 点击u2018屏幕模拟器u2019图标(上方#3)
5)参数参考
a。 在每个参数的u2018parameter referenceu2019字段中输入ABAP对象(数据元素)。 点击回车将输入该项目。 注意:如果没有相应的参考字段,则可以设置长度或不设置长度
b。 输入所有参数引用后,保存脚本。
使用execute测试脚本。
希望有帮助。
此致
嗨Ninad,
您可以提供一些有关如何运行这些CATT脚本的详细信息吗?
创建要关闭的LSMW。
对于MEMASSRQ,您还需要PR和订单项。
Anand。
测试大量tcode可能无法正常工作。只需将以下代码粘贴到se38中并制作一个新程序即可。
第一个单选按钮关闭。
第二个要删除。
享受。
报告zpr_status_delete。表eban。选择框b的开始屏幕,带有框架标题文本001。选择选项so_banfn用于eban-banfn义务。 SELECT- 选项so_bnfpo适用于eban-bnfpo。参数p_rad2 RADIOBUTTON GROUP rb。参数p_rad1 RADIOBUTTON GROUP rb。选择屏幕结束处b。 在选择屏幕上。 从ban中选择COUNT(*),在ban_fn的so_banfn和bnfpo的so_bnfpo的地方。如果sy-subrc不是初始的。消息'PR无效'类型'E'。 ENDIF。 < br> START-OF-SELECTION。从ban中选择banfn,bnfpo到表@DATA(t_eban)在哪里banfn IN @so_banfn和bnfpo IN @so_bnfpo按banfn,bnfpo进行排序。 DATA bapieband类型表bapieband。数据bapireturn类型表bapireturn。数据s_bapieband类型bapieband。数据返回类型bapiret2。 类型:开始状态_status, banfn类型banfn类型 , bnfpo类型bnfpo,统计类型bapi_msg,状态末尾。 数据:t_status类型标准 _status表, s_status类型_status。 DATA(t_eban_01)= t_eban []。 LOOP AT t_eban INTO DATA(s_eban)。 s_bapieband-preq_item = s_eban- bnfpo。 如果p_rad1不初始。 s_bapieband-delete_ind = abap_true。 DATA(消息)='已删除'。 ELSE。 s_bapieband-closed = abap_true。< br> message ='Closed'。 ENDIF。附加s_bapieband到bapieband。 banfn结束。通话功能'BAPI_REQUISITION_DELETE'导出编号= s_eban -banfn 表格 requisition_items_to_delete = bapieband return = bapireturn。 如果sy-subrc是INITIAL。 通话功能'BAPI_TRANSACTION_COMMIT'导入 return = return。 ENDIF。 在t_eban_01处将数据放入环(s_eban_01)中。banfn = s_eban-banfn。 TRY。 DATA(s_ret)= bapireturn [sy- tabix]。 DATA(ret_message)= s_ret-message。捕获cx_sy_itab_line_not_found。 ENDTRY。 s_status = VALUE#(banfn = s_eban_01-banfn <-> bnfpo = s_eb fpo 统计信息= ret_message)。 附加s_status至t_status。 清除:s_status,s_eban。 ENDLOOP。 免费bapieband。免费bapireturn。 ENDAT。 ENDLOOP。 检查t_status是否是初始状态。 > 尝试。调用方法cl_salv_table =>工厂导入 r_salv_table = DATA(o_alv)更改 t_table = t_status。 捕获cx_salv_msg。 > ENDTRY。 数据:ls_key类型salv_s_layout_key, lo_layout类型参考cl_salv_layout, lo_functions类型参考cl_salv_functions_list, lo_display类型参考cl_salv_display_sets, , lo_col_tab类型参考cl_salv_column_table。 ls_key-report = sy-repid。 *->获取列对象 lo_cols_tab = o_alv-> get_columns()。< br> *->设置列优化。 lo_cols_tab-> set_optimize(abap_true)。 *->获取默认工具栏图标 lo_functions = o_alv-> get_functions()。< br> lo_functions-> set_all(abap_true)。 *->获取布局对象 lo_layout = o_alv-> get_layout()。 < br> *->允许保存布局 lo_layout-> set_save_restriction(if_salv_c_layout => restrict_none)。 lo_layout-> set_key(ls_key)。 *->允许默认布局检查框 lo_layout-> set_default(abap_true)。 *->显示zbera模式 lo_display = o_alv-> get_display_settings()。 lo_display-> set_striped_pattern('X')。 o_alv-> display()。
最多设置5个标签!
Vijay,你好
如果您使用的是更高版本的SAP(4.6版以上),则需要使用eCATT脚本。
下面是创建eCATT脚本的过程:
第1步:创建eCATT测试脚本
1)创建一个新脚本(Transaction-SECATT)
a。 输入测试脚本名称(Z_PR_Closure)
b。 选中u201CTest Scriptu201D单选按钮
c。 选择u2018create objectu2019按钮
2)常规数据标签
a。 在以下字段中输入信息:职务,负责人,组件和系统数据容器。
b。 点击u2018editoru2019标签。
3)编辑器标签u2013录制脚本
a。 点击u2018Patternu2019
b。 在命令字段中输入u2018TCD(Record)u2019。
c。 在交易字段(ME52N)中输入要记录的第一个交易代码。
d。 按两次u2018enteru2019。 这将开始记录过程。e。 记录一次交易的过程(输入PR编号并检查"已结束"指示符)。 完成后,单击u2018yesu2019将数据传输到脚本。
4)建立参数
注意:这些参数将用于输入数据或设置默认值。
a。 双击录制的命令界面。 (#1)
b。 双击u2018DYNPROu2019文件夹。 (上面的#2)
c。 点击u2018屏幕模拟器u2019图标(上方#3)
d。 双击/在每个参数字段中。 接下来,清空u2018field的内容,并为记录中的每个参数(对于要输入的数据字段)输入一个参数名称。 如果该字段将包含默认值,则将该值输入到u201CField内容u201D中,并将u201CParam Nameu201D留空。 使用u2018下一个屏幕u2019按钮在记录的所有屏幕之间移动 d。 继续浏览记录的屏幕或单击以返回到测试脚本。5)参数参考
a。 在每个参数的u2018parameter referenceu2019字段中输入ABAP对象(数据元素)。 点击回车将输入该项目。 注意:如果没有相应的参考字段,则可以设置长度或不设置长度
b。 输入所有参数引用后,保存脚本。
使用execute测试脚本。
希望有帮助。
此致
嗨Ninad,
您可以提供一些有关如何运行这些CATT脚本的详细信息吗?
此致
嗨,
创建要关闭的LSMW。
对于MEMASSRQ,您还需要PR和订单项。
Anand。
测试大量tcode可能无法正常工作。只需将以下代码粘贴到se38中并制作一个新程序即可。
第一个单选按钮关闭。
第二个要删除。
享受。
报告zpr_status_delete。
表eban。选择框b的开始屏幕,带有框架标题文本001。
选择选项so_banfn用于eban-banfn义务。
SELECT- 选项so_bnfpo适用于eban-bnfpo。
参数p_rad2 RADIOBUTTON GROUP rb。
参数p_rad1 RADIOBUTTON GROUP rb。
选择屏幕结束处b。
在选择屏幕上。
从ban中选择COUNT(*),在ban_fn的so_banfn和bnfpo的so_bnfpo的地方。
如果sy-subrc不是初始的。
消息'PR无效'类型'E'。
ENDIF。
< br> START-OF-SELECTION。
从ban中选择banfn,bnfpo到表@DATA(t_eban)
在哪里banfn IN @so_banfn和bnfpo IN @so_bnfpo按banfn,bnfpo进行排序。
DATA bapieband类型表bapieband。
数据bapireturn类型表bapireturn。
数据s_bapieband类型bapieband。
数据返回类型bapiret2。
类型:开始状态_status,
banfn类型banfn类型 ,
bnfpo类型bnfpo,
统计类型bapi_msg,
状态末尾。
数据:t_status类型标准 _status表,
s_status类型_status。
DATA(t_eban_01)= t_eban []。
LOOP AT t_eban INTO DATA(s_eban)。
s_bapieband-preq_item = s_eban- bnfpo。
如果p_rad1不初始。
s_bapieband-delete_ind = abap_true。
DATA(消息)='已删除'。
ELSE。
s_bapieband-closed = abap_true。< br> message ='Closed'。
ENDIF。
附加s_bapieband到bapieband。
banfn结束。
通话功能'BAPI_REQUISITION_DELETE'
导出
编号= s_eban -banfn
表格
requisition_items_to_delete = bapieband
return = bapireturn。
如果sy-subrc是INITIAL。
通话功能'BAPI_TRANSACTION_COMMIT'
导入
return = return。
ENDIF。
在t_eban_01处将数据放入环(s_eban_01)中。banfn = s_eban-banfn。
TRY。
DATA(s_ret)= bapireturn [sy- tabix]。
DATA(ret_message)= s_ret-message。
捕获cx_sy_itab_line_not_found。
ENDTRY。
s_status = VALUE#(banfn = s_eban_01-banfn <-> bnfpo = s_eb fpo
统计信息= ret_message)。
附加s_status至t_status。 清除:s_status,s_eban。
ENDLOOP。
免费bapieband。
免费bapireturn。
ENDAT。
ENDLOOP。
检查t_status是否是初始状态。
>
尝试。
调用方法cl_salv_table =>工厂
导入
r_salv_table = DATA(o_alv)
更改
t_table = t_status。
捕获cx_salv_msg。
> ENDTRY。
数据:ls_key类型salv_s_layout_key,
lo_layout类型参考cl_salv_layout,
lo_functions类型参考cl_salv_functions_list,
lo_display类型参考cl_salv_display_sets, ,
lo_col_tab类型参考cl_salv_column_table。
ls_key-report = sy-repid。
*->获取列对象
lo_cols_tab = o_alv-> get_columns()。< br>
*->设置列优化。
lo_cols_tab-> set_optimize(abap_true)。
*->获取默认工具栏图标
lo_functions = o_alv-> get_functions()。< br> lo_functions-> set_all(abap_true)。
*->获取布局对象
lo_layout = o_alv-> get_layout()。
< br> *->允许保存布局
lo_layout-> set_save_restriction(if_salv_c_layout => restrict_none)。
lo_layout-> set_key(ls_key)。
*->允许默认布局检查框
lo_layout-> set_default(abap_true)。
*->显示zbera模式
lo_display = o_alv-> get_display_settings()。
lo_display-> set_striped_pattern('X')。
o_alv-> display()。
一周热门 更多>