SAP EPIC 银企直连 余额查询(建设银行)_sap如何查询银行的余额-程序员宅基地

技术标签: SAP银企直连  sap  abap  

导语:余额查询接口相对比较独立,也比较简单,EPIC_PROC中付款查询是不做存储的,查一次展示一次,每次都要重新查询,本次接口建行的XML跟标准的一致,所以没有做任何改动,直接就可以用,注意客户号等参数赋值正确即可。

【EPIC_PROC银企直连 建设银行】

在这里插入图片描述

标准类:CL_EPIC_EXAMPLE_CN_CCB_GAB

一、创建类

复制SAP标准类:CL_EPIC_EXAMPLE_CN_CCB_GAB

在这里插入图片描述
方法:CREATE_REQUEST

  METHOD if_epic_bank_comm_impl~create_request.
**************************************************************
**   Example only - NOT FOR USE IN PRODUCTION SYSTEMS.      **
**   See the class documentation for more information.      **
**************************************************************

    " DATA ls_t012k                    TYPE t012k.
    DATA ls_message                  LIKE LINE OF et_messages.
    DATA lv_message_dummy.
    DATA lr_logon_error              TYPE REF TO cx_root.
    DATA ls_requ_mapping_source      TYPE ty_requ_mapping_source.
    DATA lr_transformation_error     TYPE REF TO cx_root.
    DATA lv_timestamp                TYPE timestamp.
    DATA lv_commuser                 TYPE epic_bc_ud-commuser.
    DATA lv_pwd                      TYPE rsecdata.

    CLEAR ev_request_message_string.
    CLEAR ev_request_message_xstring.
    CLEAR ef_another_segment_required.
    CLEAR ls_requ_mapping_source.
    CLEAR et_messages.

    CHECK is_bank_comm_key IS NOT INITIAL.
    CHECK iv_bank_comm_step IS NOT INITIAL.

    GET TIME STAMP FIELD lv_timestamp.
    ls_requ_mapping_source-request_sn = lv_timestamp.

    TRY.
        mo_ccb_service->s_get_logon_data(
          EXPORTING
            iv_bank_comm_step = iv_bank_comm_step
            is_bank_comm_key  =  is_bank_comm_key
          IMPORTING
            ev_commuser       =  lv_commuser
            ev_pwd            =  lv_pwd
            et_messages       =  et_messages
        ).
        "begin note  2116270
        DATA 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.
        lo_bank_comm_service->get_housebank_account_info(
                  EXPORTING
                    is_bank_comm_key = is_bank_comm_key
                  IMPORTING
            ev_account_num   = ls_requ_mapping_source-tx_info-acc_no
        ).

        "end note 2116270
      CATCH cx_epic_bank_comm_impl.

        RAISE EXCEPTION TYPE cx_epic_bank_comm_impl
          EXPORTING
            impl_messages = et_messages.
    ENDTRY.

    mo_ccb_service->get_request_sn( IMPORTING ev_reqsn = ls_requ_mapping_source-request_sn ).

    ls_requ_mapping_source-user_id   = lv_commuser.
    ls_requ_mapping_source-password  = lv_pwd.
*    ls_requ_mapping_source-cust_id   = gv_cust_id.

*通过用户名 获取 CUST ID, 作为替换
    DATA: lv_custid TYPE epic_bc_ud-descr.
    CLEAR lv_custid.
    SELECT SINGLE descr
      INTO lv_custid
      FROM epic_bc_ud
      WHERE commuser = lv_commuser.
    IF sy-subrc = 0.
**'无法通过USER_ID获取 CUST_ID' TYPE 'E'
*      MESSAGE  e002(zfi)   INTO lv_message_dummy.
*      me->append_message( CHANGING ct_messages = et_messages ).
*      EXIT.

    ENDIF.

    ls_requ_mapping_source-cust_id   = lv_custid.
    ls_requ_mapping_source-tx_code   = '6W0100'.
    ls_requ_mapping_source-language  = 'CN'.

