본문 바로가기

분류 전체보기105

[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.
[IMG] SD Configuration List SD Configuration List SD 모듈의 모든 Configuration을 포함하고 있지 않지만, 통상적으로 대부분의 회사에서 사용하는 필수 항목만 정리 하였습니다. 첨부 문서와 같이 본인이 운영하는 회사 기준으로 각 항목에 대해 상황별 셋팅 유무를 체크해 놓으면 운영 및 후임양성시 상당히 많은 도움이 됩니다. 단, 해당 리스트는 모든 Configuration을 포함하는게 아니며 정리하는 과정 중 필수 항목이 누락된것도 있을 수 있습니다. 2023. 7. 21.
[Syntax] FILTER - Internal table 데이터 필터링 FILTER Internal table 데이터 필터링 ABAP New syntax 인 FILTER 구문을 이용하여, Internal table에 조건을 주어 데이터를 필터링하여 다른 Internal table에 데이터를 복사 할 수 있습니다. Internal table을 필터링 하기위해서는 원본 Internal table이 Sorted Table로 선언 되거나, Secondary key가 있어야 합니다. # Standard Table에 Secondary key 설정하여 FILTER DATA: LT_T001 TYPE STANDARD TABLE OF T001 WITH NON-UNIQUE SORTED KEY FILTER_KEY COMPONENTS BUKRS, "FILTER를 위한 Secondary key 설정.. 2023. 7. 20.
[Syntax] CORRESPONDING - Structure 및 Internal Table 값 복사 CORRESPONDING Structure 및 Internal Table 값 복사 ABAP New syntax 인 CORRESPONDING은 MOVE-CORRESPONDING과 같이 같은 필드명의 값을 복사한다는 부분에서는 같지만, CORRESPONDING은 받는쪽 변수에서 매칭되지 않는 필드는 값이 초기화된다는 부분이 다릅니다. 또한, CORRESPONDING은 Internal Table끼리도 필드 매칭을 해서 값을 복사할 수 있습니다. Internal Table에 사용시에는 "BASE" 구문을 이용하여 기존 Internal Table에 APPEND 형태로 값을 추가할 수 있습니다. # 사용예시 TYPES: BEGIN OF T_TMP, BUKRS TYPE T001-BUKRS, VAL1(10) TYPE .. 2023. 7. 20.
[Report] Customer Exit(SMOD) 및 BAdI 찾는 리포트 Customer Exit(SMOD) BAdI 인터넷에 돌아다니는 User-exit(Customer exit)을 찾은 리포트에 BAdI 와 구현정보 까지 찾을수 있도록 기능을 개선한 리포트입니다. T-Code를 입력하면 해당 T-Code의 프로그램의 개발클래스에 포함된 SMOD와 SXSD(BAdI)를 찾는 방식이며 BAdI의 경우 연관된 다른 개발클래스(하위 개발클래스, _BADI 개발클래스 등)에서 까지 검색을 하게 하였습니다. T-Code를 입력하고 실행하면, 해당 T-Code에 관련된 Exit 및 BAdI를 검색합니다. # 소스코드 *&---------------------------------------------------------------------* *& Report ZCMR9001 *&-.. 2023. 7. 20.
[Syntax] CONV - 형 변환 CONV 형 변환 CONV type( [let_exp] dobj ) 형식으로 사용할 수 있으며, CONV #( CONV I( CONV STRING( CONV ABAP_BOOL( 등등 다양하게 사용할 수 있습니다. 저 같은 경우에는 Internal table의 레코드수를 메시지로 출력할때 자주 사용합니다. # 사용예시 SELECT * FROM T001 INTO TABLE @DATA(LT_TMP). MESSAGE S000(0K) WITH CONV STRING( LINES( LT_TMP ) ) '건의 데이터를 조회하였습니다'. 2023. 7. 19.
[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.