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

regarding displaying data

Former Member
0 Likes
560

can we use alv to display records horizontally?

e.g

fieldname1 : value1 value2 value3.

___________________________

fieldname2 : value1 value2 value 3.

____________________________

fieldname3 : value1 value 2 value3.

regards chitra.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
513

Chitra,

Does it mean that u want to display records in itab horizontally.? If yes you can use the FM : REUSE_ALV_GRID_DISPLAY.. Here you can specify the layout/fields/template .. check if useful..

3 REPLIES 3
Read only

Former Member
0 Likes
513

hi,

use dynamic internal table concept

see this

&----


*& Report ZRPT_PS_POOLED

*&

*& Resaon TO : Added crop as selection Crieta in the screen and output

*& should be dynamic depends on locations

&----


REPORT ZRPT_PS_POOLED.

TABLES:ZPSHSTAT,ZPSCSTAT,ZPSISTAT,ZPSCROP.

TYPE-POOLS: SLIS.

*type DECLARATION.

DATA: BEGIN OF WA_HYBRID,

CROP TYPE ZCROP,

ENTRY TYPE ZENTRY,

ZCHAR TYPE ZCHARS,

ZYEAR TYPE GJAHR,

TRIAL TYPE ZTRAIL,

LOCA TYPE ZLOCA,

DOC TYPE ZDOC,

ITEM TYPE ZITEMS,

CHAR1 TYPE ZCHAR1,

CHAR2 TYPE ZCHAR2,

CHAR3 TYPE ZCHAR3,

CHAR5 TYPE ZCHAR4,

CHAR6 TYPE ZCHAR6,

CHAR7 TYPE ZCHAR7,

SCORE1 TYPE ZSCORE,

SCORE2 TYPE ZSCORE,

SCORE3 TYPE ZSCORE,

SCORE4 TYPE ZSCORE,

SCORE5 TYPE ZSCORE,

SCORE6 TYPE ZSCORE,

SCORE7 TYPE ZSCORE,

CHVAL1 TYPE ZCHVAL1,

CHVAL2 TYPE ZCHVAL2,

CHVAL3 TYPE ZCHVAL3,

CHVAL4 TYPE ZCHVAL4,

CHVAL5 TYPE ZCHVAL5,

CHVAL6 TYPE ZCHVAL6,

CHVAL7 TYPE ZCHVAL7,

SCHCK1 TYPE ZSCHCK1,

SCHCK2 TYPE ZSCHCK1,

SCHCK3 TYPE ZSCHCK1,

SCHCK4 TYPE ZSCHCK1,

SCHCK5 TYPE ZSCHCK1,

SCHCK6 TYPE ZSCHCK1,

SCHCK7 TYPE ZSCHCK1,

END OF WA_HYBRID.

DATA: BEGIN OF WA_FINAL,

ZYEAR TYPE GJAHR,

TRIAL TYPE ZTRAIL,

LOCA TYPE ZTRAIL,

ENTRY TYPE ZENTRY,

SCORE1 TYPE ZSCORE,

SCORE2 TYPE ZSCORE,

SCORE3 TYPE ZSCORE,

SCORE4 TYPE ZSCORE,

SCORE5 TYPE ZSCORE,

SCORE6 TYPE ZSCORE,

SCORE7 TYPE ZSCORE,

TOTAL TYPE I,

END OF WA_FINAL.

*Internal table declaration

DATA: BEGIN OF IT_HELP OCCURS 0,

ZYEAR TYPE GJAHR,

TRIAL TYPE ZTRAIL,

LOCA TYPE ZTRAIL,

ENTRY TYPE ZENTRY,

END OF IT_HELP.

*DATA: BEGIN OF IT_LOCA OCCURS 0,

  • LOCA LIKE ZPS_LOC-LOCA,

  • END OF IT_LOCA.

Data: IT_HYBRID LIKE STANDARD TABLE OF WA_HYBRID,

IT_ENTRY LIKE STANDARD TABLE OF WA_HYBRID,

IT_CHAR LIKE STANDARD TABLE OF WA_HYBRID,

IT_VILL LIKE STANDARD TABLE OF WA_HYBRID,

WA_ENTRY LIKE WA_HYBRID,

WA_CHAR LIKE WA_HYBRID,

WA_VILL LIKE WA_HYBRID,

IT_HEADER LIKE STANDARD TABLE OF WA_FINAL,

WA_HEADER LIKE WA_FINAL,

IT_FINAL LIKE STANDARD TABLE OF WA_FINAL,

IT_TEMP LIKE STANDARD TABLE OF WA_HYBRID,

WA_TEMP LIKE WA_HYBRID,

IT_YEAR LIKE STANDARD TABLE OF WA_HYBRID,

WA_YEAR LIKE WA_HYBRID,

IT_LOCA LIKE WA_HYBRID OCCURS 0 WITH HEADER LINE.

*Alv declarations

DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.

DATA : WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.

DATA: IT_SORT TYPE SLIS_T_SORTINFO_ALV,

WA_SORT TYPE SLIS_SORTINFO_ALV,

IT_LAYOUT TYPE SLIS_LAYOUT_ALV.

DATA : GS_KEYINFO TYPE SLIS_KEYINFO_ALV.

DATA: WA_IT_FLDCAT TYPE LVC_S_FCAT, "THIS IS FOR DYNAMIC TABLE DECLARATION

