Posts

Showing posts with the label sap

Debugging Web Services in Netweaver ABAP Server

Image
When running an application in the server, sometimes things doesn't goes the way it supposed to be, and we need to debug the application. For desktop application based on Java or .NET technology, it is just a matter of setting the breakpoint in IDE and then running the application with debug enabled. For web application based on ASP.NET, similar thing could be done by using Visual Studio and running the web application in debug mode using IIS Express. But what about web services that being served by SAP Netweaver AS ? This post shows how. Option 1. Execute - Debugging in SE37 This is the most standard way to debug ABAP remote function module. Just open up transaction SE37, type function module name, and click on the caliper icon  (For those who are not so into STEM stuffs, you could see this wiki page to know about calipers). Then fill in the input parameters before clicking on the Execute - Debugging icon. Now you are inside the ABAP debugger, and ...

SAP System Copy Lessons Learned

Image
Background Earlier this year I was part of a team that does System Copy for a 20 terabyte plus SAP ERP RM-CA System. And just now I am involved in doing two system copy in just over one week, for much lesser amount of data. I think I would note some lessons learned from the experience in this blog. For the record, we are migrating from HP/UX and AIX to Linux x86 platform. Things that go wrong First, following the System Copy guide carefully is quite a lot of work - mainly because some important stuff are hidden in references in the guide. And reading a SAP note that are referenced in another SAP note, that are referenced in Installation Guide.. is a bit too much. Let me describe what thing goes wrong. VM Time drift The Oracle RAC Cluster have time drift problem, killing one instance when the other is shutting down. The cure for our VMWare-based Linux database server is hidden in SAP Note 989963 "Linux VMWARE Timing", which is basically add a tinker panic 0 in the ...

'Cached' memory in Linux Kernel

Image
It is my understanding that the free memory in linux operating system, can be shown by checking the second line in the result of "free -m" : The first line, shows free memory that are really really free. The second line, shows free memory combined by buffers and cache. The reason is, I was told, that buffer and cache memory could be converted to free memory whenever there is a need. The cache memory is filled with the filesystem cache of the Linux Operating System. The problem is, I was wrong. There are several cases where I find that cache memory is not being reduced when there is an application needing more memory. Instead, a part of the application memory is being sent to the swap, increasing swap usage and causing pauses in the system (while the memory pages being written to disk). In one case an Oracle database instance restarted and the team thinks it is because the memory demand too high (I think this is a bug). The cache memory suppose to be reduced when we...

SAP System Copy Procedures

Background My company uses SAP AG's Enterprise Resource Planning software. It as a complex system, but being developed by Germans has its advantages, for example the have many documentation in the form of SAP Notes and other stuff. One of the challenging task in using SAP's ERP is system migration and cloning. Two purposes for the migration : first, if you want to move the system to another hardware. The second, if we need a cloned system to do stuffs without compromising your original system. SAP's term for migration activity is 'System Copy' Where to start To find out steps needed to be done for system copy, you could read this slideshare-hosted SAP document here  (Best Practices : SAP System Landscape Copy). For another definitive starting point, check out SAP's wiki DOC-8324 System Copy and Migration . I noted that SAP has released Software Provisioning Manager from which we could do system copy, my previous system copy experiences has not involved...

Invoking SAP ABAP Web Service

Sometimes we need to call function modules in SAP using Web Service techniques instead of plain RFC. For example, using PHP platform, we might want to avoid installing saprfc extension, and in .NET platform, we might want to avoid NetCo (SAP .NET Connector). It seems that calling SAP Web Services have several pitfalls. This post would inform you, the reader, so you would not make the same mistake as I did. Ensure the Web Service is configured with authentication At minimum, the web service must be invoked with SAP user id  and password. This means in two sides : the SAP web service must be prepared to receive SAP user id & password, and the calling client (.NET framework, for example) must send appropriate authentication headers (in my case, Basic authentication). For the first part, set the Authentication Method/ Transport Channel Authentication in transaction SOAMANAGER to require username/password. See http://scn.sap.com/docs/DOC-38805 for a screenshot. Failing to do ...

Installing Saprfc on CentOS 6

Our PHP web servers were powered by Linux, either Red Hat Enterprise Linux or CentOS Linux. Normally we use 5.x version of CentOS or RHEL, but after a few years running 5.x we decided that its now time to upgrade to 6.x. The first problem we encounter is that the SAPCAR utility shows loading shared libraries error. ./SAPCAR_1-20002087.EXE RFC_45-10003377.SAR ./SAPCAR_1-20002087.EXE: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory Checking the EXE file (actually is a Linux ELF binary but with misleading extension) with LDD, we find that : [root@myserver opt]# ldd SAPCAR_1-20002087.EXE         linux-gate.so.1 =>  (0x00e81000)         libdl.so.2 => /lib/libdl.so.2 (0x00d05000)         librt.so.1 => /lib/librt.so.1 (0x00317000)         libstdc++.so.6 => not f...

SAP Business (Data) Warehouse

Hari ini hari kedua pelatihan SAP Business Warehouse. Dulu sudah pernah dapat pelatihan serupa dari SAP, kini yang membuat materi dan menjadi instruktur ialah dari salah satu vendor SAP. Bagi yang belum pernah mencoba, silakan ketik tcode RSA1 di sistem SAP BW anda. Jika bener-bener terpasang BW, maka akan muncul Data Warehousing Workbench. Meskipun ini sudah kedua kalinya, saya temukan SAP BW itu sebenernya cukup rumit. Memang dia  flexibel. Kerumitan pertama ialah bahwa dia punya banyak istilah-istilah yang tidak umum, bahkan bagi orang yang biasa kustomisasi SAP dan develop aplikasi. Memang typical SAP ialah membuat istilah dan memaksa orang untuk memahaminya.. Tabel padanan berikut ini mungkin membantu : -> InfoObject karakteristik = Tabel. Di SAP BW kita bisa seenaknya membuat tabel dengan istilah 'InfoObject'. Ini adalah tabel tabel yang bisa dijadikan Dimension. Tabel tabel InfoObject bisa dijadikan sasaran foreign key dari tabel fact. -> PSA = Penampungan Sem...

Roles, Profiles dan PFCG di SAP

Ini adalah sebuah overview mengenai sistem authorization di SAP. Ketika seorang user (mencoba) melakukan suatu hal di sistem SAP, misalnya membuka transaksi screen ber-kode tertentu, sistem akan memeriksa apakah user tersebut memiliki authorization object tertentu. Jika authorization object tersebut dimiliki, maka diperiksa juga apakah nilai field-fieldnya match atau tidak dengan properti dari operasi yang akan dilakukan. Sebuah authorization object berisi beberapa field, field ini dapat diisi * (wildcard), multiple value ataupun single value, dan logika matching ini disesuaikan dengan jenis value yang diisi. Field diisi * berarti match dengan semua operasi. Field berisi multiple value berarti match jika properti operasi sama dengan salah satu value yang ada. Role merupakan kumpulan dari Menu dan Authorization Object. Ada pemisahan yang agak kurang natural antara Role dan Profile, di mana Profile yang dimiliki user-lah yang dicek oleh sistem authorization di SAP. Ketika Role disave, ia...