Pengenalan ABAP – Bahasa Pemrograman Sistem SAP

Leave a comment

Fitria Agustina
SAP ABAP Consultant

Bahasa pemrograman ABAP adalah bahasa pemrograman yang khusus digunakan untuk
membuat report, form, program, modifikasi-modifikasi (customizing) serta
membangun sistem SAP R/3. SAP R/3 sendiri merupakan salah satu dari sistem ERP
(Enterprise Resource Planning) yang dikeluarkan oleh SAP dan paling banyak
digunakan di dunia, Sebagai salah satu penyedia solusi aplikasi bisnis bagi
perusahaan-perusahaan di dunia, SAP juga mengeluarkan produk-produk lain seperti
BW(Business Warehouse) dan CRM (Customer Relationship Management) yang juga
menggunakan ABAP untuk membangun sistemnya.
Pada awalnya, nama ABAP diambil dari bahasa Jerman Allgemeniner Berichts
Aufbereitungs Prozessor yang dalam bahasa Inggris berarti general report
preparation processor. Sesuai dengan namanya, ABAP dulu diperuntukkan untuk
membuat report (reporting). Pada akhirnya, bahasa ini terus berkembang menjadi
suatu application development tool dengan berbagai fitur. Namanya pun berubah
menjadi Advanced Business Application Programming.

Sebuah program ABAP sederhana memiliki struktur logic program sebagai berikut :

- Declaration Part for Global Data
Bagian ini berisi semua deklarasi tipe data dan data global yang akan digunakan
di seluruh program. Ini adalah bagian awal dari suatu ABAP program.
Apabila program memerlukan selection-screen, maka deklarasi selection-screen
tersebut juga berada di bagian ini. Selection-screen merupakan bagian dari
dialog modules yang bertujuan untuk memfasilitasi kebutuhan interaksi antara
program dengan user. Sebagai contoh, sebuah program upload data menggunakan
selection-screen yang dipergunakan untuk menerima input berupa nama file data
input.
Selection-screen merupakan bagian dari dialog modules yang di-generate melalui
ABAP statements di dalam processing logic, tanpa menggunakan Screen-Painter.
Screen Painter adalah salah satu modul yang digunakan untuk membuat screen,
yaitu salah satu dialog modules dengan struktur yang lebih bervariasi dan lebih
kompleks daripada selection-screen.

Apabila program menggunakan local class, maka bagian ini juga merupakan tempat
mendefinisikan semua definisi local class. Class merupakan bagian dari ABAP
Object, yaitu suatu perluasan dari ABAP yang menggunakan konsep Object Oriented.
- Processing Blocks
Di sinilah logik program dimulai. Bagian ini berisi semua processing block yang
digunakan dalam program, misalnya statement, event blocks, procedures dan dialog
modules. Processing blocks biasanya diawali dengan event START-OF-SELECTION dan
diakhiri dengan event END-OF-SELECTION.
Procedure terdiri dari subroutines dan function modules. Subroutines merupakan
prosedur yang dideklarasikan di dalam program dan hanya dapat dipanggil dari
dalam program itu sendiri ( kecuali subroutine yang termasuk ke dalam suatu
subroutine pools ). Function modules merupakan prosedur yang dibuat melalui
Function Builder dan dapat dipanggil oleh berbagai program ABAP. Setiap prosedur
dapat mempunyai data local sendiri yang hanya dapat dipergunakan di dalam
prosedur tersebut, di luar data global yang sebelumnya dideklarasikan di bagian
awal program.

Sebuah ABAP program terdiri dari comments dan statements. Comments merupakan
kalimat yang ditulis user yang bukan merupakan bagian dari program. Apabila
ditulis di awal baris, maka comments diawali dengan tanda *. Sedangkan apabila
posisinya berada di tengah-tengah baris, maka comments diawali dengan tanda “.
Statements ABAP selalu diakhiri dengan tanda titik ( . ). Satu baris program
dapat terdiri dari beberapa statements. Sebaliknya, suatu statements juga dapat
terdiri dari beberapa baris.

