‎2007 Sep 10 7:33 AM
Hi,
Can anyone send me description or code to create a connection to MSACCESS Database and Upload Data from there into my SAP Tables. I dont want to use EXCEL i only want to use Access only.
Thanks,
Usman Malik
‎2007 Sep 10 10:10 AM
Please find the code below:
REPORT zdata_access_sap
MESSAGE-ID 00
NO STANDARD PAGE HEADING
LINE-SIZE 200
LINE-COUNT 65.
INCLUDE ole2incl.
DATA: con TYPE ole2_object,
rec TYPE ole2_object.
DATA sql(1023).
DATA: BEGIN OF spl OCCURS 0,
val(1023),
END OF spl.
DATA: BEGIN OF i1 OCCURS 0,
f1 TYPE i ,
f2(10),
f3(10),
END OF i1.
IF con-header IS INITIAL OR con-handle = -1.
CREATE OBJECT con 'adodb.connection'.
IF NOT sy-subrc = 0.
EXIT.
ENDIF.
CREATE OBJECT rec 'adodb.recordset'.
IF NOT sy-subrc = 0.
EXIT.
ENDIF.
ENDIF.
* MDB Connetion Infomations
.
CONCATENATE 'provider=' '"Microsoft.Jet.OLEDB.4.0' ';'
into sql.
CONCATENATE sql 'password=' '" "' ';'
INTO sql.
CONCATENATE sql 'user id=' '"admin"' ';'
INTO sql.
CONCATENATE sql 'data source=' '"c:mm.mdb"' ';'
into sql.
CONCATENATE sql 'mode=' '"share deny none"'
INTO sql.
* MDB Connection
CALL METHOD OF con 'open'
EXPORTING #1 = sql.
*
* Query (Insert) Statement
sql = 'insert INTO [test] VALUES('.
CONCATENATE sql '"a"' ',' '"1"' ')' into sql.
* Query Run
CALL METHOD OF rec 'open'
EXPORTING #1 = sql
#2 = con
#3 = '1'.
* Query (Select) Statement
sql = 'select * from[test]'.
* Query Run
CALL METHOD OF rec 'open'
EXPORTING #1 = sql
#2 = con
#3 = '1'.
* Selecting MDB Record Into SAP Internal Table
DO.
CALL METHOD OF rec 'getstring' = sql
EXPORTING #1 = '2' "do not modify!
#2 = 1 "do not modify!
#3 = '|' "do not modify!
#4 = '|'."do not modify!
if sy-subrc eq 0.
REFRESH spl. CLEAR spl.
SPLIT sql AT '|' INTO TABLE spl.
LOOP AT spl.
CASE sy-tabix.
WHEN 1.
i1-f1 = spl-val.
WHEN 2.
i1-f2 = spl-val.
WHEN OTHERS.
i1-f3 = spl-val.
ENDCASE.
ENDLOOP.
APPEND i1. CLEAR i1.
ELSE.
EXIT.
ENDIF.
ENDDO.
* Result Writing
LOOP AT i1.
WRITE: AT /1(10) i1-f1,
AT (10) i1-f2, AT (20) i1-f3.
ENDLOOP.
* Connetion Close & Destroy
FREE OBJECT con.
FREE OBJECT rec.Hope That Helps
Anirban M.