BSI TaxFactory Cyclic J and the New RFC Wrapper
No doubt by now you’ve seen some announcements regarding the end of support for the “classic” RFC Library and how this impacts BSI TaxFactory. As a BSI customer, you probably received an email from BSI Support about this. Either way, if you haven’t already, I encourage you to have a look at Note 2219445 (BSI TaxFactory wrapper code redesign – old RFC Library going out of maintenance).
You’ve probably also seen some discussions around the subject of just how to obtain and install or upgrade this new RFC Library, and if you’re like me, perhaps even been a little confused as to just what you need to do.
Take heart! It’s not that difficult. At the core of it, this is just another Cyclic Update, with only a couple easy extra steps. The basic process for applying a Cyclic Update has not changed from the procedure I described in BSI TaxFactory 10 Cyclic Update. Here I’ll just go over the few extra steps.
Remember the deadline for maintaining support: 31 March 2016. So plan on getting this through your DEV and QAS track and into production before that date.
Prerequisite SAP Note
Before you update TaxFactory to Cyclic J, it is necessary to apply Note 2242290 (BSI: Changes for Cyclic J of BSI TaxFactory 10.0) to your ECC system. This is due to some changes in the structure of the data that TaxFactory sends back to ECC once this Cyclic is applied. Note, it’s perfectly fine to apply this Note at any time before you apply the Cyclic, as it is backwards-compatible with earlier Cyclics.
Apply the Cyclic
Now apply Cyclic J to your TaxFactory system using the same standard procedure outlined in BSI TaxFactory 10 Cyclic Update. Only a few items are different from the update to Cyclic F described in that blog.
During the TF10j client update, you may notice the message:
Querying Tomcat7-PRD failed (0). Waiting…
Do not be alarmed! This is normal. What is happening here is that the installer is stopping the Tomcat service and is querying to determine when it has stopped before going on to delete files. The query “fails” until it detects a successful stop, which may take a moment or two. Once the service stops, the query succeeds and the installer proceeds. Otherwise, this part is the same as previous TF10 client cyclic updates.
Again, this process is mostly the same, but here there is one additional step to take. Also, you might find it necessary to shutdown the SAP Gateway (via SAPMMC) before copying the new executables into the working folder, as the gateway process may hold a lock on the tf10server.exe file.
You will notice two new files that didn’t exist in prior cyclics: tf10server_new.exe and tf10serverdebug_new.exe. These are the versions that use the new NetWeaver RFC Library. By default, BSI is providing them as optional files, while the default files still use the Classic RFC Library — the one that is being deprecated.
However, we don’t want to use the old library, we want the new one, so the procedure is to rename the files:
- Rename tf10server.exe and tf10serverdebug.exe to tf10server_old.exe and tf10serverdebug_old.exe, respectively.
- Rename tf10server_new.exe and tf10serverdebug_new.exe to tf10server.exe and tf10serverdebug.exe, respectively.
Cyclic Data File
Don’t forget, to launch the new client in your browser, you must edit your favorite or shortcut URL. The new URL will look something like this:
Notice the part in bold, where the letter indicator of the Cyclic is included. That’s the part you must change.
Load the cyclic data file as you would normally. You will notice a new feature in the client for monitoring the manual load status, which is a nice addition.
New RFC Library
Here comes the fun part. At this point, nothing works. Well, ok the TF client works, but you don’t have any working communication between ECC and TaxFactory, and not just because you haven’t restarted your Gateway yet. If you’re like me, you probably assumed that your fancy 7.42 Gateway would have the new RFC functions embedded. Nope. Then you might assume that you can use the 7.42 version of sapnwrfc.dll, etc. Maybe, but I had a devil of a time trying to make that work.
You might assume the readme.txt that came with the new Cyclic J server executables would have detailed installation instructions. Not really. It just says to put the new libraries in the directory where tf10server.exe is running, but doesn’t say which libraries. Note 1025361 (Installation, Support and Availability of the SAP NetWeaver RFC Library), which everything points to, does give some hints, but it isn’t very explicit in its instructions. Indeed, as it kept pointing to a 7.20 version of the RFC Library, not to mention a full SDK, and it seemed that a 7.42 version was available, I figured the Note must be out of date.
I spent more than a day or two trying to make it work with a 7.42 version of sapnwrfc.dll, fruitlessly.
There might indeed be a way to make the 7.42 dlls work, but for our purposes here you do in fact require the 7.20 version mentioned in the Note.
Download the RFC Library
To obtain the correct library, open up Support Packages and Patches | SAP Support Portal, and under Software Downloads… Support Packages and Patches select Browse Download Catalog. Navigate to Additional Components… SAP NW RFC SDK… SAP NW RFC SDK 7.20… <server OS platform, e.g. “Windows on x64 64bit”> and select the latest patch level of the NetWeaver RFC Library (at this writing, it is patch 38 published on 11/13/2015). Download the file and unpack it with SAPCAR as you normally would.
Install the RFC Library
The installation is simple. You simply copy the appropriate files to the appropriate folder. To find the files you need, drill into the folder you unpacked to \nwrfcsdk\lib and copy all the files you find there.
Paste these copied files into your working TaxFactory server folder (e.g. \BSI\TaxFactory\server), where your tf10server.exe executable resides.
That’s pretty much it!
You can restart your Gateway via SAPMMC now.
Test and Sync
Time to test that it works. A connection test to BSI10-US-TAX via SM59 should be successful. Good old RPUBTCU0 via SA38 should be successful. And HRPAYUS_SYNC_TAX_DT should correctly report the new Cyclic and appropriate Regulatory update for Level in BSI Client.
However, you still don’t have Cyclic J in your ECC system. For that you’ll need to run a sync, even if your Regulatory levels already match. And, as usual after a sync in DEV, you’ll need to create both cross-client and client-specific transports to migrate the new status to QAS and PRD.