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 of specific column from dynamic Internal Table .

former_member375795
Participant
0 Kudos

Material

number

Prev.

Req_qty

Prev

Net_qty

Prev

Net_cost

Curr1

Req_qty

Curr1

Net_qty

Curr1

Net_Cost

Curr2

Req_qty

Curr2

Net_qty

Curr2

Net_cost

Total

Req_qty

Total

Net_qty

Total

Net_cost

Header 14




























Tha above table is dynamic Internal Table because

Curr is a Batch Number which is given by user any number so i represent Curr1 or Curr2 it may be vary upto n

Please tell me some Logic for Sum of some Specific column i want to show in a total

Total_req_qty = prev_req + curr1_req_qty + curr2_req_qty.

like that i am unable to find the column in dynamic work area .

Please Help me out .

1 ACCEPTED SOLUTION

Former Member
0 Kudos

You tried using field symbols?

28 REPLIES 28

Former Member
0 Kudos

You tried using field symbols?

0 Kudos

yes

0 Kudos

Yes I use field Symbol but in field symbol not Identify the fields

0 Kudos

Yes I use field Symbol but in field symbol not Identify the fields

0 Kudos

Please share your code on how you trying to sum.

0 Kudos

LOOP AT IT_FINAL_A INTO WA_FINAL_A.

  Avoid duplicate entries for key field PART.
READ TABLE <gfs_dyn_table> INTO <gfs_line> INDEX SY-TABIX.
IF sy-subrc = 0.
CONTINUE.
ENDIF.
ASSIGN COMPONENT 'MATERIAL NUMBER' OF STRUCTURE <gfs_line> TO <fs1>.
MOVE WA_FINAL_A-MATNR TO <FS1>.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'MAKTX' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-MAKTX.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PREV. REQ QTY' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PREV. NET QTY' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PREV. NET COST' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PREV. PER COACH ' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH1.
UNASSIGN <fs1>.


ASSIGN COMPONENT 'PREV. PER COACH ' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH1.
UNASSIGN <fs1>.

CONCATENATE WA_FINAL_A-ORDER2 'REQ_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'NET_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'NET_COST2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST2.
UNASSIGN <FS1>.

APPEND <gfs_line> TO <gfs_dyn_table>.
UNASSIGN <FS1>.

*ASSIGN COMPONENT 'PREV. REQ QTY' OF STRUCTURE <gfs_line> TO <fs1>.
*<fs1> = WA_FINAL_A-REQ_QTY1.
**UNASSIGN <fs1>.
*
*ASSIGN COMPONENT 'PREV. NET QTY' OF STRUCTURE <gfs_line> TO <fs1>.
*<fs1> = WA_FINAL_A-NET_QTY1.
**UNASSIGN <fs1>.
*
*ASSIGN COMPONENT 'PREV. NET COST' OF STRUCTURE <gfs_line> TO <fs1>.
*<fs1> = WA_FINAL_A-NET_COST1.
**UNASSIGN <fs1>.
*
*ASSIGN COMPONENT 'PREV. PER COACH ' OF STRUCTURE <gfs_line> TO <fs1>.
*<fs1> = WA_FINAL_A-PER_COACH1.
**UNASSIGN <fs1>.
*
*
*ASSIGN COMPONENT 'PREV. PER COACH ' OF STRUCTURE <gfs_line> TO <fs1>.
*<fs1> = WA_FINAL_A-PER_COACH1.
**UNASSIGN <fs1>.
*
*CONCATENATE WA_FINAL_A-ORDER2 'REQ_QTY2' INTO FNAME .
*ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
*<fs1> = WA_FINAL_A-REQ_QTY2.
**UNASSIGN <FS1>.
*
*CONCATENATE WA_FINAL_A-ORDER2 'NET_QTY2' INTO FNAME .
*ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
*<fs1> = WA_FINAL_A-NET_QTY2.
**UNASSIGN <FS1>.
*
*CONCATENATE WA_FINAL_A-ORDER2 'NET_COST2' INTO FNAME .
*ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
*<fs1> = WA_FINAL_A-NET_COST2.
**UNASSIGN <FS1>.

