Application Development 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: 

Sum in Dynamic internal table

Former Member
0 Kudos

Hi Gurus,

I want to print sum of a particular coloumn in dynamic internal table,

But in Field symbold use char type so i cant able to print sum.

help me to solve this problem.

Regards,

Bhuvana.

11 REPLIES 11

Former Member
0 Kudos

Hi,

let itab be your internal table and the field in field1.

first of make sure that field1 is of I,P,F type.

then try with the syntax.

Loop at itab.

Sum = sum + Itab-field1.

endloop.

write: sum

Regards,

Anirban

0 Kudos

HI

i am using dynamic internal table.

not static internal table.

i am displaying output in alv grid so in fieldcatlaog i pass 'do_sum' value,

but i dint hget sum.

0 Kudos

HI,

loop at internal table .

using ASSIGN statement , assign the value to a variable .

v = v + 0.

endloop.

using event end of list ,display the sum using write statement by calculating the correct position.

i have done like this and it will work.

regards,

Ramya

0 Kudos

Can you give the code here?

Anirban

former_member182426
Active Contributor
0 Kudos

HI,

declare field sybol as type any.

and one more thing is your building dynamic itab.

provide some more details regarding this then i can help u.

Regards,

Shankar.

0 Kudos

Hi

Herwith i attach my code.

*&----


*

*& Report ZFR133_TELECAST_REVENUE *

*& *

*&----


*

*& *

*& *

*&----


*

REPORT zfr133_telecast_revenue .

*----


*

  • MODULE xxxxxxxx. *

*----


*

  • Objective :.......................................... *

  • Program : Updates Tables ( ) Downloads data ( ) *

  • Outputs List ( ) *

  • Technical Spec No ............... *

  • Date Created 17/09/2008 *

  • Author J.Bhuvaneswari *

  • Location SUN TV / Chennai *

  • LDB ..... *

*----


*

  • External Dependencies *

*----


*

  • *

*----


*

  • Amendment History *

*----


*

  • Who Change ID Reason *

  • ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ *

  • XXXXXXXXX AADDMMYYYY Where XXXX = Developers Name................. *

  • AA- Developers Initial ................................ *

*----


*

  • Includes *

*----


*

*INCLUDE : *

*----


*

  • Tables *

*----


*

TABLES : t001, bkpf, csks, bseg, cskt.

*----


*

  • Types Begin with TY_ *

*----


*

TYPES : BEGIN OF ty_bkpf,

bukrs LIKE bkpf-bukrs,

belnr LIKE bkpf-belnr,

gjahr LIKE bkpf-gjahr,

monat LIKE bkpf-monat,

stblg LIKE bkpf-stblg,

END OF ty_bkpf,

BEGIN OF ty_bseg,

bukrs LIKE bseg-bukrs,

gjahr LIKE bseg-gjahr,

belnr LIKE bseg-belnr,

shkzg LIKE bseg-shkzg,

dmbtr LIKE bseg-dmbtr,

kostl LIKE bseg-kostl,

hkont LIKE bseg-hkont,

END OF ty_bseg,

BEGIN OF ty_cskt,

kostl LIKE cskt-kostl,

ltext LIKE cskt-ltext,

END OF ty_cskt,

BEGIN OF ty_temp,

belnr LIKE bseg-belnr,

monat LIKE bkpf-monat,

kostl LIKE cskt-kostl,

ltext LIKE cskt-ltext,

shkzg LIKE bseg-shkzg,

dmbtr LIKE bseg-dmbtr,

END OF ty_temp.

DATA: BEGIN OF ty_stru OCCURS 0,

kostl LIKE cskt-kostl,

monat LIKE bkpf-monat,

dmbtr LIKE bseg-dmbtr,

END OF ty_stru.

.

*----


*

  • Constants Begin with C_ *

*----


*

*CONSTANTS: *

*----


*

  • Data Begin with W_ *

*----


*

DATA : w_amt LIKE bseg-dmbtr,

w_var TYPE string,

w_text TYPE string,

w_value TYPE i,

w_cnt TYPE i VALUE 1,

w_mon TYPE month,

okcode TYPE sy-ucomm.

*----


*

  • Infotypes ( HR Module Specific) *

*----


*

*INFOTYPES : *

*----


*

  • Internal tables Begin with IT_ *

*----


*

DATA : it_bkpf TYPE TABLE OF ty_bkpf,

it_bseg TYPE TABLE OF ty_bseg,

it_cskt TYPE TABLE OF ty_cskt,

it_temp TYPE TABLE OF ty_temp,

it_tmp1 TYPE TABLE OF ty_temp,

