Import UDF
Tạo hàng loạt field người dùng (UDF) cho một công ty từ file Excel: chọn công ty, tải file mẫu, điền danh sách field, kiểm tra với SAP rồi tạo. Field đã có trong SAP được bỏ qua, không bị sửa.
Trước khi bắt đầu
- License có gói Ultra.
- Công ty cần tạo field đã có kết nối ở Setting › Kết nối công ty SAP. Mỗi lần import vào một công ty; muốn tạo một field cho nhiều công ty cùng lúc thì dùng UDFSAP.
- User SAP đang đăng nhập ứng dụng có quyền quản lý field người dùng trong SAP.
- Nên chạy khi ít người đang dùng SAP: thêm field là đổi cấu trúc bảng của SAP.
Import file vào công ty test, mở vài field trong SAP để kiểm tra, rồi mới chọn công ty thật và import lại cùng file (các field đã có sẽ được bỏ qua).
Các bước
Màn Import UDF là một trang, đi từ trên xuống: chọn công ty và file → Kết quả kiểm tra → Tạo field → Chi tiết lần import. Bấm nút i ở góc thẻ để xem tóm tắt cách điền file ngay trên màn.
- Chọn công ty
Ô Công ty mặc định là công ty bạn đang đăng nhập. Mỗi lựa chọn ghi tên công ty, cách ghi và tên kết nối, ví dụ CONGTYMAU · Service Layer (DEV · …). Đổi công ty sau khi đã kiểm tra thì kết quả kiểm tra cũ bị bỏ, phải kiểm tra lại.
- Tải file mẫu
Bấm Tải file mẫu để lấy file
UDF_Import_Template.xlsx. File mẫu không có dòng dữ liệu; ví dụ nằm ở sheetInstructions. - Điền file
Mỗi dòng của sheet
UDFslà một field; giá trị hợp lệ điền ở sheetValidValues. Cách điền từng cột ở Điền file Excel. - Chọn file và kiểm tra
Kéo file vào ô Kéo file Excel vào đây hoặc bấm để chọn (chỉ
.xlsx, tối đa 5 MB và 1.000 dòng UDF), rồi bấm Kiểm tra file. Ứng dụng kiểm từng dòng theo quy tắc của SAP và đọc công ty để biết field nào đã có. - Xem kết quả kiểm tra
Bốn ô đếm Tổng dòng, Hợp lệ, Lỗi, Đã có trong SAP. Dùng các nút lọc Tất cả / Hợp lệ / Lỗi / Đã có trong SAP và ô Tìm nhanh (bảng, field, mô tả). Cột Chi tiết nói dòng nào sai, sai ở đâu. Bấm Tải danh sách lỗi để lấy file
UDF_Import_Errors.csvgồm các dòng lỗi và các dòng đã có trong SAP, kèm lý do.Có dòng lỗi vẫn tạo được các dòng hợp lệ; nhưng nên sửa file rồi kiểm tra lại cho đủ.
- Tạo field
Ở thẻ Tạo field bấm Tạo N field. Hộp Xác nhận ghi vào SAP nêu công ty, số field sẽ tạo, số dòng lỗi và số field đã có sẽ bỏ qua. Bấm Tạo N field trong hộp để bắt đầu.
- Theo dõi và tải kết quả
Thanh tiến độ và các ô Đã xử lý, Đã tạo, Bỏ qua, Lỗi, Không tạo cập nhật trong lúc tạo. Cần dừng thì bấm Dừng các dòng còn lại: field đang tạo làm nốt, các dòng sau không gửi. Xong bấm Tải file kết quả.
Dừng giữa chừng không gỡ các field đã tạo. Muốn bỏ field phải xóa trong SAP (hoặc ở UDFSAP); xóa field là xóa luôn dữ liệu của field.
Điền file Excel
Không đổi tên sheet và hàng tiêu đề. Dữ liệu điền từ dòng 2. Các cột TableName, Type, SubType, Mandatory có danh sách chọn dạng “mã – tên”; gõ riêng mã cũng được. Kiểu hay sub type không có trong danh sách thì ô tô cam.
Sheet UDFs — mỗi dòng một field
| Cột | Điền gì | Ví dụ |
|---|---|---|
TableName | Bảng SAP, hoặc bảng người dùng có @. Danh sách gợi ý các bảng SAP hay dùng; bảng khác gõ mã. | OCRD, OITM, INV1, @MYTABLE |
FieldName | Tên field không dấu; có hay không có U_ đều được (SAP lưu là U_…). Bắt đầu bằng chữ, tối đa 50 ký tự. | GlobalId |
Description | Tên hiển thị trên màn hình SAP, bắt buộc, tối đa 80 ký tự. | Mã toàn cầu |
Type | Kiểu field (bảng dưới). | db_Alpha |
SubType | Sub type hợp với kiểu. Để trống là st_None (Regular / Date). | st_None |
Size | Độ dài: bắt buộc với db_Alpha (1–254) và db_Numeric (1–11). | 50 |
Mandatory | Yes / No. Để trống là No. | No |
DefaultValue | Giá trị mặc định (không bắt buộc). Field có giá trị hợp lệ thì phải là một trong số đó. | A |
LinkedTable | Liên kết một bảng (không bắt buộc). | |
LinkedUDO | Liên kết một UDO (không bắt buộc). Không điền cả LinkedTable lẫn LinkedUDO. | |
Note | Ghi chú của bạn; không gửi vào SAP. |
| Type | SubType được dùng |
|---|---|
db_Alpha – Alphanumeric | st_None (Regular), st_Address, st_Phone, st_Link, st_Image |
db_Memo – Text | st_None, st_Link, st_Image |
db_Numeric – Numeric | st_None |
db_Date – Date/Time | st_None (ngày), st_Time (giờ) |
db_Float – Units and Totals | Bắt buộc chọn một: st_Rate, st_Sum (Amount), st_Price, st_Quantity, st_Percentage, st_Measurement |
Sheet ValidValues — mỗi dòng một giá trị hợp lệ
| Cột | Điền gì | Ví dụ |
|---|---|---|
TableName, FieldName | Ghi đúng bảng và tên field như ở sheet UDFs. | OCRD, BPType |
Value | Giá trị lưu trong SAP; không dài hơn Size của field, không trùng. | A |
Description | Tên hiện ra khi chọn. | Loại A |
IsDefault | Yes cho giá trị mặc định (chỉ một giá trị); còn lại No hoặc để trống. | Yes |
Có dòng ở ValidValues mà sheet UDFs không có field cùng TableName + FieldName (thường do gõ sai tên) thì cả file chưa kiểm tra được. Sửa tên cho khớp hoặc xóa các dòng đó.
Field có LinkedTable / LinkedUDO thì không có giá trị hợp lệ. Một field xuất hiện hai lần trong file thì cả hai dòng đều báo lỗi.
Kết quả
Trạng thái lần import (góc thẻ Tạo field): Đang chờ Đang tạo Xong Xong một phần Lỗi Đã dừng.
| Kết quả từng dòng | Nghĩa là |
|---|---|
| ✓ Đã tạo | SAP đã tạo field. |
| – Bỏ qua (đã có) | Field đã có trong SAP lúc kiểm tra; không gửi, không sửa. |
| – Không tạo | Dòng lỗi ở bước kiểm tra, hoặc chưa gửi vì đã bấm dừng / không đăng nhập được SAP. |
| ✕ Lỗi | SAP từ chối; lý do ở ngay dưới. |
| ? Chưa xác định | Mất phản hồi từ SAP và không đọc lại được: field có thể đã được tạo. Kiểm tra field trong SAP trước khi import lại. |
Khi mất phản hồi, ứng dụng đọc lại SAP: thấy field đã có thì báo Đã tạo, chưa có thì báo lỗi và bạn import lại được. Ứng dụng không bao giờ tự gửi lại một field.
File UDF_Import_Result.xlsx (sheet Result) có từng dòng: ExcelRow, TableName, FieldName, PhysicalName, Description, ImportStatus, ErrorCode, ErrorMessage, ProcessedAt. Phần Chi tiết lần import ở cuối trang cho xem nội dung đã gửi và kết quả từng dòng (tab Dễ đọc) hoặc dữ liệu gửi / nhận với SAP (tab JSON (kỹ thuật)).
Kết quả của lần import chỉ giữ trong lúc ứng dụng đang chạy. Tải file kết quả trước khi đóng hoặc khởi động lại SAP AddOns.
Lỗi thường gặp
| Thông báo | Nguyên nhân | Cách sửa |
|---|---|---|
| File thiếu sheet UDFs. Tải file mẫu rồi điền lại. | Không phải file mẫu, hoặc đã đổi tên sheet. | Tải file mẫu mới, chép dữ liệu sang. |
| Sheet ValidValues dòng …: không có field … ở sheet UDFs. | Tên bảng / field ở ValidValues không khớp sheet UDFs. | Sửa cho khớp hoặc xóa các dòng đó. |
| Không đọc được file Excel. Lưu file dạng .xlsx (Excel Workbook) … | File đang mở trong Excel, hoặc lưu sai định dạng. | Đóng file trong Excel, lưu dạng Excel Workbook (.xlsx). |
| kiểu db_Float (Units and Totals) cần sub type là một trong: … | Field kiểu Units and Totals chưa chọn sub type. | Chọn một sub type ở cột SubType. |
| giá trị mặc định “…” không nằm trong các giá trị hợp lệ. | DefaultValue khác mọi Value của field. | Sửa DefaultValue hoặc thêm giá trị đó ở ValidValues. |
| … không đăng nhập được SAP của công ty … để kiểm tra. | User SAP đang đăng nhập không vào được công ty đã chọn qua kết nối đó. | Kiểm tra kết nối ở Setting; đăng nhập lại nếu phiên đã hết. |
| Công ty … đang có một lần import UDF chạy (file …). | Mỗi công ty một lần import tại một thời điểm. | Đợi lần đó xong rồi kiểm tra và import lại. |
| Kết quả kiểm tra đã hết hạn hoặc không còn. Kiểm tra file lại rồi import. | Kiểm tra quá 60 phút trước, hoặc ứng dụng đã khởi động lại. | Bấm Kiểm tra file lại. |
| Kết quả kiểm tra này đã được import. Kiểm tra file lại trước khi import lần nữa. | Mỗi lần kiểm tra chỉ dùng để tạo một lần, tránh tạo trùng. | Kiểm tra lại; các field vừa tạo sẽ thành “Đã có trong SAP”. |
Câu hỏi thường gặp
Import lại cùng file có tạo trùng field không?
Không. Mỗi lần kiểm tra, ứng dụng đọc SAP: field đã có được đánh dấu Đã có trong SAP và bỏ qua. Nhờ vậy bạn có thể sửa các dòng lỗi rồi import lại cả file.
Có sửa được field đã có bằng file không?
Không. Import UDF chỉ tạo field mới. Sửa field dùng màn UDFSAP (Sửa field).
Giới hạn hiện tại
- Chỉ tạo mới; không sửa, không xóa field.
- Một công ty mỗi lần; tối đa 1.000 dòng UDF và 5 MB mỗi file.
- Kết quả và file kết quả mất khi ứng dụng khởi động lại.
- Màn này chưa theo luồng 4 bước như các màn import khác.