APPEND <gfs_line> TO <gfs_dyn_table>.
UNASSIGN <FS1>.

endloop.

0 Kudos

data : total_qty type i.

LOOP AT IT_FINAL_A INTO WA_FINAL_A.

  Avoid duplicate entries for key field PART.
READ TABLE <gfs_dyn_table> INTO <gfs_line> INDEX SY-TABIX.
IF sy-subrc = 0.
CONTINUE.
ENDIF.
ASSIGN COMPONENT 'MATERIAL NUMBER' OF STRUCTURE <gfs_line> TO <fs1>.
MOVE WA_FINAL_A-MATNR TO <FS1>.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'MAKTX' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-MAKTX.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PREV. REQ QTY' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY1.

  total_qty = wa_final_1-reqA_qty1 + total_qty.

UNASSIGN <fs1>.



ASSIGN COMPONENT 'PREV. NET QTY' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PREV. NET COST' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PREV. PER COACH ' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH1.
UNASSIGN <fs1>.


ASSIGN COMPONENT 'PREV. PER COACH ' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH1.
UNASSIGN <fs1>.

CONCATENATE WA_FINAL_A-ORDER2 'REQ_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY2.

  total_qty = wa_final_a-req_qty2 + total_qty.

UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'NET_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY2.


UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'NET_COST2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST2.
UNASSIGN <FS1>.

APPEND <gfs_line> TO <gfs_dyn_table>.
UNASSIGN <FS1>.


ASSIGN COMPONENT 'TOTAL' of STRUCTURE <gfs_line> to <fs1>.
  <fs1> = total_qty.
   UNASSIGN <fs1>.

APPEND <gfs_line> TO <gfs_dyn_table>.
UNASSIGN <FS1>.


clear total_qty.

endloop.

(Before this, you should have created the total column field in the dynamic internal table, refer my post below. )

Basically, the logic is, when you are populating your dynamic table, whenever you input a quantity value in the table, simultaneously add that amount to the total quantity too. Finally move this total quantity to the total column for that row. Be sure to clear the value in total_qty at the end of each loop.

nabheetscn
Active Contributor
0 Kudos

You can keep a local variable.. as soon as you assign value to these fields via field symbol you add it to local variable. At end when appending assign it to column total

former_member184569
Active Contributor
0 Kudos

Hi Alok,

Check this document http://scn.sap.com/docs/DOC-42525and the logic for addition provided in the comment below. (Sum per Vendor)

0 Kudos

No mam , in this code only row move to column , not Sum of specific column . please check that Code 

0 Kudos

No mam , in this code only row move to column , not Sum of specific column . please check that Code 

0 Kudos

That can also be done.

While creating the field catalog for dynamic table, just set the do_sum to 'X' and inttype = 'I' for the quantity columns.

While creating field catalog,

gw_dyn_fcat-fieldname = wa_zdemo-month.

gw_dyn_fcat-tabname   = 'IT_DEMO'.
gw_dyn_fcat-coltext   = fname.
gw_dyn_fcat-outputlen = 10.

gw_dyn_fcat-DO_SUM = 'X'.
gw_dyn_fcat-inttype = 'I'.

gw_dyn_fcat-col_pos   = gv_pos.
APPEND gw_dyn_fcat TO gt_dyn_fcat.

And finally for the ALV field catalog, this should also be moved to that field catalog.


0 Kudos

Mam ,

I try your code  what happen , I only give the Last value of req_qty and others

0 Kudos

Mam ,

I try your code  what happen , I only give the Last value of req_qty and others

0 Kudos

Mam ,

I try your code  what happen , I only give the Last value of req_qty and others

0 Kudos

I'm sorry, I didnt understand what you said. First of all, was your required output like the screen shot provided above, with total being shown for the quantity columns?

Did you set the do_sum and inttype attributes for the columns for which you need the total?

