‎2007 Jul 08 4:03 PM
‎2007 Jul 08 5:24 PM
hi
Use Select Statement to transfer values from table to Internal table.
example.
Select * from mara into table itab1 where matnr = P_matnr.
Reward me if its helpful.
Regards
Ravi
‎2007 Jul 08 7:05 PM
hi,
If you know the table type, you should, for performance reasons, use the corresponding specific operation. For example, <b>you should use the APPEND[... TO statement to fill index tables, but INSERT ... INTO TABLE to fill hashed or generic tables.</b>
You can insert lines into internal tables either singly or in groups:
Inserting a Single Line
To add a line to an internal table, use the statement:
<b>INSERT <line> INTO TABLE <itab>.</b>
The following statement allows you to summate entries in an internal table:
<b>COLLECT <wa> INTO <itab>.</b>
<itab> must have a flat line type, and all of the fields that are not part of the table key must have a numeric type (F, I, or P). You specify the line that you want to add in a work area that is compatible with the line type.
for more information follow this link.
http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3a6d358411d1829f0000e829fbfe/content.htm
regards,
Ashok reddy
‎2007 Jul 08 7:09 PM
Hi,
There are several ways in which you can transfer data into internal table.
Eg:
data: begin of wa,
col1 type i,
col2 type i,
end of wa.
data itab like table of wa.
do 3 times.
wa-col1 = sy-index.
wa-col2 = sy-index ** 2.
append wa to itab.
enddo.
loop at itab into wa.
write:/ wa-col1,
wa-col2.
endloop.
Please Refer itab details in http://help.sap.com
Regards,
Hakim
Mark all useful answers
‎2007 Jul 09 4:36 AM
Hi Sivananda,
You can transfer data to internal table as follows:
<u><b>Transferring data from database to Internal table:</b></u>
select * from kna1 into table <b>i_kna1</b>
where kunnr = '0000000100'.
<b><u>Transferring data from Work area to Internal table:</u></b>
wa_kna1-kunnr = '101'.
wa_kna1-kunnr = 'aviva'.
append wa_kna1 to<b> i_kna1</b>.
wa_kna1-kunnr = '102'.
wa_kna1-kunnr = 'marko'.
append wa_kna1 to<b> i_kna1</b>.
Reward points for useful answers.
Regards,
Moqeeth.
‎2007 Jul 09 4:45 AM
hi,
this might healp you out
--
TABLES : VBAK,VBAP,MARA.
TYPE-POOLS : SLIS,ICON.
SELECT-OPTIONS : S_VBELN FOR VBAK-VBELN,
S_VBELN1 FOR VBAP-VBELN,
S_MATNR FOR MARA-MATNR.
--
TYPES : BEGIN OF TY_VBAK,
VBELN TYPE VBELN_VA,
ERDAT TYPE ERDAT,
ERZET TYPE ERZET,
ERNAM TYPE ERNAM,
END OF TY_VBAK.
TYPES : BEGIN OF TY_VBAP,
VBELN TYPE VBELN_VA,
POSNR TYPE POSNR_VA,
MATNR TYPE MATNR,
MATWA TYPE MATWA,
END OF TY_VBAP.
TYPES : BEGIN OF TY_MARA,
MATNR TYPE MATNR,
MTART TYPE MTART,
MBRSH TYPE MBRSH,
MATKL TYPE MATKL,
ANY(4) ,
END OF TY_MARA.
TYPES : TT_VBAK TYPE STANDARD TABLE OF TY_VBAK,
TT_VBAP TYPE STANDARD TABLE OF TY_VBAP,
TT_MARA TYPE STANDARD TABLE OF TY_MARA.
DATA : IT_VBAK TYPE TT_VBAK WITH HEADER LINE,
IT_VBAP TYPE TT_VBAP WITH HEADER LINE,
IT_MARA TYPE TT_MARA WITH HEADER LINE.
DATA : FCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
LAYOUT TYPE SLIS_LAYOUT_ALV,
EVENTS TYPE SLIS_T_EVENT.
--
START-OF-SELECTION.
SELECT VBELN
ERDAT
ERZET
ERNAM
FROM VBAK
INTO TABLE IT_VBAK
WHERE VBELN IN S_VBELN.
SELECT VBELN
POSNR
MATNR
MATWA
FROM VBAP
INTO TABLE IT_VBAP
WHERE VBELN IN S_VBELN1.
SELECT MATNR
MTART
MBRSH
MATKL
FROM MARA
INTO TABLE IT_MARA
WHERE MATNR IN S_MATNR.
--
FCAT-COL_POS = '1'.
FCAT-FIELDNAME = 'VBELN'.
FCAT-TABNAME = 'IT_VBAK'.
FCAT-OUTPUTLEN = '20'.
FCAT-SELTEXT_L = 'SALES DOCUMENT'.
FCAT-EMPHASIZE = 'C310'.
APPEND FCAT.
CLEAR FCAT.
FCAT-COL_POS = '2'.
FCAT-FIELDNAME = 'ERDAT'.
FCAT-TABNAME = 'IT_VBAK'.
FCAT-OUTPUTLEN = '20'.
FCAT-SELTEXT_L = 'DATE OF ENTRY'.
FCAT-EMPHASIZE = 'C410'.
APPEND FCAT.
CLEAR FCAT.
FCAT-COL_POS = '3'.
FCAT-FIELDNAME = 'EZETR'.
FCAT-TABNAME = 'IT_VBAK'.
FCAT-OUTPUTLEN = '20'.
FCAT-SELTEXT_L = 'TIME OF ENTRY'.
FCAT-EMPHASIZE = 'C510'.
APPEND FCAT.
CLEAR FCAT.
FCAT-COL_POS = '4'.
FCAT-FIELDNAME = 'ERNAM'.
FCAT-TABNAME = 'IT_VBAK'.
FCAT-OUTPUTLEN = '20'.
FCAT-SELTEXT_L = 'NAME OF ENTRY'.
FCAT-EMPHASIZE = 'C610'.
APPEND FCAT.
CLEAR FCAT.
‎2007 Jul 09 4:49 AM
<b>1.Using select statements</b>
*Code to demonstrate select command
*Code to demonstrate select into internal table command
TYPES: BEGIN OF t_bkpf,
* include structure bkpf.
bukrs LIKE bkpf-bukrs,
belnr LIKE bkpf-belnr,
gjahr LIKE bkpf-gjahr,
bldat LIKE bkpf-bldat,
monat LIKE bkpf-monat,
budat LIKE bkpf-budat,
xblnr LIKE bkpf-xblnr,
awtyp LIKE bkpf-awtyp,
awkey LIKE bkpf-awkey,
END OF t_bkpf.
DATA: it_bkpf TYPE STANDARD TABLE OF t_bkpf INITIAL SIZE 0,
wa_bkpf TYPE t_bkpf.
TYPES: BEGIN OF t_bseg,
*include structure bseg.
bukrs LIKE bseg-bukrs,
belnr LIKE bseg-belnr,
gjahr LIKE bseg-gjahr,
buzei LIKE bseg-buzei,
mwskz LIKE bseg-mwskz, "Tax code
umsks LIKE bseg-umsks, "Special G/L transaction type
prctr LIKE bseg-prctr, "Profit Centre
hkont LIKE bseg-hkont, "G/L account
xauto LIKE bseg-xauto,
koart LIKE bseg-koart,
dmbtr LIKE bseg-dmbtr,
mwart LIKE bseg-mwart,
hwbas LIKE bseg-hwbas,
aufnr LIKE bseg-aufnr,
projk LIKE bseg-projk,
shkzg LIKE bseg-shkzg,
kokrs LIKE bseg-kokrs,
END OF t_bseg.
DATA: it_bseg TYPE STANDARD TABLE OF t_bseg INITIAL SIZE 0,
wa_bseg TYPE t_bseg.
*Select directly into an internal table
SELECT bukrs belnr gjahr buzei mwskz umsks prctr hkont xauto koart
dmbtr mwart hwbas aufnr projk shkzg kokrs
FROM bseg
INTO TABLE it_bseg.
* Select directly into an internal table where fields are in a
* different order or not all fields are specified
SELECT bukrs belnr gjahr buzei mwskz umsks prctr hkont xauto koart
dmbtr mwart hwbas aufnr projk shkzg kokrs
FROM bseg
INTO CORRESPONDING FIELDS OF TABLE it_bseg.
*Select... endselect command
SELECT bukrs belnr gjahr buzei mwskz umsks prctr hkont xauto koart
dmbtr mwart hwbas aufnr projk shkzg kokrs
FROM bseg
INTO wa_bseg.
APPEND wa_bseg TO it_bseg.
ENDSELECT.
*Select FOR ALL ENTRIES command
SELECT bukrs belnr gjahr bldat monat budat xblnr awtyp awkey
UP TO 100 ROWS
FROM bkpf
INTO TABLE it_bkpf.
IF sy-subrc EQ 0.
* The FOR ALL ENTRIES comand only retrieves data which matches
* entries within a particular internal table.
SELECT bukrs belnr gjahr buzei mwskz umsks prctr hkont xauto koart
dmbtr mwart hwbas aufnr projk shkzg kokrs
FROM bseg
INTO TABLE it_bseg
FOR ALL ENTRIES IN it_bkpf
WHERE bukrs EQ it_bkpf-bukrs AND
belnr EQ it_bkpf-belnr AND
gjahr EQ it_bkpf-gjahr.
ENDIF. <b>2.COLLECT wa INTO itab [result].</b>
Example :
DATA: BEGIN OF seats,
carrid TYPE sflight-carrid,
connid TYPE sflight-connid,
seatsocc TYPE sflight-seatsocc,
END OF seats.
DATA seats_tab LIKE HASHED TABLE OF seats
WITH UNIQUE KEY carrid connid.
SELECT carrid connid seatsocc
FROM sflight
INTO seats.
COLLECT seats INTO seats_tab.
ENDSELECT<b>
3.APPEND line_spec TO itab [SORTED BY comp] [result].</b>
Example :
PARAMETERS: p_carrid TYPE sflight-carrid,
p_connid TYPE sflight-connid.
DATA: BEGIN OF seats,
fldate TYPE sflight-fldate,
seatsocc TYPE sflight-seatsocc,
seatsmax TYPE sflight-seatsmax,
seatsfree TYPE sflight-seatsocc,
END OF seats.
DATA seats_tab LIKE STANDARD TABLE OF seats
INITIAL SIZE 3.
SELECT fldate seatsocc seatsmax
FROM sflight
INTO seats
WHERE carrid = p_carrid AND
connid = p_connid.
seats-seatsfree = seats-seatsmax - seats-seatsocc.
APPEND seats TO seats_tab SORTED BY seatsfree.
ENDSELECT.
<b>
3.INSERT line_spec INTO itab_position [result].</b>
Example :
DATA: int TYPE i,
dref TYPE REF TO i.
DATA: int_tab LIKE STANDARD TABLE OF int,
ref_tab LIKE HASHED TABLE OF dref
WITH UNIQUE KEY table_line.
DO 10 TIMES.
INSERT sy-index
INTO int_tab INDEX 1
REFERENCE INTO dref.
INSERT dref
INTO TABLE ref_tab.
ENDDO.
LOOP AT int_tab INTO int.
WRITE / int.
ENDLOOP.
SKIP.
LOOP AT ref_tab INTO dref.
WRITE / dref->*.
ENDLOOP.
reward points if it is usefull.......
Girish
‎2007 Jul 09 5:33 AM
Hi sivananda,
This code will help you tranfer data to internal table.
1.DATA IS MOVING FROM ORIGINAL TABLE TO ITAB.
*****************************************************************
TABLES:EKKO.
DATA ITAB LIKE EKKO OCCURS 0 WITH HEADER LINE.
SELECT * FROM EKKO INTO TABLE ITAB.
2, DATA IS MOVING FROM DYNPRO SCREEN TO ITAB.
********************************************************************
TABLES: ZRFQ.
DATA ITAB LIKE ZRFQ OCCURS 0 WITH HEADER LINE.
ITAB-ASART = ZRFQ-ASART.
ITAB-SPRAS = ZRFQ-SPRAS.
ITAB-ANFDT = ZRFQ-ANFDT.
ITAB-ANGDT = ZRFQ-ANGDT.
ITAB-ANFNR = ZRFQ-ANFNR.
ITAB-EKORG = ZRFQ-EKORG.
ITAB-EKGRP = ZRFQ-EKGRP.
APPEND ITAB.
3.YOU CAN MOVE DATA DIRECTLY TO ITAB.
******************************************************
MOVE 10 TO ZRFQ-PINCR.
IF USEFULL REWARD