SAP ABAP FTP 处理

" https://blog.csdn.net/weixin_42646630/article/details/106947675

ftp 服务器配置 : SAPFTP_SERVERS

在这里插入图片描述

&---------------------------------------------------------------------
*& Report ZHTEST_016
&---------------------------------------------------------------------
*&
&---------------------------------------------------------------------
REPORT ZHTEST_016.

TYPES: BEGIN OF XML_LINE,
DATA(255) TYPE X,
END OF XML_LINE.

DATA:
L_XML_TABLE_FORECAST TYPE TABLE OF XML_LINE,
L_RC TYPE I,
L_XML_SIZE TYPE I,
WA_XML TYPE XML_LINE,
GS_SOLIX TYPE SOLIX,
BINARY_CONTENT_FORECAST TYPE SOLIX_TAB,
SENT_TO_ALL TYPE OS_BOOLEAN,
MAIN_TEXT TYPE BCSY_TEXT,
SEND_REQUEST TYPE REF TO CL_BCS,
DOCUMENT TYPE REF TO CL_DOCUMENT_BCS,
RECIPIENT TYPE REF TO IF_RECIPIENT_BCS,
BCS_EXCEPTION TYPE REF TO CX_BCS,
MAILTO TYPE AD_SMTPADR.

DATA: L_IXML TYPE REF TO IF_IXML,
L_STREAMFACTORY TYPE REF TO IF_IXML_STREAM_FACTORY,
L_OSTREAM TYPE REF TO IF_IXML_OSTREAM,
L_RENDERER TYPE REF TO IF_IXML_RENDERER,
L_DOCUMENT TYPE REF TO IF_IXML_DOCUMENT.

DATA: L_ELEMENT_ROOT TYPE REF TO IF_IXML_ELEMENT,
R_ELEMENT TYPE REF TO IF_IXML_ELEMENT,
R_WORKSHEET TYPE REF TO IF_IXML_ELEMENT,
R_TABLE TYPE REF TO IF_IXML_ELEMENT,
R_COLUMN TYPE REF TO IF_IXML_ELEMENT,
R_ROW TYPE REF TO IF_IXML_ELEMENT,
R_CELL TYPE REF TO IF_IXML_ELEMENT,
R_DATA TYPE REF TO IF_IXML_ELEMENT,
L_VALUE TYPE STRING.

DATA : RELTYPE TYPE CHAR1 VALUE ‘1’ .

DATA: L_USER(30) TYPE C VALUE ‘Gavin.zuo’, "用户名
L_PWD(30) TYPE C VALUE ‘Aa@123456’, "密码
L_HOST(64) TYPE C VALUE ‘10.0.8.109’, "FTP服务器地址
L_PATH(64) TYPE C VALUE ‘/sap_fi’, "路径
L_RC2(1),
L_DEST TYPE RFCDES-RFCDEST VALUE ‘SAPFTP’. "前端:sapftp 后台运行:sapftpa.

*DATA: L_USER(30) TYPE C VALUE ‘Gavin.zuo’, "用户名

  •       L_PWD(30)  TYPE C VALUE 'Aa@123456',      "密码
    
  •       L_HOST(64) TYPE C VALUE '10.0.8.109',          "FTP服务器地址
    
  •       L_PATH(64) TYPE C VALUE '/sap_fi',               "路径
    

DATA: L_HANDLE TYPE I,
L_COMMAND(255) TYPE C,
L_COMMAND2(255) TYPE C,
L_COMMAND3(255) TYPE C,
L_RESULT TYPE TABLE OF TXMISPOROW,
L_FILENAME TYPE RLGRAP-FILENAME,
L_PWDLENGTH TYPE I,
L_LENGTH TYPE I,
L_FTPPWD(255) TYPE C,
L_KEY TYPE I VALUE 26101957,
L_ENCODING TYPE ABAP_ENCODING VALUE ‘8400’.

FIELD-SYMBOLS:
<LS_FLIGHT> TYPE SFLIGHT.

  • create a ixml factory
    L_IXML = CL_IXML=>CREATE( ).

  • create the DOM object model
    L_DOCUMENT = L_IXML->CREATE_DOCUMENT( ).

  • create workbook
    PERFORM CREATE_WORKBOOK USING L_DOCUMENT
    R_WORKSHEET
    R_TABLE.

  • column formatting
    CASE RELTYPE.
    WHEN 1.
    PERFORM FRM_FORECAST_COLUMN_FORMAT USING L_DOCUMENT R_TABLE.
    WHEN 2.
    WHEN OTHERS .
    ENDCASE.

SELECT * INTO TABLE @DATA(GT_OUTPUT) FROM T001 .

LOOP AT GT_OUTPUT INTO DATA(GS_OUTPUT) .

