Please help in following case

Please help in following case u2013
Sales Quantity Contract has a quantity 75,000 Tons. The rate is 24.50$ so the total amount is 18327500.
But the actual quantity in order is 77,500 (2500 tons extra) . Now I would like to bill the extra quantity at a different rate (25$). Also in billing document I need two lines to mentioned break up of quantity and rate like u2013
75000 X 24.50
2500 X 25
How to deal with this situation in pricing / condition type?

Hello,
You will have to insert another Line Item of the same Material with additonal quantity. This will ensure that you will have separate Line Items in Invoice also.
Now coming to Price. If your Price is entered manually in Sales Order, then you can easily enter different Price for each item (24.5 for 75000 & 25 for 2500). But this will not be the case & Price will be determined based on Condition Records.
Now, look for a free field in Sales Order, my suggestion will be either of - Material Pricing Group or Price Group or Customer Group or Price LIst. These feild are at Sales B tab at Item Level in Sales Order. I am sure one or two of these will not be used currently in your company.
Say you select Price Group. Goto IMG - Sales and Distribution - Basic Functions - Pricing - Maintain Price-Relevant Master Data Fields - Define pricing groups for customers. Here define a variable say 01 - Extra material.
Now insert this field in your Condition Table for Pricing & maintain condition record for the same. Thus while creating Sales Order, user will have to select 'Extra Material" in Price Group field in Sales Order & system will automatically determined Price.
Hope this helps,
Thanks,
Jignesh Mehta