IT_FLDCAT TYPE LVC_T_FCAT.

*Field Symbol Declarations

FIELD-SYMBOLS: <DYN_TABLE> TYPE STANDARD TABLE,

<DYN_HEAD> TYPE STANDARD TABLE,

<DYN_TEMP> TYPE STANDARD TABLE,

<DYN_WA>,<DYN_WATABLE>,

<dyn_field>,<DYN_FIELD1>,

<DYN_SUM1>,<DYN_SUM2>,<DYN_SUM3>, "THIS IS FOR MEAN OPERATION FOR ADDING

<DYN_MVAL>,<DYN_MSCORE>,<DYN_CHECK>,

<DYN_CHAR1>,<DYN_CHAR2>,<DYN_CHAR3>.

DATA: NEW_TABLE TYPE REF TO DATA,

NEW_HEADER TYPE REF TO DATA,

NEW_LINE TYPE REF TO DATA.

DATA dref TYPE REF TO data.

FIELD-SYMBOLS <l_dat> TYPE ANY.

*VARIABLE DECLARATION

DATA: V_CHAR1 TYPE ZCHAR1,"THIS IS TO STORE DB VALUE

V_CHAR2 TYPE ZCHAR1,

V_CHAR3 TYPE ZCHAR1,

V_CHAR4 TYPE ZCHAR1,

V_CHAR5 TYPE ZCHAR1,

V_CHAR6 TYPE ZCHAR1,

V_CHAR7 TYPE ZCHAR1,

V_COUNT TYPE I,

V_ITEM TYPE ZITEMS,

V_DCOUNT(4),

V_FIELD(5),

V_FIELD1(7),

V_FIELD2(7),

V_SCORE(5),

V_VALUE type ZCHVAL1, "TYPE ZSCORE,

V_MSVALUE(10),

V_DB TYPE I,

V_MSCORE(5),

V_MVALUE type ZCHVAL1."(10)," TYPE ZITEMS. "THIS IS TO STORE THE DB COUNT

DATA: I_REPID TYPE SY-REPID VALUE 'ZRPT_SD_NETSALES',

I_DYNNR LIKE D020S-DNUM value '1000',

I_FIELD TYPE DYNPREAD-FIELDNAME VALUE 'S_YEAR-LOW',

I_FIELD1 TYPE DYNPREAD-FIELDNAME VALUE 'S_YEAR-HIGH'.

DATA: V_RES1(10),V_RES2(10),V_RES3 TYPE ZCHVAL1.

DATA : RETURN LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.

DATA N TYPE I.

DATA V_FIELD3(7).

DATA: V_SVALUE(9),V_INT TYPE I.

DATA: V_FROM TYPE I,

V_TO TYPE I."This is for keep looping updation conditions

SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.

SELECT-OPTIONS: S_CROP FOR ZPSHSTAT-ZCROP OBLIGATORY,

S_YEAR FOR ZPSISTAT-ZYEAR OBLIGATORY,

S_TRIAL FOR ZPSHSTAT-TRIAL,

S_LOCA FOR ZPSHSTAT-LOCA,

S_ENTRY FOR ZPSISTAT-ENTRY, "OBLIGATORY,

S_CHAR FOR ZPSCSTAT-ZCHAR.

SELECTION-SCREEN END OF BLOCK B1.

AT SELECTION-SCREEN.

*SELECT LOCA FROM ZPS_LOC INTO TABLE IT_LOCA WHERE LOCA IN S_LOCA.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_ENTRY-LOW.

CALL FUNCTION 'GET_DYNP_VALUE'

EXPORTING

i_field = I_FIELD

i_repid = I_REPID

i_dynnr = I_DYNNR

changing

o_value = S_YEAR-LOW.

CALL FUNCTION 'GET_DYNP_VALUE'

EXPORTING

i_field = I_FIELD1

i_repid = I_REPID

i_dynnr = I_DYNNR

changing

o_value = S_YEAR-HIGH.

SELECT ZYEAR

TRIAL

LOCA

ENTRY FROM ZPSISTAT INTO TABLE IT_HELP

WHERE ZYEAR IN S_YEAR

AND ZCROP IN S_CROP.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'ENTRY'

VALUE_ORG = 'S'

TABLES

VALUE_TAB = IT_HELP

RETURN_TAB = RETURN.

S_ENTRY-LOW = RETURN-FIELDVAL.

REFRESH RETURN.

CLEAR RETURN.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_ENTRY-HIGH.

CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'

EXPORTING

RETFIELD = 'ENTRY'

VALUE_ORG = 'S'

TABLES

VALUE_TAB = IT_HELP

RETURN_TAB = RETURN.

S_ENTRY-HIGH = RETURN-FIELDVAL.

REFRESH RETURN.

CLEAR RETURN.

START-OF-SELECTION.

PERFORM GET_DATA.

PERFORM BUILD_DYNAMIC.

PERFORM FILL_TABLE.

PERFORM FILL_CATLOG.

END-OF-SELECTION.

PERFORM ALV_DISPLAY.

&----


*& Form GET_DATA

&----


  • Get the data from internal table

----


  • --> p1 text

  • <-- p2 text

----


FORM GET_DATA .

SELECT A~ZCROP

C~ENTRY

B~ZCHAR

A~ZYEAR

A~TRIAL

A~LOCA

A~DOC

B~ITEM

C~CHAR1

C~CHAR2

C~CHAR3