Program ABAP mempunyai aturan penamaan yang unik. Untuk membedakan program
buatan developer dengan program-program standar yang disediakan oleh sistem SAP,
maka program-program tersebut harus diawali dengan huruf `Y’ atau `Z’. Hal yang
sama berlaku untuk beberapa modifikasi, seperti penambahan tipe data structure
pada structure standar SAP. Dengan demikian, maka perubahan-perubahan dan
penambahan-penambahan tersebut akan terus terbawa setelah sistem di-upgrade.
Ada beberapa tipe program ABAP. Salah satunya adalah executable program yang
dapat langsung dijalankan tanpa harus membuat screen baru. Executable program
sering digunakan untuk keperluan reporting karena karakteristiknya ditujukan
untuk mengambil data, mengolahnya, lalu menampilkan informasi hasil pengolahan
data tersebut. Karena itulah, executable program juga disebut sebagai report.
Contoh sebuah report sederhana dalam bahasa ABAP adalah sebagai berikut :

REPORT zprintcharexample
NO STANDARD PAGE HEADING
MESSAGE-ID sabapdocu.
*———————————————————-
* Data and Selection-Screen Declaration
* ———————————————————-
DATA : d_idx TYPE i,
d_msg(30) TYPE c.

SELECTION-SCREEN BEGIN OF BLOCK block1 WITH FRAME.
PARAMETERS:
p_str(12) TYPE c.
SELECTION-SCREEN END OF BLOCK block1.

INITIALIZATION.
d_msg = ‘Only accept characters’.
p_str = ‘Hello world!’.
*———————————————————-
* Start-of-selection
* ———————————————————-
START-OF-SELECTION.

PERFORM f_check_not_num.
WRITE : / p_str.

END-OF-SELECTION.

*———————————————————-
* Events
* ———————————————————-
AT SELECTION-SCREEN OUTPUT.

PERFORM f_check_not_num.

*———————————————————-
* Subroutines
* ———————————————————-
FORM f_check_not_num.

IF NOT p_str IS INITIAL.
d_idx = 0.
DO 11 TIMES.
CASE p_str+d_idx(1).
WHEN ’0′ OR ’1′ OR ’2′ OR ’3′ OR ’4′ OR
’5′ OR ’6′ OR ’6′ OR ’7′ OR ’8′ OR ’9′.
MESSAGE ID ‘SABAPDOCU’ TYPE ‘I’ NUMBER ’888′ WITH d_msg.
CLEAR p_str.
EXIT.
WHEN OTHERS.
ADD 1 TO d_idx.
ENDCASE.
ENDDO.
ENDIF.

ENDFORM.

Program di atas menerima input berupa karakter lalu menampilkannya di output
yang disebut list. Apabila parameter p_str dibiarkan kosong pada saat program
dieksekusi, maka parameter tersebut akan diisi dengan kalimat “Hello World!”.
Program tersebut diawali dengan deklarasi data global ( d_checknum ) dan
selection-screen, lalu diikuti dengan event START-OF-SELECTION yang menandai
awal processing block. Selanjutnya, setiap kali event AT SELECTION-SCREEN OUTPUT
di-trigger oleh runtime environment, maka program menjalankan subroutine
f_check_not_num untuk memeriksa apakah parameter p_str diisi dengan angka atau
bukan. Event AT SELECTION-SCREEN OUTPUT akan di-trigger setiap kali program akan
menampilkan selection-screen, misalnya, pada program ini, setelah user menekan
tombol enter.
Apabila contoh di atas dijalankan, maka hasilnya adalah sebagai berikut :

Tipe-tipe program yang lain adalah include program, function group, module pool,
subroutine pool, interface pool, dan class pool. Masing-masing mempunyai
karakteristik dan fungsinya sendiri dan digunakan dalam program-program ABAP
yang lebih kompleks.

