목록SAP (19)
쌓고 쌓다
SELECTION-SCREEN BEGIN OF BLOCK : 블럭 이름 지정TITLE : 생성된 블럭에 표시할 타이틀 예시로 위와 같이 작성할 수 있다. PA_RBT1, PA_RBT2, PA_RBT3는 라디오 버튼 그룹 RBT로 지정했기에그룹내에 하나의 버튼만 체크가 가능하다. 위와 같이 블럭안에 또 다른 블럭을 생성할 수 있다. SELECTION-SCREEN COMMENT위의 형태로 스크린에 COMMENT를 추가할 수 있다.pos : 시작 컬럼 위치len : 차지할 길이(표시할 길이)text : 표시할 텍스트FOR FIELD : 필드의 라벨로 지정해서 텍스트를 클릭하면 필드를 클릭한것과 동일한 효과를 낸다. SELECTION-SCREEN BEGIN OF LINEBEGIN OF LINE으로 안에 ..
요즘 WRITE로 화면에 안뿌려주고ALV (ABAP LIST VIEW)로 뿌려준다. 레포트 프로그램도 스크린을 가질 수 있다. INCLUDE 파일 네이밍 규칙 F : 서브루틴E : START-OF-SELECTION과 같이 ABAP 이벤트들을 위한 파일프로그램을 COPY할때 INCLUDE 파일도 복사하자.안하면 A와 B 두개의 프로그램이 하나의 INCLUDE를 공유하여 사용한다. WRITE 기본 문법 WRITE [AT] [/] ... AT : 들여쓰기용이다. pos를 쓸때 함께 사용한다.pos(len) : pos 위치에서 len 길이만큼f : fieldoptional : 옵션들 [AT] : GC_POS 시작 컬럼 위치(len) : GC_LEN : 표시할 길이optional : 색상을 넣는 키워드..
SubscreenScreen Painter에서 위의 아이콘으로 Subscreen Area를 생성할 수 있다. Layout에 서브스크린 영역을 만들고Name을 SUB로 작성한다. 이제 Subscreen area에 표시할 스크린을 생성해 주자. 101번 스크린을 표시하고자 만들었다.Dynpro Type에 Subscreen을 체크해 주자. 100번 스크린 위에 101번 스크린의 확인을 위해 텍스트를 넣어놨다. 이제 PBO에 서브스크린을 표시하는 코드를 작성해야 한다. subarea : Screen Painter에서 생성한 Subscreen area element의 Nameprogram_name : 프로그램 ID, 보통 시스템 변수 SY-CPROG를 넣는다.* SY-CPROG : 현재 프로그램을 호출한 프로그..
SELECT_OPTIONS입력 필드의 값을 복잡한 조건을 지정하여SELECT의 WHERE절에 사용할 수 있다. 입력 값의 범위내를 검색한다던지, 제외하여 검색한다던지 할 수 있다. 기본 구분은 위와 같다. 변수 선언시 사용하는 TYPE이 아닌FOR을 사용해야함을 유의하자.name : 입력 필드의 이름data object : 데이터 오브젝트의 필드 (데이터 타입이 아님을 유의) 예제예약 날짜를 이용해 DB 테이블에서 데이터를 조회하는 프로그램을 만들어보자. SBOOK의 Structure 타입을 가지고 GS_BOOKING이라는 Object를 생성한다.SELECT-OPTIONS를 구문을 이용해SO(SELECT OPTIONS)_DATE를 선언한다. SELECT-OPTIONS에 TYPE이 아닌 FOR이 오는것..
Header LineInternal Table을 선언할때 WITH HEADER LINE을 추가할 수 있다. Internal Table을 선언할때 WITH HEADER LINE을 추가함으로써한번의 선언으로 work area와 internal table을 가질 수 있다. 위의 예시에서Work Area와 Internal Table 두개 모두 이름이 itab로 존재했다.어떨때는 Work Area, 어떨때는 Internal Table 두개 다 가능하다. 그래서 itab로 혼동하여 사용하기보다헤더(work area)는 변수명 그대로Internal Table은 "변수명[]" 형태로 사용한다. itab1과 itab2 모두 WITH HEADER LINE으로 선언되었다. 헤더는 변수명 그대로, Internal table..
기본 SELECT ~ FROM ~ INTO 문법SELECT FROM INTO WHERE fields : 가져올 컬럼table : 가져올 테이블target : 읽어온 것을 어디다 저장할 것인지condition : 어떤 ROW를 가져올 것인지 조건 FROM과 INTO절의 위치는 바뀔 수 있다. SELECT SINGLE단건 조회로 "SELECT SINGLE"를 사용한다.결과가 단건이 아니라면 랜덤으로 한개를 가져오기에순서는 보장 못한다. "SELECT *" 는 모든 필드를 가져오는것으로* 대신에 "SELECT FIELD1 FIELD2 ... " 형태로 가져오길 원하는 필드를 작성해도 된다. 단, SELECT절에 명시한 필드의 순서대로 값을 가져오고INTO에 작성한 Structure 필드에 그 순서대로 들..
Status IconScreen의 Layout의 사이드바에 Status Icon을 누른다. ICON의 Element 이름을 작성하자. 프로그램의 TOP에 이전에 선언한 Element 이름과 동일하게 변수명을 선언한다.TYPE은 ICONS_TEXT이다. 아이콘을 표시할 스크린의 PBO에 아이콘 출력을 위한 모듈을 생성한다. 아이콘의 표시는 'ICON_CREATE' Function을 호출하여 한다.NAME은 표시하고자 하는 아이콘 종류의 NAMERESULT는 아이콘을 표시하고자 하는 Element Name이 온다. EXPORTING의 TEXT에는 표시하고자하는 텍스트를 넣을 수 있다.텍스트가 잘려서 나온다면 해당 Element의 Attribute Vis.Length를 늘려주자. 아이콘의 종류는 데이터베이스 ..
Field Input Check with ErrorPAI에서 인풋 값을 검증하는 모듈을 추가할 수 있다.에는 검증할 Screen Element Name이 온다.MODULE에는 검증 코드가 들어간 모듈을 추가해준다.예시로 CHECK_INPUT 모듈이 적혀져 있다. 검증 코드가 들어간 모듈에서는 MESSAGE로 메시지를 던지면 된다. 에러 메시지가 출력된다.이때 검증에 실패한 Input/Output Field는Input 필드로 바뀌고검증에 성공한 필드들은Output 필드로 변경된다. Checking Group of Field여러개의 필드를 검증하고싶다면 CHAIN ~ ENDCHAIN 구문과 함께필드를 ,(콤마)로 구분한다. A,B,C,D 모두 Input/Ouput 필드였으나C,D 에 걸리면서 A,B는 Out..