C~CHAR5

C~CHAR6

C~CHAR7

C~SCORE1

C~SCORE2

C~SCORE3

C~SCORE4

C~SCORE5

C~SCORE6

C~SCORE7

C~CHVAL1

C~CHVAL2

C~CHVAL3

C~CHVAL4

C~CHVAL5

C~CHVAL6

C~CHVAL7

C~SCHCK1

C~SCHCK2

C~SCHCK3

C~SCHCK4

C~SCHCK5

C~SCHCK6

C~SCHCK7

INTO TABLE IT_HYBRID

FROM ( ( ZPSHSTAT AS A JOIN ZPSCSTAT AS B

ON ADOC = BDOC )

JOIN ZPSISTAT AS C ON CDOC = BDOC )

WHERE A~ZYEAR IN S_YEAR

AND A~LOCA IN S_LOCA

AND B~ZCHAR IN S_CHAR

AND C~ENTRY IN S_ENTRY

AND A~ZCROP IN S_CROP

AND A~TRIAL IN S_TRIAL.

SORT IT_HYBRID BY CROP ENTRY ZCHAR ZYEAR.

IT_ENTRY[] = IT_HYBRID[].

SORT IT_ENTRY[] BY CRop .

DELETE ADJACENT DUPLICATES FROM IT_ENTRY[] COMPARING CROP.

IT_TEMP[] = IT_HYBRID[].

SORT IT_TEMP[] BY CROP ENTRY.

DELETE ADJACENT DUPLICATES FROM IT_TEMP[] COMPARING CROP ENTRY.

IT_CHAR[] = IT_HYBRID[].

SORT IT_CHAR[] BY CROP ENTRY ZCHAR.

DELETE ADJACENT DUPLICATES FROM IT_CHAR[] COMPARING CROP ENTRY ZCHAR.

IT_VILL[] = IT_HYBRID[].

SORT IT_VILL[] BY ZCHAR.

DELETE ADJACENT DUPLICATES FROM IT_VILL[] COMPARING ZCHAR.

DESCRIBE TABLE IT_CHAR LINES V_DB.

IT_YEAR[] = IT_HYBRID[].

SORT IT_YEAR[] BY ZCHAR ZYEAR DESCENDING.

DELETE ADJACENT DUPLICATES FROM IT_YEAR[] COMPARING ZCHAR ZYEAR.

IT_LOCA[] = IT_HYBRID[].

SORT IT_LOCA BY LOCA.

DELETE ADJACENT DUPLICATES FROM IT_LOCA[] COMPARING loca.

ENDFORM. " GET_DATA

&----


*& Form FILL_TABLE

&----


  • FILLING THE DATA INTO FINAL INTERNAL TABLE

----


  • --> p1 text

  • <-- p2 text

----


FORM FILL_TABLE .

CLEAR V_DCOUNT.

LOOP AT IT_ENTRY INTO WA_ENTRY. "this is for crop condition

LOOP AT IT_TEMP INTO WA_TEMP WHERE CROP = WA_ENTRY-CROP. "This is for crop and entry combnination

LOOP AT IT_CHAR INTO WA_CHAR WHERE CROP = WA_ENTRY-CROP

AND ENTRY = WA_TEMP-ENTRY. "This is for crop entry character combination

CLEAR V_INT.

LOOP AT IT_YEAR INTO WA_YEAR WHERE CROP = WA_ENTRY-CROP "This is for crop entry character year combination

AND ZCHAR = WA_CHAR-ZCHAR.

V_INT = V_INT + 1.

ASSIGN COMPONENT 'ZCROP' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send crop value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = WA_ENTRY-CROP.

ENDIF.

ASSIGN COMPONENT 'ENTRY' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>."This is to send entry value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = WA_TEMP-ENTRY.

ENDIF.

ASSIGN COMPONENT 'CHAR' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = WA_CHAR-ZCHAR.

ENDIF.

ASSIGN COMPONENT 'ZYEAR' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>."This is to send YEAR value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = WA_YEAR-ZYEAR.

ENDIF.

CLEAR V_DCOUNT.

LOOP AT IT_HYBRID INTO WA_HYBRID WHERE ENTRY = WA_TEMP-ENTRY

AND CROP = WA_ENTRY-CROP

AND ZCHAR = WA_CHAR-ZCHAR

AND ZYEAR = WA_YEAR-ZYEAR.

LOOP AT IT_LOCA.

V_DCOUNT = V_DCOUNT + 1.

CONDENSE V_DCOUNT NO-GAPS.

CONCATENATE 'SCORE' V_DCOUNT INTO V_FIELD1.

CONCATENATE 'VALUE' V_DCOUNT INTO V_FIELD2.

CONCATENATE 'SCHCK' V_DCOUNT INTO V_FIELD3.

READ TABLE IT_HYBRID INTO WA_HYBRID WITH KEY LOCA = IT_LOCA-LOCA

ENTRY = WA_HYBRID-ENTRY

CROP = WA_HYBRID-CROP

ZYEAR = WA_HYBRID-ZYEAR

ZCHAR = WA_HYBRID-ZCHAR.

IF SY-SUBRC EQ 0.

V_ITEM = WA_HYBRID-ITEM.

IF V_ITEM EQ 1.

ASSIGN COMPONENT V_FIELD1 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

CONDENSE WA_HYBRID-SCORE1 NO-GAPS.