Syntax ABAP tidak lebih sulit dibandingan dengan syntax bahasa-bahasa
pemrograman yang lain, seperti Java atau C. Walaupun demikian, ABAP juga
mempunyai struktur dan karakteristik yang agak berbeda dengan bahasa lain,
seperti konsep dynpro dalam dialog modules, logical database, cluster, dan
sebagainya yang membuatnya memiliki kompleksitasnya sendiri.
Salah satu bahan pertimbangan bagi perusahaan yang berminat mengimplementasikan
SAP adalah biayanya yang cukup mahal, baik dari sisi tenaga kerja, maupun dari
sisi aplikasi itu sendiri beserta license-nya. Untuk itu, ABAP mempunyai
fasilitas yang berfungsi untuk menghubungkan aplikasi SAP dengan system lain
yang menggunakan bahasa pemrograman yang berbeda, misalnya RFC ( Remote Function
Call ), ABAP Proxy dan SAP Java Connector. Hal ini memungkinkan aplikasi SAP
untuk dapat berhubungan dengan aplikasi lain, misalnya dengan aplikasi yang
dibangun dengan bahasa Visual Basic atau Java, atau mengeksekusi prosedur PL/SQL
di database Oracle dengan native SQL. Dengan demikian, perusahaan dapat
mengambil fitur-fitur dari aplikasi SAP yang paling diperlukan untuk
diimplementasikan, kemudian menghubungkannya dengan aplikasi lain yang lebih
murah sehingga dapat menekan biaya secara keseluruhan.
Di Indonesia, banyak perusahaan besar dan menengah telah menjadi pelanggan SAP,
sehingga dibutuhkan tenaga-tenaga kerja yang menguasai bahasa ini. Saat ini, SAP
telah menyiapkan produk baru yang diperuntukkan bagi perusahaan kelas menengah
ke bawah. Hal ini diharapkan akan menambah pelanggan SAP dan pada akhirnya akan
membuka peluang tenaga kerja IT di Indonesia. Bagi para pekerja Teknologi
Informasi yang berminat untuk memasuki dunia SAP,maka pengetahuan mengenai
bahasa ABAP merupakan salah satu modal yang patut untuk dipertimbangkan.

Sumber:
Pusat Studi ERP Indonesia – Home
http://www.erpweaver.com/

FAQ in Data Dictionary of SAP

Leave a comment

(Source from SAP Wiki- just another copy paste as my diary and share with blog readers)

1. What are the layers of data description in R/3?
• The external layer.
• The ABAP/4 layer.
• The database layer.

2. Define external layer?
The external layer is the plane at which the user sees and interacts with the data, that is, the data format in the user interface. This data format is independent of the database system used.

3. Define ABAP/4 layer?
The ABAP/4 layer describes the data formats used by the ABAP/4 processor.

4. Define Database layer?
The database layer describes the data formats used in the database.

5. What is a Data Class?
The Data class determines in which table space the table is stored when it is created in the database.

6. What is a Size Category?
The Size category describes the probable space requirement of the table in the database.

7. How many types of size categories and data classes are there?
There are five size categories (0-4) and 11 data classes only three of which are appropriate for application tables:
• APPL0- Master data (data frequently accessed but rarely updated).
• APPL1- Transaction data (data that is changed frequently).
• APPL2- Organizational data (customizing data that is entered when system is configured and then rarely changed).
The other two types are:
• USR
• USR1 – Intended for customer’s own developments.

8. What are control tables?
The values specified for the size category and data class are mapped to database-specific values via control tables.

9. What is the function of the transport system and workbench organizer?
The function of the transport system and the Workbench Organizer is to manage any changes made to objects of the ABAP/4 Development Workbench and to transport these changes between different SAP systems.

10. What is a table pool?
A table pool (or pool) is used to combine several logical tables in the ABAP/4 Dictionary. The definition of a pool consists of at least two key fields and a long argument field (VARDATA).

11. What are pooled tables?
These are logical tables, which must be assigned to a table pool when they are defined. Pooled tables can be used to store control data (such as screen sequences or program parameters).