Can you share the code you used for building the field catalog for the dynamic table?

0 Kudos

Mam ,

In copy my data from static internal table to dynamic to convert in rows .

if material is exist in then only add some information related to other batch orders then only it modify the dynamic internal table

either it append the in dynamic internal table .

0 Kudos

LOOP AT IT_FINAL_A INTO WA_FINAL_A.
IF <gfs_dyn_table> IS NOT INITIAL .
READ TABLE  <gfs_dyn_table>  ASSIGNING <gfs_line1> WITH  KEY ('MATNR') = WA_FINAL_A-MATNR  .

IF SY-SUBRC EQ 0 .
CONCATENATE WA_FINAL_A-ORDER2 'REQ_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line1> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY2.
UNASSIGN <FS1>.
TREQ_QTY =  WA_FINAL_A-REQ_QTY2 + WA_FINAL_A-TREQ_QTY.
*MODIFY  TABLE  <gfs_dyn_table>  FROM <gfs_line1> TRANSPORTING (FNAME).
CONCATENATE WA_FINAL_A-ORDER2 'NET_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line1> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY2.
UNASSIGN <FS1>.
TNET_QTY = WA_FINAL_A-NET_QTY2 + WA_FINAL_A-TNET_QTY.
*MODIFY  TABLE  <gfs_dyn_table>  FROM <gfs_line1> TRANSPORTING (FNAME).
CONCATENATE WA_FINAL_A-ORDER2 'NET_COST2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line1> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST2.
UNASSIGN <FS1>.
TCOST = WA_FINAL_A-NET_COST2 + WA_FINAL_A-TNET_COST.
*MODIFY  TABLE  <gfs_dyn_table>  FROM <gfs_line1> TRANSPORTING (FNAME).
CONCATENATE WA_FINAL_A-ORDER2 'PER_COACH2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line1> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH2.
UNASSIGN <FS1>.

ASSIGN COMPONENT  'TREQ_QTY' OF STRUCTURE <GFS_LINE1> TO <FS1>.
<FS1> = TREQ_QTY.
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_QTY' OF STRUCTURE <GFS_LINE1> TO <FS1>.
<FS1> =  TNET_QTY.
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_COST' OF STRUCTURE <GFS_LINE1> TO <FS1>.
<FS1> = TCOST.
UNASSIGN <FS1>.
*APPEND <gfs_line> TO <gfs_dyn_table>.
MODIFY  TABLE  <gfs_dyn_table>  FROM <gfs_line>.
CLEAR : <GFS_LINE>.

ELSE.

   ASSIGN COMPONENT 'MATNR' OF STRUCTURE <gfs_line> TO <fs1>.
<FS1> = WA_FINAL_A-MATNR .
UNASSIGN <fs1>.

ASSIGN COMPONENT 'MAKTX' OF STRUCTURE <gfs_line> TO <fs1>.
<FS1> = WA_FINAL_A-MAKTX.
UNASSIGN <fs1>.


ASSIGN COMPONENT 'REQ_QTY1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY1.
UNASSIGN <fs1>.
TREQ_QTY = TREQ_QTY + WA_FINAL_A-REQ_QTY1.
ASSIGN COMPONENT 'NET_QTY1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY1.
UNASSIGN <fs1>.
TNET_QTY = TNET_QTY + WA_FINAL_A-NET_QTY1.
TCOST = TCOST + WA_FINAL_A-NET_COST1.
ASSIGN COMPONENT 'NET_COST1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PER_COACH1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH1.
UNASSIGN <fs1>.



