‎2008 Nov 11 6:39 AM
Hi,
My itab like this.
-
Name | ABC | |
Age | 34 | |
Sal | 4000 | |
Name | PQR | |
Age | 53 | |
Sal | 9000 |
but i want like this
|Name| |Age | |Sal |
-
ABC 34 4000
PQE 53 9000
-
How to do that ?
‎2008 Nov 11 7:00 AM
Hi,
I suppose itab is like
data : beging of itab,
field1 type...,
field2 type.....,
end of itab.
declare itab1 as,
data : begin of itab occurs 100,
name type....,
age type....,
sal type....,
end of itab1.
data flag type c.
clear flag.
loop at itab.
flag = 0.
case field1.
when 'name'.
itab1-name = itab-field1.
flag = 0.
when 'age'.
itab1-age = itab-field1.
flag = 0.
when 'sal'.
itab1-sal = itab-field1.
flag = 1.
endcase.
if flag = 1.
append itab1.
endif.
endloop.
regards,
Dhan
‎2008 Nov 11 6:44 AM
Hi,,,,,,
use......
data: begin of itab occurs 0,
Name type string,
Age type string,
Sal type string,
end of itab.
itab-name = 'ABC'.
ITAB-AGE = '50'.
ITAB-SAL = '4000'.
APPEND ITAB.
CLEAR ITAB.
itab-name = 'PQR'.
ITAB-AGE = '60'.
ITAB-SAL = '5000'.
APPEND ITAB.
CLEAR ITAB.
LOOP AT ITAB.
WRITE:/ ITAB-NAME, ITAB-AGE, ITAB-SAL.
ENDLOOP.
‎2008 Nov 11 6:47 AM
hi,
write:/ name, age, sal.
loop at itab.
write:/ itab-name, itab-age, itab-sal.
endloop.
‎2008 Nov 11 6:48 AM
Hi Jim,
It seems that you are not declaring the itab the right way at first place. "Name", "Age" and "Sal" should be the fields in the itab structure, but not the value in the itab.
You may try declaring your itab like this:
DATA:
BEGIN of wa_emp,
name(30),
age(3) TYPE n,
sal(10) TYPE n,
END OF wa_emp,
it_emp LIKE TABLE OF wa_emp.
Then utilize the work area (wa_emp) to store content of each employee, and later append the work area to the itab (it_emp).
Hope this helps, thanks.
Regards,
Anfernee
‎2008 Nov 11 6:53 AM
Hi,
Add one more thing in SAURABH's post.
Put the following lines of codes before LOOP AT statement.
WRITE 'NAME'.
WRITE 'AGE'.
WRITE 'SALARY' .
Thanks.
Nitesh
‎2008 Nov 11 6:54 AM
Hi,
while displaying your data write in the below format:
Write:/ name, age, sal.
loop at itab.
write:/ itab-name, itab-age, itab-sal.
endloop.
It will solve your problem
Thanks & Regards
‎2008 Nov 11 6:55 AM
Name Age Sal
ABC 34 4000
PQR 53 9000
To get the report like this use position numbers.
WRITE : 10 'NAME' , 30 'AGE' 50 'SAL'.
LOOP AT itab.
WRITE : 10 itab-name, 30 itab-age, 50 itab-sal.
ENDLOOP.
‎2008 Nov 11 6:58 AM
Hi,
Do it like this....
TYPES: BEGIN OF ty_data,
name(10) TYPE c,
age(2) TYPE c,
sal(10) TYPE c,
END OF ty_data.
DATA: it_data TYPE STANDARD TABLE OF ty_data,
wa_data TYPE ty_data.
wa_data-name = 'abc'.
wa_data-age = '34'.
wa_data-sal = '4000'.
APPEND wa_data to it_data.
wa_data-name = 'pqr'.
wa_data-age = '54'.
wa_data-sal = '9000'.
APPEND wa_data to it_data.
WRITE /8 'NAme'.
WRITE 13 'age'.
WRITE 17 'sal'.
clear wa_data.
loop at it_data INTO wa_data.
write /8 wa_data-name.
WRITE 13 wa_data-age.
WRITE 17 wa_data-sal.
ENDLOOP.
Hope it is helpful.
Regards,
Sasi.
‎2008 Nov 11 6:59 AM
REPORT ZSRK_038 .
DATA : BEGIN OF ITAB OCCURS 0,
F1(4),
F2(10),
END OF ITAB.
ITAB-F1 = 'Name'.
ITAB-F2 = 'ABC'.
APPEND ITAB.
CLEAR ITAB.
ITAB-F1 = 'Age'.
ITAB-F2 = '34'.
APPEND ITAB.
CLEAR ITAB.
ITAB-F1 = 'Sal'.
ITAB-F2 = '4000'.
APPEND ITAB.
CLEAR ITAB.
ITAB-F1 = 'Name'.
ITAB-F2 = 'PQR'.
APPEND ITAB.
CLEAR ITAB.
ITAB-F1 = 'Age'.
ITAB-F2 = '53'.
APPEND ITAB.
CLEAR ITAB.
ITAB-F1 = 'Sal'.
ITAB-F2 = '9000'.
APPEND ITAB.
CLEAR ITAB.
WRITE : 'Name' , 12 'Age' , 23 'Sal'.
NEW-LINE.
LOOP AT ITAB.
WRITE : ITAB-F2 .
IF ITAB-F1 EQ 'Sal'.
NEW-LINE.
ENDIF.
ENDLOOP.
‎2008 Nov 11 7:00 AM
Hi,
I suppose itab is like
data : beging of itab,
field1 type...,
field2 type.....,
end of itab.
declare itab1 as,
data : begin of itab occurs 100,
name type....,
age type....,
sal type....,
end of itab1.
data flag type c.
clear flag.
loop at itab.
flag = 0.
case field1.
when 'name'.
itab1-name = itab-field1.
flag = 0.
when 'age'.
itab1-age = itab-field1.
flag = 0.
when 'sal'.
itab1-sal = itab-field1.
flag = 1.
endcase.
if flag = 1.
append itab1.
endif.
endloop.
regards,
Dhan