CONDENSE WA_HYBRID-SCHCK1 NO-GAPS.

IF WA_HYBRID-SCORE1 EQ 0.

<DYN_FIELD> = '0'.

ELSE.

<DYN_FIELD> = WA_HYBRID-SCORE1.

ENDIF.

V_MSCORE = WA_HYBRID-SCORE1.

ENDIF.

ASSIGN COMPONENT V_FIELD2 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-CHVAL1.

V_MVALUE = WA_HYBRID-CHVAL1.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD3 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-SCHCK1.

V_SVALUE = WA_HYBRID-SCHCK1.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ELSEIF V_ITEM EQ 2.

CONDENSE WA_HYBRID-SCORE2 NO-GAPS.

CONDENSE WA_HYBRID-SCHCK2 NO-GAPS.

ASSIGN COMPONENT V_FIELD1 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

IF WA_HYBRID-SCORE2 EQ 0.

<DYN_FIELD> = '0'.

ELSE.

<DYN_FIELD> = WA_HYBRID-SCORE2.

ENDIF.

V_MSCORE = WA_HYBRID-SCORE2.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD2 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-CHVAL2.

V_MVALUE = WA_HYBRID-CHVAL2.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD3 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-SCHCK2.

V_SVALUE = WA_HYBRID-SCHCK2.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ELSEIF V_ITEM EQ 3.

CONDENSE WA_HYBRID-SCORE3 NO-GAPS.

CONDENSE WA_HYBRID-SCHCK3 NO-GAPS.

ASSIGN COMPONENT V_FIELD1 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

IF WA_HYBRID-SCORE3 EQ 0. "IS INITIAL.

<DYN_FIELD> = '0'.

ELSE.

<DYN_FIELD> = WA_HYBRID-SCORE3.

ENDIF.

V_MSCORE = WA_HYBRID-SCORE3.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD2 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-CHVAL3.

V_MVALUE = WA_HYBRID-CHVAL3.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD3 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-SCHCK3.

V_SVALUE = WA_HYBRID-SCHCK3.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ELSEIF V_ITEM EQ 4.

CONDENSE WA_HYBRID-SCORE4 NO-GAPS.

CONDENSE WA_HYBRID-SCHCK4 NO-GAPS.

ASSIGN COMPONENT V_FIELD1 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send SCORE value into final table

IF SY-SUBRC EQ 0.

IF WA_HYBRID-SCORE4 EQ 0. "IS INITIAL.

<DYN_FIELD> = '0'.

ELSE.

<DYN_FIELD> = WA_HYBRID-SCORE4.

ENDIF.

V_MSCORE = WA_HYBRID-SCORE4.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD3 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-SCHCK4.

V_SVALUE = WA_HYBRID-SCHCK4.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD2 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-CHVAL4.

V_MVALUE = WA_HYBRID-CHVAL4.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ELSEIF V_ITEM EQ 5.

CONDENSE WA_HYBRID-SCORE5 NO-GAPS.

CONDENSE WA_HYBRID-SCHCK5 NO-GAPS.

ASSIGN COMPONENT V_FIELD3 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-SCHCK5.

V_SVALUE = WA_HYBRID-SCHCK5.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD1 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send SCORE value into final table

IF SY-SUBRC EQ 0.

IF WA_HYBRID-SCORE5 EQ 0."IS INITIAL.

<DYN_FIELD> = '0'.

ELSE.

<DYN_FIELD> = WA_HYBRID-SCORE5.

ENDIF.

V_MSCORE = WA_HYBRID-SCORE5.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD2 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-CHVAL5.

V_MVALUE = WA_HYBRID-CHVAL5.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ELSEIF V_ITEM EQ 6.

CONDENSE WA_HYBRID-SCORE6 NO-GAPS.

CONDENSE WA_HYBRID-SCHCK6 NO-GAPS.

ASSIGN COMPONENT V_FIELD3 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-SCHCK6.

V_SVALUE = WA_HYBRID-SCHCK6.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD1 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send SCORE value into final table

IF SY-SUBRC EQ 0.

IF WA_HYBRID-SCORE6 EQ 0."IS INITIAL.

<DYN_FIELD> = '0'.

ELSE.

<DYN_FIELD> = WA_HYBRID-SCORE6.

ENDIF.

V_MSCORE = WA_HYBRID-SCORE6.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD2 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-CHVAL6.

V_MVALUE = WA_HYBRID-CHVAL6.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ELSEIF V_ITEM EQ 7.

ASSIGN COMPONENT V_FIELD3 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-SCHCK7.

V_SVALUE = WA_HYBRID-SCHCK7.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD1 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send SCORE value into final table

IF SY-SUBRC EQ 0.

IF WA_HYBRID-SCORE7 EQ 0."IS INITIAL.

<DYN_FIELD> = '0'.

V_MSCORE = '0'.

ELSE.

<DYN_FIELD> = WA_HYBRID-SCORE7.

ENDIF.

V_MSCORE = WA_HYBRID-SCORE7.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD2 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = WA_HYBRID-CHVAL7.

V_MVALUE = WA_HYBRID-CHVAL7.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ENDIF.

ELSE.

ASSIGN COMPONENT V_FIELD1 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send SCORE value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = 0.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD3 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send SCORE value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = 0.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD2 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = 0.

V_MVALUE = 0.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ENDIF.

CONDENSE V_MSCORE NO-GAPS.

