SAP Knowledge Base Article - Preview

2694514 - Known (configuration) errors and their resolution in the integration of SAP Customer Checkout with SAP Business One

Symptom

  • Interaction between SAP Customer Checkout and SAP Business One

Very often SAP Customer Development will be asked about the interaction between SAP Business One and SAP Customer Checkout. Therefore an overview has been created in SAP Note 2593967

  • How the integration works with SAP Business One/What versions are supported?

SAP Business One integrates with SAP Customer Checkout using the integration framework of SAP Business One. The integration framework provides the following scenario packages for the integration with SAP Customer Checkout:

  • sap.CustomerCheckout scenario package for integrating SAP Business One with SAP Customer Checkout applications
  • sap.CustomerCheckoUI scenario package for the SAP Customer Checkout monitor

The sap.CustomerCheckout scenario package enables you to connect one or several SAP Customer Checkout applications to SAP Business One company. If you have several SAP Business One companies, you can connect them to the integration framework using the SLD(System Landscape Directory) entries in SAP B1if(full name). The ID of the SLD entry can then be maintained in the SAP Customer Checkout, so that the SAP CCO knows which company it should connect to.

What versions are supported?

The integration of SAP Customer Checkout 2.0 with SAP Business One is supported as of the following versions:

  • SAP Business One 9.1 PL11 or higher
  • SAP Business One 9.2 PL02 or higher, also PL07 is already supported

The integration of SAP Customer Checkout 1.0 Service Pack 03 with SAP Business One is supported as of the following version:

  • SAP Business One 9.1 PL08 or higher
  • Error Message when connecting to the SAP Business One system:

Error in the SAP Customer Checkout standard log: Caused by: javax.net.ssl.SSLHandshakeException: SSLHandshakeException invoking https://SERVER:8443/B1iXcellerator/exec/soap/vP.001sap0011.in_WCSX/com.sap.b1i.vplatform.runtime/INB_WS_CALL_SYNC_XPT/INB_WS_CALL_SYNC_XPT.ipo/proc: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)

Root Cause: Certificate-related parameters are missing in the Tomcat configuration.
Solution: Do the following:

  1. Open the Tomcat directory (..\SAP\SAP Business One Integration\IntegrationServer\Tomcat\bin).
  2. Run tomcat6w.exe as administrator, go to the JAVA tab and add the four parameters below (make sure not to copy any whitespace characters like return, tab or space):
    • -Djavax.net.ssl.keyStoreProvider=SunMSCAPI
    • -Djavax.net.ssl.keyStoreType=WINDOWS-MY
    • -Djavax.net.ssl.trustStoreProvider=SunMSCAPI
    • -Djavax.net.ssl.trustStoreType=WINDOWS-ROOT

Click Apply and then, restart the SAP Business One Integration Service.

  • How to get the most recent version of the B1i scenario packages?

The B1i scenario packages for SAP Customer Checkout integration with SAP BusinessOne are delivered with B1if (Business One Integration Framework). The partner/customer should always take the lastest version of SAP BusinessOne so that they have the latest scenarios. However in case of immediate bug fix we also provide them using SAP Note.

The most recent scenario packages for SAP Customer Checkout SP02 integration with SAP BusinessOne are available with the SAP Note 2110971.

The most recent scenario packages for SAP Customer Checkout SP03 integration with SAP BusinessOne are available with the SAP Note 2163033.

The userName or password in the SLD entry in SAP Business One Integration Framework (B1if) is wrong. Correct the password and check the connection using the Test Connection Feature of B1if.

  • Customer Synchronization issue – Duplicate customer exception

This was a bug in the B1if services delivered with BusinessOne 9.0 PL15 for SAP Customer Checkout. The

Customer having same name for default Bill to address and default Ship to address causes an exception during synchronization. For SAP Customer Checkout SP02, you can download the services from the note 2110971 and uploaded them in B1if. This note has always the latest services compatible with SAP Customer Checkout SP02.

  • Warning Message in customer sync: warning while persisting customer: xyz Mapping for Country code "XY" is missing

