ABAP
Dari Wikipedia Bahasa Melayu, ensiklopedia bebas.
ABAP (Advanced Business Application Programming) adalah bahasa pengaturcaraan tahap tinggi yang dicipta oleh syarikat pengaturcaraan JermanSAP. Ia kini diletakkan, seiring dengan Java yang baru diperkenalkan, sebagai bahasa untuk memprogram SAP Web Application Server, sebahagian dari pelantar NetWeavernya bagi membina applikasi perniagaan. Sintaxnya agak serupa dengan COBOL.
Jadual isi kandungan |
[Sunting] Sejarah
ABAP adalah salah satu daripada bahasa generasi keempat applikasi khusus yang pertama kali dimajukan pada 1980-an. Ia pada asalnya bahasa lapuran bagi SAP R/2, pelantar yang membolehkan koperasi besar bagi membina applikasi perniagaan kerangka utama bagi pengurusan material dan kewangan dan pengurusan perakaunan. ABAP dahulunya ringkasan bagi Allgemeiner Berichtsaufbereitungsprozessor, istilah Jerman yang bererti "pemprosesor penyedia lapuran generik", tetapi kemudiannya dinamakan semula sebagai Advanced Business Application Programming. ABAP adalah salah satu bahasa pertama dilengkapi dengan konsep Pengkalan Data Logik (LDBs), yang memberikan ringkasan tahap tinggi dari aras pengkalan data asas.
[Sunting] Contoh(Lapuran ABAP )
REPORT Zexmaple_report. tables :vbrk,vbrp,kna1. TYPE-POOLS : slis. data:begin of itab_final occurs 0, VKBUR like vbrp-VKBUR, vbeln like vbrk-vbeln, kunag like vbrk-kunag, fkdat like vbrk-fkdat, netwr like vbrk-netwr, mwsbk like vbrk-mwsbk, fkimg like vbrp-fkimg, total like vbrk-netwr, name1 like kna1-name1, end of itab_final. data:begin of itab occurs 0, VKBUR like vbrp-VKBUR, vbeln like vbrk-vbeln, kunag like vbrk-kunag, fkdat like vbrk-fkdat, netwr like vbrk-netwr, mwsbk like vbrk-mwsbk, fkimg like vbrp-fkimg, end of itab. data: begin of itab_name occurs 0, name1 like kna1-name1, erdat like kna1-erdat, end of itab_name. DATA: FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE, GD_LAYOUT TYPE SLIS_LAYOUT_ALV, GD_REPID LIKE SY-REPID. DATA : W_BUDAT LIKE EKBE-BUDAT. datA:T TYPE T. select-options: vbeln for vbrk-vbeln. select-options: fkdat for vbrk-fkdat. select-options: kunag for vbrk-kunag. select vbrk~vbeln vbrk~fkdat vbrk~netwr vbrk~mwsbk vbrk~kunag vbrp~fkimg vbrp~vkbur INTO CORRESPONDING FIELDS OF TABLE itab FROM VBRK INNER JOIN VBRP ON VBRK~VBELN = VBRP~VBELN WHERE VBRK~FKDAT IN FKDAT AND VBRK~KUNAG IN KUNAG AND VBRK~VBELN IN VBELN. select name1 erdat from kna1 into table itab_name for all entries in itab where erdat = itab-fkdat. *---------------------------------------------------------------------------------------------------------* loop at itab. itab_final = itab. read table itab_name with key erdat = itab-fkdat. itab_final-name1 = itab_name-name1. itab_final-total = itab-netwr + itab-mwsbk. append itab_final. clear itab_final.
[Sunting] Contoh
From 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