Details of Each Vendor on Different Page

Dear Experts,
I have to develop a smartform in which I have to display Details of different vendors
each on New Page.
Vendor numbers are passed from driver program Selection Screen.
Each page dispays Vendor Name and Address in Secondary Windows and List of Purchase
Order Details for each Vendor in a Main Window.
I want to have page break as new vendor number is encountered to display it in next/different Page.
can anyone pls. tell how will it be done.
Thanks.
Regards
Tanu

Hi tanu,
It is possible.its not a Big issue . Tell me you have to print only the Details of Vendor .
For mulltiple vendors , You have to define the condition in smartforms.
At the end of Secondary Window Rigth click on that Creat->flow Logic->Command->
In general attribute tick Go to new page and select the same. and at the same time write in condition when new dealer comes.
Hope it will solve ur problem.
Please confirm.
if not solve .
Edited by: Supriya  Bhatt on Jul 4, 2009 3:55 PM
Edited by: Supriya  Bhatt on Jul 4, 2009 4:13 PM

Similar Messages

  • SAP has T-code to auto send out the payment detail to each vendor ??

    Hi,
    Could you advise if SAP has T-code to auto send out the payment detail to each vendor?
    Thanks
    Rafi

    So many different ways to do this, but none of it is "Automatic". To automate, you may need to use BTE, workflows, message outputs, etc. First, you need to identify content: Which report or information you want to include. From my experience, no standard report is always sufficient. So depending on your requirements, then outputs from FBL1N or reports under "Print Correspondence" might help. Custom ABAP and SAPScript forms is what seems to work well for some customers. Then you need to decide how you want the message sent: Fax, email, interface, etc. Each decision lead you towards diff implementation. None of which are trivial. So, research your design goals and provide your requirements, then we might be able to provide further help.
    Thanks,
    Samsole

  • How do we print multiple components each in a different page?

    hello
    I would like to print multiple JPanels (lets say an array) each in a different page.
    The question I ask is about the following code
             printerJob.setPrintable(printTable.getInstance(), pageFormat);
                  try
                        if (printerJob.printDialog())
                             printerJob.print();
                        }

    Lets say that we have the following code. How do we modify it?
    * This example is from the book "Java Foundation Classes in a Nutshell".
    * Written by David Flanagan. Copyright (c) 1999 by O'Reilly & Associates. 
    * You may distribute this source code for non-commercial purposes only.
    * You may study, modify, and use this example for any purpose, as long as
    * this notice is retained.  Note that this example is provided "as is",
    * WITHOUT WARRANTY of any kind either expressed or implied.
    import java.awt.*;
    import java.awt.print.*;
    import java.io.*;
    import java.util.Vector;
    public class PageableText implements Pageable, Printable {
      // Constants for font name, size, style and line spacing
      public static String FONTFAMILY = "Monospaced";
      public static int FONTSIZE = 10;
      public static int FONTSTYLE = Font.PLAIN;
      public static float LINESPACEFACTOR = 1.1f;
      PageFormat format;   // The page size, margins, and orientation
      Vector lines;        // The text to be printed, broken into lines
      Font font;           // The font to print with
      int linespacing;     // How much space between lines
      int linesPerPage;    // How many lines fit on a page
      int numPages;        // How many pages required to print all lines
      int baseline = -1;   // The baseline position of the font.
      /** Create a PageableText object for a string of text */
      public PageableText(String text, PageFormat format) throws IOException {
        this(new StringReader(text), format);
      /** Create a PageableText object for a file of text */
      public PageableText(File file, PageFormat format) throws IOException {
        this(new FileReader(file), format);
      /** Create a PageableText object for a stream of text */
      public PageableText(Reader stream, PageFormat format) throws IOException {
        this.format = format;
        // First, read all the text, breaking it into lines.
        // This code ignores tabs, and does not wrap long lines.
        BufferedReader in = new BufferedReader(stream);
        lines = new Vector();
        String line;
        while((line = in.readLine()) != null)
          lines.addElement(line);
        // Create the font we will use, and compute spacing between lines
        font = new Font(FONTFAMILY, FONTSTYLE, FONTSIZE);
        linespacing = (int) (FONTSIZE * LINESPACEFACTOR);
        // Figure out how many lines per page, and how many pages
        linesPerPage = (int)Math.floor(format.getImageableHeight()/linespacing);
        numPages = (lines.size()-1)/linesPerPage + 1;
      // These are the methods of the Pageable interface.
      // Note that the getPrintable() method returns this object, which means
      // that this class must also implement the Printable interface.
      public int getNumberOfPages() { return numPages; }
      public PageFormat getPageFormat(int pagenum) { return format; }
      public Printable getPrintable(int pagenum) { return this; }
       * This is the print() method of the Printable interface.
       * It does most of the printing work.
      public int print(Graphics g, PageFormat format, int pagenum) {
        // Tell the PrinterJob if the page number is not a legal one.
        if ((pagenum < 0) | (pagenum >= numPages))
          return NO_SUCH_PAGE;
        // First time we're called, figure out the baseline for our font.
        // We couldn't do this earlier because we needed a Graphics object
        if (baseline == -1) {
          FontMetrics fm = g.getFontMetrics(font);
          baseline = fm.getAscent();
        // Clear the background to white.  This shouldn't be necessary, but is
        // required on some systems to workaround an implementation bug
        g.setColor(Color.white);
        g.fillRect((int)format.getImageableX(), (int)format.getImageableY(),
                   (int)format.getImageableWidth(),
                   (int)format.getImageableHeight());
        // Set the font and the color we will be drawing with.
        // Note that you cannot assume that black is the default color!
        g.setFont(font);
        g.setColor(Color.black);
        // Figure out which lines of text we will print on this page
        int startLine = pagenum * linesPerPage;
        int endLine = startLine + linesPerPage - 1;
        if (endLine >= lines.size())
          endLine = lines.size()-1;
        // Compute the position on the page of the first line.
        int x0 = (int) format.getImageableX();
        int y0 = (int) format.getImageableY() + baseline;
        // Loop through the lines, drawing them all to the page.
        for(int i=startLine; i <= endLine; i++) {
          // Get the line
          String line = (String)lines.elementAt(i);
          // Draw the line.
          // We use the integer version of drawString(), not the Java 2D
          // version that uses floating-point coordinates. A bug in early
          // Java2 implementations prevents the Java 2D version from working.
          if (line.length() > 0)
            g.drawString(line, x0, y0);
          // Move down the page for the next line.
          y0 += linespacing; 
        // Tell the PrinterJob that we successfully printed the page.
        return PAGE_EXISTS;
       * This is a test program that demonstrates the use of PageableText
      public static void main(String[] args) throws IOException, PrinterException {
        // Get the PrinterJob object that coordinates everything
        PrinterJob job = PrinterJob.getPrinterJob();
        // Get the default page format, then ask the user to customize it.
        PageFormat format = job.pageDialog(job.defaultPage());
        // Create PageableText object, and tell the PrinterJob about it
        job.setPageable(new PageableText(new File("file.txt"), format));
        // Ask the user to select a printer, etc., and if not canceled, print!
        if (job.printDialog())
             job.print();
    }thank you in advance

  • Updating multiple bank details for each vendor, through LSMW

    Hi,
    We need to do a massive update on our vendors bank details, and I'm trying to do it via LSMW. I have two problems.
    Each vendor may have several bank accounts. In XK02 they appear in a list, and in LSMW the bank detail fields are inside arrays (for example the bank key on first line would be LFBK-BANKL(0)), but I don't know on what lines are stored the banks I want to update. Is it possible to determine the index n° of the array (line number) just by reading the table LFBK ? I can't go into XK03 for every vendor to check at which line the bank details are stored.
    Second, I don't know how to update a different line each time with a single batch input recording. When I record a LSMW batch input, I have to chose a specific field to update, which includes the line n°. How can I specify the line n° as a variable part of the data? Or alternatively, I could record the batch input to update enough lines for each vendor (say 5) and only provide data for the the lines to be updated, but I assume the lines without data would get deleted when the batch is run?
    Please help.

    Dear John;
    You may create your LSMW with a vendor which has n banks (say 5). You will write 5 rows of bank info. LSMW will create new field names for these areas. 01-02...
    LFBK-BANKS(01)                 TR
    LFBK-BANKS(02)                 tr
    LFBK-BANKL(01)                 0067-00002
    LFBK-BANKL(02)                 0067-00003
    LFBK-BANKN(01)                 1234
    LFBK-BANKN(02)                 1235
    you will prepare your excel for this purposes after then.
    I hope it will help.
    BR.
    Aydın

  • Displaying/Printing Sub-group Details for Each Parent Group

    My question is based on the example code provided under the "Creating an RTF Template" chapter of the Oracle Business Intelligence Publisher Report Designer's Guide, Release 10.1.3.4, Part Number E12187-01. I modified that example as follows:
    <?xml version="1.0" encoding="WINDOWS-1252" ?>
    - <VENDOR_REPORT> -
    - <LIST_G_VENDOR_NAME>
    - <G_VENDOR_NAME>
    <VENDOR_NAME>COMPANY A</VENDOR_NAME>
    - <LIST_G_INVOICE_NUM>
    - <G_INVOICE_NUM> --TRANS_TYPE
    <SET_OF_BOOKS_ID>124</SET_OF_BOOKS_ID>
    <GL_DATE>10-NOV-03</GL_DATE>
    <INV_TYPE>Standard</INV_TYPE>
    <INVOICE_NUM>031110</INVOICE_NUM>
    <INVOICE_DATE>10-NOV-03</INVOICE_DATE>
    <INVOICE_CURRENCY_CODE>EUR</INVOICE_CURRENCY_CODE>
    <LIST_G_LINE_ITEM>
    - <G_LINE_ITEM>
    <LINE_ITEM_NUM>01</LINE_ITEM_NUM>
    <LINE_ITEM_DESC>WIDGETS</LINE_ITEM_DESC>
    <DATE>10-NOV-03</DATE>
    <PROD_ID>882P</PROD_ID>
    <QTY>50</QTY>
    <UNIT PRICE>3.0</UNIT_PRICE>
    <TOT_AMT>150</TOT_AMT>
    </G_LINE_ITEM>
    - <G_LINE_ITEM>
    <LINE_ITEM_NUM>01</LINE_ITEM_NUM>
    <LINE_ITEM_DESC>STUFF</LINE_ITEM_DESC>
    <DATE>10-NOV-05</DATE>
    <PROD_ID>725P</PROD_ID>
    <QTY>20</QTY>
    <UNIT PRICE>5.0</UNIT_PRICE>
    <TOT_AMT>100</TOT_AMT>
    </G_LINE_ITEM>
    - <G_LINE_ITEM>
    <LINE_ITEM_NUM>01</LINE_ITEM_NUM>
    <LINE_ITEM_DESC>WIDGETS</LINE_ITEM_DESC>
    <DATE>10-DEC-05</DATE>
    <PROD_ID>882P</PROD_ID>
    <QTY>5</QTY>
    <UNIT PRICE>4.0</UNIT_PRICE>
    <TOT_AMT>20</TOT_AMT>
    </G_LINE_ITEM> </LIST_G_LINE_ITEM>
    <ENT_AMT>122</ENT_AMT>
    <ACCTD_AMT>122</ACCTD_AMT>
    <VAT_CODE>VAT22%</VAT_CODE>
    </G_INVOICE_NUM>
    <G_INVOICE_NUM> --TRANS_TYPE
    <SET_OF_BOOKS_ID>124</SET_OF_BOOKS_ID>
    <GL_DATE>10-NOV-03</GL_DATE>
    <INV_TYPE>Standard</INV_TYPE>
    <INVOICE_NUM>031110</INVOICE_NUM>
    <INVOICE_DATE>10-NOV-03</INVOICE_DATE>
    <INVOICE_CURRENCY_CODE>EUR</INVOICE_CURRENCY_CODE>
    <ENT_AMT>122</ENT_AMT>
    <ACCTD_AMT>122</ACCTD_AMT>
    <VAT_CODE>VAT22%</VAT_CODE>
    </G_INVOICE_NUM>
    </LIST_G_INVOICE_NUM>
    <ENT_SUM_VENDOR>1000.00</ENT_SUM_VENDOR>
    <ACCTD_SUM_VENDOR>1000.00</ACCTD_SUM_VENDOR>
    </G_VENDOR_NAME>
    </LIST_G_VENDOR_NAME>
    <ACCTD_SUM_REP>108763.68</ACCTD_SUM_REP>
    <ENT_SUM_REP>122039</ENT_SUM_REP>
    </VENDOR_REPORT>
    In my XML file example there are multiple invoices for each vendor as subgroups under the <G_VENDOR_NAME> group. So that multiple <G_INVOICE_NUM> subgroups maybe embedded under the <G_VENDOR_NAME> group element. I would like to create a schedule (table) displaying line item details for each vendor and invoice number. Using the simplified syntax, I'm having problems displaying the line item details for each invoice. Instead I’m only able to display a single line item for each invoice. Unfortunately my example report cannot be uploaded and "Thread" text does not seem to accurately retain blank spaces. So descriptively the report would have a line for vendor name, separate line for group number, and lne item details displaying consectively by line to the right
    COMPANY A: Vendor Number: ##
    Invoice Number LINE_ITEM_DETAILS
    LINE_ITEM_DETAILS
    LINE_ITEM_DETAILS
    Invoice Number LINE_ITEM_DETAILS
    LINE_ITEM_DETAILS
    LINE_ITEM_DETAILS
    Please ignore the data details of my example report. The values do not exactly match the XML data example above. Based on my XML example, please provide a RTF template marked with the XLS or simplified syntax approach to get my results.
    Thanks.

    Make 2 contacts with an email address each rather than 1 contact with 2 addresses.

  • Passing parameters between form portlets on two different pages ...

    Here is a brief summary of our problem.
    We have one master form and a detail form which are published as portlets and placed in two different pages.
    Now i want to pass parameters from master form portlet resides on one page to detail form portlet resides on another page.
    Say for example, when i invoke master form (created based on demo DEPT table), enter values on fields then invoke another page
    on which the second form portlet (say form based on EMP demo table) resides. Now i want to pass deptno to second form and
    get displayed in deptno field of second form.
    I was looking at the following posting, but how to do this when forms are published as portlets and placed on two different pages ?
    http://forums.oracle.com/forums/message.jsp?id=997683
    Customer actually want to pass a parameter from master form to 5 detail form portlets resides on different pages.
    This is bit urgent as it is the only problem stopping the customer go live.
    Thanks in advance.

    Please refer to post Re: session state security
    It tells you how to populate a form portlet in a page by clicking on a link in a report portlet.
    You can use the wwsto_api_session objects to store data submitted by the master and let the detail form pick it up and proceed with the query.

  • Forcing each paragraph of a list in a different page

    Hi everyone,
    It is possible to "force" an overflow in a paragraph list for each paragraph? Here the details...
    My scenario:
    - Documaker 12.1
    - XML input like this...
    <CONTAINER SEQUENCE_NUMBER="1" TOTAL="200000.00000" CT_DATE="2013-04-01T00:00:00">
        <DOCUMENT DOC_DATE="2012-10-12T00:00:00" FORM_NUMBER="DOC-GEN-001">
            <DOCUMENT ID="123123" />
        </DOCUMENT>
    </CONTAINER>
    <CONTAINER SEQUENCE_NUMBER="2" TOTAL="100000.00000" CT_DATE="2013-04-11T00:00:00">
        <DOCUMENT DOC_DATE="2012-10-12T00:00:00" FORM_NUMBER="DOC-GEN-002">
            <DOCUMENT ID="321321" />
        </DOCUMENT>
    </CONTAINER>
    Also, I have a form with 3 sections: a header, a body, and the footer...
    In the header section I need the SEQUENCE_NUMBER and CT_DATE
    In the footer section I need the FORM_NUMBER and a classical current page/total label.
    In the body section I have a field with the paragraph list, but what I need is that each paragraph in this element appears in a different page, so they can have it's own header and footer with the corresponding data.
    Page 1: (first occurence of CONTAINER_SEQUENCE)
    Header: Document number: 1 / Date: 2013-04-01
    Body: Here the content of the triggered paragraph
    Footer: Form number: DOC-GEN-001 / Page 1 of 2
    Page 2: (second occurence of CONTAINER_SEQUENCE)
    Header: Document number: 2 / Date: 2013-04-11
    Body: Here the content of the triggered paragraph
    Footer: Form number: DOC-GEN-002 / Page 2 of 2
    </br>
    Can be done something like this using paragraph lists?
    Thanks in advance!
    Max.

    Thanks, but I already have a lot of legacy documents working through paragraph selection, so it would be a huge effort change everything.
    I already fixed this issue, it's done with iterative XDD triggering, where each paragraph is being triggered by a DAL function who match a condition with the value of the current iteration field. If anyone need more details just ask me.
    Max.

  • As a graphic designer, I am creating ePubs that will be seen on iPads running, ios5, ios6 and ios7.  Each version displays the page differently.  Is there a way to make the display consistent on all systems?

    As a graphic designer, I am creating ePubs that will be seen on iPads running, ios5, ios6 and ios7.  Each version displays the page differently.  Is there a way to make the display consistent on all systems?

    As a graphic designer, I am creating ePubs that will be seen on iPads running, ios5, ios6 and ios7.  Each version displays the page differently.  Is there a way to make the display consistent on all systems?

  • Each Row of one DataTable in a DataSet on a different page

    HI.
    I am making a report in Crystal Reports 2008.  And I am building a .NET program to push an Access DB to the report.
    I have a .NET DataTable object with my rows already in there merged into a .NET DataSet.
    Then, I added the DataSet to a .NET CrystalReport object, and show it in a Windows Form.
    I want each ROW of the Table to show on a different page. HOW?  So, each row is entitled to a page or a new page if the row outrun the page.
    Thank-you,
    Ajay Shah

    Hi Ajay,
    This is a report design question, the data source does not matter.
    I'm moving this post to the Designer forums.
    Thanks
    Don

  • Tab page + each tab menu will open a different page

    Hi Guys
    I have a small problem here
    I want to add a menu tab at the top right corner of my page. This goes well
    and i have my menu as follows
    1.Add Client 2.Add project 3.Add employees
    For each menu i want to open their creation page in the same page her want it to open below and having the menu as above.......
    Also if data is committed to make the fields empty...
    How can i do this.
    Do I have to put the menu tabs on the different page that am calling
    Any help will do
    Regards
    Lutchumaya
    Message was edited by:
    Lutchumaya

    Thanks sudhir by this <Also if data is committed to make the fields empty...> I mean to reset the form values to empty in each field.
    I Must have a horizontal menu which will be present.
    Also for each menuitem in the menu should display the form to enter data into the application .
    e.g the menu will consist of the differnet tab: Enter Employee ; Enter Project; Enter Client
    For each menuItem I should display the creat for for example employee or project if selected and client if selected..
    Thank you for your help.
    Regards
    Lutchumaya

  • How to show master and detail tables in different pages?

    Hi,
    Can somebody expalin me how to include or bind the master and detail tables to different pages which are included at runtime.
    thnaks,
    Naresh.

    Hello!
    you have ti create a Master/Detail data structure.
    In the first page drag the master table, on the second drag a detail table.
    It should work out of the box. Selecting a record on the master table selects
    the details on the detail table automatically!
    regards,
    Mario Udina

  • Creating Tree Menu with each node referring to a different page

    Hi,
    I've got a Tree with I would like to refer to a different page to each single leaf.
    Tree is the following :
    select "ID_MENU" id,
    "MENU_UNDER" pid,
    "MENU_NAME" name,
    'f?p=&APP_ID.:&app_page_id.:&SESSION.::NO::FSP_AFTER_LOGIN_URL:'||"ID_MENU" link,
    null a1,
    null a2
    from "#OWNER#"."MENU"
    How is possible to refer each single page, stored into the MENU table (wihich contain the menu) to a different node leaf ?
    MENU Table is the following :
    create table MENU
    ID_MENU NUMBER not null,
    MENU_NAME VARCHAR2(500),
    MENU_UNDER VARCHAR2(500),
    PAGE_LINK VARCHAR2(500)
    Thanks,
    Ivan

    Is your MENU table a hierarchical table or just flat. It looks flat, because it doesn't seem to have a foreign key to it's parent menu. Do you just have two levels?
    BTW, you normally would use PAGE_LINK in your link column.
    Why not create a hierarchical table as follows:
    create table MENU
    ID_MENU NUMBER not null,
    MENU_NAME VARCHAR2(500),
    PARENT_ID_MENU NUMBER,
    PAGE_ID NUMBER
    );PARENT_ID_MENU would contain the ID_MENU of the parent menu, for the root menus it would be NULL.
    Then your query would look as follow:
    select ID_MENU        AS id,
         , PARENT_ID_MENU AS pid
         , MENU_NAME      AS name
         , CASE
             WHEN PAGE_ID IS NOT NULL THEN 'f?p=&APP_ID.:'||PAGE_ID||':'||:SESSION
             ELSE NULL
           END            AS link
         , null           AS a1
         , null           AS a2
    from "#OWNER#".MENUPatrick
    My APEX Blog: http://inside-apex.blogspot.com
    The ApexLib Framework: http://apexlib.sourceforge.net
    The APEX Builder Plugin: http://sourceforge.net/projects/apexplugin/

  • Print different page ranges of a document without, each time, having a print dialog?

    Hello,
    Would need your valuable help on that one.
    I have a large PDF File, of which I want to print different page ranges, based on the checkboxes that have been checked by the User.
    Ideally, clicking a "print" button would generate the page ranges, based on the checkboxes that are checked and open one print dialog with the pages ranges already indicated in it. Like this, the User can enter once the printer settings (e.g. booklet or duplex) he wishes, which should then be valid for all the pages contained in all the page ranges.
    Thank you in advance for any tip!
    Cheers
    Serge

    PrintParams.constants.flagValues.duplexTypes.DontCare
    PrintParams.constants.flagValues.duplexTypes.Simplex
    PrintParams.constants.flagValues.duplexTypes.DuplexFlipLongEdge
    PrintParams.constants.flagValues.duplexTypes.DuplexFlipShortEdge

  • I Need interactive report to list the purchase orders details for a vendor

    I Need interactive report to list the purchase orders details for a vendor that has    interactive drill down options to give the detail of vendor from vendor master.

    Hi
    see this sample report
    this is Customer wise sales orders
    just make similar report just using LFA1, EKKO and EKPO tables instead of KNA1,VBAK,VBAP
    REPORT ZTEJ_INTAB1 LINE-SIZE 103 LINE-COUNT 35(5) NO STANDARD PAGE
    HEADING.
    *TABLES DECLARATION
    TABLES : KNA1, VBAK, VBAP.
    *SELECT OPTIONS
    SELECT-OPTIONS: CUST_NO FOR KNA1-KUNNR.
    *INITIALIZATION
    INITIALIZATION.
    CUST_NO-LOW = '01'.
    CUST_NO-HIGH = '5000'.
    CUST_NO-SIGN = 'I'.
    CUST_NO-OPTION = 'BT'.
    APPEND CUST_NO.
    *SELECTION SCREEN VALIDATION
    AT SELECTION-SCREEN ON CUST_NO.
    LOOP AT SCREEN.
    IF CUST_NO-LOW < 1 OR CUST_NO-HIGH > 5000.
    MESSAGE E001(ZTJ1).
    ENDIF.
    ENDLOOP.
    *BASIC LIST SELECTION
    START-OF-SELECTION.
    SELECT KUNNR NAME1 ORT01 LAND1 INTO
    (KNA1-KUNNR, KNA1-NAME1,KNA1-ORT01,KNA1-LAND1)
    FROM KNA1
    WHERE KUNNR IN CUST_NO.
    WRITE:/1 SY-VLINE,
    KNA1-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,
    16 SY-VLINE,
    KNA1-NAME1 UNDER 'NAME',
    61 SY-VLINE,
    KNA1-ORT01 UNDER 'CITY',
    86 SY-VLINE,
    KNA1-LAND1 UNDER 'COUNTRY',
    103 SY-VLINE.
    HIDE: KNA1-KUNNR.
    ENDSELECT.
    ULINE.
    *SECONDARY LIST ACCESS
    AT user-command.
    IF SY-UCOMM = 'IONE'.
    PERFORM SALES_ORD.
    ENDIF.
    IF SY-UCOMM = 'ITWO'.
    PERFORM ITEM_DET.
    ENDIF.
    *TOP OF PAGE
    TOP-OF-PAGE.
    FORMAT COLOR 1.
    WRITE : 'CUSTOMER DETAILS'.
    FORMAT COLOR 1 OFF.
    ULINE.
    FORMAT COLOR 3.
    WRITE : 1 SY-VLINE,
    3 'CUSTOMER NO.',
    16 SY-VLINE,
    18 'NAME',
    61 SY-VLINE,
    63 'CITY',
    86 SY-VLINE,
    88 'COUNTRY',
    103 SY-VLINE.
    ULINE.
    FORMAT COLOR 3 OFF.
    *TOP OF PAGE FOR SECONDARY LISTS
    TOP-OF-PAGE DURING LINE-SELECTION.
    *TOP OF PAGE FOR 1ST SECONDARY LIST
    IF SY-UCOMM = 'IONE'.
    ULINE.
    FORMAT COLOR 1.
    WRITE : 'SALES ORDER DETAILS'.
    ULINE.
    FORMAT COLOR 1 OFF.
    FORMAT COLOR 3.
    WRITE : 1 SY-VLINE,
    3 'CUSTOMER NO.',
    16 SY-VLINE,
    18 'SALES ORDER NO.',
    40 SY-VLINE,
    42 'DATE',
    60 SY-VLINE,
    62 'CREATOR',
    85 SY-VLINE,
    87 'DOC DATE',
    103 SY-VLINE.
    ULINE.
    ENDIF.
    FORMAT COLOR 3 OFF.
    *TOP OF PAGE FOR 2ND SECONDARY LIST
    IF SY-UCOMM = 'ITWO'.
    ULINE.
    FORMAT COLOR 1.
    WRITE : 'ITEM DETAILS'.
    ULINE.
    FORMAT COLOR 1 OFF.
    FORMAT COLOR 3.
    WRITE : 1 SY-VLINE,
    3 'SALES ORDER NO.',
    40 SY-VLINE,
    42 'SALES ITEM NO.',
    60 SY-VLINE,
    62 'ORDER QUANTITY',
    103 SY-VLINE.
    ULINE.
    ENDIF.
    FORMAT COLOR 3 OFF.
    *END OF PAGE
    END-OF-PAGE.
    ULINE.
    WRITE :'USER :',SY-UNAME,/,'DATE :', SY-DATUM, 85 'END OF PAGE:',
    SY-PAGNO.
    SKIP.
    *& Form SALES_ORD
    *& FIRST SECONDARY LIST FORM
    FORM SALES_ORD .
    SELECT KUNNR VBELN ERDAT ERNAM AUDAT INTO
    (VBAK-KUNNR, VBAK-VBELN, VBAK-ERDAT, VBAK-ERNAM, VBAK-AUDAT)
    FROM VBAK
    WHERE KUNNR = KNA1-KUNNR.
    WRITE:/1 SY-VLINE,
    VBAK-KUNNR UNDER 'CUSTOMER NO.' HOTSPOT ON,
    16 SY-VLINE,
    VBAK-VBELN UNDER 'SALES ORDER NO.' HOTSPOT ON,
    40 SY-VLINE,
    VBAK-ERDAT UNDER 'DATE',
    60 SY-VLINE,
    VBAK-ERNAM UNDER 'CREATOR',
    85 SY-VLINE,
    VBAK-AUDAT UNDER 'DOC DATE',
    103 SY-VLINE.
    HIDE : VBAK-VBELN.
    ENDSELECT.
    ULINE.
    ENDFORM. " SALES_ORD
    *& Form ITEM_DET
    *& SECOND SECONDARY LIST FORM
    FORM ITEM_DET .
    SELECT VBELN POSNR KWMENG INTO
    (VBAP-VBELN, VBAP-POSNR, VBAP-KWMENG)
    FROM VBAP
    WHERE VBELN = VBAK-VBELN.
    WRITE : /1 SY-VLINE,
    VBAP-VBELN UNDER 'SALES ORDER NO.',
    40 SY-VLINE,
    VBAP-POSNR UNDER 'SALES ITEM NO.',
    60 SY-VLINE,
    VBAP-KWMENG UNDER 'ORDER QUANTITY',
    103 SY-VLINE.
    ENDSELECT.
    ULINE.
    ENDFORM. " ITEM_DET
    REPORT demo_list_at_pf.
    START-OF-SELECTION.
    WRITE 'Basic List, Press PF5, PF6, PF7, or PF8'.
    AT pf5.
    PERFORM out.
    AT pf6.
    PERFORM out.
    AT pf7.
    PERFORM out.
    AT pf8.
    PERFORM out.
    FORM out.
    WRITE: 'Secondary List by PF-Key Selection',
    / 'SY-LSIND =', sy-lsind,
    / 'SY-UCOMM =', sy-ucomm.
    ENDFORM.
    After executing the program, the system displays the basic list. The user can press the function keys F5 , F6 , F7 , and F8 to create secondary lists. If, for example, the 14th key the user presses is F6 , the output on the displayed secondary list looks as follows:
    Secondary List by PF-Key Selection
    SY-LSIND = 14
    SY-UCOMM = PF06
    Example for AT USER-COMMAND.
    REPORT demo_list_at_user_command NO STANDARD PAGE HEADING.
    START-OF-SELECTION.
    WRITE: 'Basic List',
    / 'SY-LSIND:', sy-lsind.
    TOP-OF-PAGE.
    WRITE 'Top-of-Page'.
    ULINE.
    TOP-OF-PAGE DURING LINE-SELECTION.
    CASE sy-pfkey.
    WHEN 'TEST'.
    WRITE 'Self-defined GUI for Function Codes'.
    ULINE.
    ENDCASE.
    AT LINE-SELECTION.
    SET PF-STATUS 'TEST' EXCLUDING 'PICK'.
    PERFORM out.
    sy-lsind = sy-lsind - 1.
    AT USER-COMMAND.
    CASE sy-ucomm.
    WHEN 'FC1'.
    PERFORM out.
    WRITE / 'Button FUN 1 was pressed'.
    WHEN 'FC2'.
    PERFORM out.
    WRITE / 'Button FUN 2 was pressed'.
    WHEN 'FC3'.
    PERFORM out.
    WRITE / 'Button FUN 3 was pressed'.
    WHEN 'FC4'.
    PERFORM out.
    WRITE / 'Button FUN 4 was pressed'.
    WHEN 'FC5'.
    PERFORM out.
    WRITE / 'Button FUN 5 was pressed'.
    ENDCASE.
    sy-lsind = sy-lsind - 1.
    FORM out.
    WRITE: 'Secondary List',
    / 'SY-LSIND:', sy-lsind,
    / 'SY-PFKEY:', sy-pfkey.
    ENDFORM.
    When you run the program, the system displays the following basic list with a the page header defined in the program:
    You can trigger the AT LINE-SELECTION event by double-clicking a line. The system sets the status TEST and deactivates the function code PICK. The status TEST contains function codes FC1 to FC5. These are assigned to pushbuttons in the application toolbar. The page header of the detail list depends on the status.
    Here, double-clicking a line no longer triggers an event. However, there is now an application toolbar containing five user-defined pushbuttons. You can use these to trigger the AT USER-COMMAND event. The CASE statement contains a different reaction for each pushbutton.
    For each interactive event, the system decreases the SY-LSIND system field by one, thus canceling out the automatic increase. All detail lists now have the same level as the basic list and thus overwrite it. While the detail list is being created, SY-LSIND still has the value 1.
    Regards
    Anji

  • Smart form with 2 different pages

    Hi Experts
    I have a requirement, I need to develop a smart form with 2 different pages, and each page has different data and presentation of the data also is different.
    In the first page I need to display the contract data with the line items and amounts and in the second page I need to display the partner details with their contact details. From second page onwards it may go further based on the partners exists for that contract.
    Plesae advice me best possible way to achive this.
    Thanks
    Praveen

    Hi Praveen,
    Create two Pages:
    First Page:
    In general Attributes section- Keep page2 as next page
    Create Main window and under that
    Keep the text elements for contract data of line item and amounts as required
    Second Page:
    In general Attributes section- Keep page2 as next page
    create main window and under that
    get all the partner details of line item into an internal table(using program lines node).
    Now use 'Tables' node which behaves as loop for this internal table (so that it continues further if it contains date more than 1 page)
    And display the values in smartform using Text node
    Regards,
    Swarna Munukoti.

Maybe you are looking for