SQL을 좀 더 이용하기 편하게 만들어 놓은 프로그램 같습니다.
참고 하시면 좋을듯 싶어서 이렇게 올립니다.
1. SELECT * : 는 적용이 않됩니다.
2. FROM 은 반드시 앞에 한칸 띄워줘야 합니다.
ex)
select
ZSCMT011~VBELN
from ZSCMT011
댓글 12
-
삽질인
2007.06.14 17:15
오우 좋은 프로그램 감사합니다. -
강진규
2007.06.14 19:57
감사합니다.
-
소주와 막걸리
2007.06.15 00:29
좋은 자료 감사 합니다.
그런데 4.6C 에서는 컴파일 ERR가 발생 하는 군요.
Source를 비교해보니 보니 sap enterprise 와 4.6 틀린 부분이 없습니다.
혹시 4.6에서는 실행 해보았는지요.
-
하늘만
2007.06.15 02:00
아네.. 제가 4.6C은 접근할 수 있는 시스템이 없어서 확인 못했습니다.
죄송합니다. 좀더 test를 해보고 올려야하는데 불편을 드려서..
-
김지성
2007.06.20 17:35
저희 서버에도 설치되어 있는 프로그램인데...아주 좋네요..
단점은 SQL문이 작성을 잘하셔야...
예제 올려봅니다.
프로그램 : se38이나 se80에서 프로그램면 입력 후 실행
1) Open
Select
Mard~matnr
Makt~maktx
From Makt
Inner Join Mard
on Makt~matnr = Mard~matnr
Where Makt~Spras = SY-LANGU
2) Native Oracle
SELECT Mard.matnr,
Makt.maktx
From Makt, Mard
Where Makt.mandt = Mard.mandt
And Makt.matnr = Mard.matnr
And Makt.mandt = :SY-MANDT
And Makt.spras = :SY-LANGU
3) KONV is Cluster - BAD LUCK!
Select VBRK~VBELN
VBRP~POSNR
KONV~KSCHL
KONV~KWERT
From ( VBRK Inner Join VBRP
On VBRK~VBELN = VBRP~VBELN )
Inner Join KONV
On VBRK~KNUMV = KONV~KNUMV
And VBRP~POSNR = KONV~KPOSN
4) KONV is Cluster - BAD LUCK!
Select KONV~KNUMV
KONV~KPOSN
KONV~KSCHL
KONV~KWERT
From KONV
Where KONV~KNUMV in (
Select VBRK~KNUMV
From VBRK Inner Join VBRP
On VBRK~VBELN = VBRP~VBELN
Where VBRK~KNUMV = KONV~KNUMV
And VBRP~POSNR = KONV~KPOSN
)
5) Open
Select VBRP~MATNR
Sum( VBRP~NETWR )
From VBRP
Group By VBRP~MATNR
6) Native Oracle
Select VBRP.MATNR ,
Sum( VBRP.NETWR )
From VBRP
Where mandt = :sy-mandt
Group By VBRP.MATNR
7) Native Oracle
Select VBRP.MATNR ,
Count( VBRP.NETWR ),
Sum( VBRP.NETWR )
From VBRP
Where mandt = :sy-mandt
Group By VBRP.MATNR
8) Open
Select VBRP~MATNR
makt~maktx
Sum( VBRP~NETWR )
From VBRP inner Join MAKT
On VBRP~MATNR = MAKT~MATNR
Where MAKT~SPRAS = SY-LANGU
Group By VBRP~MATNR makt~maktx
9) Native Oracle
Select VBRP.MANDT,
VBRP.MATNR,
MAKT.MAKTX,
Sum( VBRP.NETWR )
From VBRP , MAKT
Where VBRP.MANDT = MAKT.MANDT
And VBRP.MATNR = MAKT.MATNR
And MAKT.SPRAS = :SY-LANGU
Group By VBRP.MANDT, VBRP.MATNR, MAKT.MAKTX
10) Open
SELECT EKET~EBELN
EKET~EINDT
EKET~WAMNG
EKET~WEMNG
From ( ekko INNER JOIN ekpo
ON ekko~mandt = ekpo~mandt
AND ekko~ebeln = ekpo~ebeln
)
INNER JOIN eket
ON ekpo~mandt = eket~mandt
AND ekpo~ebeln = eket~ebeln
AND ekpo~ebelp = eket~ebelp
AND EKET~WAMNG > 0
AND EKET~WAMNG <> EKET~WEMNG
Where EKPO~MATNR = 'NB220'
And EKPO~WERKS In ('P001', 'P004', 'L004')
And EKKO~BSTYP = 'F'
And EKKO~BSART = 'UB'
And EKPO~ELIKZ <> 'X'
And EKKO~LOEKZ <> 'X' -
김지성
2007.06.20 17:36
SQL 문이 잘 안되시는 분들은 위의 소스를 긁어다 필드와 테이블만 변경해주세요...
-
하늘만
2007.06.20 18:24
좋은 예제 감사합니다. 전 완전 초짜라..
-
설탕수박
2007.11.24 18:12
감사합니다. -
레몬과자
2009.01.23 02:11
이거 사용하고 싶은데 다운로드 받아놓고도 어떻게 써야하는지 모르겠어요... Dynpro만들어서 어떻게 해야하는거죠?ㅜ.ㅜ -
con
2009.01.24 01:57
좋은 정보 감사합니다~ -
sunnylee
2009.11.04 05:56
유용한 자료 감사합니다.
-
yodong
2012.08.23 15:16
좋은 자료 정말 감사합니다. 이런게 있으면 좋겠다는 생각을 하고 있었어요.