728x90
SMALL
이전 포스팅에서 스마트폼 생성과 ABAP 프로그램에서 양식을 호출하여 출력하는 예제에 대해 알아보았습니다.
2024.08.30 - [SAP/ABAP] - [SAP ABAP] 스마트폼(Smart forms) 생성
이번 포스팅에서는 ABAP 프로그램 인터널 테이블의 데이터를 스마트폼 양식에 출력하는 예제를 실습하도록 하겠습니다.
Step 1. Smart Form 테이블 생성
1) T-code : SMARTFORMS 실행
- 이전 실습에서 생성하였던 ZFORM01을 편집합니다.
2) 레이아웃 생성
- Smart Forms 레이아웃에 신규 텍스트를 생성합니다.
3) 전역 설정
- 서식 인터페이스 : 테이블 매개변수를 지정합니다.
- 전역 정의 : 전역 데이터를 지정합니다.
- 입력, 출력 매개변수를 설정한 후 필드에 텍스트를 할당합니다.
- 텍스트 레이아웃에 테이블 변수를 지정합니다.
- 활성화 후 디버깅 합니다.
3) 출력 결과 확인
- 생성된 스마트폼 펑션 모듈 실행
- 입력한 텍스트가 출력되는 것을 확인할 수 있습니다.
Step 2. ABAP 프로그램 작성
- Smart Forms에서 생성한 양식을 호출하기 위해 ABAP 프로그램을 작성합니다. 아래 ABAP 코드 예제입니다.
REPORT z_smartform_example.
DATA : LV_FM_NAME TYPE RS38L_FNAM,
ls_control_parameters TYPE SSFCTRLOP,
ls_output_options TYPE ssfcompop.
*----- Intenal table, structure 생성
TYPES : BEGIN OF TY_DATA,
VBELN TYPE ZTEST01-VBELN,
END OF TY_DATA.
DATA : GT_DATA TYPE TABLE OF TY_DATA,
GS_DATA TYPE TY_DATA.
*----- 값 할당
GC_DATA-VBELN = '0000001111'.
APPEND GC_DATA TO GS_DATA.
*--- 1. Smart Form의 함수 모듈 이름을 가져옴
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZFORM01' "Smart Form 이름
IMPORTING
FM_NAME = LV_FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
WRITE: 'Smart Form을 찾을 수 없습니다.'.
EXIT.
ENDIF.
*--- 2. Smart Form 호출을 위한 파라미터 준비
PERFORM set_output_options CHANGING ls_output_options.
*--- 3. Smart Form 호출
CALL FUNCTION LV_FM_NAME
EXPORTING
CONTROL_PARAMETERS = ls_control_parameters
OUTPUT_OPTIONS = ls_output_options
TABLES
T_DATA = GT_DATA
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
WRITE: 'Smart Form 출력 중 오류 발생'.
ENDIF.
FORM set_output_options CHANGING ps_output_options TYPE ssfcompop.
CLEAR ps_output_options.
ps_output_options-tdcopies = 1. "출력매수
ps_output_options-tdimmed = 'X'. "즉시출력
ps_output_options-tdnewid = 'X'. "스풀인쇄 시작
ps_output_options-tddelete = 'X'. "인쇄후 삭제
ps_output_options-tdlifetime = '1'.
ps_output_options-tddest = 'FRONTEND'.
ENDFORM.
실행결과
▶ Smart forms 에서 ABAP Internal 테이블을 이용하여 데이터를 출력하는 기본적인 예제를 실습해 보았습니다.
이 예제를 활용하여 Smart forms를 통해 거래명세서, 출하지시서 등의 문서를 출력하는데 활용될 수 있습니다.
감사합니다.
728x90
LIST
'SAP > ABAP' 카테고리의 다른 글
[SAP ABAP] 웹저장소 관리 - 엑셀 업/다운로드(SMW0) (2) | 2024.11.18 |
---|---|
[SAP ABAP] 유지보수뷰(Maintenance View) 생성 - SE11, SM30 (0) | 2024.10.11 |
[SAP ABAP] 스마트폼(Smart forms) 생성 (0) | 2024.08.30 |
[SAP ABAP]Shift - 문자열 이동 명령어 (0) | 2024.08.23 |
[ABAP]시스템 변수 정의 (0) | 2024.08.12 |