CONDENSE V_SVALUE NO-GAPS.

V_SCORE = V_SCORE + V_MSCORE.

V_VALUE = V_VALUE + V_MVALUE.

V_MSVALUE = V_MSVALUE + V_SVALUE.

CLEAR:V_MSCORE,V_MVALUE,V_SVALUE.

ENDLOOP.

CLEAR: WA_HYBRID.

ENDLOOP.

DESCRIBE TABLE IT_LOCA LINES N.

ASSIGN COMPONENT 'MSCORE' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send MEAN SCORE value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = V_SCORE / N.

CLEAR V_SCORE.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT 'MVALUE' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = V_VALUE / N.

CLEAR V_VALUE.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ASSIGN COMPONENT 'MSVALUE' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = V_MSVALUE / N.

CLEAR V_MSVALUE.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

APPEND <DYN_WATABLE> TO <DYN_TABLE>.

CLEAR: V_SCORE,V_VALUE,V_MVALUE,V_MSCORE,V_MSVALUE,V_SVALUE.

CLEAR:<DYN_WATABLE>,<DYN_WA>.

ENDLOOP.

DESCRIBE TABLE <DYN_TABLE> LINES V_TO.

IF V_INT GT 1.

CLEAR: V_DCOUNT.

LOOP AT <DYN_TABLE> INTO <DYN_WA> FROM V_FROM TO V_TO.

ASSIGN COMPONENT 'ZCROP' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send crop value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = WA_ENTRY-CROP.

ENDIF.

ASSIGN COMPONENT 'ENTRY' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>."This is to send entry value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = WA_TEMP-ENTRY.

ENDIF.

ASSIGN COMPONENT 'CHAR' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = WA_CHAR-ZCHAR.

ENDIF.

ASSIGN COMPONENT 'ZYEAR' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>."This is to send YEAR value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = 'Mean'.

ENDIF.

*CLEAR: V_RES1,V_RES2,V_RES3.

LOOP AT IT_LOCA.

V_DCOUNT = V_DCOUNT + 1.

CONDENSE V_DCOUNT NO-GAPS.

CONCATENATE 'SCORE' V_DCOUNT INTO V_FIELD1.

CONCATENATE 'VALUE' V_DCOUNT INTO V_FIELD2.

CONCATENATE 'SCHCK' V_DCOUNT INTO V_FIELD3.

ASSIGN COMPONENT V_FIELD1 OF STRUCTURE <DYN_WA> TO <DYN_SUM1>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

IF <DYN_SUM1> IS INITIAL.

ELSE.

IF <DYN_SUM1> NE 0.

V_RES1 = V_RES1 + <DYN_SUM1>.

ENDIF.

ENDIF.

ENDIF.

ASSIGN COMPONENT V_FIELD2 OF STRUCTURE <DYN_WA> TO <DYN_SUM2>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

IF <DYN_SUM2> IS INITIAL.

ELSE.

IF <DYN_SUM2> NE 0 . "<DYN_SUM2> IS INITIAL.

V_RES3 = V_RES3 + <DYN_SUM2>.

ENDIF.

ENDIF.

ENDIF.

ASSIGN COMPONENT V_FIELD3 OF STRUCTURE <DYN_WA> TO <DYN_SUM3>. "This is to send character value into final table

IF SY-SUBRC EQ 0.

IF <DYN_SUM3> IS INITIAL.

ELSE.

IF <DYN_SUM3> NE 0.

V_RES2 = V_RES2 + <DYN_SUM3>.

ENDIF.

ENDIF.

ENDIF.

ASSIGN COMPONENT V_FIELD1 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>.

IF SY-SUBRC EQ 0.

IF <DYN_SUM1> IS INITIAL.

ELSE.

CONDENSE V_RES1 NO-GAPS.

IF <DYN_SUM1> NE 0.

<DYN_FIELD> = V_RES1 / V_INT.

ENDIF.

ENDIF.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD2 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>.

IF SY-SUBRC EQ 0.

IF <DYN_SUM2> IS INITIAL.

ELSE.

IF <DYN_SUM2> NE 0.

<DYN_FIELD1> = V_RES3 / V_INT.

ENDIF.

ENDIF.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ASSIGN COMPONENT V_FIELD3 OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>.

IF SY-SUBRC EQ 0.

IF <DYN_SUM3> IS INITIAL.

ELSE.

IF <DYN_SUM3> NE 0.

CONDENSE V_RES2 NO-GAPS.

<DYN_FIELD1> = V_RES2 / V_INT..

ENDIF.

ENDIF.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF..

ENDLOOP.

CLEAR: V_DCOUNT.

ASSIGN COMPONENT 'MSCORE' OF STRUCTURE <DYN_WA> TO <DYN_MSCORE>. "This is to send MEAN SCORE value into final table

IF SY-SUBRC EQ 0.

V_SCORE = V_SCORE + <DYN_MSCORE>.

ENDIF.

ASSIGN COMPONENT 'MVALUE' OF STRUCTURE <DYN_WA> TO <DYN_MVAL>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

V_VALUE = V_VALUE + <DYN_MVAL>.

ENDIF.

ASSIGN COMPONENT 'MSVALUE' OF STRUCTURE <DYN_WA> TO <DYN_CHECK>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

V_MSVALUE = V_MSVALUE + <DYN_CHECK>.

ENDIF.

