Możesz to zrobić na kilka sposobów.
Jeśli korzystasz z SAP BW, istnieje wiele standardowych narzędzi, które pomogą Ci przeprowadzić ekstrakcje i zautomatyzować procesy.
W przeciwnym razie możesz napisać prosty program ABAP (typ 1) do odczytywania danych z tabel i umieszczania ich w płaskim pliku.
W przeciwnym razie mógłbyś napisać moduł funkcyjny ze zdalnym dostępem (RFC) i wywołać go za pomocą biblioteki RFC SAP.
Możesz także owinąć swoją funkcję RFC usługą internetową i wywołać ją przez SOAP/HTTP.
Wreszcie, jeśli masz dostęp do bazy danych, możesz nawet napisać skrypt, aby wyodrębnić potrzebne dane.
Prosty przykład programu do wyodrębniania czegoś z tabeli DB:
report ZEXTRACT_EXAMPLE.
data: lt_t001 type table of t001.
data: ls_t001 type t001.
data: lv_filename type string value '/tmp/outfile.txt'.
select * from t001 into table lt_t001.
open dataset lv_filename for output in text mode encoding default.
loop at lt_t001 into ls_t001.
transfer ls_t001-bukrs to lv_filename.
endloop.
close dataset lv_filename.
To naprawdę prymitywne, ale masz pomysł. Wybiera dane z tabeli bazy danych do wewnętrznej tabeli (w pamięci) i zapisuje je w pliku o nazwie /tmp/outfile.txt
na serwerze, skąd możesz go odebrać. (Musisz zmienić dane wyjściowe, aby były w wymaganym formacie).
Następnie możesz zaplanować okresowe uruchamianie programu z SM36 jako zadanie w tle.