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