CONCATENATE WA_FINAL_A-ORDER2 'REQ_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY2.
UNASSIGN <FS1>.
TREQ_QTY = TREQ_QTY + WA_FINAL_A-REQ_QTY2.
TNET_QTY = TNET_QTY + WA_FINAL_A-NET_QTY2.
TCOST    = TCOST    + WA_FINAL_A-NET_COST2.
WA_FINAL_A-TREQ_QTY = TREQ_QTY.
WA_FINAL_A-TNET_QTY = TNET_QTY.
WA_FINAL_A-TNET_COST = TCOST.
MODIFY TABLE IT_FINAL_A FROM WA_FINAL_A TRANSPORTING TREQ_QTY  TNET_QTY TNET_COST.
CONCATENATE WA_FINAL_A-ORDER2 'NET_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'NET_COST2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'PER_COACH2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH2.
UNASSIGN <FS1>.
  WA_FINAL_A-TREQ_QTY =  TREQ_QTY.
  WA_FINAL_A-TNET_QTY = TNET_QTY.
  WA_FINAL_A-TNET_COST = TCOST.
ASSIGN COMPONENT  'TREQ_QTY' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TREQ_QTY .
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_QTY' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TNET_QTY.
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_COST' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TCOST.
UNASSIGN <FS1>.
APPEND <gfs_line> TO <gfs_dyn_table>.

ENDIF.
ELSE.
   ASSIGN COMPONENT 'MATNR' OF STRUCTURE <gfs_line> TO <fs1>.
<FS1> = WA_FINAL_A-MATNR .
UNASSIGN <fs1>.

ASSIGN COMPONENT 'MAKTX' OF STRUCTURE <gfs_line> TO <fs1>.
<FS1> = WA_FINAL_A-MAKTX.
UNASSIGN <fs1>.
TREQ_QTY = TREQ_QTY + WA_FINAL_A-REQ_QTY2.
TNET_QTY = TNET_QTY + WA_FINAL_A-NET_QTY2.
TCOST    = TCOST    + WA_FINAL_A-NET_COST2.
WA_FINAL_A-TREQ_QTY = TREQ_QTY.
WA_FINAL_A-TNET_QTY = TNET_QTY.
WA_FINAL_A-TNET_COST = TCOST.
MODIFY TABLE IT_FINAL_A FROM WA_FINAL_A TRANSPORTING TREQ_QTY  TNET_QTY TNET_COST.
ASSIGN COMPONENT 'REQ_QTY1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'NET_QTY1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'NET_COST1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PER_COACH1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH1.
UNASSIGN <fs1>.



CONCATENATE WA_FINAL_A-ORDER2 'REQ_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'NET_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'NET_COST2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'PER_COACH2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH2.
UNASSIGN <FS1>.


ASSIGN COMPONENT  'TREQ_QTY' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TREQ_QTY.
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_QTY' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TNET_QTY.
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_COST' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TCOST.
UNASSIGN <FS1>.
APPEND <gfs_line> TO <gfs_dyn_table>.
ENDIF.





*APPEND <gfs_line> TO <gfs_dyn_table>.
UNASSIGN <FS1>.
CLEAR : WA_FINAL_A , TREQ_QTY, TNET_QTY,TCOST.

Mam plz give solution

0 Kudos

LOOP AT IT_FINAL_A INTO WA_FINAL_A.
IF <gfs_dyn_table> IS NOT INITIAL .
READ TABLE  <gfs_dyn_table>  ASSIGNING <gfs_line1> WITH  KEY ('MATNR') = WA_FINAL_A-MATNR  .

IF SY-SUBRC EQ 0 .
CONCATENATE WA_FINAL_A-ORDER2 'REQ_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line1> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY2.
UNASSIGN <FS1>.
TREQ_QTY =  WA_FINAL_A-REQ_QTY2 + WA_FINAL_A-TREQ_QTY.
*MODIFY  TABLE  <gfs_dyn_table>  FROM <gfs_line1> TRANSPORTING (FNAME).
CONCATENATE WA_FINAL_A-ORDER2 'NET_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line1> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY2.
UNASSIGN <FS1>.
TNET_QTY = WA_FINAL_A-NET_QTY2 + WA_FINAL_A-TNET_QTY.
*MODIFY  TABLE  <gfs_dyn_table>  FROM <gfs_line1> TRANSPORTING (FNAME).
CONCATENATE WA_FINAL_A-ORDER2 'NET_COST2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line1> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST2.
UNASSIGN <FS1>.
TCOST = WA_FINAL_A-NET_COST2 + WA_FINAL_A-TNET_COST.
*MODIFY  TABLE  <gfs_dyn_table>  FROM <gfs_line1> TRANSPORTING (FNAME).
CONCATENATE WA_FINAL_A-ORDER2 'PER_COACH2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line1> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH2.
UNASSIGN <FS1>.

