본문 바로가기

전체 글

(5)
ABAP OLE EXCEL DOWNLOAD & UPLOAD sapyard.com/a-to-z-of-ole-excel-in-abap-7-4/ A to Z of OLE Excel in ABAP 7.4 SAP users, both business and end users always need to download the output of a report to spreadsheet and do their analytics. The standard excel output from a report is very simple process but it is… sapyard.com 이보다 더 자세할 수 없다. 따라해보면 쉽게 가능하다. OLE 는 기본적으로 다운로드가 한 셀씩 그리느라 느린데.. 이것은 CLIPBOARD EXPORT 를 사용해서 Internal Table 을 ..
저장하기 전에 ALV Data Changed Event 강제로 수행하기 ALV 에서 데이터를 입력하다 보면 엔터키를 치거나 셀에서 포커스가 빠져나가야 Data Changed 이벤트를 타는데 앞의 두 행위(?) 하지 않고 저장을 해 버릴 경우 데이터를 인식하지 못하고 저장이 되게 된다. 그럴때 SAVE 를 수행하기 전에 아래의 로직을 추가하면 강제로 Data Changed Event 가 수행되면서 Internal Table 에 ALV 의 변경된 데이터가 잘 반영되게 된다. data : lv_valid, lv_refresh. call method go_grid->check_changed_data importing e_valid = lv_valid changing c_refresh = lv_refresh. SAP 에서는 엔터만 잘 쳐도 절반은 먹고 들어가는데 웹에 익숙한 사람들은..
SAP 에서 통화키 적용하여 금액 표시하기 SAP 는 대충 금액을 테이블에 저장할 때 27자리 정수와 2자리의 소수로 저장을 한다. 앞의 정수자리수는 변할 수 있지만... 소수점 2자리는 국룰이다. 그래서 저장할 때 1000원은 10.00 으로 10 달러는 10.00 으로 저장한다. 글로벌 솔루션이라 그런가... 그래서 실제로 금액을 표시할 때는 통화키를 적용해서 표시해야 한다. 10.00 에 KRW 를 적용하면 1000원, USD 를 적용하면 10.00 달러가 되는 것이다. 테이블이나 Structure 를 에 금액필드를 사용하면 해당하는 통화키 필드를 지정해야 activate 시킬 수 있다. 이 정도 까지 하면 alv 에서는 자동으로 통화키가 적용되어 금액이 잘 표시가 될 것이다. 그러나 그 외에 통화키를 적용하려고 하면 write 구문을 사용..
Dynamic Internal Table 에서 Cell Tab, Color Tab 만들기 Dynamic Internal Table 에서 Cell Tab, Color Tab 을 적용하기가 쉽지 않다. 그러나 의외로 간단히 적용할 수 있는 방법이 있다. 1) Cell Tab 과 Color Tab 을 Structure 에 넣어 생성 2) Dynamic Interanl Table Field Catalog 를 구성시 앞에 생성한 Structure Name 을 REF_TABLE 에 Cell Tab 또는 Color Tab 을 REF_FIELD 로 지정하고 Dynamic Internal Table 을 생성. 아래 내용을 참고해서 사용해도 된다. (아래 질문에 있던 답인데 실제 동작하는지는 미확인) wa_fieldcatalog-fieldname = 'COLOR'. wa_fieldcatalog-ref_tabl..
ALV 에서 fieldcatalog 속성으로 Material No Internal No 에서 External No 로 표시하기 ALV 에서 Material Number 를 Internal Number 에서 External Number 로 출력을 해야 할 때가 있다. MARA 테이블에서 MFRPN 이라는 필드의 값을 보여줘도 되지만 ALV 에서 Field Catalog 에 옵션을 추가하므로 ALV Grid 에 External Number 를 출력할 수 있다. 일단 MATNR 필드의 Convers Routine 을 확인한다. 이것은 MATNR 의 도메인에 가면 확인을 할 수 있는데 대부분 MATN1 을 기본적으로 사용한다. MATN1 과 MATN2 의 뭐가 다른지는 잘 모르겠지만 MATNR 에서 MATN1을 사용하니 이 것을 이용해서 MATNR 을 External Number 를 출력한다. 위에 코드는 ALV Field Catalo..