Copying from Sub total
Hi
I want to save the subtotal value to another condition type in the pricing procedure which is having access sequence say Sales org/Dist channel/Plant / Material.
How do i save it. For the condition type I have given from & to which is refering to sub total.
Best Regards
Swami
Hi Ravi
I have mentioned in my message that From & to are maintained already in the pricing procedure.
Best Regards
Swami
Similar Messages
-
working in Work order report, this report has different level , for example
0 level transaction
1 level transaction
in subtotal don't want to add 0 level transaction,
when I did the sub total it added all the level , so in sub total amount double up because of that
how to add the expression so I can the level 0 take out from sub total , so it does not include in sub total
can some one please help me with this
thanks in advanceHi Simon_ Hou
I tried the expr the way you suggested , it did not work getting error message, the exp I added is below
this the expression I added on sub total where is highlighted in Yellow, under Cost amount column,
I really appreciate the help
=Sum(IIF(Fields!COLLECTREFLEVEL.Value=
"0",0,Fields!CostAMOUNT.Value),"DataSet1")
please see below my QUERY, can you please help and let me know what I did wrong in my exp
SELECT PRODTABLE.PRODID, PRODCALCTRANS.COSTGROUPID, PRODTABLE.QTYCALC, PRODTABLE.PRODSTATUS, PRODCALCTRANS.COSTAMOUNT,
PRODCALCTRANS.COSTMARKUP, PRODCALCTRANS.REALCOSTAMOUNT, PRODCALCTRANS.CALCTYPE, PRODTABLE.DATAAREAID, PRODCALCTRANS.KEY3,
PRODCALCTRANS.CONSUMPVARIABLE, PRODCALCTRANS.REALCONSUMP, PRODTABLE.ITEMID, PRODTABLE.SCHEDDATE, PRODTABLE.FINISHEDDATE,
PRODCALCTRANS.KEY1, PRODCALCTRANS.TRANSDATE, PRODCALCTRANS.QTY, PRODCALCTRANS.KEY2, PRODCALCTRANS.COLLECTREFLEVEL,
PRODCALCTRANS.LINENUM
FROM PRODTABLE INNER JOIN
PRODCALCTRANS ON PRODTABLE.PRODID = PRODCALCTRANS.PRODID AND PRODTABLE.DATAAREAID = PRODCALCTRANS.DATAAREAID
WHERE (PRODTABLE.PRODSTATUS = 7) AND (PRODTABLE.DATAAREAID = N'AR1') AND (PRODTABLE.ITEMID = @itemid) AND
(PRODTABLE.FINISHEDDATE >= @Paramfromdate) AND (PRODTABLE.FINISHEDDATE <= @Paramtodate) -
How can i copy and referencing the value of a sub-total of a category into another cell?
How can i copy and referencing the value of a sub-total of a category into another cell?
Cells in Category rows 'exist' only when those categories are inserted using the Reorganize table. Those cells cannot be referenced from other cells.
If you want a category summed, you will need to do that in a cell that is still visible when the table is not sorted into categorie using the Reorganize pane. The function to use is SUMIF. You can find information regarding SUMIF (and SUMIFS) in the iWork Formulas and Functions User Gude. The guide may be downloaded using the link in the Help menu in Numbers '09.
Regards,
Barry -
Missing Sub Totals from web layouts
Hi Gurus
We are on BPS 4.0 and BW 3.5
I have made some changes to a layout (inserted few lines at the top thereby pushing earlier lines below) and it looks good when I display planning data in BPS0 but when I display in weblayout, the sub totals are missing and instead blank lines are being shown. I have regenerated layouts, weblayouts 2-3 times but no help.
Obviously, I am doing something wrong. Could someone point me in right direction?
Thanks
RajeshHi,
SAP doesn't recommends to change the generated template from manual layout. If you want to upload your own template then it has to be generic across all applications in BPS.
If you want to increase the number of lines displayed in layout, it should be added in the bottom of the template or else you can use program( se38) UPP_SET_DEFAULT_DUMMIES
Thanks
Pratyush -
Customised sub-total via UNION query - how to exclude from totals?
Hi,
I have a client requirement that a couple of companies have their own sub-total in a report, a treatment which applies to no other companies in their group.
I have achieved this via a union all, but they also want a total of companies.
Is there anyway to emulate a Grand Total, other than another union query such that the double count is not double counted?
thanks for any ideas.
Robert.only solution which i can think of is to create another union request for the grand total.. this way you wont add up your sub totals twice..
-
Need Help Creating A Sub-Total Box On 3 Page Invoice
I have a 3 page Invoice with Grand Total on the last page that already totals all three pages together. No Problem here.
I copied & pasted a Sub-Total box from the Template Manager and attached it to the bottom of the first two invoice pages.
The problem is, the Sub-Total amounts continue to add the other page amounts. It's like I have three Grand Total boxes instead of two individual Sub-Total boxes.
Any help would be greatly appreciated!Sorry for the delay in getting back to you ..... I was looking for a sample that I could provide.
The technique to use would be to get a list of all objects that are on the page that you want to create the subtotal on. Then with this reduced set of objects, search out the individual fields and add then together to make your total. In the example I have we created a function to do this and passed the object subtotal object itself to the function. The function then determines which page the object is on, gets all field objects from that page (in our case we are asking to add all fields called fldSavings), then cycles through each field and totals them and finally returns the sum back to the calling program. Hope this helps .... see the code below we call it in this way:
scoScript.getPageTotals(this.name);
Here is the function:
function getPageTotals(objFld){
var nPage = xfa.layout.absPage(objFld);
var oFields = xfa.layout.pageContent(nPage , "field");
var nFieldCount = oFields.length;
var numFldTotals = 0;
for (var nNodeCount = 0; nNodeCount < nFieldCount; nNodeCount++)
if (oFields.item(nNodeCount).name == "fldSavings")
numFldTotals = numFldTotals + oFields.item(nNodeCount).rawValue;
return numFldTotals; -
Creation of Sub-Totals within Groups
Hi - hope this is me just being a plank but I've hit a brick wall whilst trying to recreate a set of management accounts. So far the report has just two Groups - call them A & B for ease. Group B summarizes the detail and Group A neatly collects the results from Group B.
Group A comprises 6 parts all doing their bit and all the standard Crystal Sub-Totals (Summaries) work just fine. The problem I encounter is when I need to insert another Sub-Total into Group A which summarizes multiple parts of Group A e.g. Part 1 is Sales, Part 2 is Cost of sales, Part 3 is Labour, Part 4 is Expenses, Part 5 is Other and Part 6 is Depreciation. I need to insert a Sub-Total between Parts 3 and 4 which basically gives a total of Sales minus Cost of Sales minus Labour and to then continue with Parts 4 to 6. This is obviously a huge simplification of the issue but an answer to this would let me proceed with everything else.
I've tried creating an line so I can add a formula for this by giving it a name of its own in Group A but it fails to appear on the report. I've also tried the 'Insert Section Below' option and whilst I can suppress it where necessary the formula just picks up values from the last entry on the Detail Section.
Any ideas where I am making some elementary mistakes and is there an easy solution? Many thanksHi,
Try to create a manual running total formula for summing the fields with a condition.
Create a @reset formula and place it report header:
formula:
whileprintingrecords;
numbervar i:=0;
Create a @eval formula and place it in group header A:
formula:
whileprintingrecords;
numbervar i;
if {groupname.field} = 'Labour' or {groupname.field} = 'Expenses' then
i:= i + {summary.field};
Create a @display formula and place it in report footer;
formula:
whileprintingrecords;
numbervar i;
Hope this helps!
Regards,
Vinay -
Error in phase import Homogeneous system copy from a BI 7.3 dual stack ABAPJAVA
Hi
I'm doing a Homogeneous system copy from a BI 7.3 dual stack ABAP+JAVA system with an Oracle DB (11g version, 11.2.0.3.0 patch level) with AIX ibm OS.
Before starting export I've executed in the source system the report SMIGR_CREATE_DDL, as described in sap note 888210, and I generated *.SQL files.
After, during the import in the target system I get the following error message:
vi /expdb2/tmpDB0/sapinst_instdir/NW730/ORA/ORA/COPY/ORA/SYSTEM/STD/AS/import_monitor.log
INFO: 2014-03-08 00:21:57 com.sap.inst.migmon.LoadTask run_report
Monitor jobs: running 0, waiting 1, completed 60, failed 5, total 66 finish processing of package SAP0000
You can see below the detail of the 5 packages in error:
SAPAPPL0_1_5
DbSlExecute: rc = 99
(SQL error 2216)
error message returned by DbSl:
ORA-02216: tablespace name expected
(DB) INFO: disconnected from DB
/usr/sap/DB2/SYS/exe/uc/rs6000_64/R3load: job finished with 1 error(s)
/usr/sap/DB2/SYS/exe/uc/rs6000_64/R3load: END OF LOG: 20140307141347
SAPZPSA
DbSlExecute: rc = 99
(SQL error 2216)
error message returned by DbSl:
ORA-02216: tablespace name expected
(DB) INFO: disconnected from DB
SAPDODS
DbSlExecute: rc = 99
(SQL error 922)
error message returned by DbSl:
ORA-00922: missing or invalid option
(DB) INFO: disconnected from DB
SAPDFACT
DbSl Trace: Error 1741 in exec_immediate() from oci_execute_stmt(), orpc=0
DbSl Trace: ORA-01741 occurred when executing SQL stmt (parse error offset=8126464)
(DB) ERROR: DDL statement failed
( ALTER TABLE "/BI0/F0TCT_C01" ADD PARTITION "/BI0/F0TCT_C010000001131" VALUES LESS THAN ( 0000001131 ) TABLESPACE "" )
DbSlExecute: rc = 99
(SQL error 1741)
error message returned by DbSl:
ORA-01741: illegal zero-length identifier
(DB) INFO: disconnected from DB
SAPZOSO
DbSl Trace: Error 922 in exec_immediate() from oci_execute_stmt(), orpc=0
DbSl Trace: ORA-00922 occurred when executing SQL stmt (parse error offset=242024448)
(DB) ERROR: DDL statement failed
(CREATE TABLE "/BIC/B0000989000" ("REQUEST" VARCHAR2 (000090) DEFAULT ' ' NOT NULL, "DATAPAKID" VARCHAR2 (000018) DEFAULT '000000' NOT NULL, "PART
NO" NUMBER (000010) DEFAULT 0 NOT NULL, "RECORD" NUMBER (000010) DEFAULT 0 NOT NULL, "PLANT" VARCHAR2 (000012) DEFAULT ' ' NOT NULL, "MATERIA
L" VARCHAR2 (000054) DEFAULT ' ' NOT NULL, "RPA_CURUOM" VARCHAR2 (000015) DEFAULT ' ' NOT NULL, "RPA_MVF" NUMBER (000017, 000002) DEFAULT 0 NOT N
ULL, "PRICE_UNIT" NUMBER (000017, 000003) DEFAULT 0 NOT NULL, "RPA_QTYUOM" VARCHAR2 (000009) DEFAULT ' ' NOT NULL, "RT_SSMFGR" VARCHAR2 (000024)
DEFAULT '00000000' NOT NULL, "BASE_UOM" VARCHAR2 (000009) DEFAULT ' ' NOT NULL, "FRE_PLNPUR" VARCHAR2 (000036) DEFAULT ' ' NOT NULL, "FRE_MINS
TK" NUMBER (000017, 000003) DEFAULT 0 NOT NULL, "FRE_SERLEV" NUMBER (000017, 000003) DEFAULT 0 NOT NULL, "FRE_SELCLS" VARCHAR2 (000003) DEFAULT '
0' NOT NULL, "FRE_REPLST" VARCHAR2 (000006) DEFAULT ' ' NOT NULL, "ABCKEY" VARCHAR2 (000003) DEFAULT ' ' NOT NULL, "RECORDMODE" VARCHAR2 (000003)
DEFAULT ' ' NOT NULL, "RT_SERVLEV" VARCHAR2 (000003) DEFAULT ' ' NOT NULL, "RT_SUPS" VARCHAR2 (000003) DEFAULT ' ' NOT NULL, "VAL_TYPE" VARCH
AR2 (000030) DEFAULT ' ' NOT NULL, "PUR_GROUP" VARCHAR2 (000009) DEFAULT ' ' NOT NULL, "RT_VPNEU" NUMBER (000017, 000002) DEFAULT 0 NOT NULL,
"CURRENCY" VARCHAR2 (000015) DEFAULT ' ' NOT NULL, "RT_VRKPE" NUMBER (000017, 000003) DEFAULT 0 NOT NULL, "DISMM" VARCHAR2 (000006) DEFAULT ' '
NOT NULL, "SALES_UNIT" VARCHAR2 (000009) DEFAULT ' ' NOT NULL, "RT_VP_BT" NUMBER (000017, 000002) DEFAULT 0 NOT NULL, "RT_VPE_BT" NUMBER (000017,
000003) DEFAULT 0 NOT NULL, "RT_VP_NT" NUMBER (000017, 000002) DEFAULT 0 NOT NULL, "RT_VPE_NT" NUMBER (000017, 000003) DEFAULT 0 NOT NULL, "R
T_VWAERBT" VARCHAR2 (000015) DEFAULT ' ' NOT NULL, "RT_VWAERNT" VARCHAR2 (000015) DEFAULT ' ' NOT NULL, "RT_VPMEIBT" VARCHAR2 (000009) DEFAULT '
' NOT NULL, "RT_VPMEINT" VARCHAR2 (000009) DEFAULT ' ' NOT NULL, "LOC_CURRCY" VARCHAR2 (000015) DEFAULT ' ' NOT NULL, "UNIT" VARCHAR2 (000009)
DEFAULT ' ' NOT NULL, "CM_MCATDIV" VARCHAR2 (000054) DEFAULT ' ' NOT NULL, "CM_CDT1" VARCHAR2 (000054) DEFAULT ' ' NOT NULL, "CM_CDT2" VARCHAR2
(000054) DEFAULT ' ' NOT NULL, "CM_CDT3" VARCHAR2 (000054) DEFAULT ' ' NOT NULL, "CM_CDT4" VARCHAR2 (000054) DEFAULT ' ' NOT NULL, "CM_HIEID"
VARCHAR2 (000006) DEFAULT ' ' NOT NULL, "CPSTLC" NUMBER (000017, 000002) DEFAULT 0 NOT NULL, "CPSVLC" NUMBER (000017, 000002) DEFAULT 0 NOT NULL
, "STOCK_VAL" NUMBER (000017, 000002) DEFAULT 0 NOT NULL, "STOCK_QTY" NUMBER (000017, 000003) DEFAULT 0 NOT NULL, "RT_SEASON" VARCHAR2 (000012)
DEFAULT ' ' NOT NULL, "RT_SEASYR" VARCHAR2 (000012) DEFAULT '0000' NOT NULL, "CALDAY" VARCHAR2 (000024) DEFAULT '00000000' NOT NULL, "CALWEEK"
VARCHAR2 (000018) DEFAULT '000000' NOT NULL, "RF_BNDID" VARCHAR2 (000012) DEFAULT ' ' NOT NULL, "/BIC/ZCATTR3" VARCHAR2 (000006) DEFAULT ' ' NOT
NULL, "/BIC/ZCSTYLE" VARCHAR2 (000006) DEFAULT ' ' NOT NULL, "/BIC/ZCIMAGE" VARCHAR2 (000006) DEFAULT ' ' NOT NULL, "/BIC/ZCBRNDTYP" VARCHAR2 (000
003) DEFAULT ' ' NOT NULL, "/BIC/ZCGROUPE" VARCHAR2 (000054) DEFAULT ' ' NOT NULL) PCTFREE 10 PCTUSED 00 INITRANS 001 TABLESPACE STORAGE (
INITIAL 0000000016 K NEXT 0000001024 K MINEXTENTS 0000000001 MAXEXTENTS 2147483645 PCTINCREASE 0000
FREELISTS 001 FREELIST GROUPS 01) PARTITION BY RANGE ("PARTNO") ( PARTITION "/BIC/B00009890000000000002" VALUES LESS THAN (00000
00002) NOCOMPRESS ) )
DbSlExecute: rc = 99
(SQL error 922)
error message returned by DbSl:
ORA-00922: missing or invalid option
(DB) INFO: disconnected from DBhello,
Before anything update DB shared lib, R3load, R3ldctl and R3szchk in the target system. Also Check in source system if you have any tables o index missing in db02 transaction, If this system wa upgraded from a previous release please check TAORA and IAORA tables in source system and check all the tablespaces named in those tables are created in the target system.
let me know how it goes.
Regards,
Michael -
hi,
in alv i want sub total text for purchase order.
can you check my code . i am not getting.
TYPE-POOLS: slis.
TABLES: ekko,ekpo,eket.
TYPES: BEGIN OF ty_ekko,
lifnr TYPE elifn,
ebeln TYPE ebeln,
ebeln1 TYPE ebeln,
bsart TYPE esart,
ekorg TYPE ekorg,
ekgrp TYPE bkgrp,
ernam TYPE ernam,
END OF ty_ekko,
BEGIN OF ty_ekpo,
ebeln TYPE ebeln,
matnr TYPE matnr,
ebelp TYPE ebelp,
ebelp1 TYPE ebelp,
menge TYPE bstmg,
meins TYPE bstme,
netpr TYPE bprei,
werks TYPE ewerk,
END OF ty_ekpo,
BEGIN OF ty_eket,
ebeln TYPE ebeln,
ebelp TYPE ebelp,
etenr TYPE eeten,
eindt TYPE eindt,
END OF ty_eket,
BEGIN OF ty_final,
slno TYPE sy-dbcnt,
lifnr TYPE elifn,
ebeln TYPE ebeln,
ebeln1 TYPE ebeln,
bsart TYPE esart,
ekorg TYPE ekorg,
ekgrp TYPE bkgrp,
ernam TYPE ernam,
matnr TYPE matnr,
ebelp TYPE ebelp,
ebelp1 TYPE ebelp,
menge TYPE bstmg,
meins TYPE bstme,
netpr TYPE bprei,
werks TYPE ewerk,
eindt TYPE eindt,
END OF ty_final.
DATA: it_ekko TYPE STANDARD TABLE OF ty_ekko,
it_ekpo TYPE STANDARD TABLE OF ty_ekpo,
it_eket TYPE STANDARD TABLE OF ty_eket,
it_final TYPE STANDARD TABLE OF ty_final,
it_fieldcat TYPE slis_t_fieldcat_alv,
it_alv_top_of_page TYPE slis_t_listheader,
it_sort TYPE slis_t_sortinfo_alv,
it_event TYPE slis_t_event,
l_repid TYPE syrepid,
slno TYPE i VALUE 1.
DATA: wa_ekko TYPE ty_ekko,
wa_ekpo TYPE ty_ekpo,
wa_eket TYPE ty_eket,
wa_final TYPE ty_final,
wa_fieldcat TYPE slis_fieldcat_alv,
wa_alv_top_of_page TYPE slis_listheader,
wa_sort TYPE slis_sortinfo_alv,
wa_layout TYPE slis_layout_alv.
wa_event TYPE slis_alv_event.
CONSTANTS:
c_header TYPE char1
VALUE 'H', "Header in ALV
c_item TYPE char1
VALUE 'S'.
SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_aedat FOR ekko-aedat.
SELECTION-SCREEN END OF BLOCK blk.
START-OF-SELECTION.
PERFORM validation.
PERFORM retrive_data.
PERFORM sub_build_header.
PERFORM sub_field_catalog.
PERFORM sub_populate_layout.
PERFORM sub_populate_sort.
PERFORM sub_get_event.
*END-OF-SELECTION.
Perform to display ALV report
PERFORM sub_alv_report_display.
*FORM validation .
SELECT SINGLE * FROM ekko WHERE aedat IN s_aedat .
IF sy-subrc <> 0.
MESSAGE e001(zram).
ENDIF.
*ENDFORM. " validation
FORM retrive_data .
SELECT lifnr
ebeln
ebeln
bsart
ekorg
ekgrp
ernam FROM ekko INTO TABLE it_ekko
INTO CORRESPONDING FIELDS OF TABLE it_ekko
WHERE aedat IN s_aedat .
IF it_ekko[] IS NOT INITIAL.
SELECT ebeln
ebelp
ebelp
matnr
menge
meins
netpr
werks FROM ekpo
INTO corresponding fields of TABLE it_ekpo
FOR ALL ENTRIES IN it_ekko
WHERE ebeln = it_ekko-ebeln .
if sy-subrc = 0.
SELECT ebeln
ebelp
etenr
eindt
FROM eket INTO TABLE it_eket
FOR ALL ENTRIES IN it_ekpo
WHERE ebeln = it_ekpo-ebeln .
endif.
ENDIF.
ENDIF.
LOOP AT it_ekko INTO wa_ekko.
READ TABLE it_ekpo INTO wa_ekpo
WITH KEY ebeln = wa_ekko-ebeln.
READ TABLE it_eket INTO wa_eket
WITH KEY ebeln = wa_ekpo-ebeln.
wa_final-slno = slno.
wa_final-lifnr = wa_ekko-lifnr.
wa_final-ebeln = wa_ekko-ebeln.
wa_final-bsart = wa_ekko-bsart.
wa_final-ekgrp = wa_ekko-ekgrp.
wa_final-ekorg = wa_ekko-ekorg.
wa_final-ernam = wa_ekko-ernam.
wa_final-ebelp = wa_ekpo-ebelp.
wa_final-matnr = wa_ekpo-matnr.
wa_final-menge = wa_ekpo-menge.
wa_final-meins = wa_ekpo-meins.
wa_final-netpr = wa_ekpo-netpr.
wa_final-werks = wa_ekpo-werks.
wa_final-eindt = wa_eket-eindt.
slno = slno + 1.
APPEND wa_final TO it_final.
ENDLOOP.
ENDFORM. " retrive_data
FORM sub_build_header .
Local data declaration
DATA: l_system TYPE char10 , "System id
l_r_line TYPE slis_listheader, "Hold list header
l_date TYPE char10, "Date
l_time TYPE char10, "Time
l_success_records TYPE i, "No of success records
l_title(300) TYPE c. " Title
Title Display
l_r_line-typ = c_header. " header
l_title = 'Test report'(001).
l_r_line-info = l_title.
APPEND l_r_line TO it_alv_top_of_page.
CLEAR l_r_line.
Run date Display
CLEAR l_date.
l_r_line-typ = c_item. " Item
WRITE: sy-datum TO l_date MM/DD/YYYY.
l_r_line-key = 'Run Date :'(002).
l_r_line-info = l_date.
APPEND l_r_line TO it_alv_top_of_page.
CLEAR: l_r_line,
l_date.
ENDFORM. " sub_build_header
FORM sub_field_catalog .
REFRESH it_fieldcat.
wa_fieldcat-row_pos = '01'. " p_rowpos. "Row
wa_fieldcat-col_pos = '01'. "p_colpos. "Column
wa_fieldcat-fieldname = 'SLNO'. "p_fldnam. "Field Name
wa_fieldcat-tabname = 'IT_FINAL'. "p_tabnam. "Internal Table Name
wa_fieldcat-just = ' '. "p_justif. "Screen Justified
wa_fieldcat-seltext_l = 'SLNo'. "p_seltext. "Field Text
wa_fieldcat-do_sum = ' '.
wa_fieldcat-outputlen = '4' .
wa_fieldcat-no_out = ' '. "p_out. "No output
wa_fieldcat-tech = ' '. "p_tech. "Technical field
wa_fieldcat-qfieldname = ' '. "p_qfield. "Quantity unit
wa_fieldcat-qtabname = ' '. "p_qtab . "Quantity table
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-row_pos = '01'. " p_rowpos. "Row
wa_fieldcat-col_pos = '02'. "p_colpos. "Column
wa_fieldcat-fieldname = 'LIFNR'. "p_fldnam. "Field Name
wa_fieldcat-tabname = 'IT_FINAL'. "p_tabnam. "Internal Table Name
wa_fieldcat-just = ' '. "p_justif. "Screen Justified
wa_fieldcat-seltext_l = 'Supplier Name'. "p_seltext. "Field Text
wa_fieldcat-do_sum = ' '.
wa_fieldcat-outputlen = '12' .
wa_fieldcat-no_out = ' '. "p_out. "No output
wa_fieldcat-tech = ' '. "p_tech. "Technical field
wa_fieldcat-qfieldname = ' '. "p_qfield. "Quantity unit
wa_fieldcat-qtabname = ' '. "p_qtab . "Quantity table
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-row_pos = '01'. " p_rowpos. "Row
wa_fieldcat-col_pos = '03'. "p_colpos. "Column
wa_fieldcat-fieldname = 'EBELN'. "p_fldnam. "Field Name
wa_fieldcat-tabname = 'IT_FINAL'. "p_tabnam. "Internal Table Name
wa_fieldcat-just = ' '. "p_justif. "Screen Justified
wa_fieldcat-seltext_l = 'PO No'. "p_seltext. "Field Text
wa_fieldcat-do_sum = ' '.
wa_fieldcat-outputlen = '15' .
wa_fieldcat-no_out = ' '. "p_out. "No output
wa_fieldcat-tech = ' '. "p_tech. "Technical field
wa_fieldcat-qfieldname = ' '. "p_qfield. "Quantity unit
wa_fieldcat-qtabname = ' '. "p_qtab . "Quantity table
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
wa_fieldcat-row_pos = '01'. " p_rowpos. "Row
wa_fieldcat-col_pos = '03'. "p_colpos. "Column
wa_fieldcat-fieldname = 'EBELN1'. "p_fldnam. "Field Name
wa_fieldcat-tabname = 'IT_FINAL'. "p_tabnam. "Internal Table Name
wa_fieldcat-just = ' '. "p_justif. "Screen Justified
wa_fieldcat-seltext_l = 'PO No'. "p_seltext. "Field Text
wa_fieldcat-do_sum = ' '.
wa_fieldcat-no_out = ' '. "p_out. "No output
wa_fieldcat-tech = 'X'. "p_tech. "Technical field
wa_fieldcat-qfieldname = ' '. "p_qfield. "Quantity unit
wa_fieldcat-qtabname = ' '. "p_qtab . "Quantity table
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " sub_field_catalog
FORM sub_populate_layout .
CLEAR wa_layout.
wa_layout-colwidth_optimize = 'X'." Optimization of Col width
ENDFORM. " sub_populate_layout
FORM sub_populate_sort .
Sort on material
wa_sort-spos = '01' .
wa_sort-fieldname = 'EBELN'.
wa_sort-tabname = 'IT_FINAL'.
wa_sort-up = 'X'.
wa_sort-subtot = 'X'.
APPEND wa_sort TO it_sort.
CLEAR wa_sort.
Sort on plant
wa_sort-spos = '02'.
wa_sort-fieldname = 'EBELP'.
wa_sort-tabname = 'IT_FINAL'.
wa_sort-up = 'X'.
wa_sort-subtot = 'X'.
APPEND wa_sort TO it_sort.
CLEAR wa_sort.
ENDFORM. " sub_populate_sort
FORM sub_get_event .
CONSTANTS : c_formname_subtotal_text TYPE slis_formname VALUE
'SUBTOTAL_TEXT'.
data : wa_event TYPE slis_alv_event.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 4
IMPORTING
et_events = it_event
EXCEPTIONS
list_type_wrong = 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.
Subtotal
READ TABLE it_event INTO wa_event
WITH KEY name = slis_ev_subtotal_text.
IF sy-subrc = 0.
MOVE c_formname_subtotal_text TO wa_event-form.
MODIFY it_event FROM wa_event INDEX sy-tabix.
ENDIF.
ENDFORM. " sub_get_event
FORM sub_alv_report_display .
l_repid = sy-repid .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
i_callback_program = l_repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
i_callback_top_of_page = 'SUB_ALV_TOP_OF_PAGE'
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
is_layout = wa_layout
it_fieldcat = it_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
it_sort = it_sort
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
i_save = 'A'
IS_VARIANT =
IT_EVENTS = i_event
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 = it_final
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. " sub_alv_report_display
FORM sub_alv_top_of_page. "#EC CALLED
To write header for the ALV
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = it_alv_top_of_page.
ENDFORM. "alv_top_of_page
FORM subtotal_text CHANGING
p_total TYPE any
p_subtot_text TYPE slis_subtot_text.
Material level sub total
IF p_subtot_text-criteria = 'EBELN'.
p_subtot_text-display_text_for_subtotal
= 'The Nett price of PO No'(009).
ENDIF.
Plant level sub total
IF p_subtot_text-criteria = 'EBELP'.
p_subtot_text-display_text_for_subtotal = 'Total Purchase Order value placed'(010).
ENDIF.
ENDFORM. "subtotal_texthi ,
try the given below code ...
"*************INTERNAL TABLE FR SORTING***********************
DATA: it_sort TYPE slis_t_sortinfo_alv.
"******** WORK AREA FR FIELD CATALOG *************************
DATA: wa_sort TYPE slis_sortinfo_alv.
wa_sort-fieldname = 'EBELN'."field name
wa_sort-tabname = 'IT_TAB'."internal table name
wa_sort-up = 'X'.
wa_sort-subtot ='X'.
APPEND wa_sort TO it_sort.
CLEAR wa_sort.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_sort = it_sort
ENDFORM. "alv
hope this helps
Regards
RItesh J -
hi,
I have a report on ALV with sub totals for some fields, it is working fine but my requirement is whether i can get only the sub totals of that report.
regards,
PrabhuHI
refer this code.
REPORT ZALV.
TYPE-POOLS: SLIS.
DATA: G_REPID LIKE SY-REPID,
GS_PRINT TYPE SLIS_PRINT_ALV,
GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
GT_EVENTS TYPE SLIS_T_EVENT,
GT_SORT TYPE SLIS_T_SORTINFO_ALV,
GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
FIELDCAT_LN LIKE LINE OF GT_FIELDCAT,
COL_POS TYPE I.
DATA: BEGIN OF ITAB,
FIELD1(5) TYPE C,
FIELD2(5) TYPE C,
FIELD3(5) TYPE P DECIMALS 2,
END OF ITAB.
DATA: BEGIN OF ITAB1 OCCURS 0.
INCLUDE STRUCTURE ITAB.
DATA: END OF ITAB1.
DATA: BEGIN OF ITAB_FIELDCAT OCCURS 0.
INCLUDE STRUCTURE ITAB.
DATA: END OF ITAB_FIELDCAT.
Print Parameters
PARAMETERS:
P_PRINT AS CHECKBOX DEFAULT ' ', "PRINT IMMEDIATE
P_NOSINF AS CHECKBOX DEFAULT 'X', "NO SELECTION INFO
P_NOCOVE AS CHECKBOX DEFAULT ' ', "NO COVER PAGE
P_NONEWP AS CHECKBOX DEFAULT ' ', "NO NEW PAGE
P_NOLINF AS CHECKBOX DEFAULT 'X', "NO PRINT LIST INFO
P_RESERV TYPE I. "NO OF FOOTER LINE
INITIALIZATION.
G_REPID = SY-REPID.
PERFORM PRINT_BUILD USING GS_PRINT. "Print PARAMETERS
START-OF-SELECTION.
TEST DATA
MOVE 'TEST1' TO ITAB1-FIELD1.
MOVE 'TEST1' TO ITAB1-FIELD2.
MOVE '10.00' TO ITAB1-FIELD3.
APPEND ITAB1.
MOVE 'TEST2' TO ITAB1-FIELD1.
MOVE 'TEST2' TO ITAB1-FIELD2.
MOVE '20.00' TO ITAB1-FIELD3.
APPEND ITAB1.
DO 50 TIMES.
APPEND ITAB1.
ENDDO.
END-OF-SELECTION.
PERFORM BUILD.
PERFORM EVENTTAB_BUILD CHANGING GT_EVENTS.
PERFORM COMMENT_BUILD CHANGING GT_LIST_TOP_OF_PAGE.
PERFORM CALL_ALV.
FORM BUILD.
DATA FIELD CATALOG
Explain Field Description to ALV
DATA: FIELDCAT_IN TYPE SLIS_FIELDCAT_ALV.
CLEAR FIELDCAT_IN.
FIELDCAT_LN-FIELDNAME = 'FIELD1'.
FIELDCAT_LN-TABNAME = 'ITAB1'.
*FIELDCAT_LN-NO_OUT = 'X'. "FIELD NOT DISPLAY, CHOOSE FROM LAYOUT
FIELDCAT_LN-KEY = ' '. "SUBTOTAL KEY
FIELDCAT_LN-NO_OUT = ' '.
FIELDCAT_LN-SELTEXT_L = 'HEAD1'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_IN.
FIELDCAT_LN-FIELDNAME = 'FIELD2'.
FIELDCAT_LN-TABNAME = 'ITAB1'.
FIELDCAT_LN-NO_OUT = 'X'.
FIELDCAT_LN-SELTEXT_L = 'HEAD2'.
APPEND FIELDCAT_LN TO GT_FIELDCAT.
CLEAR FIELDCAT_IN.
FIELDCAT_LN-FIELDNAME = 'FIELD3'.
FIELDCAT_LN-TABNAME = 'ITAB1'.
FIELDCAT_LN-REF_FIELDNAME = 'MENGE'. "<- REF FIELD IN THE DICTIONNARY
FIELDCAT_LN-REF_TABNAME = 'MSEG'. "<- REF TABLE IN THE DICTIONNARY
FIELDCAT_LN-NO_OUT = ' '.
FIELDCAT_LN-DO_SUM = 'X'. "SUM UPON DISPLAY
APPEND FIELDCAT_LN TO GT_FIELDCAT.
DATA SORTING AND SUBTOTAL
DATA: GS_SORT TYPE SLIS_SORTINFO_ALV.
CLEAR GS_SORT.
GS_SORT-FIELDNAME = 'FIELD1'.
GS_SORT-SPOS = 1.
GS_SORT-UP = 'X'.
GS_SORT-SUBTOT = 'X'.
APPEND GS_SORT TO GT_SORT.
CLEAR GS_SORT.
GS_SORT-FIELDNAME = 'FIELD2'.
GS_SORT-SPOS = 2.
GS_SORT-UP = 'X'.
*GS_SORT-SUBTOT = 'X'.
APPEND GS_SORT TO GT_SORT.
ENDFORM.
FORM CALL_ALV.
ABAP List Viewer
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = G_REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME = 'ITAB1'
IS_LAYOUT = GS_LAYOUT
IT_FIELDCAT = GT_FIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = GT_SORT[]
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = GT_EVENTS[]
IT_EVENT_EXIT =
IS_PRINT = GS_PRINT
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB1
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
ENDFORM.
HEADER FORM
FORM EVENTTAB_BUILD CHANGING LT_EVENTS TYPE SLIS_T_EVENT.
CONSTANTS:
GC_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE'.
*GC_FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE'.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = LT_EVENTS.
READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO LT_EVENTS.
ENDIF.
define END_OF_PAGE event
READ TABLE LT_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE GC_FORMNAME_END_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO LT_EVENTS.
ENDIF.
ENDFORM.
FORM COMMENT_BUILD CHANGING GT_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER.
DATA: GS_LINE TYPE SLIS_LISTHEADER.
CLEAR GS_LINE.
GS_LINE-TYP = 'H'.
GS_LINE-INFO = 'HEADER 1'.
APPEND GS_LINE TO GT_TOP_OF_PAGE.
CLEAR GS_LINE.
GS_LINE-TYP = 'S'.
GS_LINE-KEY = 'STATUS 1'.
GS_LINE-INFO = 'INFO 1'.
APPEND GS_LINE TO GT_TOP_OF_PAGE.
GS_LINE-KEY = 'STATUS 2'.
GS_LINE-INFO = 'INFO 2'.
APPEND GS_LINE TO GT_TOP_OF_PAGE.
CLEAR GS_LINE.
GS_LINE-TYP = 'A'.
GS_LINE-INFO = 'ACTION'.
APPEND GS_LINE TO GT_TOP_OF_PAGE.
ENDFORM.
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
IT_LIST_COMMENTARY = GT_LIST_TOP_OF_PAGE.
WRITE: SY-DATUM, 'Page No', SY-PAGNO LEFT-JUSTIFIED.
ENDFORM.
FORM END_OF_PAGE.
WRITE at (sy-linsz) sy-pagno CENTERED.
ENDFORM.
PRINT SETTINGS
FORM PRINT_BUILD USING LS_PRINT TYPE SLIS_PRINT_ALV.
LS_PRINT-PRINT = P_PRINT. "PRINT IMMEDIATE
LS_PRINT-NO_PRINT_SELINFOS = P_NOSINF. "NO SELECTION INFO
LS_PRINT-NO_COVERPAGE = P_NOCOVE. "NO COVER PAGE
LS_PRINT-NO_NEW_PAGE = P_NONEWP.
LS_PRINT-NO_PRINT_LISTINFOS = P_NOLINF. "NO PRINT LIST INFO
LS_PRINT-RESERVE_LINES = P_RESERV.
ENDFORM.
*END OF ZALV PROGRAM
Reward all helpfull answers.
Regards.
Jay -
Urgent: regarding sub total button in alv report
hi,
i had made dis report and it is is fine till now,but now i want add the sub total field in it ,by making double click on the field sub-total should be displayed in it.
here is d code as i had tried the sub - total but when i execute it is giving some diferrent result.
*& Report ZTET2
REPORT ZTET2.
TABLES: ISEG,MARA.
TYPE-POOLS : SLIS.
DATA : DATE1(15) TYPE C,
DATE2(15) TYPE C,
TITLE(65) TYPE C,
DT(25) TYPE C.
DATA : ITEVENT TYPE SLIS_T_EVENT.
DATA: lv_sort TYPE slis_sortinfo_alv,
t_sort type slis_t_sortinfo_alv.
DATA : repid LIKE sy-repid.
INTERNAL TABLE FOR INVENTORY STOCK *****************
DATA: BEGIN OF ITS1 OCCURS 0,
MATNR LIKE ISEG-MATNR,
ITEMID(6) TYPE C,
MEINS LIKE ISEG-MEINS,
MENGE LIKE ISEG-MENGE,
WRTZL LIKE ISEG-WRTZL,
BUCHM LIKE ISEG-BUCHM,
WRTBM LIKE ISEG-WRTBM,
WERKS LIKE ISEG-WERKS,
BUDAT LIKE ISEG-BUDAT,
ZLDAT LIKE ISEG-ZLDAT,
MTART LIKE MARA-MTART,
ITEMDESC LIKE MAKT-MAKTX,
DIFFQTY LIKE ISEG-BUCHM,
DIFFVALUE LIKE ISEG-WRTBM,
GRUND LIKE ISEG-GRUND,
GRTXT LIKE T157E-GRTXT,
BWART LIKE T157E-BWART,
REAS TYPE C LENGTH 15,
END OF ITS1.
data: t_heading type slis_t_listheader.
SELECTION-SCREEN BEGIN OF BLOCK PAR1 WITH FRAME TITLE TEXT-001.
*SELECTION-SCREEN : BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
*********PARAMETERS*********
PARAMETERS : PLANT LIKE ISEG-WERKS OBLIGATORY.
*********SELECTION SCREEN OPTIONS*********
SELECT-OPTIONS : R_DATE FOR ISEG-BUDAT OBLIGATORY NO-EXTENSION,
M_TYPE FOR MARA-MTART,
IT_M FOR MARA-MATNR.
*********DEFINING VARIABLES*********
SELECTION-SCREEN END OF BLOCK par1.
CONCATENATE R_DATE-LOW6(2) '.' R_DATE-LOW4(2) '.' R_DATE-LOW+0(4) INTO DATE1.
CONCATENATE R_DATE-HIGH6(2) '.' R_DATE-HIGH4(2) '.' R_DATE-HIGH+0(4) INTO DATE2.
TOP-OF-PAGE.
PERFORM PG_HEADER.
START-OF-SELECTION.
SELECT AMATNR AMEINS AMENGE AWRTZL ABUCHM AWRTBM AWERKS ABUDAT AZLDAT BMTART AGRUND CBWART
FROM ISEG AS A INNER JOIN MARA AS B ON BMATNR = AMATNR
INNER JOIN MSEG AS C ON AMBLNR = CMBLNR
INTO CORRESPONDING FIELDS OF TABLE ITS1 WHERE BMATNR = AMATNR AND BMEINS = AMEINS AND AWERKS = PLANT AND ABUDAT IN R_DATE AND BMTART IN M_TYPE AND BMATNR IN IT_M.
LOOP AT ITS1.
ITS1-ITEMID = ITS1-MATNR+12(6).
ITS1-DIFFQTY = ITS1-MENGE - ITS1-BUCHM.
ITS1-DIFFVALUE = ITS1-WRTZL - ITS1-WRTBM.
SELECT SINGLE MAKTX FROM MAKT INTO ITS1-ITEMDESC WHERE MATNR = ITS1-MATNR.
SELECT SINGLE GRTXT INTO ITS1-GRTXT FROM T157E WHERE GRUND = ITS1-GRUND AND SPRAS = 'E' AND BWART = ITS1-BWART.
MODIFY ITS1.
ENDLOOP.
PERFORM PRN_SMSTOCK_ALV.
WRITING DATA FROM D TABLES**********
FORM PG_HEADER.
WRITE : 'PHYSICAL INVENTORY AUDIT REPORT PLANT : ', PLANT.
ENDFORM.
*& Form PRN_SMSTOCK_ALV
text
--> p1 text
<-- p2 text
form PRN_SMSTOCK_ALV .
data: w_title type lvc_title,
w_repid type syrepid,
w_comm type slis_formname,
w_status type slis_formname,
x_layout type slis_layout_alv,
t_event type slis_t_event,
t_fieldcat type slis_t_fieldcat_alv,
t_subtot TYPE slis_t_sortinfo_alv,
subtot LIKE LINE OF t_subtot.
refresh t_fieldcat.
refresh t_event.
refresh t_sort.
clear x_layout.
clear w_title.
perform set_fieldcat2 using:
1 'MTART' 'MTART' 'MARA' '15' space 'MATERIAL TYPE' space space space space space space space space SPACE t_fieldcat 'L' 'L',
2 'ITEMID' 'ITEMID' 'MARA' '7' space 'ITEM ID' space space space space space space space space SPACE t_fieldcat 'R' 'C',
3 'ITEMDESC' 'MAKTX' 'MAKT' '25' space 'MATERIAL DESCRIPTION' space space space space space space space space SPACE t_fieldcat 'L' 'C',
4 'MEINS' 'MEINS' 'MARA' '5' space 'UOM' space space space space space space space space SPACE t_fieldcat 'C' 'C',
5 'MENGE' 'MENGE' 'ISEG' '13' space 'ORG.INV.QTY' space space space space space space space space SPACE t_fieldcat 'R' 'C',
6 'WRTZL' 'WRTZL' 'ISEG' '13' space 'ORG.INV.VALUE' space space space space space space space space SPACE t_fieldcat 'R' 'C',
7 'BUCHM' 'BUCHM' 'ISEG' '13' space 'PHY.INV.QTY' space space space space space space space space SPACE t_fieldcat 'R' 'C',
8 'WRTBM' 'WRTBM' 'ISEG' '13' space 'PHY.INV.VALUE' space space space space space space space space SPACE t_fieldcat 'R' 'C',
9 'DIFFQTY' 'MENGE' 'ISEG' '13' space 'DIFF.INV.QTY' space space space space space space space space SPACE t_fieldcat 'R' 'C',
10 'DIFFVALUE' 'WRTZL' 'ISEG' '13' space 'DIFF.INV.VALUE' space space space space space space space space SPACE t_fieldcat SPACE 'P',
11 'BUDAT' 'BUDAT' 'ISEG' '18' space 'CORRECTED DATE' space space space space space space space space SPACE t_fieldcat 'C' 'C',
12 'GRTXT' 'GRTXT' 'ISEG' '18' space 'REASON' space space space space space space space space SPACE t_fieldcat 'L' 'L',
13 'REAS' 'REAS' 'ISEG' '18' space 'AUTH.BY' space space space space space space space space SPACE t_fieldcat 'C' 'C'.
x_layout-zebra = 'X'.
perform set_top_page_heading using t_heading t_event.
perform set_events using t_event.
perform get_subtotals.
w_status = ''.
w_repid = sy-repid.
w_comm = 'USER_COMMAND'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = w_repid
it_fieldcat = t_fieldcat
i_Callback_top_of_page = 'Top-of-page'
is_layout = x_layout
it_sort = t_sort
i_callback_pf_status_set = w_status
i_callback_user_command = w_comm
i_save = 'X'
it_events = t_event
i_grid_title = w_title
tables
t_outtab = ITS1
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.
FORM set_fieldcat2 USING
p_colpos p_fieldname p_ref_fieldname p_ref_tabname
p_outputlen p_noout
p_seltext_m p_seltext_l p_seltext_s p_reptext_ddic p_ddictxt
p_hotspot p_showasicon p_checkbox p_edit
p_dosum
p_subtot
t_fieldcat TYPE slis_t_fieldcat_alv
P_JUST
P_FTYPE.
DATA: wa_fieldcat TYPE slis_fieldcat_alv.
CLEAR wa_fieldcat.
General settings
wa_fieldcat-fieldname = p_fieldname.
wa_fieldcat-col_pos = p_colpos.
wa_fieldcat-no_out = p_noout.
wa_fieldcat-hotspot = p_hotspot.
wa_fieldcat-checkbox = p_checkbox.
wa_fieldcat-icon = p_showasicon.
wa_fieldcat-do_sum = p_dosum.
wa_fieldcat-t_subtot = p_subtot.
Set output length.
IF NOT p_outputlen IS INITIAL.
wa_fieldcat-outputlen = p_outputlen.
ENDIF.
Set text headers.
IF NOT p_seltext_m IS INITIAL.
wa_fieldcat-seltext_m = p_seltext_m.
ENDIF.
IF NOT p_seltext_l IS INITIAL.
wa_fieldcat-seltext_l = p_seltext_l.
ENDIF.
IF NOT p_seltext_s IS INITIAL.
wa_fieldcat-seltext_s = p_seltext_s.
ENDIF.
IF NOT p_reptext_ddic IS INITIAL.
wa_fieldcat-reptext_ddic = p_reptext_ddic.
ENDIF.
IF NOT p_ddictxt IS INITIAL.
wa_fieldcat-ddictxt = p_ddictxt.
ENDIF.
IF NOT P_JUST IS INITIAL.
WA_FIELDCAT-JUST = P_JUST.
ENDIF.
IF NOT p_edit IS INITIAL.
wa_fieldcat-Input = 'X'.
wa_fieldcat-edit = 'X'.
wa_fieldcat-do_sum = 'x'.
wa_fieldcat-p_subtot = 'x'.
ENDIF.
APPEND wa_fieldcat TO t_fieldcat.
ENDFORM. "set_fieldcat2
======================== Subroutines called by ALV ================
*& Form top_of_page
Called on top_of_page ALV event.
Prints the heading.
form top_of_page.
call function 'REUSE_ALV_COMMENTARY_WRITE'
exporting
it_list_commentary = t_heading.
ENDFORM.
form set_top_page_heading using t_heading type slis_t_listheader
t_events type slis_t_event.
data: x_heading type slis_listheader,
x_event type line of slis_t_event.
Report title
clear t_heading[].
clear x_heading.
x_heading-typ = 'H'.
x_heading-info = 'PHYSICAL INVENTORY AUDIT REPORT'.
append x_heading to t_heading.
Plant Name
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'PLANT : '.
x_heading-info = PLANT.
append x_heading to t_heading.
IF DATE2 = '00.00.0000'.
CONCATENATE DATE1 'to' DATE1 INTO DT SEPARATED BY SPACE.
ELSE.
CONCATENATE DATE1 'to' DATE2 INTO DT SEPARATED BY SPACE.
ENDIF.
X_heading-TYP = 'S'.
X_heading-key = 'PERIOD :'.
X_heading-INFO = DT.
APPEND x_heading TO t_heading.
Control Date
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'CONTROL NO. :'.
x_heading-info = ' ASDFADDFAAS DATE : 11.04.2007'.
append x_heading to t_heading.
Control date
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'CONTROL DATE : '.
x_heading-info = ''.
append x_heading to t_heading.
Time of execution
clear x_heading.
x_heading-typ = 'S'.
x_heading-key = 'DATE : '.
write sy-DATUM to x_heading-info.
append x_heading to t_heading.
Top of page event
x_event-name = slis_ev_top_of_page.
x_event-form = 'TOP_OF_PAGE'.
append x_event to t_events.
endform.
FORM get_subtotals.
CLEAR lv_sort.
lv_sort-fieldname = 'MENGE'.
lv_sort-up = 'X'.
lv_sort-subtot = 'X'.
APPEND lv_sort TO t_sort.
clear lv_sort.
*lv_sort-fieldname = 'MENGE'.
*lv_sort-tabname = 'ITS1'.
*lv_sort-subtot = 'X'.
*APPEND lv_sort TO t_sort.
lv_sort-fieldname = 'WRTZL'.
lv_sort-tabname = 'ITS1'.
lv_sort-subtot = 'X'.
APPEND lv_sort TO t_sort.
clear lv_sort.
lv_sort-fieldname = 'BUCHM'.
lv_sort-tabname = 'ITS1'.
lv_sort-subtot = 'X'.
APPEND lv_sort TO t_sort.
clear lv_sort.
lv_sort-fieldname = 'WRTBM'.
lv_sort-tabname = 'ITS1'.
lv_sort-subtot = 'X'.
APPEND lv_sort TO t_sort.
clear lv_sort.
lv_sort-fieldname = 'DIFFQTY'.
lv_sort-tabname = 'ITS1'.
lv_sort-subtot = 'X'.
APPEND lv_sort TO t_sort.
clear lv_sort.
lv_sort-fieldname = 'DIFFVALUE'.
lv_sort-tabname = 'ITS1'.
lv_sort-subtot = 'X'.
APPEND lv_sort TO t_sort.
clear lv_sort.
ENDFORM.
form set_events using t_events type slis_t_event.
data: x_event type line of slis_t_event.
endform.
PLZ HELP ME and definately get rewarded.hi,
how did u declared ur internal table?
Declare a dummy field in your internal table to trigger subtotal text event.
TYPES: BEGIN OF ty_ekpo,
lifnr TYPE ekko-lifnr, "vendor number
ebeln TYPE ekko-ebeln, "purchase document number
ebelp TYPE ekpo-ebelp, "Item Number of Purchasing Document
matnr TYPE ekpo-matnr, "Material Number
bukrs TYPE ekpo-bukrs, "Company Code
werks TYPE ekpo-werks, "Plant
d, "Dummy field to fire the Subtotal text event
END OF ty_ekpo.
Prepare field catalog for that dummyfield also and set attributes like below
wa_fcat-col_pos = 7.
wa_fcat-fieldname = 'D'.
wa_fcat-tabname = 'IT_EKPO'.
wa_fcat-ref_fieldname = 'NETPR'.
wa_fcat-ref_tabname = 'EKPO'.
wa_fcat-no_out = 'X'.
APPEND wa_fcat TO it_fcat.
Fill sortinfo table as follows
wa_sort-spos = 1.
wa_sort-fieldname = 'LIFNR'.
wa_sort-tabname = 'IT_EKPO'.
wa_sort-up = 'X'.
wa_sort-group = 'UL'.
APPEND wa_sort TO it_sort.
CLEAR wa_sort.
wa_sort-spos = 2.
wa_sort-fieldname = 'D'.
wa_sort-tabname = 'IT_EKPO'.
wa_sort-up = 'X'.
wa_sort-group = 'UL'.
wa_sort-subtot = 'X'.
APPEND wa_sort TO it_sort.
fill the event table
wa_event-name = 'SUBTOTAL_TEXT'. "--> this event is used to trigger subtotal text
wa_event-form = 'SUBTOTAL'.
APPEND wa_event TO it_event.
*& Form subtotal
FORM subtotal USING i_listhead STRUCTURE wa_ekpo i_subtotal TYPE slis_subtot_text.
READ TABLE it_sort INTO wa_sort WITH KEY fieldname = 'D'.
IF sy-subrc = 0.
IF i_subtotal-criteria = 'D'.
i_subtotal-display_text_for_subtotal = 'Sub total'.
ENDIF.
ENDIF.
ENDFORM. "subtotal
Thanks & REgards -
Sub totals and Sort Text issue in ALV report
Hi,
I have requirement for list of Purchase orders.
1st. sort the list by vendor (This i did by using sort)
2nd. Vendor name should be display after sorting the lines.
3rd should count the no lines which has mark 'X' in field ELIKZ and sum the total counts and display it for every vendor after the sorted line.
I could sort the list by vendors. but don't know how to display the vendor name after those lines. then sub total also.
Please help
Moderator Message: spec-dumping is not allowed. Please use the availble resources and put some effort from your end.
Edited by: kishan P on Oct 27, 2010 3:02 PMHi,
I have requirement for list of Purchase orders.
1st. sort the list by vendor (This i did by using sort)
2nd. Vendor name should be display after sorting the lines.
3rd should count the no lines which has mark 'X' in field ELIKZ and sum the total counts and display it for every vendor after the sorted line.
I could sort the list by vendors. but don't know how to display the vendor name after those lines. then sub total also.
Please help
Moderator Message: spec-dumping is not allowed. Please use the availble resources and put some effort from your end.
Edited by: kishan P on Oct 27, 2010 3:02 PM -
Report Total but no Sub total.
Hi,
I have a report ( PL/SQL Function returning SQL Query).
The query is complicated.
If value of item :p1 is not null then it returns select col_a , col_b ... from table_a
but if value of item :p1 is null then it returns select col_a , sum( col_b) , sum(col_c).... from table_a group by col_a
I went to report attributes and checked SUM for all the fields ( Except the first field )
Its showing Sub total for each row and grand total..
Is there a way I can show only grand total and not the sub total.1. Yes I'm using "Use generic column Name"
2. No I'm not using column alias for sum
3. Further my report uses two lines for Header , for which I am using custom report region.
Re: Two level row header
Below is the exact query i'm using for report
DECLARE
vc_query VARCHAR2(9000);
BEGIN
if :P19_PROJECT_OWNER <> 0 and :P19_PROJECT_OWNER is not null then
vc_query := 'select * from
( select current_status , count , high , medium , low , red , green , yellow , priority_list , ">30 Days" from project_summary where user_id = ' || :P19_PROJECT_OWNER
|| 'union
select current_status , 0 , 0 , 0 , 0 , 0, 0 , 0, 0, 0 from sr_current_status where current_status not in ( select distinct current_status from project_summary where user_id = ' || :P19_PROJECT_OWNER || ')) where current_status not like ''Closed%''';
else
vc_query :='select current_status , sum(count) , sum(high) , sum(medium) , sum(low) , sum(red) , sum(green) , sum(yellow) , sum(priority_list) , sum(">30 Days") from project_summary where current_status not like ''Closed%'' group by current_status';
end if;
return vc_query;
end;
Edited by: Shijesh Kumar on Jan 29, 2009 12:19 PM -
Dear experts,
I am working on ALV report. I need to maintain Sub total text but its not working with the below code.
Can you please tell me whats wrong with this code.
FORM f_display_alv_output .
DATA: loc_repid TYPE sy-repid.
CLEAR: loc_repid.
loc_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = loc_repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* i_callback_top_of_page = 'F_ALV_TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = fs_layout
it_fieldcat = itab_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
it_sort = itab_sort
* IT_FILTER =
* IS_SEL_HIDE =
i_default = 'X'
i_save = 'A'
* IS_VARIANT =
it_events = itab_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 = itab_output
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. " F_DISPLAY_ALV_OUTPUT
*& Form F_POPULATE_SORT
* text
* --> p1 text
* <-- p2 text
FORM f_populate_sort .
CLEAR: fs_sort.
REFRESH: itab_sort.
* Sort by Account Manager
fs_sort-spos = '01' .
fs_sort-fieldname = 'ACT_MANAGER'.
fs_sort-tabname = 'ITAB_OUTPUT'.
fs_sort-up = 'X'.
fs_sort-subtot = 'X'.
APPEND fs_sort TO itab_sort .
CLEAR fs_sort.
* Sort by Sales Office
fs_sort-spos = '02' .
fs_sort-fieldname = 'VKBUR'.
fs_sort-tabname = 'ITAB_OUTPUT'.
fs_sort-up = 'X'.
fs_sort-subtot = 'X'.
APPEND fs_sort TO itab_sort .
CLEAR fs_sort.
* Sort by Customer
fs_sort-spos = '03' .
fs_sort-fieldname = 'KUNNR'.
fs_sort-tabname = 'ITAB_OUTPUT'.
fs_sort-up = 'X'.
fs_sort-subtot = 'X'.
APPEND fs_sort TO itab_sort .
CLEAR fs_sort.
* Sort by Material
fs_sort-spos = '04' .
fs_sort-fieldname = 'MATNR'.
fs_sort-tabname = 'ITAB_OUTPUT'.
fs_sort-up = 'X'.
fs_sort-subtot = 'X'.
APPEND fs_sort TO itab_sort .
CLEAR fs_sort.
ENDFORM. " F_POPULATE_SORT
*& Form F_GET_EVENT
* Handle events for the list
* --> p1 text
* <-- p2 text
FORM f_get_event .
REFRESH: itab_events.
CLEAR: fs_events.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 4
IMPORTING
et_events = itab_events
EXCEPTIONS
list_type_wrong = 0
OTHERS = 0.
CLEAR: fs_events.
READ TABLE itab_events INTO fs_events WITH KEY name = slis_ev_top_of_page.
IF sy-subrc EQ 0.
MOVE 'F_ALV_TOP_OF_PAGE' TO fs_events-form.
MODIFY itab_events FROM fs_events INDEX sy-tabix.
ENDIF.
CLEAR fs_events.
READ TABLE itab_events INTO fs_events WITH KEY name = slis_ev_subtotal_text.
IF sy-subrc = 0.
MOVE wl_formname_subtotal_text TO fs_events-form.
MODIFY itab_events FROM fs_events INDEX sy-tabix.
ENDIF.
ENDFORM. " F_GET_EVENT
*& Form SUBTOTAL_TEXT_form
* text
FORM subtotal_text_form USING p_subtot_text TYPE slis_subtot_text.
IF p_subtot_text-criteria = 'ACT_MANAGER'.
p_subtot_text-display_text_for_subtotal = 'Account Manager Level Subtotal'(020).
ENDIF.
ENDFORM. "SUBTOTAL_TEXT
*& Form f_alv_top_of_page
* text
FORM f_alv_top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = itab_top_of_page.
ENDFORM. "F_ALV_TOP_OF_PAGE
Edited by: Rajesh Tummala on Apr 7, 2009 4:16 PMHere's the code below. Sub total text event is not working but top of page is working fine.
*& Form F_POPULATE_SORT
* text
* --> p1 text
* <-- p2 text
FORM f_populate_sort .
CLEAR: fs_sort.
REFRESH: itab_sort.
* Sort by Account Manager
fs_sort-spos = '01' .
fs_sort-fieldname = 'ACT_MANAGER'.
fs_sort-tabname = 'ITAB_OUTPUT'.
fs_sort-up = 'X'.
fs_sort-subtot = 'X'.
APPEND fs_sort TO itab_sort .
CLEAR fs_sort.
* Sort by Sales Office
fs_sort-spos = '02' .
fs_sort-fieldname = 'VKBUR'.
fs_sort-tabname = 'ITAB_OUTPUT'.
fs_sort-up = 'X'.
fs_sort-subtot = 'X'.
APPEND fs_sort TO itab_sort .
CLEAR fs_sort.
* Sort by Customer
fs_sort-spos = '03' .
fs_sort-fieldname = 'KUNNR'.
fs_sort-tabname = 'ITAB_OUTPUT'.
fs_sort-up = 'X'.
fs_sort-subtot = 'X'.
APPEND fs_sort TO itab_sort .
CLEAR fs_sort.
* Sort by Material
fs_sort-spos = '04' .
fs_sort-fieldname = 'MATNR'.
fs_sort-tabname = 'ITAB_OUTPUT'.
fs_sort-up = 'X'.
fs_sort-subtot = 'X'.
APPEND fs_sort TO itab_sort .
CLEAR fs_sort.
ENDFORM. " F_POPULATE_SORT
*& Form F_GET_EVENT
* Handle events for the list
* --> p1 text
* <-- p2 text
FORM f_get_event .
REFRESH: itab_events.
CLEAR: fs_events.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 4
IMPORTING
et_events = itab_events
EXCEPTIONS
list_type_wrong = 0
OTHERS = 0.
CLEAR: fs_events.
READ TABLE itab_events INTO fs_events WITH KEY name = slis_ev_top_of_page.
IF sy-subrc EQ 0.
MOVE 'F_ALV_TOP_OF_PAGE' TO fs_events-form.
MODIFY itab_events FROM fs_events INDEX sy-tabix.
ENDIF.
CLEAR fs_events.
READ TABLE itab_events INTO fs_events WITH KEY name = slis_ev_subtotal_text.
IF sy-subrc = 0.
MOVE wl_formname_subtotal_text TO fs_events-form.
MODIFY itab_events FROM fs_events INDEX sy-tabix.
ENDIF.
ENDFORM. " F_GET_EVENT
*& Form F_DISPLAY_ALV_OUTPUT
* Display the list output
* --> p1 text
* <-- p2 text
FORM f_display_alv_output .
DATA: loc_repid TYPE sy-repid.
CLEAR: loc_repid.
loc_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = loc_repid
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* i_callback_top_of_page = 'F_ALV_TOP_OF_PAGE'
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
is_layout = fs_layout
it_fieldcat = itab_fieldcat
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
it_sort = itab_sort
* IT_FILTER =
* IS_SEL_HIDE =
i_default = 'X'
i_save = 'A'
* IS_VARIANT =
it_events = itab_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 = itab_output
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. " F_DISPLAY_ALV_OUTPUT
*& Form SUBTOTAL_TEXT_form
* text
FORM subtotal_text_form USING p_subtot_text TYPE slis_subtot_text.
IF p_subtot_text-criteria = 'ACT_MANAGER'.
p_subtot_text-display_text_for_subtotal = 'Account Manager Level Subtotal'(020).
ENDIF.
ENDFORM. "SUBTOTAL_TEXT
*& Form f_alv_top_of_page
* text
FORM f_alv_top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = itab_top_of_page.
ENDFORM. "F_ALV_TOP_OF_PAGE -
Control the combo box select of COPY FROM in Delivery Order
Dear all
I have a requirement where in the user wants to restrict the "copy from" button on the delivery order. They want the delivery orders to be created only from Sales orders.
So that would mean that i do a bubbleevent = false when any other row is selected in the combo box dropdown. But I am not able to get the control to the combobox.
In the system information it says that the form is "-9876", but couldnt catch any event on it either.
Any suggestions to control the selection of the "COPY FROM" combobox is most welcome.
Thanks in advance
RashmiHi Use This Ihave Checked This
If pVal.Before_Action Then
If pVal.FormType = 140 And pVal.EventType = SAPbouiCOM.BoEventTypes.et_COMBO_SELECT And Not pVal.InnerEvent Then
If pVal.ItemUID = "10000330" Then
If pVal.PopUpIndicator = "2" Then
objAddOn.objApplication.SetStatusBarMessage("You Can Not Copy From Returns")
BubbleEvent = False
Exit Sub
ElseIf pVal.PopUpIndicator = "0" Then
objAddOn.objApplication.SetStatusBarMessage("You Can Not Copy From Sales Quotations")
BubbleEvent = False
Exit Sub
End If
End If
End If
End If
Mohamed Zubair
Maybe you are looking for
-
Pie chart labels prepended with "@" symbol
Hello I have a pie chart and it has two values, each of which is a formula When I view the Pie chart the Data labels and legend are prefixed with @ The Data Value formula name is Open Online, so the data lable on the Pie is @Open Online, as it the le
-
HT3529 my imessage isnt working, any ideas?
My imessage is not working, it wont activate. Any ideas?
-
Web service testClient Problem
Hello, I have test this tutorial http://www.ncsa.uiuc.edu/people/ramonw/ws_demo/axisdemo.html but at the point where I should test the web service with the Test-class I got the following error: C:\Programme\jboss-4.0.3\server\default\deploy\webapps\a
-
How do I restore calendar from earlier date?
I removed calendars from my view, not knowing that it removed the calendar data itself. Is their anyway to retrieve that data?
-
Macbook air 2012 not displaying icon on the top right corner
hi guys as the title, my macbook air isn't displaying icon on the top right corner. for instance, my volume icon and wifi icon disappear. furthermore, ocaasionally there some flashes on my screen. this never happen to me before and i am reinstalling