메뉴 건너뛰기

SAP 한국 커뮤니티

<img src=2.gif>필드심볼로 계산 하기 질문입니다.

마늘맛쿨피스 2009.11.17 11:31 조회 수 : 1356

안녕 하세요. 밑의 식 = ( / - 1 ) * 100 을 할려고 하는데


식이 너무 많아서 필드 심볼을 사용하여 라인의 수를 줄일려고 하고 있습니다.


 


, , 에는 정상적으로 식이 입력 되는데 계산이 되지 않고 있습니다.


형변환도 해야 하고 식만 프린트 되고 계산은 안되는건지 계산을 할수 있다면 어떤 방식으로


계산하여 그값이 출력되면 ALV로 뿌릴수 있는지 궁금 합니다.


 


의 식이 GS_AMT_PROFIT_01 이라고 나오면 그식에 입력 된 값이 출력 되게 하고 싶어


질문 드립니다.


 


또 밑의 DO 문을


 

   ASSIGN  D_CAL TO "입력 1
   ENDDO.
    PERFORM INPUT  USING : '10''11''12''13''20''21',
    '22''30''31''32''33''34''35''36''37''38',
    '40''41''42',  '43' ,'44','50''51''52'.


이런식으로 표현 했는데 구현되지 않아서 저렇게 CASE문을 썼습니다. 해결 방안이 있을까요 ??


 


*----- 원래 질문식


FORM WINTER.

     CONCATENATE `gs_amt_fix` Z_DATE `-amt_` Y_CAL INTO E_CAL.
     CONCATENATE `gs_amt_fix-amt_` Y_CAL INTO F_CAL.
     ASSIGN  D_CAL TO  CASTING .
     ASSIGN E_CAL TO   . " DECIMALS sy-index.
     ASSIGN F_CAL TO  . " DECIMALS sy-index.

     DAT1  = (  DAT2 /  DAT3 - 1 ) * 100. " 여기서 에러가 납니다 .


                                                                  형변환 문제와 저식이 바로 계산 되지 않습니다.
                                                                   월래의 식은 모두 CURR형인데 


                                                                    TYPE ANY로 선언 했습니다.                                       
ENDFORM
.


 


 


DATA: BEGIN OF gt_seq OCCURS 0,
        seq(2),
      END OF gt_seq.

FORM INPUT USING  p_seq. "p_seq.
                                     "clear : gt_seq-seq , p_seq.
  clear gt_seq-seq.                "DO 24 TIMES.
  gt_seq-seq = p_seq.
    APPEND  gt_seq.
    CLEAR :  gt_seq.
  "ENDDO.

ENDFORM.


FORM AUTO. "  using input. "CHANGING p_a p_b p_c.

*  FIELD-SYMBOLS :  TYPE ANY.
*  FIELD-SYMBOLS :  TYPE ANY.
*  FIELD-SYMBOLS :  TYPE ANY.
*
**DEFINE DIVIDE_MAC.
**
**   if &1 = 0. &3 = 0.
**
**  else.
**   &3 = ( &2 / &1 - 1 ) * 100.
**  endif.
**     if &DAT3 = 0. &DAT1 = 0.
**
**  else.
**   &DAT1 = ( &DAT2 / &DAT32 - 1 ) * 100.
**  endif.
*
**end-of-definition.
*
*  DATA : A_CAL(2),
*             D_CAL(30),
*             E_CAL(30),
*             F_CAL(30),
*             Z_CAL(2),
*             Y_CAL(2).
*
*
*  DATA : Z_DATE(2)  TYPE C."LIKE P_DATE.

  Z_DATE = P_DATE+4(2).

  DO 24 TIMES.

   ADD 1 TO A_CAL.


   IF A_CAL LT 10.

         CONCATENATE 'gs_amt_profit-amt_0' A_CAL INTO D_CAL.
   ELSEIF A_CAL GE 10.
         CONCATENATE 'gs_amt_profit-amt_' A_CAL INTO D_CAL.
   ENDIF.
   ENDDO.
    Z_CAL = 0" 초기화
    DO 24 TIMES.
     ADD 1 TO Z_CAL.
     CASE  Z_CAL.
                 WHEN 1.
             CLEAR Y_CAL. Y_CAL = 10.
              PERFORM WINTER.
                 WHEN 2.
             CLEAR Y_CAL. Y_CAL = 11.
              PERFORM WINTER.
                    WHEN 3.
             CLEAR Y_CAL. Y_CAL = 12.
              PERFORM WINTER.
                    WHEN 4.
             CLEAR Y_CAL. Y_CAL = 13.
              PERFORM WINTER.
                    WHEN 5.
             CLEAR Y_CAL. Y_CAL = 20.
              PERFORM WINTER.
                    WHEN 6.
             CLEAR Y_CAL. Y_CAL = 21.
              PERFORM WINTER.
                    WHEN 7.
             CLEAR Y_CAL. Y_CAL = 22.
              PERFORM WINTER.
                    WHEN 8.
             CLEAR Y_CAL. Y_CAL = 30.
              PERFORM WINTER.
                    WHEN 9.
             CLEAR Y_CAL. Y_CAL = 31.
              PERFORM WINTER.
                    WHEN 10.
             CLEAR Y_CAL. Y_CAL = 32.
              PERFORM WINTER.
                    WHEN 11.
             CLEAR Y_CAL. Y_CAL = 33.
              PERFORM WINTER.
                    WHEN 12.
             CLEAR Y_CAL. Y_CAL = 34.
              PERFORM WINTER.
                    WHEN 13.
             CLEAR Y_CAL. Y_CAL = 35.
              PERFORM WINTER.
                    WHEN 14.
             CLEAR Y_CAL. Y_CAL = 36.
              PERFORM WINTER.
                    WHEN 15.
             CLEAR Y_CAL. Y_CAL = 37.
              PERFORM WINTER.
                    WHEN 16.
             CLEAR Y_CAL. Y_CAL = 38.
              PERFORM WINTER.
                    WHEN 17.
             CLEAR Y_CAL. Y_CAL = 40.
              PERFORM WINTER.
                    WHEN 18.
             CLEAR Y_CAL. Y_CAL = 41.
              PERFORM WINTER.
                    WHEN 19.
             CLEAR Y_CAL. Y_CAL = 42.
              PERFORM WINTER.
                    WHEN 20.
             CLEAR Y_CAL. Y_CAL = 43.
              PERFORM WINTER.
                    WHEN 21.
             CLEAR Y_CAL. Y_CAL = 44.
              PERFORM WINTER.
                    WHEN 22.
             CLEAR Y_CAL. Y_CAL = 50.
              PERFORM WINTER.
                    WHEN 23.
             CLEAR Y_CAL. Y_CAL = 51.
              PERFORM WINTER.
                    WHEN 24.
             CLEAR Y_CAL. Y_CAL = 52.
              PERFORM WINTER.

   ENDCASE.
   ENDDO.

       ENDFORM.