The warning message indicates that you have maintained Customer Groups in SAP Business One which are not available in SAP Customer Checkout. Depending on the Release of SAP Customer Checkout which you are running there are 2 different possibilities to avoid the warning message in future.

In Release 1.0 Service Pack 03 and below a field mapping in SAP Customer Checkout is required. You can maintain it in the SAP Customer Checkout Configuration à TAB “Cash Desk” Switch to the “Edit Mode” à Select “New Entry” and Insert/select "COUNTRY_CODE" in the Local field name, select the Country (Value in SAP Customer Checkout) in Local field value and enter a description in the field Description. Then insert/select "CountryCode" in the "Target field name" and insert the relevant Value (Country Code which is maintained in SAP Business One) in the field "Target field value". After saving, please schedule a new full synchronization. The warning message should be gone. Please see the example below:

Local field name

Local field value

Description

Target field name

Target field value

COUNTRY_CODE

CH-Switzerland

Switzerland

CountryCode

CH

COUNTRY_CODE

AT-Austria

Austria

CountryCode

AT

In Release 2.0 and above a field mapping in SAP Customer Checkout is only required if the country codes for SAP BusinessOne do not match to the country code for SAP Customer Checkout.
A hypotetical example would be if SAP Business One uses GER code for Germany and SAP Customer Checkout uses DE code for Germany.

You can maintain it in the SAP Customer Checkout Configuration à TAB “Cash Desk” Switch to the “Edit Mode” à Select “New Entry” and Insert/select "COUNTRY_CODE" in the Local field name, select the Country (Value in SAP Customer Checkout) in Local field value and enter a description in the field Description. Then insert/select "CountryCode" in the "Target field name" and insert the relevant Value (Country Code which is maintained in SAP Business One) in the field "Target field value". After saving, please schedule a new full synchronization. The warning message should be gone. Please see the example below:

Local field name

Local field value

Description

Target field name

Target field value

COUNTRY_CODE

DE

Germany

CountryCode

GER

COUNTRY_CODE

AT

Austria

CountryCode

AUS

  • Synchronization of all Articles between SAP Business One and SAP Customer Checkout is not required - only the articles which should be sold needs to be synchronized

In general, all articles which are assigned to a pricelist in SAP Business One will be transferred to SAP Customer Checkout if the relevant pricelist is maintained in the Stock Management – Price Lists – Price Lists. That means for example that also fixed assets or articles which should not be sold in SAP Customer Checkout are available in SAP Customer Checkout if they are part of the SAP Business One Pricelist.

However, you can decide in SAP Business One to not add all articles to a pricelist. To do this in SAP Business One following option needs to be activated. "Remove Unpriced Items from Price list in Database". Follow the menu “Administration à System Initialization à General Settings à Tab Pricing” to find the option in SAP Business One. This option removes all unpriced article from the SAP Business One pricelist and as a result are not synchronized in SAP Customer Checkout.

Example:

Create a pricelist in SAP Business One select “Warehouse Management à Pricelist à Pricelist. Please maintain here a price for all relevant articles which should be available in SAP Customer Checkout. For articles which should be sold for a price of 0,00, please maintain also 0,00 (e.g. giveaway). For all Articles which should not transferred to SAP Customer Checkout don’t insert a value in the field. Only the articles which have maintained price of 0.00 or higher will stored in the database of SAP Business One for the specific pricelist, and hence only these articles are synchronized with SAP Customer Checkout.

  • Warning Message in customer sync: B1_Customer_Group_Missing:

The warning message indicates that you have other Customer Groups in SAP Business One maintained than in SAP Customer Checkout are available. To avoid this warning message it is necessary to create the relevant entry in the Configuration of SAP Customer Checkout. Go to TAB "Sales" - "Customer Group". Select the "Edit" Button, click on "New Entry" and insert a Description of the Customer Group in Field "Description" and insert the relevant ID in the field "Code". Save your settings. When you make a new customer synchronization this warning message should be gone. But please keep in mind that the Code for the customer group is the technical code from SAP Business One, and not the numbering which you can see if you select in SAP Business One: Administration --> Definition --> Business Partner --> Customer Groups. You have to find out the technical ID with the Query Generator. Go to "Extras --> Query --> Query Generator". Insert "*" in the select field and "OCRG" in the "From" field. Execute the query and the results will be shown.

  • How to connect one B1i system with a self-signed certificate via https

