Product: RFIDIC Platform: RFIDIC v1.1.0.3, Redhat Linux AS 4 update 6, Informix Dynamic Server v10, WAS Express 6.0.2 Date: 08 October 2008 Description: ------------ PMR: 41412,999,000: In serial number generation, the availability of the numbers in a block is larger then the specified blocksize. Package contents: ----------------- Filename Description -------------------------------------------------------------------------------- README.txt This Readme file com.ibm.rfidic.enterprise.serialid.framework.jar JAR file NOTE: This fix will work for all the new resources created after deploying the jar. If you already have some resources please carry out the following steps for updating the availability of existing resources - Step 1: Wait for all request to be confirmed or timed out. Step 2: Take backup of DB. Step 3: Get the resource Id of a resource. Loop step 4 to 6 for each resource. select resource_id from SERIALID.sid_resource; Step 4: Get the block Id for each resource. Provide resource_id got from above statement. Loop step 5 and step 6 for each block Id. Select block_id from SERIALID.serialid_inventory where resource_id = Step 5: Get the quantity of tags confirmed by each block. Provide resource_id, block_id got from above. Specify request_type as either SERIAL or RANDOM select sum(quantity) from SERIALID.request req where req.resource_id = AND request_type = AND STATE = 1 AND req.LOWER_LIMIT >= (select LOWER_LIMIT from SERIALID.serialid_inventory where BLOCK_ID = ) AND req.UPPER_LIMIT <= (select UPPER_LIMIT from SERIALID.serialid_inventory where BLOCK_ID = ); Step 6: Update the availability in inventory table for each block. Provide resource_id, block_id got from above. update SERIALID.serialid_inventory set available = ((select block_size from SERIALID.sid_resource where resource_id = ) - ) where block_id=; Step 7: Commit the database. commit; Installation Instructions: -------------------------- Instructions for deploying the new JAR file: 1. Log into the system as the root user. 2. Stop all the RFIDIC components. 3. Ensure that you have the com.ibm.rfidic.enterprise.serialid.framework.jar file, which is required for the fix. 4. cd to the RFIDIC_Home Directory/lib. 5. Move a backup copy of the original JAR files into a temporary directory. (Move the files instead of renaming them.) 6. Copy the new jar into the lib directory. 7. Restart the RFIDIC components. Test and Usage Instructions: ---------------------------- 1. Create a resource. The example below creates a resource. Encoding Format: SGTIN-96 GTIN-14:00301730691002 Company Prefix: 030173 Block size: 20,000 Threshold: 20 Randomization Factor: 10 2: Call the createTags operation with some quantity for sequential number generation. Call this operation 5-6 times such that Sum(Quantity of all createTags request) is more than 2 or 3 times block size of the resource. 3: Confirm some of the requests. Wait until the rest of the requests time out. 4: Repeat step 2 and 3 for random number generation. Verification Instructions: ---------------------------- 1.Confirm the availability column in SERIALID.serialid_inventory table <= Block size of the resource. Procedure to get resource_identifier(This will be used the SQL statement that follows.) a) For SSCC Resource, the resource_identifier = company prefix.extension digit For example Company Prefix is 234234 and extension digit is 3 then resource_identifier will be 234234.3 b) For SGTIN Resource, the resource_identifier = company prefix.Item reference. For example Company Prefix is 030173 and GTIN is 00301730691002 then Item reference = 0(first digit of GTIN) + 069100(In GTIN, Company prefix starts from second digit, so omit the company prefix and last digit of GTIN) resource_identifier = 030173.0069100 To get the availability use the following SQL statement: a) Get the Resource ID for the resource. select res.resource_id from serialid.sid_resource res, serialid.encodingtype etype where res.resource_identifier='' AND res.encoding_type=etype.encoding_id AND etype.encoding_name=''; b) Check the available column in serialid.serialid_inventory table. select * from serialid.serialid_inventory where resource_id=(give the resource id got from above sql statement)