메뉴 건너뛰기

SAP 한국 커뮤니티

<img src=3.gif border=0>도무지 로직이 안서요.. 도와주세요..ㅠㅠ

멀고도험한 2009.08.02 23:00 조회 수 : 1259

예를 들어..한 학년의 성적데이터가 있다고 할때..


1반 모든 학생들의 성적, 2반 학생들의 성적이 쭉~있겠죠.


근데 몇반까지 있는지는 알수 없어요^^;;


 


이 모든 한 학년의 데이터가 internal table에 담겨 있을 때,


각 반별로, 성적 상위권부터 sorting을 해놓고,


 


각 반의 상위 10%째에 해당하는 학생을 구할려면 어떻게 해야 할까요?


 


반이 10개라면 각 반의 상위10%학생의 데이터 총 10개가 만들어지고,


반이 20개라면 총 20건의 데이터가 만들어져야 해요..


 


에휴..도대체 어떻게 해야 할지 모르겠네요.


 


도와주세요~ㅠ_ㅠ


 


 


 


제가 생각한 방법은..


data: it_alldata =>전체데이터,


        it_temp   =>반 번호를 가지고 있는 itab


        lv_line   =>총라인수


        lv_index =>90%째 데이터 줄


 


1) 전체 itab에서 delete duplicate를 사용하여 몇반까지 있는지 반의 갯수를 정한다.


    it_temp = it_alldata


   

DELETE ADJACENT DUPLICATES FROM it_itab COMPARING ban.


 


2) 반을 loop 을 돌면서 전체 데이터에서 현재 룹돌고 있는 반을 다른 internal table에 넣는다.


   loop at it_temp into wa_temp.


     loop at it_alldata into wa_alldata where ban = it_temp-ban.


       append wa_alldata to it_ban1.


     endloop.


   endloop.


 


3) 반의 갯수만큼 생성된 itab에서 90%째 데이터를 취득한다..


  describe table it_ban1 lines lv_line.


  lv_line = lv_line * 0.9.


  read table it_ban1 index lv_line into wa_ban1.


 



  describe table it_ban1 lines lv_line.


  read table it_ban1 index lv_line into wa_ban1.


.


.


.


총 반의 갯수만큼 계속 구한다..ㅠㅠ


 


 


=> 이럴때, 각 반마다의 학생 데이터를 넣기 위해 itab을 선언해야 하는데..데이터 선언시에는 몇개의 itab을 만들어야 할지 모른다는 단점이 있습니다..


데이터가 많을 땐 loop 을 계속 돌아서 시간도 엄청 걸릴테구요..


(실제로 몇만껀의 데이터가 될지 모르는 실정입니다ㅠㅠ)

번호 제목 글쓴이 날짜 조회 수
3919 <img src=2.gif border=0>NUMERIC 자릿수에 관한 질문입니다. [2] james80 2009.08.12 1391
3918 <img src=2.gif border=0>BAPI 로 material 생성 시 Material number [1] Diem 2009.08.12 1320
3917 <img src=3.gif><img src=2.gif border=0>외상매출금 연령분석법] 요구가 있습니다. 혹시..해보신 분들 있으신지요? [6] file sagar 2009.08.11 1171
3916 <img src=2.gif border=0>코딩블럭에 관련된 자료를 구할수 없을 까요?? [2] Cruel 2009.08.10 1956
3915 <img src=3.gif border=0>Selection Screen에서 셀렉트 옵션 값 변경하는 펑션 [5] 쿵푸ㅋ 2009.08.10 1303
3914 <img src=1.gif border=0>data_changed에 대해서 질문드립니다. 화염광마 2009.08.07 1100
3913 <img src=2.gif border=0>테이블 유지보수 생성기로 뷰에 필드 추가 하는방법.. [6] 띠로리~ 2009.08.07 2606
3912 <img src=2.gif border=0>화면이동 관련 질문입니다~~ 1000번 화면으로 가고싶어요~~ [2] gus 2009.08.07 1791
3911 <img src=1.gif border=0>출력장치(SPAD) 등록 연결 방법- HP젯다이렉트로 구성된 HP레이저 프린터 신삥 2009.08.07 2332
3910 <img src=2.gif border=0>로그온 Language에 따른 언어 변경 [1] 신삥 2009.08.07 1556
3909 <img src=1.gif border=0>ALV 'REUSE_ALV_GRID_DISPLAY_LVC' 펑션에서 엔터 키 적용방법 아시는분 계신가요? [3] .... 2009.08.06 1869
3908 <img src=3.gif border=0>[질문] 리포트의 이벤트중 start-of-selection 이벤트를 강제로 타게하는 방법없나요? [6] 예스맨 2009.08.05 1088
3907 <img src=2.gif border=0>MESSAGE 명령어에 나오는 TEXT에 색상이나 두께를 진하게 하고자 합니다. [1] 대지꿀꾸링 2009.08.05 968
3906 <img src=2.gif border=0>[급합니다] report 프로그램에서 write 출력화면에서 더블클릭 실현관한 문제입니다. [5] file 디카프리오 2009.08.04 1037
3905 [re] <img src=2.gif border=0>[급합니다] report 프로그램에서 write 출력화면에서 더블클릭 실현관한 문제입니다. 띵호아빠 2009.08.07 960
3904 <img src=2.gif border=0>텍스트에디터 입력 글꼴,색상을 선택해서 입력할 수 있을까요? [3] 빠코 2009.08.04 1124
3903 <img src=3.gif border=0>CUSTOMER 등록은 어디서 하는건가요???(초 초급 질문) [2] 쿨쿨 2009.08.04 988
3902 <img src=2.gif border=0>【急!!】2줄 ALV에서 fieldcat의 색상변경에 관한 질문입니다. [1] file 디카프리오 2009.08.04 1002
3901 <img src=2.gif border=0>스마트폼에서 프랑서출력 하려는데 깨지네요 ㅡㅡ;;; [1] 토니 2009.08.04 1129
3900 <img src=3.gif border=0>WRITE 시 한글 1BYTE인식 문제. 고수님들 부탁드립니다. [3] 페리 2009.08.03 1848