前言

SAP 银企直连交易明细查询常见的有 分页多次查询返回前置机文件名,下面详细介绍:


一、分页多次查询

分页多次查询可以参考建设银行的示例类:CL_EPIC_EXAMPLE_CN_CCB_GHTD
在CREATE_REQUEST方法中设置定位字符串,起始页,记录开始条数等分页参数,
在PROCESS_RESPONSE方法中设置 cf_another_segment_required = 'X',代表要执行下一页查询,最后一页 cf_another_segment_required = ''

  METHOD if_epic_bank_comm_impl~create_request.DATA ls_requ_mapping_source_data      TYPE ty_requ_mapping_source.DATA ls_message                       LIKE LINE OF et_messages.DATA lv_message_dummy.                                  "#EC NEEDEDDATA ls_dialog_parameters             TYPE epic_s_example_cn_ccb_ghtd_dp.DATA lv_commuser                      TYPE epic_bc_ud-commuser.DATA lv_pwd                           TYPE rsecdata.DATA lr_transformation_error          TYPE REF TO cx_root.DATA lv_cust_id                       TYPE epic_example_ccb_cust_id.CLEAR ev_request_message_string.CLEAR ev_request_message_xstring.CLEAR ef_another_segment_required.CLEAR et_messages.CHECK is_bank_comm_key IS NOT INITIAL.CHECK iv_bank_comm_step IS NOT INITIAL.ls_dialog_parameters = is_dialog_parameters.IF  ( ls_dialog_parameters-startdate IS INITIAL OR ls_dialog_parameters-startdate = space )OR ( ls_dialog_parameters-enddate   IS INITIAL OR ls_dialog_parameters-enddate   = space ).MESSAGE e009(epic_example_cn_impl)  INTO lv_message_dummy.CLEAR ls_message.MOVE-CORRESPONDING sy TO ls_message.APPEND ls_message TO et_messages.RAISE EXCEPTION TYPE cx_epic_bank_comm_implEXPORTINGimpl_messages = et_messages.ENDIF.TRY.mo_ccb_service->s_get_logon_data(EXPORTINGiv_bank_comm_step = iv_bank_comm_stepis_bank_comm_key  = is_bank_comm_keyIMPORTINGev_commuser       = lv_commuserev_pwd            = lv_pwdet_messages       = et_messages).CATCH cx_epic_bank_comm_impl.RAISE EXCEPTION TYPE cx_epic_bank_comm_implEXPORTINGimpl_messages = et_messages.ENDTRY.DATA: lv_requst_sn          TYPE string.mo_ccb_service->get_request_sn( IMPORTING ev_reqsn = lv_requst_sn ).lv_cust_id = gv_cust_id.ls_requ_mapping_source_data-transaction_header-request_sn = lv_requst_sn.ls_requ_mapping_source_data-transaction_header-user_id    = lv_commuser.ls_requ_mapping_source_data-transaction_header-password   = lv_pwd.ls_requ_mapping_source_data-transaction_header-cust_id    = lv_cust_id.ls_requ_mapping_source_data-transaction_header-tx_code    = '6W0300'.ls_requ_mapping_source_data-transaction_header-language   = 'CN'."begin note  2116270data lo_bank_comm_service type REF TO IF_EPIC_BANK_COMM_SERVICE.create OBJECT lo_bank_comm_service type CL_EPIC_CN_BANK_COMM_SERVICE."end note 2116270lo_bank_comm_service->get_housebank_account_info(EXPORTINGis_bank_comm_key = is_bank_comm_keyIMPORTINGev_account_num   =  ls_requ_mapping_source_data-transaction_body-acc_no).
