SAP ABAP调用VKM1程序


REPORT ZEIPR004.

*&---------------------------------------------------------------------*
* TYPE-POOLS
*&---------------------------------------------------------------------*
TYPE-POOLS: slis.

*&---------------------------------------------------------------------*
* TABLES
*&---------------------------------------------------------------------*
TABLES: knkk,vbak,knvv,vbuk,bsid.
*&---------------------------------------------------------------------*
* TYPES
*&---------------------------------------------------------------------*
TYPES: BEGIN OF gty_output.
"chx TYPE c.
        INCLUDE STRUCTURE vbkred.
TYPES: status_bel TYPE ICON-id,
       abgru_new TYPE VBAP-ABGRU,
       sbgrp_new TYPE VBAK-SBGRP,
       col TYPE c.
TYPES: END OF gty_output.

TYPES: BEGIN OF gty_output1,
       chx(1) TYPE c,
       msg_type TYPE char1,
       msg_text TYPE char4,
       eip_return TYPE zeip_004_hst-eip_return,
       msg_erdat    TYPE sy-datum,
       ertim    TYPE sy-uzeit,
       msg_ernam    TYPE sy-uname,
*        BTGEW TYPE VBAK-BTGEW,
       allkw TYPE KNKK-SKFOR,   "未清总额
       ovam TYPE KNKK-SKFOR.     "超期授信金额
        INCLUDE STRUCTURE vbkred.
TYPES: status_bel TYPE ICON-id,
       abgru_new TYPE VBAP-ABGRU,
       sbgrp_new TYPE VBAK-SBGRP,
       col TYPE c.
TYPES: END OF gty_output1.

TYPES: BEGIN OF gty_ovam ,
          kunnr TYPE bsid-kunnr,
*          blart TYPE bsid-blart,
*          zfbdt TYPE  bsid-zfbdt,
          shkzg TYPE bsid-shkzg,
          wrbtr TYPE bsid-wrbtr.
TYPES: END OF gty_ovam.

TYPES: BEGIN OF gty_json,
        VKORG TYPE string,
        KKBER TYPE string,
        ERDAT TYPE string,
        VBELN TYPE string,
        POSNR TYPE string,
        KNKLI TYPE string,
        NAME1 TYPE string,
        BSTNK TYPE string,
        ERNAM TYPE string,
        NETWR TYPE string,
        ZTERM TYPE string,
        VKBUR TYPE string,
        KLIMK TYPE string,
        ALLKW TYPE string,
        OVAM  TYPE string.
*        SKFOR TYPE string,
*        SSOBL TYPE string,
*        KUNAG TYPE string,
*        AGNAME1 TYPE string.
TYPES: END OF gty_json.



*&---------------------------------------------------------------------*
* GLOBAL DATA
*&---------------------------------------------------------------------*
DATA: gt_order TYPE  TABLE OF RVKRED_TT_POST.
DATA: gt_order1 TYPE TABLE OF BAPIORDERS.

DATA: gt_kunnr TYPE TABLE OF vbak-kunnr.

FIELD-SYMBOLS <lt_pay_data>   TYPE ANY TABLE.
DATA lr_pay_data              TYPE REF TO data.
*  DATA lt_selscreen             TYPE TABLE OF rsparams.
DATA: gt_output TYPE TABLE OF gty_output.
DATA: gt_output1 TYPE TABLE OF gty_output1.
DATA: gs_output1 TYPE gty_output1.
DATA: gt_ovam TYPE TABLE OF gty_ovam.
DATA: gs_ovam TYPE gty_ovam.
DATA: gs_ovam_h TYPE gty_ovam.
DATA: gs_ovam_s TYPE gty_ovam.


DATA lv_json TYPE string.

DATA:
      gt_fieldcat  TYPE lvc_t_fcat,
      gs_fieldcat  TYPE lvc_s_fcat,
      gt_excluding TYPE slis_t_extab,
      gs_excluding TYPE slis_extab,
      gt_events    TYPE slis_t_event,
      gs_events    TYPE slis_alv_event,
      gt_sort      TYPE lvc_t_sort,
      gs_sort      TYPE lvc_s_sort,
      gs_variant   LIKE disvariant,
      gs_layout    TYPE lvc_s_layo.

CONSTANTS: c_sep TYPE c VALUE ',',
           c_mark_syh TYPE c VALUE '"',
           c_mark_mh  TYPE c VALUE ':'.


