Well here's the thing, your Header rows probably have VERY different metadata than your detail rows, so you would need to have just ONE column in the flat file connection manager, then AFTER you split the data into Header/Detail, you would then parse out
all the columns using conditional splits.
Why not jump in with two feet and learn how to use the Script task? We'll help (there's plenty of it in this forum).
Add a file
Connection Manager to your package (NOT a FLAT file, just a regular file)
Add a Data Flow, and in that add a Script Transform, set it to Source Open it and on the Inputs and Outputs tab, add three outputs, one each for Header, Detail, and Footer paths, and add all the columns associated with each.
On the Connection Managers tab, add the File Connection Manager from Step 1. On the Script Tab, click Edit Script Under the Public Overrides Sub CreateNewOutputRows() function: take a look at the following code snippets for examples of what to do:
As IDTSConnectionManager100 =
dataLine = readS.ReadLine()
.MyField1 = <something>
.MyField1 = <something else>
You will need to put in your own logic to test if the row is a Header, Detail, or Footer and write to the appropriate OutputBuffer accordingly.