When B1i system is using https with a self-signed certificate, then the JRE which is used by SAP Customer Checkout is not able to deal with this by default. This will result in certificate errors during the communication between SAP Customer Checkout and the B1i system.

The issue can be resolved by importing the B1i system certificate into the Keystore of the system where SAP Customer Checkout is installed.

You have to import the certificates to the Keystore manually. This can be done by executing the following command:

keytool -import -alias <someAlias> -file <certificateFile> -keystore <pathToJRECacertsKeystore)

The keytool executable is located in the JREs bin directory. The cacerts Keystore file is located in the JREs lib\security directory.

An example call could look like this:

keytool -import -alias "b1i" -file "C:\b1icert.cer" -keystore "C:\Program Files\Java\jre7\lib\security\cacerts"

The keytool will ask for a password. The default password of the JREs keystore is "changeit".

After the certificate was successfully imported, you have to restart SAP Customer Checkout.

Note: These steps are only necessary if the connection to the B1i system uses the https protocol.

  • Using strong keys in https connection to the server

If you connect to a server using a very strong encryption key (> 2048 bit), we recommend to use the Java encryption extension library offered by Oracle. By this, longer keys can be handled. (Java Cryptography Extension (JCE) Unlimited Strength Jurisdiction Policy Files)

http://www.oracle.com/technetwork/java/javase/downloads/jce-6-download-429243.html
http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html
http://www.oracle.com/technetwork/java/javase/downloads/jce8-download-2133166.html 

  • Availability of 'Unit of Measure' for Serial and Batch Number

To be able use the correct function it is necessary to upload the latest B1i Services (3.1.30 onwards) for Customer Checkout as described in SAP Note 2163033 SAP Customer Checkout worked as following in the past:

If you have article with serial or batch numbers in SAP Business one, where are differences between the Sales UoM Code (e.g. 1 box) and the Stock Counting UoM Code (e.g. 12 pieces) are existing, SAP Customer Checkout forced you to insert the batch or serial number in the sales process.

In this case it was only possible to insert the batch / serial number for the amount of article related to the Sales UOM (e.g. 1 box, means only one serial/batch number) and not to the relevant Stock Counting UoM (12 pieces, means 12 batch/serial numbers are needed). Due to this fact the posted receipt get stuck in the monitor with following message:

Cannot add row without complete selection of serial/batch numbers

