Multi-Header CSV Files

I'm trying to create a CSV file with multiple headers like the below, how would I accomplish this?

 

0

Comments

2 comments
Date Votes
  • Hi Jack Harris,

    The format you've included above is more similar to the structure of an EDI document than a typical CSV.

    The easiest way to build something like that will be using our EDI Generator helper. I'll include some screenshots below and also a sample file generator I built to mimic your form structure (it's incomplete, but it should give you an idea of how it's done)

    If you're using an FTP import step, instead of choosing CSV, choose EDI X12 as the format. This will give you the option to use the EDI Generator helper. For making the sample for you, I started with a Generic 997. But you can replace it with the code I've included here.

    Building EDI files is not the simplest of tasks, so please let me know if you have any questions. 

     

    {
      "name": "Custom EDI file builder",
      "description": "Example for Jack Harris",
      "version": 1,
      "format": "delimited",
      "delimited": {
        "rowSuffix": "",
        "rowDelimiter": "\n",
        "colDelimiter": "|"
      },
      "skipEmptyEndColDelimiter": true,
      "rules": [
        {
          "name": "FH",
          "description": "First Header",
          "maxOccurrence": 1,
          "required": true,
          "elements": [
            {
              "name": "ReportingCode",
              "value": "Reporting Code"
            },
            {
              "name": "DepositorOrderNumber",
              "value": "Depositor Order Number"
            },
            {
              "name": "Date",
              "value": "Date"
            },
            {
              "name": "ShipmentID",
              "value": "Shipment ID"
            }
          ],
          "children": [
            {
              "name": "VFH",
              "description": "Values for First Header",
              "required": true,
              "maxOccurrence": 1,
              "elements": [
                {
                  "name": "ReportingCode",
                  "value": "{{reportingCode}}"
                },
                {
                  "name": "DepositorOrderNumber",
                  "value": "{{depositorOrderNumber}}"
                },
                {
                  "name": "Date",
                  "value": "{{date}}"
                },
                {
                  "name": "ShipmentID",
                  "value": "{{shipmentID}}"
                }
              ],
              "children": [
                {
                  "name": "SH",
                  "description": "Second Header",
                  "maxOccurrence": 1,
                  "required": true,
                  "elements": [
                    {
                      "name": "EntityIdCode",
                      "value": "Entity ID Code"
                    },
                    {
                      "name": "Name",
                      "value": "Name"
                    },
                    {
                      "name": "ID Type",
                      "value": "Entity Code"
                    }
                  ],
                  "children": [
                    {
                      "name": "VSH",
                      "maxOccurrence": 1,
                      "required": true,
                      "elements": [
                    {
                      "name": "EntityIdCode",
                      "value": "MF"
                    },
                    {
                      "name": "Name",
                      "value": "Jack's Company"
                    },
                    {
                      "name": "ID Type",
                      "value": ""
                    }
                  ],
                      "children": [
                        {
                          "name": "TH",
                          "description": "Third Header",
                          "relativeDataPath": "",
                          "maxOccurrence": 1000,
                          "required": false,
                          "elements": [
                            {
                              "name": "OrderStatus",
                              "value": "Order Status"
                            },
                            {
                              "name": "OrderedQuantity",
                              "value": "Ordered Quantity"
                            },
                            {
                              "name": "ShippedQuantity",
                              "value": "Shipped Quantity"
                            },
                            {
                              "name": "UomCode",
                              "value": "UOM Code"
                            }
                          ],
                          "children": [
                                {
                                  "name": "VTH",
                                  "maxOccurrence": 1000,
                                  "relativeDataPath": "lineItems",
                                  "required": false,
                                  "elements": [
                                {
                                  "name": "OrderStatus",
                                  "value": "{{orderStatus}}"
                                },
                                {
                                  "name": "OrderedQuantity",
                                  "value": "{{orderedQty}}"
                                },
                                {
                                  "name": "ShippedQuantity",
                                  "value": "{{shippedQty}}"
                                },
                                {
                                  "name": "UomCode",
                                  "value": "{{uomCode}}"
                                }
                              ]
                            }
                          ]
                        }
                      ]
                    }
                  ]
                }
              ]
            }
          ]
        }
      ]
    }
    1
  • That was so much easier than I was expecting. Thank you!!!!!

    0

Please sign in to leave a comment.

 

Didn't find what you were looking for?

New post