*    IF ls_t012k-bnkn2 IS NOT INITIAL.
*      ls_requ_mapping_source-tx_info-acc_no  = ls_t012k-bnkn2.
*    ELSEIF ls_t012k-bankn IS NOT INITIAL.
*      ls_requ_mapping_source-tx_info-acc_no  = ls_t012k-bankn.
*    ENDIF.

    TRY.
        CALL TRANSFORMATION epic_example_cn_ccb_gab01_rqt
          SOURCE parameters = ls_requ_mapping_source
          RESULT 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_impl
          EXPORTING
            impl_messages = et_messages
            previous      = lr_transformation_error.
    ENDTRY.
  ENDMETHOD.                    "if_epic_bank_comm_impl~create_request

方法:PROCESS_RESPONSE

  METHOD IF_EPIC_BANK_COMM_IMPL~PROCESS_RESPONSE.
**************************************************************
**   Example only - NOT FOR USE IN PRODUCTION SYSTEMS.      **
**   See the class documentation for more information.      **
**************************************************************

    DATA lr_transformation_error        TYPE REF TO cx_transformation_error.
    DATA ls_resp_mapping_result_data    TYPE ty_resp_mapping_result.
    DATA lt_list_result                 TYPE tty_list_result.
    DATA ls_message                     LIKE LINE OF et_messages.
    DATA lv_message_dummy.

    CLEAR et_list_result.
    CLEAR es_other_results.
    CLEAR et_messages.

    CHECK is_bank_comm_key IS NOT INITIAL.

    IF  iv_response_message_xstring IS INITIAL.
      MESSAGE e005(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_impl
        EXPORTING
          impl_messages = et_messages.
    ENDIF.

    CLEAR et_messages.

    TRY.
        CALL TRANSFORMATION epic_example_cn_ccb_gab01_rsp
          SOURCE XML iv_response_message_xstring
          RESULT tx = ls_resp_mapping_result_data.
      CATCH cx_transformation_error INTO lr_transformation_error.

        MESSAGE e008(epic_example_cn_impl) WITH 'CCB_GAB=>PROCESSS_RESPONSE'  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_impl
          EXPORTING
            impl_messages = et_messages
            previous      = lr_transformation_error.
    ENDTRY.

    me->perform_post_resp_xslt_proc(
      EXPORTING
        is_bank_comm_key            = is_bank_comm_key
        is_resp_mapping_result_data = ls_resp_mapping_result_data
      IMPORTING
        et_list_result              = lt_list_result
        et_messages                 = et_messages ).

    IF et_list_result IS SUPPLIED.
      et_list_result = lt_list_result.
    ENDIF.

  ENDMETHOD.                    "if_epic_bank_comm_impl~process_response

作者:小飞猪猪猪猪猪猪猪–CSDN

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/JYH1999/article/details/122278647

智能推荐

数据解析——bs4解析_bs解析出特定id的div-程序员宅基地

文章浏览阅读845次。文章目录1. 环境安装1.1 打开系统打开cmd指令输入 pip install bs41.2 出现 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None) 的解决方案2. 相关方法2.1 比如筛选一个标签如:\ 下的相关方法3. 进行实战(获取一个代理ip网的相关信息)3.1 分析目标在哪个标签3.2 分析可知其在div标签3.3 最后进行目标内容的提取小结:1. 环境安装1.1 打开系统打开cmd_bs解析出特定id的div

微信小程序学习笔记-scroll-view中的enable-flex、 scroll-y、 scroll-x 无效_unknown property: 'text-wrap-程序员宅基地

文章浏览阅读742次。解决方法在scroll-view的样式中加上:white-space: nowrap;在scroll-view的子标签的样式加上:_unknown property: 'text-wrap

error LNK2001: 无法解析的外部符号 __imp__MessageBoxA@16_error lnk2001: 无法解析的外部符号 __imp__mcisendcommanda@16-程序员宅基地