DATA: gt_hst    TYPE STANDARD TABLE OF zeip_004_hst,
      lt_hst    TYPE STANDARD TABLE OF zeip_004_hst,
      gs_hst    TYPE zeip_004_hst.


*&---------------------------------------------------------------------*
* GLOBAL INTERNAL TABLES
*&---------------------------------------------------------------------*

*&---------------------------------------------------------------------*
* SELECTION-SCREEN
*&---------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK CREDIT WITH FRAME TITLE TEXT-F01.
SELECT-OPTIONS: s_KKBER    FOR knkk-KKBER MEMORY ID KKB.
*                  s_vbeln    FOR vbak-vbeln MEMORY ID KBG.

SELECTION-SCREEN SKIP.
SELECT-OPTIONS: s_kunnr    FOR knvv-kunnr.
*                  s_cmgst    FOR vbuk-cmgst DEFAULT 'B' TO 'C'.
SELECTION-SCREEN END OF BLOCK CREDIT.

*
**---------------------------------------------------------------------*
**  AT SELECTION-SCREEN                                                *
**---------------------------------------------------------------------*
*AT SELECTION-SCREEN.
*
**---------------------------------------------------------------------*
**  INITIALIZATION                                                     *
**---------------------------------------------------------------------*
*INITIALIZATION.

*---------------------------------------------------------------------*
*  START-OF-SELECTION                                                 *
*---------------------------------------------------------------------*
START-OF-SELECTION.

  CALL METHOD cl_salv_bs_runtime_info=>set
    EXPORTING
      display  = abap_false
      metadata = abap_false
      data     = abap_true.




  SUBMIT RVKRED02 WITH kkber IN s_kkber
                  WITH knkli IN s_kunnr
                  AND RETURN EXPORTING LIST TO MEMORY."TCODE:VKM1


  TRY.

      "获取ALV显示数据
      CALL METHOD cl_salv_bs_runtime_info=>get_data_ref
        IMPORTING
          r_data = lr_pay_data.

      ASSIGN lr_pay_data->* TO <lt_pay_data>.
    CATCH cx_salv_bs_sc_runtime_info.

      MESSAGE `无法取得ALV术` TYPE 'E'.
  ENDTRY.

  IF <lt_pay_data> IS ASSIGNED.

    gt_output = <lt_pay_data>.
    MOVE-CORRESPONDING gt_output TO gt_output1.

    LOOP AT gt_output1 INTO gs_output1.
      gs_output1-allkw = gs_output1-oeikw + gs_output1-olikw + gs_output1-ofakw.

      SELECT
        a~kunnr
*        a~blart
*        a~zfbdt
        a~shkzg
        a~wrbtr
        FROM bsid as a
        INTO CORRESPONDING FIELDS OF TABLE gt_ovam
        WHERE  kunnr = gs_output1-knkli
        AND blart = 'RV'
        AND zfbdt < sy-datum
        .
      IF sy-subrc = 0.
        SORT gt_ovam by kunnr shkzg.
        LOOP AT gt_ovam INTO gs_ovam.
          COLLECT gs_ovam INTO gt_ovam.
          CLEAR gs_ovam.
        ENDLOOP.

        READ TABLE gt_ovam INTO gs_ovam_h WITH TABLE KEY  kunnr = gs_output1-knkli shkzg = 'H'.
        READ TABLE gt_ovam INTO gs_ovam_s WITH TABLE KEY  kunnr = gs_output1-knkli shkzg = 'S'.
        gs_output1-ovam = gs_ovam_s-wrbtr - gs_ovam_h-wrbtr.
        CLEAR: gs_ovam_h,gs_ovam_s.
      ENDIF.

      MODIFY gt_output1 FROM gs_output1.
      CLEAR gs_output1.
    ENDLOOP.

    CLEAR gs_hst.
    IF gt_output1 IS NOT INITIAL.
      SELECT *  INTO TABLE lt_hst FROM zeip_004_hst
        FOR ALL ENTRIES IN gt_output1
        WHERE vbeln = gt_output1-vbeln.
      IF sy-subrc IS INITIAL.
        SORT lt_hst BY vbeln ASCENDING TIMESTAMP DESCENDING.
      ENDIF.

      LOOP AT gt_output1 INTO gs_output1 .
        READ TABLE lt_hst INTO gs_hst
                          WITH  KEY vbeln = gs_output1-vbeln
                          BINARY SEARCH.
        IF gs_hst IS NOT INITIAL.
          gs_output1-msg_type = gs_hst-msg_type.
          gs_output1-msg_text = gs_hst-msg_text.
          gs_output1-msg_erdat    = gs_hst-erdat.
          gs_output1-ertim    = gs_hst-ertim.
          gs_output1-msg_ernam    = gs_hst-ernam.
          gs_output1-eip_return = gs_hst-eip_return.
        ENDIF.
        MODIFY gt_output1 FROM gs_output1.
      ENDLOOP.
    ENDIF.

  ELSE.
    MESSAGE `没有数据` TYPE 'E'.
  ENDIF.
  "结束
  cl_salv_bs_runtime_info=>clear_all( ).



  PERFORM sub_alv_display.



