메뉴 건너뛰기

SAP 한국 커뮤니티



아래 엑셀과 같은 결과를 만들려고 해요..


COSP에서 데이터를 읽어오면, WGT01~WGT12까지의 매달 금액 데이터가 있습니다.


그중에서 사용자가 3~6월 데이터에 대해 실행한다고 하면,


WGT03의 값을 일단 읽고, 매달 100원씩 12월까지 감가 상각을 한다고 계산을 하는거예요.


그리고 4월에 대한 값을 WGT04에서 읽고 4월~12월씩 매달 100원씩 삭감하는 형식이죠.


그럼 총 3,4,5,6월의 4개의 레코드가 생성이 되겠죠..


 


코딩을 해봤는데..값은 제대로 나오기는 하는데 영..복잡한 코딩이 되버렸네요 ㅠㅠ


좀 간단하게, 퍼포먼스 좋게 만드는 방법은 없을까요?


제발 부탁드립니다!!


 


 

DATA: wa TYPE cosp,
          wa1 TYPE cosp,
          it LIKE TABLE OF wa.
DATA: lv_mon(2),
      lv_month(2),
      lv_index(2TYPE n,
      lv_index2(2TYPE n,
      fname(10TYPE c.
DATA: bmon(2VALUE '03',
      emon(2VALUE '06'.
DATA: price TYPE cosp-wtg001.

* 해당 월만큼만 실행
lv_mon = emon - bmon + 1.

FIELD-SYMBOLS: <fs> TYPE ANY.

SELECT SINGLE * FROM cosp
  INTO CORRESPONDING FIELDS OF wa
 WHERE objnr   =    'KS1000P1110'.


 


 


* 원하는 개월수만큼 실행함(3~6월까지 4번 실행)
DO lv_mon TIMES.
  lv_index = bmon + sy-index - 1.
  CONCATENATE 'WA-WTG0'  lv_index INTO fname.

  ASSIGN (fname) TO <fs>.

  CASE fname.
    WHEN 'WA-WTG001'.
      wa1-wtg001 = <fs>.

    WHEN 'WA-WTG002'.
      wa1-wtg002 = <fs>.

    WHEN 'WA-WTG003'.
      wa1-wtg003 = <fs>.

    WHEN 'WA-WTG004'.
      wa1-wtg004 = <fs>.

    WHEN 'WA-WTG005'.
      wa1-wtg005 = <fs>.

    WHEN 'WA-WTG006'.
      wa1-wtg006 = <fs>.

    WHEN 'WA-WTG007'.
      wa1-wtg007 = <fs>.

    WHEN 'WA-WTG008'.
      wa1-wtg008 = <fs>.

    WHEN 'WA-WTG009'.
      wa1-wtg009 = <fs>.

    WHEN 'WA-WTG010'.
      wa1-wtg010 = <fs>.

    WHEN 'WA-WTG0011'.
      wa1-wtg011 = <fs>.

    WHEN 'WA-WTG012'.
      wa1-wtg012 = <fs>.

  ENDCASE.

* 해당월부터 12 월까지 감가 상각
  CLEAR: lv_month.
  lv_month = 12 - lv_index.

  lv_index2 = lv_index.

  price = <fs>.

  DO lv_month TIMES.
    lv_index2 = lv_index2 + 1.
    CONCATENATE 'WA1-WTG0'  lv_index2 INTO fname.

    price = price - 100.

    CASE fname.
      WHEN 'WA1-WTG001'.
        wa1-wtg001 = price.

      WHEN 'WA1-WTG002'.
        wa1-wtg002 = price.

      WHEN 'WA1-WTG003'.
        wa1-wtg003 = price.

      WHEN 'WA1-WTG004'.
        wa1-wtg004 = price.

      WHEN 'WA1-WTG005'.
        wa1-wtg005 = price.

      WHEN 'WA1-WTG006'.
        wa1-wtg006 = price.

      WHEN 'WA1-WTG007'.
        wa1-wtg007 = price.

      WHEN 'WA1-WTG008'.
        wa1-wtg008 = price.

      WHEN 'WA1-WTG009'.
        wa1-wtg009 = price.

      WHEN 'WA1-WTG010'.
        wa1-wtg010 = price.

      WHEN 'WA1-WTG0011'.
        wa1-wtg011 = price.

      WHEN 'WA1-WTG012'.
        wa1-wtg012 = price.

    ENDCASE.

  ENDDO.

  APPEND wa1 TO it.
  CLEAR: wa1.
ENDDO.

번호 제목 글쓴이 날짜 조회 수
3853 <img src=1.gif border=0>CALL FUNCTION 'GUI_DOWNLOAD'문의 [4] ID 2009.07.20 1250
3852 <img src=3.gif border=0>입력 히스토리에 관한 파일을 찾습니다. [4] 아밥고지를 찾아서 2009.07.20 1049
3851 <img src=3.gif border=0>스크린에서 언어따라 영문/국문 보여주기 [9] file 민버미꺼! 2009.07.17 1520
3850 <img src=3.gif border=0>두음법칙에 따른 같은 문자인식하기 [4] 아밥퍼 2009.07.17 1091
3849 <img src=3.gif border=0>SYNTAX 에러 체크 관하여 부탁드립니다... [7] 나왜이케매짜? 2009.07.17 1116
3848 <img src=3.gif border=0>로그 오프 할때 시간을 알려하는데 어케하면 되죠. [2] im 해성 2009.07.17 1100
3847 <img src=2.gif border=0>프린터 포맷에 대한 생성및 활성화 등등 질문입니다. [3] 아밥고지를 찾아서 2009.07.17 1311
3846 <img src=3.gif border=0>은행 코드 필드를 찾는 방법이 있을까요? [2] 도움이 2009.07.17 1431
» <img src=3.gif border=0>[급해요ㅠㅠ]필드심볼 코딩질문입니다. 코딩좀 봐주세요..ㅠㅠ [2] file 멀고도험한 2009.07.17 1354
3844 <img src=3.gif border=0>운영서버에서 덤프 났을 때 자동으로 메일이나 메시지 받을수 있나요? [2] 도움이 2009.07.16 1252
3843 <img src=2.gif border=0>ALV에서 더블클릭시 해당 라인의 상세내역을 팝업으로 띄우고 싶습니다. [2] 은미짱 2009.07.16 1879
3842 [re] <img src=2.gif border=0>ALV에서 더블클릭시 해당 라인의 상세내역을 팝업으로 띄우고 싶습니다. 은미짱 2009.07.17 1315
3841 [re] <img src=2.gif border=0>ALV에서 더블클릭시 해당 라인의 상세내역을 팝업으로 띄우고 싶습니다. [1] bd 2009.07.17 1262
3840 <img src=2.gif border=0>덤프에러 나올때 그걸 메세지로 처리하는법좀 알려주세요. [6] file 피크민 2009.07.16 2802
3839 <img src=3.gif border=0>두 입력일 사이의 일수 계산 function 있나요? [8] 츄리닝 2009.07.16 2118
3838 <img src=3.gif border=0>[요청] BAPI로 Material data를 읽어올 수 있을까요? [2] 싼티아나 2009.07.16 984
3837 <img src=2.gif border=0>F4IF_INT_TABLE_VALUE_REQUEST 질문입니다. [2] 뫄* 2009.07.15 4511
3836 <img src=1.gif border=0>PRPS 테이블에서 요청코스트센터와 책임코스트센터의 차이 할일없는무급개발자 2009.07.15 1501
3835 <img src=3.gif border=0>cl_gui_frontend_services=>file_open_dialog 사용법 좀 알려주세요ㅠ [2] 고담 2009.07.15 1820
3834 <img src=2.gif border=0>SAP의 월입력하여 해당 월의 주차만 구하기. [6] 궁그미 2009.07.15 1686