BUG: Docked Application Control Bar breaks States
I've encountered a bug and I haven't noticed messages from
anyone else about it so I'm assuming it's an unknown:
If you use an Application Control Bar, set it's dock property
to true, and then attempt to change the currentState of the
application to a state that would result in the Application Control
Bar to be removed; the state change fails.
Here's an example:
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:states>
<mx:State name="problemState">
<mx:AddChild relativeTo="{textarea1}"
position="before">
<mx:Button x="368.5" y="323" label="Goto Base State"
click="currentState="""/>
</mx:AddChild>
<mx:AddChild position="lastChild">
<mx:ApplicationControlBar x="170" y="221" dock="true"
id="appControlBar">
</mx:ApplicationControlBar>
</mx:AddChild>
<mx:AddChild position="lastChild">
<mx:Button x="360" y="434" label="Undock Control Bar"
click="appControlBar.dock = false"/>
</mx:AddChild>
<mx:AddChild position="lastChild">
<mx:Button x="366.5" y="464" label="Dock Control Bar"
click="appControlBar.dock = true"/>
</mx:AddChild>
<mx:AddChild relativeTo="{appControlBar}"
position="before">
<mx:TextArea x="229.5" y="403" width="396" height="23"
editable="false" fontSize="12" fontWeight="bold" textAlign="center"
id="textarea0">
<mx:text>Undocking the control bar at runtime fixes
the problem:</mx:text>
</mx:TextArea>
</mx:AddChild>
<mx:AddChild relativeTo="{appControlBar}"
position="before">
<mx:TextArea x="229.5" y="210" width="396" height="105"
editable="false" fontSize="12" fontWeight="bold" textAlign="center"
id="textarea2">
<mx:text>If you try and return to the base state while
the control bar is docked, the state change will fail. The state
change will get "stuck" and you'll have to reload
the Flex application. If there was a third state, you could change
to that to get out of the lockup, but you still can't transition to
any state that would remove the docked Application Control
Bar:</mx:text>
</mx:TextArea>
</mx:AddChild>
</mx:State>
</mx:states>
<mx:Button x="358.5" y="135" label="Goto Problem State"
click="currentState="problemState""/>
<mx:TextArea x="229.5" y="70" width="396" height="57"
editable="false" fontSize="12" fontWeight="bold" textAlign="center"
id="textarea1">
<mx:text>A Docked application control bar prevents
Flex from changing state to a state that would remove the
application control bar.</mx:text>
</mx:TextArea>
</mx:Application>
Hi Harry (and others),
I have seen similar behavior. It seems like the client side rendering for some reason has a hard time processing the collection model wrapping the ArrayList in this particular case. The table renders empty. After sorting in ascending order, the rows are all back (visible) again.
Is anyone aware of issues with the rich table based directly on ArrayList (in combination with a changing set of values and/or sorting)? (seems like a corner case but is still not uncommon). Is there any indication that wrapping the ArrayList in a CollectionModel ourselves might be required?
Harry: do you know whether this issue is introduced with PS3 (11.1.1.4) or already existed in previous releases?
kind regards,
Lucas
Similar Messages
-
Align picture to far left on application control bar
guys i realise that the application control bar has a 1px padding from each side but is there a way to remove that padding so that i may align the Img right up to the far left of the control bar?
Any help would be appreciated.such a simple solution and i just couldnt think of it. :-) thanks
-
How to set spark application control bar at bottom
Hi,
I am trying to set control bar at bottom of application container in spark, could any please help me with this, i need applicationskin code to set control bar at bottom insted of default at top.You need to write a custom Application skin.
Attached is an example custom skin that moves the "topGroup" to after the "contentGroup". -
[BUG?] Application Control Policies
I have had the problem that I first want to locked down everything and than open security step by step.
But this was not the best idea.
The problem within the Application Control is the "Search & Find" option or the Filter.
1. The Window is damn smal and it's not possible to resize.
2. There are soooooooooooo many settings and options to set and there is no way to export or import. That would be damn cool to set the option within Excel or something like that.
3. The worst thing is the search or filter option.
I will give an example:
When you try to find iPhone than you will get no return. Or give it a try with flash. No way.
You need to search for the exact application name.
Can someone change this to a better filter option because this is more than worse to browse through all each setting to find something.Hello Jahnke,
Thank you for the suggestions. While the product is working as designed currently, we will convey your suggestions to the Development team. If those changes are within the scope of the product, it may be implemented in one of the future firmware releases. If you have any further questions, please feel free to reach out to Cisco SBSC and one of our Engineers will be happy to work with you.
Thanks,
Nagaraja -
What happen if i use controll break statement in between select & endselect
Hi all,
what happen if i use controll break statement in between select & endselect ?
Thanks in Advance
KRHi for reference u can go through this code example
data:
fs_tab like sflight.
data:
t_tab like standard table of fs_tab.
select * from sflight into table t_tab.
loop at t_tab into fs_tab.
write: / fs_tab-carrid.
endloop.
refresh t_tab.
clear fs_tab.
select * from sflight into fs_tab.
at new fs_tab-carrid.
append fs_tab to t_tab.
endat.
endselect. -
How can I use control break statement in my requirement
Hi ABAPers,
In my requirement, I have 4 fields in sorted internal table, (audat, prdha, ipnum, netwr). In that i need to do summation of netwr field falling under same prdha(BU) for the same month
internal table fields :
audat prdha ipnum netwr
02 abc 1 100
02 abc 2 200
02 xyz 3 300
03 abc 4 100
03 xyz 5 300
03 xyz 6 200
i need output like this:
audat prdha ipnum netwr
02 abc 1,2 300
02 xyz 3 300
03 abc 4 100
03 xyz 5,6 500
Can anyone suggest me logic for this by using control break statements
Thanks in advance,
Ankita
Moderator Message: Duplciate Post.
Edited by: kishan P on Apr 14, 2011 3:03 PMHi ABAPers,
In my requirement, I have 4 fields in sorted internal table, (audat, prdha, ipnum, netwr). In that i need to do summation of netwr field falling under same prdha(BU) for the same month
internal table fields :
audat prdha ipnum netwr
02 abc 1 100
02 abc 2 200
02 xyz 3 300
03 abc 4 100
03 xyz 5 300
03 xyz 6 200
i need output like this:
audat prdha ipnum netwr
02 abc 1,2 300
02 xyz 3 300
03 abc 4 100
03 xyz 5,6 500
Can anyone suggest me logic for this by using control break statements
Thanks in advance,
Ankita
Moderator Message: Duplciate Post.
Edited by: kishan P on Apr 14, 2011 3:03 PM -
At new control break statement
hi all,
I have a requirement where I have to display records for non duplicate matnr.
I have used this control break statement and got
stars for all other fields except matn in the outputr.
code: at new matnr.
write: /10 sy-vline , wa_mara-matnr COLOR 5,
30 sy-vline , wa_mara-ersda COLOR 5 ,
50 sy-vline , wa_mara-ernam COLOR 5 ,
70 sy-vline , wa_mara-laeda COLOR 5 ,
90 sy-vline , wa_mara-mtart COLOR 5 ,
110 sy-vline , wa_mara-matkl COLOR 5 ,
130 sy-vline , wa_mara-meins COLOR 5 ,
150 sy-vline.
ENDAT.
plese do send me solution for this.
with regards,
ASHA.FAQ. This has been discussed many times in the forum. Please search.
-
How to catch the value in sum(control break statement).
hi,
can any one tell me how to catch the value in sum in control break satament.
ex.
at end of brtwr.
sum.
endat.
I need to print the value in sum only.
I tried to declare a varaible of type i and assigned sum to this variable.
it is giving syntax error that sum is not identified.
How should i do this.
regards.Hi Siva,
In control break statement when we use SUM. it added all the amount fields and stores its in the work area of that field.
look below code.
DATA : BEGIN OF itab OCCURS 0,
name(10),
num TYPE i,
END OF itab.
DATA : num TYPE i .
itab-name = 'salman'.
itab-num = 100.
APPEND itab.
itab-name = 'salman'.
itab-num = 200.
APPEND itab.
itab-name = 'akshay'.
itab-num = 500.
APPEND itab.
LOOP AT itab.
AT END OF name.
SUM.
WRITE : / itab-num.
ENDAT.
ENDLOOP.
here the SUM value is stored in Workarea,
the output will be 300 & 500.
regards
Kumar M -
Doubt in control break statement
Hi All,
Is there any way to trigger control break statements at new & at end of for non primary key fields.
i want to trigger both control break statements for my requirement , not at change of, because i want to trigger at end of also. Please let me know if any possibility. Thanks
regards
vishalhi vishal,
Variants:
1. AT NEW f.
2. AT END OF f.
3. AT FIRST.
4. AT LAST.
Effect
In a LOOP which processes an internal table, you can use special control structures for control break processing. All these structures begin with AT and end with ENDAT. The sequence of statements which lies between them is then executed if a control break occurs.
You can use these key words for control break processing with internal tables only if a loop is actively processing an internal table and reference is to the innermost currently active loop.
The control level structure with internal tables is static. It corresponds exactly to the sequence of columns in the internal table (from left to right). In this context, the criteria according to which you sort the internal table are unimportant.
At the start of a new control level (i.e. immediately after AT), the following occurs in the output area of the current LOOP statement:
All character type fields (on the right) are filled with "*" after the current control level key.
All other fields (on the right) are set to their initial values after the current control level key.
Between AT and ENDAT, you can use SUM to insert the appropriate control totals in the numeric fields (see also ABAP Number Types) of the LOOP output area (on the right) after the current control level key. Summing is supported both at the beginning of a control level (AT FIRST, AT NEW f) and also the end of a control level (AT END OF f, AT LAST).
At the end of the control level processing (i.e. after ENDAT), the old contents of the LOOP output area are restored.
Notes
When calculating totals, you must ensure that the totals are inserted into the same sub-fields of the LOOP output area as those where the single values otherwise occur. If there is an overflow, processing terminates with a runtime error.
If an internal table is processed only in a restricted form (using the additions FROM, TO and/or WHERE with the LOOP statement), you should not use the control structures for control level processing because the interaction of a restricted LOOP with the AT statement is currenly not properly defined.
With LOOPs on extracts, there are also special control break control structures you can use.
Note
Non-Catchable Exceptions:
SUM_OVERFLOW: Overflow when calculating totals with SUM.
Variant 1
AT NEW f.
Variant 2
AT END OF f.
The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas.See Compatible Work Area with Control Level Processing and Field Symbols Not Allowed as Control Level Criterion.
Effect
f is a sub-field of an internal table processed with LOOP. The sequence of statements which follow it is executed if the sub-field f or a sub-field in the current LOOP line defined (on the left) before fhas a different value than in the preceding (AT NEW) or subsequent (AT END OF) table line.
Example
TYPES: BEGIN OF COMPANIES_TYPE,
NAME(30),
PRODUCT(20),
SALES TYPE I,
END OF COMPANIES_TYPE.
DATA: COMPANIES TYPE STANDARD TABLE OF COMPANIES_TYPE WITH
NON-UNIQUE DEFAULT KEY INITIAL SIZE 20,
WA_COMPANIES TYPE COMPANIES_TYPE.
LOOP AT COMPANIES INTO WA_COMPANIES.
AT NEW NAME.
NEW-PAGE.
WRITE / WA_COMPANIES-NAME.
ENDAT.
WRITE: / WA_COMPANIES-PRODUCT, WA_COMPANIES-SALES.
AT END OF NAME.
SUM.
WRITE: / WA_COMPANIES-NAME, WA_COMPANIES-SALES.
ENDAT.
ENDLOOP.
The AT statements refer to the field COMPANIES-NAME.
Notes
If a control break criterion is not known until runtime, you can use AT NEW (name) or AT END OF (name) to specify it dynamically as the contents of the field name. If name is blank at runtime, the control break criterion is ignored and the sequence of statements is not executed. If name contains an invalid component name, a runtime error occurs.
By defining an offset and/or length, you can further restrict control break criteria - regardless of whether they are specified statically or dynamically.
A field symbol pointing to the LOOP output area can also be used as a dynamic control break criterion. If the field symbol does not point to the LOOP output area, a runtime error occurs.
If you use AT within a LOOP with an explicitly-specified output area, the area must be compatible with the line type of the internal table so that it can be initialized properly (as described above) at the start of a new control level.
You can restrict control break criteria further, regardless of whether they were defined statically or dynamically, by specifying offset and/or length.
Variant 3
AT FIRST.
Variant 4
AT LAST.
Effect
Executes the appropriate sequence of statements once during the first (AT FIRST) or last (AT LAST) loop pass.
Example
TYPES: BEGIN OF COMPANIES_TYPE,
NAME(30),
PRODUCT(20),
SALES TYPE I,
END OF COMPANIES_TYPE.
DATA: COMPANIES TYPE STANDARD TABLE OF COMPANIES_TYPE WITH
NON-UNIQUE DEFAULT KEY INITIAL SIZE 20,
WA_COMPANIES TYPE COMPANIES_TYPE.
LOOP AT COMPANIES INTO WA_COMPANIES.
AT FIRST.
SUM.
WRITE: 'Sum of all SALES:',
55 WA_COMPANIES-SALES.
ENDAT.
WRITE: / WA_COMPANIES-NAME, WA_COMPANIES-PRODUCT,
55 WA_COMPANIES-SALES.
ENDLOOP. -
BUG? Application Module State Management
I have 2 read-only view objects VO1 & VO2 with a View Link that links them by a primary key field. VO1 (master) is on the first .jspx page and VO2 (detail) is on the 2nd .jspx page. VO1 has a SQL query, but is populated programmatically in an App Module Service method that sets the where clause parameters. VO2 is on a separate .jspx page. VO2 has one bind variable in its SQL query that is populated when the user clicks a commandLink on a row within VO1 - this takes the user to the 2nd .jspx page to view VO2 table results.
The issue is that when the user navigates back to the first .jspx page containing VO1, a duplicate row is added to the end the data table (or as the first record on the second page of results if there are multiple pages.) If I re-query VO1, re-sort the data using the column headings, or passivate the data (see below), the duplicate row goes away. Note I have tried using the same iterator on both pages and this same issue occurs.
Ok - after 5 days of troubleshooting, here is the potential bug. If Application Pooling is enabled on the Application Module, I experience the issue above. If I don't enale Application Pooling, and Passivate state for the App Module, this issue does not occur (see below):
Application Module Settings - Error Occurs if Pooling is enabled
(unchecked) Failover Transaction State Upon Managed Release
(unchecked) Disconnect Application Module Upon Release
(checked) Support Dynamic JDBC Credentials
(checked) Reset Non-Transcational State Upon Unmanaged Release
(checked) Enable Application Module Pooing
If I un-check Enable Application Module Pooling the error does NOT occur. Note I've experimented with many combinations, and its only the Application Module Pooling that affects the behavior.
Note both view objects are set to Passivate state (but not for transient values, though tested passivating those as well and there was no difference.)
Can someone please advise? This is a showstopper for implementing our application to production. See the threads below for more information. Finally note that I have not yet been able to replicate this in a simple test case, but there is some specific characteristics about my current application causing this behavior (and it appears others have experienced as well.)
Duplicate rows displayed in list
Need help - Duplicate Rows being added to View Object?
Thanks.
Here is the code on the AM service method to populate the rows for VO1 (no insert or create rows - only executing the query):
ViewObject vo1 = findViewObject("VO1");
vo1.setMaxFetchSize(250); // set max fetch size 250
vo1.setWhereClauseParam(0, x0);
vo1.setWhereClauseParam(1, x1);
vo1.setWhereClauseParam(2, x2);
vo1.setWhereClauseParam(3, x3);
vo1.setWhereClauseParam(4, x4);
vo1.setWhereClauseParam(5, x5);
vo1.setWhereClauseParam(6, x6);
vo1.setWhereClauseParam(7, x7);
vo1.setWhereClauseParam(8, x8);
vo1.setWhereClauseParam(9, x9);
vo1.setWhereClauseParam(10, x10);
vo1.executeQuery();
Message was edited by:
javaXMore information on this issue:
After further testing, I discovered that the 'Disconnect Application Module Upon Release' also plays a factor with this issue.
If 'Enable Application Module Pooling' is unchecked the issue does not occur because the view object is passivated.
If 'Enable Application Module Pooling' is checked (jbo.ampool.doampooling=true), then the issue occurs UNLESS I also set 'Disconnect Application Module Upon Release' (jbo.doconnnectionpooling=true). If I set the latter to true, then I do not experience the duplicate row issue. I would rather not have to enable jbo.doconnectionpooling=true because of the performance impacts as recommended in the dev guide. Any Suggestions?
-- updated on 10/1/06 ----
Setting jbo.doconnectionpooling=true only fixes this issue when I use a ViewLink as the mechanism to pass the row Id from VO1 (master on .jspx page #1) to VO2 (detail on page #2.) If I use an actionListener to pass the value from page #1 to page #2, setting jbo.doconnectionpooling=true does not fix the issue.
<af:commandLink actionListener="#{bindings.setCurrentRowWithKey.execute}"
action="page2" text="#{row.Name}">
<af:setActionListener from="#{row.Id}" to="#{backing_bean_page2.rowid}"/>
</af:commandLink>
Message was edited by:
javaX -
Hi friends,
pls explain , what is the use of control break statements( at first, at last, at new, at end of, on change of ) ? and practical difference applying at new and on change.
Pls send me material or links related to control break statements.
Thanks in advance.
SR KHello SR K,
Just go through the following documentation.
AT - Control breaks with extracts
Variants:
1. AT NEW f.
2. AT END OF f.
3. AT FIRST.
4. AT LAST.
5. AT fg.
Effect In a LOOP which processes a dataset created with EXTRACT, you
can use special control structures for control break
processing. All these structures begin with AT and end with
ENDAT. The sequence of statements which lies between is
executed whenever a control break occurs.
You can use these key words for control break processing with
extract datasets only if the active LOOP statement is
processing an extract dataset.
The control level structure with extract datasets is dynamic.
It corresponds exactly to the sort key of the extract dataset,
i.e. to the order of fields in the field group HEADER by which
the extract dataset was sorted.
At the end of a control group (AT END OF, AT LAST), there are
two types of control level information between AT and ENDAT:
- If the sort key of the extract dataset contains a
non-numeric field h (particularly in the field group
HEADER), the field CNT(h) contains the number of control
breaks in the (subordinate) control level h.
- For extracted number fields g (see also ABAP Number Types),
the fields SUM(g) contain the relevant control totals.
Notes 1. The fields CNT(h) and SUM(g) can only be addressed after
they have been sorted. Otherwise, a runtime error may
occur.
2. The fields CNT(h) and SUM(g) are filled with the relevant
values for a control level at the end of each control group
(AT END OF, AT LAST), not at the beginning (AT FIRST, AT
NEW).
3. When calculating totals with SUM(g), the system
automatically chooses the maximum field sizes so that an
overflow occurs only if the absolute value area limits are
exceeded.
4. You can also use special control break control structures
with LOOPs on internal tables.
Variant 1 AT NEW f.
Variant 2 AT END OF f.
Effect f is a field from the field group HEADER. The enclosed
sequence of statements is executed if
- the field f occurs in the sort key of the extract dataset
(and thus also in the field group HEADER) and
- the field f or a superior sort criterion has a different
value in the current LOOP line than in the preceding (AT
NEW) or subsequent (AT END OF) record of the extract
dataset.
If f is not an assigned field symbol, the control break
criterion is ignored, and the subsequent sequence of
statements is not executed. If a field symbol is assigned, but
does not point to the HEADER field group, the system triggers
a runtime error.
Example
DATA: NAME(30),
SALES TYPE I.
FIELD-GROUPS: HEADER, INFOS.
INSERT: NAME INTO HEADER,
SALES INTO INFOS.
LOOP.
AT NEW NAME.
NEW-PAGE.
ENDAT.
AT END OF NAME.
WRITE: / NAME, SUM(SALES).
ENDAT.
ENDLOOP.
Notes 1. If the extract dataset is not sorted before processing with
LOOP, no control level structure is defined and the
statements following AT NEW or AT END OF are not executed.
2. Fields which stand at hex zero are ignored by the control
break check with AT NEW or AT END OF. This corresponds to
the behavior of the SORT statement, which always places
unoccupied fields (i.e. fields which stand at hex zero)
before all occupied fields when sorting extract datasets,
regardless of whether the sort sequence is in ascending or
descending order.
Variant 3 AT FIRST.
Variant 4 AT LAST.
Effect Executes the relevant series of statements just once - either
on the first loop pass (with AT FIRST) or on the last loop
pass (with AT LAST).
Variant 5 AT fg.
Addition:
... WITH fg1
Effect This statement makes single record processing dependent on the
type of extracted record.
The sequence of statements following AT fg are executed
whenever the current LOOP record is created with EXTRACT fg
(in other words: when the current record is a fg record).
Addition ... WITH fg1
Effect Executes the sequence of statements belonging to AT fg WITH
fg1 only if the record of the field group fg in the dataset is
immediately followed by a record of the field group fg1.
Reward If Helpful
Regards
Sasidhar Reddy Matli. -
Control break statements in Scripts
Hi All
Please help me.
What are the control break statements are possible in SAP Scripts for Main Window.
Regards
PraveenThis gives over view of almost all control commands.
ADDRESS Formatting of addresses
BOTTOM, ENDBOTTOM Define footer text in a window
BOX, POSITION, SIZE Boxes, lines and shading
CASE, ENDCASE Case distinction
DEFINE Value assignment to text symbols
HEX, ENDHEX Hexadecimal values
IF, ENDIF Conditional text output
INCLUDE Include other texts
NEW-PAGE Explicit forms feed
NEW-WINDOW Next window MAIN
PRINT-CONTROL Insert print control character
PROTECT, ENDPROTECT Protect from page break
RESET Initialize outline paragraphs
SET COUNTRY Country-specific formatting
SET DATE MASK Formatting of date fields
SET SIGN Position of +/- sign
SET TIME MASK Formatting of time fields
STYLE Change style
SUMMING Summing variables
TOP Set header text in window MAIN -
Control break-statement: SUM
Hi All,
I am woking with Control break-statmens, SUM.
LOOP AT IT_SELECT.
AT NEW PSPNR.
SUM.
WRITE:/ IT_SELECT-WERKS,
IT_SELECT-PSPHI,
IT_SELECT-PSPNR,
IT_SELECT-VERNA,
IT_SELECT-KZWI2,
IT_SELECT-DMBTR.
ENDAT.
ENDLOOP.
WERKS from EKPO type Char & VERNA from PRPS type Char are displaying as ***************.
How can I get the actual values instead of ********** for the above Char type fields?
Thanks in advance,
Kal ChandHi,
Go throught his link. This is same for all control break statements.
Re: output not getting properly
Hope this helps you
Raj -
Control Break Statements ----- Please Help me
I have some idea about the control-break statements(AT-ENDAT). Can any one please give me the example ?
Thanks in Advance. Points will be rewarded immediately.sample program for AT events
Using AT FIRST , AT NEW, AT THE END OF , AT LAST.
DATA: BEGIN OF ITAB OCCURS 0,
F1 TYPE I,
F2(6) TYPE C,
F3(10) TYPE N,
F4(16) TYPE P DECIMALS 2,
END OF ITAB.
DATA: SUB_TOT(10) TYPE P DECIMALS 3.
**--1
ITAB-F1 = 1.
ITAB-F2 = 'ONE'.
ITAB-F3 = 10.
ITAB-F4 = '1000.00'.
APPEND ITAB.
CLEAR ITAB.
ITAB-F1 = 1.
ITAB-F2 = 'ONE'.
ITAB-F3 = 20.
ITAB-F4 = '2000.00'.
APPEND ITAB.
CLEAR ITAB.
ITAB-F1 = 1.
ITAB-F2 = 'ONE'.
ITAB-F3 = 30.
ITAB-F4 = '3000.00'.
APPEND ITAB.
CLEAR ITAB.
*--2
ITAB-F1 = 2.
ITAB-F2 = 'TWO'.
ITAB-F3 = 10.
ITAB-F4 = '1000.00'.
APPEND ITAB.
CLEAR ITAB.
ITAB-F1 = 2.
ITAB-F2 = 'TWO'.
ITAB-F3 = 20.
ITAB-F4 = '2000.00'.
APPEND ITAB.
CLEAR ITAB.
ITAB-F1 = 3.
ITAB-F2 = 'THREE'.
ITAB-F3 = 10.
ITAB-F4 = '1000.00'.
APPEND ITAB.
CLEAR ITAB.
ITAB-F1 = 3.
ITAB-F2 = 'THREE'.
ITAB-F3 = 20.
ITAB-F4 = '2000.00'.
APPEND ITAB.
CLEAR ITAB.
SORT ITAB BY F1.
LOOP AT ITAB.
AT FIRST.
WRITE: /35 ' MATERIAL DETAILS:'.
ULINE.
ENDAT.
AT NEW F1.
WRITE: / 'DETAILS OF MATERIAL:' COLOR 7 , ITAB-F1.
ULINE.
ENDAT.
WRITE: / ITAB-F1, ITAB-F2, ITAB-F3, ITAB-F4.
SUB_TOT = SUB_TOT + ITAB-F4.
AT END OF F1.
ULINE.
WRITE: / 'SUB TOTAL :' COLOR 3 INVERSE ON, SUB_TOT COLOR 3 INVERSE ON.
CLEAR SUB_TOT.
ENDAT.
AT LAST.
SUM.
ULINE.
WRITE: 'SUM:', ITAB-F4.
ULINE.
ENDAT.
ENDLOOP.
Reward points if helpful.
Rgds,
Abhishek -
Control-break statements:value not being displayed.
Hi all,
Iam using the control break statement at end of ..., sum.
value is not being displayed,instead it is showing *********.
even in the debugging mode the value is not being displayed.
iam passing the values into a temp IT,but still the values are not being dispalyed.
here is the following snippet of code.
what could be the mistake?
Please give me the suitable answer.
Thanks in advance.
LOOP AT FT_ITAB INTO FT_WA.
FTY_WA-EBELN = FT_WA-EBELN.
FTY_WA-EBELP = FT_WA-EBELP.
FTY_WA-NAME1 = FT_WA-NAME1.
FTY_WA-ZTERM = FT_WA-ZTERM.
FTY_WA-INCO1 = FT_WA-INCO1.
FTY_WA-WAERS = FT_WA-WAERS.
FTY_WA-SUBMI = FT_WA-SUBMI.
AT END OF EBELN.
SUM.
FTY_WA-BRTWR = FT_WA-BRTWR.
FTY_WA-KTMNG = FT_WA-KTMNG.
FTY_WA-NETPR = FT_WA-NETPR.
APPEND FTY_WA TO FTY_ITAB.
CLEAR FTY_WA.
ENDAT.Abhi,
i tried as you said values are being diplayed,but they are not gettin totaled,i want the sum of values at the end of line item,I need to pass these valuse to alv.
here is the complete code.Please tell me how should I proceed.
TABLES:EKKO,EKPO,LFA1.
TYPE-POOLS:SLIS.
DATA:HEADER TYPE SLIS_T_FIELDCAT_ALV,
WA TYPE SLIS_FIELDCAT_ALV,
LAYOUT TYPE SLIS_LAYOUT_ALV.
TYPES:BEGIN OF PH_TY,
PH_EBELN LIKE EKKO-EBELN,
PH_AEDAT LIKE EKKO-AEDAT,
PH_LIFNR LIKE EKKO-LIFNR,
PH_ZTERM LIKE EKKO-ZTERM,
PH_EKORG LIKE EKKO-EKORG,
PH_WAERS LIKE EKKO-WAERS,
PH_SUBMI LIKE EKKO-SUBMI,
PH_INCO1 LIKE EKKO-INCO1,
PO_EBELN LIKE EKPO-EBELN,
PO_EBELP LIKE EKPO-EBELP,
PO_BRTWR LIKE EKPO-BRTWR,
PO_KTMNG LIKE EKPO-KTMNG,
PO_NETPR LIKE EKPO-NETPR,
END OF PH_TY.
TYPES:BEGIN OF PO_TY,
PO_EBELN LIKE EKPO-EBELN,
PO_EBELP LIKE EKPO-EBELP,
PO_BRTWR LIKE EKPO-BRTWR,
PO_KTMNG LIKE EKPO-KTMNG,
PO_NETPR LIKE EKPO-NETPR,
END OF PO_TY.
TYPES:BEGIN OF VO_TY,
VO_LIFNR LIKE LFA1-LIFNR,
VO_NAME1 LIKE LFA1-LIFNR,
END OF VO_TY.
TYPES:BEGIN OF FI_TY,
EBELN LIKE EKKO-EBELN,
AEDAT LIKE EKKO-AEDAT,
LIFNR LIKE EKKO-LIFNR,
ZTERM LIKE EKKO-ZTERM,
EKORG LIKE EKKO-EKORG,
WAERS LIKE EKKO-WAERS,
SUBMI LIKE EKKO-SUBMI,
INCO1 LIKE EKKO-INCO1,
EBELN_I LIKE EKPO-EBELN,
EBELP LIKE EKPO-EBELP,
NAME1 LIKE LFA1-LIFNR,
BRTWR LIKE EKPO-EBELN,
KTMNG LIKE EKPO-EBELN,
NETPR LIKE EKPO-EBELN,
LIFNR1 LIKE LFA1-LIFNR,
END OF FI_TY.
TYPES:BEGIN OF FT_TY,
EBELN LIKE EKKO-EBELN,
ZTERM LIKE EKKO-ZTERM,
WAERS LIKE EKKO-WAERS,
SUBMI LIKE EKKO-SUBMI,
INCO1 LIKE EKKO-INCO1,
EBELP LIKE EKPO-EBELP,
NAME1 LIKE LFA1-LIFNR,
BRTWR LIKE EKPO-EBELN,
KTMNG LIKE EKPO-EBELN,
NETPR LIKE EKPO-EBELN,
END OF FT_TY.
DATA: PH_ITAB TYPE STANDARD TABLE OF PH_TY,
PO_ITAB TYPE STANDARD TABLE OF PO_TY,
VO_ITAB TYPE STANDARD TABLE OF VO_TY,
FI_ITAB TYPE STANDARD TABLE OF FI_TY,
FT_ITAB TYPE STANDARD TABLE OF FT_TY,
FTY_ITAB TYPE STANDARD TABLE OF FT_TY,
FTY1_ITAB TYPE STANDARD TABLE OF FT_TY.
DATA:PH_WA LIKE LINE OF PH_ITAB,
PO_WA LIKE LINE OF PO_ITAB,
VO_WA LIKE LINE OF VO_ITAB,
FI_WA LIKE LINE OF FI_ITAB,
FT_WA LIKE LINE OF FT_ITAB,
FT_WA1 LIKE LINE OF FT_ITAB,
FTY_WA LIKE LINE OF FT_ITAB,
FTY1_WA LIKE LINE OF FT_ITAB.
SELECT A~EBELN
A~AEDAT
A~LIFNR
A~ZTERM
A~EKORG
A~WAERS
A~SUBMI
A~INCO1
B~EBELN
B~EBELP
B~BRTWR
B~KTMNG
B~NETPR
INTO TABLE PH_ITAB FROM EKKO AS A
INNER JOIN EKPO AS B
ON AEBELN = BEBELN
UP TO 25 ROWS.
CHECK PH_ITAB[] IS NOT INITIAL.
SELECT LIFNR
NAME1
FROM LFA1 INTO TABLE VO_ITAB
FOR ALL ENTRIES IN PH_ITAB
WHERE LIFNR = PH_ITAB-PH_LIFNR.
CHECK VO_ITAB[] IS NOT INITIAL.
SORT PH_ITAB BY PH_EBELN.
SORT VO_ITAB BY VO_LIFNR.
LOOP AT PH_ITAB INTO PH_WA.
FI_WA-SUBMI = PH_WA-PH_SUBMI.
FI_WA-EBELN = PH_WA-PH_EBELN.
FI_WA-ZTERM = PH_WA-PH_ZTERM.
FI_WA-INCO1 = PH_WA-PH_INCO1.
FI_WA-WAERS = PH_WA-PH_WAERS.
FI_WA-EBELP = PH_WA-PO_EBELP.
FI_WA-BRTWR = PH_WA-PO_BRTWR.
FI_WA-KTMNG = PH_WA-PO_KTMNG.
FI_WA-NETPR = PH_WA-PO_NETPR.
READ TABLE VO_ITAB INTO VO_WA WITH KEY VO_LIFNR = PH_WA-PH_LIFNR BINARY SEARCH.
FI_WA-NAME1 = VO_WA-VO_NAME1.
APPEND FI_WA TO FI_ITAB.
CLEAR FI_WA.
ENDLOOP.
LOOP AT FI_ITAB INTO FI_WA.
FT_WA-EBELN = FI_WA-EBELN.
FT_WA-EBELP = FI_WA-EBELP.
FT_WA-NAME1 = FI_WA-NAME1.
FT_WA-ZTERM = FI_WA-ZTERM.
FT_WA-INCO1 = FI_WA-INCO1.
FT_WA-WAERS = FI_WA-WAERS.
FT_WA-SUBMI = FI_WA-SUBMI.
FT_WA-BRTWR = FI_WA-BRTWR.
FT_WA-KTMNG = FI_WA-KTMNG.
FT_WA-NETPR = FI_WA-NETPR.
APPEND FT_WA TO FT_ITAB.
CLEAR FT_WA.
ENDLOOP.
LOOP AT FT_ITAB INTO FT_WA.
AT END OF EBELN.
SUM.
FTY_WA-EBELN = FT_WA-EBELN.
FTY_WA-EBELP = FT_WA-EBELP.
FTY_WA-NAME1 = FT_WA-NAME1.
FTY_WA-ZTERM = FT_WA-ZTERM.
FTY_WA-INCO1 = FT_WA-INCO1.
FTY_WA-WAERS = FT_WA-WAERS.
FTY_WA-SUBMI = FT_WA-SUBMI.
FTY_WA-BRTWR = FT_WA-BRTWR + FTY_WA-BRTWR.
FTY_WA-KTMNG = FT_WA-KTMNG + FTY_WA-KTMNG.
FTY_WA-NETPR = FT_WA-NETPR + FTY_WA-KTMNG.
ENDAT.
APPEND FTY_WA TO FTY_ITAB.
CLEAR FTY_WA.
ENDLOOP.
WA-SELTEXT_L = 'ebeln'.
WA-COL_POS = '1'.
WA-FIELDNAME = 'EBELN'.
WA-TABNAME = 'FTY_ITAB'.
WA-OUTPUTLEN = '15'.
APPEND WA TO HEADER.
CLEAR WA.
WA-SELTEXT_L = 'SUBMI'.
WA-COL_POS = '2'.
WA-FIELDNAME = 'SUBMI'.
WA-TABNAME = 'FTY_ITAB'.
WA-OUTPUTLEN = '15'.
APPEND WA TO HEADER.
CLEAR WA.
WA-SELTEXT_L = 'NAME1'.
WA-COL_POS = '3'.
WA-FIELDNAME = 'NAME1'.
WA-TABNAME = 'FTY_ITAB'.
WA-OUTPUTLEN = '15'.
APPEND WA TO HEADER.
CLEAR WA.
WA-SELTEXT_L = 'ZTERM'.
WA-COL_POS = '4'.
WA-FIELDNAME = 'ZTERM'.
WA-TABNAME = 'FTY_ITAB'.
WA-OUTPUTLEN = '15'.
APPEND WA TO HEADER.
CLEAR WA.
WA-SELTEXT_L = 'INCO1'.
WA-COL_POS = '5'.
WA-FIELDNAME = 'INCO1'.
WA-TABNAME = 'FTY_ITAB'.
WA-OUTPUTLEN = '15'.
APPEND WA TO HEADER.
CLEAR WA.
WA-SELTEXT_L = 'WAERS'.
WA-COL_POS = '6'.
WA-FIELDNAME = 'WAERS'.
WA-TABNAME = 'FTY_ITAB'.
WA-OUTPUTLEN = '15'.
APPEND WA TO HEADER.
CLEAR WA.
WA-SELTEXT_L = 'brtwr'.
WA-COL_POS = '7'.
WA-FIELDNAME = 'BRTWR'.
WA-TABNAME = 'FTY_ITAB'.
WA-OUTPUTLEN = '20'.
APPEND WA TO HEADER.
CLEAR WA.
WA-SELTEXT_L = 'netpr'.
WA-COL_POS = '8'.
WA-FIELDNAME = 'NETPR'.
WA-TABNAME = 'FTY_ITAB'.
WA-OUTPUTLEN = '20'.
APPEND WA TO HEADER.
CLEAR WA.
WA-SELTEXT_L = 'ktmng'.
WA-COL_POS = '9'.
WA-FIELDNAME = 'KTMNG'.
WA-TABNAME = 'FTY_ITAB'.
WA-OUTPUTLEN = '20'.
APPEND WA TO HEADER.
CLEAR WA.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IT_FIELDCAT = header[]
TABLES
T_OUTTAB = FTY_ITAB[].
IF SY-SUBRC = 0.
ENDIF.
Maybe you are looking for
-
I bought a Pavillion p6210f last week with Win7 loaded to replace my Dell/Vista. I was using two monitors with a VGA port and DVI port on the old PC, so I tried plugging in the same on my new HP and the DVI would not fit. In examining the pins I fo
-
I have a Toshiba Satelite laptop running Windows 7 (64 bit). I have been trying unsuccessfully to update iTunes, iCloud Control Panel and Quicktime. I even tried to delete these programs before installing the updates, but nothing. I keep receiving th
-
Hi All, I created a smartform and got the PDF output of the same using the function module FOPC_REPORT_SHOW_PDF. I created a smartstyle using Arial Font (REgular, Size 12) and I have used this smartstyle in the smartform. When I displayed the smartfo
-
Is it ok to charge your iphone overnight?
Hi. So I charge my iphone 5 overnight. I was wondering if overcharging it could harm the iPhones battery. Please answer :)
-
I have problems with my Mac Book Pro after I upgraded it
I upgraded my Mac Book Pro from MAC OS X 10.9 to Yosemite version a week ago, and now it doesn´t start