END-OF-SELECTION.


*&---------------------------------------------------------------------*
*&      Form  ALV_DISPLAY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM sub_alv_display .
  CLEAR:gt_fieldcat,gt_sort,gt_excluding,gs_layout,gs_variant.

  PERFORM sub_fieldcat_init.
  PERFORM sub_eventtab_build.
  PERFORM sub_call_alv.
ENDFORM.                    " ALV_DISPLAY

*&---------------------------------------------------------------------*
*&      Form  FIELDCAT_INIT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM sub_fieldcat_init .
  DATA ls_fcat TYPE lvc_s_fcat.
* 字段
  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'
    EXPORTING
      i_bypassing_buffer = 'X'
      i_structure_name   = 'VBKRED'  "'TY_GT_OUTPUT'
    CHANGING
      ct_fieldcat        = gt_fieldcat.

  DEFINE alv_fieldcat.
    clear: gs_fieldcat.
    gs_fieldcat-tabname       = &1.
    gs_fieldcat-fieldname     = &2.
    gs_fieldcat-key           = &3.
    gs_fieldcat-outputlen     = &4.
    gs_fieldcat-coltext       = &5.
    gs_fieldcat-seltext       = &5.
    gs_fieldcat-ref_field     = &6.
    gs_fieldcat-ref_table     = &7.
    gs_fieldcat-no_out        = &8.
    gs_fieldcat-no_zero       = &9.
    append gs_fieldcat to gt_fieldcat.
  END-OF-DEFINITION.

  alv_fieldcat  'GT_OUTPUT1' 'CHX'  '' '001'  '选择'         '' '' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'ALLKW'  '' '017'  '未清信贷总额'   '' '' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'OVAM'  '' '017'  '逾期金额'   '' '' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'MSG_TYPE'  '' '002'  '消息类别'   '' '' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'MSG_TEXT'  '' '004'  '返回消息'   '' '' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'EIP_RETURN'  '' '100'  'EIP返回'   '' '' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'MSG_ERDAT'  '' '010'  '同步日期'   '' '' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'ERTIM'  '' '006'  '同步时间'   '' '' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'MSG_ERNAM'  '' '012'  '同步用户'   '' '' ' ' ' '.

  alv_fieldcat  'GT_OUTPUT1' 'STATUS_BEL'  ' ' '004'  '图标ID'     'ICON' 'ID' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'ABGRU_NEW'  ' ' '002'  '订单拒绝原因'     'VBAP' 'ABGRU' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'SBGRP_NEW'  ' ' '030'  '信用代表组'     'VBAK' 'SBGRP' ' ' ' '.
  alv_fieldcat  'GT_OUTPUT1' 'COL'  ' ' '030'  'ALV调色'     '' '' ' ' ' '.

  LOOP AT gt_fieldcat INTO ls_fcat.
    CASE ls_fcat-fieldname.
      WHEN 'CHX'.
        ls_fcat-edit = 'X'.
        ls_fcat-checkbox = 'X'.
        ls_fcat-coltext = '选择'.
        ls_fcat-seltext = '选择'.

      WHEN 'VKORG' OR 'KKBER' OR  'ERDAT' OR 'VBELN' OR 'POSNR'
         OR 'KNKLI' OR 'NAME1' OR 'BSTNK' OR 'ERNAM'  OR 'NETWR'
         OR 'ZTERM'  OR 'VKBUR' OR 'KLIMK' OR 'ALLKW' OR 'OVAM'
        OR  'SKFOR' OR 'SSOBL' OR 'KUNAG' OR 'AGNAME1' OR 'MSG_TYPE'
        OR 'MSG_TEXT' OR 'MSG_ERDAT' OR  'ERTIM' OR 'MSG_ERNAM' OR  'EIP_RETURN'.

      WHEN OTHERS.
        ls_fcat-no_out = 'X'.
    ENDCASE.

    MODIFY gt_fieldcat FROM ls_fcat.
  ENDLOOP.
