728x90
SMALL
스마트폼(Smart Forms)란?
▶ 사용자가 인쇄 출력이나 이메일, PDF 등의 다양한 형식으로 문서를 생성하는 데 사용되는 도구입니다.
이번 포스팅에서는 스마트폼 생성과 CBO 프로그램 내에서 스마트폼양식을 출력하는 예제를 알아보겠습니다.
Step 1. Smart Form 생성
1) T-code : SMARTFORMS 실행
- 스마트폼 이름을 입력하고 "신규 생성" 혹은 "기존서식을 복사"하여 생성합니다.
- 소스 오브젝트 선택
2) 레이아웃 설계
- Smart Forms의 레이아웃을 설계합니다.
- 신규 윈도우 생성
- 텍스트 노드 생성
- 텍스트 입력하기
- 활성화 후 디버깅(F8)
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.
*--- 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
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.
실행결과
감사합니다.
728x90
LIST
'SAP > ABAP' 카테고리의 다른 글
[SAP ABAP] 유지보수뷰(Maintenance View) 생성 - SE11, SM30 (0) | 2024.10.11 |
---|---|
[SAP ABAP] 스마트폼(Smart forms) - 테이블 생성 (0) | 2024.09.02 |
[SAP ABAP]Shift - 문자열 이동 명령어 (0) | 2024.08.23 |
[ABAP]시스템 변수 정의 (0) | 2024.08.12 |
[ABAP]SAP BAPI 함수 (0) | 2024.08.09 |