10-23-2013 8:22 AM
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 .
10-23-2013 8:33 AM
10-23-2013 8:33 AM
10-23-2013 8:47 AM
10-23-2013 8:48 AM
Yes I use field Symbol but in field symbol not Identify the fields
10-23-2013 8:48 AM
Yes I use field Symbol but in field symbol not Identify the fields
10-23-2013 8:52 AM
10-23-2013 8:57 AM
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.
10-23-2013 9:13 AM
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.
10-23-2013 8:52 AM
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
10-23-2013 8:56 AM
Hi Alok,
Check this document http://scn.sap.com/docs/DOC-42525and the logic for addition provided in the comment below. (Sum per Vendor)
10-23-2013 9:04 AM
No mam , in this code only row move to column , not Sum of specific column . please check that Code
10-23-2013 9:04 AM
No mam , in this code only row move to column , not Sum of specific column . please check that Code
10-23-2013 9:22 AM
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.
10-23-2013 9:50 AM
Mam ,
I try your code what happen , I only give the Last value of req_qty and others
10-23-2013 9:50 AM
Mam ,
I try your code what happen , I only give the Last value of req_qty and others
10-23-2013 9:50 AM
Mam ,
I try your code what happen , I only give the Last value of req_qty and others
10-23-2013 9:59 AM
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?
10-23-2013 10:05 AM
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 .
10-23-2013 10:30 AM
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
10-23-2013 10:30 AM
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
10-23-2013 12:30 PM
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.
10-24-2013 6:12 AM
10-23-2013 9:13 AM
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
10-23-2013 11:19 AM
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.
10-23-2013 11:54 AM
10-24-2013 6:38 AM
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.
10-24-2013 7:03 AM
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 .
10-24-2013 7:49 AM
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> .
10-26-2013 6:46 PM