"end note 2116270ls_requ_mapping_source_data-transaction_body-start_date = ls_dialog_parameters-startdate.ls_requ_mapping_source_data-transaction_body-end_date   = ls_dialog_parameters-enddate.ls_requ_mapping_source_data-transaction_body-start_page = gv_current_page.ls_requ_mapping_source_data-transaction_body-poststr    = gv_poststr.TRY.CALL TRANSFORMATION epic_example_cn_ccb_ghtd_rqstSOURCE parameters = ls_requ_mapping_source_dataRESULT XML ev_request_message_xstring.CATCH cx_transformation_error INTO lr_transformation_error.MESSAGE e008(epic_example_cn_impl) WITH 'CCB_GAB =>CREATE_REQUEST' INTO lv_message_dummy.CLEAR ls_message.MOVE-CORRESPONDING sy TO ls_message.APPEND ls_message TO et_messages.RAISE EXCEPTION TYPE cx_epic_bank_comm_implEXPORTINGimpl_messages = et_messagesprevious      = lr_transformation_error.ENDTRY.ENDMETHOD.                    "if_epic_bank_comm_impl~create_request

  METHOD if_epic_bank_comm_impl~process_response.DATA: ls_resp_mapping_result_data   TYPE ty_resp_mapping_result,lr_transformation_error       TYPE REF TO cx_transformation_error,ls_message                    LIKE LINE OF et_messages,lt_list_result                TYPE tty_list_result,lv_message_dummy.TRY.CALL TRANSFORMATION epic_example_cn_ccb_ghtd_rspSOURCE XML iv_response_message_xstringRESULT output_data = ls_resp_mapping_result_data.perform_post_resp_xslt_proc(EXPORTINGis_bank_comm_key            =  is_bank_comm_keyis_resp_mapping_result_data =  ls_resp_mapping_result_dataIMPORTINGet_list_result              =  et_list_resultet_messages                 =  et_messages ).IF gv_current_page < gv_page_count.cf_another_segment_required = 'X'.gv_current_page = gv_current_page + 1.ELSE.clear_comm_flags( ).CLEAR gt_list_result.ENDIF.CATCH cx_transformation_error INTO lr_transformation_error.MESSAGE e008(epic_example_cn_impl) WITH 'CCB_GHTD=>PROCESS_RESPONESE' INTO lv_message_dummy.CLEAR ls_message.MOVE-CORRESPONDING sy TO ls_message.APPEND ls_message TO et_messages.RAISE EXCEPTION TYPE cx_epic_bank_comm_implEXPORTINGimpl_messages = et_messagesprevious      = lr_transformation_error.ENDTRY.ENDMETHOD.                    "if_epic_bank_comm_impl~process_response

二、通过FTP读取银行前置机交易明细文件

1.SAP示例 FTP 程序

下面示例代码可以测试FTP服务器的连通性也可以直接运行FTP命令。比如 ls 列出前置机上面的银行交易明细文件名,大小,修改日期等。
FTP_SERVER_TO_R3 读取FTP服务器文件二进制流到ABAP内表。

报表名称 报告标题
RSFTP001 SAPFTP 版本
RSFTP002 执行 FTP 命令
RSFTP003 FTP 放置/获取测试
RSFTP004 FTP 复制
RSFTP005 SAPFTP 检查
RSFTP006 FTP 命令列表
RSFTP007 测试函数模块:FTP_SERVER_TO_R3/FTP_R3_TO_SERVER
RSFTP008 测试函数模块:FTP_CLIENT_TO_R3/FTP_R3_TO_CLIENT
RSFTP009 通过验证测试 FTP 放置
RSFTP011 FTP 复制
RSFTP012 拆分 SAPFTP_SERVERS 中的主机名和端口号

2.读入数据

注意使用二进制模式读取,以免中文乱码等问题。

FORM frm_server_to_r3 USING    lv_hdllv_docidlv_character_modeCHANGING lv_blengthlt_binary_tab TYPE btc_t_xmlxtab. DATA: lv_fname TYPE c LENGTH 60.lv_fname = lv_docid.REFRESH: lt_binary_tab.CALL FUNCTION 'FTP_SERVER_TO_R3'EXPORTINGhandle         = lv_hdlfname          = lv_fnamecharacter_mode = lv_character_modeIMPORTINGblob_length    = lv_blengthTABLESblob           = lt_binary_tabEXCEPTIONStcpip_error    = 1command_error  = 2data_error     = 3OTHERS         = 4.ENDFORM.SPLIT lv_text_buffer AT cl_abap_char_utilities=>cr_lf+1(1) INTO TABLE DATA(itab).LOOP AT itab INTO lv_string1.SPLIT lv_string1 AT '|' INTO TABLE DATA(itab2).lv_col = 4.CLEAR: lw_details.LOOP AT itab2 INTO lv_string2.lv_col = lv_col + 1.ASSIGN COMPONENT lv_col OF STRUCTURE lw_details TO <fs_s1>.<fs_s1> = lv_string2.ENDLOOP.lw_details-cctranscode = cctranscode.lw_details-respsource  = respsource.lw_details-respdate    = respdate.lw_details-resptime    = resptime.APPEND lw_details TO details.ENDLOOP.

总结

如果无法读取FTP,可能是因为SAP服务器不能访问FTP服务器。
免费FTP软件 FileZilla
既有客户端,又有服务器端,简单好用。
另外需要SM30维护视图 SAPFTP_SERVERS_V ,把FTP服务器IP和端口维护好。