R_ROW = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Row’ PARENT = R_TABLE ).

  • R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
  • L_VALUE = GS_OUTPUT-PARTNER.
  • R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = L_VALUE PARENT = R_CELL ).
  • R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
L_VALUE = GS_OUTPUT-BUKRS .
R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = L_VALUE PARENT = R_CELL ).
R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

*** 风险类 RISK_CLASS
R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
L_VALUE = GS_OUTPUT-BUTXT.
R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = L_VALUE PARENT = R_CELL ).
R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

ENDLOOP .

  • creating a stream factory
    L_STREAMFACTORY = L_IXML->CREATE_STREAM_FACTORY( ).

  • connect internal xml table to stream factory
    CASE RELTYPE.
    WHEN 1.
    L_OSTREAM = L_STREAMFACTORY->CREATE_OSTREAM_ITABLE( TABLE = L_XML_TABLE_FORECAST ).
    WHEN 2.
    WHEN OTHERS.
    ENDCASE.

  • rendering the document
    L_RENDERER = L_IXML->CREATE_RENDERER( OSTREAM = L_OSTREAM DOCUMENT = L_DOCUMENT ).
    L_RC = L_RENDERER->RENDER( ).

  • saving the xml document
    L_XML_SIZE = L_OSTREAM->GET_NUM_WRITTEN_RAW( ).

LOOP AT L_XML_TABLE_FORECAST INTO WA_XML.
CLEAR GS_SOLIX.
GS_SOLIX-LINE = WA_XML-DATA.
APPEND GS_SOLIX TO BINARY_CONTENT_FORECAST.
ENDLOOP.

PARAMETERS : P_PARARM TYPE FLAG .

*** FTP 数据

L_PWDLENGTH = STRLEN( L_PWD ).
IF SY-BATCH = ‘X’.
L_DEST = ‘SAPFTPA’.
ELSE.
L_DEST = ‘SAPFTP’.
ENDIF.
*******开始FTP传输数据
CALL FUNCTION ‘HTTP_SCRAMBLE’ "密码加密
EXPORTING
SOURCE = L_PWD
SOURCELEN = L_PWDLENGTH
KEY = L_KEY
IMPORTING
DESTINATION = L_FTPPWD.

"创建FTP连接

CALL FUNCTION ‘FTP_CONNECT’
EXPORTING
USER = L_USER
PASSWORD = L_FTPPWD
HOST = L_HOST
RFC_DESTINATION = L_DEST
IMPORTING
HANDLE = L_HANDLE
EXCEPTIONS
NOT_CONNECTED = 1
OTHERS = 2.

IF SY-SUBRC <> 0.
MESSAGE ‘FTP path error’ TYPE ‘S’ DISPLAY LIKE ‘E’.
LEAVE LIST-PROCESSING.
ENDIF.

L_RC2 = COND #( WHEN L_PATH+(1) = ‘/’ THEN ’ ’ ELSE ’ /’ ).
CONCATENATE ‘cd’ L_PATH INTO L_COMMAND SEPARATED BY L_RC2. "拼接FTP命令,这里是打开文件夹地址

CALL FUNCTION ‘FTP_COMMAND’ "执行FTP命令
EXPORTING
HANDLE = L_HANDLE
COMMAND = L_COMMAND
TABLES
DATA = L_RESULT
EXCEPTIONS
TCPIP_ERROR = 1
COMMAND_ERROR = 2
DATA_ERROR = 3
OTHERS = 4.

IF SY-SUBRC <> 0.

  • PERFORM ftp_disconnect USING l_handle l_dest.
    MESSAGE ‘FTP path error’ TYPE ‘E’.
    ENDIF.

CALL FUNCTION ‘FTP_R3_TO_SERVER’
EXPORTING
HANDLE = L_HANDLE
FNAME = ‘FICO-DATA.xls’
BLOB_LENGTH = L_XML_SIZE

  • CHARACTER_MODE = ‘’
    TABLES
    BLOB = BINARY_CONTENT_FORECAST
    EXCEPTIONS
    TCPIP_ERROR = 1
    COMMAND_ERROR = 2
    DATA_ERROR = 3
    OTHERS = 4.

IF SY-SUBRC = 0.

  • LOOP AT GT_OUT INTO GS_OUT.
  • GS_OUT-RV_FLAG = ‘X’.
  • MODIFY GT_OUT FROM GS_OUT.
  • ENDLOOP.
    ENDIF.

"关闭FTP 连接
CALL FUNCTION ‘FTP_DISCONNECT’
EXPORTING
HANDLE = L_HANDLE.