文章浏览阅读7.2k次。错误:error LNK2001: 无法解析的外部符号 __imp__MessageBoxA@16原因:本来程序的编译选项选择的是:使用标准windows库,当改为在静态库中使用MFC后就出现了上面的错误解决方法代码中添加依赖库#pragma comment(lib,"User32.lib")_error lnk2001: 无法解析的外部符号 __imp__mcisendcommanda@16

easyUI之可拖动控件——easyui-draggable_easyui draggable handle什么意思-程序员宅基地

文章浏览阅读1.4k次。本文章取自51CTO视频,仅供学习参考。_easyui draggable handle什么意思

linux /etc 下的文件总结_linux /etc/apt 下文件介绍-程序员宅基地

文章浏览阅读545次。1. /etc/fstab就是在开机引导的时候自动挂载到linux的文件系统。 在linux中/etc/fstab的数据项如下所示:/dev/device mountpoint type rules 0 order 例如这是一个普通的/etc/fstab:/dev/hda2 / ext3 defaults 0 1/dev/hda3 swap swap defaults 0_linux /etc/apt 下文件介绍

用于Delphi的VCL组件DevExpress VCL正式发布v20.2.8_devexpress vcl 20下载-程序员宅基地

文章浏览阅读364次。DevExpress VCL Controls是Devexpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程序。DevExpress VCL v20.2.8最新版下载DevExpress技术交流群3:700924826欢迎一起进群讨论具体更新内容如下:此列表包括v20.2.8中已解决的所有问题。ExpressBars Sui..._devexpress vcl 20下载

随便推点

开篇-HOG提取训练检测+样本制作_hog_svm 自定义数据集-程序员宅基地

文章浏览阅读4.2k次。http://www.cnblogs.com/miracled/archive/2012/05/12/2497271.html 整体框架: 样本制作+训练+检测 - (vs2008 + opencv2.3.1 + libsvm(可换用svmlight需改动部分源代码))1. 样本制作:Make_Sample类1.1功能大致如下(如需要详细的介绍,请直接参看源码)_hog_svm 自定义数据集

Python干旱指数库climate_indices学习-程序员宅基地

文章浏览阅读3k次。Githubclimate_indices库能够计算的指数如下:SPI,Standardized Precipitation Index, 标准化降水指数,utilizing both gamma and Pearson Type III distributionsSPEI,Standardized Precipitation Evapotranspiration Index,标准化降水蒸散指数,utilizing both gamma and Pearson Type III distribu_python干旱指数库climate_indices

格兰杰检验的基本步骤_Toda-Yamamoto 格兰杰因果检验 TY-Granger方法-程序员宅基地

文章浏览阅读6.2k次。一、格兰杰因果关系定义对于因变量,找到有助于预测的协变量。"X is said to Granger-causeY if Y can be better predicted using the histories of bothX and Y than it can by using the history of Y alone."二、格兰杰因果检验格兰杰因果检验本质是对VAR模型的参数进行线性..._格兰杰因果检验步骤

arcpy删除GDB文件_arcpy delete gdb-程序员宅基地

文章浏览阅读2k次。此前做的工作是将GDB里面的文件遍历删除再重新创建def deleteGDBFile(gdbpath): env.workspace=gdbpath fcs=arcpy.ListFeatureClasses() for fc in fcs: arcpy.Delete_management(fc) fcs = arcpy.ListTables()..._arcpy delete gdb

string[] array arrayList hashtable list<> dictionary<,> 数组、集合、泛型集合_array arraylist hashtable-程序员宅基地

文章浏览阅读1.1k次。数组 à 集合 à 泛型集合 写法说明数组Int[] arrInt;固定大小,固定元素类型集合arrayListhashtable SortedList可变长度Object类型泛型集合ListDiction_array arraylist hashtable

postgis JDBC_postgis-jdbc jar包-程序员宅基地

文章浏览阅读2.1k次。postgis进行jdbc连接时,应在classpath和项目对应的WEB-INF/lib下同时引入jar包,否则就会找不到具体连接代码为:Connection c = null; Statement stmt = null; try { Class.forName("org.postgresql.Driver");_postgis-jdbc jar包

推荐文章

热门文章

相关标签