ภาษาอาบัป

จากวิกิพีเดีย สารานุกรมเสรี
(เปลี่ยนทางจาก ABAP)

ภาษาอาบัป (อังกฤษ: ABAP: Advanced Business Application Programming) เป็นภาษาโปรแกรมระดับสูงที่พัฒนาโดยบริษัท SAP จากประเทศเยอรมนี โดยเป็นภาษาที่ใช้ในซอฟต์แวร์ประเภทเว็บแอปพลิเคชันเซิร์ฟเวอร์ของบริษัท SAP เอง รูปแบบของภาษา ABAP ใกล้เคียงกับภาษาโคบอล

ประวัติ[แก้ไขต้นฉบับ]

ABAP นับเป็นภาษาโปรแกรมในยุคที่สี่ พัฒนาในช่วงยุค 80 เดิมทีเป็นภาษาสำหรับใช้ทำรายงานในแพลตฟอร์ม SAP R/2 ในช่วงแรกชื่อ ABAP ย่อมาจากภาษาเยอรมันว่า "Allgemeiner Berichtsaufbereitungsprozessor" ซึ่งมีความหมายว่า "ตัวประมวลผลทั่วไปในการสร้างรายงาน" กลุ่มผู้ใช้ของ ABAP คือผู้ใช้ทั่วไป แต่ตัวภาษาก็มีความซับซ้อนจนทำให้ต้องใช้ผู้เชี่ยวชาญในการแก้ไข

เมื่อ SAP ออก SAP R/3 ใน ค.ศ. 1992 ภาษา ABAP ยังเป็นภาษาหลักในการสร้างโปรแกรมบนแพลตฟอร์มนี้ ในปี 1999 SAP ได้ออกส่วนขยายที่สนับสนุนการเขียนโปรแกรมเชิงวัตถุในชื่อ ABAP Objects ซึ่งออกมาพร้อมกับ SAP R/3 Release 4.5

แพลตฟอร์มรุ่นล่าสุดของ SAP คือ SAP NetWeaver ซึ่งสนับสนุนทั้งภาษา ABAPและภาษาจาวา

ตัวอย่าง[แก้ไขต้นฉบับ]

จาก SAP NetWeaver:

* -----------------------------------------------------------------------
* set an exclusive lock at level object-type & object-id
* -----------------------------------------------------------------------
  IF NOT lf_bapi_error = true.
    IF ( NOT istourhd-doc_type IS INITIAL ) AND
       ( NOT istourhd-doc_id IS INITIAL ).

      CALL FUNCTION 'ENQUEUE_/DSD/E_HH_RAREF'
           EXPORTING
                obj_typ        = istourhd-doc_type
                obj_id         = istourhd-doc_id
           EXCEPTIONS
                foreign_lock   = 1
                system_failure = 2
                OTHERS         = 3.
      IF sy-subrc <> 0.
*       terminate processing...
        lf_bapi_error = true.
*       ...and add message to return table
        PERFORM set_msg_to_bapiret2
             USING    sy-msgid gc_abort sy-msgno
                      sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
                      gc_istourhd gc_enqueue_refdoc space
             CHANGING lt_return.
      ENDIF.
    ENDIF.
  ENDIF.    " bapi error

แหล่งข้อมูลอื่น[แก้ไขต้นฉบับ]