ASSIGN COMPONENT  'TREQ_QTY' OF STRUCTURE <GFS_LINE1> TO <FS1>.
<FS1> = TREQ_QTY.
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_QTY' OF STRUCTURE <GFS_LINE1> TO <FS1>.
<FS1> =  TNET_QTY.
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_COST' OF STRUCTURE <GFS_LINE1> TO <FS1>.
<FS1> = TCOST.
UNASSIGN <FS1>.
*APPEND <gfs_line> TO <gfs_dyn_table>.
MODIFY  TABLE  <gfs_dyn_table>  FROM <gfs_line>.
CLEAR : <GFS_LINE>.

ELSE.

   ASSIGN COMPONENT 'MATNR' OF STRUCTURE <gfs_line> TO <fs1>.
<FS1> = WA_FINAL_A-MATNR .
UNASSIGN <fs1>.

ASSIGN COMPONENT 'MAKTX' OF STRUCTURE <gfs_line> TO <fs1>.
<FS1> = WA_FINAL_A-MAKTX.
UNASSIGN <fs1>.


ASSIGN COMPONENT 'REQ_QTY1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY1.
UNASSIGN <fs1>.
TREQ_QTY = TREQ_QTY + WA_FINAL_A-REQ_QTY1.
ASSIGN COMPONENT 'NET_QTY1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY1.
UNASSIGN <fs1>.
TNET_QTY = TNET_QTY + WA_FINAL_A-NET_QTY1.
TCOST = TCOST + WA_FINAL_A-NET_COST1.
ASSIGN COMPONENT 'NET_COST1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PER_COACH1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH1.
UNASSIGN <fs1>.



CONCATENATE WA_FINAL_A-ORDER2 'REQ_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY2.
UNASSIGN <FS1>.
TREQ_QTY = TREQ_QTY + WA_FINAL_A-REQ_QTY2.
TNET_QTY = TNET_QTY + WA_FINAL_A-NET_QTY2.
TCOST    = TCOST    + WA_FINAL_A-NET_COST2.
WA_FINAL_A-TREQ_QTY = TREQ_QTY.
WA_FINAL_A-TNET_QTY = TNET_QTY.
WA_FINAL_A-TNET_COST = TCOST.
MODIFY TABLE IT_FINAL_A FROM WA_FINAL_A TRANSPORTING TREQ_QTY  TNET_QTY TNET_COST.
CONCATENATE WA_FINAL_A-ORDER2 'NET_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'NET_COST2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'PER_COACH2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH2.
UNASSIGN <FS1>.
  WA_FINAL_A-TREQ_QTY =  TREQ_QTY.
  WA_FINAL_A-TNET_QTY = TNET_QTY.
  WA_FINAL_A-TNET_COST = TCOST.
ASSIGN COMPONENT  'TREQ_QTY' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TREQ_QTY .
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_QTY' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TNET_QTY.
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_COST' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TCOST.
UNASSIGN <FS1>.
APPEND <gfs_line> TO <gfs_dyn_table>.

ENDIF.
ELSE.
   ASSIGN COMPONENT 'MATNR' OF STRUCTURE <gfs_line> TO <fs1>.
<FS1> = WA_FINAL_A-MATNR .
UNASSIGN <fs1>.