Similar Messages

  • My Iphone still wont show in Itunes ,I have restored to factory settings as a last resort and now it wond restore fromI tunes -please help.Have followed steps ,re-starting etc

    my Iphone wouldnt connect to I tunes -I wanted to update .
    I did ring apple support and was guided through restoring to factory settings .My phone was supposed to then re-start and appear in I tunes .It hasnt and I have  a phone which is useless .Please help ????

    You didn't specify what OS your computer is.
    Windows: http://support.apple.com/kb/ts1538
    Os x: http://support.apple.com/kb/ts1591

  • Can you please help on this case

    hi currently  we are reading data from jmsAQ this is web service based adapter,
    here right now we did n't pick the data from queue, instances are not created  in domain log file it's showing following type of exception
    <2013-06-13 06:58:12,414> <ERROR> <routes_sitehub_dsp.collaxa.cube.engine.data> <ProxyInvocationHandler::invoke> Caught invocation exception
    ORABPEL-02152
    Instance not found in datasource.
    The process domain was unable to fetch the instance with key "047b94d18a219ef6:5f067af2:13ee47aaec0:b96" from the datasource.
    Please check that the instance key "047b94d18a219ef6:5f067af2:13ee47aaec0:b96" refers to a valid instance that has been started and not removed from the process domain.
            at com.collaxa.cube.engine.data.AdminFinder.lookupInstanceByConversationId(AdminFinder.java:307)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at com.collaxa.cube.engine.data.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:58)
            at $Proxy1.lookupInstanceByConversationId(Unknown Source)
            at com.collaxa.cube.ejb.impl.FinderBean.lookupInstanceByConversationId(FinderBean.java:205)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
            at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
            at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
            at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
            at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
            at com.evermind.server.ThreadState.runAs(ThreadState.java:693)
            at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
            at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
            at com.evermind.server.ejb.interceptor.system.TxNotSupportedInterceptor.invoke(TxNotSupportedInterceptor.java:43)
            at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
            at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
            at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
            at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
            at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
            at FinderBean_RemoteProxy_4bin6i8.lookupInstanceByConversationId(Unknown Source)
            at com.oracle.bpel.client.Locator.lookupInstance(Locator.java:450)
            at _displayInstance._jspService(_displayInstance.java:123)
            at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
            at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
            at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
            at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
            at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
            at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:400)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
            at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:414)
            at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
            at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
            at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:259)
            at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:51)
            at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
            at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:284)
            at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:198)
            at com.collaxa.cube.fe.DomainFilter.doFilter(DomainFilter.java:230)
            at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
            at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:400)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
            at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:414)
            at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
            at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
            at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
            at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
            at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
            at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
            at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
            at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
            at java.lang.Thread.run(Thread.java:595)
    <2013-06-13 06:58:12,436> <ERROR> <routes_sitehub_dsp.collaxa.cube.engine.data> <ProxyInvocationHandler::invoke> Not fatal connection error ... not retrying: class com.collaxa.cube.engine.core.InstanceNotFoundException: Instance not found in datasource.
    The process domain was unable to fetch the instance with key "047b94d18a219ef6:5f067af2:13ee47aaec0:b96" from the datasource.
    Please check that the instance key "047b94d18a219ef6:5f067af2:13ee47aaec0:b96" refers to a valid instance that has been started and not removed from the process domain.
    <2013-06-13 06:58:12,437> <WARN> <routes_sitehub_dsp.collaxa.cube> <BaseCubeSessionBean::logWarning> Error while invoking bean "finder": [com.collaxa.cube.engine.core.InstanceNotFoundException: Instance not found in datasource.
    The process domain was unable to fetch the instance with key "047b94d18a219ef6:5f067af2:13ee47aaec0:b96" from the datasource.
    Please check that the instance key "047b94d18a219ef6:5f067af2:13ee47aaec0:b96" refers to a valid instance that has been started and not removed from the process domain.
    ORABPEL-02152
    Instance not found in datasource.
    The process domain was unable to fetch the instance with key "047b94d18a219ef6:5f067af2:13ee47aaec0:b96" from the datasource.
    Please check that the instance key "047b94d18a219ef6:5f067af2:13ee47aaec0:b96" refers to a valid instance that has been started and not removed from the process domain.
            at com.collaxa.cube.engine.data.AdminFinder.lookupInstanceByConversationId(AdminFinder.java:307)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at com.collaxa.cube.engine.data.ProxyInvocationHandler.invoke(ProxyInvocationHandler.java:58)
            at $Proxy1.lookupInstanceByConversationId(Unknown Source)
            at com.collaxa.cube.ejb.impl.FinderBean.lookupInstanceByConversationId(FinderBean.java:205)
            at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
            at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
            at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
            at java.lang.reflect.Method.invoke(Method.java:585)
            at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
            at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
            at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
            at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
            at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
            at com.evermind.server.ThreadState.runAs(ThreadState.java:693)
            at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
            at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
            at com.evermind.server.ejb.interceptor.system.TxNotSupportedInterceptor.invoke(TxNotSupportedInterceptor.java:43)
            at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
            at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
            at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
            at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
            at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
            at FinderBean_RemoteProxy_4bin6i8.lookupInstanceByConversationId(Unknown Source)
            at com.oracle.bpel.client.Locator.lookupInstance(Locator.java:450)
            at _displayInstance._jspService(_displayInstance.java:123)
            at com.orionserver.http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)
            at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)
            at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)
            at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
            at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
            at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:400)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
            at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:414)
            at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
            at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
            at com.evermind.server.http.ServletRequestDispatcher.unprivileged_forward(ServletRequestDispatcher.java:259)
            at com.evermind.server.http.ServletRequestDispatcher.access$100(ServletRequestDispatcher.java:51)
            at com.evermind.server.http.ServletRequestDispatcher$2.oc4jRun(ServletRequestDispatcher.java:193)
            at oracle.oc4j.security.OC4JSecurity.doPrivileged(OC4JSecurity.java:284)
            at com.evermind.server.http.ServletRequestDispatcher.forward(ServletRequestDispatcher.java:198)
            at com.collaxa.cube.fe.DomainFilter.doFilter(DomainFilter.java:230)
            at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)
            at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:400)
            at java.security.AccessController.doPrivileged(Native Method)
            at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
            at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:414)
            at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)
            at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
            at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
            at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
            at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
            at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
            at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
            at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
            at java.lang.Thread.run(Thread.java:595)

    See if anything in here helps; http://superuser.com/questions/380330/mac-convert-from-case-sensitive-to-case-insensitive- file-system

  • Tried all suggestions for removing Babylon - PLEASE HELP. Followed all instructions and still comes back

    I have tried all the suggestions I can find - none work. Happened before and it went after following the suggestions - guess they have found a way to subvert those - can anyone help?? PLEASE

    needed to remove "browser manager" in control panel. Sorted now

  • Please help in following problem.

    hello sir,
             i have problem related with d inventory that is "Average price cannot be negative" .what r d possible reasons for this problem.
               Thanks
               Regards.
                sudhir

    Hai sudhir,
                <b>Go to admin-setup-document settings</b>-check block negative inventory field is active r not.if it is not active make it active
    Regards,
    Rajkumar

  • Export error. Please help

    Hi ALL,
    When i try to export the database i am getting the following error. Please help
    C:\>exp cas/compass@prd_test file='I:\Prd_dumb222_refresh\backup_before_refresh\exp_cas_backupbeforefresh_020310.dmp' log='I:\Prd_dumb222_refresh\backup_before_refresh\exp_cas_backupbeforefresh_020310.log'
    Export: Release 10.2.0.1.0 - Production on Wed Feb 3 06:04:25 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    EXP-00056: ORACLE error 6550 encountered
    ORA-06550: line 1, column 41:
    PLS-00302: component 'SET_NO_OUTLINES' must be declared
    ORA-06550: line 1, column 15:
    PL/SQL: Statement ignored
    EXP-00000: Export terminated unsuccessfully
    The version of the db and export utility is same as u see from below.
    C:\>sqlplus "/as sysdba"
    SQL*Plus: Release 10.2.0.1.0 - Production on Wed Feb 3 06:06:35 2010
    Copyright (c) 1982, 2005, Oracle.  All rights reserved.
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
    With the Partitioning, OLAP and Data Mining options
    SQL>
    Regards
    Arun Kumar

    One of the most common causes of these errors is that you are using a higher version of the export utility compared to your RDBMS version. For instance, you might be using the Oracle 10.2.0 exp utility against an Oracle 9.2.0 database. Use the 9.2.0 exp utility instead. Metalink Note 132904.1 discusses the compatibility matrix between exp and database versions.

  • Since OS X update, under Citrix Reciever, the keyboard doesn't work anymore. The trackpad does. Please help.

    I have a Macbook air. OS X 10.9.5. Since OS X update, under Citrix Reciever, the keyboard doesn't work anymore. The trackpad does. Please help.

    The following from the Citrix forums indicates others are having the same problem and that one has opened a case number with Citrix: http://discussions.citrix.com/topic/355864-os-x-1095-safari-71/

  • Trying to get my iphone5 to backup with icloud. i tried the set up the way the tutorial stats but still when i try it says backup was unable to complete. i have anipad running with the same icloud account and it has no problem. please help.

    trying to set up icloud on my iphone5 and it keeps saying that its unable to complete the back up.. i have it running on my ipad just fine.. please help. i followed all the steps in the tutorial.. thank you

    Hi DesCoop,
    You must initiallly activate iCloud from an IOS device or a Mac. You cannot inititally activated from a PC.
    Sorry.
    GB

  • Please help me with the following two questions, very urgent

    Hi All,
    Please help me with some scenerios about what are the common problems when modifying a standard script such a standard Invoice script and how can we overcome them.
    What are the common problems encountered when working with SAP SMARTFORMS and how to overcome them?
    Please help me with these questions, its very urgent.
    Thanks in advance.
    MD.

    hi
    hope it will help you.
    reward if ehlp.
    How to create a New smartfrom, it is having step by step procedure
    http://sap.niraj.tripod.com/id67.html
    step by step good ex link is....
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    Here is the procedure
    1. Create a new smartforms
    Transaction code SMARTFORMS
    Create new smartforms call ZSMART
    2. Define looping process for internal table
    Pages and windows
    First Page -> Header Window (Cursor at First Page then click Edit -> Node -> Create)
    Here, you can specify your title and page numbering
    &SFSY-PAGE& (Page 1) of &SFSY-FORMPAGES(Z4.0)& (Total Page)
    Main windows -> TABLE -> DATA
    In the Loop section, tick Internal table and fill in
    ITAB1 (table in ABAP SMARTFORM calling function) INTO ITAB2
    3. Define table in smartforms
    Global settings :
    Form interface
    Variable name Type assignment Reference type
    ITAB1 TYPE Table Structure
    Global definitions
    Variable name Type assignment Reference type
    ITAB2 TYPE Table Structure
    4. To display the data in the form
    Make used of the Table Painter and declare the Line Type in Tabstrips Table
    e.g. HD_GEN for printing header details,
    IT_GEN for printing data details.
    You have to specify the Line Type in your Text elements in the Tabstrips Output options.
    Tick the New Line and specify the Line Type for outputting the data.
    Declare your output fields in Text elements
    Tabstrips - Output Options
    For different fonts use this Style : IDWTCERTSTYLE
    For Quantity or Amout you can used this variable &GS_ITAB-AMOUNT(12.2)&
    5. Calling SMARTFORMS from your ABAP program
    REPORT ZSMARTFORM.
    Calling SMARTFORMS from your ABAP program.
    Collecting all the table data in your program, and pass once to SMARTFORMS
    SMARTFORMS
    Declare your table type in :-
    Global Settings -> Form Interface
    Global Definintions -> Global Data
    Main Window -> Table -> DATA
    Written by : SAP Hints and Tips on Configuration and ABAP/4 Programming
    http://sapr3.tripod.com
    TABLES: MKPF.
    DATA: FM_NAME TYPE RS38L_FNAM.
    DATA: BEGIN OF INT_MKPF OCCURS 0.
    INCLUDE STRUCTURE MKPF.
    DATA: END OF INT_MKPF.
    SELECT-OPTIONS S_MBLNR FOR MKPF-MBLNR MEMORY ID 001.
    SELECT * FROM MKPF WHERE MBLNR IN S_MBLNR.
    MOVE-CORRESPONDING MKPF TO INT_MKPF.
    APPEND INT_MKPF.
    ENDSELECT.
    At the end of your program.
    Passing data to SMARTFORMS
    call function 'SSF_FUNCTION_MODULE_NAME'
    exporting
    formname = 'ZSMARTFORM'
    VARIANT = ' '
    DIRECT_CALL = ' '
    IMPORTING
    FM_NAME = FM_NAME
    EXCEPTIONS
    NO_FORM = 1
    NO_FUNCTION_MODULE = 2
    OTHERS = 3.
    if sy-subrc <> 0.
    WRITE: / 'ERROR 1'.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    call function FM_NAME
    EXPORTING
    ARCHIVE_INDEX =
    ARCHIVE_INDEX_TAB =
    ARCHIVE_PARAMETERS =
    CONTROL_PARAMETERS =
    MAIL_APPL_OBJ =
    MAIL_RECIPIENT =
    MAIL_SENDER =
    OUTPUT_OPTIONS =
    USER_SETTINGS = 'X'
    IMPORTING
    DOCUMENT_OUTPUT_INFO =
    JOB_OUTPUT_INFO =
    JOB_OUTPUT_OPTIONS =
    TABLES
    GS_MKPF = INT_MKPF
    EXCEPTIONS
    FORMATTING_ERROR = 1
    INTERNAL_ERROR = 2
    SEND_ERROR = 3
    USER_CANCELED = 4
    OTHERS = 5.
    if sy-subrc <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    endif.
    Smartform
    you can check this link here you can see the steps and you can do it the same by looking at it..
    http://smoschid.tripod.com/How_to_do_things_in_SAP/How_To_Build_SMARTFORMS/How_To_Build_SMARTFORMS.html
    SMARTFORMS STEPS.
    1. In Tcode se11 Create a structure(struct) same like the Internal table that you are going to use in your report.
    2. Create Table type(t_struct) of stracture in se11.
    3. In your program declare Internal table(Itab) type table of structure(struct).
    4. Define work area(wa) like line of internal table.
    5. Open Tcode Smartforms
    6. In form Global setting , forminterface Import parameter define Internal table(Itab) like table type of stracture(t_struct).
    7. In form Global setting , Global definitions , in Global data define Work area(wa) like type stracture(struct).
    8. In form pages and window, create Page node by default Page1 is available.
    9. In page node you can create numbers of secondary window. But in form there is only one Main window.
    10. By right click on page you can create windows or Go to Edit, Node, Create.
    11. After creating the window right click on window create table for displaying the data that you are passing through internal table.
    12. In the table Data parameter, loop internal internal table (Itab) into work area(wa).
    13. In table there are three areas Header, Main Area, Footer.
    14. Right click on the Main area create table line by default line type1 is there select it.
    15. Divide line into cells according to your need then for each cell create Text node.
    16. In text node general attribute. Write down fields of your work area(wa) or write any thing you want to display.
    17. Save form and activate it.
    18. Then go to Environment, function module name, there you get the name of function module copy it.
    19. In your program call the function module that you have copied from your form.
    20. In your program in exporting parameter of function pass the internal table(itab).
    SAP Smart Forms is introduced in SAP Basis Release 4.6C as the tool for creating and maintaining forms.
    SAP Smart Forms allow you to execute simple modifications to the form and in the form logic by using simple graphical tools; in 90% of all cases, this won't include any programming effort. Thus, a power user without any programming knowledge can
    configure forms with data from an SAP System for the relevant business processes.
    To print a form, you need a program for data retrieval and a Smart Form that contains the entire from logic. As data retrieval and form logic are separated, you must only adapt the Smart Form if changes to the form logic are necessary. The application program passes the data via a function module interface to the Smart Form. When activating the Smart Form, the system automatically generates a function module. At runtime, the system processes this function module.
    You can insert static and dynamic tables. This includes line feeds in individual table cells, triggering events for table headings and subtotals, and sorting data before output.
    You can check individual nodes as well as the entire form and find any existing errors in the tree structure. The data flow analysis checks whether all fields (variables) have a defined value at the moment they are displayed.
    SAP Smart Forms allow you to include graphics, which you can display either as part of the form or as background graphics. You use background graphics to copy the layout of an existing (scanned) form or to lend forms a company-specific look. During printout, you can suppress the background graphic, if desired.
    SAP Smart Forms also support postage optimizing.
    Also read SAP Note No. 168368 - Smart Forms: New form tool in Release 4.6C
    What Transaction to start SAP Smart Forms?
    Execute transaction SMARTFORMS to start SAP Smart Forms.
    Key Benefits of SAP Smart Forms:
    SAP Smart Forms allows you to reduce considerably the implementation costs of mySAP.com solutions since forms can be adjusted in minimum time.
    You design a form using the graphical Form Painter and the graphical Table Painter. The form logic is represented by a hierarchy structure (tree structure) that consists of individual nodes, such as nodes for global settings, nodes for texts, nodes for output tables, or nodes for graphics.
    To make changes, use Drag & Drop, Copy & Paste, and select different attributes.
    These actions do not include writing of coding lines or using a Script language.
    Using your form description maintained in the Form Builder, Smart Forms generates a function module that encapsulates layout, content and form logic. So you do not need a group of function modules to print a form, but only one.
    For Web publishing, the system provides a generated XML output of the processed form.
    Smart Forms provides a data stream called XML for Smart Forms (XSF) to allow the use of 3rd party printing tools. XSF passes form content from R/3 to an external product without passing any layout information about the Smart Form.
    SmartForms System Fields
    Within a form you can use the field string SFSY with its system fields. During form processing the system replaces these fields with the corresponding values. The field values come from the SAP System or are results of the processing.
    System fields of Smart Forms
    &SFSY-DATE&
    Displays the date. You determine the display format in the user master record.
    &SFSY-TIME&
    Displays the time of day in the form HH:MM:SS.
    &SFSY-PAGE&
    Inserts the number of the current print page into the text. You determine the format of the page number (for example, Arabic, numeric) in the page node.
    &SFSY-FORMPAGES&
    Displays the total number of pages for the currently processed form. This allows you to include texts such as'Page x of y' into your output.
    &SFSY-JOBPAGES&
    Contains the total page number of all forms in the currently processed print request.
    &SFSY-WINDOWNAME&
    Contains the name of the current window (string in the Window field)
    &SFSY-PAGENAME&
    Contains the name of the current page (string in the Page field)
    &SFSY-PAGEBREAK&
    Is set to 'X' after a page break (either automatic [Page 7] or command-controlled [Page 46])
    &SFSY-MAINEND&
    Is set as soon as processing of the main window on the current page ends
    &SFSY-EXCEPTION&
    Contains the name of the raised exception. You must trigger your own exceptions, which you defined in the form interface, using the user_exception macro (syntax: user_exception <exception name >).
    Example Forms Available in Standard SAP R/3
    SF_EXAMPLE_01
    Simple example; invoice with table output of flight booking for one customer
    SF_EXAMPLE_02
    Similar to SF_EXAMPLE_01 but with subtotals
    SF_EXAMPLE_03
    Similar to SF_EXAMPLE_02, whereby several customers are selected in the application program; the form is called for each customer and all form outputs are included in an output request
    Advantages of SAP Smart Forms
    SAP Smart Forms have the following advantages:
    1. The adaption of forms is supported to a large extent by graphic tools for layout and logic, so that no programming knowledge is necessary (at least 90% of all adjustments). Therefore, power user forms can also make configurations for your business processes with data from an SAP system. Consultants are only required in special cases.
    2. Displaying table structures (dynamic framing of texts)
    3. Output of background graphics, for form design in particular the use of templates which were scanned.
    4. Colored output of texts
    5. User-friendly and integrated Form Painter for the graphical design of forms
    6. Graphical Table Painter for drawing tables
    7. Reusing Font and paragraph formats in forms (Smart Styles)
    8. Data interface in XML format (XML for Smart Forms, in short XSF)
    9. Form translation is supported by standard translation tools
    10. Flexible reuse of text modules
    11. HTML output of forms (Basis release 6.10)
    12. Interactive Web forms with input fields, pushbuttons, radio buttons, etc. (Basis-Release 6.10)

  • Please Help: Trouble with nested CASE statement and comparing dates

    Please tell me why the query below is always returning the bold null even when the start_date of OLD is greater than or equal to the start_date of NEW.
    What I want to do is get the difference of the start_dates of two statuses ( Start_date of OLD - Start_date of NEW) if
    1. end_date of NEW is not null
    2. start_date of OLD is greater than start_date of NEW
    else return null.
    select id,
    case when max(end_date) keep (dense_rank last order by decode(request_wflow_status,'New',1,0),start_date) is null then
    null
    else
              case when max(decode(status,'OLD',start_date,null)) > max(decode(status,'NEW',start_date,null))
              then max(decode(status,'OLD',start_date,null)) - max(decode(status,'NEW',start_date,null))
    else
    null
    end
    end result
    from cc_request_status where id =1
    group by id;

    Avinash,
    Thank you for your help.. Here is a more description of my problem..
    Here is a sample of data I have for a table with four columns (id,status,start_date,end_date)
    What I need to do is to get difference of the start dates of the maximum available dates, if data is valid. The pseducode is as follows:
    IF end_date of New status is null
    THEN return null
    ELSE
    IF start_date of old >= start_date of new
    THEN return (start_date of old - start_date of new)
    ELSE return null
    I used the following query but always return the bold null
    select id,
    (case when max(end_date) keep (dense_rank last order by decode(status,'new',1,0),start_date) is null then
    null
    else
              (case when max(decode(status,'old',start_date,null)) >=
              max(decode(status,'new',start_date,null))
              then max(decode(status,'old',start_date,null)) - max(decode(status,'new',start_date,null))
    else
    null
    end)
    end) result
    from tbl where id =1
    Based on the below sample, I expected to get the following result; 14-Mar-07 - 16-Feb-07 which is the difference of the maximum start_dates of the two statuses. However the query is not working.. Please help me.. Thank you..
    Id    Status    start_date      end_date
    1     new      03-Feb-07      07-Feb-07
    1     new      16-Feb-07      21-Feb-07
    1     old      '10-Mar-07      12-Mar-07
    1     old      '14-Mar-07      16-Mar-07

  • Please help: more than one case won't work

    I am working on an assignment for my class and I am trying to make it so that when a name like "Fred" or "Jonathan" is inputed, it will read a .txt file and output the nick name from the .txt file; but also, if the input does not match the first name, it will look at the next and so on. Right now it will ask me a name and let me input, but it will not find the case and print the correct line. Please help.
    Here is my code so far:
    import java.util.*;
    import java.io.*;
    public class Nickname {
         private static int compareNames(){
              Scanner name1 = new Scanner (System.in);
              String fred = name1.next().trim() ;
              String jon = name1.next().trim() ;
              String noMatch = name1.next();
              int name = 0;
              if (fred.equals("fred")) { name = 1 ;}
                   else if (jon.equals("jonathan")) { name = 2 ;}
                   else if (noMatch.equals("")) {name = 77;}
              return (name);
         public static void main(String[] args) throws Exception {
              Scanner fre = new Scanner (new File ("fred.txt"));
              Scanner jo = new Scanner (new File ("jonathan.txt"));
              Scanner ger = new Scanner (new File ("gertrude.txt"));
              Scanner bar = new Scanner (new File ("bartholemew.txt"));
              System.out.print ("Tell me your name: ");
              switch (compareNames()){
              case 1:
                   String fred = fre.next();
                   {System.out.print("I think I will call you " + fred + " instead.") ; break ; }
              case 2:
                   String jon = jo.next();
                   {System.out.print("I think I will call you " + jon + " instead.") ; break ; }
              case 77:
                   {System.out.print ("I hope this works") ; break ; }
    }

    I tried the above code, and I code not get it to work for me. We haven' t learned a lot of that yet. This is what my teacher is asking for:
    2. Nickname
    First prompt the user for a name, which will be a single word. If the user types in Fred, for
    example, the user's nickname will be stored in a file located in your current directory and with the
    name fred-nickname.txt. You will read the user's nickname from that file. Suppose the file
    fred.txt contains the word "FREDDY." Your program would then print the following message to
    the console:
    I think I will call you FREDDY instead.
    In the assignment directory there are four sample "nickname" files that you should download to
    the same directory containing this application:
    jonathan.txt that contains the nickname "Jonathan"
    fred.txt that contains the nickname "FREDDY"
    bartholemew.txt that contains the nickname "bart"
    gertrude.txt that contains the nickname "Gertie."
    If those files were in your program's directory, your program should work like this (these are four
    separate runs of the program):
    Tell me a name: Jonathan
    I think I will call you Jon instead.
    Tell me a name: Fred
    I think I will call you FREDDY instead.
    Tell me a name: BARTholemew
    I think I will call you bart instead.
    Tell me a name: Gertrude
    I think I will call you Gertie instead.
    Notice that your program has to work regardless of whether the name is entered in upper case,
    lower case, or some combination. Also notice that the program displays the name in the file
    exactly as it appears in the file, without changing its case. You can assume that the user types the
    name without leading or trailing white space, and that every name the user types in has a
    corresponding nickname file. (In other words, your program does not have to handle the case
    where a user types in an unrecognized name.) Also note that although you are supplied with four
    examples of "nickname" files, your program should work any time the user types in a name that
    has a corresponding "nickname" file in the application's working directory. You should write
    several additional nickname files and test your program on those.
    This application should be named Nickname.java. (project, class, etc.)
    And this is my reworked code:
    import java.util.*;
    import java.io.*;
    public class Nickname {
         private static Scanner input;     
         //private static Scanner nname;
         private static String name1 = "fred";
         private static String name2 = "jonathan";
         private static String name3 = "gertrede";
         private static String name4 = "bartholemew";
         private static String getNames() throws Exception{
              //System.out.print("Tell me your name :") ;
              input = new Scanner (System.in);
              String ans = input.next().trim();
              if (ans.equals(name1)) {
              Scanner fre = new Scanner (new File ("fred.txt"));}
              if (ans.equals(name2)) ;
              if (ans.equals(name3)) ;
              if (ans.equals(name4)) ;
              return (ans);
         public static void main(String args[]) throws Exception {
              //Scanner fre = new Scanner (new File ("fred.txt"));
              //Scanner jo = new Scanner (new File ("jonathan.txt"));
              //Scanner ger = new Scanner (new File ("gertrude.txt"));
              //Scanner bar = new Scanner (new File ("bartholemew.txt"));
              System.out.print ("Tell me your name: ");
              System.out.print(" your name is " + getNames());
    right now it just prints what I type in.
    I would appreciate any help.

  • HT1414 hi everyone , having trouble with restoring my iphone, i did follow the step untul extracting the update software but when the iphone start to restoring my iPhone always turn off and it say Error 21 on my PC monitor ...please help me icannot get my

    hi everyone , having trouble with restoring my iphone, i did follow the step untul extracting the update software but when the iphone start to restoring my iPhone always turn off and it say Error 21 on my PC monitor ...please help me i cannot get my iPhone turn on

    Error 20, 21, 23, 26, 28, 29, 34, 36, 37, 40
    These errors typically occur when security software interferes with the restore and update process. FollowTroubleshooting security software issues to resolve this issue. In rare cases, these errors may be a hardware issue. If the errors persist on another computer, the device may need service.

  • I have problem with my I PHONE 4S  Always its time out then i must restart my I phone please any help about this case ??

    i have problem with my I PHONE 4S  Always its time out then i must restart my I phone please any help about this case ??

    Hello Pllumb,
    It sounds like you are unable to turn on Wi-Fi because the option is grayed out in Settings. Use these steps from the following article named:
    iOS: Wi-Fi settings grayed out or dim
    http://support.apple.com/kb/ts1559
    Restart your iOS device.
    Make sure that airplane mode is off by tapping Settings > Airplane Mode.
    Reset the network settings by tapping Settings > General > Reset > Reset Network Settings.
    This will reset all network settings, including Bluetooth pairing records, Wi-Fi passwords, VPN, and APN settings.
    Make sure that your device is using the latest software. To do so, connect your device to your computer and check for updates in iTunes.
    If you still can't turn Wi-Fi on, please contact Apple for support and service options. If you can turn Wi-Fi on but are experiencing other issues with Wi-Fi, please see these steps.
    Thank you for using Apple Support Communities.
    All the very best,
    Sterling

  • Please help me in APO following APO questions or functions.

    Hi gurus,
              I am BW consultant and i didnt work much on APO planning book areas side.. But i need to respond to my users on these explanations to solve the tickets and also we have limites resource team. They wanted to know what is Univariate Forecast (Ctrl+f8) is for.. his question is the second button from right looks like "z" like(Univariate Forecast) , he wants to know what is this for and can we lock it out... It actually comes in end user training, but i wanted to give some info and close this ticket, please help in this.
    2) What is the use of these "selected objects" area, Can it Go awa? When u select from the "selected objects" area, the reset button doesnt work and you must exit the spread sheet and reenter the data..
    Please help in the above 2.. as i didnt work much on APO i couldnt deliver..thanks in advance

    Karan, I empathize your position. You must ask your resource managers to correctly staff the project with right skills or ask for training. It is incorrect of your resource manager to expect you to solve tickets in an unknown area. Protest!
    Coming to your Q
    1. The icon is for doing forecasting based on historical sales or shipments as the case may be. there are authorization objects to block the icon for certain users (for that refer to Security team - refer link http://help.sap.com/saphelp_scm41/helpdata/en/de/6733c99b274f2db1f5706295c42e7e/content.htm). the other way is to go into the design button in the planning book and uncheck univariate forecasting.(under "Navigate to Views" section of first tab)
    2. I do not quite follow what you mean by selector area. Refer to help.sap.com
    http://help.sap.com/saphelp_scm2007/helpdata/en/95/a86039c9a5ae3be10000000a11402f/content.htm
    and
    http://help.sap.com/saphelp_scm2007/helpdata/en/73/3e116a347111d398290000e8a49608/content.htm
    for further clues

  • Follow-up action : please help - Inspection Lot related

    Hi,
    I am having the following trouble:
    Through MB02, a printout is generated to the local printer (LOCL).
    However, through QA11, when we save, we have a custom follow-up action attached that pops-up a
    dialog screen.
    The follow up action is triggered when a usage decision is changed for the inspection lot.
    The follow-up action (configured in IMG) calls a Function Module and a screen, which in turn populates
    a value into a custom DB table (based on the buttons, on the screen, sending either to LOCL or to a
    zebra printer).
    Now, what has to happen is that after inserting the value into a custom table, it should also open a sapscript and output.
    The Sapscript and print program are there, with the print program being created 3-4 years ago by someone
    else. However, even though we have code in the print program to update nast, in turn creating a message
    for output (1st the custom DB table is checked to see if the values match, MATNRCHARG), It does not update
    NAST. When we go through MB02, it does, but this should happen automatically after selecting one of the radio
    buttons on the original pop-up & selecting print.
    Please help. I don't know what to do and can't enable a debugger from the pop-up and if going though QA11,
    I can't get it to stop inside the print program (only inside the custom FM).
    Cheers,
    John

    hi
    kindly check whether this FM will work for you QFOA_OBJECT_STATUS_SET
    regards
    thyagarajan

Maybe you are looking for

  • Difference between Domain\Domain Users and Everyone Group in SharePoint

    Hi, In SharePoint 2013, is Everyone Group an AD group ? Please help with details. Thanks srabon

  • MM report screen having 10 fields

    Hi Everbody, we r having MM report screen with 10 fields, but my requirement is to show particular fields like 5 fields ca n any one plz help  me which iview i have to use and how to show particular fields on that.. thanx

  • Use of "NEW FROM PACKAGE" in SAP 8.8 And Master Layout creation

    Dear Expert, A) How to use "NEW FROM PACKAGE" option at time of choosing company. and also how to create .pak file ??? Even I don't know by using this feature what are the scope. B) How to create master layout in 8.8 when I am using crystal Report. T

  • FM for getting attributes of an org unit

    Hi, I have a req. in which I need to fetch the attributes of an org unit. These attributes are maintained in the tcode ppoma_crm. Is there any FM or some option otherwise, thru which I can get the desired info? Thanks, Raman.

  • Transferring songs to a new computer?

    Alright so here's how this goes, I have a bunch of songs and videos that I originally had on my Windows PC. But knowing the reliability of PC's and how old it was (I got it in 2003) the entire system crashed. EVERYTHING went down. So I bought a new M