ASSIGN COMPONENT 'MSCORE' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD>. "This is to send MEAN SCORE value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD> = V_SCORE / V_INT.

CONDENSE <DYN_FIELD> NO-GAPS.

ENDIF.

ASSIGN COMPONENT 'MVALUE' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = V_VALUE / V_INT.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ASSIGN COMPONENT 'MSVALUE' OF STRUCTURE <DYN_WATABLE> TO <DYN_FIELD1>. "This is to send ENTRY value into final table

IF SY-SUBRC EQ 0.

<DYN_FIELD1> = V_MSVALUE / V_INT.

CONDENSE <DYN_FIELD1> NO-GAPS.

ENDIF.

ENDLOOP.

CLEAR: V_COUNT.

APPEND <DYN_WATABLE> TO <DYN_TABLE>.

CLEAR:<DYN_WATABLE>,<DYN_WA>.

CLEAR: V_RES1,V_RES2,V_RES3,<DYN_SUM1>,<DYN_SUM2>,<DYN_SUM3>,V_DCOUNT.

CLEAR: <DYN_MVAL>,<DYN_MSCORE>,<DYN_CHECK>,V_MSVALUE,V_VALUE,V_SCORE.

ENDIF.

V_FROM = V_TO + V_INT.

ENDLOOP.

ENDLOOP.

ENDLOOP.

ENDFORM. " FILL_TABLE

&----


*& Form FILL_CATLOG

&----


  • BUILDING FIELDCATLOG

----


  • --> p1 text

  • <-- p2 text

----


FORM FILL_CATLOG .

DATA: V_FCOUNT TYPE I VALUE 1.

clear: V_FCOUNT,V_DCOUNT.

V_FCOUNT = V_FCOUNT + 1.

CLEAR WA_IT_FLDCAT .

WA_FIELDCAT-FIELDNAME = 'ZCROP'.

WA_FIELDCAT-COL_POS = V_FCOUNT.

WA_FIELDCAT-TABNAME = '<DYN_TABLE>'.

WA_FIELDCAT-DATATYPE = 'CHAR'.

WA_FIELDCAT-OUTPUTLEN = '10'.

WA_FIELDCAT-SELTEXT_M = 'Crop'.

APPEND WA_FIELDCAT TO IT_FIELDCAT..

V_FCOUNT = V_FCOUNT + 1.

WA_FIELDCAT-FIELDNAME = 'ENTRY'.

WA_FIELDCAT-COL_POS = V_FCOUNT.

WA_FIELDCAT-TABNAME = '<DYN_TABLE>' ."'<DYN_HEAD>'.

WA_FIELDCAT-DATATYPE = 'CHAR'.

WA_FIELDCAT-OUTPUTLEN = '30'.

WA_FIELDCAT-SELTEXT_M = 'Entry'.

APPEND WA_FIELDCAT TO IT_FIELDCAT.

V_FCOUNT = V_FCOUNT + 1.

WA_FIELDCAT-FIELDNAME = 'CHAR'.

WA_FIELDCAT-COL_POS = V_FCOUNT.

WA_FIELDCAT-TABNAME = '<DYN_TABLE>'.

WA_FIELDCAT-DATATYPE = 'CHAR'.

WA_FIELDCAT-OUTPUTLEN = '25'.

WA_FIELDCAT-SELTEXT_M = 'Character'.

APPEND WA_FIELDCAT TO IT_FIELDCAT..

V_FCOUNT = V_FCOUNT + 1.

CLEAR WA_IT_FLDCAT .

WA_FIELDCAT-FIELDNAME = 'ZYEAR'.

WA_FIELDCAT-COL_POS = V_FCOUNT.

WA_FIELDCAT-TABNAME = '<DYN_TABLE>'.

WA_FIELDCAT-DATATYPE = 'CHAR'.

WA_FIELDCAT-OUTPUTLEN = '4'.

WA_FIELDCAT-SELTEXT_M = 'Year'.

APPEND WA_FIELDCAT TO IT_FIELDCAT..

LOOP AT IT_LOCA.

V_DCOUNT = V_DCOUNT + 1.

V_FCOUNT = V_FCOUNT + 1.

CONDENSE V_DCOUNT NO-GAPS.

CONCATENATE 'SCORE' V_DCOUNT INTO V_FIELD1.

CONCATENATE 'VALUE' V_DCOUNT INTO V_FIELD2.

CONCATENATE 'SCHCK' V_DCOUNT INTO V_FIELD3.

V_FCOUNT = V_FCOUNT + 1.

CLEAR WA_IT_FLDCAT.

WA_FIELDCAT-FIELDNAME = V_FIELD2.

WA_FIELDCAT-COL_POS = V_FCOUNT.

WA_FIELDCAT-TABNAME = '<DYN_TABLE>'.

WA_FIELDCAT-DATATYPE = 'CHAR'.

WA_FIELDCAT-OUTPUTLEN = '7'.

CONCATENATE IT_LOCA-LOCA ' Value' INTO WA_FIELDCAT-SELTEXT_M.

APPEND WA_FIELDCAT TO IT_FIELDCAT..

V_FCOUNT = V_FCOUNT + 1.

WA_FIELDCAT-FIELDNAME = V_FIELD3.

WA_FIELDCAT-COL_POS = V_FCOUNT.

WA_FIELDCAT-DATATYPE = 'CHAR'.

WA_FIELDCAT-TABNAME = '<DYN_TABLE>'.

