ABAP/개발Tip22 [개발Tip] CL_GUI_SIMPLE_TREE 사용 방법 CL_GUI_SIMPLE_TREE SIMPLE_TREE는 단일 컬럼으로 계층구조의 데이터를 표현하는 가장 단순한 형태의 트리 컨트롤입니다. 사용방법은 현재 노드에 부모 노드를 지정하여 계층구조로 데이터를 만들어서 트리형태로 표시하게 됩니다. #1. 노드 데이터 자주 사용하는 필드에 대한 설명 필드명 설명 값 NODE_KEY 노드의 키값으로 중복 금지 RELATKEY 상위 노드의 키값 HIDDEN 숨김 여부 'X' : 숨김, ' ' : 표시 DISABLED 트리 이벤트 비활성화 여부 'X' : 이벤트 비활성화, ' ' : 활성화 ISFOLDER 폴더 여부 'X' : 폴더, ' ' : Leaf N_IMAGE 기본 이미지(아이콘) ICONNAME 형식 EXP_IMAGE 폴더가 펼쳐졌을때 이미지(아이콘) ICO.. 2023. 10. 16. [개발Tip] Event 호출로 백그라운드 작업 실행(Event Batch) Event 호출로 백그라운드 작업 실행(Event Batch) 비동기 처리를 위한 백그라운드 작업 실행 RFC, OData 인터페이스시 비동기 처리 비동기 처리를 위해 백그라운드 작업을 만들어서 프로그램을 실행할수 있습니다. 백그라운드 작업을 동적으로 생성하면 해당 프로그램을 실행할 User ID를 동적으로 지정할수 있고 여러가지 상황에서 유연하게 활용할 수 있습니다. 2023.06.22 - [ABAP/개발Tip] - [개발Tip] 비동기 처리를 위한 백그라운드 작업 생성 [개발Tip] 비동기 처리를 위한 백그라운드 작업 생성 비동기 처리를 위한 백그라운드 작업 생성 RFC, OData 인터페이스시 비동기 처리 여러가지 이유로 SAP에서 비동기 처리를 해야 할 경우가 생기게 됩니다. (예 : 실시간 인터.. 2023. 9. 14. [개발Tip] ALV Field catalog(필드 카탈로그) 만드는 3가지 방법 ALV Field catalog를 만드는 3가지 방법입니다. #2023.11.06 : CL_SALV_DDIC의 참조테이블/참조필드 정보가 기존 다른 Function/Class와 상이하여 소스 일부 수정 결과적으로는 LVC_T_FCAT 형식의 필드 카탈로그를 생성하여 ALV에 사용하다는 것입니다. 개발자에 따라 주로 사용 하는 방법이 다르다 보니 운영 유지보수를 위해서는 모두 알아두는 것이 좋습니다. 실제 개발시에는 서브루틴으로 만들어서 편리하게 사용할 수 있습니다. 2023.08.28 - [ABAP/소스코드] - [Form] ALV Field catalog(필드 카탈로그) 생성 서브루틴 1. Table/Structure로 필드 카탈로그 생성 Case1. LVC_FIELDCATALOG_MERGE 펑션 (권.. 2023. 8. 25. [개발Tip] RESTful API 호출 2가지 방법(CL_HTTP_CLIENT, CL_REST_HTTP_CLIENT) CL_HTTP_CLIENT CL_REST_HTTP_CLIENT SAP에서 외부 RESTful API를 호출하여 JSON 데이터를 받는 2가지 방법입니다. GET/POST/PUT/DELETE 와 같이 RESTful 에서 사용하는 HTTP Method 모두 사용 가능하며 최대한 간단하게 예시 소스코드를 작성했습니다. 참고로 CL_REST_HTTP_CLIENT는 내부적으로 CL_HTTP_CLIENT를 호출하는 방식입니다. POST와 GET의 경우에는 HTTP_POST, HTT_GET 펑션을 이용해도 동일한 결과를 얻을 수 있습니다. # CL_HTTP_CLIENT 예시 PARAMETERS: P_URL TYPE STRING LOWER CASE, "URL P_DEST TYPE RFCDISPLAY-RFCDEST LO.. 2023. 6. 28. [개발Tip] REPLACE의 REGEX (정규표현식)를 이용한 특수문자 제거 REPLACE의 REGEX (정규표현식)를 이용한 특수문자 제거 엑셀 업로드, 또는 여러 입력 값 등에서 숫자만을 추출하기 위해 Replace문을 사용합니다. Replace 문 사용시 Regex 를 이용하여 좀더 간단하게 숫자 이외의 것들을 제거하는 예시입니다. ABAP 편집기에서 Replace문에서 F1을 누르면 좀더 다양한 정규표현식이 있이니 여러 상황에서 적절하게 사용하면 좀더 쾌적한 개발을 할 수 있습니다. 또한, 기존 Replace 문 외에 String function으로 제공되는 Replace문을 이용하면 in-line으로 더욱 간편하게 활용 할 수 있습니다. # 소스코드 예시 DATA: LV_INPUT(50) TYPE C, LV_OTPUT LIKE LV_INPUT. DATA(LO_DEMO_O.. 2023. 6. 22. [개발Tip] 비동기 처리를 위한 백그라운드 작업 생성 비동기 처리를 위한 백그라운드 작업 생성 RFC, OData 인터페이스시 비동기 처리 여러가지 이유로 SAP에서 비동기 처리를 해야 할 경우가 생기게 됩니다. (예 : 실시간 인터페이스시 SAP에서 처리 시간이 오래걸리는 경우, CBO에서 무언가를 처리할때 다른 사용자 ID로 처리해야 할 경우 등등) 이런 경우에는 동적으로 백그라운드 작업을 생성하여 처리 할 수 있습니다. 참고로, 이런게 비동기 처리를 위해 생성한 백그라운드 작업 중 정상 종료된 건은 이력을 남기는게 무의미 하니 주기적으로 삭제하는게 운영 측면에서 효율적입니다. 2023.06.22 - [ABAP/Function] - [Function] BP_JOB_DELETE - 백그라운드 작업 삭제 [Function] BP_JOB_DELETE - 백그.. 2023. 6. 22. [개발Tip] Internal Table 성능(Select into, Read, Loop where) 비교 Internal Table 성능(Select into, Read, Loop where) 비교 Standard Table, Sorted Table, Hashed Table SAP Internal Table에 대한 설명과 각 유형별 성능 비교 자료는 구글링을 하면 무수히 많이 나오며, Easy ABAP에도 상세시 설명이 되어 있습니다. 다만, 대부분의 사이트에서 Internal Table 성능 비교에 대해 Append와 Read Table에서만 얘기하고 있어서 문득 Select into와 Standard Table에서 다른 유형의 Move시 그리고 Loop where에서의 성능이 얼마나 차이가 나는지 궁금해서 테스트를 해봤습니다. 단, Binary Search가 아닌 Standard table의 Read가 .. 2023. 5. 16. 이전 1 2 3 4 다음