Tiene varias opciones para hacer esto.
Si está ejecutando SAP BW, hay muchas herramientas estándar para ayudarlo a realizar extracciones y automatizar los procesos.
De lo contrario, puede escribir un programa ABAP simple (tipo 1) para leer datos de tablas y ponerlos en un archivo plano.
De lo contrario, podría escribir un módulo de función habilitado remotamente (RFC) y llamarlo utilizando la biblioteca de RFC de SAP.
También puede ajustar su función de RFC con un servicio web y llamarla a través de SOAP/HTTP.
Por último, si tiene acceso a la base de datos, es posible que incluso pueda escribir una secuencia de comandos para extraer los datos que necesita.
Un ejemplo sencillo de un programa para extraer algo de una tabla de base de datos:
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.
Esto es muy primitivo, pero se entiende la idea. Selecciona los datos de una tabla DB en una tabla interna (en la memoria) y los escribe en un archivo llamado /tmp/outfile.txt
en el servidor, desde donde puede recogerlo. (Debería modificar la salida para que esté en su formato requerido).
Puede programar su programa con SM36 para que se ejecute periódicamente como trabajo de fondo.
Gracias. Voy a probar esto. – Joshua1729
@mydoghasworms: Bueno, este programa apenas funcionará si la tabla tiene, por ejemplo, 10 millones de registros. Uno debería usar la instrucción 'OPEN CURSOR' para seleccionar los datos y luego escribirlos sucesivamente en un archivo. – Jagger
@mydoghasworms: Una cosa más ... si la tabla contiene algunos campos que no son de carácter, obtendrá una longitud diferente para, por ejemplo, enteros o decimales en el archivo de texto. – Jagger