ENDFORM.                    " FIELDCAT_INIT

*&---------------------------------------------------------------------*
*&      Form  EVENTTAB_BUILD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM sub_eventtab_build .
  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
    EXPORTING
      i_list_type = 0
    IMPORTING
      et_events   = gt_events.

*........ADD EVENT AT-USER-COMMAND .....................................
  READ TABLE gt_events WITH KEY name = slis_ev_user_command
                             INTO gs_events.
  IF sy-subrc = 0.
    MOVE slis_ev_user_command TO gs_events-form.
    APPEND gs_events TO gt_events.
  ENDIF.
ENDFORM.                    " EVENTTAB_BUILD

*&---------------------------------------------------------------------*
*&      Form  CALL_ALV
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM sub_call_alv .
  gs_layout-cwidth_opt = 'X'.
  gs_layout-zebra = 'X'.
  gs_variant-report = sy-repid.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY_LVC'
    EXPORTING
      i_callback_program       = sy-repid
      i_callback_pf_status_set = 'SUB_ALV_PF_STATUS'
      is_layout_lvc            = gs_layout
      it_fieldcat_lvc          = gt_fieldcat
      it_excluding             = gt_excluding
      it_sort_lvc              = gt_sort
      i_save                   = 'A'
      is_variant               = gs_variant
      it_events                = gt_events
    TABLES
      t_outtab                 = gt_output1
    EXCEPTIONS
      program_error            = 1
      OTHERS                   = 2.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
          WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
ENDFORM.                    " CALL_ALV


*&---------------------------------------------------------------------*
*&      Form  ALV_PF_STATUS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*      -->P_RT_EXTAB  text
*----------------------------------------------------------------------*
FORM sub_alv_pf_status  USING rt_extab TYPE slis_t_extab.
  SET PF-STATUS 'STANDARD_ALV1' EXCLUDING rt_extab.
ENDFORM.



FORM user_command  USING r_ucomm LIKE sy-ucomm
                   rs_selfield TYPE slis_selfield.
  DATA: l_index LIKE sy-index,
        l_colno TYPE slis_sel_tab_field.
  DATA: l_filtered_entries TYPE slis_t_filtered_entries.

  DATA: l_grid TYPE REF TO cl_gui_alv_grid.

  CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
    IMPORTING
      e_grid = l_grid.

  CALL METHOD l_grid->check_changed_data.

  l_index = rs_selfield-tabindex.              "LINE IN LIST
  l_colno = rs_selfield-sel_tab_field.         "COLUMN HEADER


  CASE r_ucomm.
    WHEN '&ALLSEL'.
      LOOP AT gt_output1 INTO gs_output1.
        gs_output1-chx = 'X'.
        MODIFY gt_output1 FROM gs_output1.
        CLEAR gs_output1.
      ENDLOOP.
    WHEN '&NOSEL'.
      LOOP AT gt_output1 INTO gs_output1.
        CLEAR gs_output1-chx.
        MODIFY gt_output1 FROM gs_output1.
        CLEAR gs_output1.
      ENDLOOP.

    WHEN 'PRT3'.
      READ TABLE gt_output1 INTO gs_output1 WITH KEY chx = 'X'.
      CHECK sy-subrc = 0.
      PERFORM sub_call_eip.
    WHEN '&IC1'.          "hotspot
      READ TABLE gt_output1 INTO gs_output1 INDEX l_index.
      CHECK sy-subrc = 0.

      IF rs_selfield-fieldname = 'VBELN'.
        CHECK gs_output1-vbeln IS NOT INITIAL.
        SET PARAMETER ID 'AUN' FIELD gs_output1-vbeln.
        CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
      ENDIF.

    WHEN OTHERS.
  ENDCASE.

  rs_selfield-refresh = 'X'.
  rs_selfield-col_stable = 'X'.
  rs_selfield-row_stable = 'X'.
ENDFORM.                    "USER_COMMAND


FORM sub_call_eip.

  TYPE-POOLS:icon.
  DATA:l_answer TYPE c.


  READ TABLE gt_output1 TRANSPORTING NO FIELDS
                      WITH KEY chx = 'X'.
  IF sy-subrc IS NOT INITIAL.
    MESSAGE i888(sabapdocu) WITH '请至少选择一条记录!'.
    EXIT.
  ENDIF.


  CLEAR: gs_output1.
  LOOP AT gt_output1 INTO gs_output1 WHERE chx = 'X'.

    IF gs_output1-msg_type = 'S'.


      CALL FUNCTION 'POPUP_TO_CONFIRM'
        EXPORTING