번호 제목 글쓴이 날짜 조회 수
4225 <img src=3.gif>SELECTION-SCREEN default 값 관련.. [2] 초밥 2009.11.24 2024
4224 <img src=2.gif>write 프로그램에서 Print 버튼 없애기 [3] 낭랑18세 2009.11.23 1169
4223 <img src=3.gif>BDC FI 전표 생성시 Profit. Segment ? [2] 버미! 2009.11.23 1535
4222 <img src=2.gif>alv 에서 특정 셀의 색상 변경시 refresh 여부... [4] 쭌수야~! 2009.11.23 2475
4221 <img src=2.gif>CDPOS 테이블 Objectclass 관련된 질문입니다. [1] 도움이 2009.11.21 1165
4220 <img src=2.gif>variant 보다 먼저 읽히는 필수값 체크 문제입니다. [2] file 참참참 2009.11.21 1291
4219 <img src=2.gif>alv 레포트에서 글자크기 및 alv row 상하 넓이 조절 가능한가요... [3] eskang 2009.11.21 2216
4218 <img src=3.gif>[alv event hotspot_click r_row c_col를 받아서 처리후 alv refresh방법문의합니다. [1] eskang 2009.11.20 1751
4217 <img src=2.gif>Routing 수정 BAPI 혹시 있나요? [4] 신수도 2009.11.20 1627
4216 <img src=1.gif>'FWZZ' 에서 BDC 생성시 오류가 나서 수정이 되질않습니다. [1] file Cruel 2009.11.19 2125
4215 <img src=2.gif>OLE 를 이용해 엑셀 매크로 연동 후 PDF 변환 하는 방법 [1] 낭랑18세 2009.11.19 2181
4214 <img src=2.gif>ALV 에서 컬럼헤딩 텍스트 길이가 50 정도 되는데, 잘려서 나오네요. 방법이 없나요? [1] 푸른창공 2009.11.19 1239
4213 <img src=3.gif>sap 6.0 에서 debugging 질문입니다. [5] 십년만에 2009.11.19 1369
4212 <img src=3.gif>금액 절사방법에 대해 질문드립니다. [6] 해바라기 2009.11.19 4847
4211 <img src=3.gif>수(3,333)을 CHAR 타입로 받을때 소수점이 없어지지 않게 하는 방법 있나요? [3] sora 2009.11.18 1776
4210 <img src=2.gif>메일보내기(outlook) 방법 혹은 자료 부탁드립니다 [13] 츄리닝 2009.11.18 3317
4209 <img src=3.gif>Tab Control에서 alv내용중 checkbox를 여러개 사용해서 checkbox 클릭할때마다 변경하는 방법좀 알려주세요? [6] file eskang 2009.11.17 1225
4208 [re] <img src=2.gif>Tab Control에서 alv내용중 checkbox를 여러개 사용해서 checkbox 클릭할때마다 변경하는 방법좀 알려주세요? [4] 요요 2009.11.18 1923
4207 <img src=3.gif>GUI STATUS 의 어플리케이션 툴바에 관해서 질문이 있습니다. [4] file rune 2009.11.17 1723
» <img src=2.gif>필드심볼로 계산 하기 질문입니다. [1] 마늘맛쿨피스 2009.11.17 1356