목록전체 글 (770)
쌓고 쌓다

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..

Check BoxScreen Painter의 사이드바에 Checkbox가 있다. Name과 FctCode를 작성하자.예시로 CHK1을 작성했다. TOP Include에 체크박스의 엘리먼트 네임 OPT1으로 선언 체크박스 이름 OPT1이 초기값이라면 언체크된 상태이고그게 아니라면 체크된 상태이다.IS INITIAL로 체크가 되었는지 안되었는지 분기점을 만들면 된다. Radio ButtonScreen Painter의 사이드바에 해당 아이콘이 Radio Button 생성이다. 라디오 버튼 3개를 만들고해당 버튼에 맞춰 TITLE을 바꾸는 예제를 보자. 라디오 버튼의 Name은 TITLE1, TITLE2, TITLE3으로 생성했다. 라디오 버튼을 Ctrl 키를 누르며 3개를 모두 클릭한 뒤우클릭하여 Radio ..

User Interface를 재정의하기 위해서 GUI TITLE과 GUI STATUS를 사용한다. GUI STATUS에서 설정 가능한 것- Menu bar- Standard toolbar- Application Toolbar- Key setting : F1과 F3와 같은 키 누름시 이벤트 GUI TITLE에서 설정 가능한 것- 예시 Flight Connection Data Display와 같은 제목 GUI TITLE스크린의 PBO에서 "MOUDLE STAUS_스크린번호"를 주석 해제한다.더블 클릭하여 생성. SET TITLEBAR에 타이틀 코드를 작성한다.그리고 타이틀 코드 더블 클릭. Title 부분에 원하는 타이틀을 작성하면 된다.타이틀의 일부를 동적으로 바꿀 수 있는 방법으로변수를 넣어줄 수 있는데..

먼저 다수의 Screen이 존재할때Screen의 이동 방식에대해 이해해보자. 100 스크린에서 Enter를 입력하면100번 스크린에서 PAI 모듈을 거치고다음 스크린의 PBO로 이동한다. 위의 방식으로 스크린 이동이 이뤄진다. Static Screen SequencesScreen의 Attribute를 보면 Next Dynpro 속성이 있다.이 속성은 현재 스크린에서 Enter를 입력한다면 이동하는 스크린이다. Dynamic Screen SequenceRun Time에 일시적으로Static Screen Sequence에서 봤던 다음 스크린인static Next Screen(Next Dynpro)을 덮어쓸 수 있는데SET SCREEN 키워드를 사용한다. 스크린 이동 코드는 PAI에서 작성한다.인풋을 처리하고..