GetFilesFromFTPServer.ds

Review the GetFilesFromFTPServer.ds referenced script files when scheduling inventory imports.

Note: This code is provided as a sample. It isn't a supported part of the SiteGenesis application.

/**
 * Connected to FTP server.
 *
 * @input Hostname   : String    The host name
 * @input Username   : String    The user name
 * @input Password   : String    The password
 * @input Directory  : String    The directory
 * @input sampleLogger  : Object Sample logger input for Sample logger
 * @output sampleLogger : Object Sample logger debug output for Sample logger
 * @output sampleError  : Object Sample error error output for Sample logger
 */
importPackage(dw.system);
importPackage(dw.net);



// Sample Logging ImportScript
importScript("bc_sample:library/common/libContext.ds");
importScript("bc_sample:library/utility/exception/libsampleException.ds");
importScript("bc_sample:library/utility/logging/libLog.ds");



function execute(pdict: PipelineDictionary): Number {
    // Sample Logging var
    var _context: String = new Context("GetFilesFromFTPServer.ds");
    var _logger: Log = Log.getLogger(pdict);

    var scriptName: String = "bc_sample:pipelets/impex/GetFilesFromFTPServer.ds";

    if (Logger.isDebugEnabled()) {

        Logger.debug(scriptName + ": BEGIN");
    }

    //*** get script parameters ***//
    var host: String = pdict.Hostname;
    var userName: String = pdict.Username;
    var password: String = pdict.Password;

    var ftpClient: FTPClient = new FTPClient();
    var connectedFlag: Boolean = false;

    try {

        connectedFlag = ftpClient.connect(host, userName, password);
    } catch (e) {
        // Sample Logging wrap error into custom exception
        var exception: sampleException = new sampleException(_context, scriptName + ': Error connecting to FTP server: ' + +host + '\n' + e.message, e);

        // Sample Logging call into error handler
        _logger.error(_context, scriptName + ': Error connecting to FTP server: ' + +host + '\n' + e.message + exception);
        pdict.sampleError = exception;

        return PIPELET_ERROR;
    }

    if (connectedFlag) {

        if (Logger.isDebugEnabled()) {

            _logger.debug(_context, scriptName + ': Connected to host: ' + host);
        }

        try {

            /*var files = ftpClient.list();
   for each (var file : FTPFileInfo in files) {
   
    Logger.debug("---> " + file.name);
   }*/

            ftpClient.disconnect();

            if (Logger.isDebugEnabled()) {

                _logger.debug(_context, scriptName + ': Disconnected from host: ' + host);
            }
        } catch (e) {

            _logger.error(_context, scriptName + ': FTP opreration failed: ' + e.message);

            return PIPELET_ERROR;
        }
    } else {

        if (Logger.isDebugEnabled()) {

            _logger.debug(_context, scriptName + ': Could not connect to host: ' + host);
        }

        return PIPELET_ERROR;
    }

    //*** set script output parameters ***//


    if (Logger.isDebugEnabled()) {

        _logger.debug(_context, scriptName + ": END");
    }

    return PIPELET_NEXT;
}
X Privacy Update: We use cookies to make interactions with our websites and services easy and meaningful, to better understand how they are used. By continuing to use this site you are giving us your consent to do this. Privacy Policy.