12. What is a table cluster?
A table cluster combines several logical tables in the ABAP/4 Dictionary. Several logical rows from different cluster tables are brought together in a single physical record. The records from the cluster tables assigned to a cluster are thus stored in a single common table in the database.

13. How can we access the correction and transport system?
Each time you create a new object or change an existing object in the ABAP/4 Dictionary, you branch automatically to the Workbench Organizer or correction and transport system.

14. Which objects are independent transport objects?
Domains, Data elements, Tables, Technical settings for tables, Secondary indexes for transparent tables, Structures, Views, Matchcode objects, Matchcode Ids, Lock objects.

15. How is conversion of data types done between ABAP/4 & DB layer?
Conversion between ABAP/4 data types and the database layer is done within the database interface.

16. How is conversion of data types done between ABAP/4 & external level?
Conversion between the external layer and the ABAP/4 layer is done in the SAP dialog manager DYNP.

17. What are the Data types of the external layer?
ACCP, Char, CLNT, CUKY, CURR, DATS, DESC, FLTP, INT1, INT2, INT4, LANG, LCHR, LRAW, NUMC, PREC, QUAN, RAW, TIMS, UNIT,VARC.

18. What are the Data types of the ABAP/4 layer?
Possible ABAP/4 data types:
C: Character.
D: Date, format YYYYMMDD.
F: Floating-point number in DOUBLE PRECISION (8 bytes).
I: Integer.
N: Numerical character string of arbitrary length.
P: Amount of counter field (packed; implementation depends on h/w platform).
S: Time Stamp YYYYMMDDHHMMSS.
V: Character string of variable length, length is given in the first two bytes.
X: Hexadecimal (binary) storage.

19. How can we set the table spaces and extent sizes?
You can specify the extent sizes and the table space (physical storage area in the database) in which a transparent table is to be stored by setting the size category and data class.

20. What is the function of the correction system?
The correction system manages changes to internal system components. Such as objects of the ABAP/4 Dictionary.

21. What are local objects?
Local objects (Dev class$TMP) are independent of correction and transport system.

22. What is a Development class?
Related objects from the ABAP/4 repository are assigned to the same development class. This enables you to correct and transport related objects as a unit.

23. What is a data dictionary?
Data Dictionary is a central source of data in a data management system. Its main function is to support the creation and management of data definitions. It has details about
• What data is contained?
• What are the attributes of the data?
• What is the relationship existing between the various data elements?

24. What functions does a data dictionary perform?
In a data management system, the principal functions performed by the data dictionary are
• Management of data definitions.
• Provision of information for evaluation.
• Support for s/w development.
• Support form documentation.
• Ensuring that the data definitions are flexible and up-to-date.

25. What are the features of ABAP/4 Dictionary?
The most important features are:
• Integrated to aABAP/4 Development Workbench.
• Active in the runtime environment.

26. What are the uses of the information in the Data dictionary?
The following information is directly taken from the Data dictionary:
• Information on fields displayed with F1 help.
• Possible entries for fields displayed with F4 help.
• Matchcode and help views search utilities.

27. What are the basic objects of the data dictionary?
• Tables
• Domains
• Data elements
• Structures
• Foreign Keys

28. What are the aggregate objects in the data dictionary?
• Views
• Match codes
• Lock objects.

29. In the ABAP/4 Dictionary Tables can be defined independent of the underlying database (T/F).
True.

30. ABAP/4 Dictionary contains the Logical definition of the table.
31. A field containing currency amounts (data type CURR) must be assigned to a reference table and a reference field. Explain.
As a reference table, a system containing all the valid currencies is assigned or any other table, which contains a field with the currency key format. This field is called as reference field. The assignment of the field containing currency amounts to the reference field is made at runtime. The value in the reference field determines the currency of the amount.