With the latest services (onwards 3.1.30 available in SAP Note 2163033) we changed the logic in the service so that you still have to enter the amount of serial/batch numbers related to the Sales UoM Code (e.g. 1 box) and then the B1i Service will automatically convert the number of batch/serial numbers to the required (from Stock Counting UoM Code (e.g. 12 pieces) numbers and fetch the Serial/Batch numbers automatically

  • Cannot add row without complete selection of batch/serial numbers

You are most probably facing this issue when you are returning something with Batch and Serial number. This is a bug that is already fixed in the latest services. If you are running SAP Customer Checkout SP02, kindly take the latest services from SAP Note 2110971 and for SAP Customer Checkout SP03 take the services from SAP Note 2163033 where a fix for this issue is already provided.

  • Handling of different Unit of Measure Group in SAP Customer Checkout (item per Sales Unit) in case that SAP Business One is the backend

In standard SAP Customer Checkout behaves different from the behaviour of SAP Business One if in an article the field "Item per Sales Unit" is an entry not equal to 1. Therefor we created SAP Note 2443340

  • Sell an article with different unit of Measure

If you want to sell articles in different unit of measures (e.g. pieces, boxes, packages, palettes) without using a different article ID you have to use a special Unit of measure Group in SAP Business one. The Unit of measure Group "Manuell" does not support the needed functionality.

In SAP Business One select the Menu entry "Unit of measure groups". Define a Key and a description. For example Paper" – UOM for Paper then click on "Group Definition". Select the Base UoM for example "piece" and then insert the different unit of measure and the value of the Base UoM per unit of measure. Please see example below:

Alternative Qunatity

Alternative UoM

=

Base Qty

Base Uom

1

Piece

=

1

Piece

1

Package

=

500

Piece

1

Box of 6

=

3000

Piece

Save you entries. Now create a new article and select the new created UoM Group in the header data of the article. In the sales tab of the article you can now set a unit of measure as default unit of measure. As the next step you can define different barcodes for the different unit of measures. Click on "Define Barcode" in the item Header data. Here you can maintain one or more barcodes for the different unit of measures. After saving your settings you can define a price for the different unit of measures. First insert a price for the default Unit of measure. Then click on define UoM Prices, a table will be opened where you can change the calculated prices for the different Unit of Measure. Save your settings. Go to SAP Customer Checkout ad perform an article synchronization. After a successful synchronization the new article can be sold with the different unit of measures.

  • Extended invoice search "Customer Reference Number"

In SAP Customer Checkout you are able to fetch an Invoice from the Backend in the case that SAP Business One is integrated. The invoice can be fetched in SAP Customer Checkout standard if you search for the invoice number (insert the number in the Field "Invoice ID" and click ok) or more generic if you click "Search Invoice" you can also include a Customer ID into the search, so that the search is more filtered.

Some Partner request also to have the possibility to search for the field "Customer Ref Number". That means that SAP Customer Checkout will search for the Invoice-ID or the Customer Reference Number in case that the value in the field is numeric. If you insert an alphanumerical value the system will only search in the field "Customer Reference Number", as the Invoice Id can’t be alphanumeric.

Example:

Old setting:

  • Search Term: 1234 - If an invoice with the ID 1234 exists this invoice will be fetched
  • Search Term: A12345 - No Invoice will be fetched

New setting:

  • Search term 1234 - If an open invoice with the ID 1234 exists this invoice will be fetched and also every open invoice with the entry "1234" in the field "Customer Reference Number"
  • Search Term: A12345 - If an open invoice with the Customer Reference Number "A1234" exists this invoice will be fetched

You can activate the additional search feature if you import the latest B1i Services (3.1.30 and higher) from SAP Customer Checkout (can be found and is documented in SAP Note 2163033) in the B1if. In B1if select "Scenario – Setup". Check if in the field "Scenario Package Identifier" following entry is selected "sap.CustomerCheckout". Click on "Data Mgt." and select "Table: vTbl.IncludeList.xml", then click on "Select". Assign any dummy Partner Step or provide a random string like "ABC" to the SAP Step Extension Point "sap.POS.GetOpenInvoiceforBP_PreProcessing" and close the pop up. Afterwards the extended Search will be active. The partner step assigned is never executed but just a way to say that you want to use the extended search feature.

Afterwards the extended Search will be active.

  • Payment terms from invoices fetched from the backend

If you have SAP Business One integrated as backend for SAP Customer Checkout you are able to fetch Invoices from the SAP Business One. The Service from SAP Business One delivers only the total amount to be paid without considering the payments terms assigned to the Invoice. Hence SAP Customer Checkout will show the total amount without considering payment terms. In case you have special payment terms which can lead to a reduced payment amount, then such Invoices needs to be closed directly in SAP BusinessOne or the reduced amount needs to be manually calculated and entered in SAP Customer Checkout.

  • Synchronization fails or receipts are not arriving in the SAP Business One Integration Framework (B1i, B1if)

You are experiencing an error during the synchronization (Error while loading from external system). Or you notice that none of the receipts posted in SAP Customer Checkout reach the Business One Integration Framework (B1if). In such case you receive an error message when doing a webservice endpoint connection check in Configuration -> Integration -> SAP Business One.

You couldn't be authenticated! Please check your user name and password (Your SAP B1if user will be locked based on your password policy, if you try too often to login!)

Please check if SAP Knowledge Base Article 2670959 solves the issue.

  • After upgrade to SAP Business One on HANA 9.2 PL06 one of the following symptoms is noticeable

a. In B1if (SAP BusinessOne Integration Framework) the connection for SLD Entry CustomerCheckoutDb is not working.

b. In SAP Customer Checkout Monitor, no entries can be seen even though before upgrade entries existed

c. Receipts from SAP Customer Checkout are not posted, in B1if monitoring the following message can be seen " invalid schema name: CUSTOMERCHECKOUT: line 1 col 12 (at pos 11) "

d. Following error can be seen in monitoring and SLD entry connection check

com.sap.b1i.xcellerator.XcelleratorException: XCE001 Nested exception: com.sap.b1i.bizprocessor.BizProcException: BPE001 Nested exception: com.sap.b1i.utilities.UtilException: UTE001 Nested exception: com.sap.engine.lib.xml.util.NestedException: Msg 362, State HY000: SAP DBTech JDBC: [362] (at 11): invalid schema name: CUSTOMERCHECKOUT: line 1 col 12 (at pos 11)

How to solve this issue:

In SAP Business One for HANA 9.2 PL05 or PL06 (after upgrade), in B1if -> SLD -> B1if Server -> CustomerCheckoutDb in the field "URL" in the "JDBC" section:

....?currentschema=CustomerCheckout

If you test the connection, the connection will fail.

You have to change the entry to following:

....?currentschema="CustomerCheckout"

Notice that the database name CustomerCheckout was added with quotation marks "CustomerCheckout". Then the connection should work again.

The issue is explained in more detail in the SAP Note 2408940.

  • For the extension of B1if scenario steps for SAP Customer Checkout, the table entry in set-up->Data Mgt ->"Table: vTbl.IncludeList.xml" is empty

The issue is introduced with SAP Business One 9.2 PL04. For Customer/Partners who have not imported the SAP Customer Checkout scenario steps for B1if manually from our SAP Note 2163033the problem should not occur.

B1if has added a new check-box while importing the B1if scenario’s "Import Individual Global Tables". If this check-box is not checked, then the table is empty.

Go to "Scenarios" and then select "Import". Now in ‘Scenario Package or Step ZIP File Name’ click on the Browse and select the scenario package that you downloaded from the SAP Note, vPac.sap.CustomerCheckout.zip.     

With SAP Business One 9.2 PL04, you need to additional select a new check-box "Import Individual Global Tables" and then click on "Submit". If you do not select the check-box "Import Individual Global Tables", the table with

list of extension point that we provide in the set-up->Data Mgt ->"Table: vTbl.IncludeList.xml" will be empty.

  • Fully allocate item B10000 to bin locations in warehouse 05

The mentioned warehouse 05 needs bin locations for Serial/Batch number. Bin allocation is not supported in SAP Customer Checkout. Kindly use a warehouse were Bin allocation is not madatory.

  • In SAP Business One deleted customers / articles are not deleted in SAP Customer Checkout

First of all it is not possible in Customer Checkout to delete customers / articles. However it is possible to set them to obsolete / inactive.

Further SAP Business One is not sending any information about deleted customers / articles to Customer Checkout, so Customer Checkout is not able to set these data to obsolete / inactive.

The suggestion is, before deleting this data in Business One, set it to inactive, after that synch Customer Checkout. Now the data should be marked as obsolete / inactive. After this you can delete the data in SAP Business One.

  • Confirmation amount must be greater than zero

In the field mapping, PAYMENT_FORM_CODE entries are changed or deleted.

In the payload that is sent from SAP Customer Checkout to the B1if scenario the "PaymentMeans" tag is missing.

In the payload for PostInvoice in "CashFlowAssignments" the "PaymentMeans" tag is missing or not correct.

In the default configuration we have pre-delivered these values in the field mapping for PAYMENT_FORM_CODE.

These values should not be changed or deleted.

Setting – Cashdesk – Field Mapping

  • How to handle when currency is both EUR and Eur in SAP Business One

The situation is that there are some articles in B1 which has currency EUR and some has Eur. This can happen because of legacy data or some other reason. When the articles are synchronized in SAP Customer Checkout, based on the existing mapping some articles will not have a currency and hence they cannot be used in sales.

To handle this scenario in SAP Customer Checkout, we need a maintain attribute mapping.

In SP02, you can maintain attribute mapping that EUR from B1 is EUR in SAP Customer Checkout and Eur from B1 is EUR in SAP Customer Checkout. With such attribute mapping prices send from B1 in both Eur and EUR is stored successfully as EUR in SAP Customer Checkout and these articles can be used in the sales process.

  • Selling Bill of Materials in SAP Customer Checkout, Child elements are not visible nor editable

You want to sell a bill of material (created in SAP Business One) in SAP Customer Checkout and only the parent/header element is visible in the receipt. You can’t see the child elements, nor change them. This functionality is currently not supported by SAP Customer Checkout. Currently fetching only the header/parent element and also posting only the header/parent element is supported. Child elements are not supported by SAP Customer Checkout.

Please keep in mind, if you sell a bill of Material in SAP Customer Checkout only the Header/Parent is posted and stored in SAP Customer Checkout. The child elements will be added by SAP Business One. Therefore the warehouse for the child element is not taken from the parent element, but the default warehouse is taken. Also the Cost center is not taken from the parent element.

Furthermore, if a child element is a batch or serial article the posting will not work and stuck in the SAP Customer Checkout Monitor

Supporting the child elements is a new feature request. We agree that this is a good use-case and requirement. But as of now we do not support it.

In-case child elements are needed, then the partner needs to do this on his own. There is an extension point available before posting the invoice.

The partner can adopt the posting.

  • How to pay an AR Invoice/AR Down-payment invoice from SAP Business One in SAP Customer Checkout and in parallel sell additional items in the same receipt

To activate this functionality please go to “Settings”. Select here TAB “cash desk” and activate “Allow combination of sales items and business documents (e.g., invoices, credit notes, etc.”. This functionality is supported by SAP Customer Checkout SP 1.0 SP03 and following releases.

  •  Discount Management in SAP CCO with SAP Business One as backend

Overview of configurable discount when using a SAP Business One as backend system. The configuration of the discounts takes place in SAP Business One and is then synchronized with SAP Customer Checkout.

Please also consider the effects of the field ‘Effective discount’ (Tab: Payment Terms) in the Business Partner.

Period and Volume Discount on Standard Price List

Period Discount

available

Volume Discount

available

 

Discount Group

All BP

Customer Group

Specific BP

Item Group

Discount

available

available

available

Free

available

available

available

Item Properties

not available

not available

not available

Specific Manufacturer

not available

not available

not available

Item

Discount

available

available

available

Free

available

available

available

 

Special Price for Business Partner

Period Discount

available

Volume Discount

available

 

  • How to adapt the language of the text fields in SAP B1 to the selected language in SAP Customer Checkout

Please refer to KBA 2541406 for more details.

  • Error "Currency of invoice" is wrong when fetching a sales document from SAP Business One

Please refer to KBA 2586361 for more details.

  • Error in return "Payment cannot be made by voucher because difference amount is less than zero"

Please refer to KBA 2587450 for more details.

  • Error message in Integration check: SysID in the message differs from the SysID, which is assigned to the User in the Scenario Package Administration in the integration component for SAP Business One

Please refer to KBA 2632210 for more details.

  • Sales Order with Batch / Serial number item remains open when paid in Customer Checkout

For details refer to KBA 2624458

  • Error "Payments for invoice/down payment cannot be combined with other payment items" when fetching Sales Order

For details refer to KBA 2667267

  • How to delete or inactivate an article or customer in SAP Customer Checkout

For details refer to KBA 2670178

  • How to find the Business One integration framework logs

For details refer to KBA 2670202

  • Error Business document contains partially sold sales items when trying to retrieve a partially fulfilled Sales Order

For details refer to KBA 2536368


Read more...

Environment

  • SAP Business One
  • SAP Customer Checkout
  • SAP Customer Checkout Monitor
  • SAP Business One Intergration Framework

Keywords

IS-SE-CCO, CCOm, Customer Checkout Monitor, DI error, SAP Business One Intergration Framework, B1if, SAP Business One, B1, Integration , KBA , IS-SE-CCO , Customer Checkout , Problem

About this page

This is a preview of a SAP Knowledge Base Article. Click more to access the full version on SAP ONE Support launchpad (Login required).

Search for additional results

Visit SAP Support Portal's SAP Notes and KBA Search.