메뉴 건너뛰기

SAP 한국 커뮤니티

아래는 간단한 type-1 소스입니다.


 


문제는 실행은 되는데 실행하면 레포트가 한장에 멈추지않고 반복해서 2장까지 나온다는거네요


 


루프문 어디가 문제일까요


 


REPORT ZLIST NO STANDARD PAGE HEADING
 LINE-SIZE 98 LINE-COUNT 29 MESSAGE-ID PP.

*Table 선언
TABLES : zdtdoc, zinput, zoutput.

DATA : s_year(4TYPE n,
       s_mon(2TYPE n,
       s_date(2TYPE n.
DATA : a_first(50),
       a_second(50),
       a_third(50),
       s_first(50),
       s_second(50),
       s_third(50).
DATA : lin(1).


DATA : BEGIN OF itab OCCURS 0.
        INCLUDE STRUCTURE zinput.
data : docdate type zoutput-docdate,
       wr type zoutput-wr,
       etc type zoutput-etc,
       docname type zoutput-docname,
       docno type zdtdoc-docno.
data : end of itab.

*기초data Internal Table 선언

INITIALIZATION.
  CLEAR : s_year,  s_mon, s_date, a_first, a_second, a_third, s_first,
          s_second, s_third.

*작업조건 Screen 구성

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
  PARAMETERS : Research TYPE zoutput-idno OBLIGATORY.
  SELECTION-SCREEN END OF BLOCK b1 .

TOP-OF-PAGE.
  PERFORM write_header.

START-OF-SELECTION.
  PERFORM select_data.

END-OF-SELECTION.
DESCRIBE TABLE itab LINES lin.
  IF lin <= 0.
    MESSAGE i999 WITH '원하는 조건의 data가 없습니다.'.
  ELSE.

  PERFORM write_data.
  endif.

*&---------------------------------------------------------------------*
*&      Form  INIT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM init .

  CLEAR : s_year,  s_mon, s_date, a_first, a_second,  a_third,
          s_first, s_second,  s_third.

ENDFORM.                    " INIT

*&---------------------------------------------------------------------*
*&      Form  select_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM select_data .

      CLEAR itab. REFRESH itab.
  SELECT a~name a~idno a~address a~gender b~idno b~name b~docdate
         b~docname c~docno c~docname
      INTO CORRESPONDING FIELDS OF TABLE itab
    FROM ( zinput as a inner join zoutput as b on a~name = b~name
                                              and a~idno = b~idno )
    inner join zdtdoc AS c on b~docname = c~docname
    WHERE a~idno = Research.

ENDFORM.                    " select_data

*&---------------------------------------------------------------------*
*&      Form  write_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM write_data .

    loop at itab.

    s_year   = itab-docdate+0(4).
    s_mon    = itab-docdate+4(2).
    s_date   = itab-docdate+6(2).
    a_first  = itab-wr+0(26).
    a_second = itab-wr+26(26).
    a_third  = itab-wr+52(26).
    s_first  = itab-etc+0(26).
    s_second = itab-etc+26(26).
    s_third  = itab-etc+52(26).
    ULINE.

    WRITE : /1  '|',
             4  '성'11 '명',
             16 '|',
             20 itab-name,
             65 '|',
             68 '성'75 '별',
             80 '|',
             84 itab-gender,
             98 '|'.
    ULINE.

    WRITE :  /1  '|',
             4  '주'11 '소',
             16 '|',
             20 itab-address,
             65 '|',
             68 '주민등록번호',
             80 '|',
             84 itab-idno,
             98 '|'.
    ULINE.

    WRITE : /1  '|',
             43 '상병 부위 및 상병명',
             98 '|'.
    ULINE.

    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|'3 a_first,  98 '|'.
    WRITE : /1 '|'3 a_second, 98 '|'.
    WRITE : /1 '|'3 a_third,  98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|',  98 '|'.

    ULINE.

    WRITE : /1  '|',
             4  '진료일자',
             16 '|',
             23 '위 사람은'34 itab-docdate, 47 '에 본원에서 진료받은 사실이 있음.',
             98 '|'.
    ULINE.

    WRITE : /1  '|',
             43 '특  기  사  항',
             98 '|'.
    ULINE.

    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|'3 s_first,  98 '|'.
    WRITE : /1 '|'3 s_second, 98 '|'.
    WRITE : /1 '|'3 s_third,  98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|',  98 '|'.

    ULINE.

    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|',  98 '|'.

    WRITE : /1 '|'50 '발행일자:'75 s_year, 79 '년',82 s_mon, 84 '월'87 s_date,
                89 '일'98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|'50 '의료기관:'79 '서원대학병원'98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|'50 '의료기관주소:'79 '모충동 244~9'98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|'50 '전화 및 FAX'79 '043-220-6432'98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|'50 '담당의사:'72 '면허번호 제'85 itab-docno, 89 '호'98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|'50 '의사성명:'85 itab-docname, 98 '|'.
    WRITE : /1 '|',  98 '|'.
    WRITE : /1 '|',  98 '|'.

   ULINE.

endloop.


ENDFORM.                    " write_data

*&---------------------------------------------------------------------*
*&      Form  write_header
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM write_header .

  ULINE.
  FORMAT COLOR COL_HEADING INTENSIFIED OFF.
  WRITE : /1 '|'98 '|', /1 '|'98 '|',
          /1 '|'98 '|', /1 '|'98 '|',
          /1 '|'42 '진', 45'료', 48'확', 51'인', 54'서'98 '|',
          /1 '|'98 '|', /1 '|'98 '|',
          /1 '|'98 '|', /1 '|'98 '|'.


ENDFORM.                    " write_header

번호 제목 글쓴이 날짜 조회 수
5412 <img src=2.gif>[쉬운 것 같은데 어렵다] 문자열 끝 Null을 Space로 만드는 방법.. [2] 간바레 2010.10.23 2274
5411 <img src=2.gif>키값이 다른대도 insert가 안되네염.뭐가 잘못되었는지 알려주세염 [4] 꼬마호랑이 2010.10.23 1243
5410 <img src=3.gif>특정 Backjob 프로그램의 실행 상태 확인 방법 문의 [3] 아바뻐 2010.10.23 2084
5409 <img src=3.gif><img src=1.gif>번호 범위 오브젝트에 대해 질문입니다. prt 2010.10.22 1614
5408 <img src=3.gif>Screen의 Custom Control에 ALV List 방식으로 뿌려주는 방법이 있는지요? [3] KTnG_ABAP 2010.10.22 1383
5407 <img src=3.gif>DMS 문서 버전 관리 및 문서 생성 Function Module 문의. [2] crazybarthez 2010.10.22 2122
5406 <img src=2.gif>subscreen에 데이터가 나오지 않네요.^^ [5] 로미오 2010.10.22 1478
5405 <img src=3.gif>SFLIGHT 테이블에 관한 질문입니다 [3] ASDF 2010.10.22 1390
5404 <img src=2.gif> BDC 수정 (입력중에 오류가 발생한 사항입니다..) [3] Whitetiger 2010.10.21 1073
5403 <img src=2.gif>스탠다드 테이블에 외래키 지정할 수 있나요? [1] 기쁨 2010.10.22 1331
5402 <img src=3.gif>아밥퍼가 될려고 공부 중인대염 도대체 기본개념부터 확실히 하라는데 기본개념이 무엇을 말하는 알려주시면 감사하겠습니다. [7] 꼬마호랑이 2010.10.21 1298
5401 <img src=2.gif>jsp로 구현한 web에서 IIS를 통해 RFC펑션 호출방법 문의 [1] 프리스타일 2010.10.21 1197
5400 <img src=3.gif>alv 테이블 필드 숨기기에 대해 질문드립니다. [4] 유정a 2010.10.21 5637
» <img src=3.gif>type-1 루프 반복 관련 문제에 대해서 질문드립니다. [2] 유정a 2010.10.20 1271
5398 <img src=2.gif>BDC돌리고나면 메세지가 안들어와요 [9] 덩콘 2010.10.20 2057
5397 <img src=2.gif>write문 세로 프린트 설정법 질문드립니다 ㅠ [6] file 아밥콩` 2010.10.20 2062
5396 <img src=3.gif>class alv 에서 테이블 보여질때 필드길이랑 필드명바꾸고 싶은데 그것이 안되네여 좀 알려주세염. [5] 꼬마호랑이 2010.10.20 1300
5395 <img src=3.gif>GUI설정이 문제인지? 아니면 .... 도와주세요 ... [4] file EMDTLS 2010.10.19 1081
5394 <img src=3.gif>BSP 에서 엑셀 업로드 할 수 있는 방법 질문드립니다. [1] beginer 2010.10.19 2410
5393 <img src=3.gif>SAP Server에 upload한 파일 확인 방법 [2] 버미! 2010.10.19 1843