ASSIGN COMPONENT 'MAKTX' OF STRUCTURE <gfs_line> TO <fs1>.
<FS1> = WA_FINAL_A-MAKTX.
UNASSIGN <fs1>.
TREQ_QTY = TREQ_QTY + WA_FINAL_A-REQ_QTY2.
TNET_QTY = TNET_QTY + WA_FINAL_A-NET_QTY2.
TCOST    = TCOST    + WA_FINAL_A-NET_COST2.
WA_FINAL_A-TREQ_QTY = TREQ_QTY.
WA_FINAL_A-TNET_QTY = TNET_QTY.
WA_FINAL_A-TNET_COST = TCOST.
MODIFY TABLE IT_FINAL_A FROM WA_FINAL_A TRANSPORTING TREQ_QTY  TNET_QTY TNET_COST.
ASSIGN COMPONENT 'REQ_QTY1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'NET_QTY1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'NET_COST1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST1.
UNASSIGN <fs1>.

ASSIGN COMPONENT 'PER_COACH1' OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH1.
UNASSIGN <fs1>.



CONCATENATE WA_FINAL_A-ORDER2 'REQ_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-REQ_QTY2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'NET_QTY2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_QTY2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'NET_COST2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-NET_COST2.
UNASSIGN <FS1>.

CONCATENATE WA_FINAL_A-ORDER2 'PER_COACH2' INTO FNAME .
ASSIGN COMPONENT FNAME OF STRUCTURE <gfs_line> TO <fs1>.
<fs1> = WA_FINAL_A-PER_COACH2.
UNASSIGN <FS1>.


ASSIGN COMPONENT  'TREQ_QTY' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TREQ_QTY.
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_QTY' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TNET_QTY.
UNASSIGN <FS1>.
ASSIGN COMPONENT 'TNET_COST' OF STRUCTURE <GFS_LINE> TO <FS1>.
<FS1> = TCOST.
UNASSIGN <FS1>.
APPEND <gfs_line> TO <gfs_dyn_table>.
ENDIF.





*APPEND <gfs_line> TO <gfs_dyn_table>.
UNASSIGN <FS1>.
CLEAR : WA_FINAL_A , TREQ_QTY, TNET_QTY,TCOST.

Mam plz give solution

0 Kudos

Not here Alok.

The previous section where you created the structure for the dynamic table <GFS_DYN_TABLE>. The field catalog table gt_dyn_fcat (structure of dynamic table) used in the creation of dynamic table must be given attributes, do_sum and inttype = 'I' for those columns where you require the totals to be displayed.

0 Kudos

ONLY BY OUTPUT IS COMING BUT I NEED ALSO ROW BY ADDITION

raymond_giuseppi
Active Contributor
0 Kudos

Where is the problem, you were able to fill quantity/amount in every column, so you could also add this value in another "total" value, can you elaborate your exact problem. (e.g. in the code which fills prev_req must also fill total, the code which fills currNN_req_qty also add its value to total etc.)

Regards,

Raymond

rosenberg_eitan
Active Contributor
0 Kudos

Hi,

I am curious to know what is the maximum number of "Batch Number" do you expect in real life ?

This is a number that your users probably know.

The number of batches in a month ? a year ? since the "big bang" (http://en.wikipedia.org/wiki/Big_Bang) ?

Regards.

0 Kudos

Its Dynamic , I already design my code

0 Kudos

Hi,

I am not going to criticize your decision . Maybe it is not even yours.

The reason I am asking is that I can see a lot of complex code.

This code is expensive to write an even more expensive to maintain.

So if the number of dynamic colums is not in the hundreds I am not sure that I will go and
create columns at run time .

Also I think that report with hundreds of columns can be quite hard to grasp by the end users.

Have a look here at this doc:
https://scn.sap.com/docs/DOC-47512
Pogram Y_R_EITAN_TEST_06_03

Regards.

0 Kudos

Can you Please tell me how fetch the fields from dynamic work area <gfs_line>-field name is  not working please tell another way to fetch the fields from dynamic work area .

0 Kudos

Hi,

Using assign with field name is the correct way .

please put a break point on the assign :

look at the content of your <gfs_line> :

Your "field name" should by one of the fields in <gfs_line> .

0 Kudos

This message was moderated.