안녕하세요!!
SET SCREEN 0. 어떤구문인가요?
그리구 메크로 공부하다가 넘막막해서요
DATA: x TYPE i, y TYPE i, l TYPE i.
DEFINE write_frame.
x = sy-colno. y = sy-linno.
WRITE: '|' NO-GAP, &1 NO-GAP, '|' NO-GAP.
l = sy-colno - x.
y = y - 1. SKIP TO LINE y. POSITION x.
ULINE AT x(l).
y = y + 2. SKIP TO LINE y. POSITION x.
ULINE AT x(l).
y = y - 1. x = sy-colno. SKIP TO LINE y. POSITION x.
END-OF-DEFINITION.
SKIP.
write_frame 'In a frame!'.
실행시키면 ------------------
| |
| in a frame! 요로케 나오는데요
-------------------
define는 디버깅도안걸리고 도대체 값이 어떠케들어가는지 모르겠어요!!
메크로 공부하는 좋은 방법이 있을까요?
댓글 3
-
activeman
2008.04.23 21:47
-
초보아밥퍼
2008.04.23 22:29
로직상으론 사각을 둘르는 매크로네요.
'In a frame!' == &1 입니다. <-- 결국 이게 핵심이구요.
꼭 디버깅 해보고 싶으시다면 매크로 빼시고 &1에다가 'In a frame!'로 바꾸시면
디버깅을 하실수 있으실 꺼예요.
SET SCREEN 0 <-- 현재 스크린을 내부적으로 재설정해주는거예요.
-
e-abap
2008.04.24 04:44
EASY ABAP 교재에서~
매크로는 5장 MODULARAIZATION 에 나오구요.
SET SCREEN 0는 16장에서 설명하고 있어요.
Within a macro, you can use up to nine placeholders &1 ... &9 instead of ABAP words and operands.
write_frame 'In a frame!'. 에서 'In a frame!' == &1 입니다.
최대 9개 까지 가능하고요 block의 크기는 제한이 없습니다..
즐밥하세요.