it_tmp2 TYPE TABLE OF ty_temp,

it_ccen TYPE TABLE OF ty_temp,

it_monat TYPE TABLE OF ty_temp.

DATA : xfc TYPE lvc_s_fcat,

ifc TYPE lvc_t_fcat,

ty_lay TYPE lvc_s_layo,

dy_table TYPE REF TO data,

dy_line TYPE REF TO data.

DATA : cl TYPE REF TO cl_gui_custom_container,

cl_alv TYPE REF TO cl_gui_alv_grid.

DATA : wa_bkpf TYPE ty_bkpf,

wa_bseg TYPE ty_bseg,

wa_cskt TYPE ty_cskt,

wa_temp TYPE ty_temp,

wa_tmp1 TYPE ty_temp,

wa_tmp2 TYPE ty_temp,

wa_ccen TYPE ty_temp,

wa_monat TYPE ty_temp,

wa_month TYPE t247.

*----


*

  • Field Symbols Begin with FS_ *

*----


*

*FIELD-SYMBOLS: *

*----


*

FIELD-SYMBOLS: .

*----


*

  • Insert *

*----


*

*INSERT : *

*----


*

  • Select Options Begin with SO_ *

*----


*

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.

PARAMETERS : pr_bukrs LIKE t001-bukrs OBLIGATORY,

pr_gjahr LIKE bkpf-gjahr OBLIGATORY.

SELECT-OPTIONS : so_monat FOR bkpf-monat OBLIGATORY,

so_kostl FOR bseg-kostl OBLIGATORY,

so_hkont FOR bseg-hkont OBLIGATORY.

SELECTION-SCREEN END OF BLOCK blk1.

*----


*

  • Parameters Begin with PR_ *

*----


*

*PARAMETERS : *

*----


*

  • Initialisation *

*----


*

*INITIALIZATION.

*----


*

  • At selection-screen *

*----


*

*AT SELECTION-SCREEN.

***********************************************************************

  • S T A R T O F S E L E C T I O N *

***********************************************************************

START-OF-SELECTION.

******Select data from Header Table.

SELECT bukrs gjahr belnr monat stblg

FROM bkpf INTO CORRESPONDING FIELDS OF TABLE it_bkpf

WHERE bukrs = pr_bukrs AND

gjahr = pr_gjahr AND

monat IN so_monat AND

stblg = ' '.

******Select data from Item Table

IF it_bkpf IS NOT INITIAL.

SELECT bukrs gjahr belnr shkzg dmbtr kostl hkont

FROM bseg INTO CORRESPONDING FIELDS OF TABLE it_bseg

FOR ALL ENTRIES IN it_bkpf

WHERE bukrs = it_bkpf-bukrs AND

gjahr = it_bkpf-gjahr AND

belnr = it_bkpf-belnr AND

kostl IN so_kostl AND

hkont IN so_hkont.

ENDIF.

******Select Cost center text

SELECT kostl ltext

FROM cskt INTO CORRESPONDING FIELDS OF TABLE it_cskt

WHERE spras = 'EN' AND

kokrs = 'SUN1' AND

kostl IN so_kostl.

******Append data in temporary table.

LOOP AT it_bseg INTO wa_bseg.

READ TABLE it_bkpf INTO wa_bkpf WITH KEY belnr = wa_bseg-belnr.

IF sy-subrc = 0.

wa_temp-belnr = wa_bkpf-belnr.

wa_temp-monat = wa_bkpf-monat.

wa_temp-kostl = wa_bseg-kostl.

READ TABLE it_cskt INTO wa_cskt WITH KEY kostl = wa_bseg-kostl.

IF sy-subrc = 0.

wa_temp-ltext = wa_cskt-ltext.

ENDIF.

IF wa_bseg-shkzg = 'H'.

wa_temp-dmbtr = wa_bseg-dmbtr * -1.

ELSE.

wa_temp-dmbtr = wa_bseg-dmbtr.

ENDIF.

APPEND wa_temp TO it_temp.

ENDIF.

ENDLOOP.

SORT it_temp BY kostl monat.

******Internal Table of cost center without duplications.

it_ccen = it_temp.

DELETE ADJACENT DUPLICATES FROM it_ccen COMPARING kostl.

******Internal Table of fiscal period without duplications.

it_monat = it_temp.

SORT it_monat BY monat.

DELETE ADJACENT DUPLICATES FROM it_monat COMPARING monat.

PERFORM dynamic_table.

PERFORM data_upload_dynamic_table.

SET SCREEN 3000.

IF cl IS INITIAL.

CREATE OBJECT cl EXPORTING container_name = 'TC'.

