SAP/Function 12

ABAP GUI_UPLOAD 를 이용한 엑셀 업로드

SAP 개발을 하다보면 Excel 을 업로드 해야 할 일이 많이 있다. Excel 을 업로드 하는 함수는 여러 종류가 있는데 오늘은 GUI_UPLOAD 를 이용하는 방법을 설명하려고 한다. 다른 함수들은 사용자의 PC의 특성을 타서 실행이 안되는 경우가 있는데 이러한 경우 처리하기가 매우 까다롭다. ( Excel 업로드가 안된다고 사용자 PC 를 포멧하라고 할 수도 없다. ) GUI_UPLOAD 는 이러한 문제가 별로 발생하지 않아서 최후의 선택으로 사용한다. [SAP/ABAP] - ABAP File Upload TYPES TRUXS_T_TEXT_DATA(4096) TYPE C OCCURS 0. DATA : L_RAW_DATA TYPE TRUXS_T_TEXT_DATA WITH HEADER LINE. DA..

SAP/Function 2015.08.10

RKD_WORD_WRAP : 스트링을 글자수 대로 테이블로 잘라주는 함수

ABAP에서 한글을 자르는 것은 참으로 위험 부담이 있다. 글자를 2byte 씩으로 인식을 하기 때문에 그냥 byte로 잘랐다가는 한글이 깨지는 상황이 발생할 수 있다. 그리고 길이를 재도 한글은 2자리 영문은 1자리로 인식해서 합쳐져서 나오기 때문에 한글과 영문이 섞여 있다면 자리수 대로 나누기가 어렵다. 그래서 오늘 포스팅 할 함수는 스트링을 테이블로 변환해 주는 함수이다. RKD_WORD_WRAP 는 한글이든 영문이든 스티링을 글자수를 지정한 테이블에 잘라서 넣어주는 함수 이다. 함수에 TEXTLINE 에 스티링을 넣으면 OUT_LINE1, OUT_LINE2, OUT_LINE3 가 나오고 ( 아마도 첫줄 요약 용도로 사용하라는 의미 같다. ) 그리고 OUT_LINES 테이블에 글자가 잘려서 들어가 ..

SAP/Function 2015.03.03

저장,삭제시 확인 팝업용 함수 - POPUP_TO_CONFIRM

오늘은 ABAP 개발중 많이 사용하는 Function 중 하나인 Confirm Function 을 포스팅 하려고 한다. 저장/삭제 등등 다양한 곳에서 사용이 가능한 Standard Function 이다. Standard Function 중에 Confirm 을 물어보는 다양한 함수가 있지만 그중에서 가장 간단하면서도 사용하기 편리한 함수이다. 근데 꼭 쓰려면 기억이 안난다. 사용법은 에디터 메뉴중 패턴에 넣으면 아래와 같이 사용가능한 옵션과 함께 기본 타입이 입력이 된다. ( 이름대신 패턴에서 조회도 가능하나 다양한 함수가 나올 수 있다. ) POPUP_TO_CONFIRM Return Code - Yes : 1 / No : 2 / Cancel : A DATA : L_ANSWER. CLEAR : L_ANSW..

SAP/Function 2014.11.17

ABAP DATE 를 FLOAT 으로 변환하는 함수

오랜만에 SAP 관련 글을 쓴다. SAP 관련 내용은 내가 기록을 남기려는 성격이 강하기 때문에 정기적으로 못 올리는 것에 대한 미안함이 있다. 오늘은 date 스타일의 값을 float 으로 변환하는 함수를 포스팅 하려고 한다. AUSP 테이블에서 속성 Value 값이 날짜가 float 형태로 들어가는데 이것을 변환하는 함수는 CTCV_CONVERT_DATE_TO_FLOAT 이다. 반대로 변환하려면 FLOAT 과 DATE 만 변경하면 된다. DATA : LV_DATE LIKE CAWN-ATWRT, LV_FLOAT LIKE CAWN-ATFLV. DATE = SO_DATE-LOW. CALL FUNCTION 'CTCV_CONVERT_DATE_TO_FLOAT' EXPORTING DATE = LV_DATE IMP..

SAP/Function 2014.09.23

SAP WBS code 필드 Conversion 함수

