메뉴 건너뛰기

SAP 한국 커뮤니티

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

멀고도험한 2009.08.02 14:00 조회 수 : 1253

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


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 을 계속 돌아서 시간도 엄청 걸릴테구요..


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

번호 제목 글쓴이 날짜 조회 수
3913 <img src=2.gif border=0>테이블 유지보수 생성기로 뷰에 필드 추가 하는방법.. [6] 띠로리~ 2009.08.07 2551
3912 <img src=2.gif border=0>화면이동 관련 질문입니다~~ 1000번 화면으로 가고싶어요~~ [2] gus 2009.08.06 1649
3911 <img src=1.gif border=0>출력장치(SPAD) 등록 연결 방법- HP젯다이렉트로 구성된 HP레이저 프린터 신삥 2009.08.06 2327
3910 <img src=2.gif border=0>로그온 Language에 따른 언어 변경 [1] 신삥 2009.08.06 1420
3909 <img src=1.gif border=0>ALV 'REUSE_ALV_GRID_DISPLAY_LVC' 펑션에서 엔터 키 적용방법 아시는분 계신가요? [3] .... 2009.08.06 1862
3908 <img src=3.gif border=0>[질문] 리포트의 이벤트중 start-of-selection 이벤트를 강제로 타게하는 방법없나요? [6] 예스맨 2009.08.04 1064
3907 <img src=2.gif border=0>MESSAGE 명령어에 나오는 TEXT에 색상이나 두께를 진하게 하고자 합니다. [1] 대지꿀꾸링 2009.08.04 964
3906 <img src=2.gif border=0>[급합니다] report 프로그램에서 write 출력화면에서 더블클릭 실현관한 문제입니다. [5] file 디카프리오 2009.08.04 1027
3905 [re] <img src=2.gif border=0>[급합니다] report 프로그램에서 write 출력화면에서 더블클릭 실현관한 문제입니다. 띵호아빠 2009.08.06 957
3904 <img src=2.gif border=0>텍스트에디터 입력 글꼴,색상을 선택해서 입력할 수 있을까요? [3] 빠코 2009.08.04 1122
3903 <img src=3.gif border=0>CUSTOMER 등록은 어디서 하는건가요???(초 초급 질문) [2] 쿨쿨 2009.08.04 981
3902 <img src=2.gif border=0>【急!!】2줄 ALV에서 fieldcat의 색상변경에 관한 질문입니다. [1] file 디카프리오 2009.08.03 996
3901 <img src=2.gif border=0>스마트폼에서 프랑서출력 하려는데 깨지네요 ㅡㅡ;;; [1] 토니 2009.08.03 1126
3900 <img src=3.gif border=0>WRITE 시 한글 1BYTE인식 문제. 고수님들 부탁드립니다. [3] 페리 2009.08.03 1813
3899 <img src=3.gif border=0>sap 설치후 스크린 레이아웃 버튼을 누르게 되면... [4] file 2009.08.03 1133
3898 <img src=2.gif border=0>커스터마이징 테이블 변경시 해당 테이블의 필드도 변경이 되나여? [2] GG 2009.08.03 1022
» <img src=3.gif border=0>도무지 로직이 안서요.. 도와주세요..ㅠㅠ [3] 멀고도험한 2009.08.02 1253
3896 <img src=1.gif border=0>BW BCT설치시 Process Chain 포함방법 질문입니다. 해보자 2009.08.01 1327
3895 <img src=2.gif border=0>LEAVE TO LIST-PROCESSING 을 sub screen에서 쓰는 방법 없나요? [1] 예스맨 2009.07.31 1572
3894 <img src=2.gif border=0>EXCEL 다운로드하여 EXCEL 화면을 뛰울때 EXCEL 프로그램이 앞으로 나오게 어떻게 하나요? [1] 방청객 2009.07.31 1253