CREATE OBJECT cl_alv EXPORTING i_parent = cl.

ENDIF.

CALL METHOD cl_alv->set_table_for_first_display

EXPORTING

  • i_structure_name = 'ZALIKP'

is_layout = ty_lay

CHANGING

it_outtab =

it_fieldcatalog = ifc.

*GET XX.

*END-OF-SELECTION.

***********************************************************************

  • E N D O F S E L E C T I O N *

***********************************************************************

  • At line selection *

*----


*

*AT LINE-SELECTION.

*----


*

  • User Command Processing *

*----


*

*AT USER-COMMAND.

*----


*

  • Top Of Page *

*----


*

*TOP-OF-PAGE.

*----


*

  • End Of Page *

*----


*

*END-OF-PAGE.

*&----


*

*& Form DYNAMIC_TABLE

*&----


*

FORM dynamic_table .

PERFORM design_fieldcat USING 'KOSTL' 'BSEG' text-002 '10'.

PERFORM design_fieldcat USING 'LTEXT' 'CSKT' text-003 '30'.

LOOP AT it_monat INTO wa_monat.

  • CONCATENATE 'PE' wa_monat-monat INTO w_text.

w_mon = wa_monat-monat.

CALL FUNCTION 'IDWT_READ_MONTH_TEXT'

EXPORTING

langu = sy-langu

month = w_mon

IMPORTING

t247 = wa_month.

.

w_var = wa_monat-monat.

w_text = wa_month-ltx.

PERFORM design_fieldcat USING w_var 'BKPF' w_text '10'.

ENDLOOP.

CALL METHOD cl_alv_table_create=>create_dynamic_table

EXPORTING

it_fieldcatalog = ifc

IMPORTING

ep_table = dy_table.

ASSIGN dy_table->* TO .

ENDFORM. " DYNAMIC_TABLE

*&----


*

*& Form DESIGN_FIELDCAT

*&----


*

FORM design_fieldcat USING value TYPE string

tab TYPE string

text TYPE string

length TYPE string.

xfc-fieldname = value.

xfc-tabname = tab.

xfc-reptext = text.

xfc-outputlen = length.

APPEND xfc TO ifc.

w_cnt = w_cnt + 1.

CLEAR xfc.

ENDFORM. " DESIGN_FIELDCAT

*&----


*

*& Form DATA_UPLOAD_DYNAMIC_TABLE

*&----


*

FORM data_upload_dynamic_table .

DATA : w_c(2) TYPE c,

w_c1(5) TYPE c,

w_c2(5) TYPE c.

CREATE DATA dy_line LIKE LINE OF .

CLEAR: wa_tmp2,w_amt.

ENDON.

ENDLOOP.

ENDLOOP.

ENDFORM. " DATA_UPLOAD_DYNAMIC_TABLE

*&----


*

*& Module STATUS_3000 OUTPUT

*&----


*

MODULE status_3000 OUTPUT.

SET PF-STATUS 'MENU'.

SET TITLEBAR 'TIT'.

ENDMODULE. " STATUS_3000 OUTPUT

*&----


*

*& Module USER_COMMAND_3000 INPUT

*&----


*

MODULE user_command_3000 INPUT.

CASE okcode.

WHEN 'BACK'." OR 'RW' OR '%EX'.

LEAVE PROGRAM.

CLEAR okcode.

ENDCASE.

ENDMODULE. " USER_COMMAND_3000 INPUT

Former Member
0 Kudos

u wont get the sum by using 'do_sum' in the field catalog.

to get the sum u can do the following:


1. add a field in the dynamic internal table of integer type.
2. copy the corresponding values to the integer field.
3. do the sum on that integer field.
4. do not display the original field, instead display the integer field.

u can try the above...

0 Kudos

hi

I did that already see my code,

Its updated correcly as amout in right alignment in dynamic table but while displaying it again chaged as charter..

regards,

Bhuvana.

Former Member
0 Kudos

Try this in the field catalog for creation of dyn tab...


  wa_ifc-inttype = 'NUMC'.
  wa_ifc-intlen = '6'.
  wa_ifc-fieldname = value.
*  xfc-tabname = tab.  
  xfc-reptext = text.
  xfc-outputlen = length.  

0 Kudos

Thank Gurus For ur kindly help.

My problem get solved by passing 'datatype' to the fieldcattalog.

Regards,

Bhuvana

Edited by: bhuvaneswari janarthanan on Sep 26, 2008 2:46 PM

Edited by: bhuvaneswari janarthanan on Sep 26, 2008 2:50 PM

0 Kudos

Thank u Gurus