In SAPscript:

Một phần của tài liệu ABAP programming I ppt (Trang 98 - 105)

II. Giới thiệu ABAP: 1 ABAP và Workbench:

b. In SAPscript:

Chương trình print là chương trình ABAP cho phép bạn in tài liệu, với cấu trúc trong SAPscript form.

Chương trình print:

+ lấy dữ liệu đặt vào form + khởi tạo việc in

+ ghi dữ liệu vào text element của form + kết thúc việc in

Giả sử bạn cần in một form gọi là Form_A. Form này chứa layout và text element cho tài liệu. Bạn cần rút trích dữ liệu từ bảng N để hiển thị trong các text element của Form_A.

Đầu tiên chương trình print sẽ rút trích dữ liệu từ bảng B. Sau đó chương trình in sẽ khởi tạo việc in ấn, chọn thiết bị in. Kế tiếp nó sẽ ghi dữ liệu được rút trích từ bảng B vào các text element của Form_A. Cuối cùng là kết thúc tiến trình in.

Công việc đầu tiên là rút trích dữ liệu từ CSDL, để rút trích chương trình print cần sử dụng internal table.

DATA: BEGIN OF internal_table_name OCCURS n, field 1 LIKE database_table_name-field1, field 2 LIKE database_table_name-field2, END OF internal_table_name.

Sau đó sử dụng câu lệnh SELECT để lấy dữ liệu từ table và đặt vào internal table: SELECT database_table_name-field1

database_table_name-field2

FROM database_table_name

INTO TABLE internal_table_name.

Sau khi rút trích dữ liệu, chương trình print cần sử dụng các SAPscript function module để điều khiển việc in ấn. Các SAPscript function module quan trọng nhất:

+ OPEN_FORM + WRITE_FORM + CLOSE_FORM

Để gọi một function module bạn sử dụng CALL FUNCTION: CALL FUNCTION 'function_module_name'.

gọi bất kỳ function module nào khác.

Function module ‘OPEN_FORM’ khởi tạo việc in ấn sử dụng các tham số kết xuất. Các tham số kết xuất quan trọng nhất của function module ‘OPEN_FORM’:

+ DEVICE: định danh thiết bị in, ví dụ: DEVICE = 'PRINTER' + FORM: định danh form cần in, ví dụ: FORM = 'FORM_A' Ví dụ:

CALL FUNTION 'OPEN_FORM' EXPORTING

DEVICE = 'DEVICE parameter_value' FORM = 'FORM parameter_value'

Sau khi bạn gọi function module ‘OPEN_FORM’, bạn cần gọi function module ‘WRITE_FORM’ để ghi văn bản từ text element vào cửa sổ trên form.

CALL FUNCTION 'WRITE_FORM'.

Sử dụng tham số ELEMENT để định danh text element bạn muốn ghi vào cửa sổ bạn chỉ định trong tham số WINDOW. Ví dụ: ELEMENT = 'LIST_A' chỉ định LIST_A là text element cần được ghi vào cửa sổ được chỉ định trong tham số WINDOW.

Tham số WINDOW để chỉ định cửa sổ mà bạn ghi text element được chỉ định trong tham số ELEMENT. Ví dụ: WINDOW = 'MAIN' chỉ định cửa sổ MAIN nơi mà bạn muốn viết text element được chỉ định trong tham số ELEMENT:

CALL FUNCTION 'WRITE_FORM' EXPORTING

ELEMENT = 'element parameter_value' WINDOW = 'window parameter_value'.

Sau khi viết text element trong form, bạn kết thúc việc in bằng function module ‘CLOSE_FORM’:

CALL FUNCTION 'CLOSE_FORM'.

Giả sử bạn cần in form ‘ZSTORE_01’, form này liệt kê chi tiết các vật liệu có trong kho hàng. Để in form bạn cần tạo chương trình ZSTORE_01_PRINT.

