메뉴 건너뛰기

SAP 한국 커뮤니티

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

마늘맛쿨피스 2009.11.17 20:31 조회 수 : 1367

안녕 하세요. 밑의 식 = ( / - 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.

번호 제목 글쓴이 날짜 조회 수
4247 <img src=3.gif>테이블 키값 변경 관련 질문입니다. [2] 초밥 2009.12.01 1484
4246 <img src=2.gif>parameter로 특정 directory를 지정하는 펑션 문의 [2] 찬호사랑 2009.11.30 1162
4245 <img src=3.gif>자료여부를 체크하는 로직 확인부탁드립니다. [1] 라면킬러 2009.11.30 1358
4244 <img src=2.gif>메시지 받아오는 법 좀 부탁드립니다. [3] SAMBATIME 2009.11.28 1556
4243 <img src=2.gif>인터널 테이블, ALV 관련 질문입니다. [1] 마늘맛쿨피스 2009.11.28 1730
4242 <img src=3.gif>GUI Status KO-EN 언어 변환이 안되요. [4] 부산갈매기 2009.11.28 1661
4241 <img src=1.gif>외부 SQL Server의 ODBC연결 방법 찬호사랑 2009.11.27 1407
4240 <img src=3.gif>엑셀을 인터널테이블 업로드할때 필드의 자리수가 100자 이상 올릴수 있는 펑션이 있나요? [4] Norton 2009.11.27 2539
4239 <img src=3.gif>call method cl_gui_cfw=>dispatch. 의 의미를 알고 싶은데요...ㅠ.ㅠ [2] 예슬짱 2009.11.27 1821
4238 <img src=2.gif>field exit에서 debugging 방법 문의 ?? [1] 찬호사랑 2009.11.27 1701
4237 <img src=2.gif>[급] 스마트폼 세로 쓰기 질문입니다~ㅠ.ㅠ [1] 얌얌 2009.11.27 2084
4236 <img src=2.gif>서버의 디렉토리에 있는 이미지를 screen에 보여주는 방법 아시는 분 [1] SkyDream 2009.11.27 1131
4235 <img src=2.gif>ABAP 편집기중 보조자(Assistant) 기능은 무엇인가요? [2] file 준서기 2009.11.27 2986
4234 <img src=3.gif>스마트폼 중국어 적용 질문드립니다. [4] redlemon14 2009.11.26 2155
4233 <img src=3.gif>긴급....아시는 분 도와주세요~ ..ALV report print 출력시 여백을 어떻게 조절하는가요 ? [3] grace 2009.11.26 2016
4232 <img src=2.gif>윈도우7설치후 달라진점 질문 드립니다. [7] SD2 2009.11.26 1253
4231 <img src=2.gif>사용 중인 session 보는 T-code 좀 알려주세요. [3] 바위 2009.11.26 1392
4230 <img src=2.gif>CBO Table에 사용될 필드의 갯수 제한 [3] 큰도올 2009.11.25 1287
4229 <img src=2.gif>alv 수정/조회 할 때 fieldcatalog와 layout의 차이점은 무엇인가요? [3] sincere 2009.11.25 2920
4228 <img src=2.gif>R/3 -> BW이벤트 태우는 펑션 실행시 로그인 접속화면 안뜨게 하는 방법 아시는분 계세요? [1] 조는스나 2009.11.25 1137