Help needed - showOneTab component displaying wrong tab

Hi,
I have a page with an af:showOneTab component, which contains several tabs, and also a table (that's separate from the showOneTab component).
When the page is first loaded, the correct tab is disclosed, based on the contents of the table (there's a default tab, when the table is empty). Basically, on any of the tabs, different items can be added to the table, which then disables all of the other tabs. If the items are removed from the table, all the tabs are enabled again.
This all works fine the first time the page is viewed, but I have a problem with subsequent viewings.
Example scenario :
- On load, table is empty, and opens on the default tab (E) (correct functionality)
- change to tab A and add an item - all tabs except A now disabled (correct)
- click ok button, return to other page, item from tab A displayed in list (correct)
- go back to page - opens on tab A with all others disabled, and item in table (correct)
- remove item from table - all tabs now enabled again (correct)
- go to tab B and click cancel button - returns to other page, item from tab A still displayed in list (correct)
but then...
- go back to page - opens on tab B, with all others except A disabled, and the item from tab A in table. (should have opened on tab A)
- clicking on tab A reveals that tab B is actually disabled as it should be
So, the problem seems to be that somehow the showOneTab component is "remembering" the last tab that was disclosed, rather than determining which tab should be disclosed. (Furthermore, refreshing the page does not do anything - the wrong tab is still disclosed).
I have tried to get this to work in the following ways, but none has worked :
- binding each of the showDetailItems and using the setDisclosed methods
- binding the showOneTab component
- binding all of the "disclosed" and "disabled" attributes of the showDetailItems to boolean methods in the backing bean.
- using disclosure listeners
The backing bean for the page is on the session, but it is definitely being cleared before the page is loaded each time, so it can't be something persisting in that.
I don't know if it makes any difference, but this page is a popup.
This problem has been around for weeks now, and is extremely frustrating, so any help would be greatly appreciated.

first I hope that you already solved your problem after one year but in case of I have a solution :
I have the same problem with the component OADefaultHideShowBean and the function setDisclosed(boolean) ; finally I used this function setDefaultDisclosed(pageContext,boolean) which is working correctly and will not remember the position of the last page downloaded...

Similar Messages

  • Help needed: replacement of display panel (HP Pavilion G7-1150US)

    Hi all,
    My brand new (< 2months old) HP Pavilion G7 1150US laptop's screen is broken, I need help in buying the panel. Where can I purchase the display panel.
    I dont need the complete display assembly (unless the cost is not more than a few bucks of that of the panel alone), i just need the panel.
    PART number: 641395-001
    17.3” Diagonal HD+ High-Definition HP LED BrightView Widescreen Display (1600 x900) 
    Thanks in advance.
     Ram
    This question was solved.
    View Solution.

    eBay:
    auction
    Youtube
    I did not watch the video but it cannot hurt for you to do so. If you need more help post back. I actually think it is easier to replace just the panel as opposed to the entire assembly, but that is me.

  • JTabbedPane setSelectedIndex displays wrong tab

    I have encountered a problem that is identical to Bug ID 6285072 that was submitted back in 2005. It is closed with a workaround that just doesn't work for me.
    Basically, I am creating multiple tabs and populating a table in each. I then set the selected index to the last one. However, the display shows the first tabs data and each previous tab shows the first tabs data until I actually go back and click on the first tab... then each tab shows the correct data. I have tried many things... such as making the tabs opaque... getting the component and setting focus and visibility. Then I discovered the above bug that describes my problem. Any suggested workaround would be appreciated. bug is at... [bug id 6285072|http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6285072]

    Seems to me you could just subclass JTabbedPane in that subclass override setComponentAt to provide the fix described in the bug. You just need to grab the changed method from the JDK 6 source.

  • Help needed saving text members to TAB delimited txt file

    I have 7 text memebrs each containing several lines of text
    that were pulled in and sorted from a TAB delimited text file.
    What I'd like to know is, is there any way to convert those
    text members back into the TAB delimited format from which they
    came? I'd like to be able to pull in the data, let it be edited to
    some extent, then saved back out..... and I'm not too sure how to
    go about it.
    Example of txt file:
    ID_No Name Age
    1 Phil 26
    2 Sam 34
    3 Mary 21
    They're then sorted in to text files of ID_No, Name, and Age,
    with the lists of the relevent items in each.
    Like.....
    ID_No
    1
    2
    3
    Name
    Phil
    Sam
    Mary
    Age
    26
    34
    21
    Certain lines of these text members change, depending on what
    the user selects. I'd like to put these sections back in their
    original TAB delimited format, but with any changed data replacing
    the old, so next ime the app is opened the new data is pulled in
    from the txt file.
    I know I'm probably going about this the wrong way, but it's
    the only way I know so far lol
    Any ideas?

    global filex, idlst, namelst, agelst
    on readtabline (str)
    tmpstr = ""
    y = 1
    repeat with x = 1 to the number of chars in str do
    if str.char[x] = tab then
    case y of
    1 : idlst.add (tmpstr)
    2 : namelst.add (tmpstr)
    3 : agelst.add (tmpstr)
    end case
    tmpstr = ""
    y = y + 1
    else
    tmpstr = tmpstr & str.char[x]
    end if
    end repeat
    agelst.add (tmpstr)
    end
    on exitFrame me
    idlst = [] --set up some lists to hold that data we read in
    namelst = []
    agelst = []
    filex = new (xtra "fileio")
    filex.openfile ("t.txt", 1)
    indata = filex.readfile() -- read the data in
    filex.closefile()
    filex = void
    repeat with x = 1 to the number of lines in indata do
    readtabline(indata.line[x]) --seprate it into its diffrent
    elements
    end repeat
    -- you now have your data sorted in to three list of id, age
    and name
    -- so you would now do what ever editing you wanted to do
    --now to write it out to a new file
    filex = new (xtra "fileio")
    filex.createfile (the moviepath & "tout.txt")
    filex.openfile (the moviepath & "tout.txt", 2)
    repeat with x = 1 to idlst.count() do
    filex.writestring (idlst[x] & tab & namelst[x] &
    tab & agelst[x] & return)
    end repeat
    filex.closefile()
    end
    I tested this on your exact scenario and it worked a brezze
    hope it helps
    Regards
    David

  • Help needed with ALV display - Asynchronous ALV

    I have a requirement to generate a report in ALV and after that i need to abend the Program but after alv list display program is not executing further, Please help.

    Hi
    Didnt understand your issue.
    Can you elaborate.
    Regards
    Raj

  • Urgent help needed: how to display a list of records on the screen

    Hello,
    This is very urgent. Can anyone help me. I have posted this query of mine before also but still no reply came. My whole application is dependent on this problem. Actually I am developing an application for mobile phone using MIDP. I have a record store which contains personal details for users. I am able to add records to the record store. Now I want that these records can be edited. For this I want to display a list of firstname field on the screen (and not console) so that i can select a user to edit its details. I have written the code to read the records and individual fields and display it on the console but i want to display that list on screen. I tried list and array but it s giving some error.
    I am giving the code to read the records below. Please tell me how can I display it in a list on the screen.
    public void readStream(){
    try
    byte[] recData=new byte[50];
    String varname;
    ByteArrayInputStream strmBytes = new ByteArrayInputStream(recData);
    DataInputStream strmData=new DataInputStream(strmBytes);
    if (rsperdt.getNumRecords() > 0){
    ComparatorString comp=new ComparatorString();
    int i=1;
    RecordEnumeration re=rsperdt.enumerateRecords(null, comp, false);
    while(re.hasNextElement()){
    rsperdt.getRecord(re.nextRecordId(), recData,0);
    System.out.println("Record #" + i );
    varname = strmData.readUTF();
    System.out.println("Name #"+varname);
    System.out.println("---------------------------");
    i=i+1;
    strmBytes.reset();
    comp.compareStringClose();
    re.destroy();
    strmBytes.close();
    catch(Exception e){
    System.err.println("read Records class:read");
    }

    I could not understand ur point "post the code in tags". I am pasting the code below. Please help as my whole application is stuck due to this problem and I have a deadline of 7th oct.
    This midlet is getting called from some other midlet.
    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.*;
    import javax.microedition.rms.*;
    import java.io.*;
    import java.util.*;
    public class frmread extends Form implements CommandListener
    static final String rec_store="db_per";
    private RecordStore rsperdt=null;
    private Vector vecname;
    private ChoiceGroup chname;
    private boolean flagSortByPriority = false, flagShowPriority = true;
    private Form fmmain;
    private Command cmdBack;
    private teledoc midlet;
    public frmread(String title, teledoc midlet)
    super(title);
    this.midlet = midlet;
    openRecStore();
    this.setCommandListener(this);
         chname = new ChoiceGroup("new", Choice.EXCLUSIVE);
         vecname = new Vector();
         cmdBack = new Command("Back", Command.BACK, 1);
    fmmain = new Form("Record Search");
         addCommand(cmdBack);
    setCommandListener(this);
    readStream();
         rebuildTodoList();
         closeRecStore();
    * Process events for this form only
    protected void rebuildTodoList()
    for(int j=chname.size(); j>0; j--)
         chname.delete(j-1);
         int priority;
         todoitem item;
         String text;
         StringBuffer sb;
         for (int j=0; j<vecname.size(); j++)
              item=(todoitem) vecname.elementAt(j);
              priority = item.getPriority();
              text = item.getText();
              sb = new StringBuffer((flagShowPriority ? (Integer.toString(priority) + "-"): ""));
              sb.append(text);
              chname.append(sb.toString(), null);
    public void commandAction(Command c, Displayable s)
    if (c == cmdBack){
    midlet.displayteledoc();
    public void readStream(){
    try
    byte[] recData=new byte[100];
    String varname;
    int varname1=0;
         ByteArrayInputStream strmBytes = new ByteArrayInputStream(recData);
         DataInputStream strmData=new DataInputStream(strmBytes);
         if (rsperdt.getNumRecords() > 0){
    ComparatorString comp=new ComparatorString();
    int i=1;
              int id = 1;
              vecname.removeAllElements();
              RecordEnumeration re=rsperdt.enumerateRecords(null, comp, false);
    while(re.hasNextElement()){
         rsperdt.getRecord(re.nextRecordId(), recData,0);
    System.out.println("Record #" + i );
    varname = strmData.readUTF();
                   varname1 = strmData.readInt();
                   id = re.nextRecordId();
                   System.out.println("Name #"+varname);
                   todoitem item = new todoitem(varname1, varname, id);
                   vecname.addElement(item);
                   System.out.println("---------------------------");
                   i=i+1;
    strmBytes.reset();
              comp.compareStringClose();
              re.destroy();
    strmBytes.close();
    catch(Exception e){
    System.err.println("read Records class:read");
    public void openRecStore(){
    try{
    rsperdt=RecordStore.openRecordStore("db_per",true);
    catch(RecordStoreException e){
    db(e.toString());
    public void closeRecStore(){
    try{
    rsperdt.closeRecordStore();
    catch(Exception e){
    db(e.toString());
    public void db(String str){
    System.err.println("Msg:" + str);
    class ComparatorString implements RecordComparator{
    private byte[] recData = new byte[20];
    private ByteArrayInputStream strmBytes = null;
    private DataInputStream strmDataType = null;
    public void compareStringClose(){
    try{
    if(strmBytes != null)
         strmBytes.close();
    if(strmDataType != null)
         strmDataType.close();
         catch (Exception e)
    public int compare(byte[] rec1, byte[] rec2)
         String str1, str2;
         try {
              int maxsize = Math.max(rec1.length, rec2.length);
              if (maxsize > recData.length)
              recData = new byte[maxsize];
                   strmBytes = new ByteArrayInputStream(rec1);
                   strmDataType = new DataInputStream(strmBytes);
                   str1=strmDataType.readUTF();
                   strmBytes = new ByteArrayInputStream(rec2);
                   strmDataType = new DataInputStream(strmBytes);
                   str2=strmDataType.readUTF();
                   int result=str1.compareTo(str2);
                   if (result == 0)
                   return RecordComparator.EQUIVALENT;
                   else if (result < 0)
                   return RecordComparator.PRECEDES;
                   else
                   return RecordComparator.FOLLOWS;
                   catch (Exception e)
                   return RecordComparator.EQUIVALENT;

  • Help needed with the display of sub-totalling

    Hi,
    I am looking for some help in determining how to count only Y's in a column and then display them in the sub-total row.
    Client      Participant      Prod 1     Prod 2     Prod 3     
    XXXXXX     White, James     Y     N     N     
    XXXXXX Jones James      N     N     N     
    XXXXXX Brown, James      Y     Y     N     
    XXXXXX White, James      Y     Y     Y     
    XXXXXX Rmanth, James      Y     Y     Y     
    XXXXXX Pink, James A     N     N     N     
    XXXXXX Black, James A     N     Y     N     
    Product Counts          4     4     2
    Edited by: user10693087 on Jan 2, 2011 5:44 PM
    Edited by: user10693087 on Jan 2, 2011 5:46 PM
    Edited by: user10693087 on Jan 2, 2011 5:47 PM

    Anyone has any suggestions for my question. Any help is much appreciated. Thanks.

  • Your help needed: sychronized method behaving wrong

    //sychronized method behaving wrong:
    /*expected synchronized output:
    Thread-x: begin
    Thread-x: end
    Thread-y: begin
    Thread-y: end
    /*actual un-synchronized output:
    Thread-x: begin
    Thread-y: begin
    Thread-x: end
    Thread-y: end
    //what's wrong with the following code snippet about sychronized method? Thx!
    class Test implements Runnable {
         public void run() {
                   doo();          
         private synchronized void doo() {
              System.out.println(Thread.currentThread().getName() + ": begin");
              try { Thread.sleep(new java.util.Random().nextInt(10));} catch (Exception e) {}
              System.out.println(Thread.currentThread().getName() + ": end");     
         public static void main(String[] args) {
              Test[] tests = new Test[10];
              Thread[] tt = new Thread[10];
              for (Test test:tests) new Thread(new Test()).start();
    }

    oops! changing the thread initialization has sloved the problem, cauz synchronized method applies to the same object executing multiple threads.
    ...main...{
    Test t = new Test();
    for (int i=0;i<10;i++) new Thread(t).start();
    }

  • Help needed Displaying ALV  Secondary list without using oops concept

    Hi Experts
    Help needed Displaying ALV  Secondary list without using oops concept.
    its urgent
    regds
    rajasekhar

    hi chk this code
    ******************TABLES DECLARATION*****************
    TABLES : VBAP,MARA.
    *****************TYPE POOLS**************************
    TYPE-POOLS : SLIS.
    ****************INTERNAL TABLES**********************
    DATA : BEGIN OF IT_VBAP OCCURS 0,
    VBELN LIKE VBAP-VBELN, "SALES DOCUMENT
    POSNR LIKE VBAP-POSNR, "SALES DOCUMENT ITEM
    MATNR LIKE VBAP-MATNR, "MATERIAL NUMBER
    END OF IT_VBAP.
    ****************TEMPORARY VARIABLES******************
    DATA : V_VBELN LIKE VBAP-VBELN."SALES DOCUMENT
    DATA : V_MTART LIKE MARA-MTART. "MATERIAL TYPE
    *****************FIELD CATALOG***********************
    DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
           WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    ****************LAYOUT*******************************
    DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
    ***************VARIANT*******************************
    DATA : G_VARIANT LIKE DISVARIANT.
    ****************SAVE*********************************
    DATA : G_SAVE(1) TYPE C.
    *****************EVENTS******************************
    DATA : XS_EVENTS TYPE SLIS_ALV_EVENT,
           G_EVENTS TYPE SLIS_T_EVENT.
    ******************PF STATUS**************************
    DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.
    ******************USER COMMAND************************
    DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',
           R_UCOMM LIKE SY-UCOMM.
    ****************SELECTION SCREEN************************
    SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.
    ***************AT SELECTION SCREEN*********************
    AT SELECTION-SCREEN.
      PERFORM VALIDATE.
    **************START-OF-SELECTION**************************
    START-OF-SELECTION.
      PERFORM GET_DETAILS.
      PERFORM FIELDCAT.
      PERFORM LAYOUT.
      PERFORM VARIANT.
      PERFORM SAVE.
      PERFORM EVENTS.
      PERFORM ALV_DISPLAY.
    *********************FORMS*******************************************
    *&      Form  validate
          text
    -->  p1        text
    <--  p2        text
    FORM VALIDATE .
      SELECT SINGLE VBELN
                    FROM VBAP
                    INTO V_VBELN
                    WHERE VBELN IN S_VBELN.
      IF SY-SUBRC <> 0.
        MESSAGE E000 WITH 'enter valid vbeln'.
      ENDIF.
    ENDFORM.                    " validate
    *&      Form  get_details
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DETAILS .
      SELECT VBELN
             POSNR
             MATNR
             FROM VBAP
             INTO TABLE IT_VBAP
             WHERE VBELN IN S_VBELN.
      IF SY-SUBRC <> 0.
        MESSAGE E000 WITH 'no details found'.
      ENDIF.
    ENDFORM.                    " get_details
    *&      Form  fieldcat
          text
    -->  p1        text
    <--  p2        text
    FORM FIELDCAT .
      WA_FIELDCAT-TABNAME = 'IT_VBAP'.
      WA_FIELDCAT-FIELDNAME = 'VBELN'.
      WA_FIELDCAT-OUTPUTLEN = 10.
      WA_FIELDCAT-SELTEXT_L = 'SALES DOC'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'IT_VBAP'.
      WA_FIELDCAT-FIELDNAME = 'POSNR'.
      WA_FIELDCAT-OUTPUTLEN = 6.
      WA_FIELDCAT-SELTEXT_L = 'ITEM'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'IT_VBAP'.
      WA_FIELDCAT-FIELDNAME = 'MATNR'.
      WA_FIELDCAT-OUTPUTLEN = 18.
      WA_FIELDCAT-SELTEXT_L = 'MATERIAL NO'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    " fieldcat
    *&      Form  LAYOUT
          text
    -->  p1        text
    <--  p2        text
    FORM LAYOUT .
      WA_LAYOUT-ZEBRA = 'X'.
    ENDFORM.                    " LAYOUT
    *&      Form  VARIANT
          text
    -->  p1        text
    <--  p2        text
    FORM VARIANT .
      CLEAR G_VARIANT.
      G_VARIANT-REPORT = SY-REPID.
    ENDFORM.                    " VARIANT
    *&      Form  SAVE
          text
    -->  p1        text
    <--  p2        text
    FORM SAVE .
      CLEAR G_SAVE.
      G_SAVE = 'A'.
    ENDFORM.                    " SAVE
    *&      Form  EVENTS
          text
    -->  p1        text
    <--  p2        text
    FORM EVENTS .
      CLEAR XS_EVENTS.
      XS_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.
      XS_EVENTS-FORM = 'TOP_OF_PAGE'.
      APPEND XS_EVENTS TO G_EVENTS.
    ENDFORM.                    " EVENTS
    *&      Form  TOP_OF_PAGE
          text
    FORM TOP_OF_PAGE.
      WRITE :/ ' INTELLI GROUP'.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  ALV_DISPLAY
          text
    -->  p1        text
    <--  p2        text
    FORM ALV_DISPLAY .
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK              = ' '
      I_BYPASSING_BUFFER             =
      I_BUFFER_ACTIVE                = ' '
         I_CALLBACK_PROGRAM             = SY-REPID
         I_CALLBACK_PF_STATUS_SET       = PF_STATUS
         I_CALLBACK_USER_COMMAND        = USER_COMMAND
      I_STRUCTURE_NAME               =
         IS_LAYOUT                      = WA_LAYOUT
         IT_FIELDCAT                    = IT_FIELDCAT
      IT_EXCLUDING                   =
      IT_SPECIAL_GROUPS              =
      IT_SORT                        =
      IT_FILTER                      =
      IS_SEL_HIDE                    =
      I_DEFAULT                      = 'X'
         I_SAVE                         = G_SAVE
         IS_VARIANT                     = G_VARIANT
         IT_EVENTS                      = G_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
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER        =
      ES_EXIT_CAUSED_BY_USER         =
        TABLES
          T_OUTTAB                       = IT_VBAP
       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.                    " ALV_DISPLAY
    *&      Form  SET_PF_STATUS
          text
    FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
      SET PF-STATUS 'Z50651_PFSTATUS' EXCLUDING EXTAB.
    ENDFORM.                    "SET_PF_STATUS
    *&      Form  SET_USER_COMMAND
          text
    FORM SET_USER_COMMAND USING R_UCOMM
                                RS_SELFIELD TYPE SLIS_SELFIELD.
      CASE R_UCOMM.
        WHEN 'DC'.
          READ TABLE IT_VBAP INDEX RS_SELFIELD-TABINDEX.
          IF SY-SUBRC = 0.
            SELECT SINGLE MTART
                          FROM MARA
                          INTO V_MTART
                          WHERE MATNR = IT_VBAP-MATNR.
            IF SY-SUBRC <> 0.
       MESSAGE E000 WITH 'NO MATERIAL DESCRIPTION FOR SELECTED MATERIAL NO'.
            ELSE.
              WRITE :/ 'MATERIAL NO :',IT_VBAP-MATNR.
              WRITE :/ 'MATERIAL TYPE :' , V_MTART.
            ENDIF.
          ENDIF.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
        WHEN 'EXIT'.
          LEAVE TO SCREEN 0.
        WHEN 'CLOSE'.
          CALL TRANSACTION 'SE38'.
      ENDCASE.
    REPORT  Z_ALV_INTERACTIVE  MESSAGE-ID ZMSG_50651
                                    LINE-SIZE 100
                                    LINE-COUNT 60
                                    NO STANDARD PAGE HEADING.
    ******************TABLES DECLARATION*****************
    TABLES : VBAP,MARA.
    *****************TYPE POOLS**************************
    TYPE-POOLS : SLIS.
    ****************INTERNAL TABLES**********************
    DATA : BEGIN OF IT_VBAP OCCURS 0,
    VBELN LIKE VBAP-VBELN, "SALES DOCUMENT
    POSNR LIKE VBAP-POSNR, "SALES DOCUMENT ITEM
    MATNR LIKE VBAP-MATNR, "MATERIAL NUMBER
    END OF IT_VBAP.
    ****************TEMPORARY VARIABLES******************
    DATA : V_VBELN LIKE VBAP-VBELN."SALES DOCUMENT
    DATA : V_MTART LIKE MARA-MTART. "MATERIAL TYPE
    *****************FIELD CATALOG***********************
    DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
           WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    ****************LAYOUT*******************************
    DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
    ***************VARIANT*******************************
    DATA : G_VARIANT LIKE DISVARIANT.
    ****************SAVE*********************************
    DATA : G_SAVE(1) TYPE C.
    *****************EVENTS******************************
    DATA : XS_EVENTS TYPE SLIS_ALV_EVENT,
           G_EVENTS TYPE SLIS_T_EVENT.
    ******************PF STATUS**************************
    DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.
    ******************USER COMMAND************************
    DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',
           R_UCOMM LIKE SY-UCOMM.
    ****************SELECTION SCREEN************************
    SELECT-OPTIONS : S_VBELN FOR VBAP-VBELN.
    ***************AT SELECTION SCREEN*********************
    AT SELECTION-SCREEN.
      PERFORM VALIDATE.
    **************START-OF-SELECTION**************************
    START-OF-SELECTION.
      PERFORM GET_DETAILS.
      PERFORM FIELDCAT.
      PERFORM LAYOUT.
      PERFORM VARIANT.
      PERFORM SAVE.
      PERFORM EVENTS.
      PERFORM ALV_DISPLAY.
    *********************FORMS*******************************************
    *&      Form  validate
          text
    -->  p1        text
    <--  p2        text
    FORM VALIDATE .
      SELECT SINGLE VBELN
                    FROM VBAP
                    INTO V_VBELN
                    WHERE VBELN IN S_VBELN.
      IF SY-SUBRC <> 0.
        MESSAGE E000 WITH 'enter valid vbeln'.
      ENDIF.
    ENDFORM.                    " validate
    *&      Form  get_details
          text
    -->  p1        text
    <--  p2        text
    FORM GET_DETAILS .
      SELECT VBELN
             POSNR
             MATNR
             FROM VBAP
             INTO TABLE IT_VBAP
             WHERE VBELN IN S_VBELN.
      IF SY-SUBRC <> 0.
        MESSAGE E000 WITH 'no details found'.
      ENDIF.
    ENDFORM.                    " get_details
    *&      Form  fieldcat
          text
    -->  p1        text
    <--  p2        text
    FORM FIELDCAT .
      WA_FIELDCAT-TABNAME = 'IT_VBAP'.
      WA_FIELDCAT-FIELDNAME = 'VBELN'.
      WA_FIELDCAT-OUTPUTLEN = 10.
      WA_FIELDCAT-SELTEXT_L = 'SALES DOC'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'IT_VBAP'.
      WA_FIELDCAT-FIELDNAME = 'POSNR'.
      WA_FIELDCAT-OUTPUTLEN = 6.
      WA_FIELDCAT-SELTEXT_L = 'ITEM'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-TABNAME = 'IT_VBAP'.
      WA_FIELDCAT-FIELDNAME = 'MATNR'.
      WA_FIELDCAT-OUTPUTLEN = 18.
      WA_FIELDCAT-SELTEXT_L = 'MATERIAL NO'.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
    ENDFORM.                    " fieldcat
    *&      Form  LAYOUT
          text
    -->  p1        text
    <--  p2        text
    FORM LAYOUT .
      WA_LAYOUT-ZEBRA = 'X'.
    ENDFORM.                    " LAYOUT
    *&      Form  VARIANT
          text
    -->  p1        text
    <--  p2        text
    FORM VARIANT .
      CLEAR G_VARIANT.
      G_VARIANT-REPORT = SY-REPID.
    ENDFORM.                    " VARIANT
    *&      Form  SAVE
          text
    -->  p1        text
    <--  p2        text
    FORM SAVE .
      CLEAR G_SAVE.
      G_SAVE = 'A'.
    ENDFORM.                    " SAVE
    *&      Form  EVENTS
          text
    -->  p1        text
    <--  p2        text
    FORM EVENTS .
      CLEAR XS_EVENTS.
      XS_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.
      XS_EVENTS-FORM = 'TOP_OF_PAGE'.
      APPEND XS_EVENTS TO G_EVENTS.
    ENDFORM.                    " EVENTS
    *&      Form  TOP_OF_PAGE
          text
    FORM TOP_OF_PAGE.
      WRITE :/ ' INTELLI GROUP'.
    ENDFORM.                    "TOP_OF_PAGE
    *&      Form  ALV_DISPLAY
          text
    -->  p1        text
    <--  p2        text
    FORM ALV_DISPLAY .
      CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
       EXPORTING
      I_INTERFACE_CHECK              = ' '
      I_BYPASSING_BUFFER             =
      I_BUFFER_ACTIVE                = ' '
         I_CALLBACK_PROGRAM             = SY-REPID
       I_CALLBACK_PF_STATUS_SET         = PF_STATUS
         I_CALLBACK_USER_COMMAND        = USER_COMMAND
      I_STRUCTURE_NAME               =
         IS_LAYOUT                      = WA_LAYOUT
         IT_FIELDCAT                    = IT_FIELDCAT
      IT_EXCLUDING                   =
      IT_SPECIAL_GROUPS              =
      IT_SORT                        =
      IT_FILTER                      =
      IS_SEL_HIDE                    =
      I_DEFAULT                      = 'X'
         I_SAVE                         = G_SAVE
        IS_VARIANT                      = G_VARIANT
         IT_EVENTS                      = G_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
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER        =
      ES_EXIT_CAUSED_BY_USER         =
        TABLES
          T_OUTTAB                       = IT_VBAP
       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.                    " ALV_DISPLAY
    *&      Form  SET_PF_STATUS
          text
    FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
      SET PF-STATUS 'STANDARD' EXCLUDING EXTAB.
    ENDFORM.                    "SET_PF_STATUS
    *&      Form  SET_USER_COMMAND
          text
    FORM SET_USER_COMMAND USING R_UCOMM
                                RS_SELFIELD TYPE SLIS_SELFIELD.
      CASE R_UCOMM.
        WHEN 'DC'.
          READ TABLE IT_VBAP INDEX RS_SELFIELD-TABINDEX.
          IF SY-SUBRC = 0.
            SELECT SINGLE MTART
                          FROM MARA
                          INTO V_MTART
                          WHERE MATNR = IT_VBAP-MATNR.
            IF SY-SUBRC <> 0.
       MESSAGE E000 WITH 'NO MATERIAL DESCRIPTION FOR SELECTED MATERIAL NO'.
            ELSE.
              WRITE :/ 'MATERIAL NO :',IT_VBAP-MATNR.
              WRITE :/ 'MATERIAL TYPE :' , V_MTART.
      SUBMIT SLIS_DUMMY WITH P_MATNR EQ IT_VBAP-MATNR
                        WITH P_MTART EQ V_MTART.
            ENDIF.
          ENDIF.
        WHEN 'BACK'.
          LEAVE TO SCREEN 0.
        WHEN 'EXIT'.
          LEAVE TO SCREEN 0.
        WHEN 'CLOSE'.
          CALL TRANSACTION 'SE38'.
      ENDCASE.
    plz reward if useful

  • Need help to log off iTunes - the tab with the current Apple-iD is "greyed" out.

    Need help to log off iTunes -> the tab with the current Apple-iD is "greyed" out. Can anyone help me?

    Do you have Restrictions turned on?

  • Help needed to display my form,very urgent

    i have a Main.java to display my tabs, then a PlayerTab.java which contains all the buttons, Create, Update, Delete and View and a CreatePanel.java which contain the form for adding new members.
    The flow is like this when user click on the PlayerTab it will show the 4 buttons.Then when user click on the Create button, i want to show the create panel which contains the form which is inside CreatePanel.java.Then click on other buttons will show other forms. Please teach me how to hide the forms too thanks.
    Main.java
    import java.awt.Color;
    import java.awt.Container;
    import java.awt.Dimension;
    import java.awt.Image;
    import java.awt.Graphics;
    import java.awt.Toolkit;
    import javax.swing.BorderFactory;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JPanel;
    import javax.swing.JTabbedPane;
    public class Main extends JFrame {
         // Constructor
         public Main(){
              setSize(800,600);
              setTitle("S-League Management System");
              setResizable(false);
              setVisible(true);
              Container frame=getContentPane();
              //centralise the screen
              Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
              Dimension frameSize = frame.getSize();
              frame.setLocation((screenSize.width - frameSize.width) / 2,
                   (screenSize.height - frameSize.height) / 2);
              // create new tabbedPane object
              JTabbedPane tabbedPane = new JTabbedPane(){
                   ImageIcon imageIcon = new ImageIcon("");
                   Image image = imageIcon.getImage();
                   public void paintComponent (Graphics g) {
                        g.setColor(new Color(220,220,220));
                        g.fillRect(0,0,800,74);
                        g.drawImage(image, 0, 4, this);
                        super.paintComponent(g);
              //tabbedPane.addTab(" Team Management ", null, new TeamTab());
              tabbedPane.addTab(" Player Registration ",null, new PlayerTab());
              //tabbedPane.setSelectedIndex(1);
              tabbedPane.setBorder(BorderFactory.createEmptyBorder(78,0,0,0));
              frame.add(tabbedPane);
         public static void main(String[] args) {
              Main main = new Main();
              main.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
              main.toFront();
              main.show();     
    PlayerTab.java
    import javax.swing.*;
    import java.awt.*;
    import java.awt.event.*;
    public class PlayerTab extends JPanel implements ActionListener{
         //JPanel mainPanel = new JPanel();
         JButton createbutton = new JButton("Create");
         JButton updateButton = new JButton("Update");
         JButton deleteButton = new JButton("Delete");
         JButton viewButton = new JButton("View");
         public PlayerTab() {
              this.setLayout(null);
              createbutton.setBounds(new Rectangle(10, 16, 79, 27));
              updateButton.setBounds(new Rectangle(10, 64, 79, 27));
              deleteButton.setBounds(new Rectangle(10, 113, 79, 27));
              viewButton.setBounds(new Rectangle(10, 161, 79, 27));
              this.add(createbutton, null);
              createbutton.addActionListener(this);
              this.add(updateButton, null);
              updateButton.addActionListener(this);
              this.add(deleteButton, null);
              deleteButton.addActionListener(this);
              this.add(viewButton, null);
              viewButton.addActionListener(this);
         public void actionPerformed(ActionEvent e)
              String cmd = e.getActionCommand();     
              if ("Create".equals(cmd))     
                   JPanel createPanel = new CreatePanel();
                   createPanel.show();
              }//close of if
         }//close of action perform
    CreatePanel.java
    import java.awt.*;
    import javax.swing.*;
    public class CreatePanel extends JPanel {
         JPanel createPanel = new JPanel();
         JLabel jLabel1 = new JLabel();
         JLabel jLabel2 = new JLabel();
         JLabel jLabel3 = new JLabel();
         JLabel jLabel4 = new JLabel();
         JLabel jLabel5 = new JLabel();
         JLabel jLabel6 = new JLabel();
         JLabel jLabel7 = new JLabel();
         JLabel jLabel8 = new JLabel();
         JLabel jLabel9 = new JLabel();
         JTextField nricNo = new JTextField();
         JTextField name = new JTextField();
         JRadioButton singleRadio = new JRadioButton();
         JRadioButton marriedRadio = new JRadioButton();
         JRadioButton divorcedRadio = new JRadioButton();
         JComboBox position = new JComboBox();
         JComboBox team = new JComboBox();
         JTextField address = new JTextField();
         JTextField salary = new JTextField();
         JTextField contactNo = new JTextField();
         JTextField dob = new JTextField();
         JButton submitButton = new JButton();
         JButton clearButton = new JButton();
         JButton retrieveButton = new JButton();
         public CreatePanel() {
              createPanel.setBounds(new Rectangle(108, 10, 690, 472));
              createPanel.setLayout(null);
              jLabel1.setText("NRIC:");
              jLabel1.setBounds(new Rectangle(14, 6, 41, 17));
              jLabel2.setText("Name:");
              jLabel2.setBounds(new Rectangle(14, 48, 41, 17));
              jLabel3.setText("Address:");
              jLabel3.setBounds(new Rectangle(14, 90, 57, 17));
              jLabel4.setText("Salary:");
              jLabel4.setBounds(new Rectangle(14, 132, 41, 17));
              jLabel5.setText("Contact No:");
              jLabel5.setBounds(new Rectangle(14, 174, 68, 17));
              jLabel6.setText("Marital Status:");
              jLabel6.setBounds(new Rectangle(14, 216, 83, 17));
              jLabel7.setText("Position:");
              jLabel7.setBounds(new Rectangle(14, 258, 58, 17));
              jLabel8.setText("D.O.B:");
              jLabel8.setBounds(new Rectangle(14, 300, 41, 17));
              jLabel9.setText("Team:");
              jLabel9.setBounds(new Rectangle(14, 342, 41, 17));
              nricNo.setText("jTextField1");
              nricNo.setBounds(new Rectangle(101, 3, 63, 21));
              name.setText("jTextField2");
              name.setBounds(new Rectangle(101, 44, 63, 21));
              singleRadio.setSelected(true);
              singleRadio.setText("Single");
              singleRadio.setBounds(new Rectangle(102, 210, 103, 25));
              marriedRadio.setText("Married");
              marriedRadio.setBounds(new Rectangle(221, 210, 103, 25));
              divorcedRadio.setText("Divorced");
              divorcedRadio.setBounds(new Rectangle(340, 210, 103, 25));
              position.setBounds(new Rectangle(102, 256, 128, 24));
              team.setBounds(new Rectangle(102, 337, 128, 24));
              address.setText("jTextField3");
              address.setBounds(new Rectangle(101, 87, 63, 21));
              salary.setText("jTextField4");
              salary.setBounds(new Rectangle(101, 130, 63, 21));
              contactNo.setText("jTextField5");
              contactNo.setBounds(new Rectangle(101, 171, 63, 21));
              dob.setText("jTextField6");
              dob.setBounds(new Rectangle(103, 299, 63, 21));
              submitButton.setText("Submit");
              submitButton.setBounds(new Rectangle(114, 409, 79, 27));
              clearButton.setText("Clear");
              clearButton.setBounds(new Rectangle(332, 409, 79, 27));
              retrieveButton.setText("Retrieve");
              retrieveButton.setBounds(new Rectangle(356, 0, 105, 27));
              createPanel.add(clearButton, null);
              createPanel.add(submitButton, null);
              createPanel.add(jLabel1, null);
              createPanel.add(nricNo, null);
              createPanel.add(jLabel2, null);
              createPanel.add(name, null);
              createPanel.add(jLabel3, null);
              createPanel.add(address, null);
              createPanel.add(jLabel4, null);
              createPanel.add(salary, null);
              createPanel.add(jLabel5, null);
              createPanel.add(contactNo, null);
              createPanel.add(jLabel6, null);
              createPanel.add(singleRadio, null);
              createPanel.add(marriedRadio, null);
              createPanel.add(divorcedRadio, null);
              createPanel.add(jLabel7, null);
              createPanel.add(position, null);
              createPanel.add(jLabel8, null);
              createPanel.add(dob, null);
              createPanel.add(jLabel9, null);
              createPanel.add(team, null);
              createPanel.add(retrieveButton, null);
              add(createPanel);

    1. make createPanel an instance variable
    public class PlayerTab extends JPanel implements
    ActionListener{JPanel createPanel = null;
    2. consistent with how you are coding, add the panel,
    public void actionPerformed(ActionEvent e)
    String cmd = e.getActionCommand();
    if ("Create".equals(cmd))
    {if( null == createPanel ) {
    createPanel = new CreatePanel();
    createPanel.setBounds( 20, 16, 300, 300 );
    add( createPanel, null );
    createPanel.show();
    }//close of ifyou can also search for the specific panel, remove and then add a new instance rather then reusing the same createPanel once it is instantiated.

  • The icons for the Personas Plus and Video Download Helper extensions are not displaying on a fresh install of Firefox 3.6.12

    I had to do a complete uninstall and reinstall of my up-t0-date Firefox due to another problem (it would only open one window), but after reinstalling my extensions, their icons were not displaying.
    I uninstalled and reinstalled again, but the Personas Plus fox will not display in the status bar, and the Video Download Helper icon will not display in the Navigation toolbar, and is not available in the Customize Toolbars menu.
    These extensions worked fine before. What's wrong now?

    You need to set options in those add-ons and/or use Customize Toolbars. Always look at instructions on each add-on's page at https://addons.mozilla.org/ ,
    -search for and locate the add-on,
    -open the page for that add-on,
    -review the information there,
    -then visit and bookmark the developer's home page shown on the add-on page; many add-on developers also have a forum for questions, so look for a link on the developer's home page.
    Most questions can be answered in one of those places.
    <u>'''ABP'''</u>: Tools > Add-ons > Extensions, locate and click on ABP, click Options, in ABP interface, click on Options tab, if no check mark at "Show in toolbar" or "Show in status bar", you can click on each of those items to place a check mark and they will show in one or both places. On the add-ons page https://addons.mozilla.org/ visit and bookmark the developer's home page and forum.
    <u>'''NoScript'''</u>
    '''''For the toolbar''''': scroll down on the following to the paragraph in the first section beginning with "A set of toolbar buttons is also provided:" and read that section: http://noscript.net/features#basics . It gives instructions on using the Customize Toolbar function to place the icon on your toolbar. Also see:
    ''' [[Back and forward or other toolbar buttons are missing]]'''
    '''[[Navigation Toolbar items]]'''
    '''[http://support.mozilla.com/en-US/kb/How+to+customize+the+toolbar How to customize the toolbar]'''
    '''''For the Status Bar''''': Tools > Add-ons > Extensions, locate and click on NoScript, click Options, click Advanced tab, check your preferences; see 4th image on: http://noscript.net/screenshots
    <u>'''IE Tab 2'''</u>: Tools > Add-ons > Extensions, locate and click on IE Tab 2, look under "Image Gallery", 3rd row, 1st image: https://addons.mozilla.org/en-US/firefox/addon/92382/ . Unfortunately, this developer has moved his home page and not updated the add-ons page. I use IE Tab Plus (formerly Coral IE Tab).

  • Disable for adding or changing in Component or Operation Tab

    Dear Expert,
             Module PM ::: I got an requirment form customer that they need to disable the field for adding or changing in Component or Operation Tab after maintenace order has a status as REL. Could you please find out the solution for me?
    Thank you in advance
    Gamez

    Hi,
          1. U may try to LOCK the Maintenance Order for changes once its status is release , so u should do changes via User exit :-
    IWO10002  -> PM maintenance order: Customer check for order release
    U can read status using FM STATUS_READ
    2. U can also check if BADI :- IWO1_SCREEN_MODIFY Field Content and Display Modification is helpful for ur case ..
    regrds
    pushpa

  • Websites Display Wrong

    Not all but some websites are displaying wrong. This happens with other browsers also and it is also happening to me on the itunes store. Instead of seeing the webpage content on the page like it is normally seen, I see text running down the left side of the screen on the page. Most images are not there, but some are. Here is a little portion of what I see from MSN's website:
    Bing: Track Storm Alex | Bing: US obesity rates still rising
    News
    Health News
    Local News
    MSNBC TV
    Politics
    Tech & Science
    Today Show
    US News
    Video
    Weather
    World News
    Entertainment
    Celebrities
    Comedy
    Entertainment News
    Games
    Movies
    Music
    New on DVD
    TV
    Video
    Sports
    Golf
    MLB
    What do I need to do to fix this? I can't figure it out! I have tried changing the viewing setting and it doesn't work. Please help!

    HI and welcome to Apple Discussions...
    First, make sure Safari isn't running in Rosetta. Right or control click the Safari icon in your Applications folder then click Get Info. In the Get Info window click the black disclosure triangle so it faces down. Where you see Open using Rosetta... make sure that is NOT selected.
    Relaunch Safari. See if that made a difference, if not...
    From the Safari Menu Bar, click Safari / Reset Safari. Select the top 5 buttons and click Reset. Relaunch Safari. if that didn't help, try troubleshooting the Safari .plist file.
    Go to the Safari Menu Bar, click Safari/Preferences. Make note of all the preferences under each tab. Quit Safari. Now go to ~/Library/Preferences and move this file com.apple.safari.plist to the Desktop.
    Relaunch Safari and see if that makes a difference. If not, move the .plist file back to the Preferences folder. If Safari functions as it should, move that .plist file to the Trash.
    And repair disk permissions...
    Launch Disk Utility. (Applications/Utilities) Select MacintoshHD in the panel on the left, select the FirstAid tab. Click: Repair Disk Permissions. When it's finished from the Menu Bar, Quit Disk Utility and restart your Mac. If you see a long list of "messages" in the permissions window, it's ok. That can be ignored. As long as you see, "Permissions Repair Complete" when it's finished... you're done. Quit Disk Utility and restart your Mac.
    If nothing above has helped, go to ~/LIbrary/Caches/com.apple.Safari and move the "cache.db" file to the Trash. Relaunch Safari. ~ (Tilde) represents your Home Folder.
    Carolyn

  • Help needed for grouping.

    Hi,
        Help needed .
    I have an internal table having 6 .
    Ex :
    f1     f2    f3     f4    f5    f6
    a     aa    11    p1  10    10
    a     aa    12    p1  20    20
    b     aa    11    p2  30    30
    b     aa    12    p2  40    30
    Now i want to sum the fields f5 and f6 individually and need to display based upon the fields f1 and f4.
    To Display :
    f1     f2    f3     f4    f5    f6
    a     aa    11    p1  30    30.
    b     aa    11    p2  70    60.
    can anyone help me.How to do this..?
    Thanks

    Here you go
    DATA:
      BEGIN OF cur_tab OCCURS 0,
        f1        TYPE c,
        f2(2)     TYPE c,
        f3(2)     TYPE c,
        f4(2)     TYPE c,
        f5(2)     TYPE c,
        f6(2)     TYPE n,
      END OF cur_tab.
    DATA:
      BEGIN OF sum_tab OCCURS 0,
        f1        TYPE c,
        f4(2)     TYPE c,
        f5        TYPE p,
        f6        TYPE p,
      END OF sum_tab.
    DATA:
      BEGIN OF final_tab OCCURS 0,
        f1        TYPE c,
        f2(2)     TYPE c,
        f3(2)     TYPE c,
        f4(2)     TYPE c,
        f5(5)     TYPE c,
        f6(5)     TYPE c,
      END OF final_tab.
    START-OF-SELECTION.
      cur_tab-f1 = 'a'.
      cur_tab-f2 = 'aa'.
      cur_tab-f3 = '11'.
      cur_tab-f4 = 'p1'.
      cur_tab-f5 = '10'.
      cur_tab-f6 = '10'.
      APPEND cur_tab.
      cur_tab-f1 = 'a'.
      cur_tab-f2 = 'aa'.
      cur_tab-f3 = '11'.
      cur_tab-f4 = 'p1'.
      cur_tab-f5 = '20'.
      cur_tab-f6 = '20'.
      APPEND cur_tab.
      cur_tab-f1 = 'b'.
      cur_tab-f2 = 'aa'.
      cur_tab-f3 = '11'.
      cur_tab-f4 = 'p2'.
      cur_tab-f5 = '30'.
      cur_tab-f6 = '30'.
      APPEND cur_tab.
      cur_tab-f1 = 'b'.
      cur_tab-f2 = 'aa'.
      cur_tab-f3 = '11'.
      cur_tab-f4 = 'p2'.
      cur_tab-f5 = '40'.
      cur_tab-f6 = '30'.
      APPEND cur_tab.
      LOOP AT cur_tab.
        MOVE-CORRESPONDING cur_tab TO sum_tab.
        COLLECT sum_tab.
      ENDLOOP.
      LOOP AT sum_tab.
        READ TABLE cur_tab WITH KEY f1 = sum_tab-f1
                                    f4 = sum_tab-f4.
        IF sy-subrc NE 0.
          WRITE:/ 'Something went very wrong'.
          CONTINUE.
        ENDIF.
        MOVE-CORRESPONDING cur_tab TO final_tab.
        MOVE-CORRESPONDING sum_tab TO final_tab.
        APPEND final_tab.
      ENDLOOP.
      LOOP AT final_tab.
        WRITE:/1 final_tab-f1,
              AT 5 final_tab-f2,
              AT 10 final_tab-f3,
              AT 15 final_tab-f4,
              AT 20 final_tab-f5,
              AT 25 final_tab-f6.
      ENDLOOP.
    and the output
    a   aa   11   p1     30   30  
    b   aa   11   p2     70   60  

Maybe you are looking for