Để tạo chương trình print ZSTORE_01_PRINT, bạn mở ABAP Editor. Form ‘ZSTORE_01’ hiển thị danh sách vật liệu. Dữ liệu được hiển thị trong danh sách này là các trường CODE, NAME, QTY của bảng ZAWARD_11. Để rút trích dữ liệu, bạn tạo internal table gọi là ITAB bằng câu lệnh DATA.

DATA : BEGIN OF ITAB OCCURS 0, CODE LIKE ZAWARD_11-CODE, NAME LIKE ZAWARD_11-NAME, QTY LIKE ZAWARD_11-QTY, END OF ITAB.

Sau khi tạo cấu trúc bảng ITAB, bạn sử dụng câu lệnh SELECT để lấy dữ liệu từ bảng ZAWARD_11 và đặt dữ liệu này trong vào bảng ITAB.

SELECT ZAWARD_11-CODE ZAWARD_11-NAME ZAWARD_11-QTY FROM ZAWARD_11

INTO TABLE ITAB.

Sau khi rút trích dữ liệu từ bảng ZAWARD_11, bạn cần gọi function module để khởi tạo việc in ấn:

Trong function module này, bạn cần sử dụng tham số DEVICE để định danh printer là thiết bị in.

CALL FUNTION 'OPEN_FORM' EXPORTING

DEVICE = 'PRINTER'.

Trong function module này, bạn cũng sử dụng tham số FORM để định danh form cần in:

CALL FUNTION 'OPEN_FORM' EXPORTING

DEVICE = 'PRINTER'

FORM = 'ZSTORE_01'.

Sau đó, bạn có thể gọi function module WRITE_FORM để ghi văn bảng từ text element vào form. Trong trường hợp này, dữ liệu từ bảng ITAB cần được ghi vào text element ‘MATERIAL_LIST’. Do đó bạn sử dụng câu lệnh LOOP AT trước khi gọi function module ‘WRITE_FORM’.

LOOP AT ITAB.

CALL FUNCTION 'WRITE_FORM'.

Trong ví dụ này bạn cần ghi text element ‘MATERIAL_LIST’ vào cửa sổ MAIN của form. Sử dụng tham số kết xuất ELEMENT của fuction module ‘WRITE_FORM’ để ghi text element ‘MATERIAL_LIST’.

LOOP AT ITAB.

CALL FUNCTION 'WRITE_FORM' ELEMENT ='MATERIAL_LIST'.

Text element cần được ghi trong cửa sổ MAIN của form, bạn sử dụng tham số kết xuất WINDOW của function module ‘WRITE_FORM’.

LOOP AT ITAB.

CALL FUNCTION 'WRITE_FORM' ELEMENT ='MATERIAL_LIST'

WINDOW = 'MAIN'. ENDLOOP.

Để thực thi chương trình, nhấn nút Direct processing:

Hộp thoại Print xuất hiện, bạn có thể in form bằng hộp thoại này:

Ghi chú:

Chương trình print là chương trình ABAP, cho phép in ấn tài liệu, mà cấu trúc được thiết kế trong form. Chương trình print đầu tiên sẽ rút trích dữ liệu cần thiết đặt vào form. Sau khi khởi tạo việc in ấn, nó ghi text element vào form. Cuối cùng là đóng việc in ấn.

Để rút trích dữ liệu, bạn cần định nghĩa internal table trong chương trình print. Sau khi định nghĩa internal table, bạn cần sử dụng SAPscript function module để điều khiển việc in. Bạn sử dụng function module ‘OPEN_FORM’ để khởi tạo việc in. Sử dụng function module ‘WRITE_FORM’ để ghi văn bản từ text element vào trong form. Đóng việc in bằng function module CLOSE_FORM.

Một phần của tài liệu ABAP programming I ppt (Trang 98 - 105)

Tải bản đầy đủ (DOC)

(116 trang)
w