예전에 Material No 의 External No 에서 Internal No 로 변경하는 함수를 포스팅 한 적이 있다. 개발을 하다 보니 이렇게 두 개의 키를 변환해 가면서 사용하는 곳이 이곳 하나 ( Material Internal No 를 External No 로 변경하는 함수 ) 만이 아닌 것이었다. ( 나는 아직 SAP 를 잘 모르나 보다. ) 이번에 개발하다가 나온 것은 투자 코드 (WBS) 관련된 키이다. SE11 로는 자동으로 CONVERSION 되어서 조회가 되는 꼭 프로그램 내에서는 조회가 되지 않아서 헤매게 만든다. 그래서 오늘도 그냥 지나칠 수 없어서 포스팅으로 남긴다. 해당하는 테이블 과 필드는 BSIS-PROJK 이다. CALL FUNCTION 'CONVERSION_EXIT_A..

SAP/Function 2014.08.28

Material Internal No 를 External No 로 변경하는 함수

오늘은 Material 의 Internal No 를 External No 로 변경하는 Function 을 소개하려고 한다. Material 이 있는 테이블 ( MARA ) 에서 보면 MATNR - 자재테이블 Primary Key 가 Char 18 자리로 되어 있다. 그런데 어떤 경우에는 숫자만 표시되고 어떤 경우에는 자재명 텍스트가 표시되는 현상을 볼 수 있다. 이것은 자재 테이블은 Internal No 와 External No 를 가지고 있어서 발생하는 현상인데 External No 는 MFPRN 필드를 사용해도 되나 별도의 함수를 사용해서 Internal External 을 변경이 가능하다. Internal No -> External No : CONVERSION_EXIT_MATN1_INPUT Exte..

SAP/Function 2014.08.19

Call Transaction 권한 체크

Call Transaction 은 프로그램 상에서 tcode를 호출하는데 많이 사용된다. 그런데 이게 문제가 있는게 시스템상에 권한을 등록해도 프로그램 실행 권한이 있다면 그냥 무시하고 tcode 를 실행해버리는 단점이 있다. 그래서 Call Transaction 에 권한 체크 기능이 필요하다면 아래와 같은 Standard Function 을 사용하면 된다. FORM call_transaction USING tcode. DATA : l_tcode LIKE tstc-tcode. CLEAR l_tcode. l_tcode = tcode. CALL FUNCTION 'AUTHORITY_CHECK_TCODE' EXPORTING tcode = l_tcode EXCEPTIONS ok = 1 not_ok = 2 OTHE..

SAP/Function 2014.07.29

Table 조회시 Day, Select 시 TAG 으로 나오는 경우

오늘도 개발을 하다가 희안한 상황을 발견하였다. 상황의 내용은 단위가 Day 인데 TAG 으로 나오는 것이다. TAG 은 독일어로 "일" 을 의미하니 DAY 와 동일한 의미이긴 하다. 그래서 TAG도 DAY 로 처리해서 개발하면 되는데, 희안 하다고 해야 할지 아니면 SAP가 꼼꼼하다고 해야 할지 아무튼 상황이 제목과 같은 상황이 발생하였다. SE11 을 사용하여 테이블을 조회하면 실제로 DAY 라는 데이터가 보인다. 그런데 프로그램 상에서 사용하려고 Select 를 할 경우에는 TAG 이라고 조회가 된다. 그렇다고 별도의 테이블에 Language 코드가 있는 것도 아니었다. [ SE11 로 조회하는경우 ] [ 프로그램 상에서 Select 한 경우 ] 나는 Table 을 살펴보던중 도메인에 옵션이 걸려 ..

SAP/Function 2014.07.28

SE93 Tcode 에서 Package 가져오기(RS_ACCESS_PERMISSION)

SE93 에서 TCODE 를 조회 하면 아래 Package 를 조회하는 함수이다. 이 함수의 원래의 목적은 PERMISSION에 관한 함수로 추정된다. ( 함수 이름이 PERMISSION 어쩌구 하니 그렇게 추정 ) 하지만 SE93 에서 사용되는 Package 를 가져오는데 활용 할 수 있다. DATA : l_tcode LIKE tstc-tcode, l_devclass TYPE tadir-devclass. CALL FUNCTION 'RS_ACCESS_PERMISSION' EXPORTING global_lock = 'X' mode = 'SHOW' object = l_tcode object_class = 'TRAN' suppress_language_check = '' IMPORTING devclass = l..

SAP/Function 2014.04.11