Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

READ DATA FROM SQL SERVER

Former Member
0 Likes
415

some times you need to read data from non sap tables for example SQL server.I read SQL server tables as input tables in PP barcode.

to do this i'v created a new database connection via st04 tcode.

in abap i'v created code like bellow:

DATA: wa_barcode TYPE zpp_barcode ,

lt_barcode TYPE TABLE OF zpp_barcode ,

wa_wrk TYPE ZPP_WORKCENTER ,

stTime TYPE c LENGTH 10 ,

edTime TYPE c LENGTH 10 .

data: WRKCNTR TYPE zpp_barcode-ARBPL ,

BEGDA TYPE zpp_barcode-BEGDA ,

BEGTM TYPE zpp_barcode-BEGTM ,

MLD_BEGDA TYPE ZPP_MB-INITDATE ,

READ_DELETED TYPE c LENGTH 1 ,

E_rows TYPE i .

data: BEGIN OF wa_mld ,

MBID TYPE ZPP_MB-MBID ,

MNUMBER TYPE ZPP_MB-MNUMBER ,

INITDATE TYPE ZPP_MB-INITDATE ,

INITTM TYPE ZPP_MB-INITTM ,

DELETETAG TYPE ZPP_MB-DELETETAG ,

END OF wa_mld , it_mld like TABLE OF wa_mld .

data: BEGIN OF wa_mld_DET ,

MBDETAILID TYPE ZPP_MBDETAIL-MBDETAILID,

MBID TYPE ZPP_MB-MBID ,

PRODUCTID TYPE ZPP_MBDETAIL-PRODUCTID,

END OF wa_mld_det , it_mld_det like TABLE OF wa_mld_det .

.

.

.

EXEC SQL.

CONNECT TO 'ZSH'

ENDEXEC.

IF sy-subrc <> 0.

MESSAGE 'Unable to connect to ZSH' TYPE 'E' DISPLAY LIKE 'I'.

RETURN.

ENDIF.

exec SQl.

OPEN dbcur FOR

SELECT GMDId , WorkStationId , OperationID, ToolID, FirstOp, SecondOp,

ThirdOp , startdate, StartTime, ENDDate, ENDTime, DeviceID,

ProductID ,OperationFinished ,IsDamage , ISMOULD

FROM [dbo].[FM_Read_GMD1] ( :WRKCNTR , :BEGDA, :BEGTM , :READ_DELETED )

ENDEXEC.

  • Fill customer itab

DO.

EXEC SQL.

FETCH NEXT dbcur INTO :wa_barcode-GMDID,

:wa_barcode-ARBPL,

:wa_barcode-EVENT ,

:wa_barcode-TOOLID ,

:wa_barcode-OPERATOR1 ,

:wa_barcode-OPERATOR2 ,

:wa_barcode-OPERATOR3 ,

:wa_barcode-BEGDA ,

:stTime ,

:wa_barcode-ENDDA ,

:edTime ,

:wa_barcode-DEVICEID ,

:wa_barcode-FNLCONFRM ,

:wa_barcode-ISDAMAGE ,

:wa_barcode-CONF_NO ,

:wa_barcode-ISMOULD

ENDEXEC.

APPEND wa_barcode to lt_barcode .

ENDDO.

EXEC SQL .

UPDATE GMD SET DeleteTag = 'true' WHERE (DeleteTag IS NULL)

ENDEXEC.

EXEC SQL.

CLOSE dbcur

ENDEXEC.

1 REPLY 1
Read only

madhu_vadlamani
Active Contributor
0 Likes
332

Hi Reza,

It is fine. What is the business requirement.

Regards,

Madhu.