목록SAP (26)
Abapteur Note

회사 프로그램을 살펴보는데 셀렉션 스크린 영역에서 스크린 제어와 함께 자주 쓰이는 기능으로 보인다.(사실 셀렉션 스크린 영역에서 쓸 수 있는 기능도 많지 않겠다만..) 아무튼 SEARCH HELP와 마찬가지로 사용자가 쉽게 파라미터 조건을 검색할 수 있게 돕는 기능이다.REPORT YSTUDY_LISTBOX.INCLUDE YSTUDY_LISTBOX_TOP.INCLUDE YSTUDY_LISTBOX_SCR.INCLUDE YSTUDY_LISTBOX_F01.INITIALIZATION.AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LIST.PERFORM SELECT_LIST.START-OF-SELECTION. DATA: BEGIN OF GS_LIST, CARRID TYPE SCAR..

특정 체크버튼 혹은 라디오버튼을 누르면 필드 일부를 잠그거나 보이지 않게 하는 기능이다. REPORT YSTUDY_SCREEN.INCLUDE YSTUDY_SCREEN_TOP.INCLUDE YSTUDY_SCREEN_SCR.AT SELECTION-SCREEN OUTPUT. LOOP AT SCREEN. IF SCREEN-GROUP1 = 'TES'. CASE ABAP_ON. WHEN P_TES. SCREEN-ACTIVE = '1'. " 1: 활성화 " 2: 비활성화 WHEN OTHERS. SCREEN-ACTIVE = '0'. ENDCASE. ENDIF. MODIFY..

ALV EDIT 모드에 관한 포스팅이다. ALV는 보통 DISPLAY와 EDIT 모드를 정한다. 말 그대로 DISPLAY 모드는 조회용 화면이고, EDIT 모드는 수정용 화면이다. 1. 필드 카탈로그의 EDIT 필드에 체크해준다. FORM SET_ALV_FIELDCAT_0100 . REFRESH GT_FIELDCAT. CLEAR GS_FIELDCAT. GS_FIELDCAT-FIELDNAME = 'NAME'. GS_FIELDCAT-COLTEXT = '이름'. GS_FIELDCAT-OUTPUTLEN = '15'. GS_FIELDCAT-JUST = 'C'. GS_FIELDCAT-KEY = ABAP_ON. GS_FIELDCAT-EDIT = ABAP_ON. APPEND GS_FIELDCAT TO GT_FIELDC..

Column Tree 심플트리(Simple Tree)는 최상위 노드(루트 노드), 하위 노드로 구성되어 있는 반면 컬럼트리(Column Tree)는 아이템이라는 개념이 추가된다. 노드를 누르면 보여주는 오른쪽 데이터 필드가 아이템이다. - 추가적인 아이콘 사용 가능 - 노드 클릭할 때 Link 이벤트 제공 - 칼럼 크기 조절 가능 주로 월별 비용 구조를 조회할 때 많이 사용된다. TOP 선언부 TYPES: ITEM_TABLE_TYPE LIKE STANDARD TABLE OF MTREEITM WITH DEFAULT KEY. DATA : TREE_CON_REF TYPE REF TO CL_GUI_CUSTOM_CONTAINER. DATA : CON1_REF TYPE REF TO CL_GUI_CUSTOM_CONT..

SAP에서는 화면에 데이터를 띄우는 방법은 여러가지이다. ALV, 모듈 풀 등.. ABAP에서는 SIMPLE TREE, COLUMN TREE, ALV TREE, LIST TREE 구조가 존재한다. 오늘 포스팅은 SIMPLE TREE이다. Simple Tree CL_GUI_SIMPLE_TREE 클래스를 사용하는 트리 구조이다. 최상위 노드인 ROOT와 하위 노드를 이루고 있다. * 체크박스, 추가적인 아이콘을 사용할 수 없다. * 헤더라인이 존재하지 않는다. TYPES: NODE_TABLE_TYPE LIKE TABLE OF MTREESNODE WITH DEFAULT KEY. DATA: TREE_CON_REF TYPE REF TO CL_GUI_CUSTOM_CONTAINER, G_TREE TYPE REF TO..

