批量关闭采购申请

2020-08-13 10:54发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

有人可以建议一种大规模关闭采购申请的方法吗?

致谢

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

有人可以建议一种大规模关闭采购申请的方法吗?

致谢

付费偷看设置
发送
10条回答
粗暴的香蕉
1楼 · 2020-08-13 11:32.采纳回答

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测试脚本。

希望有帮助。

此致

歪着头看世界
2楼-- · 2020-08-13 11:45

嗨Ninad,

您可以提供一些有关如何运行这些CATT脚本的详细信息吗?

此致

hongfeng1314
3楼-- · 2020-08-13 11:40

嗨,

创建要关闭的LSMW。

对于MEMASSRQ,您还需要PR和订单项。

Anand。

超级大咸鱼
4楼-- · 2020-08-13 11:53

测试大量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_pa​​ttern('X')。

o_alv-> display()。

一周热门 更多>