본문 바로가기

function20

[Function] Internal Table 엑셀 다운로드(XLSX 형식) 인터널 테이블 엑셀 다운로드 ZCM_ITAB_FILE_DOWNLOAD_DIALOG ZCM_ITAB_FILE_DOWNLOAD Internal Table의 데이터를 SALV class를 이용하여 XLSX 형식 엑셀 파일로 다운로드 하는 Function입니다. ALV에서 스프레드시트로 내보내기 하는 것과 동일한 형식으로 다운로드 됩니다. ABAP 내에서 E-Mail이나 oData 등에서 엑셀 파일의 Binary 처리하기 위해 "Internal Table -> Excel" Function과 Dialog Function 2개로 나누어 개발했습니다. # 소스코드 ZCM_ITAB_FILE_DOWNLOAD Internal Table의 데이터를 XLSX형식 엑셀 파일로 Binary 데이터(EV_BINTAB)으로 반환 F.. 2023. 7. 11.
[Function] ZCM_EXCEL_UPLOAD - 필드 점검 및 변환 엑셀 업로드 ZCM_EXCEL_UPLOAD 필드 점검 및 변환 엑셀 업로드 ALSM_EXCEL_TO_INTERNAL_TABLE # 2023.09.06 수정 : 소스코드를 좀더 간결하게 수정, 금액필드의 통화에따른 Input형식 변환 추가 ABAP에서 엑셀 업로드 프로그램 개발시 정해진 양식에 올바르게 값을 넣지 않을 경우(주로 숫자 형식의 항목에 문자를 넣을 경우) 아래와 같이 필드 컨버전 오류가 발생하게 됩니다. 이런 경우 많은 개발자들이 Excel 데이터를 받은 후에 숫자에 해당하는 항목을 replace 문으로 특수문자를 제거하는 식으로 하고 있으나 후 처리를 위해 잔손이 많이 가고, 사용자들의 기행으로 인해 완벽한 예외처리가 되지 않아 종종 덤프가 발생하게 됩니다. 엑셀 업로드의 근본적인 문제 해결과 개발 편의.. 2023. 7. 10.
[Function] FI_ITEMS_MASS_CHANGE - 회계전표 품목 변경(FB09) FI_ITEMS_MASS_CHANGE 회계전표 품목 변경(FB09) # 사용예시 REPORT YTEMP_SANDBOX. TABLES BSEG. PARAMETERS: P_BUKRS TYPE BKPF-BUKRS OBLIGATORY, P_BELNR TYPE BKPF-BELNR OBLIGATORY, P_GJAHR TYPE BKPF-GJAHR OBLIGATORY. SELECT-OPTIONS: S_BUZEI FOR BSEG-BUZEI. SELECTION-SCREEN SKIP. PARAMETERS: P_SGTXT TYPE BSEG-SGTXT. DATA: LS_BSEG TYPE BSEG, LT_BUZTABTYPE TPIT_T_BUZTAB, LT_FLDTABTYPE TPIT_T_FNAME, LT_ERRTABTYPE TP.. 2023. 7. 10.
[Function] BP_JOBLOG_READ - 백그라운드 작업 로그 조회 BP_JOBLOG_READ 백그라운드 작업 로그 조회 # 사용예시 REPORT YTEMP_SANDBOX. PARAMETERS: P_JOBN TYPE TBTCO-JOBNAME OBLIGATORY, P_JOBC TYPE TBTCO-JOBCOUNT OBLIGATORY. DATA LT_JOBLOGTBL TYPE STANDARD TABLE OF TBTC5. CALL FUNCTION 'BP_JOBLOG_READ' EXPORTING CLIENT = SY-MANDT "백그라운드 작업 클라이언트 TBTCO-AUTHCKMAN JOBCOUNT = P_JOBC "백그라운드 작업 번호 TBTCO-JOBCOUNT * JOBLOG = ' ' JOBNAME = P_JOBN "백그라운드 작업 이름 TBTCO-JOBNAME * LINE.. 2023. 6. 26.
[Function] GET_JOB_RUNTIME_INFO - 현재 백그라운드 작업 정보 GET_JOB_RUNTIME_INFO 현재 백그라운드 작업 정보 #1. Function 사용 방법 CALL FUNCTION 'GET_JOB_RUNTIME_INFO' IMPORTING EVENTID = LV_EVENTID "Event 배치작업의 이벤트 ID EVENTPARM = LV_EVENTPARM "Event 배치작업의 이벤트 정보(파라미터) EXTERNAL_PROGRAM_ACTIVE = LV_EXTERNAL_PROGRAM_ACTIVE JOBCOUNT = LV_JOBCOUNT "현재 백그라운드 작업 번호 (TBTCO 키필드) JOBNAME = LV_JOBNAME "현재 백그라운드 작업 이름 (TBTCO 키필드) STEPCOUNT = LV_STEPCOUNT "현재 작업의 단계 JOB_CATALOG_ENT.. 2023. 6. 26.
[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.
[Function] SPELL_AMOUNT - 금액을 문자로 출력 SPELL_AMOUNT 금액을 문자로 출력 Excel의 NUMBERSTRING(숫자,1) 함수와 같은 결과입니다. 스마트폼이나 기타 여러 출력물에서 활용할 수 있습니다. 2023. 5. 30.