*         TITLEBAR       = ' '
*         DIAGNOSE_OBJECT             = ' '
          TEXT_QUESTION  = '该订单已发送EIP成功,确认再次发送?'
          TEXT_BUTTON_1  = 'Yes'(001)
          ICON_BUTTON_1  = 'icon_checked'
          TEXT_BUTTON_2  = 'No'(002)
          ICON_BUTTON_2  = 'icon_incomplete'
*         DEFAULT_BUTTON = '1'
*         DISPLAY_CANCEL_BUTTON       = 'X'
*         USERDEFINED_F1_HELP         = ' '
*         START_COLUMN   = 25
*         START_ROW      = 6
*         POPUP_TYPE     =
*         IV_QUICKINFO_BUTTON_1       = ' '
*         IV_QUICKINFO_BUTTON_2       = ' '
        IMPORTING
          ANSWER         = l_answer
*     TABLES
*         PARAMETER      =
        EXCEPTIONS
          TEXT_NOT_FOUND = 1
          OTHERS         = 2.
      IF SY-SUBRC <> 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.

      IF l_answer = '1'.
        PERFORM send_eip.
       ELSE.
         EXIT.
      ENDIF.

    ELSE.
      PERFORM send_eip.
    ENDIF.
    CLEAR: gs_output1.
  ENDLOOP.




ENDFORM.


FORM frm_9001_build_field_str USING pv_val
                           CHANGING pv_val_str TYPE string.
  IF pv_val_str IS INITIAL.
    pv_val_str = c_mark_syh && pv_val && c_mark_syh
           .
  ELSE.
    pv_val_str = pv_val_str &&
                 c_sep &&
                 c_mark_syh && pv_val && c_mark_syh.
  ENDIF.

ENDFORM.


