写txt文本数据到服务器的用法:
首先,T-CODE: AL11 可以查看SAP Directory,也就是查看服务器地址(具体的使用方法,可以参考另外一个文章专门介绍AL11)
程序中的具体逻辑如下:
1、p_logic LIKE path-pathintern VALUE 'ZINTG_DATA '. 目前来看是写定的,已配好(针对我们自己的)
SELECT SINGLE p~pathextern INTO DSN
FROM path AS p JOIN opsystem AS o
ON p~filesys = o~filesys
WHERE p~pathintern = p_logic
AND o~opsys = sy-opsys.IF sy-subrc = 0.
REPLACE: '<FILENAME>' IN DSN WITH 'ts_i_036.txt' . 这句就是写上文档名字
ELSE.
这段select是抓取directory路径,有些是不需要抓取的,选择屏幕就可以输入路径,路径如果有问题,open的时候会dump掉。
PARAMETERS: p_path(200) DEFAULT '/interface/data1/TS_I_ZFIR146.txt'
LOWER CASE,
2、 open dataset dsn for outputin text mode ENCODING NON-UNICODE IGNORING CONVERSION ERRORS. 打开服务器地址
open dataset的使用:
OPEN DATASET dset FOR access IN mode [position]
[os_additions]
[error_handling].
Dset 是指文件路径
Assess 文件的访问方式,有INPUT OUTPUT APPENDING UPDATE
分别是读、写、append、change
Mode 文件访问模式,有BINARY TEXT LEGACY BINARY BEGACY TEXT
BINARY :
TEXT :
LEGACY BINARY:
BEGACYTEXT :
Position 设置文件的起始读取位置
Os_conditions 设置系统设置
Error_handing 存放错误信息的,MESSAGE msg IGNORING CONVERSION ERRORS REPLACEMENT CHARACTER
3、 Open dataset 之前进行权限检查:
CALL FUNCTION 'AUTHORITY_CHECK_DATASET'
EXPORTING
program = sy-cprog
activity = sabc_act_write
filename = l_file
EXCEPTIONS
no_authority = 1
activity_unknown = 2
OTHERS = 3.
4、写数据到服务器:
loop at isale3.
transfer isale3 to dsn.
endloop.
close dataset dsn.
5、写完数据就要关闭服务器地址:CLOSE DATASET file.