Sabrix® Application Suite
Sabrix Integration for SAP
(Basic US/CA Version)
Release Update
Version 5.0.5.0B
This document includes a release summary, functional changes relevant for financial professionals and technical changes helpful to IT staff, including download and installation instructions.
QUICK LINKS
Functional Changes Technical Changes Documentation Changes Installation Previous Versions
Problem: The Sabrix Integration for SAP was switching the company role from buyer to seller for purchases independent of the ship from and ship to country.
Solution: The determination to switch the buyer or seller role is now based on the Ship From and Ship To country during an AP transaction. The first two characters of the tax jurisdiction code are used to determine country and the role will only be switched if it is a US to US transaction. Specifically the rule is as follows:
• If SAP TXJCD_SF = US and TXJCD_ST = US and APAR_IND = V and Tax Type = 0 or Blank, the Sabrix Company Role = S (Seller)
• If SAP TXJCD_SF = US and TXJCD_ST = US and APAR_IND = V and Tax Type = 1, then Sabrix Company Role = B (Buyer)
Problem: The Sabrix Integration for SAP was not overriding the city passed by SAP with the city returned by Sabrix.
Solution: The JCo Response has been updated to return the city from Sabrix when the city_flag=false and the override_supplied_city=true.
Problem: When a freight line exempt amount was added, it contained a reference to the product line causing the product line to be set with the same values; therefore, the tax amounts were being doubled.
Solution: A Deep Copy of InputLine Constructor has been created and the freight line now contains a separate reference and will not share any data with the product line.
Problem: When adding the freight line and the product line back into one SAP tax jurisdiction level rounding errors could occur.
Solution: When adding the freight and product line together the tax rate isn’t calculated if both lines have the same rate, instead the single one rate is used. When the two tax rates aren’t the same an effective tax rate is calculated.
JCO 3.0
Problem: The hard coding of Canada provinces was preventing the Sabrix Integration for SAP from passing information into the <PROVINCE></PROVINCE> field if the abbreviation did not match as mapped.
Solution: The hard coded province mappings have been removed and the SAP 2-digit code is being used.
Problem: The UNIQUE_INVOICE_NUMBER was not concatenating with the external_company_id_prepend value.
Solution: The external_company_id_prepend property setting value has been added from the sabrixconnection.properties file and the UNIQUE_INVOICE_NUMBER is now concatenating.
Problem: An error message did not display when the number of lines in the invoice header did not match the number of rows in the SAP line item table.
Solution: An error message has been added so that when the number of lines in the invoice header does not match the number of rows in the SAP line item table, the error message will be displayed.
Problem: An error message did not display when there was no JCoResponse for RFC_Determine_Jurisdiction.
Solution: An error message has been added and will display when there is no JCoResponse for RFC_Determine_Jurisdiction.
Problem: Deployments on IBM AIX or z/OS servers using the IBM JVM encountered problems in parsing a UTF-8 formatted file. The IBM JVM was ignoring the language in the java code and overrode it with the default language of the user running the code.
Solution: Ensure the "export LANG=da" parameter is set.
Problem: The JCo Request was using a logger that was created for a JCo Response.
Solution: The logger has been updated to use the correct class name when creating a log4j object.
Problem: The BlowfishJ license has changed.
Solution: The utility class, Crypto, has been modified to use Java library instead of BlowfishJ. This change requires clients who have encrypted their user/passwords new with the Sabrix provided tool, already encrypted passwords cannot be used. The new encryption provides the same strict levels of security.
Problem: SAP qRFC update audit calls with severe errors were not failing in SAP.
Solution: An ABAP Exception is now sent to SAP if a severe error from the Sabrix Solution is received when processing an update or force. Error transactions are sent to the process queue and can be reprocessed using standard SAP processes
Tax Rate Code Field
Problem: As a result of a cut and paste error, when tax rate code was added as a parameter in the tax mappings file, some mappings where incorrect.
Solution: The tax mapping code has been cleaned up and unit tested to cover each of the 128 possible test cases.
Daily Log File
Problem: The daily log file rolling DatePattern parameter in the Log4J configuration file needs to be fixed.
Solution: The appender ref has been change to: <appender-ref ref="DailyRollingFileAppender"/> from RollingFileAppender and the log is now rolling daily.
Country/City Default Value
Problem: The default value for country_flag and city_flag is set to True in the sabrixconnection.properties file.
Solution: The default values for the county_flag and city_flag are now set to False.
The naming of the SabrixConnection for SAP has been changed to Sabrix Integration for SAP.
Problem: The SBXIntegrationSAP5.x install guide was not updated with the new values for HOST_SYSTEM and CALLING_SYSTEM_NUMBER.
Solution: SBXIntegrationSAPInstallGuide5050B.pdf has been updated to reflect the following:
SYST_NAME --> HOST_SYSTEM
CLIENT --> CALLING_SYSTEM_NUMBER
To download and install this release:
1. Retrieve the SBXIntegrationSAP5.0.5.0.x.zip file from the Sabrix Customer Center. To do so:
· Open the Customer Center at http://customercenter.sabrix.com/sabrixcc.
· Log in using the User Name and Password provided by Sabrix.
· In the Available Products list, verify that the Sabrix Integration for SAP (Enhanced Global Version) Current Installed Version is set.
· Click the Sabrix Integration for SAP (Enhanced Global Version) Download button.
· Save the file.
2. Unzip the SBXIntegrationSAP5.0.5.0.x.zip file.
3. Log on to the server where the current Sabrix Integration for SAP is installed.
4. Stop the Sabrix Integration if currently running.
5. Back up the following files, as you will need to reference them once you install the new release:
· SabrixConnection.properties
· IntegrationServerStartup.sh (if used at your implementation)
· IntegrationServerShutdown.sh (if used at your implementation)
· taxMappingsExtensons.xml
· jcMappingsExtension.xml
· authorityLanguageMappingsExtension.xml
· SabrixIntegrationerverLoggingConfig.xml
6. Unzip and extract the files in the .zip file to the directories where you installed the previous release of the Sabrix Integration for SAP.
7. If you run the Sabrix Integration on a Microsoft platform, please follow the instructions given in the install guide on installing the Windows service and how to run it. The IntegrationServerStartup.bat is no longer used and supported.
8. Merge custom configurations from the saved jcMappingsExtension.xml file with the newly provided one. All other files can be replaced with the versions you saved in step 5 above.
9. Restart the Sabrix Integration.
PREVIOUS VERSIONS:
5.0.4.0B 5.0.3.1B 5.0.3.0B 5.0.2.0B 5.0.1.0B 5.0.0.1B 5.0.0.0B
Functional Changes
Allocation_Line Elements
Problem: When allocations were used, the SabrixConnection for SAP did not skip the allocation_line elements and therefore the tax amount and tax rate was doubled.
Solution: ALLOCATION_LINE elements are now being skipped and neither the tax amount nor the tax rate is being doubled.
Company Role Switch Based on Ship To and Ship From Country
Problem: The SabrixConnection for SAP was switching the company role from buyer to seller for purchases independent of the ship from and ship to country.
Solution: The determination to switch the buyer or seller role is now based on the Ship From and Ship To country during an AP transaction. The first two characters of the tax jurisdiction code are used to determine country and the role will only be switched if it is a US to US transaction. Specifically the rule is as follows:
· If SAP TXJCD_SF = US and TXJCD_ST = US and APAR_IND = V and Tax Type = 0 or Blank, the Sabrix Company Role = S (Seller)
· If SAP TXJCD_SF = US and TXJCD_ST = US and APAR_IND = V and Tax Type = 1, then Sabrix Company Role = B (Buyer)
EXEMPT_AMT Correctly Set for Fright Line in a Credit Memo
Problem: The SabrixConnection for SAP set the EXEMPT_AMT for freight lines when it was a credit memo to the wrong amount in Sabrix due to sending a zero value instead of a NULL value.
Solution: When there is no EXEMPT_AMT the connection sets the value to NULL.
jcMappingsExtension.xml File
Problem: Insufficient samples in the jcMappingsExtension.xml file.
Solution: Added more explanation and referenced to Install Guide.
Problem: The value of the APP_SERVER field changes for every application server in an SAP clustered environment. This causes SAP transactions to post incorrectly in Sabrix audit when re-submitted from a different application server.
Solution: The SabrixConnection for SAP now uses SAP SID and SAP Client. If Client is missing an exception will occur and will not continue. HOST_SYSTEM, CALLING_SYSTEM_NUMBER and UNIQUE_INVOICE_NUMBER now stay the same regardless of what SAP application server the transaction comes from.
The SabrixConnection for SAP is no longer using wrapper.conf and wrapper.exe files to run as a service. The SabrixConnection for SAP is now using Microsoft's SC.exe to install the service and LaunchAnywhere's Start.exe to start the JVM.
SabrixConnection for SAP Guides: Several minor typographical errors were fixed and other minor enhancements made.
Repackaged the 40 custom attributes transport. The 40 customer attributes are now stored in K900057.S9A and R900057.S9A. Note: This change only impacts customers who have installed 5.0.3.0 and were planning to implement the 40 custom attribute enhancement. These customers must reapply the transport request to their SAP system, no other changes are needed.
Functional Changes
With the Sabrix Solution 5.0 release, customers can choose between rounded and unrounded amounts. Support of this Sabrix Solution 5.0 feature was not included in earlier releases of the SabrixConnection for SAP. A new SabrixConnection.properties option has been added to determine if rounded or unrounded amounts are being used. The following logic applies:
If:
IS_ROUNDED = true (default) will pull the document rounded amount from the output xml.
If:
IS_ROUNDED = false will pull the document unrounded amount from the output xml.
Note: If you removed the IS_ROUNDED property, the SabrixConnection for SAP will interpret the property IS_ROUNDED = false.
Problem: The SabrixConnection for SAP disregarded the SAP line item number during a FORCE call, adding the tax amounts and then sending an OVERRIDE_AMOUNT for each line. This behavior caused an invoice document to fail when saving to the Sabrix Solution audit data base.
Solution: The SabrixConnection for SAP now recognizes the line item numbers, which allows the correct values to be grouped and correctly sent to the Sabrix Solution.
Problem: Where there was more than one authority returned on the same level, the SabrixConnection for SAP returned the tax rate from the last tax block when the tax amounts were zero.
Solution: The tax rate from all the tax blocks are summed and returned, including those where the tax amount is zero.
Problem: The parameter compositerollingfileappender in the SabrixIntegrationServerLoggingConfig.xml document was ignored by some operating systems.
Solution: A simpler appender, RollingFileAppender, is now the default delivered with the SabrixConnection for SAP.
Open Source Libraries Now Included in Distribution
Problem: Customers did not have simple access to open source libraries included in the product.
Solution: A new directory, librarysource, has been added to the zip file distribution which includes the source code of all open source libraries used in the Sabrix product. There is no need for customers to use or do anything with these source files, they are included for compliance reasons only.
New property parameters, jco.client.mshost, jco.client.group and jco.client.r3name, have been added to the properties file, which allows the ability to use login groups in the start-up of the SabrixConnection for SAP.
Note: These three parameters are ignored if you specify the jco.client.ashost.
An SAP package, Z_SABRIX_CONNECTOR, has been created for Sabrix-related transports and is stored in two transport files: K900044.S9A and R900044.S9A. The data dictionary elements for custom attributes have also been created and are stored in transport files.
The 40 custom attributes transport is stored in K900046.S9A and R900046.S9A. Please see detailed instructions in the SBXConnectSAPInstallGuide50xxE.pdf
Java 1.5 Compliant
The SabrixConnection for SAP is now Sun Java 1.5 compliant.
SabrixConnection for SAP Guides: Several minor typographical errors were fixed and other minor enhancements made.
Problem: When freight is a condition in the pricing procedure for a line item in SAP, not all fields on the product line are copied onto the freight line that gets created by the SabrixConnection.
Solution: The freight line and the product line are now identical with the exception of the following fields:
· RELATED_LINE_NUMBER: The value of this field is set to the value of the parent line number.
· DESCRIPTION: The value of this field is "Freight for line xx" where xx is the line number from the parent line.
· GROSS_AMOUNT: The value of this field is set based on RFC value FREIGHT_AMT.
· LINE_NUMBER: The value of this field is the line number of parent line filled to the sixth position with leading zeros and then a one (1) added in front, for example, 10 will be 1000010.
· PRODUCT_CODE: The value of this field is set from the freight_prod_code in the SabrixConnection.properties file.
Problem: The SAP connection only supports country.code as the JurisdictionCodeField. It does not support country.code3 or country.isocode.
Solution: country.code3 and country.isocode have been added and made available in the jcMappingsExtenstion.xml file.
Problem: In credit transactions such as credit memos, the discount amount sent to the tax engine was not negative which led to positives values written to the audit log.
Solution: The DISC_AMT field has been negated when the CREDID_IND field is set to True during RFC_UPDATE and RFC_FORCE calls.
Problem: During an invoice update when RFC_FORCE_TAXES_DOC is used, credit transactions, such as credit memos and cancellations, set the CREDIT_IND flag to 1. This signals the SabrixConnection for SAP to change all the amounts (gross, tax and override) to a negative. The connection is changing the gross amount to negative, but leaving the tax amount and override amount positive, resulting in the wrong calculated gross amount.
Solution: The Is_Credit flag has been set correctly and amounts are now audited correctly.
Problem: The gzip flag set backwards. When the gzip_disabled flag is set to false, the payload does not gzip. When the gzip_disabled flag is set to true, the payload does gzip.
Additionally, the address validation header shows "Content-Encoding: x-gzip" but the payload does not gzip. The header claims that the data is gzipped and tries to unzip the payload. Because you cannot unzip non-zipped data, a customer can not do any address validation calls.
Solution: The gzip flag has been set to:
gzip_disabled=false now means yes, gzip
gzip_disabled=true now means do not gzip
SabrixConnection for SAP Guides: Several minor typographical errors where fixed and other minor enhancements were made.
Tax Override Section Updated (1022)
Problem: For forced transactions other than US, Canada and EU VAT, various jurisdiction levels were being summed in the override field during submission to Sabrix audit.
Solution: Country specific mappings have been added to the tax override section following the authority model of these countries. Jurisdiction levels are no longer being summed in the override field during forced transactions. Additionally, the tax override logic has been enhanced to use the following lookup logic:
1st ShipTo_Country AND jurisLevel
2nd ShipTo_Country
3rd jurisLevel
UNIT_OF_MEASURE to UOM in Quantity Element Mapped
Problem: Fee on the quantity calculation method was used, but the line had a missing or incomplete quantity error.
Solution: The Sabrix Solution input XML UOM tag within the quantity structure now holds the SAP quantity value. Review your TransEditors to see if you have any based on the old QUANTITY tag in the XML.
Unique Invoice Number Value Created
Problem: Unique_Invoice_Number field was not populated at the time of auditing.
Solution: In support of enhanced audit uniqueness, this field is now concatenated from the External_Company_ID, Invoice_Number, and Company_Role fields into a string with a pipe ( | ) delimiter. This creates a unique invoice number that ensures a proper audit key in Sabrix. Together with Host_System and Calling_System_Number these three fields build the primary audit key in Sabrix.
Freight Line Exemption Mapped from the Product Line
Problem: Freight line exemption is not mapped from the product line.
Solution: When the freight line is created and the RFC EXEMP_IND is set, that value is passed to the <IS_EXEMPT><ALL> XML element of both the product and freight lines. For further detail, please see Mapping SAP Fields to Sabrix XML in the installation guide.
County Fields Added to the Jurisdiction Code Mapping File
Problem: A null pointer exception was caused when county mappings were set up in the jcMappingsExtension.xml file.
Solution: The values below have been added:
jurisdictionField name='county.code'
jurisdictionField name='county.code3'
jurisdictionField name='county.isocode'
Enhanced Proxy Server Feature to Support HTTPS Calls
Problem: The proxy server feature of the SabrixConnection for SAP did not support https calls to the Sabrix Solution.
Solution: The proxy server feature of the SabrixConnection for SAP has been enhanced to support the proxy server feature for https clients.
Value of SAP_HOME and SBX_PATH Set Correctly
Problem: Values provided in the IntegrationServerStartup.sh script for the SAP_HOME and SBX_PATH variables were prepended with "./", causing the operating system to interpret them incorrectly.
Solution: The parameters were changed to use a relative path so that the operating system will interpret the values correctly.
SabrixIntegrationServer.log Updated
Problem: The SabrixIntegrationServer.log shows the plain text USERNAME and PASSWORD.
Solution: The following is returned in the log’s indata:
<PASSWORD>REMOVED FOR SECURITY</PASSWORD>
<USERNAME>REMOVED FOR SECURITY</USERNAME>
Problem: Customers running the SabrixConnection for SAP on a Microsoft platform want to run it as a Windows service.
City Can Be Returned to SAP During Address Validation
Problem: The city returned in the Sabrix Solution Output XML was not written back to SAP.
Solution: During US Address Validation only, if no city were supplied in SAP, and Sabrix found a city other than Unincorporated, then the city could be returned to the SAP address screen. This behavior can be configured through the use of an option in the SabrixConnection.properties file. The default setting is true, which means that no city override would be performed. If this option were set to the value of true and the condition mentioned above were fulfilled, then a city would be returned.
Parameters Were Not Evaluated by SAP During Address Validation: max_jurisdiction_addresses and truncate_to_max_addresses
Problem: Values set for the parameters max_jurisdiction_addresses and truncate_to_max_addresses in the SabrixConnection.properties file where not taken into account during runtime.
Solution: The SabrixConnection for SAP now takes this value into account when addresses are returned to SAP.
Parameter Did Not Work Properly: external_company_id_prepend
Problem: Even if a prepend value was set, it was not passed to the Sabrix Solution.
Solution: Values set for external_company_id_prepend in the SabrixConnection.properties file are now properly passed on to the Sabrix Solution.
Quantities Not Sent Correctly to Sabrix
Problem: The quantity sent to Sabrix was incorrect (by a factor of 1000) due to an incorrect decimal place setting.
Solution: Quantity values are now sent correctly taking the SAP decimal places into account
Errors in IntegrationServerStartup.bat and IntegrationServerStartup.sh Files
Problem: Some of the path variables were missing or incorrect.
Solution: Path settings were corrected.
Errors in IntegrationServerStartup.bat and IntegrationServerStartup.sh files
Problem: With the initial release of 5.0.0.0B, the encryption of the user/password pair was not implemented.
Solution: Users can now opt to encrypt the user/password for the JCo communication with SAP via a setting in the SabrixConnection.properties file.
The following features of the Sabrix Solution version 5.0.1.0 can be enabled by the Basic SabrixConnection for SAP version 5.0.0.0B. To enable these features in the Basic Connection, you will need to do enhancements in the user exit, as well as pass custom attributes through a TransEditor in the Sabrix Solution. Please see Sabrix Professional Services for additional help.
Date Determination Logic
The Sabrix Solution can now evaluate the Invoice Date and Goods Movement Date to determine the correct Tax Point Date, Tax Exchange Rate Date and Tax Determination Date.
Location Tax Categories
XML elements are available to identify locations with special tax treatment, such as a Bonded Warehouse, on all the applicable addresses in Sabrix.
Units of Measure Conversion
Sabrix can convert Units of Measure (UOM) on line items into the UOM specified by the tax authority.
The following features are new in Version 5.0.0.0B of the SabrixConnection for SAP. Please see the Tax Configuration Guide for more information.
The following bug fixes are included in this release:
· The ZONE_LEVEL field in the taxMappings.xml and taxMappingsExtension.xml files have been replaced with the EFFECTIVE_ZONE_LEVEL field.
· For Canadian taxes, the SabrixConnection was previously returning a negative exempt amount. It now returns the correct amount.
· The SabrixConnection now returns exemption data to SAP standard RFC fields.
© 2009, Sabrix, Inc.