본문 바로가기

ABAP/Function|Class28

[Class] CL_SALV_TABLE - SALV 제어 CL_SALV_TABLESALV는 기능이 제한적인 대신 사용방법이 간단하여, CBO 프로그램 내에서 간단하게 리스트를 보여주거나 팝업 형태로 보여줄때 간편하게 사용 할 수 있습니다. 또한, Full Screen으로 사용할 경우 해당 리포트가 백그라운드 작업을 돌릴 경우 스풀에 화면리 리스트로 남게되어 아주 편리합니다. # 사용 예시REPORT YSALV_TABLE.CLASS LCL_HANDLE_EVENTS DEFINITION.  PUBLIC SECTION.    METHODS:       ON_DOUBLE_CLICK FOR EVENT DOUBLE_CLICK OF CL_SALV_EVENTS_TABLE        IMPORTING ROW  COLUMN,      ON_LINK_CLICK   FOR EVEN.. 2024. 10. 31.
[Class] CL_AUTH_OBJECTS_TO_SQL - 사용자의 보유 권한으로 SQL 조건문 생성 CL_AUTH_OBJECTS_TO_SQL사용자의 보유 권한으로 SQL 조건문 생성 CBO 프로그램에서 사용자가 보유한 권한에 해당 하는 데이터만 조회하기 위해 기존에는 range를 이용하여 권한이 있는 조직 데이터를 만들어 쿼리문을 처리하였는데, 비교적 간단하게 권한오브젝트에 대해 사용자의 보유권한을 이용하여 조건문을 자동으로 생성해 주는 Class가 있어서 정리해 봤습니다. 권한을 점검하고자 하는 오브젝트와 권한값 을 넣으면 해당하는 조직정보나 문서유형 같은 값들을 SQL 조건문으로 만들어 줍니다. 적절하게 활용하면 CBO 프로그램의 권한 제어에 상당히 효율적으로 보입니다. # 사용예시  "데이터 조회시 권한 점검 포함  DATA(lv_where_clause) = VALUE string( ).  DAT.. 2024. 10. 29.
[Class] CL_GUI_TEXTEDIT CL_GUI_TEXTEDIT다수의 Text Editor 제어 Text Editor가 사용될 스크린, 컨테이너 정보와 텍스트 내용을 담을 변수명 등 여러 속성들을 Internal Table로 관리하여 다수의 Text Editor를 손쉽게 제어할수 있는 방법입니다. # Text Editor 정보를 관리할 전역 변수TYPES: BEGIN OF gts_text_editors,         dynnr         TYPE sy-dynnr,              "Text Editor가 표시된 스크린 번호         editor_name   TYPE scrfname,    "Text Editor가 사용될 Container 명(string 필드명과 동일하게 한다)         is_required   TY.. 2024. 10. 24.
[Function] POPUP_GET_VALUES_DB_CHECKED - 필드값 입력 팝업 POPUP_GET_VALUES_DB_CHECKED 필드값 입력 팝업 POPUP_GET_VALUES 펑션과 유사하게 필드값을 입/출력하여 입력값을 받은수 있다. 차이점은 COMP_CODE, COMP_TABLE, COMP_FIELD를 이용하여 테이블 값으로 입력필드 값을 점검할 수 있다. # SVAL 필드 # 사용예시 DATA: LV_RETURNCODE TYPE C, LT_FIELDS TYPE STANDARD TABLE OF SVAL. LT_FIELDS = VALUE #( "입력받을 필드 ( TABNAME = 'BKPF' FIELDNAME = 'BUKRS' FIELD_OBL = 'X' COMP_CODE = 'NC' ) "아래 조건으로만 점검하기 위해 BKPF-BUKRS 필드 점검은 제외 "필드 값을 점검하기.. 2023. 12. 18.
[Function] POPUP_GET_VALUES - 필드값 입력 팝업 POPUP_GET_VALUES 필드값 입력 팝업 팝업을 띄워서 필요한 값을 입/출력하는 Function 기본적으로 도메인 값을 점검해준다. # SVAL 필드 # 사용예시 DATA: LV_RETURNCODE TYPE C, LT_FIELDS TYPE STANDARD TABLE OF SVAL. "FIELD_ATTR 값 별 차이 LT_FIELDS = VALUE #( ( TABNAME = 'BKPF' FIELDNAME = 'BUDAT' FIELD_ATTR = SPACE ) ( TABNAME = 'BKPF' FIELDNAME = 'BLDAT' FIELD_ATTR = '01' ) ( TABNAME = 'BKPF' FIELDNAME = 'CPUDT' FIELD_ATTR = '02' ) ( TABNAME = 'BKPF'.. 2023. 12. 18.
[Class] SUBMIT으로 ALV 데이터 조회 - CL_SALV_BS_RUNTIME_INFO SUBMIT으로 ALV 데이터 조회 CL_SALV_BS_RUNTIME_INFO ABAP내에서 다른 리포트 프로그램의 데이터를 가져오고자 할 경우, CL_SALV_BS_RUNTIME_INFO 클래스를 이용하여 데이터를 가져올 프로그램을 SUBMIT으로 호출하여 ALV 데이터를 읽어올 수 있습니다. 이 방식은 소스 프로그램의 수정 없이 데이터를 읽어올 수 있어서 표준 리포트의 데이터를 읽어올때 아주 유용합니다. 단, 스크린에 표시될 ALV의 데이터를 읽어오는 방식이다 보니 여러 제약사항이 있습니다. CBO 프로그램간의 데이터 조회는 ABAP MEMORY를 이용하여 EXPORT/IMPORT가 가장 확실한 방법인듯 합니다. # 사용예시 CL_SALV_BS_RUNTIME_INFO=>SET( DISPLAY = AB.. 2023. 12. 4.
[Class] CL_SEC_SXML_WRITER - AES256 암호화/복호화 CL_SEC_SXML_WRITER AES256 암호화/복호화 알고리즘별로 KEY 길이를 잘 맞추어야 합니다. AES128 : Block size = 16 AES192 : Block size = 24 AES256 : Block size = 32 # 사용예시 PARAMETERS: P_PLAIN TYPE STRING OBLIGATORY, P_KEY TYPE STRING OBLIGATORY, P_IV TYPE STRING OBLIGATORY. INITIALIZATION. %_P_PLAIN_%_APP_%-TEXT = '평문'. %_P_KEY_%_APP_%-TEXT = 'Secret Key'. %_P_IV_%_APP_%-TEXT = 'Initialization Vector'. START-OF-SELECTION. ".. 2023. 11. 30.