KB Article #178092
DELETE command in RETRIEVE script doesn't work anymore, causing double or triple file processing
Problem
The customer’s RETRIEVE method script (in particular the DELETE command) does not work 100% anymore, causing duplicates, even triple messages when receiving from some other servers .
The script used for the RETRIEVE method is a variation of the default one:
CD "\\\\SOYTRE117\\output\\WMS_OUT\\";
-LIST "*106_200.xml" INTO %F {
-RECV %F;
IF(%FTPSTATUS IN "200"-"299") {
-DELETE %F;
}
}
The result: XIB receives the *106_200.xml file from the SOYTRE117 server OK (XIB PROD is running on SOYTRE94), but the first attempt does not delete the file from SOYTRE117, therefore XIB receives the file again, and perhaps again.
Additional info:
One of the customer’s M3 e-collaborators locks the file / holds on to it for a while, and therefore XIB cannot delete the file and so a duplicate, or more, occurs. So, once again, the XIB RETRIEVE script picks up the file from MeC, and sends it forward, but the XIB DELETE command does not delete the file from the MeC server, which is causing a double or even triple processing later. However, MeC is not the only server/system where this processing issue occurs.
Resolution
[CAUSE]
The problem occurred due to a couple of corrupted RETRIEVE activities and/or corrupted dataset. Too many changes in too tight schedule. Meanwhile a lot of active data inside XIB, and many users logged on.
[SOLUTION]
Step 1: delete the particular RETRIEVE methods,
Step 2: stop the tasks,
Step 3: “Force rebuild of runtime data”,
Step 4: stop and restart XIB,
Step 5: start tasks,
Step 6: create the RETRIEVE methods under different name