32. A field containing quantity amounts (data type QUAN) must be assigned to a reference table and a reference field. Explain?
As a reference table, a system table containing all the valid quantity units is assigned or any other table, which contains a field with the format or quantity units (data type UNIT). This field is called as reference field.
The assignment of the field containing quantity amounts to the reference field is made at runtime. The value in the reference field determines the quantity unit of the amount.

33. What is the significance of Technical settings (specified while creating a table in the data dictionary)?

By specifying technical settings we can control how database tables are created in the database. The technical settings allows us to
• Optimize storage space requirements.
• Table access behavior.
• Buffering required.
• Changes to entries logged.

34. What is a Table attribute?
The table’s attributes determine who is responsible for maintaining a table and which types of access are allowed for the table. The most important table attributes are:
• Delivery class.
• Table maintenance allowed.
• Activation type.

35. What is the significance of Delivery Class?
• The delivery class controls the degree to which the SAP or the customer is responsible for table maintenance.
• Whether SAP provides the table with or without contents.
• Determines the table type.
• Determines how the table behaves when it is first installed, at upgrade, when it is transported, and when a client copy is performed.

36. What is the max. no. Of structures that can be included in a table or structure.
Nine.

37. What are two methods of modifying SAP standard tables?
• Append Structures and
• Customizing Includes.

38. What is the difference between a Substructure and an Append Structure?
• In case of a substructure, the reference originates in the table itself, in the form of a statement include….
• In case of an append structure, the table itself remains unchanged and the reference originates in the append structure.

39. To how many tables can an append structure be assigned.
One.

40. If a table that is to be extended contains a long field, we cannot use append structures why?
Long fields in a table must always be located in the end, as the last field of the table. If a table has an append structure the append line must also be on the last field of the table.

41. Can we include customizing include or an append structure with Pooled or Cluster tables?
No.
42. What are the two ways for restricting the value range for a domain?
• By specifying fixed values.
• By stipulating a value table.

43. Structures can contain data only during the runtime of a program (T/F)
True.

44. What are the aggregate objects in the Dictionary?
• Views
• Match Code.
• Lock Object.

45. What are base tables of an aggregate object?
The tables making up an aggregate object (primary and secondary) are called aggregate object.

46. The data of a view is not physically stored, but derived from one or more tables (t/f)
True.

47. What are the 2 other types of Views, which are not allowed in Release 3.0?
• Structure Views.
• Entity Views.

48. What is a Match Code?
Match code is a tool to help us to search for data records in the system. Match Codes are an efficient and user-friendly search aid where key of a record is unknown.

49. What are the two levels in defining a Match Code?
• Match Code Object.
• Match CodeId.

*50. What is the max no of match code Id’s that can be defined for one Match code object?*
A match code Id is a one character ID that can be a letter or a number.

*51. Can we define our own Match Code ID’s for SAP Matchcodes?*
Yes, the number 0 to 9 are reserved for us to create our own Match Code Ids for a SAP defined Matchcode object.

52. What is an Update type with reference to a Match code ID?
If the data in one of the base tables of a matchcode ID changes, the matchcode data has to be updated. The update type stipulates when the matchcode is to be updated and how it is to be done. The update type also specifies which method is to be used for Building matchcodes. You must specify the update type when you define a matchcode ID.

53. Can matchcode object contain Ids with different update types?
Yes.

54. What are the update types possible?
The following update types are possible:
• Update type A: The matchcode data is updated asynchronously to database changes.
• Update type S: The matchcode data is updated synchronously to database changes.
• Update type P: The matchcode data is updated by the application program.
• Update type I: Access to the matchcode data is managed using a database view.
• Update type L: Access to the matchcode is achieved by calling a function module.

55. What are the two different ways of building a match code object?
A match code can be built in two different ways:
• Logical structure: The matchcode data is set up temporarily at the moment when the match code is accessed. (Update type I, k).
• Physical Structure: The match code data is physically stored in a separate table in the database. (Update type A, S, P).

