ABAP 8

::Old to New:: Type conversion

📌 Type conversion with 7.4 netwever1. Old version이미 정의된 변수의 값을 다른 변수에 전달하면서 타입을 변환하는 경우에 주로 쓰입니다.Function 또는 Class 의 값을 전달 할 때 가장 많이 사용 했던 것 같습니다.아래 예시는 날짜를 string 타입의 변수에 담아서 Xstring으로 변환하는 과정입니다. 여기서 데이터 타입은 SY-DATUM(character) → STRING(string)  → XSTRING(xstring) 2번 변환 됐습니다.DATA:STRING TYPE STRING ,XSTRING TYPE XSTRING. STRING = SY-DATUM.CALL METHOD CL_ABAP_CODEPAGE=>CONVERT_TO EXPORT..

ABAP 2024.12.19

::Function Module:: RFC 호출 시 테스트 데이터 디렉토리 자동 생성

아직 I/F 쪽은 많이 해본 적이 없지만, 인수인계를 위해 다른 개발자 분의 프로그램을 분석하다가 모르는 부분을 발견해서 공부 겸 글을 작성해 보려고 합니다.3rd Party와 SAP의 RFC 통신 중 인터페이스 된 데이터가 올바른지 알수 없는 상황 또는 Payload에서 데이터를 모의테스트를 하기위해서 전송 받은 데이터를 Function Module 내에 데이터 디렉토리에 저장할 수 있습니다. 이는 Report 프로그램에서 Variant와 같은 기능이라고 보면 이해하기 쉽네요.  펑션 내에 구문으로 쓰이거나 External Debugging모드에서 입력받은 Parameter값을 디렉토리로 저장할 수 있는 방법도 있다고 하니 운영 시에 유용할 것 같습니다.1. 사용자 마스터 에서 RFC ID에 파라미터 ..

ABAP 2023.08.23

::Old to New:: VALUE 3( with BASE )

📌 Value 구문 심화 ( VALUE with BASE )심화라고 적긴 했지만, VALUE를 사용하면서 기본적으로 함께 사용하게 되는 BASE를 이야기 해볼까 합니다.Value 구문을 사용하여 값을 추가하려고 할 때 필드명을 적지 않으면, 빈 값이 들어가는 것을 알 수 있습니다. 구문법에서는 MOVE-CORRESPODING 문법을 사용했을 때 동일한 필드에 값이 없다면 위와 같이 빈 값이 들어가게 됩니다. MOVE-CORRSPONDING 문법은 기존의 필드 값을 유지하기 위해 EXPANDING NESTED TABLES, KEEPING TARGET LINES와 같은 구문을 사용과 비교하여 쉽게 이해할 수 있도록 예제를 준비했습니다.1. Old version먼저 구문법입니다. 입력할 필드명만 적게 되면 ..

ABAP 2023.08.22

::Old to New:: DATA declaration 2( feat. ABAP 7.40 Quick Reference )

📌 DATA 구문을 활용하여 call method에서 반환되는 데이터를 바로 선언할 수 있습니다1. Old version먼저 구문법으로 데이터 선언하던 방법입니다.*OLD.DATA: LT_ROID TYPE LVC_T_ROID, LT_ROW TYPE TABLE OF LVC_S_ROW.CALL METHOD GO_GRID->GET_SELECTED_ROWS IMPORTING ET_INDEX_ROWS = LT_ROID ET_ROW_NO = LT_ROW.2. New version신문법을 사용할 경우 method로 반환되는 데이터의 타입을 참조 하여 변수를 선언할 수 있습니다.*NEW.GO_GRID->GET_SELECTED_ROWS( IMPORTING ET_I..

ABAP 2022.06.22

::Old to New:: VALUE 2( feat. ABAP 7.40 Quick Reference )

📌 앞서 설명 했던 VALUE의 심화 부분입니다.타입을 지정하며 변수를 선언하는 것 뿐만 아니라 변수 선언 없이도 METHOD에 활용되는 예제를 준비했습니다1. Old version : Call method exporting우선 call method에 값을 넣을 때 데이터를 선언하는 예제입니다DATA: LS_STBL TYPE LVC_S_STABL. LS_STBL-COL = 'X'. LS_STBL-ROW = 'X'.CALL METHOD GO_GRID->REFRESH_TABLE_DISPLAY EXPORTING IS_STABLE = LS_STBL.2. New version  : Call method exporting아래와 같이 굳이 데이터를 선언 후 값을 넣지 않고 앞서 언급했던 값&선언이 동시에 가능합니..

ABAP 2022.06.21

::Old to New:: VALUE ( feat. ABAP 7.40 Quick Reference )

📌 Data를 선언하는 또 다른 방법입니다. VALUE 라는 구문 뒤에 데이터의 타입을 적고 데이터를 바로 선언하는 방식으로 앞서 데이터 선언 방식에서 좀 더 간소화 되었습니다.실제로 method나 function에 사용하거나 테이블에 값을 Append할 때 쉽게 사용할 수 있었습니다. 특히, call method에서 exporting 에 값을 넣을 거나, Class에서 receiving 값을 받을 때 유용하게 사용할 수 있는 예제로 준비 했습니다1. Old version : Data declaration우선 구문법에서 데이터 선언를 선언하는 방법입니다DATA LS_STBL TYPE LVC_S_STBL.LS_STBL-COL = 'X'.LS_STBL-ROW = 'X'.2. New version  : Da..

ABAP 2022.06.20

::Old to New:: Data declaration( feat. ABAP 7.40 Quick Reference )

📌 값을 변수에 전달하여 전달된 값의 타입을 인식하여 데이터를 선언하는 방식.변수를 빠르게 선언할 수 있다는 장점은 있지만, 너무 남용할 수도 있기 때문에 perform내에서 사용할 로컬 변수에만 사용하는 것이 좋을 것 같다.1. Old Version우선, 구문법부터 살펴보자DATA text TYPE string.text = `ABC`.'text'라는 데이터는 길이가 없는 문자 타입으로 선언된 변수이다.변수에 담긴 데이터는 ABC 라는 3글자이다2. New version신 문법으로 변경하게 되면 아래와 같다DATA(text) = `ABC`.ABC라는 문자를 'text' 변수에 담은과 동시에 데이터를 선언할 수 있다.이때 text의 데이터 타입은 구문법과 동일한 String 타입으로 선언할 수 있다

ABAP 2022.06.18

::DUMP Solution:: ITAB_ILLEGAL_SORT_ORDER

Runtime Error ITAB_ILLEGAL_SORT_ORDERSort 또는 Style 테이블에 데이터를 쌓을 때 알파벳순으로 데이터가 쌓이지 않을 경우 발생했던 에러이다Dump occured when not to append a data alphabetically for sort & style table 덤프가 났던 구조체들의 구조는 이렇다This is components of the strutures when dump occuresSolutionFieldname에 필드명을 추가 할 때 알파벳 순으로 행을 추가 하면 된다Solution is to append a data by alphabetically to 'FIELDNAME' DEFINE __MODIFY_STYLE. CLEAR: LS_ST..

ABAP 2022.06.17