JSON记录到自定义长文本

使用事务代码SE75配置自定义的长文本,然后将传入值保存到自定义长文本。

image.png

image.png

image.png

image.png

FUNCTION zfm_rfc_json.
*"----------------------------------------------------------------------
*"*"本地接口:
*"  IMPORTING
*"     VALUE(I_GUID) TYPE  ZE_GUID_NO
*"     VALUE(I_JSON) TYPE  STRING
*"  EXPORTING
*"     VALUE(E_CODE) TYPE  CHAR1
*"     VALUE(E_MSG) TYPE  STRING
*"----------------------------------------------------------------------
  DATA:l_string(262143) TYPE c,
       l_string1(132)   TYPE c.

  DATA:l_pos   TYPE i,
       ls_line TYPE tline,fname   TYPE tdobname,
       lt_line TYPE TABLE OF tline.

  l_string = i_json.

  DO.
    CALL FUNCTION 'STRING_SPLIT_AT_POSITION'
      EXPORTING
        string            = l_string
        pos               = 132
*       LANGU             = SY-LANGU
      IMPORTING
        string1           = l_string1
        string2           = l_string
        pos_new           = l_pos
      EXCEPTIONS
        string1_too_small = 1
        string2_too_small = 2
        pos_not_valid     = 3
        OTHERS            = 4.
    IF sy-subrc = 0 .
      ls_line-tdline = l_string1 .
      APPEND ls_line TO lt_line .
    ELSEIF sy-subrc = 3 .
      ls_line-tdline = l_string .
      APPEND ls_line TO lt_line .
      EXIT .
    ENDIF.
    CLEAR ls_line.
  ENDDO.

  fname = i_guid.

  CALL FUNCTION 'CREATE_TEXT'
    EXPORTING
      fid       = 'Z001'
      flanguage = '1'
      fname     = fname
      fobject   = 'ZPAK_JSON'
*     SAVE_DIRECT       = 'X'
*     FFORMAT   = '*'
    TABLES
      flines    = lt_line
    EXCEPTIONS
      no_init   = 1
      no_save   = 2
      OTHERS    = 3.
  IF sy-subrc EQ 0.
    e_code = 'S'.
    e_msg = 'JSON保存成功!'.
  ELSE.
    e_code = 'E'.
    e_msg = 'JSON保存失败!'.
  ENDIF.

ENDFUNCTION.


关键词: ABAP

网友评论

发表评论