CALL FUNCTION ‘RFC_CONNECTION_CLOSE’
EXPORTING
DESTINATION = L_DEST
EXCEPTIONS
DESTINATION_NOT_OPEN = 1
OTHERS = 2.

IF SY-BATCH IS INITIAL .

DATA : FULLPATH TYPE STRING .

FULLPATH = ‘D:\123456tt.xls’ .

CALL FUNCTION ‘GUI_DOWNLOAD’
EXPORTING
FILENAME = FULLPATH
FILETYPE = ‘BIN’

  • has_field_separator     = '#'
    
    TABLES
    DATA_TAB = BINARY_CONTENT_FORECAST
    EXCEPTIONS
    FILE_OPEN_ERROR = 1
    FILE_READ_ERROR = 2
    NO_BATCH = 3
    GUI_REFUSE_FILETRANSFER = 4
    INVALID_TYPE = 5
    NO_AUTHORITY = 6
    UNKNOWN_ERROR = 7
    BAD_DATA_FORMAT = 8
    HEADER_NOT_ALLOWED = 9
    SEPARATOR_NOT_ALLOWED = 10
    HEADER_TOO_LONG = 11
    UNKNOWN_DP_ERROR = 12
    ACCESS_DENIED = 13
    DP_OUT_OF_MEMORY = 14
    DISK_FULL = 15
    DP_TIMEOUT = 16
    OTHERS = 17.
    IF SY-SUBRC <> 0 .
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDIF.

&---------------------------------------------------------------------
*& Form CREATE_WORKBOOK
&---------------------------------------------------------------------
*& text
&---------------------------------------------------------------------
*& --> L_DOCUMENT
*& --> R_WORKSHEET
*& --> R_TABLE
&---------------------------------------------------------------------
FORM CREATE_WORKBOOK USING L_DOCUMENT TYPE REF TO IF_IXML_DOCUMENT
R_WORKSHEET TYPE REF TO IF_IXML_ELEMENT
R_TABLE TYPE REF TO IF_IXML_ELEMENT.
DATA: L_ELEMENT_ROOT TYPE REF TO IF_IXML_ELEMENT,
NS_ATTRIBUTE TYPE REF TO IF_IXML_ATTRIBUTE,
R_ELEMENT_PROPERTIES TYPE REF TO IF_IXML_ELEMENT,
L_VALUE TYPE STRING.

  • create root node ‘workbook’
    L_ELEMENT_ROOT = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Workbook’ PARENT = L_DOCUMENT ).
    L_ELEMENT_ROOT->SET_ATTRIBUTE( NAME = ‘xmlns’ VALUE = ‘urn:schemas-microsoft-com🏢spreadsheet’ ).

NS_ATTRIBUTE = L_DOCUMENT->CREATE_NAMESPACE_DECL( NAME = ‘ss’ PREFIX = ‘xmlns’
URI = ‘urn:schemas-microsoft-com🏢附件客户SAP信用额度已超70%,请及时维护!’ ). " urn:schemas-microsoft-com🏢spreadsheet
L_ELEMENT_ROOT->SET_ATTRIBUTE_NODE( NS_ATTRIBUTE ).

NS_ATTRIBUTE = L_DOCUMENT->CREATE_NAMESPACE_DECL( NAME = ‘x’ PREFIX = ‘xmlns’
URI = ‘urn:schemas-microsoft-com🏢excel’ ).
L_ELEMENT_ROOT->SET_ATTRIBUTE_NODE( NS_ATTRIBUTE ).

  • create node for document properties
    R_ELEMENT_PROPERTIES = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘TEST_REPORT’ PARENT = L_ELEMENT_ROOT ).
    L_VALUE = SY-UNAME.
    L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Author’ VALUE = L_VALUE PARENT = R_ELEMENT_PROPERTIES ).

  • worksheet
    R_WORKSHEET = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Worksheet’ PARENT = L_ELEMENT_ROOT ).
    R_WORKSHEET->SET_ATTRIBUTE_NS( NAME = ‘Name’ PREFIX = ‘ss’ VALUE = ‘导出数据’ ).

  • table
    R_TABLE = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Table’ PARENT = R_WORKSHEET ).
    R_TABLE->SET_ATTRIBUTE_NS( NAME = ‘FullColumns’ PREFIX = ‘x’ VALUE = ‘1’ ) .
    R_TABLE->SET_ATTRIBUTE_NS( NAME = ‘FullRows’ PREFIX = ‘x’ VALUE = ‘1’ ) .

ENDFORM.
&---------------------------------------------------------------------
*& Form FRM_FORECAST_COLUMN_FORMAT
&---------------------------------------------------------------------
*& text
&---------------------------------------------------------------------
*& --> L_DOCUMENT
*& --> R_TABLE
&---------------------------------------------------------------------
FORM FRM_FORECAST_COLUMN_FORMAT USING L_DOCUMENT TYPE REF TO IF_IXML_DOCUMENT
R_TABLE TYPE REF TO IF_IXML_ELEMENT.

