1. like 구문과 where 에 like구문의 차이점이 궁금합니다. 대충 의미는 알지만 그냥 like 구문에 대해서 자세히 알고싶습니다 ㅜㅜ
2. IN과 JOIN에 대해서 자세히 알고싶습니다. 책으로 봐도 이해가 가질 않습니다
3. reference(참조)가 전혀 이해가 안됩니다. 예를 들면 참조 변수란 말이 많이 나오는데요
객체변수가 있는데 왜 구지 참조변수를 써야되는지요
4. concatenate fname lname into fullname separated by space. 이 구문에서 fname lname 변수를 fullname변수에
합쳐서 공간에 할당하라는 의미인지.. 아닌지 잘 모르겠습니다.
사실 컴공전공이지만 꼴통입니다..맘 잡구 공부를 시작할려는데 기초가 많이 모잘랍니다.
글 올리기전에 검색을 하고 열심히봐도 이해가 안되서 질문드리오니 양해부탁드리겠습니다^^
댓글 4
-
버미!
2010.12.08 02:53
-
맑은하늘
2010.12.08 18:59
1. like : data 선언시 instance 변수를 참조할 때 사용합니다.
where 의 like 는 패턴검색을 하고자 할때 사용합니다. '_'와 '%' 를 사용하는데요
'_'는 문자열 1자리를 표시하구요, '%'문자열을 대표합니다.
해당 필드가 10자리 문자열일 경우
where field like '_____ABCDE' 라고 하면 5자리는 상관없이 뒷자리 5자리가 ABCDE 인 조건의 값을 조회합니다.
이것을 '%'를 사용하면 where field like '%ABCDE'라고 할 수 있습니다.
2. IN 은 range 변수를 조건으로 할 경우 사용하는데요
보통은 data rn_var type range of char10. 과 같은 range 변수를 조건으로 주거나
where 에서 다중 값을 조건으로 줄때 사용합니다.
where field in rn_var 또는 where field in ('A', 'B', 'C') 등으로 사용됩니다.
join 은 두개이상의 테이블의 데이터가 필요할 경우 사용하는데 open SQL에서는 inner join 과 left outer join 이 있고
이것은 수학에서 교집합(inner join) 과 합집합(left outer join)으로 구분되어 질 수 있습니다.
3. 레퍼런스는 좀 어려운 얘기입니다만 간단히 말하자면 매개변수 전달을 어떻게 할 것이냐가 주관심사이고
방법은 값전달방식과 주소전달 방식으로 나누어질 수 있을 것 같네요. 따로 공부하셔야 할 것 같습니다.
perform 문을 예로 들자면
perform call_value using field.
form call_value using value(field).
endform. 은 값전달방식이 될거구요. field 변수에 있는 값을 전달하여 form 에서 사용합니다.
값이 전달되었기 때문에 form문에서 값을 변경해도 field의 원래값이 변경되지 않아 form 문을 빠져나온 후에
field 값은 변경되지 않습니다.
data field type i.
field = 1.
perform call_value using field.
write field.
form call_value using value(field).
add 1 to field.
write field.
endform.
결과는 2 1 이 될거예요.
주소전달 방식은
form call_value using field.
endform. 처럼 될거구요 위 프로그램에 적용하면 결과는 2 2 가 될 겁니다.
function 등 다른 모듈화로직에서도 적용됩니다.
4 concatenate 문장에 대한 설명을 보시면 됩니다.
위 문장은 fname lname 을 연결해서 fullname 에 넣는데 합치는 두 변수를 space로 구분하라는 겁니다.
똑같이 / 로 구분하라고 할경우에는
concatenate fname lname into fullname separated by '/'. 로 하시면 되겠죠. ^^
3번 같은 경우 공부가 많이 필요한 부분이고 중요한 부분입니다. 시간나시는 대로 틈틈이 찾아보시길 바랍니다.
짧은 댓글이라 도움이 되셨을지 모르겠네요. ^^;
-
안녕바다
2010.12.09 00:04
답변 진심으로 감사드립니다. 열심히 하겠습니다^^
-
안녕바다
2010.12.09 00:12
easy 책보다가 몰라서 질문드린거에여 ㅎㅎ
1. 전자 : ABAP Dic.에 있는 타입을 참조해서 변수 선언 , 후자 : Select 절에서는 조건에 사용
2. 전자 : Select 절에 조건에 사용 , 후자 : 같은 키로 연결된 두개 이상의 테이블에서 데이타를 조회하고자 할때 사용
3. 메모리를 이용할 때 사용
4. 문자열에 대해 fname+lname를 space로 구분해서 fullname에 저장
자세한 것은 F1 눌러보세요...아님 Easy ABAP 책을 사서 보시면 이해되실 겝니다.