II. Giới thiệu ABAP: 1 ABAP và Workbench:
c. Sử dụng SmartForm trong ABAP:
Smart Form là phiên bản nâng cao của SAPscript form. Tương tự SAPscript form, bạn có thể sử dụng Smart Form để tạo cấu trúc của tài liệu cần in. Bạn có thể in một Smart Form trên máy in hoặc phát sinh tài liệu HTML, fax hoặc email.
1. Routines: là khối xử lý như tính toán subtotal và total dựa vào 1 trường
2. Smart Styles: cho phép bạn định nghĩa character format và paragraph format. Sử dụng Style Builder để tạo và sửa chữa Smart Styles
3. Tools: Bạn có thể sử dụng công cụ đồ họa được tích hợp với Form Builder để định nghĩa các thuộc tính của Smart Forms. Ví dụ: bạn có thể sử dụng Form Painter để thiết kế layout của form
4. Windows: xác định định dạng của form. Ví dụ bạn có thể đặt cửa sổ chứa địa chỉ của khách hàng vào form đặt hàng
5. Interactive Web Forms: Web Form là kết xuất HTML của form, được xem trên web browser. Interactive Web Form là form cho phép bạn giao tiếp bằng các phần tử nhập. Bạn có thể sử dụng Interactive Web Form để giao tiếp với các ứng dụng Internet
Khi tạo form, bạn cần thực hiện 2 hành động: + thiết kế form
+ rút trích dữ liệu ứng dụng vào form Thiết kế một form thực hiện 4 công việc:
Khi tạo định dạng cho đoạn văn và ký tự:
+ đầu tiên bạn cần tạo Smart Style sẽ chứa định dạng + sau đó bạn chỉ định các thiết lập cho định dạng + sau đó sử dụng định dạng trong Smart Form
Để tạo định dạng, bạn cần mở ‘SAP Smart Form: Initial Screen’ bằng transaction code "smartforms":
Sử dụng ‘SAP Smart Form: Initial Screen’, bạn có thể tạo Smart Style để tạo định dạng cho đoạn văn và ký tự. Chọn tùy chọn Style, gõ tên Smart Style là ZStyle1 trong text
box, nhấn SmartStyles - Create và nhấn Continue.
Khi tạo định dạng cho đoạn văn, bạn có thể xác định 4 loại thiết lập:
Giả sử bạn tạo định dạng đoạn văn P1, nhấp đôi vào Paragraph Formats, nhấn Edit - Create Code, gõ P1 và nhấn Enter.
Tạo định dạng ký tự có hai loại thiết lập:
Giả sử bạn tạo ‘Smart Form ZFMM001_PURCHASE_ORDER’ bằng Smart Form - Purchase Order. Bây giờ bạn áp dụng các định dạng được định nghĩa trong Smart Style ‘Style1’. Để làm điều này, đầu tiên bạn mở Smart Form từ ‘SAP Smart Forms: Initial Screen’ bằng cách gõ tên form trong text box với tùy chọn Form và nhấn Smart Forms - Change.
bạn có thể gắn Smart Style ‘ZStyle1’ vào Smart Form. Nhấn tab ‘Output Options’ trên trang ‘Form Form Attributes’, chọn ZStyle1 từ combo box ‘Style’ và nhấn Copy.
Trong form ‘ZFMM001_PURCHASE_ORDER’, bạn muốn chữ ‘Vendor Address’ có định dạng đoạn văn P1, hơn nữa bạn muốn định dạng ký tự C1 có chữ màu đỏ. Để làm điều này, nhấp đôi vào ‘VENDOR Header’ trong cây phân cấp phần tử form:
Chọn P1 từ list box ‘Paragraph Formats’ trên tab ‘General Attribue’, chọn ‘Vendor Addres’s trong trình soạn thảo văn bản, chọn C1 từ list box ‘Character Formats’.
Sau khi rút trích tên của function module gắn với Smart Form của bạn, bạn thực thi nó bằng câu lệnh call function.
Mã để in Smart Form: report ZPurchase_Order .
parameters: PO_number(20) type n . " accept PO number from user data : m_name type RS38L_FNAM . " variable to store the
" name of the function module of the Smart Form " ZFMM001_PURCHASE_ORDER
" Now define an internal table to store PO information " from the PO database table
data: begin of itab_PO occurs 0, Number LIKE PO-Number,
Vendor_Code like PO-Vendor_Code, Ven_Add LIKE PO-Ven_Add, Date like PO-Date,
end of itab_PO .
" fetch data of the PO number that the user specified " from the PO table into the internal table
select Number Vendor_Code Ven_Add Date Amount from PO into table itab_PO
where PO-Number = PO_Number .
" retrieve the name of the function module of the Smart Form " ZFMM001_PURCHASE_ORDER
call function 'SSF_FUNCTION_MODULE_NAME' exporting
formname = 'ZFMM001_PURCHASE_ORDER' importing
m_name = fm_name .
" Now execute the function module call function fm_name
" pass data of the table itab_PO to the function module " through its tables parameter
tables itab_PO .
Giả sử bạn tạo chương trình report hiển thị form đặt hàng. Để làm điều này, bạn sử dụng Smart Form "ZSales_Order". Bạn sử dụng function module ‘SSF_FUNCTION_MODULE_NAME’ để rút trích tên của Smart Form, sau đó sử dụng biến sf_fm_name để gọi function module gắn với Smart Form.
Bài tập
Từ màn hình ‘Form: Change: Header Painter: ZBROCADERO_PO’, tạo định dạng đoạn văn P1 canh giữa bằng cách gõ P1 trong trường Paragraph, nhấn Enter, chọn BLOCK từ list box ‘Alignment’ và nhấn Cont.
Sau khi tạo định dạng đoạn văn P1, bạn muốn cửa sổ ‘Terms and Conditions’ trong from ZBROCADERO_PO sử dụng định dạng P1, chọn ‘P1 Block Alighed’ từ list box ‘Parag. Formats’.
Sau khi định dạng đoạn văn P1 cho form ‘ZBROCADERO_PO’, bạn in form. Bạn cần tạo chương trình ZPO_PRINT_PRG cho form ‘ZBROCADERO_PO’, sau đó rút trích thông tin liên quan đến tất cả đơn đặt hàng từ bảng broc_po vào internal table ‘itab_broc_po’:
Sau khi in form ‘ZBROCADERO_PO’, giả sử bạn muốn tạo định dạng ký tự cho các ghi chú trong form ‘ZBROCADERO_SALES’ bằng Smart Styles:
Sau khi định dạng ký tự C1 cho form ‘ZBROCADERO_SALES’, bạn muốn sử dụng form trong chương trình report để in nó. Bạn cần tạo chương trình report ‘ZSales_Order’ cho form ‘ZBROCADERO_SALES’. Sau đó sử dụng function module ‘SSF_FUNCTION_MODULE_NAME’ và chuyển tên form ‘ZBROCADERO_SALES’ cho function module để rút trích tên function module của form.
In form bằng Smart Forms:
Sử dụng SAPscript, bạn định dạng đoạn văn trên form ‘ZBROCADERO_PO’ bằng định dạng P1. Sau đó bạn tạo chương trình print ‘ZPRO_PRINT_PRG’ để in form. Kế tiếp bạn tạo định dạng C1 trong Smart Style ‘ZSALES_STYLE’ và áp dụng định dạng đến Smart Form ‘ZBROCADERO_SALES’. Cuối cùng bạn tạo chương trình print ‘ZSales_Order’ để in Smart Form.