비밀댓글로 6편을 바라시는 초보 ABAP 개발자분들이 계셨다...
고맙다. ..
뻘짓하나 했는데.... 그래도 이글을 보고 공부하시는 분들이 계셔서 .. 보람있고 나중에 강좌를 한번 소수정예로 열어보고싶다.^^
암튼 5강에 막 loop if 돌고 별짓을 다했는데....
갑자기 이런생각이 들었다면 미래의 ABAP고수다.
야~ 그럼 데이터 가져오는건 알겠어...
근데 조건값은 어떻게 넣어???
예를들어 5강까지 했던 DB에서 AA항공사만 가져온다 하면 유저들이 입력을 해야할거 아냐~~
그럼 그 화면이 필요할꺼아냐... 그거 HTML로 그려??
아니다.... SAP는 솔루션이기에 코딩만 하면 인풋창이 짠 하고 이쁘게 나온다...
오늘은 그걸 배울꺼다..
놀라지마시라... 너무쉬우니까...
시작.
SAP는 회사코드를 기본적으로 많이 쓴다.
너무많이 쓴다..
그래서 회사코드 Input을 만들어보겠다.
PARAMETERS : P_BUKRS TYPE BUKRS OBLIGATORY DEFAULT '1000'.
이렇게 코딩하고 CTRL+F3 을 해서 ACTIVE 해보자.
실행 F8 하면
만들어졌다.
쉽다.
자 그럼 코드분석해보자.
Parameters : <- 1개짜리 값 넣은거 만들래
그 값 넣는 바구니는 "p_bukrs" 로 이름지을거다?
근데 그 바구니의 속성 type은 bukrs야..
(회사코드 관련 element.. SAP에서 만들어둔 타입이다)
그런데 OBLIGATORY 즉 필수로 무조건 넣게해줘. 안넣으면 진행안되게...
그런데 다들 각자 자기회사에서 쓰는거니 기본값
Default '1000' 을 넣어줘... 1000번 회사코드를 거진 회사에 다니고있는거지.... 각자 자기회사코드 넣음 되...
이런 의미다 ... 저 많은 의미가 1줄로...
자... 그럼 두번째
범위값은 어떻게 넣어??
예를들어 아이폰1부터 아이폰16까지 있는데
조건입력창에 아이폰1~아이폰16까지 다 가져오게해.. 라고 넣을수도 있잖아...
혹은 아이폰1 아이폰4 아이폰8 만 가져와 할수도있고...
아이폰1 / 갤럭시24 할수도있고..
이런 범위(레인지값) 나 여러값을 넣고싶을땐
다른코딩이필요하다.
아래캡쳐의 select-options : 를 따라 코딩해보자
그리고 active(ctrl +f3 앞으로는 active만 쓰겠다.) 하면 에러가난다..
위 캡쳐 맨 아래 빨간라인....
"MARA-MATNR 을 알 수 없다 ...."
무슨말이냐 ..
SELECT-OPTIONS 은 그냥 TYPE 선언이 안되고.
저렇게 FOR를 써야하는데 저 FOR는 어떤 DB에서 어떤필드인지를 알려줘야한다.
지금 코딩창에 MARA 라는 DB가 뭔지 모르니 에러나는거다.
상단에 이걸 써넣어보자.
REPORT ZXXX~~~~ .밑에다가..
TABLES : MARA.
쓰고 ACTIVE.
잘될것이다.
즉, MARA DB에서 MATNR 필드명의 속성값을 가질 입력창이 완성되었다.
우측에 => 요 화살표를 누르면 sigle 값들도 넣을 수 있고. 아이폰 3 아이폰 7 아이폰 15 이렇게..
범위값부터 제외값 등등 모든기능이 다 자동으로 붙는다...
겨우 select options 코딩하나 했는데.....
그럼 parameter와 select option 차이는???
이미 아는거 같다고???
아니.. db조회시 엄청난 차이가 있다.
만약 parameter 값이던 p_bukrs 에 값을 안넣고
db의 where절에 던지면? db는 bukrs필드가 비어있는걸 찾아 가져온다....
select options 값이던 s_matnr에 값을 안넣고
db의 where절에 던지면??
matnr 모든값들을 가져온다.....
엄청난 차이다.. 이 원리를 이용해서
select options를 parameter 모양 같이 쓰기도 한다... 왜? 비어있으면 다가져오고 싶어서....
select options에 코딩을 추가해보자.
No-extention + no intervals.
확장넣지말고 범위값도 만들지마!!!!!
라고 넣으니...
결과는? paramers와 모양이 같아졌다.
아니 그러면..... 전부다 저렇게 만들면 되자나요..
왜 회사코드는 parameter로 만들어요?
회사코드는 언제 어디서든 필수니까.....
회사코드가 없는 경우는 없으니까.....
그리고 1개값만 쓰니까...
내 기준으로 내 회사꺼만 보니까....
겨우 2가지 코딩 명령어가지고 이만큼 썰을 풀었다.
재미있지???
사실 아직 갈길이 엄청멀다....ㅎㅎㅎ
재미있게 읽었길 바라며...
'ERP-SAP > SAP기초사용법' 카테고리의 다른 글
<ABAP> 쉽고 간단하게 배우는 기초 ABAP 05편 (LOOP, IF 처리) (10) | 2024.09.05 |
---|---|
<ABAP> 쉽고 간단하게 배우는 기초 ABAP 04편 (바보도 따라하는 SALV) (1) | 2024.09.05 |
<ABAP> 쉽고 간단하게 배우는 기초 ABAP 03편 (기초선언+데이터담기) (7) | 2024.07.19 |
<ABAP> 쉽고 간단하게 배우는 기초 ABAP 02편 (기초선언) (4) | 2024.07.18 |
<ABAP> 쉽고 간단하게 배우는 기초 ABAP 01편 (3) | 2024.03.29 |