ABAP EPIC 配置与实现

前言:

     最近在做EPIC的东西,在业务上与普通的银企直连不太一样的地方是,不是直接对接银行,而是与某个银行的产品对接,由该产品再与其他银行对接;技术上大概流程是一致的,

配置时把所有自定义类配置成一样的即可

目录

前言:

一、 EPIC 电子支付集成配置 

1. 定义银行通信类型

2. 定义银行通信详细信息

3. 安全用户

4. 代码实现

一、 EPIC 电子支付集成配置 

配置可参考SAP 的NOTES——2052800,初次做银企直连可以先看下这个NOTES,提供了很详细的说明

1. 定义银行通信类型

对于不一样的操作需要配置不同的类别( 右方为NOTES-2052800 )

例如:付款状态查询--> 02 Payment Item Specific Query

2. 定义银行通信详细信息

此处配置的键值为:公司+开户行+帐户标识+通信类型

通信类型为步骤1中配置的通信类型

以付款状态查询为例:

目标——接口提供方的地址,需要在SM59中进行配置

实施类——COPY示例类 CL_EPIC_EXAMPLE_CN* ( SE24中可查看,会有各大银行的示例,这里用星号代替 ) 

如果是直接对接银行的话,这里复制对应银行的示例类,填写在这里就可以。

如果是和我一样对接产品,则可将所有通信类别相同的配置成同一个目标、实施类

3. 安全用户

需要安全用户可以在这里配置,如果不需要可以不配,代码里验证安全用户的部分注释掉就好了,不然会报错

4. 代码实现

无论是查询还是付款,基本所有的方法都差不多是这样的,上述配置完成之后可以在这里写代码了

这里的难点在于,需要将按照特定格式转换成XML的报文发送给对方,在发送报文时做了转换,示例类中调用标准的转换实现,我们需要自己定义一个转换

TOCDE: STRANS

转换定义好之后,在copy出来的类中把原来标准的转换替换掉

设置header参数

接收结果后对XML报文进行解析这里就不细讲了,如果strans不好写 可以简单粗暴的调用 "SMUM_XML_PARSE"函数 达到相同的效果。

需要做项目状态更新的小伙伴可以参考下面截图中的代码,

DATA:
  ls_status          TYPE epic_s_item_upd_status,
  lt_item_upd_status TYPE epic_t_item_upd_status.


  CASE ls_xml-cvalue.
     WHEN  '1'." 付款成功

        ls_status-guid = ls_choose-guid.
        ls_status-status_new = '110'.
        APPEND ls_status TO lt_item_upd_status.
        CLEAR ls_status.

      WHEN  '2'." 付款失败

        ls_status-guid = ls_choose-guid.
        ls_status-status_new = '130'.
        APPEND ls_status TO lt_item_upd_status.
        CLEAR ls_status.

      WHEN OTHERS.
  ENDCASE.


    IF lt_item_upd_status IS NOT INITIAL.
      cl_epic_pp_services=>s_update_item_statuses(
        EXPORTING
          it_item_upd_status        = lt_item_upd_status
          if_return_item_messages   = abap_false
          if_return_summary_message = abap_true
        IMPORTING
          et_messages               = lt_messages ).

      IF lt_messages IS NOT INITIAL.
        APPEND LINES OF lt_messages TO et_messages.
        REFRESH lt_item_upd_status.
      ENDIF.

    ENDIF.

付款和其他查询不一样的地方在于,可以通过配置DME匹配传入报文格式

固定值就选常量,匹配字段选结构字段,需要对字段加工可以选退出模块,这里SAP提供了3个模板(F1 查看),复制出来进行修改

DME做好之后,分配给付款方式

将写好的DME放入格式中,如果不同公司间有区别,可以点击旁边的公司代码格式,按照公司代码分配不同DME格式,代码部分和上面大同小异,引用了DME格式就会按照该格式转换了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值