Function 14

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

PM_ORDER_DATA_READ : AUFNR 로 Work order 데이터 조회하는 함수

PRT List 데이터를 조회하는 함수를 찾아보다가 발견한 함수이다. Work Order Number 만 넣으면 왠만한 Work order 의 데이터는 다 나오고 있다. 역시 SAP는 개발이 된지 오래된 시스템이다 보니 내가 생각한 것은 이미 다 만들어 놓은 것 같다. ( 물론 내가 코어를 개발하면 좋겠지만 그렇지 않다면 잘 찾아서 쓰는 것도 능력인 듯 하다. ) CALL FUNCTION 'PM_ORDER_DATA_READ' EXPORTING order_number = " aufk-aufnr Order number IMPORTING wcaufvd = " caufvd CAUFVD Dialog area (Order header) wcaufvd = " caufvd wiloa = " iloa Work area ..

SAP/Plant Maintenance 2014.10.23 (2)

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

ABAP 금액 변환 방법 및 함수

SAP 는 글로벌하게 쓰이는 솔루션이다. 그래서 금액을 저장하는 방식이 각 나라의 통화에 따라 다르기 때문에 화면에 출력하기 위해서는 별도의 조치를 취해 줘야한다. 특히 달러와 원하는 표현하는 방식이 다르기 때문에 ( 달러는 1.00 달러, 원화는 1000원 ) 이 다르기 때문에 별도의 변환하는 로직을 넣어주어야 한다. 특히 테이블에 저장 될 때는 통화 필드는 별도의 통화단위를 가지는 필드를 엮어 주는데 테이블에 저장될 때 원화의 경우에도 달러와 같이 소숫점으로 저장을 해야 한다. 예를 들면 1000원을 테이블에 저장할 때 10.00 으로 저장이 되어야 나중에 추가로 계산을 하거나 통화필드와 연동해서 보여줄때 1000원이라고 정상적으로 표현이 가능하다. 오늘은 통화를 1000원을 10.00 으로 바꾸는 ..

SAP/ABAP 2014.08.22

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

iPPE Equipment List 관리 BAPI Function

SAP PM 모듈에서 iPPE 의 노드를 생성하고 Relation 과 Variant 를 생성하는 함수이다. iPPE 가 무슨 역활을 하는지는 잘 모르겠으나, Plant 나 Equipment 에서 상하위 노드를 생성 할 수 있는 것을 보니 시설의 관리를 편하게 하기 위해 만든 것 같다. 항상 개발하면서 느끼지만 SAP는 많은 것을 담고 있고 많은 프로세스가 있는데 이걸 다 아는 사람이 얼마나 될 까 싶다. 물론 나는 진짜 많이 모르지만 개발을 위해서 디버깅 해보는 정도다. 나중에 기회가 된다면 iPPE에 대한 더 많은 내용을 포스팅을 해야겠다. 결론은 iPPE 는 뭐에 쓰는 걸까? 궁금하다. 아래의 함수 들은 PPE Equipment 에서 데이터를 생성, 조회, 수정하는 함수들의 모음이다. * Node 의..

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