Generating the encryption key fails with the following error:
Multi-step operation generated errors. Check each status value.
A bug causes this error with some stored credit-card information (Bug ID: EVCID-4244). This issue manifests on Everest version 6.40.9.
This issue is fixed in Everest 7.0.1. Upgrade to at least this version to resolve the issue.
Consider upgrading to the latest version to take advantage of the latest features and avoid other known issues that are now resolved.
If you cannot upgrade at this time, or the issue is manifesting in a more recent version of Everest the encrypted information must be purged before regenerating the encryption keys.
Purging credit card information
This can be done by following these steps:
- Launch Everest.
- Go to Utility > Purge > Credit Card.
- Place a checkmark to select Purge expired credit cards and Purge discontinued cards and press Purge.
If this does not resolve the issue, you may purge all credit cards (by selecting Purge all credit cards in step 3), or follow the below steps to identify which records are corrupted and eliminate them manually:
- Open SQL Server Management Studio on your database server.
- Right-click on your company database and choose New Query.
- Run the query below and export the results to a text file for later usage:
SELECT * FROM ccards
To export the results to text, navigate to Query > Results To > Results to Text.
- Navigate to Tools > SQL Server Profiler.
- Login with Windows or SQL authentication as you normally do on SSMS.
- On the General tab, select Use The Template: Blank
- On the Events Selection tab, in the Stored Procedures line, only select the below two entries
- RPC: Completed
- SP: StmtCompleted
- Click on Column Filters and add the below pattern under the TextData node > Like
- Choose to Exclude rows that do not contain values
- Press OK to apply the filter
- Click Run while the process is on to start capturing the SQL statements
- With the profiler active, run the
C:\Program Files (x86)\Icode\Everest\Data\CCard KeyMgmt\KeyMgmt.exetool.
This will trigger the error, and generate a message in the profiler similar to the one below:
exec sp_executesql N'UPDATE "EVEREST_SAMPLE".."CCARDS" SET "REF_NO"=@P1,"EXP_DATE"=@P2, "CARDHOLDER"=@P3 WHERE "REF_NO"=@P4 AND "EXP_DATE"=@P5 AND "CARDHOLDER"=@P6 AND "CARD_ID"=@P7', N'@P1 varchar(15),@P2 varchar(4),@P3 varchar(26),@P4 varchar(56),@P5 varchar(32),@P6 varchar(98), @P7 int','...','...','...','...','...','...',CARD_ID
- Note the CARD_ID as highlighted above, and reference the text file exported in step 3. The next entry is corrupt and can be safely deleted from the database:
DELETE FROM ccards WHERE card_id = 'CORRUPT_CARD_ID'Warning
Make sure you specify the corrupt CARD_ID obtained from the text file as described above.
- Repeat steps 6 and 7 until the error stops manifesting.
- Backup the WEB_PAYMENTS table and set the "REF_NO" and "EXP_DATE" columns to '' (null).
- Execute the KeyMgmt.exe utility to generate new encryption keys using the procedure described in Generate Encryption Keys for Credit Card Data.