Grouping by column in Internal table
Dear folks,
I have an internal table and my aim is to group its contents (just like we have the GROUP BY statement in normal sql).
How can we group the contents in an internal table?.
any hint will be appreciated.
Thanks
Praveen
Hi Praveen A N,
Sort your internalt table by your requirment.
See this example program for sort.
DATA: BEGIN OF LINE,
LAND(3) TYPE C,
NAME(10) TYPE C,
AGE TYPE I,
WEIGHT TYPE P DECIMALS 2,
END OF LINE.
DATA ITAB LIKE STANDARD TABLE OF LINE WITH NON-UNIQUE KEY LAND.
LINE-LAND = 'G'. LINE-NAME = 'Hans'.
LINE-AGE = 20. LINE-WEIGHT = '80.00'.
APPEND LINE TO ITAB.
LINE-LAND = 'USA'. LINE-NAME = 'Nancy'.
LINE-AGE = 35. LINE-WEIGHT = '45.00'.
APPEND LINE TO ITAB.
LINE-LAND = 'USA'. LINE-NAME = 'Howard'.
LINE-AGE = 40. LINE-WEIGHT = '95.00'.
APPEND LINE TO ITAB.
LINE-LAND = 'GB'. LINE-NAME = 'Jenny'.
LINE-AGE = 18. LINE-WEIGHT = '50.00'.
APPEND LINE TO ITAB.
LINE-LAND = 'F'. LINE-NAME = 'Michele'.
LINE-AGE = 30. LINE-WEIGHT = '60.00'.
APPEND LINE TO ITAB.
LINE-LAND = 'G'. LINE-NAME = 'Karl'.
LINE-AGE = 60. LINE-WEIGHT = '75.00'.
APPEND LINE TO ITAB.
PERFORM LOOP_AT_ITAB.
SORT ITAB.
PERFORM LOOP_AT_ITAB.
SORT ITAB.
PERFORM LOOP_AT_ITAB.
SORT ITAB STABLE.
PERFORM LOOP_AT_ITAB.
SORT ITAB DESCENDING BY LAND WEIGHT ASCENDING.
PERFORM LOOP_AT_ITAB.
FORM LOOP_AT_ITAB.
LOOP AT ITAB INTO LINE.
WRITE: / LINE-LAND, LINE-NAME, LINE-AGE, LINE-WEIGHT.
ENDLOOP.
SKIP.
ENDFORM.
The output is:
G Hans 20 80.00
USA Nancy 35 45.00
USA Howard 40 95.00
GB Jenny 18 50.00
F Michele 30 60.00
G Karl 60 75.00
F Michele 30 60.00
G Hans 20 80.00
G Karl 60 75.00
GB Jenny 18 50.00
USA Howard 40 95.00
USA Nancy 35 45.00
F Michele 30 60.00
G Karl 60 75.00
G Hans 20 80.00
GB Jenny 18 50.00
USA Howard 40 95.00
USA Nancy 35 45.00
F Michele 30 60.00
G Karl 60 75.00
G Hans 20 80.00
GB Jenny 18 50.00
USA Howard 40 95.00
USA Nancy 35 45.00
USA Nancy 35 45.00
USA Howard 40 95.00
GB Jenny 18 50.00
G Karl 60 75.00
G Hans 20 80.00
F Michele 30 60.00
Reward if it is useful,
Mahi.
Similar Messages
-
How to Delete a Column in Internal Table
Hi All,
Does any one know ,How to Delete a Column in Internal Table?Hi,
For deleting the column in the internal table, you have to eliminate the field which you want to delete.
loop at itab into wa.
move corresponding wa to wa1.
append wa1 to itab1.
clear wa1.
clear wa.
endloop.
wa1 is the workarea without the field which you want to delete.
itab1 is the internal table which consists of the deleted column. -
Function module to find the columns in Internal table
Hi Group,
Is there any function module which displays the columns of the internal table. I guess there is one cos when we debug any program and select the "Tables" button while debugging and enter an internal table and then do a "Find" the pop up which comes up shows the internal table columns. As this functionality is in the debugger which I cannot debug hence was wondering if some one has come across any such function module. Thanks in advance.
Regards,
Ankur Bhandari
[email protected]Hi again,
1. In the above FM
Pass Program as SY-REPID (U cann pass other prg name also)
in FieldName Pass the name of the internal table
eg. 'ITAB'
2. This FM will give u the details of the
internal table.
The u can display the COMPONENTS table
using ALV or anyother method u like.
Regards,
Amit M. -
How do i group the columns of a table for a given row?
Hi,
I have a situation where i need to display a table that has a column for every day of a given period of time. But the first two rows of the table should be grouped in such a way that each cell of the first row covers the seven columns of the rows below. how do i accomplish this in web dynpro abap table controls?Hi,
Dynamic TABLE UI element generation and internal table
Re: Dynamic Tables and UI
Re: Dynamic Programing
Regards,
Lekha. -
How to add a group of rows in internal table
Hi champs,
I have some requirement.
I have one internal table which contain 4 columns .out of which 3 has some numeric value and first has some letters e.g A ,B,C etc.
Now suppose i have 20 rows in itab in which 10 are A 5 are B and 5 are C .Now as column 3 has numeric values i need to get the total of column 3 for all A ,B and C .
How to solve this problem.Please guid me.
thanks in advance
JhonHi,
Check the following code:
DATA: BEGIN OF LINE,
COL1 TYPE C,
COL2 TYPE I,
COL3 TYPE I,
END OF LINE.
DATA ITAB LIKE HASHED TABLE OF LINE
WITH UNIQUE KEY COL1 COL2.
LINE-COL1 = 'A'.
DO 3 TIMES.
LINE-COL2 = SY-INDEX.
LINE-COL3 = SY-INDEX ** 2.
INSERT LINE INTO TABLE ITAB.
ENDDO.
LINE-COL1 = 'B'.
DO 3 TIMES.
LINE-COL2 = 2 * SY-INDEX.
LINE-COL3 = ( 2 * SY-INDEX ) ** 2.
INSERT LINE INTO TABLE ITAB.
ENDDO.
SORT ITAB.
LOOP AT ITAB INTO LINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
AT END OF COL1.
SUM.
ULINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
SKIP.
ENDAT.
AT LAST.
SUM.
ULINE.
WRITE: / LINE-COL1, LINE-COL2, LINE-COL3.
ENDAT.
ENDLOOP.
Regards,
Bhaskar -
Grouping of rows of internal table.
Hi all,
I am having a requirement in which I want to group two rows of an internal table and assign a pointer to the two rows.
This pointer variable will then be passed to ALV.
Help reqd.
regards.hi,
AT - itab:
push F1 to look at the documentation for grouping
then assign the value to a field-symbol. -
Urgent problem: grouping by fields of internal table
Hi friend,
i have a urgent problem and i hope that you can help me out:
i have an internal table containing data, and i sorted it by 3 fields.
now what i want to do is kind of grouping that means that all the lines that are the same should be written into another internal table like this:
A
A
B
B
B
C
D
would give me:
A 1
A 1
B 2
B 2
B 2
C 3
D 4
How could i do this ( especially avoiding nested loops ? ) Is there a handy trick to do this efficiently ?
thank you, i will give points immediately,
ClemensHello,
The field position is important for the fields that are using in the control break statements..Also SORT internal table is required.
http://help.sap.com/saphelp_nw2004s/helpdata/en/fc/eb381a358411d1829f0000e829fbfe/content.htm
DATA: BEGIN OF ITAB OCCURS 0,
MATNR TYPE MATNR,
WERKS TYPE WERKS_D,
VALUE TYPE NETPR,
END OF ITAB.
ITAB-MATNR = 'ABC'.
ITAB-WERKS = '0100'.
ITAB-VALUE = '10.00'.
APPEND ITAB.
ITAB-MATNR = '1ABC'.
ITAB-WERKS = '0100'.
ITAB-VALUE = '10.00'.
APPEND ITAB.
SORT ITAB BY MATNR WERKS.
LOOP AT ITAB.
AT FIRST.
WRITE : 'AT FIRST'.
ENDAT.
AT NEW MATNR.
WRITE : 'AT NEW MATERIAL NUMBER'.
ENDAT.
AT END OF MATNR.
SUM.
WRITE: / ITAB-MATNR, 'MATERIAL TOTAL - ', ITAB-VALUE.
ENDAT.
AT END OF WERKS.
SUM.
WRITE: / ITAB-WERKS, 'PLANT TOTAL - ', ITAB-VALUE.
ENDAT.
AT LAST.
WRITE : 'AT LAST'.
ENDAT.
ENDLOOP.
Regards,
Deepu.K -
Inserting columns from internal table to a database table!
Hi people,
How do I go about to insert columns from an internal table -intab- into an data base table -dbtab-. These tables contain some similar columns, not all.
A code example would be much appriciated!
/Arminhi armin,
INSERT dbtab FROM TABLE itab. oder
INSERT (dbtabname) FROM TABLE itab.
Extras:
1. ... CLIENT SPECIFIED
2. ... ACCEPTING DUPLICATE KEYS
3. ... CONNECTION con
Effect
Mass insert: All lines of the internal table itab are inserted in one single operation. The lines of itab must fulfill the same conditions as the work area wa in variant 1.
When the command has been executed, the system field SY-DBCNT contains the number of inserted lines.
The Return Code is set as follows:
SY-SUBRC = 0:
All lines successfully inserted. Any other result causes a runtime error.
Note
If the internal table itab is empty, SY-SUBRC and SY-DBCNT are set to 0 after the call.
Addition 1
... CLIENT SPECIFIED
Effect
As with variant 1.
Addition 2
... ACCEPTING DUPLICATE KEYS
Effect
If a line cannot be inserted, the system does not
terminate with a runtime error but only sets the return value SY-SUBRC to 4. All other lines are inserted after the command is executed.
hope this helps,
do reward if it helps,
priya. -
Reading particular column from internal table
Hi
I am having one internal table with one row. I know the column number. I want to read that particular column value. What should I add with the below statement.
Read table itab index 1.
This will give me the whole row. I want only the particular column.
Please help me to solve this issue
Thanks.Hi,
FIELD-SYMBOLS <FS_ANY>
ASSIGN COMPONENT N OF STRCUTURE OF WORKAREA TO <FS_ANY>
WRITE <FS_ANY>
Where n is the column number and workarea is the row of the internal table.
Rgards,
Ravi
Note : Please mark the helpful answers -
Grouping records in an internal table
Dear all,
Pls follow the code and suggest me to get the specified format.
Consider that i have created a view to populate the reqd data and collect those in an internal table and do a calculation for one field and modify the internal table.
when i pass this internal table to the function reuse_alv_grid , it throws out a report. But if i need to group the records of the internal table based on three fields, can i do that , if so , how should i do that, if not what method shud i adopt to get the grouped listing in ALV.
kindly give your views.
Code goes here..........
select distinct edatu j_3akvgr6 mvgr4 matnr bismt vbeln auart bstkd bstkd_e ihrez_e
bstdk_e bstdk bezei vrvez brgew ntgew volum werks kwmeng j_3asize posnr
INTO CORRESPONDING FIELDS OF TABLE itabdelshd
from ZVDELISHED
where J_3AKVGR6 IN CUSTOMER AND AUART IN ORDTYP
AND BISMT IN STYLE AND MATNR in FGMtrl AND bstdk_e IN PLNDATE
AND J_3ASIZE IN GRIDVAL and werks in plant and mvgr4 in ppmon and
bstkd in cpono and vbeln in Sales.
LOOP AT itabdelshd INTO wadelshd.
select sum( wmeng ) as tqty into wasumqty-tqty
from vbep where edatu = wadelshd-edatu and vbeln = wadelshd-vbeln
and j_3asize = wadelshd-j_3asize.
select sum( lfimg ) as dqty into wasumqty-dqty
from lips where vbelv = wadelshd-vbeln and j_3asize = wadelshd-j_3asize
wadelshd-PLND_QTY = wasumqty-tqty - wasumqty-dqty.
wadelshd-PLND_QTY = wadelshd-wmeng - wadelshd-lfimg.
wadelshd-COLOR = wadelshd-j_3asize(4).
MODIFY itabdelshd FROM wadelshd.
ENDLOOP.
PERFORM build_fieldcatalog.
PERFORM build_layout.
PERFORM display_alv_report.Dear Jorge,
It is working out, But i need to do the sum for the grouped data, for instance , if the below data is grouped data seen in the alv,
sales ord | color line.Item| Ord.qty | Pld.Qty | Date "
| 0001000551 | 002V | 100 | 6,800.000 | 1,200.000 | 25.09.2006"
| 0001000551 | 002V | 100 | 6,800.000 | 2,500.000 | 25.09.2006"
| 0001000551 | 002V | 100 | 6,800.000 | 3,100.000 | 25.09.2006"
| 0001000551 | 003K | 200 | 3,200.000 | 700.000 | 25.09.2006"
| 0001000551 | 003K | 200 | 3,200.000 | 1,200.000 | 25.09.2006"
| 0001000551 | 003K | 200 | 3,200.000 | 1,300.000 | 25.09.2006"
and if want to sum the the planed qty based on the line.Item Grouping, meaning, can i get the report in the below form.
sales ord | color line.Item| Ord.qty | Pld.Qty | Date "
| 0001000551 | 002V | 100 | 6,800.000 | 6,800.000 | 25.09.2006"
| 0001000551 | 003K | 200 | 6,800.000 | 3,200.000 | 25.09.2006"
what should i do to get this form. -
Append new column to internal table
Hi all,
i have an internal table that was generated based on an ddic structure - now i want to add a column to that table. how can i do that ?
thank you!
clemensHi to all, thank you for your help! here is the code that i have:
REPORT *************_4 .
TYPE-POOLS : abap.
FIELD-SYMBOLS: <dyn_table> TYPE STANDARD TABLE,
<dyn_wa>,
<dyn_field>.
TYPE-POOLS: slis.
TABLES: dd03l, dd04t.
TYPES:
BEGIN OF ty_table_struct,
fieldname TYPE dd03l-fieldname, " Tabellenname
ddtext TYPE dd04t-ddtext, " Kurztext
checkbox,
END OF ty_table_struct.
DATA:t_fieldcat TYPE slis_t_fieldcat_alv,
w_fieldcat TYPE slis_fieldcat_main.
DATA:
gt_table_struct TYPE TABLE OF ty_table_struct.
DATA: v_repid TYPE sy-repid.
DATA:
dy_table TYPE REF TO data,
dy_line TYPE REF TO data,
xfc TYPE lvc_s_fcat,
ifc TYPE lvc_t_fcat,
l_tab_fields TYPE STANDARD TABLE OF ty_table_struct,
w_tab_fields LIKE LINE OF l_tab_fields.
SELECTION-SCREEN :
SKIP, BEGIN OF LINE,COMMENT 5(28) v_1 FOR FIELD p_table.
PARAMETERS p_table TYPE dd03l-tabname OBLIGATORY VALUE CHECK.
SELECTION-SCREEN END OF LINE.
INITIALIZATION.
v_1 = 'Tabelle für Dublettenprüfung'.
v_repid = sy-repid.
START-OF-SELECTION.
PERFORM f_read_data.
PERFORM f_display_data.
PERFORM get_structure.
PERFORM create_dynamic_itab.
PERFORM get_data.
PERFORM write_out.
*& Form get_structure
FORM get_structure.
DATA : idetails TYPE abap_compdescr_tab,
xdetails TYPE abap_compdescr.
DATA : ref_table_des TYPE REF TO cl_abap_structdescr.
* Get the structure of the table.
ref_table_des ?=
cl_abap_typedescr=>describe_by_name( p_table ).
idetails[] = ref_table_des->components[].
LOOP AT idetails INTO xdetails.
READ TABLE l_tab_fields INTO w_tab_fields
WITH KEY fieldname = xdetails-name.
IF sy-subrc = 0.
CLEAR xfc.
xfc-fieldname = xdetails-name.
xfc-datatype = xdetails-type_kind.
xfc-inttype = xdetails-type_kind.
xfc-intlen = xdetails-length.
xfc-decimals = xdetails-decimals.
APPEND xfc TO ifc.
ENDIF.
ENDLOOP.
ENDFORM. "get_structure
*& Form create_dynamic_itab
* text
FORM create_dynamic_itab.
* Create dynamic internal table and assign to FS
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = ifc
IMPORTING
ep_table = dy_table.
ASSIGN dy_table->* TO <dyn_table>.
* Create dynamic work area and assign to FS
CREATE DATA dy_line LIKE LINE OF <dyn_table>.
ASSIGN dy_line->* TO <dyn_wa>.
ENDFORM. "create_dynamic_itab
*& Form get_data
* text
FORM get_data.
* Select Data from table.
SELECT (l_tab_fields) INTO CORRESPONDING FIELDS OF TABLE <dyn_table>
FROM (p_table).
ENDFORM. "get_data
*& Form write_out
* text
FORM write_out.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = v_repid
i_structure_name = p_table
CHANGING
ct_fieldcat = t_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* Show only fields that are needed
LOOP AT t_fieldcat INTO w_fieldcat.
READ TABLE l_tab_fields INTO w_tab_fields
WITH KEY fieldname = w_fieldcat-fieldname.
IF sy-subrc <> 0.
DELETE t_fieldcat.
ENDIF.
ENDLOOP.
w_fieldcat-tabname = '<dyn_table>'.
w_fieldcat-fieldname = 'NETPR'.
w_fieldcat-seltext_m = 'Net Price'.
w_fieldcat-outputlen = 15.
w_fieldcat-col_pos = 10.
* w_fieldcat-do_sum = 'X'. "Display column total
w_fieldcat-datatype = 'CURR'.
append w_fieldcat to t_fieldcat.
* Write out data from table.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = t_fieldcat
I_BYPASSING_BUFFER = 'X'
TABLES
t_outtab = <dyn_table>
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. "write_out
*& Form f_read_data
* text
FORM f_read_data.
SELECT * FROM ( dd03l
INNER JOIN dd04t
ON dd03l~rollname = dd04t~rollname
AND dd04t~ddlanguage = syst-langu
AND dd04t~as4local = 'A' ) INTO CORRESPONDING FIELDS OF
TABLE
gt_table_struct WHERE dd03l~tabname = p_table .
ENDFORM. " F_READ_DATA
* Form f_display_data
FORM f_display_data.
* Macro definition
DEFINE m_fieldcat.
add 1 to ls_fieldcat-col_pos.
ls_fieldcat-fieldname = &1.
ls_fieldcat-ref_tabname = &2.
ls_fieldcat-rollname = &3.
append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.
TYPE-POOLS: slis. " ALV Global types
DATA:
l_exit,
ls_private TYPE slis_data_caller_exit,
ls_field TYPE ty_table_struct,
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv.
* Build the field catalog
m_fieldcat 'FIELDNAME' 'ty_table_struct' 'FIELDNAME'.
m_fieldcat 'DDTEXT' 'ty_table_struct' 'DDTEXT'.
* Optimize column width
ls_private-columnopt = 'X'.
* Display data in a popup
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
i_selection = 'X'
i_zebra = 'X'
it_fieldcat = lt_fieldcat
i_tabname = 'gt_table_struct'
i_checkbox_fieldname = 'CHECKBOX'
is_private = ls_private
IMPORTING
e_exit = l_exit
TABLES
t_outtab = gt_table_struct.
CHECK l_exit = space.
* write selected columns to the internal table for inclusion
* into fieldcat
LOOP AT gt_table_struct INTO ls_field WHERE checkbox = 'X'.
APPEND ls_field-fieldname TO l_tab_fields.
ENDLOOP.
ENDFORM.
What
i want it to do is, have the alvgrid displaying the fields from t_fieldcat, plus some fields ( that should be appended to the internal table before, i think ? ). What went wrong ?
Clemens -
Grouping fields of the internal table
hi all,
i ' m using an internal table, and y need to group fields like the following example:
what i have:
werks arbpl aufnr
ca01 ka mecha 1
ca01 ka mecha 1
ca01 ka li 1
ca01 ka li 1
what i need:
werks arbpl aufnr
ca01 ka mecha 2
ca01 ka li 2
can anyone help me?
Regards,
Roxana.See the below example code for Grouping all fields:
REPORT ZTEST_IEVENTS no standard page heading
line-count 40(2).
tables : vbap.
data : begin of i_vbap occurs 0,
vbeln like vbap-vbeln,
posnr like vbap-posnr,
matnr like vbap-matnr,
kwmeng like vbap-kwmeng,
netpr like vbap-netpr,
end of i_vbap.
data wa_vbap like line of i_vbap.
data v_flag type c.
select-options s_vbeln for vbap-vbeln obligatory.
start-of-selection.
select vbeln
posnr
matnr
kwmeng
netpr from vbap
into table i_vbap
where vbeln in s_vbeln.
sort i_vbap by vbeln posnr.
end-of-selection.
loop at i_vbap.
move i_vbap to wa_vbap.
at first.
write:/2 'Order #',15 'Item #',28 'Material #',50 'Qty', 70 'Net value'.
skip 1.
endat.
at new vbeln.
write:/2 wa_vbap-vbeln,15 wa_vbap-posnr,28 wa_vbap-matnr,
47 wa_vbap-kwmeng,65 wa_vbap-netpr.
v_flag = 'X'.
endat.
if v_flag ne 'X'.
write:/15 wa_vbap-posnr,28 wa_vbap-matnr,
47 wa_vbap-kwmeng,65 wa_vbap-netpr.
endif.
at end of vbeln.
sum.
skip 1.
write:/5 'Sub totals', 47 i_vbap-kwmeng,65 i_vbap-netpr.
skip 1.
endat.
at last .
skip 1.
sum.
write:/5 'Grand Totals',47 i_vbap-kwmeng,65 i_vbap-netpr.
endat.
clear v_flag.
endloop. -
CONVERT ROWS INTO COLUMNS IN INTERNAL TABLE
Hi Experts,
I want to convert rows into coloumns in final internal table.
How to do that one. Can any one help me its very urgent.
Regards,
PBS.hi,
Find the below code for changing rows into colums.
data: begin of itab1 occurs 0,
fld,
end of itab1.
data: begin of itab2 occurs 0,
fld1,
fld2,
fld3,
end of itab2.
itab1-fld = 1.
append itab1.
itab1-fld = 2.
append itab1.
itab1-fld = 3.
append itab1.
read table itab1 index 1.
if sy-subrc eq 0.
itab2-fld1 = itab1-fld.
endif.
read table itab1 index 2.
if sy-subrc eq 0.
itab2-fld2 = itab1-fld.
endif.
read table itab1 index 3.
if sy-subrc eq 0.
itab2-fld3 = itab1-fld.
endif.
append itab2.
loop at itab1.
write:/ itab1.
endloop.
loop at itab2.
write:/ itab2.
endloop.
refer the below link for further information
internal table rows to columns
in the final display list how can i change rows to columns and vice versa -
Dynamical columns in internal table
Hi all.
I need to make an internal table with dynamical columns(i have 3 static columns and the rest depends on the number of clients that i have in a month). If it's possible, how can i do it?
Can anyone please help.
Thanks & RegardsHi,
type-pools : abap.
field-symbols: <dyn_table> type standard table,
<dyn_wa>,
<dyn_field>.
data: dy_table type ref to data,
dy_line type ref to data,
xfc type lvc_s_fcat,
ifc type lvc_t_fcat.
selection-screen begin of block b1 with frame.
parameters: p_table(30) type c default 'T001'.
selection-screen end of block b1.
start-of-selection.
perform get_structure.
perform create_dynamic_itab. <b> *Creates a dyanamic internal table **</b>
perform get_data.
perform write_out.
form get_structure.
data : idetails type abap_compdescr_tab,
xdetails type abap_compdescr.
data : ref_table_des type ref to cl_abap_structdescr.
* Get the structure of the table.
ref_table_des ?=
cl_abap_typedescr=>describe_by_name( p_table ).
idetails[] = ref_table_des->components[].
loop at idetails into xdetails.
clear xfc.
xfc-fieldname = xdetails-name .
xfc-datatype = xdetails-type_kind.
xfc-inttype = xdetails-type_kind.
xfc-intlen = xdetails-length.
xfc-decimals = xdetails-decimals.
append xfc to ifc.
endloop.
endform.
form create_dynamic_itab.
<b>* Create dynamic internal table and assign to FS</b>
call method cl_alv_table_create=>create_dynamic_table
exporting
it_fieldcatalog = ifc
importing
ep_table = dy_table.
assign dy_table->* to <dyn_table>.
* Create dynamic work area and assign to FS
create data dy_line like line of <dyn_table>.
assign dy_line->* to <dyn_wa>.
endform.
form get_data.
* Select Data from table.
select * into table <dyn_table>
from (p_table).
endform.
Write out data from table.
loop at <dyn_table> into <dyn_wa>.
do.
assign component sy-index
of structure <dyn_wa> to <dyn_field>.
if sy-subrc <> 0.
exit.
endif.
if sy-index = 1.
write:/ <dyn_field>.
else.
write: <dyn_field>.
endif.
enddo.
endloop.
Regards
Sudheer -
Inserting single column in internal table
Hiii,
I have to insert data into a single column of a internal table from a field.The rest of the columns of the internal table are already filled.
wats is the syntax for it?? plz reply soon...its very urgent.Hi,
try this
data idx type sy-tabix.
loop at itab.
itab-fld1 = 'some value'. " your empty field
modify itab index idx.
endloop.
Regards,
V.Balaji
Reward if Usefull...
Maybe you are looking for
-
Scripting Language Options for the Script Task Options SSIS 2012
Can python or perl be used as a script language in the drag and drop script task? I believe only VB.Net and C# are, but I see under SSDT Tools -> Options there are some choices for Python Debugging? I'd like to use python as my SSIS scripting languag
-
USB floppy drive not getting recognized
I've just bought a USB floppy drive, and when I plug it in and insert a disk, it is not recognized. The drive itself works fine. I've read that when I put in an improperly formatted disk it should prompt me to initialize the disk, but this did not ha
-
Pavilion HDX 9480eg (same as HDX9300) Upgrade Ram to 8GB?
Hi to everyone, i'm a proud owner of the hp pavilion hdx 9480eg ..."laptop" (it's 2 years old now) and it came with 4GB (2x2GB) 2Rx8PC2 5300S (which means DDR2-SD 667 ram i guess...is that correct?). Now i like to upgrade the system with 2x4GB = 8GB
-
I am working on a client machine which is remotely connected to the oracle database. i want to load data from the text file into the dummy table with direct = true option. but when invoked i get this error ora-02352. which says direct path checking s
-
Exporting .mov files as .avi doesn't always work...
Hi, I recently bought Quicktime Pro v7.1.3 for WinXP and have been trying to use it to convert my .mov files to uncompressed .avi files. I then use Windows Media Encoder to convert the .avi files to .wmv files to play on my Xbox 360. (If you know of