Get in touch
or send us a question?
CONTACT

Ngôn ngữ lập trình trong SAP – ABAP và các ngôn ngữ liên quan

SAP (Systems, Applications, and Products in Data Processing) là một trong những hệ thống ERP (Enterprise Resource Planning) lớn nhất thế giới. Để phát triển, tùy chỉnh và mở rộng chức năng của SAP, lập trình viên chủ yếu sử dụng ngôn ngữ ABAP – ngôn ngữ “chính chủ” do chính SAP phát triển. Ngoài ABAP, trong một số trường hợp còn sử dụng các ngôn ngữ khác như Java, JavaScript, SQLScript, CAP… tùy theo sản phẩm và kiến trúc.

ABAP là gì? Tìm hiểu từ A - Z về ngôn ngữ lập trình SAP ABAP

1. ABAP (Advanced Business Application Programming)

  • Ra đời: Năm 1983 (từ những năm đầu của SAP R/2).
  • Là ngôn ngữ độc quyền của SAP cho các hệ thống SAP NetWeaver Application Server ABAP (trước đây gọi là SAP Basis/R/3, hiện nay là SAP S/4HANA on-premise và một phần Private Cloud).
  • Đặc điểm chính:
    • Ngôn ngữ bậc cao, cú pháp gần giống COBOL và Pascal.
    • Hỗ trợ lập trình hướng đối tượng (từ phiên bản 7.40 trở lên đã rất mạnh về OOP).
    • Tích hợp chặt chẽ với SAP Dictionary (DDIC – Data Dictionary): bảng, cấu trúc dữ liệu, domain, data element… được định nghĩa tập trung và tái sử dụng.
    • Open SQL: phiên bản SQL riêng của SAP, tự động xử lý buffer, authorization check, change documents…
    • Hỗ trợ rất nhiều framework: Classical Dynpro, Web Dynpro ABAP, Floorplan Manager (FPM), SAPUI5/Fiori với ABAP backend, RESTful Application Programming Model (RAP) – mô hình mới nhất thay thế dần Dynpro.

Các thành phần thường lập trình bằng ABAP:

  • Reports (báo cáo)
  • Module Pool (giao diện màn hình truyền thống)
  • Function Module, Class, Interface
  • Enhancement (BAdI, User Exit, Enhancement Spot)
  • SAP Script, SmartForms, Adobe Forms
  • ALE/IDoc, RFC, Web Service
  • Từ S/4HANA 1909 trở đi: RAP (RESTful Application Programming Model) + Core Data Services (CDS) + ABAP OOP là xu hướng chính.

2. Các ngôn ngữ khác thường gặp trong hệ sinh thái SAP

Ngôn ngữ Sử dụng trong sản phẩm Ghi chú
SQLScript SAP HANA (stored procedure, calculation view) Ngôn ngữ thủ tục của HANA database
AMDP (ABAP Managed Database Procedures) Viết procedure HANA ngay trong ABAP class Vẫn là ABAP nhưng phần code chạy trên HANA
Core Data Services (CDS) Định nghĩa view, annotation cho Fiori/UI Cú pháp giống SQL nhưng có annotation @-syntax
CAP (Cloud Application Programming Model) SAP CAP (dùng cho SAP BTP) Dùng Node.js hoặc Java, CDS giống trên nhưng chạy trên Cloud Foundry
Java SAP Commerce Cloud (Hybris), SAP PO/PI (một phần), SAP BTP Java apps Không còn phổ biến như trước
JavaScript / SAPUI5 / Freestyle SAPUI5 / UI5 Web Components Frontend Fiori Giao diện người dùng hiện đại
Python SAP Data Intelligence, một số script ngoài hệ thống Không phải ngôn ngữ chính
ABAP Objects in the Cloud (ABAP Environment trên BTP) ABAP trên cloud (Steampunk) Vẫn là ABAP nhưng chạy trên BTP, dùng RAP + Git

3. ABAP hiện đại (từ 7.40 SP08 – NW 7.50 – 7.55 và S/4HANA)

  • Hỗ trợ đầy đủ biểu thức inline: DATA(lv_result) = CONV i( iv_a + iv_b ).
  • Constructor expressions: table comprehension, value operator #, REDUCE, FILTER, CORRESPONDING…
  • Clean Core + RAP: SAP khuyến khích phát triển theo mô hình “Side-by-Side” hoặc “Embedded Steampunk” thay vì sửa trực tiếp trong hệ thống core.
  • ABAP Git + abapGit: quản lý source bằng Git (cộng đồng open-source rất mạnh).

4. Học ABAP cần những gì?

  1. Kiến thức cơ bản về lập trình (biến, vòng lặp, điều kiện, hàm).
  2. Hiểu SAP Data Dictionary và Open SQL.
  3. Báo cáo ALV (SAP List Viewer) – thường là bài đầu tiên.
  4. Module Pool / Dynpro (nếu còn làm hệ thống cũ).
  5. OOP trong ABAP (class, interface, inheritance, exception class).
  6. CDS View + Annotation cho Fiori.
  7. RESTful ABAP Programming Model (RAP) – bắt buộc với S/4HANA mới.
  8. Công cụ: SAP GUI, Eclipse + ADT (ABAP Development Tools) hoặc VS Code + ABAP Extension.

5. Tài liệu học chính thức và cộng đồng

Tóm lại: Nếu bạn làm SAP truyền thống hoặc S/4HANA on-premise/private cloud → ABAP là ngôn ngữ chính và gần như duy nhất bạn cần thành thạo. Với các giải pháp cloud-native trên SAP BTP thì có thêm CAP (Node.js/Java) và SAPUI5, nhưng ABAP vẫn sống rất khỏe mạnh và được SAP đầu tư mạnh mẽ đến ít nhất 2040 (theo cam kết chính thức của SAP).