OpenSQL3 [OpenSQL] WITH - CTE 서브쿼리 OpenSQL WITH CTE(Common Table Expression) ABAP New syntax인 WITH 문은 Open SQL에서 서브쿼리에 별칭(CTE)을 붙여서 쿼리내에서 재사용을 간편하게 할수 있도록 합니다. 복잡한 쿼리문 같은 경우 WITH로 서브쿼리화 하여 쿼리문을 작성하면 시인성도 좋아지며 동일 쿼리내에서 재사용하기도 수월합니다. 각각의 CTE는 쉼표(,)로 구분되며 이름 앞에 + 기호를 붙여야 합니다. # 사용예시 TABLES MARC. PARAMETERS: P_WERKS TYPE T001W-WERKS MEMORY ID WRK OBLIGATORY. SELECT-OPTIONS: S_MATNR FOR MARC-MATNR. START-OF-SELECTION. WITH +T001W AS (.. 2023. 7. 21. [OpenSQL] OpenSQL Expressions OpenSQL Expressions ABAP New syntax의 Open SQL에서 처리할 수 있는 표현식이 Native 못지 않게 상당히 많이 늘어나서 이제 ABAP 영역에서 처리하던 작업을 쿼리문을 통해 데이터베이스 영역에서 처리하여 성능 향상 시킬수 있습니다 자세한 내용은 T-Code : ABAPDOCU 에서 확인 할 수 있습니다 아래는 제 개인적인 기준으로 자주 사용하고 있는 SQL Functions 입니다. 이외에도 && 을 이용한 문자열 결합, coalesce 을 이용한 null 대체 등 더 많은 내용은 위의 ABAPDOCU에서 사용법을 확인하여 적절히 활용하시면 좋습니다. #1. SQL Numeric Functions 사용 예시 TYPES: BEGIN OF T_TMP, SQL_EXP1 TY.. 2023. 7. 19. [OpenSQL] Internal Table을 이용한 JOIN (FOR ALL ENTRIES 대체) OpenSQL에서 Internal Table을 이용한 JOIN 사용 FOR ALL ENTRIES 대체 (단, 대량의 데이터는 성능 이슈 존재) ABAP New syntax 의 Open SQL에서 For all entries를 대신해서 Internal Table을 쿼리문에 직접 Join 할 수 있습니다 Inner join, outer join 모두 사용 가능하며 이로 인해 좀더 간단하게 쿼리문 작성이 가능해 졌습니다. # 사용예시 DATA LT_BSEG TYPE STANDARD TABLE OF BSEG. SELECT BUKRS, BELNR, GJAHR FROM BKPF WHERE GJAHR EQ '2022' INTO TABLE @DATA(LT_BKPF) UP TO 10 ROWS. IF SY-SUBRC NE.. 2023. 7. 18. 이전 1 다음