[quote="Mitya"]Была задача конектится сапом к БД Interbase, почитав форум понял что это возможнно(правда медленно) через ADO.CONNECTION. Почитав и по экспериментировав в конечном итоге родился ФМ, может конечно он и криворват, но работает. Может кому пригодится.
FUNCTION z_db_ado_connect.
*"----------------------------------------------------------------------
*"*"Локальный интерфейс:
*" IMPORTING
*" REFERENCE(SQL) TYPE STRING
*" REFERENCE(INITSTR) TYPE STRING
*" REFERENCE(FC) TYPE SLIS_T_FIELDCAT_ALV
*" TABLES
*" INTAB_DB
*"----------------------------------------------------------------------
[/code]
использую Вашу функцию в своей программе
Code:
TYPE-POOLS: slis.
tables: ZNAME.
data: sql type STRING,
FC TYPE SLIS_T_FIELDCAT_ALV,
initstr type string.
DATA:
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv
.
data: INTAB_DB type STANDARD TABLE OF ZNAME.
data: wa like LINE OF INTAB_DB.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'NAME'.
ls_fieldcat-fieldname = 'ID'.
APPEND ls_fieldcat TO lt_fieldcaT.
CLEAR ls_fieldcat.
ls_fieldcat-tabname = 'NAME'.
ls_fieldcat-fieldname = 'SHORT_NAME '.
APPEND ls_fieldcat TO lt_fieldcaT.
sql = 'SELECT * FROM name'.
* ... понятно конкретные значения
concatenate
'Provider=LCPI.IBProvider.3.Free'
'Persist Security Info=False'
'User ID=....'
'Password=....'
'Location=.....FOREPF.IB'
into initstr separated by ';'.
CALL FUNCTION 'Z_DB_ADO_CONNECT'
EXPORTING
SQL = sql
INITSTR = initstr
FC = lt_fieldcaT
TABLES
INTAB_DB = INTAB_DB.
после connect SY-SUBRC = 0, а
строка
Code:
GET PROPERTY OF adors 'EOF' = eof.
выполняется с SY-SUBRC = 2. и
eof пусто.
подскажите, пожалуйста, в чем ошибка