How to display 2 list regions in one line side by side?

Hi,
I've created 2 list regions and a breadcrumb reagion.
The breadcrumb region should be displayed on the left hand side, the 2 list regions should be displayed in the same line, side by side on the right hand side of the page.
All 3 are to be displayed in Region Position 1.
To one list reagion a few buttons are assigned as well.
If I now set the display point of both list regions to 'Page Template Region Position 1' the page structure breaks and the items of the one region dsiplayed not side by side but among each other.
Any hints what is goin' wrong here?
Thank you!!!

orig sample
orig page template
result1
test page template
sry :-(

Similar Messages

  • How to display text on last but one page in SAPSCRIPTS

    how to display text on last but one page in SAPSCRIPTS

    u have create one Foooter window , this has to be called in  only One Page.So hardcode /assign this window to only one PAGE number.
    regards
    Prabhu

  • How to display text on last but one page

    how to display text on last but one page

    Hi Preeti,
      If u r working on a smartform then click on th window go to the condition tab there
      at the end u will find events click on the the event on which u want to trigger the 
      print.
      If u r working on a script then create a text element and call this text elemtn at
    the end of processing of the main window, this will make sure that thetext element
    is triggered only at the end.
    I hope that helps u , if not pls let me know.
    Regards,
    Vaibhav B Gawali.

  • How to display Column List (Search Bar - Do Not Display) in Ascending Order

    Hi,
    I am having a Interactive Report..
    In the Search Bar we have Select Columns, under that we have Do Not Display.
    where all the columns (currently not displayed) are listed.
    How can we display these columns in Ascending order
    Thanks,
    Deepak

    Do you want to display these columns in the IR?
    If yes. Select the column you want to display and click the the '>'.
    In the interactive report regions - source, where you have your query to select the columns use order by to sort them in assn order.
    Do you want to keep these columns as 'Do not display' and have them in assn order there?
    Select all columns to display and move the columns back to the 'Do not display' region one by one making selections in assn order.
    Or in the query select the columns in the order desired.
    I don't know if I am helping. I fell like I got your question all wrong. Still...
    Edited by: machan on Dec 11, 2009 11:01 AM

  • 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;

  • How to display the dynamic region in full size

    Hi,
    I'm not able to display the dynamic region in full size.
    In my page, i attached a dynamic region which refers a page fragment. This dynamic region contents are showing as small (scroll is there but i want to display fully).
    How to do this?
    Thanks in advance,
    Sundar

    More than likely it has something to do with your parent layout element. I'd suggest putting your region in an af:panelStretchLayout or similar container that stretches its children. Some of the elements can be a little tricky though, such as af:panelTabbed. It has an attribute that must be set to stretch its first child.

  • How to display Call list Large view as the initial view dynamically.

    My requiremet is that 
    1) User chooses a call list -> then clicks display calls -> then clicks Calls Full view
    Now ClmCallListDetailsLarge View is displayed
    2) Now the user chooses a call and then prceeds to Account confirmation, Interaction Record and then ends the call.
    3) Now when the Call list is choosen from navigation bar Available 'ClmAvailbleCallLists' View is displayed, but the requirement is to display 'ClmCallListDetailsLarge' view.
    4) There is some standard code related to this in 'DO_REPLACE_INITIAL_VIEW' method of the window controller. but this method is not getting triggered at all.
    Please let me know how this can be achieved

    Thanks for idea.
    Assume I stored my data in a List of HashMap.
    Could you provide an example of JSTL for displaying this list?

  • How to display several axis systems in one sheet

    Hi all,
    I want to use diadem script to display 4 axis systems in one sheet (top left, top right, bottom left and bottom right). Each system contains one curve. I have no idea which script command should I use. Would you like to give me some hints? Do I need to use the variable like "D2AxisLeft" ?
    Thanks in advance
    Kind regards
    Zhiyao

    Hi Zhiyao,
    I would recommend that you manually place 4 axis systems onto your REPORT sheet, in the orientation you prefer, then save this configuration as a *.TDR file, then programmatically load that *.TDR file with the PicLoad() command, followed with the PicUpdate() command.  Ideally you would also configure each of the axis systems with one curve on them that pulls data from the correct group/channel names in the Data Portal, so that loading the *.TDR file will give you exactly the report you want with just those 2 script commands.
    Please specify if you need to accomplish more than this programmatically,
    Brad Turpin
    DIAdem Product Support Engineer
    National Instruments

  • How to display two different parts of one image in two windows?

    hi everyone:) i need to display two different parts of one image in two windows. i have problem with displaying :/ because after creating windows there aren't any images :( i supose my initialization code of creating windows is incomplete, maybe i miss something or maybe there is some inconistency. graphics in java is not my strong position. complete code is below. can anybody help me?
    import java.awt.*;
    import java.awt.event.*;
    import java.awt.image.*;
    import java.io.*;
    import javax.imageio.*;
    import javax.swing.*;
    import java.util.*;
    class ImgFrame extends JFrame
           private BufferedImage img;
           ImgFrame(BufferedImage B_Img, int x, int y, int w, int h)
                   super("d");
                   img=new BufferedImage(w,h,BufferedImage.TYPE_INT_RGB);
                   img=B_Img.getSubimage(x, y, w, h);
           }//end ImgFrame construction
           public void paint(Graphics g)
                   Graphics2D g2D = (Graphics2D)g;
                   g.drawImage(img, 8, 8, null);
           }//end paint method
           public Dimension getPrefferedSize()
                   if(img==null)
                           return(new Dimension(100,100));
                   else
                           return(new Dimension(img.getWidth(null),img.getHeight(null)));
           }//end of GetPrefferedSize method
    }//end ImgFrame class
    public class TestGraph2D_03 extends Component
           static BufferedImage IMG;
           public static void Load()
                   try
                           IMG=ImageIO.read(new File("c:/test.bmp"));
                   catch(IOException ioe)
                           System.out.println("an exception: "+ioe);
                   }//end try catch
           }//end TestGraph2D_03 construction
           public static void main(String[] args)
                   Load();
                   ImgFrame F1 = new ImgFrame(IMG, 0, 0, 8, 8);
                   ImgFrame F2 = new ImgFrame(IMG, 8, 8, 8, 8);
                   F1.addWindowListener(new WindowAdapter()
                           public void windowClosing(WindowEvent e)
                                   System.exit(0);
                   F1.pack();
                   F1.setVisible(true);
                   F2.addWindowListener(new WindowAdapter()
                           public void windowClosing(WindowEvent e)
                                   System.exit(0);
                   F2.pack();
                   F2.setVisible(true);
           }//end of main method in TestGraph2D_01 class
    }//end of TestGraph2D_03 class

    Never override the paint(...) method of a Swing component.
    If you have a sub image then add the image to a JLabel and add the label to the GUI. No need for custom painting.

  • How to display second list under an alv already displayed

    hi
    I have a list being displayed using grid control...i need to display anotehr list data below the first list please suggest?
    block list display will not have sorted and all functinality ? do i need touse block list display function module??
    regards
    arora

    Hi Arora Nishant,
    REUSE_ALV_BLOCK_LIST_INIT
    then
    REUSE_ALV_BLOCK_LIST_APPEND " for each fieldcat
    create two diff fieldcate for both alv output and use this FM for each fieldcat to append it in output..
    it's having sorting Functionality as well as export functionalities... etc etc..
    then
    REUSE_ALV_BLOCK_LIST_DISPLAY
    Done..
    See below example...
    REPORT ZILESH_ALV3 LINE-COUNT 100 .
    **& tables declaration
    TABLES: MARA.
    **& type-pools declaration
    TYPE-POOLS: SLIS.
    **& data declaration
    DATA: G_REPID TYPE SY-REPID.
    DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, "mara
    WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA : IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV, "makt
    WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.
    DATA : IT_FIELDCAT2 TYPE SLIS_T_FIELDCAT_ALV, "marc
    WA_FIELDCAT2 TYPE SLIS_FIELDCAT_ALV.
    DATA: GT_PRINT TYPE SLIS_PRINT_ALV,
    WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
    XS_EVENT TYPE SLIS_ALV_EVENT,
    GT_XEVENTS TYPE SLIS_T_EVENT,
    GT_YEVENTS TYPE SLIS_T_EVENT,
    GT_ZEVENTS TYPE SLIS_T_EVENT,
    WA_SORT TYPE SLIS_SORTINFO_ALV,
    IT_SORT TYPE SLIS_T_SORTINFO_ALV.
    DATA: BEGIN OF IT_MARA OCCURS 0,
    MATNR LIKE MARA-MATNR,
    MTART LIKE MARA-MTART,
    MATKL LIKE MARA-MATKL,
    MEINS LIKE MARA-MEINS,
    NTGEW LIKE MARA-NTGEW,
    END OF IT_MARA.
    DATA: BEGIN OF IT_MAKT OCCURS 0,
    MATNR LIKE MAKT-MATNR,
    SPRAS LIKE MAKT-SPRAS,
    MAKTX LIKE MAKT-MAKTX,
    MAKTG LIKE MAKT-MAKTG,
    END OF IT_MAKT.
    DATA: BEGIN OF IT_MARC OCCURS 0,
    MATNR LIKE MARC-MATNR,
    WERKS LIKE MARC-WERKS,
    LADGR LIKE MARC-LADGR,
    MTVFP LIKE MARC-MTVFP,
    DISPR LIKE MARC-DISPR,
    DISMM LIKE MARC-DISMM,
    DISPO LIKE MARC-DISPO,
    END OF IT_MARC.
    **& initialisation
    INITIALIZATION.
      G_REPID = SY-REPID.
    **& selection screen
      SELECTION-SCREEN BEGIN OF BLOCK B WITH FRAME TITLE TEXT-001.
      SELECT-OPTIONS: S_MATNR FOR MARA-MATNR,
      S_MTART FOR MARA-MTART.
      SELECTION-SCREEN END OF BLOCK B.
    **& start of selection
    START-OF-SELECTION.
      PERFORM GET_MARADETAILS.
      PERFORM GET_MAKTDETAILS.
      PERFORM GET_MARCDETAILS.
    **& Form get_maradetails
    *text
    *--> p1 text
    *<-- p2 text
    FORM GET_MARADETAILS .
      SELECT MATNR
      MTART
      MATKL
      MEINS
      NTGEW FROM MARA
      INTO TABLE IT_MARA
      WHERE MATNR IN S_MATNR AND
      MTART IN S_MTART.
    ENDFORM. " get_maradetails
    **& Form get_maktdetails
    *text
    *--> p1 text
    *<-- p2 text
    FORM GET_MAKTDETAILS .
      SELECT MATNR
      SPRAS
      MAKTX
      MAKTG FROM MAKT INTO TABLE IT_MAKT
      FOR ALL ENTRIES IN IT_MARA
      WHERE MATNR = IT_MARA-MATNR..
    ENDFORM. " get_maktdetails
    **& Form get_marcdetails
    *text
    *--> p1 text
    *<-- p2 text
    FORM GET_MARCDETAILS .
      SELECT MATNR
      WERKS
      LADGR
      MTVFP
      DISPR
      DISMM
      DISPO FROM MARC
      INTO TABLE IT_MARC
      FOR ALL ENTRIES IN IT_MARA
      WHERE MATNR = IT_MARA-MATNR.
    ENDFORM. " get_marcdetails
    **& end of selection
    END-OF-SELECTION.
      PERFORM SORT_LIST.
      PERFORM MODIFY_FIELDCAT.
      PERFORM EVENT_LIST.
      PERFORM BLOCK_LIST.
    **& Form modify_fieldcat
    *text
    *--> p1 text
    *<-- p2 text
    FORM MODIFY_FIELDCAT .
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-FIELDNAME = 'MATNR'.
      WA_FIELDCAT-TABNAME = 'IT_MARA'.
      WA_FIELDCAT-SELTEXT_L = 'MATERIAL NUM'.
      WA_FIELDCAT-COL_POS = 1.
      WA_FIELDCAT-OUTPUTLEN = 18.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-FIELDNAME = 'MTART'.
      WA_FIELDCAT-TABNAME = 'IT_MARA'.
      WA_FIELDCAT-SELTEXT_L = 'MAT TYPE'.
      WA_FIELDCAT-COL_POS = 2.
      WA_FIELDCAT-OUTPUTLEN = 5.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-FIELDNAME = 'MATKL'.
      WA_FIELDCAT-TABNAME = 'IT_MARA'.
      WA_FIELDCAT-SELTEXT_L = 'MAT GROUP'.
      WA_FIELDCAT-COL_POS = 3.
      WA_FIELDCAT-OUTPUTLEN = 10.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-FIELDNAME = 'MEINS'.
      WA_FIELDCAT-TABNAME = 'IT_MARA'.
      WA_FIELDCAT-SELTEXT_L = 'UNIT'.
      WA_FIELDCAT-COL_POS = 4.
      WA_FIELDCAT-OUTPUTLEN = 5.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      WA_FIELDCAT-FIELDNAME = 'NTGEW'.
      WA_FIELDCAT-TABNAME = 'IT_MARA'.
      WA_FIELDCAT-DO_SUM = 'X'.
      WA_FIELDCAT-SELTEXT_L = 'QUANTITY'.
      WA_FIELDCAT-COL_POS = 5.
      WA_FIELDCAT-OUTPUTLEN = 15.
      APPEND WA_FIELDCAT TO IT_FIELDCAT.
      CLEAR WA_FIELDCAT.
      CLEAR WA_FIELDCAT1.
      WA_FIELDCAT1-FIELDNAME = 'MATNR'.
      WA_FIELDCAT1-TABNAME = 'IT_MAKT'.
      WA_FIELDCAT1-SELTEXT_L = 'MATERIAL NUM'.
      WA_FIELDCAT1-COL_POS = 1.
      WA_FIELDCAT1-OUTPUTLEN = 18.
      APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
      CLEAR WA_FIELDCAT1.
      WA_FIELDCAT1-FIELDNAME = 'SPRAS'.
      WA_FIELDCAT1-TABNAME = 'IT_MAKT'.
      WA_FIELDCAT1-SELTEXT_L = 'LANGUAGE'.
      WA_FIELDCAT1-COL_POS = 2.
      WA_FIELDCAT1-OUTPUTLEN = 2.
      APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
      CLEAR WA_FIELDCAT1.
      WA_FIELDCAT1-FIELDNAME = 'MAKTX'.
      WA_FIELDCAT1-TABNAME = 'IT_MAKT'.
      WA_FIELDCAT1-SELTEXT_L = 'MAT DESC'.
      WA_FIELDCAT1-COL_POS = 3.
      WA_FIELDCAT1-OUTPUTLEN = 40.
      APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
      CLEAR WA_FIELDCAT1.
      WA_FIELDCAT1-FIELDNAME = 'MAKTG'.
      WA_FIELDCAT1-TABNAME = 'IT_MAKT'.
      WA_FIELDCAT1-SELTEXT_L = 'GRP DESC'.
      WA_FIELDCAT1-COL_POS = 4.
      WA_FIELDCAT1-OUTPUTLEN = 40.
      APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
      CLEAR WA_FIELDCAT1.
      CLEAR WA_FIELDCAT2.
      WA_FIELDCAT2-FIELDNAME = 'MATNR'.
      WA_FIELDCAT2-TABNAME = 'IT_MARC'.
      WA_FIELDCAT2-SELTEXT_L = 'MATERIAL NUM'.
      WA_FIELDCAT2-COL_POS = 1.
      WA_FIELDCAT2-OUTPUTLEN = 18.
      APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
      CLEAR WA_FIELDCAT2.
      WA_FIELDCAT2-FIELDNAME = 'WERKS'.
      WA_FIELDCAT2-TABNAME = 'IT_MARC'.
      WA_FIELDCAT2-SELTEXT_L = 'PLANT'.
      WA_FIELDCAT2-COL_POS = 2.
      WA_FIELDCAT2-OUTPUTLEN = 4.
      APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
      CLEAR WA_FIELDCAT2.
      WA_FIELDCAT2-FIELDNAME = 'LADGR'.
      WA_FIELDCAT2-TABNAME = 'IT_MARC'.
      WA_FIELDCAT2-SELTEXT_L = 'LOAD GRP'.
      WA_FIELDCAT2-COL_POS = 3.
      WA_FIELDCAT2-OUTPUTLEN = 4.
      APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
      CLEAR WA_FIELDCAT2.
      WA_FIELDCAT2-FIELDNAME = 'MTVFP'.
      WA_FIELDCAT2-TABNAME = 'IT_MARC'.
      WA_FIELDCAT2-SELTEXT_L = 'GRP CHK'.
      WA_FIELDCAT2-COL_POS = 4.
      WA_FIELDCAT2-OUTPUTLEN = 4.
      APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
      CLEAR WA_FIELDCAT2.
      WA_FIELDCAT2-FIELDNAME = 'DISPR'.
      WA_FIELDCAT2-TABNAME = 'IT_MARC'.
      WA_FIELDCAT2-SELTEXT_L = 'MRP PROFILE'.
      WA_FIELDCAT2-COL_POS = 5.
      WA_FIELDCAT2-OUTPUTLEN = 4.
      APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
      CLEAR WA_FIELDCAT2.
      WA_FIELDCAT2-FIELDNAME = 'DISMM'.
      WA_FIELDCAT2-TABNAME = 'IT_MARC'.
      WA_FIELDCAT2-SELTEXT_L = 'MRP TYPE'.
      WA_FIELDCAT2-COL_POS = 6.
      WA_FIELDCAT2-OUTPUTLEN = 4.
      APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
      CLEAR WA_FIELDCAT2.
      WA_FIELDCAT2-FIELDNAME = 'DISPO'.
      WA_FIELDCAT2-TABNAME = 'IT_MARC'.
      WA_FIELDCAT2-SELTEXT_L = 'MRP CON'.
      WA_FIELDCAT2-COL_POS = 7.
      WA_FIELDCAT2-OUTPUTLEN = 4.
      APPEND WA_FIELDCAT2 TO IT_FIELDCAT2.
      CLEAR WA_FIELDCAT2.
    ENDFORM. " modify_fieldcat
    **& Form BLOCK_LIST
    *text
    *--> p1 text
    *<-- p2 text
    FORM BLOCK_LIST .
      CLEAR WA_LAYOUT.
      WA_LAYOUT-ZEBRA = 'X'.
      WA_LAYOUT-TOTALS_TEXT = 'TOTAL'.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
        EXPORTING
          I_CALLBACK_PROGRAM       = G_REPID
          I_CALLBACK_PF_STATUS_SET = ' '
          I_CALLBACK_USER_COMMAND  = 'user_command'.
    *IT_EXCLUDING =
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
        EXPORTING
          IS_LAYOUT                  = WA_LAYOUT
          IT_FIELDCAT                = IT_FIELDCAT[]
          I_TABNAME                  = 'IT_MARA'
          IT_EVENTS                  = GT_XEVENTS
          IT_SORT                    = IT_SORT
          I_TEXT                     = ' '
        TABLES
          T_OUTTAB                   = IT_MARA
        EXCEPTIONS
          PROGRAM_ERROR              = 1
          MAXIMUM_OF_APPENDS_REACHED = 2
          OTHERS                     = 3.
      IF SY-SUBRC = 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
      EXPORTING
      IS_LAYOUT = WA_LAYOUT
      IT_FIELDCAT = IT_FIELDCAT1
      I_TABNAME = 'IT_MAKT'
      IT_EVENTS = GT_YEVENTS
    *IT_SORT =
      I_TEXT = ' '
      TABLES
      T_OUTTAB = IT_MAKT
      EXCEPTIONS
      PROGRAM_ERROR = 1
      MAXIMUM_OF_APPENDS_REACHED = 2
      OTHERS = 3
      IF SY-SUBRC = 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
      EXPORTING
      IS_LAYOUT = WA_LAYOUT
      IT_FIELDCAT = IT_FIELDCAT2
      I_TABNAME = 'IT_MARC'
      IT_EVENTS = GT_ZEVENTS
    *IT_SORT =
      I_TEXT = ' '
      TABLES
      T_OUTTAB = IT_MARC
      EXCEPTIONS
      PROGRAM_ERROR = 1
      MAXIMUM_OF_APPENDS_REACHED = 2
      OTHERS = 3
      IF SY-SUBRC = 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
      EXPORTING
      I_INTERFACE_CHECK = ' '
      IS_PRINT = GT_PRINT
      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 =
      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. " BLOCK_LIST
    **& Form EVENT_LIST
    *text
    *--> p1 text
    *<-- p2 text
    FORM EVENT_LIST .
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
      XS_EVENT-FORM = 'XTOP_OF_PAGE'.
      APPEND XS_EVENT TO GT_XEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
      XS_EVENT-FORM = 'XEND_OF_PAGE'.
      APPEND XS_EVENT TO GT_XEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
      XS_EVENT-FORM = 'XTOP_OF_LIST'.
      APPEND XS_EVENT TO GT_XEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
      XS_EVENT-FORM = 'XEND_OF_LIST'.
      APPEND XS_EVENT TO GT_XEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
      XS_EVENT-FORM = 'YEND_OF_PAGE'.
      APPEND XS_EVENT TO GT_YEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
      XS_EVENT-FORM = 'YTOP_OF_PAGE'.
      APPEND XS_EVENT TO GT_YEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
      XS_EVENT-FORM = 'YTOP_OF_LIST'.
      APPEND XS_EVENT TO GT_YEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
      XS_EVENT-FORM = 'YEND_OF_LIST'.
      APPEND XS_EVENT TO GT_YEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_END_OF_PAGE.
      XS_EVENT-FORM = 'ZEND_OF_PAGE'.
      APPEND XS_EVENT TO GT_ZEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_TOP_OF_PAGE.
      XS_EVENT-FORM = 'ZTOP_OF_PAGE'.
      APPEND XS_EVENT TO GT_ZEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_TOP_OF_LIST.
      XS_EVENT-FORM = 'ZTOP_OF_LIST'.
      APPEND XS_EVENT TO GT_ZEVENTS.
      CLEAR XS_EVENT.
      XS_EVENT-NAME = SLIS_EV_END_OF_LIST.
      XS_EVENT-FORM = 'ZEND_OF_LIST'.
      APPEND XS_EVENT TO GT_ZEVENTS.
      CLEAR XS_EVENT.
    ENDFORM. " EVENT_LIST
    *&      Form  XTOP_OF_PAGE
    *       text
    FORM XTOP_OF_PAGE.
      WRITE:/ 'TOP OF PAGE FOR MARA'.
    ENDFORM.                    "XTOP_OF_PAGE
    *&      Form  YTOP_OF_PAGE
    *       text
    FORM YTOP_OF_PAGE.
      WRITE:/ 'TOP OF PAGE FOR MAKT'.
    ENDFORM.                    "YTOP_OF_PAGE
    *&      Form  ZTOP_OF_PAGE
    *       text
    FORM ZTOP_OF_PAGE.
      WRITE:/ 'TOP OF PAGE FOR MARC'.
    ENDFORM.                    "ZTOP_OF_PAGE
    *&      Form  XEND_OF_PAGE
    *       text
    FORM XEND_OF_PAGE.
      WRITE:/ 'END OF PAGE FOR MARA'.
    ENDFORM.                    "XEND_OF_PAGE
    *&      Form  YEND_OF_PAGE
    *       text
    FORM YEND_OF_PAGE.
      WRITE:/ 'END OF PAGE FOR MAKT'.
    ENDFORM.                    "YEND_OF_PAGE
    *&      Form  ZEND_OF_PAGE
    *       text
    FORM ZEND_OF_PAGE.
      WRITE:/ 'END OF PAGE FOR MARC'.
    ENDFORM.                    "ZEND_OF_PAGE
    *&      Form  XTOP_OF_LIST
    *       text
    FORM XTOP_OF_LIST.
      WRITE:/ 'TOP OF LIST FOR MARA'.
    ENDFORM.                    "XTOP_OF_LIST
    *&      Form  YTOP_OF_LIST
    *       text
    FORM YTOP_OF_LIST.
      WRITE:/ 'TOP OF LIST FOR MAKT'.
    ENDFORM.                    "YTOP_OF_LIST
    *&      Form  ZTOP_OF_LIST
    *       text
    FORM ZTOP_OF_LIST.
      WRITE:/ 'TOP OF LIST FOR MARC'.
    ENDFORM.                    "ZTOP_OF_LIST
    *&      Form  XEND_OF_LIST
    *       text
    FORM XEND_OF_LIST.
      WRITE:/ 'END OF LIST FOR MARA'.
    ENDFORM.                    "XEND_OF_LIST
    *&      Form  YEND_OF_LIST
    *       text
    FORM YEND_OF_LIST.
      WRITE:/ 'END OF LIST FOR MAKT'.
    ENDFORM.                    "YEND_OF_LIST
    *&      Form  ZEND_OF_LIST
    *       text
    FORM ZEND_OF_LIST.
      WRITE:/ 'END OF LIST FOR MARC'.
    ENDFORM.                    "ZEND_OF_LIST
    **& Form sort_list
    *text
    *--> p1 text
    *<-- p2 text
    FORM SORT_LIST .
      CLEAR WA_SORT.
      WA_SORT-FIELDNAME = 'MTART'.
      WA_SORT-SUBTOT = 'X'.
      APPEND WA_SORT TO IT_SORT.
      CLEAR WA_SORT.
      WA_SORT-FIELDNAME = 'MATKL'.
      WA_SORT-SUBTOT = 'X'.
      APPEND WA_SORT TO IT_SORT.
      CLEAR WA_SORT.
    ENDFORM. " sort_list
    Hope it will solve your problem..
    Thanks & Regards
    ilesh 24x7

  • How to display mutilpe list in a screen ( ALV list)

    Hello,
    Could you please help me the source code sample for displaying many list in an ALV screen (Basic list)
    For example : I 've 2 table with different information.
    Table A  Col A1 col A2 Col A3
    Table B Col B1 B2 B3 B4 B5
    Now I need to display them in only 1 screen like :
    List of record in table A
         Col A1 Col A2 Col A3
    List of record in table B
        B1 B2 B3 B4 B5
    Thanks,

    for this kind of requirement use the LIst ALV.
    The below sample code might help you
    DATA : g_t_print TYPE slis_print_alv.
    Initialize ALV
    CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
        EXPORTING
          i_callback_program = sy-repid.
    ADD first ALC
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
        EXPORTING
          is_layout                  = g_t_layout
          it_fieldcat                 =  g_t_fieldcat[]
          i_tabname                = 'g_t_strans'
          it_events                 = g_t_events_strans
        TABLES
          t_outtab                   = g_t_strans
        EXCEPTIONS
          program_error              = 1
          maximum_of_appends_reached = 2.
      IF sy-subrc NE 0.
        MESSAGE s999 WITH 'Error in ''REUSE_ALV_LIST_DISPLAY'' FM'.
        STOP.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
        EXPORTING
          is_layout                   = g_t_layout
          it_fieldcat                  = g_t_fieldcat[]
          i_tabname                 = 'g_t_sretrev'
          it_events                   = g_t_events_sretrev
        TABLES
          t_outtab                     = g_t_sretrev
        EXCEPTIONS
          program_error              = 1
          maximum_of_appends_reached = 2.
      IF sy-subrc NE 0.
        MESSAGE s999 WITH 'Error in ''REUSE_ALV_LIST_DISPLAY'' FM'.
        STOP.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
        EXPORTING
          is_layout                  = g_t_layout
          it_fieldcat                = g_t_fieldcat[]
          i_tabname                  = 'g_t_stransrev'
          it_events                  = g_t_events_stransrev
        TABLES
          t_outtab                   = g_t_stransrev
        EXCEPTIONS
          program_error              = 1
          maximum_of_appends_reached = 2.
      IF sy-subrc NE 0.
        MESSAGE s999 WITH 'Error in ''REUSE_ALV_LIST_DISPLAY'' FM'.
        STOP.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
        EXPORTING
          is_layout                  = g_t_layout
          it_fieldcat                = g_t_fieldcat[]
          i_tabname                  = 'g_t_sret'
          it_events                  = g_t_events_sret
        TABLES
          t_outtab                   = g_t_sret
        EXCEPTIONS
          program_error              = 1
          maximum_of_appends_reached = 2.
      IF sy-subrc NE 0.
        MESSAGE s999 WITH 'Error in ''REUSE_ALV_LIST_DISPLAY'' FM'.
        STOP.
      ENDIF.
      CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
        EXPORTING
          is_print = g_t_print.

  • How to get Max and Min in one line .

    Hi Guys
    I know the program which I did is stupid .. I am getting the result for max and min value?
    But I how can I get the value of km, h, lit in one line
    Equno..max_date,min_date,min_value_km..max_value_km....min_value_h...max_value_h...min_value_l...max_value_l
    with my program i am getting the vlaue of max and min value but not in one line.
    the main parameter is recdu which is KM,L,H
    Can anyone tell me the logic please
    REPORT ZFUEL LINE-SIZE 200 LINE-COUNT 75
    NO STANDARD PAGE HEADING.
    TABLES : equi,
    equz,
    imptt,
    imrg,
    eqkt,
    iloa.
    Type Declaration
    TYPES: BEGIN OF ty_data ,
    equnr type equnr, " Euipment no
    eqktx type eqkt-eqktx, " Equipment Text
    eqfnr type iloa-eqfnr, " Equipment Sort field
    idate type imrg-idate, " Measuring Date
    recdu type imrg-recdu, " Unit of measuring ='KM','L','H'
    recdv type imrg-recdv, " Counter reading data
    END OF ty_data.
    TYPES: BEGIN OF ty_final,
    equnr type equnr, " Equipment no
    eqktx type eqkt-eqktx, " Equipment Text
    eqfnr type iloa-eqfnr, " Equipment Sort field
    min_date type imrg-idate, " Min Date
    min_km type p decimals 2, " Max Km
    max_km type p decimals 2, " Min km
    t_max_min_km type i, " Total min_km-max_km
    max_date type imrg-idate, " Max Date
    min_hr type imrg-recdv, " Max hr
    max_hr type imrg-recdv, " Min hr
    t_max_min_hr type i, " Total min_hr-max_hr
    min_lit type imrg-recdv, " Max lit
    max_lit type imrg-recdv, " Min lit
    t_max_min_lit type i, " Total min_lit-max_lit
    fuel_con type p decimals 2, " Total_hrs / t_max_min_hr
    km_l type p decimals 2, " km / L
    lit_per_hr type i , " fuel comsumed / t_max_min_hr
    END OF ty_final.
    DATA: i_data TYPE TABLE OF ty_data, " internal table
    wa_data TYPE ty_data, " work area
    i_final TYPE TABLE OF ty_final, " internal table
    wa_final TYPE ty_final. " work area
    data: begin of itab occurs 0,
    num type i,
    end of itab.
    data: v_min_1 type i,
    v_max_1 type i,
    min_km like imrg-recdv,
    max_km like imrg-recdv,
    min_l like imrg-recdv,
    max_l like imrg-recdv,
    max_dt like imrg-idate,
    min_dt like imrg-idate,
    t_ma_mi type p decimals 2,
    V1 LIKE IMRG-RECDV ,
    V2 LIKE IMRG-RECDV .
    SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS: p_equnr FOR equi-equnr ,"no-extension no intervals,
    p_idate FOR imrg-idate. "NO-EXTENSION NO INTERVALS OBLIGATORY,
    "p_recdu FOR imrg-recdu NO-EXTENSION NO INTERVALS default 'KM' OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE text-002.
    SELECTION-SCREEN END OF BLOCK blk2.
    SELECTION-SCREEN END OF BLOCK blk.
    TOP-OF-PAGE.
    FORMAT INTENSIFIED ON.
    WRITE:/1(40) ' INVESTMENT LIMITED '.
    WRITE:/50(40) ' FUEL CONSUMPTION REPORT ' CENTERED ,
    2 'Page', sy-pagno.
    FORMAT INTENSIFIED OFF.
    WRITE:/50(40) '----
    ' CENTERED .
    FORMAT INTENSIFIED ON.
    WRITE:/2 sy-datum COLOR 3, sy-uzeit .
    "WRITE:/1 S903-SPMON ."p_yearf.
    ULINE.
    "CENTERED.
    write: /2 'Date From :'.
    write: /2 'Equipment No :'.
    write: /2 'Unit :'.
    SKIP.
    ULINE.
    WRITE:/1 sy-vline,
    2 'EQUIP NO', 10 sy-vline,
    11 'NAME', 40 sy-vline,
    41 'min date', 50 sy-vline,
    51 'max date', 60 sy-vline,
    61 'min km', 70 sy-vline,
    71 'max km' , 80 sy-vline,
    81 't_max_min_km', 90 sy-vline,
    91 'min hr', 100 sy-vline,
    101 'max hr', 110 sy-vline,
    111 't_max_min_hr' , 120 sy-vline,
    121 'min lit', 130 sy-vline,
    131 'max lit', 140 sy-vline,
    141 't_max_min_lit', 150 sy-vline,
    151 'fuel con', 160 sy-vline,
    161 'km_l', 170 sy-vline,
    171 'lit_per_hr', 180 sy-vline.
    FORMAT COLOR 3 ON.
    ULINE.
    END-OF-PAGE.
    START-OF-SELECTION.
    select aequnr deqktx feqfnr eidate erecdu erecdv
    into table i_data
    from equi AS a
    inner join equz as b
    on aequnr = bequnr
    inner join iloa as f
    on biloan = filoan
    inner join imptt as c
    on aobjnr = cmpobj
    inner join eqkt as d
    on aequnr = dequnr
    inner join imrg as e
    on epoint = cpoint
    where a~equnr in p_equnr
    and
    e~idate in p_idate
    and
    e~recdu = 'KM'.
            SORT i_data BY equnr idate descending .
            loop at i_data into wa_data.
            max_km = wa_data-recdv.
            min_km = wa_data-recdv.
        at new equnr.
            read table i_data into wa_data index sy-tabix.
            write:/ wa_data-equnr, wa_data-eqktx ,wa_data-eqfnr ,wa_data-idate ,'MAX KM',max_km EXPONENT 0 DECIMALS 2 color 7,wa_data-recdu .
        endat.
    at end of equnr.
            read table i_data into wa_data index sy-tabix.
            write:/ wa_data-equnr, wa_data-eqktx ,wa_data-eqfnr ,wa_data-idate ,'MIN KM', min_km EXPONENT 0 DECIMALS 2 color 7, wa_data-recdu .
    endat.
    at end of equnr.
    write: / '----
    write: /50(80) 'Subtotal' COLOR 4 .
    write:/ '----
    endat.
    endloop.
    select aequnr deqktx feqfnr eidate erecdu erecdv
    into table i_data
    from equi AS a
    inner join equz as b
    on aequnr = bequnr
    inner join iloa as f
    on biloan = filoan
    inner join imptt as c
    on aobjnr = cmpobj
    inner join eqkt as d
    on aequnr = dequnr
    inner join imrg as e
    on epoint = cpoint
    where a~equnr in p_equnr
    and
    e~idate in p_idate
    and
    e~recdu = 'L'.
            SORT i_data BY equnr idate descending .
            loop at i_data into wa_data.
            max_km = wa_data-recdv.
            min_km = wa_data-recdv.
        at new equnr.
            read table i_data into wa_data index sy-tabix.
            write:/ wa_data-equnr, wa_data-eqktx ,wa_data-eqfnr ,wa_data-idate ,'MAX LIT',max_km EXPONENT 0 DECIMALS 2 color 7,wa_data-recdu .
        endat.
    at end of equnr.
            read table i_data into wa_data index sy-tabix.
            write:/ wa_data-equnr, wa_data-eqktx ,wa_data-eqfnr ,wa_data-idate ,'MIN LIT', min_km EXPONENT 0 DECIMALS 2 color 7, wa_data-recdu .
    endat.
    at end of equnr.
    write: / '----
    write: /50(80) 'Subtotal' COLOR 4 .
    write:/ '----
    endat.ENDLOOP.
    select aequnr deqktx feqfnr eidate erecdu erecdv
    into table i_data
    from equi AS a
    inner join equz as b
    on aequnr = bequnr
    inner join iloa as f
    on biloan = filoan
    inner join imptt as c
    on aobjnr = cmpobj
    inner join eqkt as d
    on aequnr = dequnr
    inner join imrg as e
    on epoint = cpoint
    where a~equnr in p_equnr
    and
    e~idate in p_idate
    and
    e~recdu = 'H'.
            SORT i_data BY equnr idate descending .
            loop at i_data into wa_data.
            max_km = wa_data-recdv.
            min_km = wa_data-recdv.
        at new equnr.
            read table i_data into wa_data index sy-tabix.
            write:/ wa_data-equnr, wa_data-eqktx ,wa_data-eqfnr ,wa_data-idate ,'MAX H',max_km EXPONENT 0 DECIMALS 2 color 7,wa_data-recdu .
        endat.
    at end of equnr.
            read table i_data into wa_data index sy-tabix.
            write:/ wa_data-equnr, wa_data-eqktx ,wa_data-eqfnr ,wa_data-idate ,'MIN H', min_h EXPONENT 0 DECIMALS 2 color 7, wa_data-recdu .
    endat.
    at end of equnr.
    write: / '----
    write: /50(80) 'Subtotal' COLOR 4 .
    write:/ '----
    endat.
    endloop.

    Hi Guys
    How can I split the max and min value with if condition for KM L AND H as below
    I am getting the km value correctly but rest fields for L and H (lit and hours) it is not ?
    Please comment.
    *APPEND wa_data to i_data.
            SORT i_data BY equnr idate descending .
            loop at i_data into wa_data.
            if wa_data-recdu = 'KM'.
            max_km = wa_data-recdv.
            min_km = wa_data-recdv.
            endif.
            if wa_data-recdu ='H'.
            max_h = wa_data-recdv.
            min_h = wa_data-recdv.
            endif.
            if wa_data-recdu ='L'.
            max_l = wa_data-recdv.
            min_l = wa_data-recdv.
           endif.
        at new equnr.
            read table i_data into wa_data index sy-tabix.
            write:/ wa_data-equnr, wa_data-eqktx ,wa_data-eqfnr ,wa_data-idate ,
            'Min KM',min_km EXPONENT 0 DECIMALS 2 color 7 ,
             'Min H',min_h EXPONENT 0 DECIMALS 2 color 7 ,
              'Min L',min_l EXPONENT 0 DECIMALS 2 color 7.
        endat.
    at end of equnr.
            read table i_data into wa_data index sy-tabix.
            write:/ wa_data-equnr, wa_data-eqktx ,wa_data-eqfnr ,wa_data-idate ,
            'Max KM', max_km EXPONENT 0 DECIMALS 2 color 7,
            'Max H', max_h EXPONENT 0 DECIMALS 2 color 7,
            'Max L', max_l EXPONENT 0 DECIMALS 2 color 7.
    endat.
    regards
    Piroz

  • How to handle multiple threads to read one line from a file each time?

    Dear Sir or Madam,
    I'm new to multiple threads java programming. What I want to do is as following:
    1. I'm writing a program to read one line of text from a very large file, and then do some process on this one line of text, then read the next line of text from this file, then process on this line of text, ...... When reach the end of the file, close the file.
    This is a single thread scenario.
    2. To fullly untilized computer resource, I want to create multiple threads to process this large file.
    One thing is very important is that each line of text in the large file has to be read sequentially. This means that the first line of text in the large file is read first, then the second line, then the third line ......
    My question is that if I create multiple threads to process the same file, how can I make sure that different threads will read the line of text from the same file sequentially?
    I don't have enough experience on java multiple threads programming, so it will be very appreaciated if you can help me on this as soon as you are available.
    Thanks and regards,
    Steven Wu

    A better solutoin would be to have a single thread that reads each line an puts it into a queue, and then multiple threads reading from the queue to process these lines.
    This will only be effective if the amount of processing to be done on each line is very large compared to how long it takes to read the line, or if you have more than one CPU on your machine.

  • How to display delivery status on sales order line

    Hi,
    We're on R12.1.3
    We have a requirement to display delivery status on sales order lines in quick sales order form. Is there a standard configuration available to achieve this? if not available, what would be the best way of achieving this?
    I mean using, Forms personalization or Event based Alert etc?
    Thanks,
    Ram

    This is already available in the additional line information..though..
    If you still want that at line level to be displayed..maybe you need to customize the form...not sure how u can handle that logic
    Mahendra

  • How to put grouped results all on one line.

    I amt trying to get Principal, Interest, Principal YTD, Interest YTD from a transaction table to get them all on one line, but I can't seem to get it. I have a script here that can run without modification to see what I have here. The very last query is
    incorrect, as it puts each value on a separate line, but it demonstrates what I am getting so far. What I want is one account number with 4 columns, as above mentioned. Keep in mind, in this illustration, YTD is last year and forward:
    CREATE TABLE #a
    PMT_ID INT IDENTITY(1,1),ACCT_NO INT, PMT_TYPE CHAR(1), PMT_AMT MONEY, PMT_DATE DATE)
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'P', 450, '2012-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'I', 100, '2012-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'P', 450, '2012-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'I', 100, '2012-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'P', 450, '2012-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'I', 100, '2012-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'P', 351, '2012-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'I', 102, '2012-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'P', 352, '2012-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'I', 102, '2012-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'P', 353, '2012-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'I', 102, '2012-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'P', 850, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'I', 200, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'P', 880, '2013-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'I', 201, '2013-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'P', 855, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'I', 203, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'P', 451, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'I', 99, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'P', 451, '2013-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'I', 99, '2013-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'P', 451, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 1, 'I', 99, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'P', 352, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'I', 101, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'P', 353, '2013-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'I', 103, '2013-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'P', 354, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 2, 'I', 103, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'P', 851, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'I', 199, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'P', 881, '2013-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'I', 201, '2013-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'P', 854, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES ( 3, 'I', 205, '2013-12-01')
    SELECT PMT_ID, ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE
    FROM #a
    SELECT ACCT_NO, SUM(PMT_AMT) TOT_PRINCIPAL_PAID
    FROM #a
    WHERE PMT_TYPE = 'P'
    GROUP BY ACCT_NO
    SELECT ACCT_NO, SUM(PMT_AMT) TOTAL_INTEREST_PAID
    FROM #a
    WHERE PMT_TYPE = 'I'
    GROUP BY ACCT_NO
    SELECT ACCT_NO, SUM(PMT_AMT) TOTAL_PRINCIPAL_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'P'
    AND DATEPART(year,[PMT_DATE])=DATEPART(year,DATEADD(year,-1,GETDATE()))
    GROUP BY ACCT_NO
    SELECT ACCT_NO, SUM(PMT_AMT) TOTAL_INTEREST_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'I'
    AND DATEPART(year,[PMT_DATE])=DATEPART(year,DATEADD(year,-1,GETDATE()))
    GROUP BY ACCT_NO
    SELECT ACCT_NO
    ,SUM(PMT_AMT) AS TOTAL_PRINCIPAL_PAID
    ,NULL AS TOTAL_INTEREST_PAID
    ,NULL AS TOTAL_PRINCIPAL_PAID_YTD
    ,NULL AS TOTAL_INTEREST_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'P'
    GROUP BY ACCT_NO
    UNION
    SELECT ACCT_NO
    ,NULL AS TOTAL_PRINCIPAL_PAID
    ,SUM(PMT_AMT) AS TOTAL_INTEREST_PAID
    ,NULL AS TOTAL_PRINCIPAL_PAID_YTD
    ,NULL AS TOTAL_INTEREST_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'I'
    GROUP BY ACCT_NO
    UNION
    SELECT ACCT_NO
    ,NULL AS TOTAL_PRINCIPAL_PAID
    ,NULL AS TOTAL_INTEREST_PAID
    ,SUM(PMT_AMT) AS TOTAL_PRINCIPAL_PAID_YTD
    ,NULL AS TOTAL_INTEREST_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'P'
    AND DATEPART(year,[PMT_DATE])=DATEPART(year,DATEADD(year,-1,GETDATE()))
    GROUP BY ACCT_NO
    UNION
    SELECT ACCT_NO
    ,NULL AS TOTAL_PRINCIPAL_PAID
    ,NULL AS TOTAL_INTEREST_PAID
    ,NULL AS TOTAL_PRINCIPAL_PAID_YTD
    ,SUM(PMT_AMT) AS TOTAL_INTEREST_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'I'
    AND DATEPART(year,[PMT_DATE])=DATEPART(year,DATEADD(year,-1,GETDATE()))
    GROUP BY ACCT_NO
    -- Query to put this all these 4 columns on the same line, ending up with 3 lines.
    DROP TABLE #a

    Try the below query
    CREATE TABLE #a
     PMT_ID INT IDENTITY(1,1),ACCT_NO INT, PMT_TYPE CHAR(1), PMT_AMT MONEY, PMT_DATE DATE)
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'P', 450, '2012-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'I', 100, '2012-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'P', 450, '2012-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'I', 100, '2012-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'P', 450, '2012-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'I', 100, '2012-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'P', 351, '2012-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'I', 102, '2012-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'P', 352, '2012-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'I', 102, '2012-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'P', 353, '2012-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'I', 102, '2012-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'P', 850, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'I', 200, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'P', 880, '2013-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'I', 201, '2013-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'P', 855, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'I', 203, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'P', 451, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'I', 99, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'P', 451, '2013-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'I', 99, '2013-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'P', 451, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 1, 'I', 99, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'P', 352, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'I', 101, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'P', 353, '2013-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'I', 103, '2013-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'P', 354, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 2, 'I', 103, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'P', 851, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'I', 199, '2013-09-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'P', 881, '2013-10-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'I', 201, '2013-11-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'P', 854, '2013-12-01')
    INSERT INTO #a ( ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE ) VALUES  ( 3, 'I', 205, '2013-12-01')
    SELECT PMT_ID, ACCT_NO, PMT_TYPE, PMT_AMT, PMT_DATE 
    FROM #a
    SELECT ACCT_NO, SUM(PMT_AMT) TOT_PRINCIPAL_PAID
    FROM #a
    WHERE PMT_TYPE = 'P'
    GROUP BY ACCT_NO
    SELECT ACCT_NO, SUM(PMT_AMT) TOTAL_INTEREST_PAID
    FROM #a
    WHERE PMT_TYPE = 'I'
    GROUP BY ACCT_NO
    SELECT ACCT_NO, SUM(PMT_AMT) TOTAL_PRINCIPAL_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'P'
    AND DATEPART(year,[PMT_DATE])=DATEPART(year,DATEADD(year,-1,GETDATE()))
    GROUP BY ACCT_NO
    SELECT ACCT_NO, SUM(PMT_AMT) TOTAL_INTEREST_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'I' 
    AND DATEPART(year,[PMT_DATE])=DATEPART(year,DATEADD(year,-1,GETDATE()))
    GROUP BY ACCT_NO
    select 
    T123.ANO,
    SUM(TOTAL_PRINCIPAL_PAID) TOTAL_PRINCIPAL_PAID,
    SUM(TOTAL_INTEREST_PAID) TOTAL_INTEREST_PAID ,
    SUM(TOTAL_PRINCIPAL_PAID_YTD) TOTAL_PRINCIPAL_PAID_YTD,
    SUM(TOTAL_INTEREST_PAID_YTD) TOTAL_INTEREST_PAID_YTD
    from
    SELECT ACCT_NO ANO
    ,SUM(PMT_AMT) AS TOTAL_PRINCIPAL_PAID
    ,NULL AS TOTAL_INTEREST_PAID
    ,NULL AS TOTAL_PRINCIPAL_PAID_YTD
    ,NULL AS TOTAL_INTEREST_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'P'
    GROUP BY ACCT_NO
    UNION
    SELECT ACCT_NO
    ,NULL AS TOTAL_PRINCIPAL_PAID
    ,SUM(PMT_AMT) AS TOTAL_INTEREST_PAID
    ,NULL AS TOTAL_PRINCIPAL_PAID_YTD
    ,NULL AS TOTAL_INTEREST_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'I'
    GROUP BY ACCT_NO
    UNION
    SELECT ACCT_NO
    ,NULL         AS TOTAL_PRINCIPAL_PAID
    ,NULL         AS TOTAL_INTEREST_PAID
    ,SUM(PMT_AMT) AS TOTAL_PRINCIPAL_PAID_YTD
    ,NULL         AS TOTAL_INTEREST_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'P'
    AND DATEPART(year,[PMT_DATE])=DATEPART(year,DATEADD(year,-1,GETDATE()))
    GROUP BY ACCT_NO
    UNION
    SELECT ACCT_NO
    ,NULL         AS TOTAL_PRINCIPAL_PAID
    ,NULL         AS TOTAL_INTEREST_PAID
    ,NULL         AS TOTAL_PRINCIPAL_PAID_YTD
    ,SUM(PMT_AMT) AS TOTAL_INTEREST_PAID_YTD
    FROM #a
    WHERE PMT_TYPE = 'I'
    AND DATEPART(year,[PMT_DATE])=DATEPART(year,DATEADD(year,-1,GETDATE()))
    GROUP BY ACCT_NO)T123
    Group by T123.ANO 
    DROP TABLE #a