SAP는 데이터를 DB에 직접 넣는 방식을 선호하지 않고, 프로그램을 통해 INSERT하는 방식을 권장하고 있다. ERP라는 것이 생산, 유통, 회계 등의 비즈니스 프로세스가 모두 연결되어 있어서 그렇지 않나 싶다. (갑자기 DB에 데이터가 생성되면 언제 어디서 에러가 발생할 지 모르니까..) 아무튼 이러한 이유로 BDC 라는 프로그램을 통해 데이터를 넣는 작업을 주로 한다. BDC vs BAPI BDC와 BAPI 모두 자동으로 SAP 시스템에 전송시켜준다. 그럼 차이점은? BDC (트랜잭션 지향) 레코딩 작업을 진행 후 개발이 필요하다. 프로그램 과정을 자동으로 처리해주는 것이기 때문에 속도가 느리다. CBO, 스탠다드 프로그램 모두 사용이 가능하다. (T-CODE로 레코딩을 진행하기 때문) BAPI ..

EDIT 리포트 프로그램 디버깅 인터널 테이블 it_zscarr에 ZSCARR 데이터를 가져온다. 수정 이후 비교하기 위한 기준 데이터를 만들기 위해 it_zscarrcp에 데이터를 복사한다. 수정부분 OUTPUTLEN: 필드의 넓이 (에디트 모드에서는 입력할 수 있는 자릿수 제한, 타입의 자릿수로 설정하는 것이 좋음) KEY: 키(하늘색)를 표시함 LOWERCASE: 소문자 입력을 가능하게 함 ( 체크가 안되어 있다면 소문자로 값을 넣어도 대문자로 표시됨) SY-UCOMM에 '&EDIT' 값이 들어오면서 fieldcat_edit PERFORM 실행 필드 카탈로그를 루프로 돌리면서 지정한 필드명의 EDIT 모드를 지정함 'CARRNAME' OR 'CURRCODE' OR 'URL'이 아니면 EDIT 모드를..
Search Help는 데이터 엘리먼트와 테이블 설계만 잘 되어있으면 파라미터, 셀렉트 옵션을 선언할 때 자동으로 생성된다. 하지만 간혹 원하는 데이터만 Search Help로 가져오고 싶은 경우가 생긴다. 고객 리스트 중 특정 고객(배송처리 미완료 등등)의 리스트만 넣고 싶을 때처럼 말이다. 이럴 때는 직접 Search Help를 생성하는 것이 가능하다. 1. 리포트 프로그램 AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_KUNNR. PERFORM SELECT_KUNNR. AT SELECTION-SCREEN ON VALUE-REQUEST FOR 변수명 위에 경우에는 파라미터이다. 만약 셀렉트 옵션에 지정하고 싶으면 RANGE변수의 LOW와 HIGH 필드를 쓰자. FORM ..

사용할 줄만 알면 코드의 길이를 대폭 줄일 수 있는 필드 심볼이다. 노가다식으로 코딩하다 필드 심볼을 이용한 남의 소스코드를 보면 얼마나 충격적이었는지.. 아직까지 어렵지만 최대한 이해하고자 포스팅한다. FIELD SYMBOL 변수에 동적인 접근이 가능하게 한다. 메모리 공간을 점유하지 않는다. 타입 없이 생성할 수 있으며, 할당되는 필드의 타입을 그대로 상속받는다. ····· FIELD-SYMBOLS: 필드심볼 선언 구문. 이 경우에는 포인터만 생성된다. ASSIGN: 해당 구문을 만나야 포인터가 데이터 오브젝트에 연결된다. UNASSIGN: 필드심볼와 데이터 오브젝트의 연결을 끊는다. " 필드심볼 선언 " 필드심볼 - 프로그램 내 변수의 이름을 대신하는 역할 FIELD-SYMBOLS . DATA: L..

1000번 화면에서 Execute(F8) 버튼 외 다른 기능을 추가하고 싶은 경우가 생긴다. 이럴 때 SSCRFIELDS를 이용해서 FUNCTION을 추가할 수 있다. 단, 최대 5개까지 생성이 가능하다. TOP 선언부에 아래 코드를 추가한다. * FUNCTION CODE TABLES: SSCRFIELDS. DATA: G_FUNCTION_KEY TYPE SMP_DYNTXT. INITIALIZATION 이벤트에 아래 코드를 추가한다. FORM set_function_key . *SMPL G_FUNCTION_KEY-ICON_ID = ICON_ADDRESS. G_FUNCTION_KEY-ICON_TEXT = 'TEST'. G_FUNCTION_KEY-TEXT = 'TEST'. SSCRFIELDS-FUNCTXT_0..