56. What are the differences between a Database index and a match code?
• Match code can contain fields from several tables whereas an index can contain fields from only one table.
• Match code objects can be built on transparent tables and pooled and cluster tables.

57. What is the function of a Domain?
• A domain describes the technical settings of a table field.
• A domain defines a value range, which sets the permissible data values for the fields, which refers to this domain.
• A single domain can be used as basis for any number of fields that are identical in structure.

58. Can you delete a domain, which is being used by data elements?
No.
59. What are conversion routines?
• Non-standard conversions from display format to sap internal format and vice-versa are implemented with so called conversion routines.

60. What is the function of a data element?
A data element describes the role played by a domain in a technical context. A data element contains semantic information.
61. Can a domain, assigned to a data element be changed?
Yes. We can do so by just overwriting the entry in the field domain.

62. Can you delete data element, which is being used by table fields.
No.

63. Can you define a field without a data element?
Yes. If you want to specify no data element and therefore no domain for a field, you can enter data type and field length and a short text directly in the table maintenance.

64. What are null values?
If the value of a field in a table is undefined or unknown, it is called a null value.

65. What is the difference between a structure and a table?
Structures are constructed the almost the same way as tables, the only difference using that no database table is generated from them.

66. What is a view?
A view is a logical view on one or more tables. A view on one or more tables i.e., the data from a view is not actually physically stored instead being derived from one or more tables.

67. How many types of Views are there?
• Database View
• Help View
• Projection View
• Maintenance View

68. What is Locking?
When two users simultaneously attempt to access the same data record, this is synchronized by a lock mechanism.

69. What is database utility?
Database utility is the interface between the ABAP/4 Dictionary and the underlying the SAP system.

70. What are the basic functions of Database utility?
The basic functions of database utility are:
• Create database objects.
• Delete database objects.
• Adjust database objects to changed ABAP/4 dictionary definition.

71. What is Repository Info. Systems?
It is a tool with which you can make data stored in the ABAP/4 Dictionary available.

Saatnya ABAP Workbench

Leave a comment

Motivasi saya belajar SAP karena ngiler ama salarynya. Akan tetapi kalau motivasinya hanya sekedar hal itu, akan kurang kuat. Kenapa?. Sudah 5 tahun ini saya bekerja dengan menggunakan java, dan dapat dipastikan company akan lebih menghargai java saya dibandingkan skill ABAp/SAP yang baru saya pelajari dan belum pernah terlibat dalam project real di SAP. Artinya di SAP saya memulai lagi dari nol dan company akan membayar saya murah. Kemudian, saya coba berpikir bagaimana ABAp yang ‘kadong’ saya pelajari dan intesif ikut kursus tidak menurun semangatnya?. Saya akhirnya mengubah niat/motivasi dari sekedar peningkatan salary menjadi “Investasi” :D , entah dunia atau akhirat.

Setelah ikut SAP training yng diadakan oleh komtek, dimulau dengan SAP20 (cross functional) dan sekarang sudah 2 minggu ini ikut KTAB400 (Intriduction ABAP workbench). hal yang menarik dari training ini adalah waktu yang tidak terikat, dengan disertai assignment yang akan membiasakan kita bekerja dalam lingkungan Project SAP.

KTAB400 training ini peserta diberikan 5 session assignment dengan goal dari assignment berbeda-beda.

Target insyaAllah sebelum bulan ini berakhir KTAB400 selesai dan mahir dengan sintax2 ABAP :D , aamiin

 

Site MAP ABAP Newbie

Leave a comment

Catatan kecil pengganti kertas yang tercecer :D

Netweaver expired

Leave a comment

Salam

Lagi bersiap-siap untuk ikut training KTAB400. Salah satu syaratnya adalah dapat menginstall Netweaver di komputernya masing-masing.

Saya coba2 untuk memundurkan tanggal system/komputer sebelum saya nyalakan/start SAP( melalui SAP Management Console).
Dan Alhamdulillah bisa login.

Hanya saja saya tidak tau apakah memundurkan jam system dalah cara yang baik?

