remind
context 메뉴는 status에서 menu painter로 만들어봤음. 마우스에 달거나 runtime 시에 설정할 수 있음. pf-status / 런타임에서 다이나믹하게 만들 수 있음.
메서드와 이벤트를 구분해서 사용하는게 중요
메서드 : 프로그램 내에서 기능을 구현 하는 것 , 기능은 항시 가지고 있는 것 데이터를 가지고 있는 것 . 기능을 수행하기 위해서 import . 가지고 처리하는 것 . 넣는 variable을 만들어줘야하지만 attribute를 가지고 있기때문에 로컬에서 변수를 만들어서 넣어주기만 함
이벤트 -> 사용자의 입려을 받아 처리해주는 것. 사용자가 더블클릭을 했을 때 어떤 반응을 해주는 것 . 이벤트 입력을 다른형태로 기능을 수행할 수 있는 것
function - subroutin. 함께 기능을 수행하는 것
alv는 method 가 많은데 위의 특정그림을 많이 씀
view라고 하는 아이콘을 누르면 list icon classic리스트를 출력했는데 여기에 셋툴바 인터렉티브를 해서 모양을 바꾸거나 글자를 바꾼다음 펑션코드도 바꿔서 셋 유저 컴맨드롤 통해 새로운 이벤트를 기능할 수 있게 바꿀 수 있음
아래가 메서드를 호출하는방법
위가 이벤트 -> 핸들러 메시지 안에 그 기능을 수행하는 alv 메서드가 들어가 있는것
전형적으로 동작하는 방식이 존재
summation 버튼을 누르면 sum이 되어야하는데 엉뚱한 기능을 수행하도록 하고 아이콘 ( detail) 까지 바꿔버릴 수 있음 .이런 overwrite를 해주는 메서드가 핸들링
이벤트에다가 메서드를 써버리면 펑션코드가 디테일이 아닌 dis book으로 바뀌어 버린 것.
before니까 유저가 누르기전에 벌써 기능을 바꿔버린 것 . 이벤트 사이에 메서드가 들어가버린 것
alv를 더블클릭했을 때 ( 특정 셀을) 유저커맨드가 발생해서 ) 정보를 뽑아내는 메서드
( 겟 커런트 )
또는
스탠다드 펑션으로 교체를 하거나
어떤 컬럼에 대해서 오른쪽 마우스를 누르면 하나만 있을 수도 있고 detail처럼 ..으로 나와있으면 레벨이 하나 더 보이고 3개까지 설정할 수 있지만 그렇게 하면 너무 기니까 2개정도로 마무리
우클릭하면 1번으로가서 메뉴를 지정해놓거나 유저커맨드 펑션을 업데이트를 해서 다시 유저커맨드가 동작해서 최종 동작을 보여주는 과정을 거친다
이벤트 - 메서드 - 이벤트 - 메서드
마우스로 눌렀을 때의 구조
핸들러 메서드를 디자인하고
1번 이벤트가 끝나면 유저 커맨드 이벤트로 다시 그 펑션코드를 실행시켜주는 커맨드를 디자인 해야한다는 것
pf- status / 펑션키 셋팅 details
이렇게 만들기 위해서
이렇게 적어줘야 함
무빙하는방법과 익스텐딩하는방법 2개가 함께 있는것
메서드를 활용해서 cl 글로벌 클래스 에서 스태틱 메서드를 호출하게 되는데 기본적으로 3개만 해도 된다는 말 .
출력 외 확장도 가능
새로운 평션을 추가만 할 때 add function 기능을 추가해서 펑션코드를 디테일로 보고 디스플레이 모얼 디테일을 집어넣으면 원래 기능안에 이 기능이 추가되는 것
add_function 새로운 기능 확장 가능
펑션코드에 만들어 놓은것에 케이스 문에 넣어놓고 구현 .
정리하자면
스태틱하게 만들던 add fucntion 으로 기존의 기능에 추가를 하는등의 작업 후 유저 커맨드에 작업을 하도록 디자인하면 된다는 말
화면자체를 가지고 있어서 사용자의 입력을 받아서 write만 해주면 됨
데이터를 취득하는데 스트레스 없이 write에만 집중하면 됨.
구조만 알면 됨
node세개가 연결된 것
하나찍고 다 찍고 올라가서 다시 찍고 돌아가는 것
끝나고 나면 end of selection
report프로그램에서
프로그램을 작성하면 내부적으로는
이렇게 작동. 내부적으로 만들어져 있다는것을 의미
check & stop & exit 를 많이 사용
check 는 select option일 때 값을 받도록 넣는것
get -sflight동작을 하는데 거기에 필요로 한 사용자의 입력을 받아서 check so_occ. 값을 출력해오는 값이 사용자가 입력한 값과 같지 않으면 이 이벤트를 빠져 나오는 것
spfli 에서 데이터를 취득해오고 get sflight가 수백개의 데이터를 가지고 오는데 확인해주는 것. .
데이터베이스뷰를 만들었다는 가정하에 어래이패치르 통해 넣을 때 가지고 오는 데이터가 sv_flights
where라는 조건을 3개 만들어서 오름차순으로 정리
into from 상관없음 위치
두개의 테이블로 교차곱을 만드는 것
왼쪽은 무조건 다가지고 온다. 거기서 오른쪽에 자신이 없는것을 가지고 오는것
아우터 조인은 LEFT OUTER조인
클래스는 LEFT가 기준 , NULL값이 존재
-> HELP VIEW에 사용됨 모든 뷰를 다 보기 위해서
내가 원하는것을 쓰고 INTO TABLE 을 쓰고 핵심은 FROM INNERJOIN.
ON은 조건