안녕하세요..
전 영업쪽 모듈을 하고 있어 스마트폼을 많이 다루는 편인데요.
처음에 정말 어려웠습니다. 지금이야..쬐끔은 하지만..^^
질문을 보니 스마트 폼내에서 코딩이 불가피합니다.
처리 순서를 다음과 같이 진행하면 되겠네요..
아래는 예이므로 비안개님 코드에 맞게 하셔야 합니다
ABAP에서
1. 양식 출련 전 선택한 항목이 있는 지 체크
2. ALV에서 사용자가 여러건 혹은 한 건을 선택하고 양식을 출력시 Loop문을 사용합니다.
LOOP AT gt_list WHERE check = 'X'. " 체크한 것만 Loop
* ON CHANGE OF gt_list-vbeln.
* PERFORM checkbox_print USING gt_list-vbeln.
* ENDON.
IF l_vbeln NE gt_list-vbeln. "Doc.No가 다를때만 프린트
l_vbeln = gt_list-vbeln.
PERFORM checkbox_print USING gt_list-vbeln.
ENDIF.
* AT NEW vbeln.
* PERFORM checkbox_print USING gt_list-vbeln.
* ENDAT.
ENDLOOP.
3. checkbox_print 문에서 스마트 폼으로 넘겨줄 헤더 및 아이템 데이타를 생성합니다.
PERFORM make_header_data USING p_vbeln.
PERFORM make_item_data USING p_vbeln.
4. 넘겨줄 데이타가 생성되었으면 스마트폼 호출
스마트 폼에서
1. Document No에 따라 첫번째/마지막페이지가 다르게 보이길 원하므로 윈도우에서 Flow Logic->Alternative를 사용
=> 이 기능은 분기문으로 True/False에 따라 분기됩니다.
2. Document No에 있는 항목번호도 순차적으로 1, 2, 3, 식으로
=>페이지 번호를 붙이고 싶으신 건지..어떤 번호 인지 ?
이런 식으로 진행하시면 되고요 자료는 자료실에 스마트 폼으로 검색하시면 나오고요.
저도 이곳 자료실에 있는 것으로 공부했고요..
더 궁금하신 것이 있으시면 리플다시거나 쪽지 주세요..^^
수고하세요..
알려주신 정보 감사합니다.
흐음 코딩이 불가능하다고 하는데.. Program Line을 생성하면 스마트폼 내에 코딩이 가능합니다.
알려준 부분 중에.. ON CHANGE 구문은 뭐에 쓰이는 구문인가요??
현재 문의 드린건 처리했습니다.