• Like this?

    "Select "+(DT_STR, 20, 1252)@[User::BatchID] + " as BatchID, '" +@[User::BatchDateISO] + "' as BatchDateISO, 'FH' as RecordType, 'AS400' as SourceSystem, " +RIGHT("00" + (DT_STR, 10, 1252)@[User::BatchID],2) + @[User::BatchDateISO] + " as FileLoadNumber"

    Your expression references FileLoadNumber variable, which you did not say what its value is or where it fits in, But why are you doing that crazy case?

    Simple RIGHT("00" + (DT_STR, 10, 1252)@[User::BatchID],2) will Create a string 009, and then take the Right 2 characters, ie 09. if the batch id is 19 then it will create a string 0019 and then take the Right 2 chars getting 19.