SAP 银企直连交易明细查询的分页与FTP读取相关推荐

  1. SAP EPIC 银企直连 交易明细查询(建设银行)

    导语:交易明细查询,SAP自带的建行接口代码是6W0300,但是这边建行建议使用6WY101,所以报文内容需要调整,就需要重新构造XML进行传输.

  2. SAP 银企直连 通过 Http Get 方式下载交易明细文件

    前言 SAP 银企直连,农业银行查询接口交易明细会生成固定格式的文本文件到前置机上面. 可以通过Http Get 方式下载. 提示:以下是本篇文章正文内容,下面案例可供参考 一.接口说明与核心代码 & ...

  3. SAP 银企直连 电子回单

    SAP 银企直连 电子回单是 EPIC_PROC 的标准功能,与常用的财务凭证类似.后续操作有辨识 ,认领,过账等. 有2种通过调用银行接口的创建方式: EPIC_EBR_SOURCE Source ...

  4. SAP 银企直连基本开发过程及常用增强总结

    一.银企直连介绍 银企直联是一种新的网上银行系统与企业的财务软件系统在线直接联接的接入方式.银企直联通过因特网或专线连接方式,实现了银行和企业计算机系统的有机融合和平滑对接.企业通过财务系统的界面就可 ...

  5. SAP 银企直连付款 DMEEX 格式树维护工具

    SAP 银企直连付款通过 DMEE 格式树维护工具生成付款报文. 描述 注意:这只是一个示例,不在生产系统中使用.应将此示例"付款媒介工作台"(PMW)格式复制到自有命名空间,并按 ...

  6. SAP 银企直连 维护与安全登录用户的银行通讯

    EPIC_PROC - 会计核算 -> 财务会计 -> 银行 -> 国家特定 -> 中国 -> 电子支付集成 SAP 银企直连中安全用户的密码保存在安全存储中,并不是普通 ...

  7. 互联网金融平台——银行交易明细查询和报警机制

    一.关于前置机的报警机制:     1 .通道组每日巡检前置机的运行是否出现假死等问题,巡检每两个小时一次,上午 10 点至晚八点:     2 . 关键词监控,已经出现过假死的前置机或者 usb 不 ...

  8. 账号交易明细查询(分页)

    /**  * 账号交易明细查询(分页)  * @author   *  */ public class BusiSubAcctTransLogListServiceImpl implements Bu ...

  9. SAP银企直连系列-1

    1.业务背景 为了减轻财务工作量,实现付款及相关查询和银行直接对接,在SAP系统中实现了与招商银行得银企直连业务. 2.业务场景 涉及到下述四类业务场景: 2-1 支付结算:直接支付(N02031). ...

最新文章

  1. 玩转Windows 7
  2. python信号与槽_Python信号和插槽(1),python,与,一
  3. tomcat 内存配置学习总结
  4. 10万点击率的“干货”,其实人人都写得出来
  5. reportviewer控件mysql_如何将数据表绑定到ReportViewer运行时
  6. linux /dev
  7. Redis ZSet 的几种使用场景
  8. Android数据存储:Shared Preferences
  9. 大数据之-Hadoop3.x_MapReduce_WordCount编写_Driver---大数据之hadoop3.x工作笔记0091
  10. [源码和文档分享]基于C++的一元多项式的计算
  11. B00002 C语言位字段实例
  12. 雅虎扫描用户电子邮件,欧盟不干了:侵犯隐私!
  13. 谷歌浏览器翻译设置_谷歌翻译网站最近有点“小脾气”
  14. realme系统服务器代码,解锁BL之后,Realme正式开放源代码
  15. android广告平台哪个好用,最新!59个信息流广告平台数据榜单!
  16. wps序号打乱重新排序_wps表格序号自动排列
  17. 开源夏令营之项目汇报7
  18. python执行pip指令时,提示“You should consider upgrading……”的解决方法
  19. 方舟服务器显示等待发布,《明日方舟》开服既炸服的这波操作《方舟生存进化》永远也学不会...
  20. 查资料的一些工具网站

热门文章

  1. 盘点Scratch少儿编程的实用性
  2. 7.1 RAID(独立冗余磁盘阵列)
  3. 麻省理工学院计算机研究生读几年,2020年麻省理工学院一年制硕士含金量
  4. C++PrimePlus第5章编程练习答案及运行结果
  5. Linux生成xlsx格式文件,linux下生成excel文件
  6. 【华人学者风采】黄维 西北工业大学
  7. Android Activity向右滑动返回
  8. 【附源码/完整教程】如何使用C语言打造人机对战版五子棋?
  9. MyZip Mac一秒超快速解压/压缩
  10. Anaconda3最新版2022版的下载安装配置及使用教程(建议收藏,持续更新..)