Hii Abhi,
You can easily achieve your requirement by using FM 'REUSE_ALV_GRID_DISPLAY'.
you don't have to create fieldcatalog as you are directly passing your ztable name in the I_STRUCTURE_NAME parameter of the FM .
Here is the sample code for your understanding,
TABLES SBOOK.
DATA: t_sbook TYPE STANDARD TABLE OF sbook. "Declare your internal table as your ztable type
SELECT-OPTIONS s_cid FOR sbook-carrid.
START-OF-SELECTION.
SELECT *
FROM sbook
INTO TABLE t_sbook
WHERE carrid IN s_cid.
IF sy-subrc EQ 0.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = sy-repid
I_STRUCTURE_NAME = 'SBOOK' "your Ztable name
TABLES
t_outtab = t_sbook "Your internal table name
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
ENDIF.
This code is all about displaying all the fields of a database table in alv grid.
Have any doubt then feel free to post.
Regards
Syed