Maybe you are looking for

  • HT4314 Can I have more than one Game Center account on the same Apple ID? If so, how do I set it up?

    I am playing Clash of Clans on my iphone and on my iPad. I would like to connect each of my games to a different Game Center ID so I don't lose them if something happens to my device, but I can't figure out how to do that without creating new Apple I

  • OSB XSLT testing issue

    I am using the ALSB XQuery/XPath/XSLT Expression Testing functionality of the service bus console. However when I click execute I just get "Error executing the transformation: java.lang.NullPointerException" and no details. I looked at the log files

  • Multiply filter in illustrator with a 2 color job-pdf and print issues?

    Hi, Encountering a tricky problem and not sure if its an InDesign fix or an Illustrator fix. I am working on a 2 color job—pms color + black on a book cover. The cover needs to seperate into these 2 colors. Also, I need to make a high res and lowres

  • Nokia n95-1 wont turn on

    sorry if this is an old question but my phone died and im on a **bleep** dial connection at the moment, so searchingthe forums is taking an age, got an n95-1 plum, been working great for over a year, was using it ok, was in my pocket a few hours, whe

  • Videos keep reloading every 30 seconds or so.

    I have the latest flash player, but videos continue to keep loading every 30 seconds or so, stopping briefly at each point. How can I correct this problem?