Ternyata hal ini tidak disarankan, Cara yang lebih baik adalah segera mengupdate license setelah menginstall dan sebelum expired dengan mengisi form yang ada di http://service.sap.com/sap/bc/bsp/spn/minisap/minisap.htm.

Setelah itu email kita akan menerima license yang baru dan kita bisa update dengan menggunakan file yang mereka kirim.

Oh ya, dalam form tersebut ada isian no mesin. No ini bisa didapat dengan meng execute trabsaction SLICENSE, dan pada saat update licensi juga menggunakan SLICENSE transaction code juga.

Semoga berjaya

Install Netweaver 7.0, prasyarat training

1 Comment

Setelah dua kali menginstall Netweaver 7.2 trial akhirnya aku mencoba Netweaver 7.o  Trial.

Toh target nya buat belajar ABAPnya bukan webdyno (yang ada di 7.2). Di Netweaver 7.2 saya mengalami kesulitan untuk merestart server, ada service yang tidak bisa naik2 setelah komputer direstart :D .

Untuk Netweaver 7.0, berikut screen shot yang bisa saya sajikan.

Gambar dibawah ini  adalah setelah Netweaver terinstall

Kemudian SAPMMC yang digunakan untuk management server

SAPGUI connection setting

Initial data yang bisa digunakan untuk latihan.

Demikiaaaan sajaaa.

Yuk tetep semangat dan effective.

Untuk apa ABAP (Bukan Bau mulut ya)?

Leave a comment

Hal ini bukan murni tulisan saya, akan tetapi nyomot dari blog tapi lupa blog mana  :D

ABAP digunakan untuk:

1. Membuat Report (ABAP report)
Walaupun SAP sudah menyediakan report2 standard. Namun terkadang report standard tersebut belum memenuhi kebutuhan customer yang sangat specific dan bervariasi.
2. Membuat form (SAP form)
Form adalah dokumen output dari SAP, contohnya adalah hasil cetak invoice, purchase order.
3. Menyesuaikan proses bisnis. (user exit, enhancement)
Terkadang proses bisnis yang sudah disediakan oleh SAP belum mencukupi. Contohnya, di perusahaan saya untuk membuat sales order, pembuatan sales order untuk material2 tertentu hanya bisa dilakukan untuk order type tertentu, hal ini tidak di-cover oleh SAP standard.
4. Memperbaiki bug SAP (implement SAP notes)
SAP memang tidak bersih dari bug, hal ini dimaklumi melihat perkembangan SAP yang terus menerus dan juga tingginya kompleksitas program. Untuk itu SAP menyediakan service berupa SAP notes. SAP notes adalah catatan2 tentang problem2 di SAP berikut solusi-nya.

Untuk orang macam kita yang masih newbie ke ABAP tahapan yang disarankan adalah:

1. Explore Data Dictionary —> Go to transaction code SE11

2. Create ABAP Report —–>Go to transaction code SE38

Mentok dot com About ABAP Workbench

Leave a comment

Lagi Mentok
Mungkin gambar ini bisa mengispirasi

dan

Apa itu ABAP ?

Leave a comment