FORM send_eip.
  DATA: ls_ev_type TYPE bapi_mtype.
  DATA: ls_ev_msg TYPE bapi_msg.
  DATA: ls_ev_json TYPE string.
  DATA ls_json TYPE gty_json.

  DATA: ymd TYPE string.

  CONCATENATE gs_output1-erdat(4)
          gs_output1-erdat+4(2)
          gs_output1-erdat+6(2)
    INTO ymd
    SEPARATED BY '-'.


  PERFORM frm_9001_build_field_str USING gs_output1-VKORG
                                   CHANGING ls_json-VKORG .  "销售组织

  PERFORM frm_9001_build_field_str USING gs_output1-KKBER
                                   CHANGING ls_json-KKBER .

  PERFORM frm_9001_build_field_str USING      ymd           "gs_output1-ERDAT
                                   CHANGING ls_json-ERDAT . "创建时间

  PERFORM frm_9001_build_field_str USING gs_output1-VBELN
                                   CHANGING ls_json-VBELN  . "销售订单号

  PERFORM frm_9001_build_field_str USING gs_output1-POSNR
                                   CHANGING ls_json-POSNR   .

  PERFORM frm_9001_build_field_str USING gs_output1-KNKLI
                                   CHANGING ls_json-KNKLI    . "授信账户/客户代码

  PERFORM frm_9001_build_field_str USING gs_output1-NAME1
                                   CHANGING ls_json-NAME1    . "客户名称

  PERFORM frm_9001_build_field_str USING gs_output1-BSTNK
                                   CHANGING ls_json-BSTNK   . "采购订单号

  PERFORM frm_9001_build_field_str USING gs_output1-ERNAM
                                   CHANGING ls_json-ERNAM   .

  PERFORM frm_9001_build_field_str USING gs_output1-NETWR
                                   CHANGING ls_json-NETWR   . " 订单含税金额

  PERFORM frm_9001_build_field_str USING gs_output1-ZTERM
                                   CHANGING ls_json-ZTERM   .  "付款条件

  PERFORM frm_9001_build_field_str USING gs_output1-VKBUR
                                   CHANGING ls_json-VKBUR   .  "销售部门

  PERFORM frm_9001_build_field_str USING gs_output1-KLIMK
                                   CHANGING ls_json-KLIMK   .  "信贷额度

  PERFORM frm_9001_build_field_str USING gs_output1-ALLKW
                                   CHANGING ls_json-ALLKW   . "未清信贷总额


  PERFORM frm_9001_build_field_str USING gs_output1-OVAM
                                   CHANGING ls_json-OVAM   .  "逾期金额





  CONCATENATE '{'
                    c_mark_syh 'fd_details' c_mark_syh c_mark_mh '{'
                    c_mark_syh 'fd_details.VKORG' c_mark_syh c_mark_mh '[' ls_json-VKORG  ']' c_sep
                    c_mark_syh 'fd_details.ERDAT' c_mark_syh c_mark_mh '[' ls_json-ERDAT  ']' c_sep
                    c_mark_syh 'fd_details.XBLNR' c_mark_syh c_mark_mh '[' '"00"'  ']' c_sep
                    c_mark_syh 'fd_details.VBELN' c_mark_syh c_mark_mh '[' ls_json-VBELN  ']' c_sep
                    c_mark_syh 'fd_details.KUNNR' c_mark_syh c_mark_mh '[' ls_json-KNKLI  ']' c_sep
                    c_mark_syh 'fd_details.Name1' c_mark_syh c_mark_mh '[' ls_json-NAME1  ']' c_sep
                    c_mark_syh 'fd_details.BSTKD' c_mark_syh c_mark_mh '[' ls_json-BSTNK  ']' c_sep
                    c_mark_syh 'fd_details.KWMENG' c_mark_syh c_mark_mh '['  '"00"'   ']' c_sep
                    c_mark_syh 'fd_details.NETWR' c_mark_syh c_mark_mh '[' ls_json-NETWR  ']' c_sep
                    c_mark_syh 'fd_details.ZTERM' c_mark_syh c_mark_mh '[' ls_json-ZTERM  ']' c_sep
                    c_mark_syh 'fd_details.ZLSCH' c_mark_syh c_mark_mh '[' '"00"'  ']' c_sep
                    c_mark_syh 'fd_details.VKBUR' c_mark_syh c_mark_mh '[' ls_json-VKBUR  ']' c_sep
                    c_mark_syh 'fd_details.VSART' c_mark_syh c_mark_mh '[' '"00"'  ']' c_sep
                    c_mark_syh 'fd_details.SDABW' c_mark_syh c_mark_mh '[' '"00"'  ']' c_sep
                    c_mark_syh 'fd_details.AUGRU' c_mark_syh c_mark_mh '[' '"00"'  ']' c_sep
                    c_mark_syh 'fd_details.KLIMK' c_mark_syh c_mark_mh '[' ls_json-KLIMK  ']' c_sep
                    c_mark_syh 'fd_details.ALLKW' c_mark_syh c_mark_mh '[' ls_json-ALLKW  ']' c_sep
                    c_mark_syh 'fd_details.OVAM'  c_mark_syh c_mark_mh '[' ls_json-OVAM   ']' c_sep
                    '}'
                    '}'

                    INTO lv_json.




  IF lv_json IS NOT INITIAL.


    CALL FUNCTION 'ZEIP_CALL_WS_OUT'
      EXPORTING
        IV_JSON      = lv_json
        IV_SUBOBJECT = '订单解冻测试'
        IV_ID        = '1653795a544e4a695bf59d047ec9582b'
      IMPORTING
        EV_JSON      = ls_ev_json
        EV_TYPE      = ls_ev_type
        EV_MSG       = ls_ev_msg.

    MESSAGE ls_ev_msg && ls_ev_json  TYPE ls_ev_type.

    CLEAR: lv_json,gs_hst,ls_json.

    gs_hst-vbeln = gs_output1-vbeln.

    CONCATENATE sy-datum sy-uzeit INTO gs_hst-timestamp.
    gs_hst-erdat = sy-datum.
    gs_hst-ertim = sy-uzeit.
    gs_hst-ernam = sy-uname.
    gs_hst-eip_return = ls_ev_json.
    gs_hst-msg_type = ls_ev_type.
    gs_hst-msg_text = ls_ev_msg.
    APPEND gs_hst TO gt_hst.

    gs_output1-msg_type = ls_ev_type.
    gs_output1-msg_text = ls_ev_msg.
    gs_output1-eip_return = ls_ev_json.
    gs_output1-msg_erdat = gs_hst-erdat.
    gs_output1-ertim = gs_hst-ertim.
    gs_output1-msg_ernam = gs_hst-ernam.
    MODIFY gt_output1 FROM gs_output1.

  ENDIF.

  IF gt_hst[] IS NOT INITIAL.
    MODIFY zeip_004_hst FROM TABLE gt_hst.
  ENDIF.


ENDFORM.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值