Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Create Column in Run Time

Former Member
0 Likes
375

Hi Genius,

I have one selection screen.

based on the my selection screen i have create column at run time and move data for each column.

here i write a coding for create column in run time .

but i dont know procedure for how to move my GT_BOOK Data into the GT_final.

Pls check following code

COLUMN HEADING :

ORDER_TYPE     DETAIL     STOCK      01.01.2013     02.01.2013     03.01.2013  ..........  31.01.2013


TYPE-POOLS : SLIS.

TABLES : ZFDRBOOKING.

TYPES : BEGIN OF TY_BOOK,
         EXTWG          TYPE ZFDRBOOKING-EXTWG,
         KUNNR          TYPE ZFDRBOOKING-KUNNR,
         BOOKNO         TYPE ZFDRBOOKING-BOOKNO,
         CUSTOMERNAME   TYPE ZFDRBOOKING-CUSTOMERNAME,
         CUSTOMERMOBILE TYPE ZFDRBOOKING-CUSTOMERMOBILE,
         MJAHR          TYPE ZFDRBOOKING-MJAHR,
         BOOKDATE       TYPE ZFDRBOOKING-BOOKDATE,
         BOOKQTY        TYPE ZFDRBOOKING-BOOKQTY,
         BOOKSTATUS     TYPE ZFDRBOOKING-BOOKSTATUS,
        END OF TY_BOOK.



DATA : GT_BOOK    TYPE TABLE OF TY_BOOK.


DATA : GS_BOOK    TYPE TY_BOOK.

DATA : GT_FIELDCAT TYPE LVC_T_FCAT,                                          "slis_t_fieldcat_alv,
            GS_FIELDCAT TYPE LVC_S_FCAT.                                         "LIKE LINE OF gt_fieldcat.

FIELD-SYMBOLS: <GT_DYNTABLE> TYPE TABLE,    " Dynamic internal table name

                <FS_DYNTABLE>,                       " Field symbol to create work area

                 <FS_FLDVAL> TYPE ANY.


DATA : GT_FINAL TYPE REF TO DATA,
        GS_final  LIKE GT_FINAL.                    "“ Field symbol to assign values


DATA: LV_DATE TYPE I,
       S_NO TYPE I.

SELECT-OPTIONS : S_BUDAT FOR ZFDRBOOKING-BOOKDATE.

START-OF-SELECTION.

   IF S_BUDAT IS NOT INITIAL.
     LV_DATE = S_BUDAT-HIGH - S_BUDAT-LOW + 3.

     DO LV_DATE TIMES.
       S_NO = S_NO + 4.
       CASE: S_NO.
         WHEN '1'.
           GS_FIELDCAT-COL_POS    = S_NO.
           GS_FIELDCAT-FIELDNAME  = 'Order_Type'.
           GS_FIELDCAT-SELTEXT    = 'Order Type'.
           APPEND GS_FIELDCAT TO GT_FIELDCAT.
           CLEAR GS_FIELDCAT.
         WHEN '2'.
           GS_FIELDCAT-COL_POS    = S_NO.
           GS_FIELDCAT-FIELDNAME  = 'Detail'.
           GS_FIELDCAT-SELTEXT    = 'Detail'.
           APPEND GS_FIELDCAT TO GT_FIELDCAT.
           CLEAR GS_FIELDCAT.
         WHEN '3'.
           GS_FIELDCAT-COL_POS    = S_NO.
           GS_FIELDCAT-FIELDNAME  = 'Stock'.
           GS_FIELDCAT-SELTEXT   = 'Stock'.
           APPEND GS_FIELDCAT TO GT_FIELDCAT.
           CLEAR GS_FIELDCAT.
         WHEN '4'.
           GS_FIELDCAT-COL_POS    = S_NO.
           GS_FIELDCAT-FIELDNAME  = 'EXTWG'.
           GS_FIELDCAT-SELTEXT   =  'GROUP'.
           APPEND GS_FIELDCAT TO GT_FIELDCAT.
           CLEAR GS_FIELDCAT.
         WHEN OTHERS.
           GS_FIELDCAT-COL_POS    = S_NO.
           GS_FIELDCAT-FIELDNAME  = S_BUDAT-LOW.
           GS_FIELDCAT-SELTEXT    = S_BUDAT-LOW.
           APPEND GS_FIELDCAT TO GT_FIELDCAT.
           S_BUDAT-LOW = S_BUDAT-LOW + 1.
       ENDCASE.
     ENDDO.
     SORT GT_FIELDCAT BY COL_POS.
   ENDIF.

   DATA : GT_TABLE TYPE REF TO DATA.

   CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE
     EXPORTING
       IT_FIELDCATALOG = GT_FIELDCAT[]
     IMPORTING
       EP_TABLE        = GT_TABLE.

   GT_FINAL = GT_TABLE.

   ASSIGN GT_FINAL->* TO <GT_DYNTABLE>.

* Create dynamic work area and assign to FS

   CREATE DATA :  GS_FINAL LIKE LINE OF <GT_DYNTABLE>.

   ASSIGN GS_final->* TO <FS_DYNTABLE>.


   SELECT EXTWG KUNNR BOOKNO CUSTOMERNAME CUSTOMERMOBILE
           MJAHR BOOKDATE BOOKQTY BOOKSTATUS
      FROM ZFDRBOOKING
      INTO TABLE GT_BOOK
     WHERE BOOKDATE IN S_BUDAT
       AND EXTWG = '00010'.

     LOOP AT GT_BOOK INTO GS_BOOK.

     Here how to move my gt_book data into gt_final table based on the column heading.

     ENDLOOP.

Pls anyone help to me...

1 REPLY 1
Read only

Former Member
0 Likes
341

Hi Subramani ,

First check for the column heading created at the time of run.

Read that internal table in which those column heading is present in between this loop for gt_book.

Then use move corresponding from the work area of gt_book to work area of gt_final.

Then at last append those value from work area of gt_final to internal table of gt_final.

Hope this will help ....