Ditulis oleh Kang Yayan (http://www.komputer-teknologi.net/)

ABAP adalah salah satu bahasa pemrograman generasi keempat (4GL) pertama kali dikembangkan pada tahun 1980an. Pada awalnya diperuntukan sebagai bahasa untuk laporan (Report language) khusus untuk SAP R/2 (Sistem SAP yang jalan di komputer mainframe) yang merupakan platform yang memungkin perusahaan besar mengembangkan aplikasi bisnis untuk logistik dan keuangan.

ABAP sebelumnya diambil dari singkatan dalam bahasa Jerman Allgemeiner Berichts aufbereitungs prozessor yang dalam bahasa Inggris berarti generic report preparation processor, yang kemudian berubah namanya menjadi Advanced Business Application Programming.

ABAP adalah bahasa pemrograman pertama yang memasukkan konsep Logical database (LDBs), yang memberikan abstraksi tingkat tinggi dari database tingkat dasar (dikenal pada manajemen sistem database). Pada awalnya ABAP diperuntukan bagi pengguna biasa (end-user) sehingga dapat memanipulasi datanya sendiri, akan tetapi bahasa pemrograman generasi keemapat ini (4GL) sangat kompleks untuk pengguna biasa, sehingga kemampuan programman yang cukup masih diperlukan untuk membuat program ABAP.

ABAP saat ini digunakan sebagai dasar pembuatan aplikasi client-server SAP R/3. SAP pertama kali meluncurkan produk R3 tahun 1992.
Perkembangan teknologi computer client-server yang terus melaju dengan pesat sepanjang tahun 1990an, banyak sekali aplikasi SAP dikembangkan menggunakan bahasa ABAP, hingga tahun 2001 saja hampir semua fungsi-funsi dasar system SAP R/3 ditulis dalam bahasa ABAP.
Tahun 1999 SAP meluncurkan Object Oriented Extention atau perluasan bahasa Object Oriented untuk ABAP yang dinamakan ABAP Objects yang dikeluarkan bersamaan dengan SAP R/3 Release 4.5.

Platform pengembangan terkini yang dikenalkan SAP saat ini adalah NetWeaver yang mendukung ABAP dan Java.

Berdasarkan pengalaman penulis sebagai konsultan SAP, bahasa pemrograman ABAP ini akan tetap bertahan dan terus dikembangkan oleh SAP, bahkan ada kecenderungan SAP akan memasukkan fitur-fitur yang dimiliki bahasa Java kedalam ABAP, dengan menguasai bahasa pemrograman ABAP yang merupakan salah satu kunci mengenal sistem SAP dan tentu saja akan menambah manfaat yang besar khususnya di dunia pasaran kerja khususnya SAP yang saat ini masih memerlukan pakar teknologi informasi yang menguasai ABAP.

Catatan Kecil SAP 10

Leave a comment

Accounting Business Scenario: External Accounting

Fungsi accounting adalah menyediakan dokumen dan informasi untuk perusahaan tersebut atau pihak luar yang berkepentingan terhadap hal tersebut.
External accounting lebih cenderung untuk menyediakan informasi yang dibutuhkan oleh pihak luar.
Internal accounting cenderung pada kebutuhan laporan dalam internal perusahaan.

External Accounting —> Financial Accounting Component
Internal Accounting —> Controlling Component
Treasury and Project System —> Menggunakan methods dan data dari kedua komponen diatas

External Accounting:
Bagaimana Organizational Structures dalam External Accounting?
Sebutkan dan jelaskan promary functions yang tersedia dalam external accounting!

Bagaimana Organizational Unit dalam External Accounting.
Chart of accounts : Structured List of general ledger accounts. Sebuah Chart of Account memungkinkan di assigned pada lebih dari satu Company Code.
Company Code : Independent Unit dalam structure enterprise yang memiliki kerangka untuk financial accounting.
Business Area

Komponen Utama Financial Accounting adalah:
1.General Ledger dan subledger accounting (Account Payable, Account receivable, and Asset Accounting), and consolidation.
2. Treasury Management

General Ledger = Balance Sheet + Profit * Loss
Semua aktivitas dari ===> Human Resources + Inventory management + Purchasing + Sales ==> Tercatat dalam Buku Besar atau General Ledger

Account Receivable
* Cash Management, Sales Order Processing artinya adalah liquidity forecash dalam cash management yang senatiasa diupdate. The Cash Position diupdate pada saat Payment diterima.
* Account Receivable Sub-Ledger, Credit limit Check dilakukan secara otomatis setiap saat sales order dibuat.
* General Ledger, Pada saat deliveries pada customer dibuat, balances secara dinamis diupdate. Pada saat billing customers, Receivable dan revenues untuk invoices meningkat.

Older Entries

Follow

Get every new post delivered to your Inbox.