需求如下:
EPIC_BRM每天要人工点击获取回单,有时候会忘记执行这个操作,所以开发一个自动获取银行回单的程序,放到后台JOB定时执行。
对EPIC_BRM调试后发现类cl_epic_ebr_req_uil方法pai_query_result就是获取回单的功能,又因为正好是公开的类和公开的静态方法,所以一行代码就能获取回单。
CALL METHOD cl_epic_ebr_req_uil=>pai_query_result.
但是,进入方法内部发现,要对请求参数,即银行帐户的一个内表进行赋值, 结构如下:
进入到cl_epic_ebr_uil_6100=>get_query_parameters发现,静态私有属性GT_ACCOUNT就是银行帐户对应的内表,所以我在这里做了一个简单的增强。
步骤如下:
1.新建一个自定义的类,内部调用cl_copc_ebr_requester->get_all_accounts方法,导出所有可用的银行帐户,同时进行LOOP循环,选择所有的银行帐户。
2.对查询的默认开始日期进行修改,逻辑是从EPIC_EBR_REQ这个表中拿到请求的最后一次日期当作开始默认日期。
3.自定义类传出银行帐户内表。
4.当执行自动获取回单程序的时候,会触发增强逻辑修改银行帐户内表,系统会自动执行剩余的查询逻辑,查询后会以消息组的形式在前端显示,后台设置好JOB后就可以实现定时获取银行回单。