Выгрузка файла на сервер

Для выгрузки данных на сервер используются операторы OPEN DATASET, WRITE DATASET, CLOSE DATASET.

Открытие файла

Для того, чтобы открыть файл на сервере как бинарный на запись, используется синтаксис ниже, где в поле fname — полное имя файла.

Режимы доступа к файлу:

  • FOR OUTPUT означает, что файл открыт для записи, имеющееся содержимое, если есть, будет перезаписано. Если файл отсутствует, то будет создан.
  • FOR INPUT — для чтения. По умолчанию, указатель на начале файла. Если файл отсутствует, то sy-subrc = 8.
  • FOR APPENDING — для добавления данных в файл. Если файл отсутствует, то он будет создан. Указатель устанавливается в конец файла.
  • FOR UPDATE — для обновления существующего содержимого файла. Указатель устанавливается на начало файла. Если файл отсутствует, то sy-subrc = 8.

Режимы открытия файла:

  • BINARY MODE — открывает файл как двоичный. При записи двоичный контент передается в файл без изменений.
  • TEXT MODE — открывает файл как текстовый. При помощи ENCODING можно указывать кодировку. Конец строки обозначается символом перевода на новую строку.
  • LEGACY BINARY MODE — устаревший синтаксис, позволяет открывать файл как двоичный. При этом учитывается размер данных в байтах.
  • LEGACY TEXT MODE — устаревший синтаксис, позволяет открывать файл как текстовый. В этом случае, как и в старых двоичных файлах, можно указать как порядок байтов, так и кодовую страницу, используемую для обработки содержимого файла. Параметр LENGTH в операторах READ DATASET и TRANSFER используется для подсчета в байтах, а в обычных текстовых файлах, открытых с помощью TEXT MODE — в символах.

 

Заметка: Для записи в кодировке cp1251  для кириллицы в Windows используется конструкция

Запись в файл

Запись происходит с помощью оператора WRITE DATASET. Переменная line в данном случае должен быть в бинарном формате. Оператор TRANSFER  всегда возвращает sy-subrc = 0 или вызывает исключение.

Дополнение LENGTH позволяет указать размер записываемых в файл данных.

NO END OF LINE — не добавляется символ конца строки.

Закрытие файла

 

Добавить комментарий

Обязательные поля отмечены *. Ваш email не будет отображаться.