Avoid Sliders Cross

Hello...
I did  a code to avoid that two sliders cross each other (i.e: the botton slider must has a value lower than upper slider, and upper slider must has a value greater than botton slider). My code is working well for this but when I click the mouse on one slider and move it to a "irregular position" it goes in a kind of "transparent fashion" and the numeric slider shows a blinking behavior. How could I avoid these two problems?
Code attached.
Thanks
Dan07
Attachments:
Avoid Sliders Cross.vi ‏17 KB

Well, it is not really a good idea to fight the user by writing back to a control that he is operating at the moment. To get that working would require a bit more code.
Sometimes, a better way would be to simply allow everything, but pick the lower/higher of the two to be used in the code. For example as shown.
LabVIEW Champion . Do more with less code and in less time .
Attachments:
Avoid_Sliders_CrossMOD.vi ‏15 KB

Similar Messages

  • How Can I Avoid Losing Cross-References?

    We have multiple .book files that contain multiple .fm files, many of which contain cross references. Is it possible to work with those files outside of their network location (i.e from a flash drive) without losing the cross references? My employees frequently take work home or work remotely; however, we do not have remote access to our network, so they either e-mail the necessary .fm files or save them to a flash drive to work from. But when they return to the office and "save as" those files, the cross references become unresolved. Is there a way to avoid this?

    > They are taking single .fm files home with them ...
    How are they "taking" them?
    Safe way:
    Save and close all files on the office system.
    Use file browser or command line to copy the files of interest to the transport medium.
    Open the files at home, edit. Do not attempt to fix any broken Xrefs.
    Save in place at home (not to transport medium)
    Copy to transport medium.
    This preserves the original filepath references, which should survive the trip even though unresolved at home.
    Fail ways:
    Save to transport medium at office, and.or
    Save to transport medium at home.
    Doing this re-writes the Xref filepaths relative to the current directory hierarchy. Unless you mimic the office tree at home, doing either of the above will make some or all Xrefs unresolved.
    When you save an FM document to a new filepath, it revises the <XrefSrcFile 'filepath'> data structures to point to the new locations of Xrefs (and other imported content) relative to the new location. If you don't want this to happen (sometimes you do, sometimes you don't), then copy or move the closed document.

  • How to resolve illegal cross join error

    Can someone please tell me how can we avoid illegal cross join error in modeling? If someone has any reference document , please share it.
    I have 5 tables - Dim (A, B , C,E) and Fact( D). C is lookup table which is used to resolve the lookup code column in table E.
    The relationships between these are
    A--< B--< E >--C
    & A--<D
    My requirement is i have to expose Attributes of A,B ,C & E within Dimension.
    These attributes (from B,C,E) will be treated as property of A.
    Someone may query these attributes without selecting any column from fact table.
    Thanks & Regards,
    Ashish

    Hi Ashish,
    it's not the first time you come up with this kind of question and I'm wondering if you understand the principle of granularity when I read your questions.
    On physical level, a fact table must always join with the lowest level of detail of your dimension table. Let me explain, by giving an example which looks like your situation.
    Assume I have three tables:
    Table "E" contains products, which has attributes like: product_id and product_name
    Table "B" contains order line items, which has attributes like: order_line_item_id, order_id and product_id.
    Table "A" contains orders, which has attributes like: order_id and customer_name.
    Table "D" contains facts ("metrical data") about my order: which has attributes like: order_id, order_revenue.
    This will be the diagram on physical level: E--<B--<A--<D
    Here are my joins: E.product_id on B.produc_id, B.order_id on A.order_id, A.order_id--<D.order_id
    Now, my question to you is: will I be able to get the revenue of a certain product?
    The answer is: No, because I don't know what part of my order is spent on a certain product. The problem is thus that the data in the fact table isn't stored on that level of detail, or in other words the fact and dimension table don't share the same level of granularity.
    How it should be:
    If you want to get the revenue per product, you will need to have a second fact table "G", which has data which is stored on order line item level. This table contains the following attributes: order_line_item_id, product_id and order_line_item_revenue.
    This will become your diagram on physical level:
    B--<G>--E
    Joins: B.order_line_item_id on G.order_line_item_id and E.product_id on G.product_id
    Table E has become a dimension of fact table G.
    The first physical diagram should look like this:
    A--<D
    If you want you can model both physical diagrams into one logical diagram, assuming that A and D (order dimension and fact table) are aggregates of B and G (order line items dimension and fact table). In that case you should read this blog item: http://obiee101.blogspot.com/2008/11/obiee-making-it-aggregate-aware.html
    Regards,
    Stijn

  • Cross tab Date Column Grouping

    Hi,
    I have a cross tab in my report which displays no of tickets opened grouped by day, week or Month, grouping is done based on a parameter GroupBy, which has Day, Week, Month values
    Incident   Jun -99  Jul-99
    Priority1      10          20
    Priority2      45          23
    if user selects day or week, cross tab should display column in dd/mm/yy format, if its month, MMM-yy format.
    I have created formula which returns a date type
    GroupBy = Day then Opendate
    GroupBy = Week then opendate -dayofweek(opendate)+1
    GroupBy = date(year(opendate),month(opendate),1)
    and used this date formula as column in cross tab. I tried to format using custom date style...but its not working in cross tab.
    if I use totext to format the date formula, data will not be in sorted order...ex, its showing jul-99 before jun-99
    can anyone help?
    Thanks in Advance,
    Jyothi

    You can avoid multiple cross tabs by using the Display String expression under Field Formatting.  The expression that is entered in this field is what is displayed as the field value in the report.  Use the same logic as you are using for calculating the value, except return CStr(CurrentFieldValue, <format>), where <format> is the formatting code for the desired date format based on GroupBy.
    HTH,
    Carl

  • In my household we have multiple users with different apple id's on one computer. Can we just change the login to sync our devices to the computer?

    We have multiple apple id's for each member of the family and we all use one computer. Will this cause problems when we all want to sync to the computer, after we authorize each apple id to the computer?

    Each user should have a separate user account on the computer. That will result in each user having a unique iTunes library and as long as each person logs into the computer with their own account, it will avoid unintentional cross synching and deletion of data.

  • Discoverer Query is taking too much time

    Hi,
    I am having performance problems with some queries in Discoverer(Relational). Discoverer is taking around 30 minutes to run the report. But if I run the same query through TOAD it takes only 5 to 6 seconds. Why it is so ?
    Structure of Report:
    The report is using crosstab with 3 dimensions on the left side and 3 dimensions on the page items.
    Why the performance in the discoverer is slow and how can I improve it ?
    Thanks & Kind Regards
    Rana

    Hi all
    Russ' comments are correct. When you use crosstabs or page items, Discoverer has to execute the entire query before it can bring back any results. This is a known factor that should be taken into account when end users create workbooks.
    The following conditions will greatly impact performance:
    1. Crosstabs with many items on the left axis
    2. Multiple Crosstab values
    3. Page items with a large set of values,
    4. Crosstabs or page items that use complex calculations,
    5. Multiple page items
    Thus, users must avoid building worksheets that use too many of the above. As commented previously, this is well documented in the forums and on the Oracle website and should not come up by surprise. If it does then either suitable training has not been given to the end users or Oracle's own end user documentation has not been read. Section 6 of the Discoverer Plus user guide has the following advice:
    Whether you are using Discoverer Plus Relational to perform ad hoc queries, or to create reports for other end users, you want to minimize the time it takes to run queries and reports. By following a few simple design guidelines, you can maximize Discoverer performance.
    Where possible:
    use tabular reports rather than cross-tabular reports
    minimize the number of page items in reports
    avoid wide cross tabular report
    avoid creating reports that return tens of thousands of rows
    provide parameters to reduce the amount of data produced
    minimize the number of worksheets in workbooks
    remove extraneous worksheets from workbooks (especially if end users frequently use Discoverer’s export option, see Notes below)
    Notes:
    When end users export data in Discoverer Plus Relational or Discoverer Viewer, they can export either the current worksheet or all the worksheets. In other words, they cannot selectively choose the worksheets to be exported. Remove extraneous worksheets so that extra data is not included when end users export all worksheets.
    I hope this helps
    Regards
    Michael

  • XML DB in Oracle DB Express Edition?

    Hi,
    Can anyone tell if XML DB is available in Oracle 11g R2 Express edition?
    Thanks in advance,
    Divya

    Please avoid duplicating (cross posting) threads.
    Search the forum or see Licensing Information, to find that XML support is available, except for parts of it that depends on Java VM, which is not included.
    http://docs.oracle.com/cd/E17781_01/license.112/e18068/toc.htm#BABJBGGA
    Also, the EPG that Apex uses, is based on XML DB functionality, so it's obvious that (at least parts of) it is there.

  • BPS Post Processing Question

    Dear All,
    We have an EXIT function which resides in one planning level and the planning layout in another planning level.
    The EXIT function is calculating the numbers correctly which creates internal table XTH_DATA and passes it to function module UPF_PARAM_EXECUTE. When we check XTH_DATA, the data records are as we need the records to be generated.
    The issue we are having is that, when the EXIT funciton has completed, the data in XTH_DATA looks perfect. However, the data saved to infocube is not exactly the same as it created. For example, the EXIT creates data for 2007/001 - 012. The resulting data in infocube contains many entries of fiscal period 2006001 through 2006006. The posting period is left blank from EXIT function. The resulting data has posting period of blank, 1 through 6, etc.
    We use request ID to diaplay data and makes sure the data source is correct.
    Planning level for EXIT function data model:
    Characteristics are:
    Assortment Type
    Base Unit
    Climate Zone
    Concept
    Department
    Distribution Channel
    Fiscal year
    Fiscal year/period
    Fiscal Year Variant
    Hierarchy ID
    Lifestyle
    Local currency
    Plng Area
    Posting period
    Sales Organization
    Version
    Volume Group
    Key Figures are:
    Balanced Receipts
    Number of Stores
    Stock Index
    Any helps, comments, and/or hints are greatly appreciated.
    Best regards,
    Sam

    Highly frustrating. I've got the IPlanetDirectoryPro SSO token being set, but the custom code to add additional domain cookies...those are not re-written by the cdservlet, and even if hard-coded for testing (I assume I can parse the domain/URI being requested by parsing the HttpServletRequest, but am just testing now) to the 'new domain,' they are sent but discarded by the browser.
    This is bad, as those custom cookies are required by several apps. Is there any documentation on writing a custom cdcservlet, sample code, code for the existing one, or any other means to do this?
    To be clear - 'basic' CDSSO seems to be working, if a request is made to a resource on Domain B, it directs to the AM host, which is in Domain A. The IPlanetDirectoryPro cookie is being set for Domains A and B in this case, and accepted by the browser. That setting I finally found in AMAgent.properties, here:
    com.sun.am.policy.agents.config.cookie.domain.list (in case this helps someone else in the future)
    However, I have post-process code implementing AMPostAuthProcessInterface which was setting custom cookies required by some apps, and I am unable to change the domain these are set in. More accurately, I can change the domain, and the data is sent, but the browser is then rejecting it, presumably as it's seeing it as a cross-domain cookie, and thus bad/discarding.
    This seems to only leave me with trying to use a custom cdcservlet, assuming I can find the existing code or similar to start with, as I have no idea how it's avoiding the cross domain cookie issue..
    Anyone?

  • Asynch JSON in Spry (Dw CS3)

    I've got sites/pages that I'd like to have load data
    asynchronously;
    after
    the HTML document has loaded and the document object is
    closed. (Much like what is done with auto-suggest examples that
    access Yahoo or Amazon via the XMLHttpRequest object.) The sites I
    manage usually have a
    www.domain.com that serves static HTML content and a
    data.domain.com that serves dynamic content (as data)
    so, I'd like to use JSON as the data delivery method so as to avoid
    the cross-domain issues associated with the XMLHttpRequest object.
    Does Spry framework (as bundled with Dw CS3) support such
    "asynchronous" JSON?

    I don't know if you will have access to this because it's
    still in test:
    http://cinvmos10d:41031/Pages/sprytest.aspx
    Thanks

  • International call using another LD provider calling card

    international call using another LD provider calling card
    last month i used another LD (non-Verizon) provider calling card for one international call. i check my Verizon International calling plan and it says No International Plan Included. 
    this month March i was shocked to see my bill for one International call for $408.39
    this has never happened before. what is happening here ?

    In efforts to avoid duplicate/cross posting on the forums, this thread has been locked.  Please check for responses to your original thread >> HERE
    If a forum member gives an answer you like, give them the Kudos they deserve. If a member gives you the answer to your question, mark the answer that solved your issue as the accepted solution.

  • IOS 5: I want to manage app permissions for multiple Twitter accounts

    I have two Twitter accounts, one personal and one for work. I want to use different apps to manage them to avoid accidental cross posting. However since I upgraded to iOS 5, any account I use in one app seems to then be added to all other apps too.
    I have found the settings panel to allow different apps access to your Twitter credentials or not, but this only work for all Twitter accounts or none. I want to be able to use the phone-wide Twitter integration with my personal account, but I want to lock down my work account to only publish using one specific app. I have tried deleting my work account from the settings panel, and signing into my work account with a third party app, but even though Tweetbot has a button to 'Add account to iOS', apparently it automatically shares it anyway without me giving permission to do so.
    This has already caused problems with third party apps using my Twitter log in and not asking which account I wanted to publish to (so it chose both) and I am not happy that apps which I have not explicitly given permission to are able to do this with my second account. Permissions should be able to be granted on an account basis. If you know of a way to do this, or a third party Twitter app which doesn't share your details with the rest of iOS, I would be very grateful, thanks.

    I have both this and a slightly different question. I have multiple Twitter accounts on both my iOS5 and iOS6 (test) devices. i like to post tweets from various apps like the Wall Street Journal, etc. In my case, the built-in functionality simply seems to pick the first of my Twitter accounts in my list of accounts in the Settings panel, and post to that one. It would seem to make sense that there should be a user-selectable option for which account(s) should process a tweet, and it probably ought to be system-wide. No?

  • Query for extracting specific data

    Hi,
    I had two tables contains more than 10,00,00 records.
    customer_mast table
    (CUSTOMER_ID
    LOGIN_NAME
    CREATE_DATE
    CREDENTIAL_TYPE)
    and customer_prod table
    (CUSTOMER_ID
    CREDENTIAL_TYPE
    IND_PROD_LOGIN_ID)
    IND_PROD_LOGIN_ID(numeric) is the customer card number and LOGIN_NAME is the userid(alphanumeric).
    Now from these two table i need to select only those records as per below condition
    1) LOGIN_NAME same as IND_PROD_LOGIN_ID
    2) Corresponding to IND_PROD_LOGIN_ID there should be only one row in customer_mast table, no duplicate row.
    problem is earlier userid was allowed as numeric as well as alphnumeric. Now after new changes i had changed the rules and allowed only alphanumeric userid only. Now i want to clean up the records which contains the numeric as login_name. But there is problem for some card(IND_PROD_LOGIN_ID) having two entries in the customer_mast table one with numeric and one with alphanumeric this is due to process while registering on my site so for those customer i dont want to delete the records.
    Please help me on this.......

    Please, avoid to cross post over different forums, especially this very forum is not for SQL.
    Here your other thread :
    Select query
    And also, when asking such question, better to say about your Oracle version, your tries so far...
    Nicolas.

  • Cartesian

    Hi,
    Generally How to avoid a Cartesian join in a query?
    How cartesian join works?what logic behind this?please anyone provide simple example.
    Ex :
    select a.file_name,a.bytes,f.bytes from dba_data_Files a,dba_free_Space f where f.tablespace_name='TBS1'
    Anyone provide SQL book for Beginners?
    Thanks & Regards,
    VN
    Edited by: user3266490 on Nov 29, 2011 2:42 AM

    Hi,
    user3266490 wrote:
    Hi,
    Generally How to avoid a Cartesian join in a query?
    How cartesian join works?what logic behind this?please anyone provide simple example.
    Ex :
    select a.file_name,a.bytes Total_space,f.bytes Free_space from dba_data_Files a,dba_free_Space f ;In any join, you are creating a row in the result set (or that you are deciding whehter to include in the result set) that is a combination of a row from one table and a row from another table.
    Usually, those two rows have to be related somehow. For example, when we join the scoot.emp table with the scott.dept table, we want to combine each row from emp with only one row in dept, the row that has the same deptno. That is, the emp table by itself tells us that JONES works in department 20. If we want to display a result set that has JONES and the name of his department (which is found only in hte dept table), then we don't want to combine the row for JONES with the rows from dept that represent departments 10, 30 or 40: we only want to combine the row for JONES with the row for his deptno, whcihis 20, so we say
    SELECT  e.ename
    ,       e.deptno
    ,       d.dname
    FROM    scott.emp   e
    ,       scott.dept  d
    WHERE   e.deptno  = d.deptno
    ;The queyr above shows an Inner Join .
    A Cross Join (also called a Carttesioan Product ) occurs when every row in one table is combined with every row in the other table. Occassionaly, that makes sense, and there are good reasons for doing it, but usually it's a mistake.
    How to avoid a cross join? Include a join condition, that links rows in each of the table to some row in some other table. If you have N tables, then you should have at least N-1 join conditions. If there are more than two tables in the query, they usually won;t all be connected directly to eqach other, but they should be connected at least indirectly . For example, in this query
    SELECT  e.ename
    ,       e.deptno
    ,       d.dname
    ,     s.grade
    FROM    scott.emp     e
    ,       scott.dept       d
    ,     scott.salgrade     s
    WHERE   e.deptno  = d.deptno]
    AND     e.sal       BETWEEN s.losal
                AND       s.hisal
    ;there is no direct connection between the dept and salgrade tables, but there is a connected path leading from dept to salgrade: dept is connected to emp, and emp is connected to salgrade. (And the green grass grew all around, all around, and the green grass grew all around. See
    http://www.schillereducationalresources.com/handouts/Math_Handout-NAEYC.pdf
    What exactly should the join conditions be? That depends on what you're trying to do in the query: what each row in each of the tables represents, and what each row in the result set represents. Even with the same tables, you might want different join conditions for different purposes. I don't know what you're trying to show in the query you posted, you're almost certainly not interested in showing a block of free space in the SYSTEM tablespace along with a file in the USERS tablespace. You're probably not even interested in showing a block a freespeace in one datafile of the SYSTEM tablespace along with the information about a completely different file that happens to be in the same tablesapce, so you might want to say:
    SELECT  a.file_name
    ,     a.bytes          AS Total_space
    ,     f.bytes      AS Free_space
    FROM     dba_data_Files      a
    ,     dba_free_Space     f
    WHERE     a.file_id     = f.file_id
    ;This is one of the many reasons why I prefer ANSI join syntax, like this:
    SELECT  a.file_name
    ,     a.bytes          AS Total_space
    ,     f.bytes      AS Free_space
    FROM     dba_data_Files      a
    JOIN     dba_free_Space     f  ON     a.file_id     = f.file_id
    ;Using ANSI syntax, after each table (exept the first one) there must be the keyword "ON" followed by a join condition. If you forget to give a join condition, then you get a compilation error. Using the old join syntax, you don't get an error, and you may not realize that there was an error.

  • Z30 memory issues.

    I know this has been covered elsewhere, however, my Z30 only has 571 MB of Apps installed, but the Storage is showing that 15.4 GB of 16 GB is used!   I have done a security wipe, several times now, and am sick and tired of having to re-set the phone with email accounts etc etc, only to have the storage going through the roof shortly after.   I don't have any Android apps installed.  
    I'm now at the point where my allegiance to Blackberry is going out the window.   I have had many BB devices including the Z30 and Q10 and numerous Bolds but this is the last straw.  
    The so called 'flagship' of Blackberry is quickly becoming the 'flagfall' and I'm about to get a HTC and move on from my long time relationship with Blackberry, sadly.  

    Hi Wayne,
    How did you get on with this issue?  I have the same with my new Classic running BB10.  The sytsem part of the storage just grows, even with nothing running and the phone idle, eventually it cant function and the only way to help keep it working is to do a few of/ons during the day - it seems to bring the system memory down to between 2.8 and 3.5 gigs and then it creeps up again...
    BB have assisted me with several wipes/resets, i have next to nothing on the phone, literally a few hundred mbs, nothing dodgy side loaded or anything, just haf dozen mainstream apps from BB world and Amazon, all of which function perfectly. They then replaced the handset, but the new on just 3 days old has the same issue desoite it not having been synchronised or switched from the other one, i literally started from scratch to avoid possible cross contamination...
    Thanks,
    Paul.

  • SMARTFORMS - Step by Step Tutorial

    Hi All,
    I am looking for a step-by-step detail example for Smart Forms. It would be great if it was up-to-date and not including the now extinct COMPLEX STRUCTURE option.
    <b><REMOVED BY MODERATOR></b>
    Many Thanks,
    Dips Naik
    SAP Consultant / Project Manager
    Message was edited by:
            Alvaro Tejada Galindo

    Smart Forms:
    Transaction Code for Create Smarf Forms: SMARTFORMS
    Transaction Code for Create Styles (Paragraph Formats, Character Formats, etc.,)  Used in Smart Forms: SMARTSTYLES
    Steps to be followed while creating Smart Forms:
    1.     Enter the Form Name (e.x. ZEKKO_EKPO) and Press Create Button.
    2.     Enter Form Description and Select the “Output options” Tab &#61664; Enter the Page Format (e.x. DINA4) and Style (e.x.SF_STYLE_01).
    3.     Double click the Form interface Left Sub-tree.
    4.     Enter the Import Parameters (The values that passed from the Print Program into the Form) (e.x. Company Code)
    Parameter name     Type assignment     Reference type          Default value          Pass value
    COMPANY_CODE     TYPE               EKKO-BUKRS                         &#61522;
    5.     Double click the Global definitions from the Left Sub-tree.
    Assume that we are using two tables EKKO and EKPO in this example:
    6.     Click the “Types” Tab.
    7.     Enter the Code as following:
    TYPES: BEGIN OF WA_EKKO,
            EBELN LIKE EKKO-EBELN,
            BUKRS LIKE EKKO-BUKRS,
          END OF WA_EKKO.
    TYPES: BEGIN OF WA_EKPO,
            EBELN LIKE EKPO-EBELN,
            EBELP LIKE EKPO-EBELP,
            MENGE LIKE EKPO-MENGE,
            NETPR LIKE EKPO-NETPR,
           END OF WA_EKPO.
    TYPES: T_EKKO TYPE STANDARD TABLE OF WA_EKKO,
           T_EKPO TYPE STANDARD TABLE OF WA_EKPO.
    8.     Click the “Global data” Tab.
    Declare the Internal Tables and Work Areas as follows:
    Variable name          Type assignment     Reference type     Default value           Constant
    I_EKKO          TYPE               T_EKKO
    I_EKPO          TYPE               T_EKPO
    WA_EKKO          TYPE               WA_EKKO
    WA_EKPO          TYPE               WA_EKPO
    9.     Double click the “%PAGE1 New Page” in the Left Sub-tree.
    10.     Change the %PAGE1 to “FIRST” or any name and Enter the Description (e.x. First Page).
    11.     Select the Next Page as “FIRST”
    12.     Select the “Output options” Tab and select the format of the page (Portrait or Landscape) and all other print attributes.
    13.     Select the “Background Picture” Tab, and Enter the Name, Object and Id of the image file. (Before this step, go to SE78 and import the image first) for the Image which has to be appeared in the Background of the Script.
    14.     If you want to add any LOGO in the First Page of the Script then right click the “FIRST New Page” in the Left Sub-tree from the Menu option “Create” &#61664; select the “Graphic”.
    15.     Double click the “%Graphic1 New Graphic 1” in the Left Sub-tree.
    16.     Give the Name and Description (e.x. Graphic = “COMP_LOGO” and Description = “LOGO WINDOW”)for the New Graphic Inserted.
    17.     Enter Name, Object and ID for the Graphic image and Select the Color grid screen (BCOL) option button in the “General attributes” Tab.
    Click - Output options Tab. Set Left and Upper Margins as given:
    18.     Right click the “FIRST New Page” in the Left Sub-tree and from the Menu option “Create” &#61664; select the “Window”.
    19.     Double click the “%WINDOW1 New Window1” in the Left Sub-tree and enter the Window name and Description (e.x. Window = “ADD_WIN” and Description = “Address Window”)
    Set the Left and Upper margins for the ADD_WIN as follows:
    20.     Right click “ADD_WIN Address Window” in Left Sub-tree and from the Menu option “Create” &#61664; select the “Program Lines”.
    21.     Enter the Program Lines name and description (e.x. Program Lines = “ADD_FETCH” and Description = “FETCHING COMPANY ADDRESS”)
    22.     Enter the Input Parameter as  COMPANY_CODE and Export Parameter as V_ADRNR in the “General attributes” Tab and write the select query as following:
    SELECT SINGLE ADRNR INTO V_ADRNR
           FROM T001 WHERE BUKRS EQ COMPANY_CODE.
         (Note: Before writing the select query first declare the Variable V_ADRNR in the Global definitions area as follows:
         V_ADRNR           TYPE          T001-ADRNR.
    23.     Right click the “ADD_WIN Address Window” in the Left Sub-tree and from the Menu option “Create” &#61664; select the “Address”.
    24.     Double click the “%ADDRESS1 New address1” and change the Address name and description (e.x. Address = COMP_ADD and Description = “COMPANY ADDRESS”).
    25.     Select the Type of the address in the “General attributes” Tab. (Since we are retrieving the Organization address, we selected the first radio button) and in the Address number text box pass the V_ADRNR Variable as &V_ADRNR&.
    26.     Set the Main window attributes like this: (Setting of window co-ordinates)
    27.     Right click the “MAIN Main Window” in the Left Sub-tree and from the Menu option “Create” &#61664; select the “Program Lines”.
    28.     Enter the name and description (e.x. Program Lines = “SELECT_RECORD” and Description = “SELECTING RECORDS”).
    29.     Enter the Input Parameter as  COMPANY_CODE and Output Parameter as I_EKKO and I_EKPO in the “General attributes” Tab and write the select query as following:
    SELECT EBELN BUKRS
           INTO TABLE I_EKKO
           FROM EKKO
           UP TO 10 ROWS
           WHERE BUKRS EQ COMPANY_CODE.
    IF SY-SUBRC EQ 0.
      SORT I_EKKO BY EBELN.
      SELECT EBELN EBELP MENGE NETPR
             INTO TABLE I_EKPO
             FROM EKPO
             FOR ALL ENTRIES IN I_EKKO
             WHERE EBELN EQ I_EKKO-EBELN.
      IF SY-SUBRC EQ 0.
        SORT I_EKPO BY EBELN EBELP.
      ENDIF.
    ENDIF.
    30.     Right click “MAIN Main Window” in the Left Sub-tree and from the Menu option “Create” &#61664; select the “Complex Section”.
    31.     Enter the Section name and description (e.x. Section = “PO_LOOP” and Description = “PURCHASE ORDER NUMBER LOOP”) and check the “Repeat processing” check box and select the “Output type” as Unstructured (i.e. select the Unstructured radio button) in the “General attributes” Tab.
    32.     Select the “Data” Tab.
    33.     Enter the Internal Table Name as I_EKKO and Work area name as WA_EKKO and sort by the BUKRS and EBELN fields.
    34.     Right click “PO_LOOP PURCHASE ORDER NUMBER LOOP” in Left Sub-tree and from the Menu option “Create” &#61664; select the “Text”.
    35.     Enter the Text name and description (e.x. Text = “PO_NO_DISPLAY” and Description = “PURCHASE ORDER NUMBER DISPLAY”) and enter the values as in the screen shot
    Click the Text Editor
    Display the values of Company Code and Purchase Order Number as shown below:
    Press Back Button, then Press Save and Check Buttons
    36.     Right click the “PO_LOOP PURCHASE ORDER NUMBER LOOP” in the Left Sub-tree and from the Menu option “Create” &#61664; select the “Template”.
    37.     Double click on “%TEMPLATE1 New template” and enter the Template name and description (e.x. Template Name = “OI_HEAD” and Description = “ORDER ITEM HEADER”).
    Before press save or enter click the “Table Painter Button” which will take you to following screen.
    To avoid the “cross line” in the Editor click the “Settings Button”
    which will result in the following popup, in which you un-check the “Cross” Check Box and press enter.
    38.     Split the Cell into Four or into any number of columns you want to display in the script by right clicking the “%C1”.
    and press “Back” Button.
    39.     Select the pattern of the table to be displayed in the script by the clicking “Select pattern” Button
    Selected table pattern
    40.     Inorder to Display the “Column Text“ for the table columns, insert the Text as shown below:
    41.     Right click the “OI_HEAD ORDER ITEM HEADER” and from the Menu path “Create” &#61664; Select the “Text” .
    42.     Enter the Text name and description (e.x. Text = “HEAD1” and Description = “COLUMN1”) and enter the values as in the screen shot (i.e. as explained in the point no 34).
    43.     Inorder to match the Template Column with the insertedText  “HEAD1 COLUMN1”, select the “Output  options” Tab and Enter the Line Number and Column Number in which the above Text has to be printed in the form
    44.     Repeat Step No.40 & 41 for all the remaining column headings.
    45.     The Form is ready with all data upto Table Header. Inorder to populate data under each column header, insert a table.
    46.     Insert the Table under “PO_LOOP PURCHASE ORDER NUMBER LOOP” by right clicking the same.
    47.     Enter Table Name and Description (e.x. Table Name = “OI_DISPLAY” and Description = “ORDER ITEM DISPLAY”)
    48.     Match the column width with the “OI_HEAD ORDER ITEM HEADER” Template (refer step no 38 screet shot no 2) and Select the “Default” radio button and “No page break” check box. Click the “Select pattern” push button to select the table pattern to be displayed.
    49.     Click the “Data” and populate the Item details by looping the Internal Table I_EKPO into the Work Area WA_EKPO sorted by EBELN and EBELP as shown in the following screen shot
    50.     Inorder to Display the values for each column, we have to Insert Separate Text for each column under the Table “OI_DISPLAY ORDER ITEM DISPLAY” by Right clicking the same. Enter the Name and Description for the Each Text Inserted under the Table.
    Column 1 for Line Item of each Purchase Order – Populate the values for each column as explained in the step no 34.
    Inorder to Match the Item values with the Template Header, In the Inserted Text “ORD_ITM_COL COLUMN1” Click the “Output options” and Select the “New line” Check box and Select the “Line type” as “Detail” and also check the “New cell” Check box.
    51.     Similary add one Text for the remaining columns.
    For the Second Column Text You need only to select the “New cell” Check box.
    For the Third Column Text also You need only to select the “New cell” Check box.
    52.     Before Inserting the 4th Text for the 4th Column, we have to calculate the Amount by Multiplying the Quantity and Unit Price and for the same we have to insert “Program Lines” by Right clicking “OI_DISPLAY ORDER ITEM DISPLAY”
    53.     Similarly calculate the subtotal by adding the totals and calculate the grand total by adding the subtotals.
    Before doing the calculations, declare variables for total, subtotal and grand total in Global definitions.
    InputParameters: WA_EKPO-MENGE,WA_EKPO-NETPR & OutputParameters: V_TOTAL,V_SUBTOTAL, V_GRDTOTAL.
    54.     Now add the 4th Text to display the 4th column in the Form.
    For the Fourth Column Text also You need only to select the “New cell” Check box.
    55.     Inorder to display the Subtotals (which has been created earlier i.e. refer to step no 52) of all the Line Items for each Purchase Order, we have to Insert a separate Text Under the Table OI_DISPLAY ORDER ITEM DISPLAY” by right clicking the same.
    56.     Enter the Name and Description for the Inserted Text (e.x. Text = “SUB_TOTAL_DISPLAY” and Description = “SUB_TOTAL_DISPLAY” and populated the value for subtotal.
    57.     After each purchase order, the Variable V_SUBTOTAL has to be refreshed, Inorder the clear the subtotal variable we have to insert “Program Lines” by right clicking the “OI_DISPLAY ORDER ITEM DISPLAY”.
    58.     Enter Name and Description for the Program Lines (%CODE1 New program lines 1) Inserted (e.x. Program lines = “CLR_VAR” and Description = “CLEAR SUBTOTAL VARIABLE”. Input parameters = “V_SUBTOTAL”. Clear the variable as shown below:
    59.     Now, we have to display the Grand Total (i.e. summation of all the subtotals). Insert “Text”  under the “PO_LOOP PURCHASE ORDER NUMBER LOOP” by right clicking the same.
    Text “%TEXT1 New text1” gets inserted. Now enter the name and description for the same and also populated the value for grand total
    Text = “GRD_TOT_DISP”, Description = “GRAND TOTAL DISPLAY” and Variable V_GRDTOTAL has been populated to display the grand total in the form.
    60.     Inorder to display the Current Page Number and Total Number of pages in the form we need a separate window and to obtain the same right click the “FIRST First Page” and the insert window.
    Window “%WINDOW1 New window 1” get inserted under the first page.
    61.     Enter the Window name and description (e.x. Window = “PG_WIN” and Description “PAGE NUMBER WINDOW”)
    Set the window co-ordinates for page number window “PG_WIN” as given below:
    62.     Inorder to display the page numbers we have to insert a “Text” by right clicking the “PG_WIN PAGE NUMBER WINDOW”.
    Text “%TEXT1 New text 1” gets inserted and now enter the text name and description.
    Text = “PG_DISP”, Description = “PAGE NUMBER DISPLAY” and Page Number gets displayed from the Transparent Table “SFSY”.
    63.     General Screen Shot of Entire Left Sub-tree:
    64.     Form output:
    65.     SOME MORE FURTHER MODIFICATIONS / ADDITIONAL OPTIONS IN THE ABOVE CREATED FORM:
    Condition-1: Create second page and company logo should get printed only in the first page and not in the second page. Similarly, company address window should get printed only in the last page and not in other pages.
    To create the second page right click the “FIRST First Page” in the left sub-tree.
    66.     Another page gets inserted with name “%PAGE1 New page 1”.
    67.     Enter Page name and description for the inserted new page (e.x. Page = “SECOND” and Description = “Second Page”) and set the next page as inserted second page and select the mode as increase counter as shown below:
    68.     Now change the “FIRST First Page”s Next page as “SECOND” and change the mode as Initialize counter.
    69.     Now copy the Main, Company Address, Page No windows from “FIRST First Page “ to “SECOND Second Page”.
    70.     Arrange all the windows under the Main window in both first and second page. Inorder to restrict the company logo to be printed only in the first page, go to the first page and double click the “LOGO_WIN LOGO WINDOW” and select the “Conditions” tab and Check the “only on first page” Check Box.
    71.     Output showing the main window got printed only in the first page and not in the second page and so on ….
    First Page: With LOGO
    Second Page: Without LOGO
    72.     Inorder to restrict the Company address to be printed only in the last page and not in the remaining pages, double click the “ADD_WIN ADDRESS WINDOW” in the first page and Check the “only after end of main window” Check Box. Repeat the same process for the second page also.
    73.     Output showing the address window got printed only in the last page and not in the first page and so on ….
    First Page: without company address
    Last page (second page): with company address window
    74.     Condition-2: Purchase order’s whose value is more than 5000 only should get displayed / printed.
    Inorder  to achieve the same, right click the “PO_LOOP PURCHASE ORDER NUMBER LOOP” and select the “Loop”.
    75.     “%LOOP1 New loop 1” gets inserted
    76.     Enter Loop name and description.
    77.     Select the “Data” Tab Loop the Internal I_EKPO as shown below:
    78.     Inorder to check the subtotal value for each purchase order (i.e. purchase order value should be more than 5000), Insert a program lines under the new loop inserted.
    79.     “%CODE1 New program lines 1” gets inserted
    80.     Enter the name and description for Program lines. Before calculating the subtotal declare two variables one for total and another for subtotal in Global definitions. Calculate the Subtotal as shown below:
    Input parameters: “WA_EKPO-MENGE, WA_EKPO-NETPR, V_TOT”; Output Parameters: “V_VALUE”.
    81.     Now we calculated the subtotal for each purchase order. Inorder to restrict the display of purchase orders whose values are more than 5000, we need to insert “Alternate” and for the same right click the “PO_LOOP PURCHASE ORDER NUMBER LOOP” and from the menu path create &#61664; select the “Alternate”.
    82.     “%CONDITION1 New alternate 1” gets inserted.
    83.     Enter Alternate name and description. Select the “General attributes” Tab and Enter the condition of subtotal > 5000 as shown:
    84.     Now, move “PO_NO_DISPLAY PURCHASE ORDER NUMBER DISPLAY, OI_HEAD ORDER ITEM HEADER, OI_DISPLAY ORDER ITEM DISPLAY, SUB_TOTAL_DISPLAY DISPLAY SUBTOTAL and CLR_VAR New program lines” under the “TRUE” part.
    85.     In the “FALSE” part (i.e. If subtotal value is less than 5000, then clear the variable), insert program lines and code as shown:
    86.     Only those purchase order whose value is more than 5000 gets displayed – First Page.
    Only those purchase order whose value is more than 5000 gets displayed – Second Page.
    87.     Condition-3 Each Purchase Order should get printed in a new page. Logo should get printed in the first page along with the first purchase order and similarly, Grand total should get printed in the last page with the last purchase order.
    88.     Inorder to achieve this, when the first successful purchase order whose value is more than 5000 is found then increase one counter variable by 1 (this is required because the “New page command” should not get triggered in the first page itself”) and for the same we have to insert a “Program lines” under the “TRUE” part of “CHK_COND SUBTOTAL CONDITION”.
    Before increasing the counter variable first declare the counter variable in the “Global definitions” part.
    Output parameters: V_COUNTER.
    89.     Inorder to avoid triggering “New page command” in the first page, we have to insert “Command” in the “TRUE” part of “CHK_COND SUBTOTAL CONDITION” by right clicking the same as shown below:
    90.     “%COMMAND1      New command 1” gets inserted.
    91.     Enter name and description for the inserted Alternative. Select “General attributes” Tab and check whether for the counter variable is more than 1.
    92.     If the counter variable is more than 1 means, we got the second successful purchase order whose value is more than 5000. Hence, we can trigger new page command here and for the same right click the “TRUE” part in “NEW_PG NEW PAGE COMMAND” as shown:
    “%COMMAND1 New command 1” gets inserted
    93.     Enter the name and description for Command and select the “General attributes” Tab and Check the “Go to new page” and select the page as “SECOND” as shown below:
    94.     The following is the output: First Page with company logo and without company address window, first purchase order whose value is more than 5000.
    Second page: without company logo and with company address window for the last purchase order whose value is more than 5000.
    95.     The new PROBLEM we faced when we create the smart form is page number. Total Page Number got displayed as “*” as shown:
    96.     Inorder to solve the above problem Double Click the “PG_DISP PAGE NUMBER DISPLAY” and Click the Text Editor.
    Upon clicking the text editor it will take you to the following screen:
    Cut (Ctrl+X) the “SFSY-FORMPAGES” and delete the remaining things as shown.
    Go to the menu path Insert &#61664; Symbols &#61664; New as shown
    Which will result you in the following popup and fill the popup as shown.
    97.     It will takes you to the following screen.
    98.     Now replace &SFSY-FORMPAGES4(4CZ)& as &SFSY-FORMPAGES0(4CZ)&
    99.     Press back and then check, activate and execute – You can observe that the problem has resolved.
    100.     Enjoy and try to create more smart forms……..
    Reward Points if useful....
    Regards,
    Sarathy.

Maybe you are looking for

  • How to open Raw files from Panasonic FZ-200 in PSE10? [was:P]

    Photoshop 10 nimmt die RW2-Dateien meinr Panasonic FZ-200 Kamera nicht an, weil der Dateityp falsch ist. Was kann man tun?

  • Solaris 10 problem with network installiation

    I have recently gotten about 20 new ultra 20s and all of them were configured in the same way. All of them work except for one. i have tried both adapters on the device and neither one of them can hold a connection. i have tried changing the hostname

  • More VRAM in 20"?

    I consider buying a iMac C2D 20", which for now will be expanded with 2 GB of RAM, 500 GB HD and a 2.33 GHz processor. However, I wonder if it's useful to upgrade the video card to 256 MB VRAM (vs. 128). I am not a gamer, but maybe, as the time passe

  • Where is my antivirus software on my new mac?

    i just got my new macbook in the mail and i am setting it up now, but i have yet to find the an antivirus software. Does the macbook come with it or do i have to buy it separately? i did purchase the extended apple care and the disks have not made it

  • Photos on old iPhone 3G

    Ok I've done something wrong I am sure. I synched my iPhone 3G and my iPad 1 on my MacBookPro before activating my new iPhone 4s, however now I realize as I am preparing to give it away that many photos are not on my MacBook. I think all my music is