//
// time: Wed Apr  9 15:32:47 1997
//
// version: 3.1.1 (format), 3.1.4 (DX Beta)
//
//
// MODULE main
//
// comment: This visual program imports a simple table of data for a list of state names, and checks for duplicate values. Include is used to flag any state which had more than one line in the file, and a message is posted to the user of which states appeared in the file more than once. This would be useful for very large files.
// workspace: width = 404, height = 607
// layout: snap = 0, width = 50, height = 50, align = NN
//
macro main(
) -> (
) {
    // 
    // node ImportSpreadsheet[2]: x = 30, y = 13, inputs = 10, label = ImportSpreadsheet
    // input[1]: defaulting = 0, visible = 1, type = 32, value = "salesdata.data"
    // input[9]: defaulting = 1, visible = 0, type = 1, value = 1
    // input[10]: defaulting = 0, visible = 0, type = 1, value = 1
    //
main_ImportSpreadsheet_2_out_1,
main_ImportSpreadsheet_2_out_2 = 
    ImportSpreadsheet(
    main_ImportSpreadsheet_2_in_1,
    main_ImportSpreadsheet_2_in_2,
    main_ImportSpreadsheet_2_in_3,
    main_ImportSpreadsheet_2_in_4,
    main_ImportSpreadsheet_2_in_5,
    main_ImportSpreadsheet_2_in_6,
    main_ImportSpreadsheet_2_in_7,
    main_ImportSpreadsheet_2_in_8,
    main_ImportSpreadsheet_2_in_9,
    main_ImportSpreadsheet_2_in_10
    ) [instance: 2, cache: 1];
    // 
    // node Categorize[1]: x = 40, y = 103, inputs = 2, label = Categorize
    // input[2]: defaulting = 0, visible = 1, type = 16777248, value = {"state"}
    //
main_Categorize_1_out_1 = 
    Categorize(
    main_ImportSpreadsheet_2_out_1,
    main_Categorize_1_in_2
    ) [instance: 1, cache: 1];
    // 
    // node CategoryStatistics[2]: x = 31, y = 202, inputs = 5, label = CategoryStatistics
    // input[2]: defaulting = 0, visible = 1, type = 32, value = NULL
    // input[3]: defaulting = 0, visible = 1, type = 32, value = "state"
    // input[4]: defaulting = 0, visible = 1, type = 32, value = "sales"
    //
main_CategoryStatistics_2_out_1 = 
    CategoryStatistics(
    main_Categorize_1_out_1,
    main_CategoryStatistics_2_in_2,
    main_CategoryStatistics_2_in_3,
    main_CategoryStatistics_2_in_4,
    main_CategoryStatistics_2_in_5
    ) [instance: 2, cache: 1];
    // 
    // node Include[2]: x = 25, y = 299, inputs = 6, label = Include
    // input[2]: defaulting = 0, visible = 1, type = 5, value = 1.5
    // input[5]: defaulting = 1, visible = 1, type = 3, value = NULL
    // input[6]: defaulting = 0, visible = 1, type = 3, value = 1
    //
main_Include_2_out_1 = 
    Include(
    main_CategoryStatistics_2_out_1,
    main_Include_2_in_2,
    main_Include_2_in_3,
    main_Include_2_in_4,
    main_Include_2_in_5,
    main_Include_2_in_6
    ) [instance: 2, cache: 1];
    // 
    // node Lookup[1]: x = 66, y = 424, inputs = 7, label = Lookup
    // input[2]: defaulting = 0, visible = 1, type = 32, value = "state lookup"
    // input[3]: defaulting = 0, visible = 1, type = 32, value = "positions"
    // input[4]: visible = 1
    // input[5]: visible = 1
    // input[6]: defaulting = 0, visible = 1, type = 32, value = "data"
    // input[7]: visible = 1
    //
main_Lookup_1_out_1 = 
    Lookup(
    main_Include_2_out_1,
    main_Lookup_1_in_2,
    main_Lookup_1_in_3,
    main_Lookup_1_in_4,
    main_Lookup_1_in_5,
    main_Lookup_1_in_6,
    main_Lookup_1_in_7
    ) [instance: 1, cache: 1];
    // 
    // node Extract[22]: x = 129, y = 522, inputs = 2, label = Extract
    //
main_Extract_22_out_1 = 
    Extract(
    main_Lookup_1_out_1,
    main_Extract_22_in_2
    ) [instance: 22, cache: 1];
    // 
    // node Format[1]: x = 220, y = 543, inputs = 3, label = Format
    // input[1]: defaulting = 0, visible = 1, type = 32, value = "duplicate state name: %s"
    //
main_Format_1_out_1 = 
    Format(
    main_Format_1_in_1,
    main_Extract_22_out_1,
    main_Format_1_in_3
    ) [instance: 1, cache: 1];
    // 
    // node Message[1]: x = 332, y = 545, inputs = 3, label = Message
    // input[3]: defaulting = 0, visible = 1, type = 3, value = 1
    //
    Message(
    main_Format_1_out_1,
    main_Message_1_in_2,
    main_Message_1_in_3
    ) [instance: 1, cache: 1];
// network: end of macro body
}
main_ImportSpreadsheet_2_in_1 = "salesdata.data";
main_ImportSpreadsheet_2_in_2 = NULL;
main_ImportSpreadsheet_2_in_3 = NULL;
main_ImportSpreadsheet_2_in_4 = NULL;
main_ImportSpreadsheet_2_in_5 = NULL;
main_ImportSpreadsheet_2_in_6 = NULL;
main_ImportSpreadsheet_2_in_7 = NULL;
main_ImportSpreadsheet_2_in_8 = NULL;
main_ImportSpreadsheet_2_in_9 = NULL;
main_ImportSpreadsheet_2_in_10 = 1;
main_ImportSpreadsheet_2_out_1 = NULL;
main_Categorize_1_in_2 = {"state"};
main_Categorize_1_out_1 = NULL;
main_CategoryStatistics_2_in_2 = NULL;
main_CategoryStatistics_2_in_3 = "state";
main_CategoryStatistics_2_in_4 = "sales";
main_CategoryStatistics_2_in_5 = NULL;
main_CategoryStatistics_2_out_1 = NULL;
main_Include_2_in_2 = 1.5;
main_Include_2_in_3 = NULL;
main_Include_2_in_4 = NULL;
main_Include_2_in_5 = NULL;
main_Include_2_in_6 = 1;
main_Include_2_out_1 = NULL;
main_Lookup_1_in_2 = "state lookup";
main_Lookup_1_in_3 = "positions";
main_Lookup_1_in_4 = NULL;
main_Lookup_1_in_5 = NULL;
main_Lookup_1_in_6 = "data";
main_Lookup_1_in_7 = NULL;
main_Lookup_1_out_1 = NULL;
main_Extract_22_in_2 = NULL;
main_Extract_22_out_1 = NULL;
main_Format_1_in_1 = "duplicate state name: %s";
main_Format_1_in_3 = NULL;
main_Format_1_out_1 = NULL;
main_Message_1_in_2 = NULL;
main_Message_1_in_3 = 1;
Executive("product version 3 1 4");
$sync
main();