DATA: L_ELEMENT_ROOT TYPE REF TO IF_IXML_ELEMENT,
R_COLUMN TYPE REF TO IF_IXML_ELEMENT,
R_ROW TYPE REF TO IF_IXML_ELEMENT,
R_CELL TYPE REF TO IF_IXML_ELEMENT,
R_DATA TYPE REF TO IF_IXML_ELEMENT,
L_VALUE TYPE STRING.
DATA: LV_SHORT TYPE STRING,
LV_MEDIUM TYPE STRING,
LV_LONG TYPE STRING,
LV_EXE_DATE TYPE CHAR10,
LV_EXE_TIME TYPE CHAR10,
LV_EXE_USER TYPE STRING,
LT_MONTH_NAMES TYPE TABLE OF T247,
LS_MONTH_NAME TYPE T247,
LV_DATE_ADD TYPE SY-DATUM,
LV_COUNT TYPE I.

LV_SHORT = ‘60’.
LV_MEDIUM = ‘90’.
LV_LONG = ‘150’.

WRITE SY-DATUM TO LV_EXE_DATE.
CONCATENATE SY-UZEIT+0(2) ‘:’ SY-UZEIT+2(2) INTO LV_EXE_TIME.
LV_EXE_USER = SY-UNAME.

CALL FUNCTION ‘MONTH_NAMES_GET’
EXPORTING
LANGUAGE = SY-LANGU
TABLES
MONTH_NAMES = LT_MONTH_NAMES
EXCEPTIONS
MONTH_NAMES_NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC = 0.
READ TABLE LT_MONTH_NAMES WITH KEY MNR = SY-DATUM+4(2) INTO LS_MONTH_NAME.
ENDIF.

  • columns and width
  • line
    DO 1 TIMES.
    R_COLUMN = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Column’ PARENT = R_TABLE ).
    R_COLUMN->SET_ATTRIBUTE_NS( NAME = ‘Width’ PREFIX = ‘ss’ VALUE = LV_SHORT ).
    ENDDO.

DO 14 TIMES.
R_COLUMN = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Column’ PARENT = R_TABLE ).
ENDDO.

  • information row
    R_ROW = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Row’ PARENT = R_TABLE ).
    R_ROW->SET_ATTRIBUTE_NS( NAME = ‘AutoFitHeight’ PREFIX = ‘ss’ VALUE = ‘1’ ).

  • type
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    L_VALUE = ‘信贷使用率超过70的客户’.
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = L_VALUE PARENT = R_CELL ).
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • Column Headers Row
    R_ROW = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Row’ PARENT = R_TABLE ).
    R_ROW->SET_ATTRIBUTE_NS( NAME = ‘AutoFitHeight’ PREFIX = ‘ss’ VALUE = ‘1’ ).

  • DO 3 TIMES.

  • R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).

  • ENDDO.

  • name
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    L_VALUE = SY-UNAME.
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = L_VALUE PARENT = R_CELL ). " Data
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • Date
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    L_VALUE = LV_EXE_DATE.
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = L_VALUE PARENT = R_CELL ). " Data
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • Time
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    L_VALUE = LV_EXE_TIME.
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = L_VALUE PARENT = R_CELL ). " Data
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • Column Headers Row
    R_ROW = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Row’ PARENT = R_TABLE ).
    R_ROW->SET_ATTRIBUTE_NS( NAME = ‘AutoFitHeight’ PREFIX = ‘ss’ VALUE = ‘1’ ).

  • mandt
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = ‘客户’ PARENT = R_CELL ).
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • carrid
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = ‘名称’ PARENT = R_CELL ).
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • 风险
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = ‘风险类’ PARENT = R_CELL ).
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • connid
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = ‘信用额度’ PARENT = R_CELL ).
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = ‘已使用额’ PARENT = R_CELL ).
R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • fldate
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = ‘使用百分比’ PARENT = R_CELL ).
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • 敞口金额
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = ‘敞口金额’ PARENT = R_CELL ).
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • 冻结
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = ‘冻结’ PARENT = R_CELL ).
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

  • 原因
    R_CELL = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Cell’ PARENT = R_ROW ).
    R_DATA = L_DOCUMENT->CREATE_SIMPLE_ELEMENT( NAME = ‘Data’ VALUE = ‘原因’ PARENT = R_CELL ).
    R_DATA->SET_ATTRIBUTE_NS( NAME = ‘Type’ PREFIX = ‘ss’ VALUE = ‘String’ ).

ENDFORM.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值