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

how do to abap program for following query

Former Member
0 Likes
1,911

SELECT A.MANDT,A.MATKL,T023T.WGBEZ AS GRP_DESCR,A.MATNR AS ITEM_CODE,(SELECT MAKTX FROM SAPABAP1.MAKT WHERE MANDT = A.MANDT AND MATNR = A.MATNR) AS ITEM_DESCR,

SUM(A.MENGE) * -1 AS QUANTITY,MAX(A.NET_WT) AS NET_WT,SUM(A.WEIGHT) * -1 AS WEIGHT FROM

(

SELECT MATDOC.MANDT,MARA.MATKL,MARA.MATNR,

CASEWHEN MATDOC.SHKZG = 'H'THEN MATDOC.MENGE * -1 ELSE MATDOC.MENGE ENDAS MENGE,

MARA.NTGEW AS NET_WT,CASEWHEN MATDOC.SHKZG = 'H'THEN MATDOC.MENGE * -1 ELSE MATDOC.MENGE END * MARA.NTGEW AS WEIGHT

FROM SAPABAP1.MATDOC,SAPABAP1.MARA WHERE

MATDOC.MANDT = MARA.MANDT AND MATDOC.MATNR = MARA.MATNR AND

MATDOC.BWART IN ('601','602','641','642') AND

MATDOC.MANDT = '500'

AND ((MATDOC.MATNR BETWEEN'RLTOWT1004WH'AND'RLTOWT1004WH') OR (MATDOC.MATNR LIKE'%RLTOWT1004WH%'OR INSTR('RLTOWT1004WH',MATDOC.MATNR) > 0))

AND ((MARA.MATKL BETWEEN''AND'') OR (MARA.MATKL LIKE'%%'OR INSTR('',MARA.MATKL) > 0))

AND (MATDOC.WERKS LIKE'%3030%'OR INSTR('3030',MATDOC.WERKS) > 0)

AND MATDOC.BUDAT BETWEEN'20180901'AND'20180927'

) A,SAPABAP1.T023T

WHERE A.MANDT = T023T.MANDT AND T023T.SPRAS='E'AND T023T.MATKL = A.MATKL

GROUPBY A.MANDT,A.MATKL,T023T.WGBEZ,A.MATNR;

SELECT A.MANDT,A.MATKL,T023T.WGBEZ AS GRP_DESCR,A.MATNR AS ITEM_CODE,(SELECT MAKTX FROM SAPABAP1.MAKT WHERE MANDT = A.MANDT AND MATNR = A.MATNR) AS ITEM_DESCR,

SUM(A.MENGE) * -1 AS QUANTITY,MAX(A.NET_WT) AS NET_WT,SUM(A.WEIGHT) * -1 AS WEIGHT FROM

(

SELECT MATDOC.MANDT,MARA.MATKL,MARA.MATNR,

CASEWHEN MATDOC.SHKZG = 'H'THEN MATDOC.MENGE * -1 ELSE MATDOC.MENGE ENDAS MENGE,

MARA.NTGEW AS NET_WT,CASEWHEN MATDOC.SHKZG = 'H'THEN MATDOC.MENGE * -1 ELSE MATDOC.MENGE END * MARA.NTGEW AS WEIGHT

FROM SAPABAP1.MATDOC,SAPABAP1.MARA WHERE

MATDOC.MANDT = MARA.MANDT AND MATDOC.MATNR = MARA.MATNR AND

MATDOC.BWART IN ('601','602','641','642') AND

MATDOC.MANDT = '500'

AND ((MATDOC.MATNR BETWEEN'RLTOWT1004WH'AND'RLTOWT1004WH') OR (MATDOC.MATNR LIKE'%RLTOWT1004WH%'OR INSTR('RLTOWT1004WH',MATDOC.MATNR) > 0))

AND ((MARA.MATKL BETWEEN''AND'') OR (MARA.MATKL LIKE'%%'OR INSTR('',MARA.MATKL) > 0))

AND (MATDOC.WERKS LIKE'%3030%'OR INSTR('3030',MATDOC.WERKS) > 0)

AND MATDOC.BUDAT BETWEEN'20180901'AND'20180927'

) A,SAPABAP1.T023T

WHERE A.MANDT = T023T.MANDT AND T023T.SPRAS='E'AND T023T.MATKL = A.MATKL

GROUPBY A.MANDT,A.MATKL,T023T.WGBEZ,A.MATNR;

6 REPLIES 6
Read only

mmcisme1
Active Contributor
0 Likes
1,597

You aren't getting an answer because none of us know what you really want. Is there a certain place where you have an issue? Do you want an example of something to help you out?

Read only

matt
Active Contributor
0 Likes
1,597

What have you tried?

Read only

matt
Active Contributor
1,597

If you don't know the basics of OpenSQL, you can encapsulate the SQL into a string, and then run it via ADBC. Or possibly just use an AMDP.

Read only

Jean_Sagi
Participant
1,597

With a lot of care !

It looks like the syntax used is sql-server transact sql.

In order to translate that query to an ABAP program do yo need to know ABAP and transact-sql.

So the question is: Do you already know both?

J.

Read only

Former Member
0 Likes
1,597

Sorry, I get forget to mention that for which purpose it is need it.

I need it for ALV report.

Read only

sudarshan_d29
Active Participant
0 Likes
1,597

Hi,

Final table structure is denoted as "AS" below + Selection from MATDOC and MARA

MANDT AS MANDT

MATKL AS MATKL

T023T-WGBEZ AS GRP_DESCR

MATNR AS MATNR

(SELECT MAKTX FROM SAPABAP1.MAKT WHERE MANDT = A.MANDT AND MATNR = A.MATNR) AS ITEM_DESCR

SUM(A.MENGE) * -1 AS QUANTITY MAX(A.NET_WT) AS NET_WT

SUM(A.WEIGHT) * -1 AS WEIGHT

CASEWHEN MATDOC.SHKZG = 'H'THEN MATDOC.MENGE * -1 ELSE MATDOC.MENGE END AS MENGE MARA.

NTGEW AS NET_WT CASEWHEN MATDOC.SHKZG = 'H'THEN MATDOC.MENGE * -1 ELSE MATDOC.MENGE END * MARA.NTGEW AS WEIGHT

FROM SAPABAP1.MATDOC,SAPABAP1.MARA

**********Where Condition

WHERE MATDOC.MANDT = MARA.MANDT

AND MATDOC.MATNR = MARA.MATNR

AND MATDOC.BWART IN ('601','602','641','642')

AND MATDOC.MANDT = '500'

AND ((MATDOC.MATNR BETWEEN'RLTOWT1004WH'AND'RLTOWT1004WH') OR (MATDOC.MATNR LIKE'%RLTOWT1004WH%'OR INSTR('RLTOWT1004WH',MATDOC.MATNR) > 0))

AND ((MARA.MATKL BETWEEN''AND'') OR (MARA.MATKL LIKE'%%'OR INSTR('',MARA.MATKL) > 0))

AND (MATDOC.WERKS LIKE'%3030%'OR INSTR('3030',MATDOC.WERKS) > 0)

AND MATDOC.BUDAT BETWEEN'20180901'AND'20180927' ) A,SAPABAP1.T023T

WHERE A.MANDT = T023T.MANDT

AND T023T.SPRAS='E'

AND T023T.MATKL = A.MATKL GROUPBY A.MANDT,A.MATKL,T023T.WGBEZ,A.MATNR;

Hope you got it!!!!