WA_FIELDCAT-OUTPUTLEN = '7'.

CONCATENATE IT_LOCA-LOCA ' %Scheck' INTO WA_FIELDCAT-SELTEXT_M.

APPEND WA_FIELDCAT TO IT_FIELDCAT..

WA_FIELDCAT-FIELDNAME = V_FIELD1.

WA_FIELDCAT-COL_POS = V_FCOUNT.

WA_FIELDCAT-DATATYPE = 'CHAR'.

WA_FIELDCAT-TABNAME = '<DYN_TABLE>'.

WA_FIELDCAT-OUTPUTLEN = '10'.

CONCATENATE IT_LOCA-LOCA ' Score' INTO WA_FIELDCAT-SELTEXT_M.

APPEND WA_FIELDCAT TO IT_FIELDCAT..

ENDLOOP.

V_FCOUNT = V_FCOUNT + 1.

CLEAR WA_IT_FLDCAT.

WA_FIELDCAT-FIELDNAME = 'MVALUE'.

WA_FIELDCAT-COL_POS = V_FCOUNT.

WA_FIELDCAT-TABNAME = '<DYN_TABLE>'.

WA_FIELDCAT-DATATYPE = 'CHAR'.

WA_FIELDCAT-OUTPUTLEN = '15'.

WA_FIELDCAT-SELTEXT_M = 'Mean of Value'.

APPEND WA_FIELDCAT TO IT_FIELDCAT..

V_FCOUNT = V_FCOUNT + 1.

CLEAR WA_IT_FLDCAT.

WA_FIELDCAT-FIELDNAME = 'MSVALUE'.

WA_FIELDCAT-COL_POS = V_FCOUNT.

WA_FIELDCAT-TABNAME = '<DYN_TABLE>'.

WA_FIELDCAT-DATATYPE = 'CHAR'.

WA_FIELDCAT-OUTPUTLEN = '15'.

WA_FIELDCAT-SELTEXT_M = 'Mean of %SCheck'.

APPEND WA_FIELDCAT TO IT_FIELDCAT..

V_FCOUNT = V_FCOUNT + 1.

CLEAR WA_IT_FLDCAT.

WA_FIELDCAT-FIELDNAME = 'MSCORE'.

WA_FIELDCAT-COL_POS = V_FCOUNT.

WA_FIELDCAT-TABNAME = '<DYN_TABLE>'.

WA_FIELDCAT-DATATYPE = 'CHAR'.

WA_FIELDCAT-OUTPUTLEN = '15'.

WA_FIELDCAT-SELTEXT_M = 'Mean of Score'.

APPEND WA_FIELDCAT TO IT_FIELDCAT..

*LAYOUT

IT_LAYOUT-ZEBRA = 'X'.

CLEAR wa_sort.

wa_sort-fieldname = 'ENTRY'..

wa_sort-tabname = '<DYN_TABLE>'.

wa_sort-spos = 2.

wa_sort-up = 'X'.

wa_sort-subtot = 'X'.

APPEND wa_sort TO it_sort.

CLEAR wa_sort.

wa_sort-fieldname = 'ZCROP'..

wa_sort-tabname = '<DYN_TABLE>'.

wa_sort-spos = 1.

wa_sort-up = 'X'.

wa_sort-subtot = 'X'.

APPEND wa_sort TO it_sort.

CLEAR wa_sort.

wa_sort-fieldname = 'CHAR'..

wa_sort-tabname = '<DYN_TABLE>'.

wa_sort-spos = 3.

wa_sort-up = 'X'.

wa_sort-subtot = 'X'.

APPEND wa_sort TO it_sort.

ENDFORM. " FILL_CATLOG

&----


*& Form ALV_DISPLAY

&----


  • DISPLAYING ALV

----


  • --> p1 text

  • <-- p2 text

----


FORM ALV_DISPLAY .

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

EXPORTING

I_CALLBACK_PROGRAM = SY-REPID

  • I_CALLBACK_PF_STATUS_SET = 'SET_STATUS'

  • I_GRID_TITLE =

  • I_GRID_SETTINGS =

IS_LAYOUT = IT_LAYOUT

IT_FIELDCAT = IT_FIELDCAT

  • IT_EXCLUDING =

  • IT_SPECIAL_GROUPS =

IT_SORT = IT_SORT

  • IT_FILTER =

  • IS_SEL_HIDE =

  • I_DEFAULT = 'X'

I_SAVE = 'X'

  • IS_VARIANT =

  • IT_EVENTS =

  • IT_EVENT_EXIT =

  • IS_PRINT =

  • IS_REPREP_ID =

  • I_SCREEN_START_COLUMN = 0

  • I_SCREEN_START_LINE = 0

  • I_SCREEN_END_COLUMN = 0

  • I_SCREEN_END_LINE = 0

  • I_HTML_HEIGHT_TOP = 0

  • I_HTML_HEIGHT_END = 0

  • IT_ALV_GRAPHICS =

  • IT_HYPERLINK =

  • IT_ADD_FIELDCAT =

  • IT_EXCEPT_QINFO =

  • IR_SALV_FULLSCREEN_ADAPTER =

  • IMPORTING

  • E_EXIT_CAUSED_BY_CALLER =

  • ES_EXIT_CAUSED_BY_USER =

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. " ALV_DISPLAY

&----


*& Form BUILD_DYNAMIC

&----


  • Building Dynamic Table

