Originally posted by: Staar
I use the same map to perform file transfers via ftp. Today, one of the transfers took a while to complete. While it was running a few other processes tried to execute the ftp map using the command server and they all received the error 'Could not open work files'. Each card in the map is using the echo adapter and is being overwritten by the program calling it. I have a card for each ftp setting: user, password, IP address, secure, passive, binary, etc. Only 1 uses the file adapter. The output card uses the sink adapter.
=VALID(
PUT("FTP",
"-TV " + HEXTEXTTOSTREAM("22") + SUBSTITUTE(FTP_TraceFile, HEXTEXTTOSTREAM("22"), "") + HEXTEXTTOSTREAM("22") + " " + /*TRACE OPTION*/
IF(Passive = "Y","-PV ","") + /*PASSIVE OPTION*/
"-URL " + HEXTEXTTOSTREAM("22") + "ftp" + IF(Secure = "Y","s","") + "://" + SUBSTITUTE(FTP_User,"%","%25","@","%40","/","%2F",":","%3A",";","%3B") + ":" + SUBSTITUTE(FTP_PW,"%","%25","@","%40","/","%2F",":","%3A",";","%3B") + "@" + SUBSTITUTE(IP_Address,"%","%25","@","%40","/","%2F",":","%3A",";","%3B") + "/" + IF(SQUEEZE(FTP_Folder, HEXTEXTTOSTREAM("22")) = HEXTEXTTOSTREAM("22"), "",
SUBSTITUTE(FTP_Folder, HEXTEXTTOSTREAM("22"),"","%","%25","@","%40","/","%2F",":","%3A",";","%3B") + "/") + FTP_Filename +
IF(Binary = "Y",";type=I",";type=A") + HEXTEXTTOSTREAM("22"), DataToSend),
FAIL("FtpSendFile Failed: " + LASTERRORCODE() + LASTERRORMSG()))
Once the map completed sending the large file I was able to rerun the maps that failed and all were successful. Obviously this map fails when 2 instances execute at the same time. If each instance of the map used a different input file, what could the problem be? I've only heard of having to set a value to allow concurrent runs when using the event server, and not the command server. Do I have to do anything to allow concurrent map instances with the command server? Any info would be greatly appreciated...
#IBM-Websphere-Transformation-Extender#IBMSterlingTransformationExtender#DataExchange