본문 바로가기

전체 글106

[개발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.
[Function] BP_JOB_DELETE - 백그라운드 작업 삭제 BP_JOB_DELETE 백그라운드 작업 삭제 비동기 처리를 위해 생성한 백그라운드 작업과 같이 이력이 불필요한 작업에 대해 삭제 할수 있습니다. # 사용 예시 SELECT A~JOBNAME, A~JOBCOUNT FROM TBTCO AS A WHERE A~JOBNAME LIKE 'XS_%' "작업 이름이 XS_ 로 시작하는 작업만 AND A~STATUS EQ 'F' "작업 결과가 정상종료 AND A~AUTHCKMAN EQ @SY-MANDT INTO TABLE @DATA(LT_TBTCO). LOOP AT LT_TBTCO INTO DATA(LS_TBTCO). CALL FUNCTION 'BP_JOB_DELETE' EXPORTING JOBCOUNT = LS_TBTCO-JOBCOUNT JOBNAME = LS_TB.. 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.
[Function] SPELL_AMOUNT - 금액을 문자로 출력 SPELL_AMOUNT 금액을 문자로 출력 Excel의 NUMBERSTRING(숫자,1) 함수와 같은 결과입니다. 스마트폼이나 기타 여러 출력물에서 활용할 수 있습니다. 2023. 5. 30.
[Function] RSDC_SHOW_MESSAGES_POPUP - 오류 메시지 팝업 RSDC_SHOW_MESSAGES_POPUP 오류 메시지 팝업 #1. 사용 예시 DATA: LT_MSG TYPE RS_T_MSG. CLEAR LT_MSG. LT_MSG = VALUE #( ( MSGTY = 'W' MSGID = '0K' MSGNO = '001' ) ( MSGTY = 'E' MSGID = '0K' MSGNO = '000' MSGV1 = '오류' ) ). CALL FUNCTION 'RSDC_SHOW_MESSAGES_POPUP' EXPORTING I_T_MSG = LT_MSG I_TXT = '오류' . 2023. 5. 30.
[Class] SALV Display - SALV 간단 출력 Class - ZCL_SALV_OUTPUT ABAP 소스 테스트에 유용한 SALV 간단 출력 ClassCL_SALV_TABLEZCL_SALV_TESTZCL_SALV_OUTPUT # 2023.09.20 수정 : Internal Table뿐만 아니라 Structure도 사용할 수 있도록 기능 개선# 2023.09.12 수정 : ALV 리스트 더블클릭시 SE16N 처럼 '변환값'/'비변환값'을 보여주는 팝업 기능 추가# 2025.04.10 수정 : fieldname이 없는 table_line 형식의 Internal Table로 표시되도록 로직 추가 로컬 오브젝트로 ABAP 소스 테스트 할때 결과를 확인하기 위해 WRITE 문이나 CL_DEMO_OUTPUT=>DISPLAY( ) 를 많이들 애용합니다.간단한 내용은 WRITE나 CL_DEMO_OUTPUT을.. 2023. 5. 27.
[Class] Progress Indicator 처리용 Common Class Progress Indicator 처리용 Common Class SAPGUI_PROGRESS_INDICATOR "SAPGUI_PROGRESS_INDICATOR"을 간편하기 사용하기 위해 Common Include를 만들어서 사용하고 있었습니다. 2023.05.10 - [ABAP/소스코드] - [Include] Progress Indicator 처리용 Common Include [Include] Progress Indicator 처리용 Common Include Progress Indicator 처리용 Common Include SAPGUI_PROGRESS_INDICATOR 실행시간이 오래 걸리는 프로그램의 경우 최대한 튜닝을 하여 빠르게 처리되는게 가장 좋지만 튜닝에도 한계가 있다보니 어쩔수 없이 처리 .. 2023. 5. 24.