----


  • --> p1 text

  • <-- p2 text

----


FORM BUILD_DYNAMIC .

*For Dynamic final Internal table

REFRESH IT_FLDCAT[].

CLEAR:IT_FLDCAT,WA_IT_FLDCAT.

CLEAR WA_IT_FLDCAT .

WA_IT_FLDCAT-FIELDNAME = 'ENTRY'.

WA_IT_FLDCAT-DATATYPE = 'CHAR'.

WA_IT_FLDCAT-INTLEN = '30'.

APPEND WA_IT_FLDCAT TO IT_FLDCAT.

CLEAR WA_IT_FLDCAT .

WA_IT_FLDCAT-FIELDNAME = 'ZCROP'.

WA_IT_FLDCAT-DATATYPE = 'CHAR'.

WA_IT_FLDCAT-INTLEN = '4'.

APPEND WA_IT_FLDCAT TO IT_FLDCAT.

CLEAR WA_IT_FLDCAT .

WA_IT_FLDCAT-FIELDNAME = 'ZYEAR'.

WA_IT_FLDCAT-DATATYPE = 'CHAR'.

WA_IT_FLDCAT-INTLEN = '4'.

APPEND WA_IT_FLDCAT TO IT_FLDCAT.

WA_IT_FLDCAT-FIELDNAME = 'CHAR'.

WA_IT_FLDCAT-DATATYPE = 'CHAR'.

WA_IT_FLDCAT-INTLEN = '30'.

APPEND WA_IT_FLDCAT TO IT_FLDCAT.

LOOP AT IT_LOCA.

V_DCOUNT = V_DCOUNT + 1.

CONDENSE V_DCOUNT NO-GAPS.

CONCATENATE 'SCORE' V_DCOUNT INTO V_FIELD1.

CONCATENATE 'VALUE' V_DCOUNT INTO V_FIELD2.

CONCATENATE 'SCHCK' V_DCOUNT INTO V_FIELD3.

WA_IT_FLDCAT-FIELDNAME = V_FIELD1.

WA_IT_FLDCAT-DATATYPE = 'CHAR'.

WA_IT_FLDCAT-INTLEN = '4'.

APPEND WA_IT_FLDCAT TO IT_FLDCAT.

CLEAR WA_IT_FLDCAT.

WA_IT_FLDCAT-FIELDNAME = V_FIELD2.

WA_IT_FLDCAT-DATATYPE = 'CHAR'.

WA_IT_FLDCAT-INTLEN = '9'.

APPEND WA_IT_FLDCAT TO IT_FLDCAT.

CLEAR WA_IT_FLDCAT.

WA_IT_FLDCAT-FIELDNAME = V_FIELD3.

WA_IT_FLDCAT-DATATYPE = 'CHAR'.

WA_IT_FLDCAT-INTLEN = '10'.

APPEND WA_IT_FLDCAT TO IT_FLDCAT.

ENDLOOP.

CLEAR WA_IT_FLDCAT.

WA_IT_FLDCAT-FIELDNAME = 'MSCORE'.

WA_IT_FLDCAT-DATATYPE = 'CHAR'.

WA_IT_FLDCAT-INTLEN = '4'.

APPEND WA_IT_FLDCAT TO IT_FLDCAT.

CLEAR WA_IT_FLDCAT.

WA_IT_FLDCAT-FIELDNAME = 'MVALUE'.

WA_IT_FLDCAT-DATATYPE = 'CHAR'.

WA_IT_FLDCAT-INTLEN = '9'.

APPEND WA_IT_FLDCAT TO IT_FLDCAT.

CLEAR WA_IT_FLDCAT.

WA_IT_FLDCAT-FIELDNAME = 'MSVALUE'.

WA_IT_FLDCAT-DATATYPE = 'CHAR'.

WA_IT_FLDCAT-INTLEN = '10'.

APPEND WA_IT_FLDCAT TO IT_FLDCAT.

CALL METHOD CL_ALV_TABLE_CREATE=>CREATE_DYNAMIC_TABLE

EXPORTING

IT_FIELDCATALOG = IT_FLDCAT

IMPORTING

EP_TABLE = NEW_TABLE.

ASSIGN NEW_TABLE->* TO <DYN_TABLE>.

ASSIGN NEW_TABLE->* TO <DYN_TEMP>.

ASSIGN NEW_TABLE->* TO <DYN_HEAD>.

CREATE DATA dref LIKE <DYN_TABLE>.

  • Create dynamic work area and assign to FS

CREATE DATA NEW_LINE LIKE LINE OF <DYN_TABLE>.

ASSIGN NEW_LINE->* TO <DYN_WATABLE>.

  • Create dynamic work area and assign to FS

CREATE DATA NEW_LINE LIKE LINE OF <DYN_TEMP>.

ASSIGN NEW_LINE->* TO <DYN_WA>.

ENDFORM. " BUILD_DYNAMIC

Read only

Former Member
0 Likes
514

Chitra,

Does it mean that u want to display records in itab horizontally.? If yes you can use the FM : REUSE_ALV_GRID_DISPLAY.. Here you can specify the layout/fields/template .. check if useful..

Read only

Former Member
0 Likes
513

You can Use But you will be required to have final internal table like below

ieldname1 : value1 value2 value3.

___________________________

fieldname2 : value1 value2 value 3.

____________________________

fieldname3 : value1 value 2 value3.

rgds

rajesh