Sep
20
2006

PHP – SAP Connection 2

Setelah di bahas pada materi pertama SAP – PHP Connection 1 mengenai masalah yg ditemukan pada pengembangan aplikasi ERP di perusahaan pengguna ASP. Sekarang kita akan memasuki hubungannya dengan PHP.

SAP sebenarnya menyediakan khusus koneksi2 utk berkomunikasi dgn Java dan Net, misalnya SAP Java Connector atau SAP NET Connector. Dan diluar itu sebenarnya tdk disediakan, tetapi API yg ada dpt di gunakan utk koneksi ke bahasa pemograman lainnya seperti PHP, Ruby, Phyton, VB/ASP,dll. Koneksi yg dilakukan dengan menggunakan SAP Remote Function Call (SAPRFC) yg berfungsi sbg client untuk memanggil SAP Function misalnya dengan PHP Command.

SAPRFC

Ketika saya mendapat pekerjaan utk membuat semacam aplikasi kecil yg dpt terintegrasi ke SAP utk proses Sales Order, saya memilih PHP utk mengembangkannya . Terima kasih kepada Eduard Koucky ( http://saprfc.sourceforge.net )yg telah mengembangkan extension modul PHP-SAP dgn SAPRFC. Instalasi dan pemakaiannya mudah menurut saya sebagai newbie di PHP. Contoh2 yg disediakan juga sangat membantu utk meng-generate kode2 yg kita butuhkan. Class ini dapat bekerja di PHP4 & 5.
Instalasi Windows

- Pastikan PHP sdh berjalan baik di IIS atau Apache.

- Instal SAP GUI / SAP Client software (SAP GUI 6.20)
- Download API & class dr http://saprfc.sourceforge.net . Lalu extract dgn buat directory baru saprfc, misalnya http://localhost/saprfc.

- Letakan file php_saprfc.dll sebagai modul extension ( C:\\php\ext ) dan tambahkan dlm php.ini (extension=php_saprfc.dll).

- Copy file librfc32.dll dr CD installer SAP GUI ke system C:\\Windows\system32.

- Restart Web Server dan cek phpinfo apa sudah terinstal.

SAPRFC on phpinfo

Instalasi Linux

Pengalaman saya untuk instal di Linux sebagai newbie tidak terlalu sulit juga asal kita mengikut petunjuk instal yg ada serta sedikit pengalaman instal Linux. Spesifikasi Linux yg pernah saya gunakan adalah Centos 4 dan Debian Sarge. Saya menggunakan minimal installer di Linux.
- Instal Apache dan PHP

- Install juga php_devel

- Instal GNU Tools (autoconf, automake, flex, libtool, gcc, m4, make)

- Instal compat-libgcc , compat-libstdc++……

- Kita memerlukan SAPSDK yg dpt diperoleh dr CD SAP yg terletak pada directory Linux/Unix dan dapat di temukan file RFC.SAR dan SAPCAR. SAPCAR adalah aplikasi dekompresi file dari RFC.SAR. Cara melakuka extract dgn mengetik ./SAPCAR -xvf RFC.CAR.

- Letakan hasil extract tadi ke directory /usr/sap/rfcsdk atau alternatif lain dalam /usr/local/rfcsdk atau /opt/rfcsdk tergantung dr instalasi yg dimaui.

- Download saprfc-..tar.gz, lalu di extract

$ gunzip -c saprfc-$VERSION$.tar.gz | tax xf -
$ cd saprfc-$VERSION$
$ phpize
$ ./configure
$ make
$ make install

- Restart Apache dan cek dgn phpinfo

Testing………..bersambung…..

About the Author:

36 Comments + Add Comment

  • i could’t find the php_saprfc.dll at the site given. can u please email me the file as attachment. i do not know where else to look for..

  • Download saprfc class from http://saprfc.sourceforge.net and php_saprfc.dll is included on zip/tar file. Make sure your download completed.

  • Hi,

    Mohon tanya, saya sudah sampai tahap “configure”, namun muncul error seperti ini:

    [root@eproc saprfc-1.4.1]# ./configure
    checking for egrep… grep -E
    checking for a sed that does not truncate output… /bin/sed
    checking for gcc… gcc
    checking for C compiler default output file name… a.out
    checking whether the C compiler works… yes
    checking whether we are cross compiling… no
    checking for suffix of executables…
    checking for suffix of object files… o
    checking whether we are using the GNU C compiler… yes
    checking whether gcc accepts -g… yes
    checking for gcc option to accept ANSI C… none needed
    checking whether gcc and cc understand -c and -o together… yes
    checking if compiler supports -R… no
    checking if compiler supports -Wl,-rpath,… yes
    checking build system type… i686-redhat-linux-gnu
    checking host system type… i686-redhat-linux-gnu
    checking target system type… i686-redhat-linux-gnu
    checking for PHP prefix… /usr
    checking for PHP includes… -I/usr/include/php -I/usr/include/php/main -I/usr/include/php/TSRM -I/usr/include/php/Zend -I/usr/include/php/ext
    checking for PHP extension directory… /usr/lib/php/modules
    checking for PHP installed headers prefix… /usr/include/php
    checking for re2c… no
    configure: WARNING: You will need re2c 0.9.11 or later if you want to regenerate PHP parsers.
    checking for gawk… gawk
    checking for saprfc support… yes, shared
    configure: error: Please install Non-Unicode SAP RFCSDK 6.20 or 6.40 – I cannot find saprfc.h
    [root@eproc saprfc-1.4.1]#

    kira-kira, apa kesalahan nya ?

    - Bagaimana instalasi re2c (menggunakan yum)?
    - Saya coba cari di web SAP spt yg disarankan tetapi tdk menemukan sdk tsb. DImana bisa mendapatkan selain dari CD instalasinya?

    NB: saya menggunakan centos 4 :

    [root@eproc usr]# uname -a
    Linux serverlokal 2.6.9-42.0.3.plus.c4smp #1 SMP Fri Oct 6 12:16:15 CDT 2006 i686 i686 i386 GNU/Linux

    Tolong jika ada yg bisa memberi pencerahan…

    terima kasih banyak..

    JD.

  • Menurut saya mungkin kamu belum extract SAPRFC SDKnya atau salah meletakan foldernya. SDKnya dpt jg di dowload di http://service.sap.com/swdc di dlm Patches for SAP WEB AS – SAP WEB AS 6.20 – SAP RFC SDK. Atau dr CD SAP. Utk download dr website SAP perlu login user SAP. Default foldernya adalah usr/sap/rfcsdk atau dibuat dulu ( #mkdir /usr/sap). Selanjutnya extract file SAP dan folder rfcsdk dicopy ke usr/sap. Selanjutnya coba jalankan kembali configure-nya

  • Wah, saya tidak dpt menemukan file:
    RFC.SAR

    yg paling mirip adalah:

    LIBRFC.SAR librfc
    Support Package SAP KERNEL 6.10 32-BIT Linux on IA32 32bit #Database independent

    apakah file tsb bisa dipakai untuk Centos di i386 server?

    untuk SAPCAR file yg paling mirip adalah

    SAPCAR_0-10003591.exe SAPCAR
    Support Package SAP KERNEL 7.00 64-BIT Linux on IA64 64bit #Database independent

    sebenarnya apakah hanya 2 file tersebut yg dibutuhkan?

    Saya sudah ubek2 dari web SAP menggunakan user/id yg ada.

    Apakah bisa mendapatkan kopinya ke email saya?

    Thanks banyak… pusing nih…

  • Di website SAP saya lupa directorynya, males carinya dgn kondisi internet lagi lambat kayak gini. Tetapi utk di DVD SAP kamu bisa cari di DVD Software SAP-GUI Front End 6.20 – SDKs(UNIX). Kamu bisa browse ke direktori SDK/UNIX/LINUX_32. Kalau saya boleh tahu SAP R/3 Kamu pake versi berapa? Setahhu saya ini jalan utk 4.6C/D, saya belum tahu apa bisa utk versi 4.7 atay MySAP.

  • Hai mas brachman,..

    Thanks for guide nya.

    Saya menggunakan versi ECC-6

    Saya login ke download page nya:

    Note: WEB AS 6 sudah tidak ada di support SAP lagi. maka saya cari alternatif, dan ketemu:

    Support Packages and Patches” — > SAP Frontend Components

    kemudian ada pilihan:

    SAP Frontend Components

    * SAP GUI FOR WINDOWS
    * SAP GUI FOR JAVA
    * SAP ITS
    * SAP IGS

    Saya butuh saran, yg suitable untuk case ini adalah yg SAP ITS or SAP IGS

    SAP ITS isinya:
    ============

    Summary

    SAP Internet Transaction Server is a middleware component that provides Web access for several SAP products like SAP R/3 Enterprise, SAP Supplier Relationship Management (SRM), SAP Employee Self Services (ESS), SAP Enterprise Buyer Professional (EBP) and others. On this page you can find all kinds of information on patches (collections of error corrections) for SAP ITS.

    * SAP ITS 6.20
    + Linux on IA32 32bit
    + Linux on x86_64 64bit
    + Solaris on SPARC 64bit
    + Windows Server on IA32 32bit
    + Windows Server on x64 64bit

    SAP IGS isinya:
    ============

    SAP Internet Graphics Service (IGS) Maintenance Strategy
    IGS – Generating Graphics for SAP

    Summary

    The IGS is a server-based engine for generating content (graphical or non-graphical) based on data from an SAP- or external system.

    The IGS is being developed with the following objectives:

    * Platform independence. Until release 6.40 the IGS is installed separately from the Web Application Server (WAS). This standalone IGS runs only on Windows platforms. As of release 6.40 it is generally installed along with the WAS (integrated IGS). But for release 6.40 it can still be installed standalone if desired.

    Note for BW: BW releases

  • … wah terpotong.

    SAP IGS 6.40

    * SAP IGS 6.40
    + AIX 64bit
    + HP-UX on IA64 64bit
    + HP-UX on PA-RISC 64bit
    + Linux on IA32 32bit
    + Linux on IA64 64bit
    + Linux on Power 64bit
    + Linux on x86_64 64bit
    + Linux on zSeries 64bit
    + OS/400 V5R2M0
    + Solaris on SPARC 64bit
    + Solaris on x64_64 64bit
    + TRU64 64bit
    + Windows Server on IA32 32bit
    + Windows Server on IA64 64bit
    + Windows Server on x64 64bit

    Fyi, server yg digunakan adalah: CENTOS 4, i386, 32, IBM x-series 100, prosesor Intel.

    Apakah saya hrs men-download yang “Linux on IA32 32bit”?

    Thanks

  • Saya mau menggunakan servernya adalah BSD unix, yaitu FreeBSD 6,2

    nah ketika saya ./configure file saprfc tersebut, keluar error yang dimana itu semua mengenai saprfc.
    apakah ini menandakan FreeBSD tidak disupport oleh saprfc dan rfc sdk 6.40 linux 32 bit??

  • maaf, ./configurenya berhasil tanpa warning atau error, tapi waktu make nya error:
    /root/saprfc-1.4.1/saprfc.c:56: warning: braces around scalar initializer
    /root/saprfc-1.4.1/saprfc.c:56: warning: (near initialization for `saprfc_functions’)
    /root/saprfc-1.4.1/saprfc.c:56: warning: initialization from incompatible pointer type
    /root/saprfc-1.4.1/saprfc.c:56: warning: excess elements in scalar initializer
    /root/saprfc-1.4.1/saprfc.c:56: warning: (near initialization for `saprfc_functions’)
    /root/saprfc-1.4.1/saprfc.c:56: warning: excess elements in scalar initializer
    /root/saprfc-1.4.1/saprfc.c:56: warning: (near initialization for `saprfc_functions’)
    /root/saprfc-1.4.1/saprfc.c:56: warning: excess elements in scalar initializer
    /root/saprfc-1.4.1/saprfc.c:56: warning: (near initialization for `saprfc_functions’)

    dan banyak lagi

  • saya melakukan proses instalasi di windows. Semua langkah sudah saya lakukan. Tapi ketika saya cek phpinfo, saprfc nya tetap gak ada?? kira2 saya harus trace bagian yang mana?
    fyi, saya mendonlod dari link berikut : http://downloads.sourceforge.net/saprfc/saprfc-1.4.1-5.2.2.Win32.zip?modtime=1178822546&big_mirror=0

    SAP sudah terinstal, dan libsaprfc.dll sudah ada di C:\\Windows\System32

  • punten, sudah terkoneksi ^^. Masalahnya hanya pada ketidaksesuaian versi SAPRFC dengan PHP yang saya gunakan. Saya menggunakan PHP versi 5.2.0. tadinya SAPRFC untuk versi tersebut tidak tersedia, tapi ketika hari ini saya cek, sudah tersedia:
    http://downloads.sourceforge.net/saprfc/saprfc-1.4-5.2.0.Win32.zip?modtime=1163927291&big_mirror=0

    lalu saya ulang lagi semua step, dan berhasil ^^

    mohon terus di-update untuk topik PHP-SAP connection ini
    terima kasih…

    regards,

  • [...] Posted on September 4th, 2007. PHP – SAP Connection 2 [...]

  • Mas, bisa pinjem ID n passw ga buat masuk ke http://service.sap.com/swc?? Saya ga punya hak akses buat download…
    Thx before…

  • mas…saya buat aplikasi untuk membuat sales order dari php tapi selalu ada pesan kesalahan ” insert sold to party or ship to party”

    saya coba cari field tersebut di BAPI_SALESORDER_CREATEFROMDATA2 tapi tidak ada…
    saya minta tolong dikasih pencerahan ??

  • saya sudah sukses install SAPRFC di XP dan example jalan dengan sukses, tapi tujuan utamanya mau menghasilkan report yang sama dengan yang ada di SAP,..apakah harus merubah ABAP di SAP menjadi Function baru dan dipanggil lewat RFC ?
    tku

  • Jika sdh berhasil install, coba akses file saprfc_test.php yg ada di folder saprfc. Masukkan server SAP dan accountnya. Setelah sukses terkoneksi , kamu bisa coba function BAPI yg sdh tersedia misalnya SO_USER_LIST_READ . Di saprfc_test.php tersebut kamu bisa generate kode php yg digunakan utk function BAPI tsb.

  • PHP Version 5.2.2
    sapgui version 6.40
    namun saya da coba semua langkah2 diatas dengan saprfc yang version
    saprfc-1.4.1-5.2.2.Win32

    ga mau jalan tolong kasih solusinya donk
    please

  • Errornya apa?

  • not loaded

  • oh iya cari file saprfc.dsp nya dimana kakak senior
    iya errornya not loaded
    saya da ganti versi dibawahnya tetap aja gak mau jalan
    mohon bantuannya ya thanks

  • udah ketemu saprfc.dspnya,sekarang malah error sewaktu di compile

    errornya:
    LINK : fatal error LNK1181: cannot open input file “php5ts_debug.lib”
    Error executing link.exe.

    trus ada yang punya php_saprfc.dll nya untuk
    php version 5.1.6
    sapgui version
    MAIN MODULE INFORMATION:
    Name…………: saplogon.exe
    Description…..: SAP Logon for Windows
    Product version.: 640 Final Release
    File version….: 6405.5.19.1018
    Build number….: 830998

    SYSTEM INFORMATION:
    Operating system: Whistler 5.1 (2600)
    Service Pack 2

    lalu librfc32.dll nya version
    C:\WINDOWS\system32\LIBRFC32.dll
    Product-Version File-Version Size Date/Time
    6405.5.228 6405.5.228.5755 005406720 08.04.2008 13:55

    mohon bantuannya soalnya saya udah coba segala macam kagak bisa
    thanks

  • Spek yg pernah saya install di WinXP adalah :
    - SAPGUI 6.20
    - Apache2 + PHP 5.1.1
    - Download saprfc-1.4.1-5.1.1.Win32.zip

    Kalau saya cek di saprfc.sourceforge.net, file download yg disediakan tdk ada utk php-5.1.6. Yg tersedia download file adalah php versi 5.2.0 – 5.2.2 sampai 5.2.6. Keteranganannya jg bisa menggunakan SAPGUI 6.40. Menurut saya php_saprfc.dll atau librfc.dll nya tdk cocok. Gunakan installer php yg di download dr http://www.php.net, jangan gunakan XAMPP atau LAMP.

    Coba lagi yg lain dech. Mungkin memang butuh usaha yg lebih. :)

    Sudah coba dgn Linux?

  • Satu lagi.
    Pastikan install SAPGUI dulu di Windows yg di jadikan web server, dan cek semuanya berjalan dgn sempurna.

  • thanks banget ya
    da bisa nih
    klo pake iis bisa ga kak brachmansyah?
    saolnya yang kakak kasih kan pake apache ga pake iis.

  • Sudah lupa, apa pernah sukses atau tdk dgn IIS & PHP. Silahkan di coba dech nanti kasih tahu aku.

  • saya gunakan debian etch
    muncul error ketika extract

    debian:~# ./SAPCAR32 -xvf RFC_12-20002238_IA32.SAR
    ./SAPCAR32: error while loading shared libraries: libstdc++-libc6.1-1.so.2: cannot open shared object file: No such file or directory

    kenapa ya…..

  • kak saya mau tanya kalo buat ambil isi table dari function di sap bagaimana ya
    misal saya ambil function dari bapi_salesorder_getlist
    nah disitu kan ada import ada export ma tablenya.
    untuk munculin isi dari tablenya gimana ya kak kalo kita menggunakan php?
    mohon bantuannya ya

  • >>Error libstdc++-libc6.1-1.so.2

    Utk Debian/ubuntu kamu install paket
    libstdc++2.10-glibc2.2 sbg gantinya utk paket di Redhat/Suse compat-libstdc++-296

  • Sorry boss ga nemu untuk file saprfc.dsp5 ataupun saprfc.dsp, ada yg bisa bantu ga kasih tahu tuh file ada di mana??

    Sekedar info:
    Bagi teman2x yg ingin mencari file php_saprfc.dll dapat ditemukan disaprfc-1.3-4.3.2.Win32.zip, download versi tersebut.Untuk versi yg terbaru 1.4 file tsb emang ga ada. Ga tahu nih SAP kalo ngeluarin produk mesti ga ada yg beres.

  • Dear,

    Bapak pengelola situs ini Yth saya mohon bantuannya. Kebetulan beberapa minggu lalu saya baru membaca artikel tentang SAPRFC. Saya udah coba tapi koq pas di bagian compile saprfc.dsp, saya ga nemu file yg dimaksud. Saya udah coba mencari-cari, tapi tetep ga nemu. Kira2x di mana saya bisa menemukan file tsb ?

    Mohon bantuannya kalo2x ada bagian yg terlewatkan oleh saya. Kebetulan saya bukan seorang BASIS, saya hanya SAP PI developer yg tertarik dengan RFC.

    Regards

  • Hello, my group is just establishing our first website, searching and working out what is needed. This blog stuck out right away. I¡¯m fired up about this, and adore the design of your site. Are you able to let me know what ¡°theme¡± it is?

  • master, saya numpang nanya donk.

    saya mau koneksi PHP ke SAP pake SAP Router String, caranya gmn ya?
    kasi contoh donk.

    thanks.

  • saya sudah mengikuti aturandi atas
    - extractr saprfc 141ke directori localhost/saprfc
    - undate semua php.ini dengan menambahkan extension=php_saprfc.dll
    - copy librfc32.dll dari sap gui ke system32
    - restart apache
    namun hasilnya SAPRFC extension not loaded

    saya menggunakan
    - windows xp sp 3
    - xampp XAMPP [PHP: 5.2.6]
    - php 5.2.6
    - sap gui 710
    mohon pencerahan terima kasih

  • Saya cuma sekali coba utk install php-saprfc di windows XP sp2 + php 5.0.x + SAPGUI 6.40. Tetapi tdk pernah dipakai utk development apalgi production. The best practices yg saya gunakan dgn Centos 5.* dan php5.1.* (paket standard dr Centos 5).

    Selanjutnya SAPRFC saya setting pd server tersendiri dgn konfigurasi web service dgn NuPHP(PHP SOAP).

Leave a comment