스마트 양식 SAP ABAP
⚡ 스마트 요약
스마트 양식 SAP ABAP를 사용하여 대량 인쇄용 양식을 생성하고 관리하며, 출력은 프린터, 팩스, 이메일 또는 인터넷으로 할 수 있습니다. 이 페이지에서는 아키텍처, 폼 빌더 노드, 창, 테이블, 템플릿, 스타일 및 생성된 함수 모듈에 대해 설명합니다.

스마트 폼이란 무엇인가요? SAP 아밥?
SAP 스마트 양식은 대량 인쇄를 위한 양식을 생성하고 유지하는 데 사용됩니다. SAP 시스템. 출력 매체로 SAP 스마트 양식은 프린터, 팩스, 이메일 또는 인터넷(생성된 XML 출력 사용)을 지원합니다.
SAP 이러한 한계를 극복하기 위해 1998년 SmartForm을 도입했습니다. SAP 스크립트. SmartForm은 기존보다 개발, 유지 관리 및 전송이 더 쉽습니다. SAP 스크립트.
스마트폼과 SAPScripts 비교
- SmartForms에서는 여러 페이지 형식이 가능하지만 SmartForms에서는 그렇지 않습니다. SAP 스크립트
- 기본 창 없이 SmartForm을 갖는 것이 가능합니다.
- 루틴은 SmartForms 도구로 작성할 수 있습니다.
- SmartForms는 활성화되면 기능 모듈을 생성합니다.
- SmartForms에서는 라벨을 생성할 수 없습니다.
| 기준 | 스마트 양식 | SAP스크립트 |
|---|---|---|
| 페이지 형식 | 하나의 양식에 여러 페이지 형식이 포함됨 | 양식당 한 페이지 형식 |
| 메인 창 | 필수는 아니다 | 메인 창은 정확히 하나만 필요합니다. |
| 루틴 | 양식 자체 내부에 작성됨 | 별도 인쇄 프로그램으로 작성됨 |
| 활성화 | 함수 모듈을 생성합니다. | 함수 모듈이 생성되지 않았습니다. |
| 레이블 | 생성할 수 없습니다 | 생성될 수 있습니다 |
스마트 양식의 장점
- 완전히 그래픽 사용자 인터페이스 덕분에 프로그래밍 지식 없이도 양식을 수정할 수 있습니다.
- 스마트 양식을 활성화하면 시스템은 런타임에 자동으로 기능 모듈을 생성합니다.
- 변경하려면 드래그 앤 드롭, 잘라내기 및 붙여넣기를 사용해야 합니다. 이러한 작업에는 코딩 라인 작성이나 스크립트 언어 사용이 포함되지 않습니다.
- 정적 및 동적 테이블을 삽입할 수 있습니다. 여기에는 개별 테이블 셀의 줄 바꿈, 테이블 머리글 및 소계에 대한 이벤트 트리거 및 출력 전 데이터 정렬이 포함됩니다.
- 스마트 폼을 사용하면 사용자가 그래픽을 포함할 수 있으며, 이는 폼의 일부로 표시되거나 배경 그래픽으로 표시될 수 있습니다. 인쇄하는 동안 사용자는 필요에 따라 배경 그래픽을 억제할 수 있습니다.
- 생성된 자료를 활용하여 웹 퍼블리싱이 가능합니다. XML 출력
Archi강의 SAP 스마트 폼
아키텍처 다이어그램은 관련된 세 가지 계층을 보여줍니다. 폼은 폼 빌더에서 설계되고, 활성화 시 기능 모듈이 생성되며, 인쇄 프로그램은 해당 모듈을 애플리케이션 데이터와 함께 호출합니다. 첫 번째 계층의 설계 단계는 다음에 설명합니다.
스마트 양식 가이드
그것을 살펴 보겠습니다. SAP 체계-
- 거래 입력 스마트폼 거래 코드 상자에 입력하세요.
- 다음 화면에서 양식 이름을 입력하고 만들기를 클릭하세요.
다음 화면은 세 부분으로 나누어져 있습니다.
탐색 창 노드와 하위 노드로 구성됩니다. SAP 형태에 속하는 모든 요소(텍스트, 창 등)가 포함되어 있습니다.
- 유지 관리 기간 요소의 속성을 보여줍니다.
- 양식 프린터 창에 페이지 레이아웃이 표시됩니다.
스마트 양식을 만들 때마다 SAP 함수 모듈을 생성/생성합니다. SAP스크립트, SAP 양식을 사용하면 언어를 변경할 수 있습니다.
탐색 창에서 다음을 찾을 수 있습니다.
글로벌 데이터 선언 : 여기에 정의된 데이터는 코딩 목적으로 스마트폼 전반에 걸쳐 사용될 수 있습니다.
양식 인터페이스 : 여기에서는 인쇄 프로그램에서 스마트폼으로 전달될 모든 데이터가 정의됩니다.
페이지를 마우스 오른쪽 버튼으로 클릭하면 새 페이지, 창, 그래픽 또는 주소를 생성할 수 있습니다.
'다음 페이지' 필드를 기준으로 인쇄가 진행됩니다.
하지만 탐색 창의 순서에 따라 처리가 진행됩니다!
배경 그림과 그래픽의 경우 흑백 또는 컬러 비트맵 이미지를 선택할 수 있으며 표준 텍스트 형식으로 저장됩니다. 스마트폼 화면에서 우회하여 Form Graphics 화면을 열 수 있습니다. 거래 코드: Se78
스마트폼 창의 그래픽 설정 -
Windows 스마트 양식에서
두 종류의가 있습니다 Windows
- 본관
- 중-고등부
중요 참고 사항
- 한 페이지에는 1개 이상의 주 창을 가질 수 없습니다. 여러 개의 보조 창을 가질 수 있습니다.
- 보조 창에 인쇄하는 것은 무엇이든 정적이어야 합니다. (PO에 20줄이 있고 페이지 제약이 있는 경우 줄이 주 창의 다음 페이지로 넘어갑니다. 즉, 선행 및 후속 유형의 콘텐츠에서 주 창에 순서대로 인쇄됩니다. 보조 창에서는 허용되지 않습니다.
기본 창 내에서 소개 텍스트를 추가하여 양식 출력을 사용자 정의할 수 있습니다.
각 창의 출력 옵션에 따라 입력할 선 크기, 너비, 색상 및 배경이 결정됩니다.
Smartforms는 중앙 주소 관리에서 유지되는 주소 번호를 제공하는 옵션을 제공합니다. 주소는 ADRC 테이블에서 직접 가져오고 양식에 채워집니다.
Smartforms에서는 두 가지 다른 편집기를 사용할 수 있습니다. 즉, 일반 편집기
그리고 그래픽 편집기.
이 설정은 유틸리티의 구성 편집기를 사용하여 변경할 수 있습니다.
창에 있는 테이블
테이블 페인터에서는 클라이언트 요구 사항에 따라 형식을 그릴 수 있습니다(예: 제목, 부제목, 항목, 소계, 총계 등).
테이블 레이아웃을 사용하여 다음을 결정할 수 있습니다.
- 라인과 셀의 수
- 각 라인의 높이
- 각 셀의 너비
- 창에서 테이블 정렬
표는 표에 사용될 다양한 선 유형을 보여줍니다. 선 유형은 각 셀의 크기와 각 선의 셀 수를 정의합니다.
스마트 양식 프로그래밍 흐름
때 SAP 스마트 양식 템플릿이 생성되고, 사용자는 스마트 양식 빌더를 사용하여 스마트 양식 템플릿에서 양식 레이아웃을 생성하고 필수 필드, 조건 및 특수 프로그래밍 지침을 정의합니다.
양식 디자인이 완료된 후 인쇄 프로그램에서 양식을 테스트하거나 액세스하려면 먼저 양식을 활성화해야 합니다. 양식을 활성화하면 양식의 모든 처리를 처리하는 기능 모듈 생성이 시작됩니다.
이 기능 모듈은 응용 프로그램/인쇄 프로그램과 상호 작용하여 지정된 장치에 대한 사용자 정의 출력 미디어에 출력을 생성합니다.
스마트 양식의 경우 스마트 양식 처리를 위해 2개의 기능 모듈을 사용합니다. 첫 번째 기능 모듈에는 스마트 양식의 이름을 가져오기 매개변수로 전달합니다. 그러면 실제로 스마트폼을 호출할 동적으로 생성된 함수 모듈의 이름이 반환됩니다.
스마트폼 이름은 모듈 – ' 함수에 전달될 수 있습니다.SSF_FUNCTION_MODULE_NAME'
그러면 참조된 스마트폼의 기능 모듈 이름이 반환됩니다.
인쇄 프로그램이 FM을 호출합니다. 'SSF_FUNCTION_MODULE_NAME' 런타임에 함수 모듈 이름을 얻으려면. 그런 다음 스마트폼을 실행하기 위해 획득한 함수 모듈을 호출합니다.
인쇄 프로그램에서 스마트 양식을 호출하는 방법
위에서 설명한 2단계 호출은 항상 동일한 방식으로 작성됩니다. 프로그램은 먼저 생성된 이름을 확인한 다음 애플리케이션 데이터와 함께 실행합니다.
- 함수 모듈 이름을 확인합니다. 폼 이름을 SSF_FUNCTION_MODULE_NAME에 전달하세요. 생성된 이름은 시스템마다 다르므로 절대 하드코딩해서는 안 됩니다.
- 생성된 모듈을 동적으로 호출합니다. 확인된 이름을 저장하는 변수와 함께 CALL FUNCTION을 사용하고, 폼 인터페이스에 정의된 매개변수를 통해 데이터를 전달하십시오.
- 출력 제어: 인쇄 대화 상자를 표시하지 않거나 미리 보기를 요청하려면 제어 구조 SSFCTRLOP을 채우고, 출력 장치를 SSFCOMPOP에 채우십시오.
- 예외를 처리합니다: 생성된 모듈은 FORMATTING_ERROR, INTERNAL_ERROR, SEND_ERROR 및 USER_CANCELED 오류를 발생시키므로 호출 후 SY-SUBRC를 확인해야 합니다.
DATA: lv_fm_name TYPE rs38l_fnam, ls_control TYPE ssfctrlop, ls_output TYPE ssfcompop. * 1. Get the name of the generated function module CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' EXPORTING formname = 'Z_SMART_INVOICE' IMPORTING fm_name = lv_fm_name EXCEPTIONS no_form = 1 no_function_module = 2 OTHERS = 3. IF sy-subrc <> 0. MESSAGE e001(zsf). " Form not found ENDIF. * 2. Call the generated module with the form data ls_control-no_dialog = 'X'. ls_control-preview = 'X'. CALL FUNCTION lv_fm_name EXPORTING control_parameters = ls_control output_options = ls_output is_header = ls_header TABLES it_items = lt_items EXCEPTIONS formatting_error = 1 internal_error = 2 send_error = 3 user_canceled = 4 OTHERS = 5.
⚠️ 경고: 생성된 함수 모듈 이름(예: /1BCDWB/SF00000123)은 시스템마다 다릅니다. 항상 SSF_FUNCTION_MODULE_NAME을 사용하여 이름을 확인해야 합니다. 그렇지 않으면 전송 후 프로그램 실행이 실패합니다.
템플릿
템플릿은 출력물의 정확한 크기를 알고 있거나 출력물의 형식이 고정되어 있을 때 사용할 수 있습니다.
예: 세금 양식/수표/항공사 양식/철도 티켓: 모두 템플릿을 사용합니다.
테이블과 템플릿의 가장 큰 차이점은 테이블에서는 높이가 동적으로 변한다는 점입니다. 템플릿에서는 행을 '라인'이라고 부릅니다.
스마트 스타일
스마트 스타일에는 다음이 포함됩니다.
- 스마트 스타일의 기본값을 포함하는 헤더 데이터
- 들여쓰기 및 간격, 글꼴 속성, 탭, 개요 및 번호 매기기를 포함한 단락 형식
- 효과(위 첨자, 아래 첨자), 바코드 및 글꼴 속성을 포함한 문자 형식
- 단락 또는 문자 형식의 색상 및 밑줄
'smartforms'/'smartstyles' 트랜잭션을 사용하여 스마트 스타일을 만들 수 있습니다.
💡 팁: 스마트 스타일은 각 텍스트 노드가 아닌 폼 속성에 지정하세요. 이렇게 하면 스타일을 한 번만 변경해도 폼의 모든 단락에 적용됩니다.
이것이 이 튜토리얼의 전부입니다






















