전에 SAP교육원에서 OOP를 맛배기를 보긴했지만 그땐 진짜 워낙 아무것도 모를때라..(지금도 피장파장이지만요..)
설명을 들으면서도 그냥 그런갑다.. 했습니다.
헌데 혼자서 짬짬이 프로그램 짜면서 보면 클래스를 이용하는것보단 펑션을 쓰는게 훨씬 간단하고
기존 여러 소스들 대부분이 펑션위주라 해석도 용이했습니다.
헌데 E아밥책에 저자님께서도 그러시고 그외에도 여기저기서 점차 oop쓰는쪽으로 갈것이라며
oop를 공부할것을 권합니다.
헌데 정작 oop가 나은점을 잘 모르겠기에 꼭 익혀야 하는 필요성에 의문이 듭니다.
내가 필요성을 느껴야지 남들이 꼭 하라한다고 하는건 좀 아닌듯샆어서요.
또한 완전초보가 공부를 하는데 있어 우선순위도 좀 정해주셨으면 합니다.
1. native sql
2. bapi
3. smartform
4. oop.
현재 1.2.3.4순으로 하려고 계획중이거든요..
조언 부탁드리겠습니다 ^^
댓글 14
-
꼬맹이
2009.02.23 23:26
-
카츠
2009.02.23 23:58
class를 다뤄보긴요.. 그저 교재좀 보고 따라하고있는중이죠.. native를 배우려는게 설명이 부족해서 혹은 제가 이해를 잘못해서 와전된듯한데 줏어듣기로 로직으로 뺑뺑이돌걸 쿼리를 잘짜면 퍼포먼스도 빠르고 또 훨씬 간결하게 할수있다고 하는부분을 들어서요..
bapi의 경우 SD모듈에 적용할듯한데 실은 여기와서 bdc도 첨 보고했습니다. bdc조차 실제 제가 짜보진 못했지만 bdc는 느리고 오류도 많아서 bapi를 쓰는게 더 좋다고 하길래 말이죠.
현재 오픈으로 si사이트온지 두달정도 됐습니다. 인맥낙하산으로 온거라 abap사수도 없고 주위엔 모듈 담당자분들만 계시니
업무적인건 몰라도 abap에 관한 디테일한 부분은 물어볼수가 없어요..
요청 사항오는것은 대부분 ALV조회프로그램, 수정, 삭제인데 처음 한달정도는 그거도 정말 힘들었는데 막 아는분들께 물어보고 여기 게시판에 질문도 하고 하다보니 이제 간단한 수준의 1,M타입 프로그램 작성은 되는듯해서 노는시간에 위 항목들을 공부하려고합니다..
오늘도 할거없어서 OOP개념잡는 문서 보고있는데 뭐가 뭔지..
-
꼬맹이
2009.02.24 00:01
아 카츠님이시군요... 카츠님은 SQL 에 관심이 정말 많으신듯 하네요...
여담으로 SAP 에서는 Native SQL 을 권장 하지 않는다고 합니다.
DBMS 를 Direct 로 Access 이 가능해서 특별한 엄청 특별 한 경우 가 아니면
사용치 말라는 군요...
뭐 주변분들 말을 빌리자면, Performance 가 월등하다는 분도 계시고 Open SQL 비해서 말이죠.
그렇지 않다는 분들도 계십니다. System Environment 에 따라... 다른 결과가 나올듯 싶기도 하구요.
여튼 OOP 권장에 대해서는 객체지향의 특성에 대해 아신다면
바로 해결 되지 않을 까 싶네요.
Function 개발이 용이 하면, 그걸 하시면 되구, 아니다 난 Class 가 낫다 하시면 이걸 하시면 되구요 ~
신기술들이 많이 Java 에 맞춰 줘 가는 추세라고 도 하더군요...
어디까지 나 참고 만 하세요... ^^/
-
카츠
2009.02.24 00:54
꼬맹이님 답변 감사합니다. 말씀대로 쿼리에 관심이 많은게.. 뭐 주위에 있는분들 주특기가 DB쪽이다보니..
토드 한번 건드려본적 없는 제 입장에선 주눅이 들어서.. 열심이 db관련 공부하고있습니다..
전산전공이 아닌 제가 볼땐 모든것이 신천지인데 그래도 그중 가장 근본이 되는건 db가 아닌가해서..
깊이가진 아니라도.. 최소 겉핡기식이라도 해보려고 하는중입죠 ^^;
-
꼬맹이
2009.02.24 01:08
Toad 만질 일 거의 없을 겝니다.
어디까지나 제 생각인데요... ㅋ
SAP 는 DB 설계가 워낙에 잘 되어 있기에 ,DML (Select,Update,Modify,Insert, Skill) 만 좋으시면 아무런 문제 없습니다.
뭐 DB 가 가장 기본인건 맞는 말씀이죠...
ABAP Con. 실질적으로 DB 를 Direct Access 할 일이 얼마나 될까요 ?
뭐 듣기론 그러다 문제 생기면 SAP 에서두 나 몰라라 한다는데... ^^;
어떻하면 Open-SQL 안 에서 Performane 최대한 많이 낼까 아니 그 보다...
정합성에 맞는 Data Gathering 이 우선 일듯 싶네요...
SE11 에서 Table 관계 에 관심을 가지시길... 참 그거 아세요...
SE11 Main Screen 에서 Buttion들이 다들 무슨 기능을 하는지...
이곳에서도 신천지를 발견 하길 겝니다... 참 재미난 녀석이죠... SAP 란 말이죠... ㅋ
Native SQL, Toad Skill 물론 알면 좋겠죠...
너무 조급해 하지 마시고... 하나씩 차근 차근 하다 보면...
안일한 ABAP Con. 이 아니라면, 안주 하지 않으실 거에요...~
Standard 에 전력 질주 하시길... 권합니다. ^^/
어디까지나 제 생각 입니다... 꼬맹이 생각.
참참참 Legacy 는 Legacy 일뿐 ABAP Core. 가 아닙니다.
명심 또 명심... !
-
andy
2009.02.24 01:51
OOP 는 어쩔수 없는(?) 선택이 되어 버린듯하는데요~
점점 SAP에서 새로운 기능(?)을 class 위주로 추가 하고 있습니다.
예를 들면.. user(customer)-exit 에서 , BADI로 넘어 가고 있구요.
저도 한참 ABAP을 배우고 있는 중인데요.
강사분께서 지속적으로 강조하는 것 중에 하나가 표준 프로그램 디버깅인데..
표준프로그램 디버깅 하려면.. OOP(Class)를 모르면 불가능 하구요.
제 의견으로는 native는 좀 뒤에 보시고, oop 개념부터 정립하시는게 좋을듯 합니다. ^^
-
카츠
2009.02.24 02:34
스탠다드의 디버깅이라.. 언젠가 스탠다드 디버깅 하면서 그냥 쭉 보라는 예기를 들었었는데 막상 해보면 뭐가 뭔지 모르겠어서..
잘안하게되었는데.. 해야겠네요. 일단 조언해주신것처럼 가장 기본적인 아밥문법적인 부분과 흐름을 더 자세히 공부해야겠습니다.
좋은 조언주신 두분 정말 감사드립니다 ^^
-
미소
2009.02.24 23:36
Native SQL을 사용하지 권장하지 않는 이유는
SAP자체가 여러가지 DB를 지원하기 때문에 특정 DB에 맞는 NATIVE SQL을 사용할 경우
문제가 생길 수도 있습니다. 예를 들자면 DB를 변경할 일이 자주 있지는 않지만 만약 전혀 다른 종류의 DB로 바꿀경우.. NATIVE SQL을 사용한다면 모두 수정해 주어야겠지요.. ^^
->원본글 수정하였습니다. -
꼬맹이
2009.02.25 00:14
미소님 말씀은 Native SQL 을 사용해도 전혀 무방하다는 말씀인 건가요 ?
제가 지식이 짧아 명확치가 않아 서요... ^^;
-
도움이
2009.02.25 00:34
제 생각에는 native SQL 과 Open SQL 사용할 용도가 다른것 같습니다.
대부분의 쿼리는 Open SQL로 하지만
꼭 필요한 곳에서는 Native SQL로 써야 할것 같습니다.
DBMS에서 지원하는 고유 기능(Hint 등)을 써야 효율이 높다면 그렇게 쓰는 것이라고 생각되네여
Open SQL도 장점이 많습니다. In 등의 기능은 DBMS에서 지원하질 않거든요..
적재적소에 맞게 쓰는 것이 좋다고 생각되고..
우선은 Open SQL을 완벽히 익히는게 중요하다고 생각합니다
-
nanta
2009.02.25 03:00
1. native sql - 사용하는경우가 상당히 크리트컬하다. 나도 증권싸이트에서 한번쓰고 아직 않써봤다.
2. bapi - 쓰기싫어도 나중에 많이 쓰게 될꺼다. (그렇다고 따로 공부한다? ㅋㅋㅋ 영어공부나해라.)
3. smartform - 한두번해보면 알아서 피하게 될꺼다.
4. oop. - abap 특성상 Standard 디버깅하는 경우가 많다. Netwaver 부터는 엔간하면 OOP로 되있다. 한 3?~4?년전에 Netwaver 첨 디버깅하다 날센적있다. 참고로 스탠다드 디버깅하면서 function 안까지 쫏아들어가는 바보짓은 하지마라. 한놈그래서 걍 낼보자하고 집에갔다 담날도 그짓하더라 ㅋㅋㅋ
이짓한지 8년정도 된거 같은데.. 넘었나? 이런거 머하러 공부하냐? 걍 필드뛰다보면 알게되... 걍 모듈공부나해라..
반쪽짜리 abap 하면 한계있다. 코딩 누가 꼭 부탁이니 OOP로 해달란말 없다.. 이구동성 값만 맞음된다.
쓰기는 나중에 하다보면 늘고 지금은 읽기만 돼면되.. 마인드를 개발자 마인드면 않된다.. 태크닉컬한거에 매달리지말고...
그런건 나중에 다.. 늘어.. -
꼬맹이
2009.02.25 06:26
4. 한번 알려 주시면 될걸... 굳이... 돌아가게 하셨군요... 에휴~
그 분도 한다고 끙끙대면서 했을텐데... 저라면, Function 타는 걸 보여주고,
왜 Func. 을 타는지, 그걸 쫓아서 F5 Debugging 을 걸면, 왜 시간낭비인지... 알려주고
그에 걸맞는 그걸 이해해야지만 풀수 있는 과제를 하나 내 주겠습니다.
게으른 신입이 아니라는 전제 하에... 드린 말씀 입니다.
외람되지만, 하나 더 여쭙자면, Module 중요한거 시간 지나면 다 알게 되고,
개발만 하지 않을 거면, 알아서 한 Module 정해서 열심히 하는게 당연한 겁니다.
현 시점에 본인에게 닥친게 ABAP 이고 하니 그것에 매진해 보려 하는데...
너무 안하무인격으로 그렇게 몰아 가시면...
nanta님 못지 않게 여기 계신분들 제가 아는 분만 해도 10年 차 넘으신분들 많이 계신데... ^^;
경력도 보잘것 없고, 실력도 어영부영인데 이런 말씀 드려 죄송합니다.
너무 게으른 Junior에만 초점을 맞추신듯 해, 조금 제가 감정이 상해서 그런거니...
바람이 있다면, 열심히 하는 정말이지 최선을 다하는... 주변에 Junior 들에게 물고기를 잡아 달라는게 아닙니다.
잡는 방법은 편히 Guide 해 주셨으면 하는 바램입니다.
-
無念군
2009.02.25 06:52
nanta 님// 허~걱 8년이나..
기왕이면 .. 이뿌장하게 써주셨쓰면 좋았을 것을..
틀린 이야기는 아니시네요..
능력없는 제가 봐도.. 하나 하나 ..맞는 말씀만 적어 주신듯 .....
좋은 글로 잘 맺음해 주셨쓰면 더욱~더 ~~ 좋았을것을....조금 아쉽습니다...
다음에 행여나 이글을 보신다면 좋은글 부탁 드립니다.. *^^*
-
카츠
2009.02.26 22:47
헛.. 답변감사합니다. 지금 좀 갈팡질팡합니다. 어떤분은 일단은 스킬을 익히라고 하시고.. 어떤분은 스킬은 업무로직을 알면 책보고 혹은 다른 소스보고 하면 되는거다. 업무로직먼저 익혀라라고 하시고..
완전초보 신데... Native SQL 을 하신다구요... 왜 하려 하시는지 궁금 ?
Class 를 다뤄보셨다면... 왜 그걸 사용하려 하시는지 아실텐데... ^^;
BAPI 는 어느 모듈에서 사용할 예정인건가요 ?
OOP 가 워낙 방대한데...
정팔 정팔 완전 초보시라면, 하나를 시작 해서 하나를 먼저 매듭 짓고 다시 고민해 보심이 어떨지 ?
Field Dev. 신가요 ?
만약 정팔 정팔 킹초보 울트라 시라면... 고민 말구 일단 해 보라는 거 해 보시는 것도 득 되실 거에요...~ ^^/