Hi,
You are Declaring changing = i_fieldcat but before that Are You passing the value ?
otherwise from where it will take value ?
Declare in proper sequence.
You can do 1 things.
1)at first declare create field catalog or create field catalog then pass value./or declare structure globally in se11.
2)otherwise Create some perform (subroutine) in proper sequence.
It is very basic question.
Try like this.
http://wiki.sdn.sap.com/wiki/display/Snippets/Field+catalog+in+ALV(OOPS)
Hope it will solve your problem.
Thanks
Gourav.