Not able to cancel membership

Not able to cancel membership using Manage Plan option.
cancel plan option not showing in the page

This is an open forum, not Adobe support... You need Adobe support to cancel a subscription
-start here https://forums.adobe.com/thread/1703848
-or by telephone http://helpx.adobe.com/x-productkb/global/phone-support-orders.html
--and two links which may provide more details, if the above links don't help you
-http://helpx.adobe.com/x-productkb/policy-pricing/return-cancel-or-change-order.html
-http://helpx.adobe.com/x-productkb/policy-pricing/cancel-membership-subscription.html

Similar Messages

  • Not able to cancel the indexing job in BO Explorer.

    Not able to cancel the indexing job in BO Explorer. When I clicked Cancel Indexing, Its still in processing mode. Please advise. Thanks!!

    Thanks Henry. Actually Indexing server was down, So it was not getting cancelled. I restarted the Explorer services and it worked fine afterwards.
    However, Could you please also let me know if there's any way in Explorer to show description of the Dimension/Measure Objects while exploring data in any information view.
    I have defined the object's descriptions in my underlying universe and they are also while confirguring the information space. But I am not able to see the while exploring data.
    Could you please advise on this. Thanks!!

  • Not able to edit membership of universal security groups

    I’m not able to edit membership of My Universal security groups using outlook, when I add/remove members it shows the error
    “Changes to the public group membership can’t be saved. You do not have sufficient permission to perform this operation on this object”
    I've already assigned the RBAC role “Security Group Creation and Membership” to a security group and the user who is editing the group is the member of this role group. I’ve also tried to assign the role directly to user, but it also did not work.
    Exchange 2010, Outlook 2010.
    Could someone please suggest me on this.
    ------- Subodh

    No, I am still facing issue.
    I’m not able to edit membership of My Universal security groups using outlook, when I add/remove
    members it shows the error
    “Changes to the public group membership can’t be saved. You do not have sufficient permission to
    perform this operation on this object”
    I've already assigned the RBAC role “Security Group Creation and Membership” to a security group
    and the user who is editing the group is the member of this role group. I’ve also tried to assign the role directly to user, but it also did not work.
    I have multi domain scenario like Exchange is in child domain and AD Users are in Parent domain.
    ------- Subodh

  • Not able to cancel the Excise invoice for STO process

    Hi All,
    In  STO process, we need to cancel the excise invoice due to some business requirement. When we tried to do the same in J1IH, it is not allowing us to do the same with the error "No item information transferred into Accounting". Tried the same through J1IS with the internal Doc No. Here the error is document is complete.
    Please guide how to cancel the same.

    Hi,
    STO has been created either through MM route or through SD-MM route.
    In MM route, the process is as below,
    You create PO, followed by MB1B (Transfer posting) , then followed by J1IS (Excise Invoice).
    In SD-MM route the process is as below,
    You create PO, followed by VL10B , then VF01, then followed by J1IIN (Excise Invoice from Factory).
    Normally, when you create Excise Invoice through J1IIN, it is automatically released to Accounting.
    In your case, I feel it has not yet been released to accounting and I hope, Excise Invoice has been created through J1IS.
    In MM route, you need to release the Excise doc to Accounting.
    In that case, you need to go for J1IV and release the same to accounting.
    Find out the Internal document number from the Excise Invoice and with the reference of this Internal document number release it to Accounting through t.code J1IV.
    Now, once it is released to accounting, you should be able to cancel it through J1IH or J1IS.
    Please let me know if any further problem you are facing.
    Regards
    Pradyumna

  • Not able to cancel the Credit Note due to "Net Value could not be 0" error

    Hi Gurus
    We have created the Credit Memo Request with ref. to invoice and PGR , and  against that Credit Memo Request entered Credit Note .
    Credit Note is showing 0 Net Value and no accounting document generated .
    Further system is not allowing to cancel the billing document i.e. credit note .
    Pls. Suggest how can we cancel the billing document i.e. credit note and recreate it.
    Regds
    PR

    I wrote that system is not allowing us to create the cancel document with 0 net value.
    I need to cancel this document , so that i can recreate new one.
    Regards
    PR

  • Excise invoice done with ZERO, not able to cancel.

    Hi Everybody,
    Client has done PGI with ZERO quantity also done billing & even done Excise invoice with Zero Quantity & Zero value. Now if i go to cancel that cancel invoice in J1IIN it is not allowing to cancel & not even displaying.
    That Invoice does not carries any value but even then client wants to cancel that exc inv number.
    How to cancel the Excise Invoice?
    Regards,
    Vijay

    Client has done PGI with ZERO quantity
          also done billing
    if i go to cancel that cancel invoice in J1IIN
         it is not allowing to cancel
    If your copy control is in line with standard settings, first of all you cannot post the goods issue without any quantity and also generation of billing is not possible.
    Coming to your second issue, please try in J1IH instead of J1IIN.
    thanks
    G. Lakshmipathi

  • Not able to post the invoice cancel MR8M document

    Dear All,
    I am not able to cancell the invoice document using MR8M transaction. System is showing the message as "balance not zero, difference between debits & credits"
    Invoice document is created in the FY 2006 as a credit memo, and now i want to reverse/ cancel it by using MR8M transaction.
    Pl. let me know the possibilities & checks required for cancellation of it.
    Regards
    Mangesh

    hi,
    2006 documents cannot be reversed now since the posting period will be closed.
    I think there is no solution. the only solution is
    If the vendor is  live and supplying any material adjust against them.
    G.Ganesh Kumar

  • Not able to post GR for an Inbound delivery

    Hello Experts,
    We are into support project. We have an issue with GR for inbound delivery. The issue detail is below.
    1. Purchase Order created for a material for 100 qty
    2. Inbound delivery created for the same
    3. GR done for the same quantity
    4. GR document got updated in the inbound delivery as well as PO history
    5. Reversed 50 qty using MB01 with movement type 102.
    6. Reversal qty and document got updated in the PO history where it is not updated in the inbound document flow.
    Now when we do the GR for balance qty 50 which we have reversed, we are not able to do the GR.
    The error message is "Qty to be posted is greater than maximum postable quantity" and message number is VLA 308.
    We are not able to cancel the material document which we have reversed nor able to post goods receipt.
    Could anybody tell me how to resolve this issue?
    Thanks
    Bala

    Hi,
    Please check SAP note 1050944
    Regarding this issue

  • Not able to edit the Debit memo request after cancelling Billing document

    Hi,
    This is a process in SD/Customer service.The issue is even after cancelling the billing document we are not able to edit the item details in debit memo request..Pls suggest how we can edit the item details after cancelling the billing document
    Best Regards
    Jay

    Hi Jay,
    Yes, the whole sales document could not be deleted as well.
    Sorry for the misleading answer.
    As per the long text of error V1006, the document cannot be completely
    deleted because further processing has already taken place. Even though
    you have cancelled the subsequent documents, if you refer to the
    document flow, the subsequent documents might have already been created
    The cancellation of these does not delete the request.
    Please have a look at table VBFA in transaction SE16 and you can see
    that the subsequence documents are still displayed.
    What you can do is to enter a reason of rejection for all items to
    prevent further processing of the request.
    Please refer to Note 147028, you don't need to apply
    this note, please refer to part of "NOTE:...".This is a restriction
    of the system.
    For order-related billing, it is not possible to delete the sales
    document, even if the subsequent invoice has been cancelled.
    You have to reject the items.
    Cheers,
    Alex

  • I can't use InDesign CC 2014, I tried to uninstall and now I'm not able to install again. It says there's a missing file. What shall I do? Shall can I cancel Creative and install it again? And how?

    I can't use InDesign CC 2014, I tried to uninstall and now I'm not able to install again. It says there's a missing file. What shall I do? Shall can I cancel Creative and install it again? And how?@@

    http://helpx.adobe.com/creative-cloud/help/install-apps.html (and uninstall)
    -using the cleaner after uninstalling and before reinstalling will usually help
    -http://helpx.adobe.com/creative-suite/kb/cs5-cleaner-tool-installation-problems.html

  • I canot remember my security questions answers , whene ever i want to dowload any applications i am required to answer them and because i have forgot them i am not able to download any application , i would like to cancel this option

    i canot remember my security questions answers , whene ever i want to dowload any applications i am required to answer them and because i have forgot them i am not able to download any application , i would like to cancel this option and only have the option to answer my password

    It isn't an option it is a permanent part of the security protocol, so you need to write the answers down in a secure location or remember them, you will always need them in the future.
    Call Apple Care for your country and ask for the Account Security Team, then request help resetting the questions.

  • Cancel membership - most frustrating thing ever.  Why is there not a phone number??? Probably to avoid allowing people to cancel.

    Cancel membership - most frustrating thing ever.  Why is there not a phone number??? Probably to avoid allowing people to cancel.

    Return, cancel, or exchange an Adobe order
    (actually, the entire adobe website is difficult to navigate even if you want to buy something.)

  • Not able to change font

    Hi ,
    We need to print some text data in printer. As we print a report, with numbers, and columns, we need font widht to be constant for all the charecters for producing properly aligned reports. [ like in courier or monospace fonts]. In the code below, I am not able to set the font for my printer. In the print() method, I tried to set font as monospace for the graphics object, but it did not have any effect. It looks like it always print with Ariel font. For displaying in layouts, it works find. But not with printer. Please help.
    import java.awt.*;
    import java.awt.font.*;
    import java.awt.geom.*;
    import java.awt.print.*;
    import java.text.*;
    * The PrintText application expands on the
    * PrintExample application in that it images
    * text on to the single page printed.
    public class PrintText implements Printable {
    * The text to be printed.
    private static final String mText = "this is the string to be printed";
    * Our text in a form for which we can obtain a
    * AttributedCharacterIterator.
    private static final AttributedString mStyledText = new AttributedString(mText);
    * Print a single page containing some sample text.
    static public void doPrint() {
    /* Get the representation of the current printer and
    * the current print job.
    PrinterJob printerJob = PrinterJob.getPrinterJob();
    /* Build a book containing pairs of page painters (Printables)
    * and PageFormats. This example has a single page containing
    * text.
    Book book = new Book();
    book.append(new PrintText(), new PageFormat());
    /* Set the object to be printed (the Book) into the PrinterJob.
    * Doing this before bringing up the print dialog allows the
    * print dialog to correctly display the page range to be printed
    * and to dissallow any print settings not appropriate for the
    * pages to be printed.
    printerJob.setPageable(book);
    /* Show the print dialog to the user. This is an optional step
    * and need not be done if the application wants to perform
    * 'quiet' printing. If the user cancels the print dialog then false
    * is returned. If true is returned we go ahead and print.
    boolean doPrint = printerJob.printDialog();
    if (doPrint) {
    try {
    printerJob.print();
    System.out.println("successfully Printed");
    } catch (PrinterException exception) {
    System.err.println("Printing error: " + exception);
    * Print a page of text.
    public int print(Graphics g, PageFormat format, int pageIndex) {
    /* We'll assume that Jav2D is available.
    Graphics2D g2d = (Graphics2D) g;
    /* Move the origin from the corner of the Paper to the corner
    * of the imageable area.
    g2d.translate(format.getImageableX(), format.getImageableY());
    /* Set the text color.
    g2d.setPaint(Color.black);
    /* Use a LineBreakMeasurer instance to break our text into
    * lines that fit the imageable area of the page.
    Point2D.Float pen = new Point2D.Float();
    AttributedCharacterIterator charIterator = mStyledText.getIterator();
    int tabCount=100;
    int[] tabLocations = new int[tabCount+1];
    int i = 0;
    for (char c = charIterator.first(); c != charIterator.DONE; c = charIterator.next()) {
    if (c == '\n') {
    tabLocations[i] = charIterator.getIndex();
    System.out.println("found newline at tabLocations[" + i + "] = "+ tabLocations[i] );
    i++;
    tabCount=i;
    tabLocations[tabCount] = charIterator.getEndIndex() - 1 ;
    int currentTab = 0;
    float verticalPos = 20;
    charIterator = mStyledText.getIterator();
    LineBreakMeasurer measurer = new LineBreakMeasurer(charIterator, g2d.getFontRenderContext());
    TextLayout layout;
    float wrappingWidth = (float) format.getImageableWidth();
    while (measurer.getPosition() < charIterator.getEndIndex()) {
    if (currentTab < tabCount )
    layout = measurer.nextLayout(wrappingWidth,tabLocations[currentTab]+1,true);
    if (measurer.getPosition() == tabLocations[currentTab]+1) {
    currentTab++;
    else
    layout = measurer.nextLayout(wrappingWidth);
    pen.y += layout.getAscent();
    float dx = layout.isLeftToRight()? 0 : (wrappingWidth - layout.getAdvance());
    layout.draw(g2d, pen.x + dx, pen.y);
    pen.y += layout.getDescent() + layout.getLeading();
    System.out.println("Print result : "+ Printable.PAGE_EXISTS);
    return Printable.PAGE_EXISTS;
    }

    I don't see how it would have worked on the screen. Is that what you meant by "For displaying in layouts, it works find."? You never called setFont(...) on the Graphics or Graphics2D object in your paint method. Use g2d.setFont(new Font("Monospaced", Font.PLAIN, size)) and you should be fine.
    Jeff

  • Not able to get group name by using memberof class, getting Total groups as 0 even I am member of that group.

    Not able to get group name by using memberof class, getting Total groups as 0 even I am member of that group. Through this memberof class I am trying to find full qualified name(DN) of my group.
    code I have used:
    //specify the LDAP search filter
                   String searchFilter = "(&(objectClass=user)(CN=Username))";
                   //Specify the Base for the search
                   String searchBase = "";
    Also I have used,
                 String searchFilter = "(&(objectClass=user)(CN=Username))";
                   //Specify the Base for the search
                   String searchBase = "ou=ibmgroups,o=ibm.com";
    But in both cases I am getting value for Total groups as 0.
    Code Reference:
    * memberof.java
    * December 2004
    * Sample JNDI application to determine what groups a user belongs to
    import java.util.Hashtable;
    import javax.naming.*;
    import javax.naming.ldap.*;
    import javax.naming.directory.*;
    public class memberof     {
         public static void main (String[] args)     {
              Hashtable env = new Hashtable();
              String adminName = "CN=Administrator,CN=Users,DC=ANTIPODES,DC=COM";
              String adminPassword = "XXXXXXX";
              String ldapURL = "ldap://mydc.antipodes.com:389";
              env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
              //set security credentials, note using simple cleartext authentication
              env.put(Context.SECURITY_AUTHENTICATION,"simple");
              env.put(Context.SECURITY_PRINCIPAL,adminName);
              env.put(Context.SECURITY_CREDENTIALS,adminPassword);
              //connect to my domain controller
              env.put(Context.PROVIDER_URL,ldapURL);
              try {
                   //Create the initial directory context
                   LdapContext ctx = new InitialLdapContext(env,null);
                   //Create the search controls          
                   SearchControls searchCtls = new SearchControls();
                   //Specify the search scope
                   searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
                   //specify the LDAP search filter
                   String searchFilter = "(&(objectClass=user)(CN=Andrew Anderson))";
                   //Specify the Base for the search
                   String searchBase = "DC=antipodes,DC=com";
                   //initialize counter to total the group members
                   int totalResults = 0;
                   //Specify the attributes to return
                   String returnedAtts[]={"memberOf"};
                   searchCtls.setReturningAttributes(returnedAtts);
                   //Search for objects using the filter
                   NamingEnumeration answer = ctx.search(searchBase, searchFilter, searchCtls);
                   //Loop through the search results
                   while (answer.hasMoreElements()) {
                        SearchResult sr = (SearchResult)answer.next();
                        System.out.println(">>>" + sr.getName());
                        //Print out the groups
                        Attributes attrs = sr.getAttributes();
                        if (attrs != null) {
                             try {
                                  for (NamingEnumeration ae = attrs.getAll();ae.hasMore();) {
                                       Attribute attr = (Attribute)ae.next();
                                       System.out.println("Attribute: " + attr.getID());
                                       for (NamingEnumeration e = attr.getAll();e.hasMore();totalResults++) {
                                            System.out.println(" " +  totalResults + ". " +  e.next());
                             catch (NamingException e)     {
                                  System.err.println("Problem listing membership: " + e);
                   System.out.println("Total groups: " + totalResults);
                   ctx.close();
              catch (NamingException e) {
                   System.err.println("Problem searching directory: " + e);
    Any help will be highly appreciated.

    Not able to get group name by using memberof class, getting Total groups as 0 even I am member of that group. Through this memberof class I am trying to find full qualified name(DN) of my group.
    code I have used:
    //specify the LDAP search filter
                   String searchFilter = "(&(objectClass=user)(CN=Username))";
                   //Specify the Base for the search
                   String searchBase = "";
    Also I have used,
                 String searchFilter = "(&(objectClass=user)(CN=Username))";
                   //Specify the Base for the search
                   String searchBase = "ou=ibmgroups,o=ibm.com";
    But in both cases I am getting value for Total groups as 0.
    Code Reference:
    * memberof.java
    * December 2004
    * Sample JNDI application to determine what groups a user belongs to
    import java.util.Hashtable;
    import javax.naming.*;
    import javax.naming.ldap.*;
    import javax.naming.directory.*;
    public class memberof     {
         public static void main (String[] args)     {
              Hashtable env = new Hashtable();
              String adminName = "CN=Administrator,CN=Users,DC=ANTIPODES,DC=COM";
              String adminPassword = "XXXXXXX";
              String ldapURL = "ldap://mydc.antipodes.com:389";
              env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
              //set security credentials, note using simple cleartext authentication
              env.put(Context.SECURITY_AUTHENTICATION,"simple");
              env.put(Context.SECURITY_PRINCIPAL,adminName);
              env.put(Context.SECURITY_CREDENTIALS,adminPassword);
              //connect to my domain controller
              env.put(Context.PROVIDER_URL,ldapURL);
              try {
                   //Create the initial directory context
                   LdapContext ctx = new InitialLdapContext(env,null);
                   //Create the search controls          
                   SearchControls searchCtls = new SearchControls();
                   //Specify the search scope
                   searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE);
                   //specify the LDAP search filter
                   String searchFilter = "(&(objectClass=user)(CN=Andrew Anderson))";
                   //Specify the Base for the search
                   String searchBase = "DC=antipodes,DC=com";
                   //initialize counter to total the group members
                   int totalResults = 0;
                   //Specify the attributes to return
                   String returnedAtts[]={"memberOf"};
                   searchCtls.setReturningAttributes(returnedAtts);
                   //Search for objects using the filter
                   NamingEnumeration answer = ctx.search(searchBase, searchFilter, searchCtls);
                   //Loop through the search results
                   while (answer.hasMoreElements()) {
                        SearchResult sr = (SearchResult)answer.next();
                        System.out.println(">>>" + sr.getName());
                        //Print out the groups
                        Attributes attrs = sr.getAttributes();
                        if (attrs != null) {
                             try {
                                  for (NamingEnumeration ae = attrs.getAll();ae.hasMore();) {
                                       Attribute attr = (Attribute)ae.next();
                                       System.out.println("Attribute: " + attr.getID());
                                       for (NamingEnumeration e = attr.getAll();e.hasMore();totalResults++) {
                                            System.out.println(" " +  totalResults + ". " +  e.next());
                             catch (NamingException e)     {
                                  System.err.println("Problem listing membership: " + e);
                   System.out.println("Total groups: " + totalResults);
                   ctx.close();
              catch (NamingException e) {
                   System.err.println("Problem searching directory: " + e);
    Any help will be highly appreciated.

  • Report Not able to generate values in output

    hi gurus,
    i am not able to get the output for this report,pls help me in correcting the code and suggest me a sloution.Urgent...............
    *& Report  ZRPP006
    *&  Modification History
    *& Change # | By     | Date     | Purpose of Change
    *& C0001 |pradeep.R  | 20070629 | Total component request for sop&Copa
    *&       |           |          |
    *&       |           |          |
    report  zrpp006 line-size 180 line-count 90
            no standard page heading.
    Class
    *class cl_gui_column_tree definition load.
    *class cl_gui_cfw definition load.
    *data tree1  type ref to cl_gui_alv_tree.
    *data mr_toolbar type ref to cl_gui_toolbar.
    Include
    *include <icon>.
    *include bcalv_toolbar_event_receiver.
    *include bcalv_tree_event_receiver.
    include zipp007.
    selection screen
    selection-screen begin of block selscrb with frame title text-s01.
    parameters: ra_SOP radiobutton group GRP default 'X',
                ra_COPA radiobutton group GRP.
    selection-screen end of block selscrb.
    Data:pa_m_frm(6) type c,
         pa_m_to(6) type c,
         pa_y_frm(4) type c,
         pa_y_to(4) type c,
         ra_mth,
         ra_yea,
         l_mode.
    *parameter: pa_m_frm(6) type c,
              pa_m_to(6) type c,
              pa_y_frm(4) type c,
              pa_y_to(4) type c..
    data: so_matnr,
          so_matkl,
          pa_stprs,
          pa_werks ,
          pa_vrsio .
    selection-screen skip 1.
    initialization.
      clear: ta_vrsio, ta_type.
      refresh: ta_vrsio, ta_type.
    *at selection-screen on value-request for pa_vrsio.
    call function 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
         retfield    = 'VRSIO'
         dynprofield = 'PA_VRSIO'
         dynpprog    = sy-cprog
         dynpnr      = sy-dynnr
         value_org   = 'S'
       TABLES
         value_tab   = ta_vrsio.
    Start-of-selection.
    if ra_SOP eq 'X'.
        submit ZRPP023 via selection-screen and return.
      elseif ra_COPA eq 'X'.
        submit ZRPP026 via selection-screen and return..
      endif.
    select * into corresponding fields of table ta_vrsio
      from p44v
      where gstru = 'S076'.
      sort ta_vrsio by vrsio.
      delete adjacent duplicates from ta_vrsio.
      move 'MONTH' to ta_type-out_type.
      append ta_type.
      move 'YEAR' to ta_type-out_type.
      append ta_type.
    at selection-screen output.
      if ra_mth = 'X'.
        loop at screen.
          if screen-name = 'PA_M_FRM'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = '%C001007_1000'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = '%C002009_1000'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = 'PA_M_TO'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = '%C003012_1000'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = '%C004014_1000'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = 'PA_Y_FRM'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = '%C005017_1000'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = '%C006019_1000'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = 'PA_Y_TO'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = '%C007022_1000'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = '%C008024_1000'.
            screen-active = '0'.
            modify screen.
          endif.
        endloop.
      elseif ra_yea = 'X'.
        loop at screen.
          if screen-name = 'PA_M_FRM'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = '%C001007_1000'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = '%C002009_1000'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = 'PA_M_TO'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = '%C003012_1000'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = '%C004014_1000'.
            screen-active = '0'.
            modify screen.
          endif.
          if screen-name = 'PA_Y_FRM'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = '%C005017_1000'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = '%C006019_1000'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = 'PA_Y_TO'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = '%C007022_1000'.
            screen-active = '1'.
            modify screen.
          endif.
          if screen-name = '%C008024_1000'.
            screen-active = '1'.
            modify screen.
          endif.
        endloop.
      endif.
    End-of-selection.
      perform get_header_data.
      perform get_top_page.
    *&      Form  display_alv
          text
    form display_alv.
    ALV ***
      g_repid = sy-repid.
      perform layout_init using gs_layout.
      perform eventtab_build using gt_events[].
      gs_variant-report = g_repid.
      g_save           = 'A'.
    perform comment_build using gt_list_top_of_page[].
    Display monthly report
      if ra_mth = 'X' and
         pa_m_frm <> 0 and
          pa_m_to <> 0.
        perform fieldcat_init_mth using gt_fieldcat[].
        perform printer_setting using print_set.
        call function 'REUSE_ALV_GRID_DISPLAY'
          exporting
               i_background_id    = 'ALV_BACKGROUND'
               i_buffer_active    = 'X'
               i_callback_program = g_repid
               i_structure_name   = 'ITAB_MSALE'
               is_layout          = gs_layout
               it_fieldcat        = gt_fieldcat[]
               i_save             = g_save
               is_variant         = gs_variant
               it_events          = gt_events[]
               it_sort            = gt_it_sort[]
               is_print           = print_set
         I_SCREEN_START_COLUMN    = 0     "Use coordinates for
         I_SCREEN_START_LINE      = 0     "display as dialog box
         I_SCREEN_END_COLUMN      = 0
         I_SCREEN_END_LINE        = 0
          importing
               e_exit_caused_by_caller = g_exit_caused_by_caller
               es_exit_caused_by_user  = gs_exit_caused_by_user
          tables
               t_outtab = itab_msale
          exceptions
               program_error = 1
               others        = 2.
        if sy-subrc = 0.
          if g_exit_caused_by_caller = 'X'.
    *"  Forced Exit by calling program
    *"  <do_something>.
          else.
    *"  User left list via F3, F12 or F15
            if gs_exit_caused_by_user-back = 'X'.       "F3
    *"    <do_something>.
            else.
              if gs_exit_caused_by_user-exit = 'X'.     "F15
    *"      <do_something>.
              else.
                if gs_exit_caused_by_user-cancel = 'X'. "F12
    *"        <do_something>.
                else.
    *"        should not occur!
    *"        <do_Abnormal_End>.
                endif.
              endif.
            endif.
          endif.
        else.
    "Fatal error callin ALVAXXX(XY) WITH ...
        endif.
    Display yearly report
      elseif ra_yea = 'X' and
              pa_y_frm <> 0 and
              pa_y_to <> 0.
        perform fieldcat_init_yr using gt_fieldcat[].
        perform printer_setting using print_set.
        call function 'REUSE_ALV_GRID_DISPLAY'
          exporting
               i_background_id    = 'ALV_BACKGROUND'
               i_buffer_active    = 'X'
               i_callback_program = g_repid
               i_structure_name   = 'ITAB_YSALE'
               is_layout          = gs_layout
               it_fieldcat        = gt_fieldcat[]
               i_save             = g_save
               is_variant         = gs_variant
               it_events          = gt_events[]
               it_sort            = gt_it_sort[]
               is_print           = print_set
         I_SCREEN_START_COLUMN    = 0     "Use coordinates for
         I_SCREEN_START_LINE      = 0     "display as dialog box
         I_SCREEN_END_COLUMN      = 0
         I_SCREEN_END_LINE        = 0
          importing
               e_exit_caused_by_caller = g_exit_caused_by_caller
               es_exit_caused_by_user  = gs_exit_caused_by_user
          tables
               t_outtab = itab_ysale
          exceptions
               program_error = 1
               others        = 2.
        if sy-subrc = 0.
          if g_exit_caused_by_caller = 'X'.
    *"  Forced Exit by calling program
    *"  <do_something>.
          else.
    *"  User left list via F3, F12 or F15
            if gs_exit_caused_by_user-back = 'X'.       "F3
    *"    <do_something>.
            else.
              if gs_exit_caused_by_user-exit = 'X'.     "F15
    *"      <do_something>.
              else.
                if gs_exit_caused_by_user-cancel = 'X'. "F12
    *"        <do_something>.
                else.
    *"        should not occur!
    *"        <do_Abnormal_End>.
                endif.
              endif.
            endif.
          endif.
        else.
    *"Fatal error callin ALV
    MESSAGE AXXX(XY) WITH ...
        endif.
      else.
      endif.
    endform.                    "display_alv
    *&      Form  get_top_page
          text
    form get_top_page.
      move 'Total Component Requirement by Sales Forecast' to
      gt_list_top_of_page-info.
      gt_list_top_of_page-typ = 'H'.
      append gt_list_top_of_page.
      concatenate 'Plant   :' pa_werks
      into gt_list_top_of_page-info separated by space.
      gt_list_top_of_page-typ = 'S'.
      append gt_list_top_of_page.
      select single vetxt into tp_vetxt
      from p44v
      where gstru = 'S076'
      and vrsio = pa_vrsio.
      concatenate 'Version :' pa_vrsio tp_vetxt
      into gt_list_top_of_page-info separated by space.
      gt_list_top_of_page-typ = 'S'.
      append gt_list_top_of_page.
      call function 'DATUMSAUFBEREITUNG'
        EXPORTING
          idate           = sy-datum
        IMPORTING
          tdat8           = l_date_string
        EXCEPTIONS
          datfm_ungueltig = 1
          datum_ungueltig = 2
          others          = 3.
      concatenate sy-uzeit(2) ':' sy-uzeit2(2) ':' sy-uzeit4(2)
      into l_time.
      concatenate 'Date/Time :' l_date_string l_time
      into gt_list_top_of_page-info separated by space.
      gt_list_top_of_page-typ = 'S'.
      append gt_list_top_of_page.
    endform.                    "get_top_page
    *&      Form  get_header_data
          text
    -->  p1        text
    <--  p2        text
    form get_header_data.
      select pmnux into ta_mat-matnr
       from s076
        where pmnux = so_matnr
        and wenux = pa_werks
        and vrsio = pa_vrsio.
        append ta_mat.
        clear ta_mat.
      endselect.
      if sy-subrc = 0.
        sort ta_mat by matnr .
        delete adjacent duplicates from ta_mat.
        loop at ta_mat.
          select matnr stlnr stlan stlal
           appending corresponding fields of table ta_mat2
           from mast
           where matnr = ta_mat-matnr
                 and werks = pa_werks.
        endloop.
        loop at ta_mat2 into wa_ta_mat.
          select stlst bmeng bmein into (tp_stlst,tp_bmeng,tp_bmein)
           from stko where stlnr = wa_ta_mat-stlnr
             and stlal = wa_ta_mat-stlal.
            wa_ta_mat-stlst = tp_stlst.
            wa_ta_mat-bmeng = tp_bmeng.
            wa_ta_mat-bmein = tp_bmein.
            append wa_ta_mat to ta_header.
          endselect.
        endloop.
        perform checking.        "checking if monthly or yearly report is being selected
      else.
        message i003(zwpp001).
      endif.
    endform.                    " get_header_data
    *&      Form  checking
          text
    form checking.
      data : date1 like vtbbewe-dbervon,
             date2 like vtbbewe-dberbis.
      data : emonths like vtbbewe-atage.
      data : lv_m_frm(6) type n,
             lv_m_to(6) type n,
             lv_y_frm(4) type n,
             lv_y_to(4) type n.
    check if the Display monthly report is being selected *****
      if ra_mth = 'X' and
           pa_m_frm <> 0 and
           pa_m_to <> 0.
    check for correct input format
        lv_m_frm = pa_m_frm.
        lv_m_to = pa_m_to.
        if lv_m_frm ge '200000' and lv_m_to ge '200000'.
    calculate the months in between
          clear date1.
          clear date2.
          concatenate pa_m_frm '01' into date1.
          concatenate pa_m_to '01' into date2.
        concatenate pa_m_to '31' into date2.
          perform months_calculate using date1 date2 changing emonths.
       check if months <= 36.
          if emonths <= 36.
            perform get_sales.
            perform retrieve_bom.
          else.
            message i000(zwpp001).
            exit.                            " error message
          endif.
        else.
          message i002(zwpp001).
        endif.
    check if the Display yearly report is being selected *****
      elseif ra_yea = 'X' and
             pa_y_frm <> 0 and
             pa_y_to <> 0.
        itab_bom-requantity = lp_s076-absat.    "for current year 2006 ."added by pradeep on 4/07/07
        itab_bom-requantity = lp_s076-absat + 1.                "ie 2007.
        itab_bom-requantity = lp_s076-absat + 2.                "ie 2008.
    check for correct input format
        lv_y_frm = pa_y_frm.
        lv_y_to = pa_y_to.
        if lv_y_frm ge '2000' and lv_y_to ge '2000'.
    calculate the months in between
          clear date1.
          clear date2.
          concatenate pa_y_frm '0101' into date1.
          concatenate pa_y_to '1201' into date2.
        concatenate pa_y_to '1231' into date2.
          perform months_calculate using date1 date2 changing emonths.
       check if months <= 36.
          if emonths <= 36.
            perform get_sales.
            perform retrieve_bom.
          else.
            message i001(zwpp001).
            exit.                            " error message
          endif.
        else.
          message i002(zwpp001).
        endif.
      else.
        exit.
      endif.
    added by pradeep on 04/07/07
    if emonths = 4.
       itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
    endif.
    if emonths = 5.
       tp_totalprice = lp_s076-absat * ta_mat-stprs.
    endif.
    if emonths = 6.
       itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
    endif.
    if emonths = 7.
       tp_totalprice = lp_s076-absat * ta_mat-stprs.
    endif.
    if emonths = 8.
       itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
    endif.
    endform.                     " checking
    *&      Form  get_sales
          text
    form get_sales.
      data: iseq type i,
            tp_sales type p decimals 2,
            tp_totalprice type p decimals 2,"added by pradeep on 03/07/07
            tp_maktx like makt-maktx,
            tp_tabix like sy-tabix,
            tp_pmnux like s076-pmnux,
            seq type i.
      data: yr_frm(6) type c,
            yr_to(6) type c.
      data: year_frm(4) type c,
            year_to(4) type c.
      data: month1(2) type c,
            month12(4) type c.
      data: totalsales like zspp003-mth1.
      data: yr_index like sy-subrc.
    check if the Display monthly report is being selected *****
      if ra_mth = 'X' and
          pa_m_frm <> 0 and
          pa_m_to <> 0.
    retrieve months
        perform get_months.
        select * into corresponding fields of table lp_s076 from s076
                                       where pmnux = so_matnr
                                       and wenux = pa_werks
                                       and vrsio = pa_vrsio
                                       and spmon ge pa_m_frm
                                       and spmon le pa_m_to.
        iseq = 1.
        seq = 0.
        loop at lp_s076.
          if sy-tabix = 1.
            write : lp_s076-pmnux to tp_pmnux.
          endif.
          select single maktx into tp_maktx from makt
                      where matnr = lp_s076-pmnux.
          clear wa.
          read table ta_s076 into wa with key
          matnr = lp_s076-pmnux.
          if sy-subrc ne 0.
            wa-seq   = iseq.
            wa-matnr = lp_s076-pmnux.
            wa-maktx = tp_maktx.
          endif.
          move lp_s076-absat to tp_sales.
          case lp_s076-spmon.
            when t_mth1.
              move tp_sales to wa-mth1.
              move t_mth1 to wa-sp1.
              ind1 = '1'.
            when t_mth2.
              move tp_sales to wa-mth2.
              move t_mth2 to wa-sp2.
              ind2 = '1'.
            when t_mth3.
              move tp_sales to wa-mth3.
              move t_mth3 to wa-sp3.
              ind3 = '1'.
            when t_mth4.
              move tp_sales to wa-mth4.
              move t_mth4 to wa-sp4.
              ind4 = '1'.
            when t_mth5.
              move tp_sales to wa-mth5.
              move t_mth5 to wa-sp5.
              ind5 = '1'.
            when t_mth6.
              move tp_sales to wa-mth6.
              move t_mth6 to wa-sp6.
              ind6 = '1'.
            when t_mth7.
              move tp_sales to wa-mth7.
              move t_mth7 to wa-sp7.
              ind7 = '1'.
            when t_mth8.
              move tp_sales to wa-mth8.
              move t_mth8 to wa-sp8.
              ind8 = '1'.
            when t_mth9.
              move tp_sales to wa-mth9.
              move t_mth9 to wa-sp9.
              ind9 = '1'.
            when t_mth10.
              move tp_sales to wa-mth10.
              move t_mth10 to wa-sp10.
              ind10 = '1'.
            when t_mth11.
              move tp_sales to wa-mth11.
              move t_mth11 to wa-sp11.
              ind11 = '1'.
            when t_mth12.
              move tp_sales to wa-mth12.
              move t_mth12 to wa-sp12.
              ind12 = '1'.
            when t_mth13.
              move tp_sales to wa-mth13.
              move t_mth13 to wa-sp13.
              ind13 = '1'.
            when t_mth14.
              move tp_sales to wa-mth14.
              move t_mth14 to wa-sp14.
              ind14 = '1'.
            when t_mth15.
              move tp_sales to wa-mth15.
              move t_mth15 to wa-sp15.
              ind15 = '1'.
            when t_mth16.
              move tp_sales to wa-mth16.
              move t_mth16 to wa-sp16.
              ind16 = '1'.
            when t_mth17.
              move tp_sales to wa-mth17.
              move t_mth17 to wa-sp17.
              ind17 = '1'.
            when t_mth18.
              move tp_sales to wa-mth18.
              move t_mth18 to wa-sp18.
              ind18 = '1'.
            when t_mth19.
              move tp_sales to wa-mth19.
              move t_mth19 to wa-sp19.
              ind19 = '1'.
            when t_mth20.
              move tp_sales to wa-mth20.
              move t_mth20 to wa-sp20.
              ind20 = '1'.
            when t_mth21.
              move tp_sales to wa-mth21.
              move t_mth21 to wa-sp21.
              ind21 = '1'.
            when t_mth22.
              move tp_sales to wa-mth22.
              move t_mth22 to wa-sp22.
              ind22 = '1'.
            when t_mth23.
              move tp_sales to wa-mth23.
              move t_mth23 to wa-sp23.
              ind23 = '1'.
            when t_mth24.
              move tp_sales to wa-mth24.
              move t_mth24 to wa-sp24.
              ind24 = '1'.
            when t_mth25.
              move tp_sales to wa-mth25.
              move t_mth25 to wa-sp25.
              ind25 = '1'.
            when t_mth26.
              move tp_sales to wa-mth26.
              move t_mth26 to wa-sp26.
              ind26 = '1'.
            when t_mth27.
              move tp_sales to wa-mth27.
              move t_mth27 to wa-sp27.
              ind27 = '1'.
            when t_mth28.
              move tp_sales to wa-mth28.
              move t_mth28 to wa-sp28.
              ind28 = '1'.
            when t_mth29.
              move tp_sales to wa-mth29.
              move t_mth29 to wa-sp29.
              ind29 = '1'.
            when t_mth30.
              move tp_sales to wa-mth30.
              move t_mth30 to wa-sp30.
              ind30 = '1'.
            when t_mth31.
              move tp_sales to wa-mth31.
              move t_mth31 to wa-sp31.
              ind31 = '1'.
            when t_mth32.
              move tp_sales to wa-mth32.
              move t_mth32 to wa-sp32.
              ind32 = '1'.
            when t_mth33.
              move tp_sales to wa-mth33.
              move t_mth33 to wa-sp33.
              ind33 = '1'.
            when t_mth34.
              move tp_sales to wa-mth34.
              move t_mth34 to wa-sp34.
              ind34 = '1'.
            when t_mth35.
              move tp_sales to wa-mth35.
              move t_mth35 to wa-sp35.
              ind35 = '1'.
            when t_mth36.
              move tp_sales to wa-mth36.
              move t_mth36 to wa-sp36.
              ind36 = '1'.
          endcase.
         move seq to itab_seq-seq.
         append itab_seq.
          tp_tabix = sy-tabix.
          if sy-subrc = 0.
         modify table ta_s076 from wa.
            modify ta_s076 from wa index tp_tabix.
            if lp_s076-pmnux = tp_pmnux.
              seq = seq + 1.
              move seq to itab_seq.
              append itab_seq.
            endif.
          else.
            append wa to ta_s076.
            if lp_s076-pmnux = tp_pmnux.
              seq = seq + 1.
              move seq to itab_seq.
              append itab_seq.
            endif.
          endif.
          iseq = iseq + 1.
        endloop.                " endloop for lp_s076.
        itb_sales[] = ta_s076[].
    itb_sales12[] = ta_s076[].
    check if the Display yearly report is being selected *****
      elseif ra_yea = 'X' and
               pa_y_frm <> 0 and
               pa_y_to <> 0.
        clear year1.
        clear year2.
        clear year3.
        perform get_years.
        loop at ta_mat.
          loop at ta_yr.
            clear yr_index.
            yr_index = sy-tabix.
            case yr_index.
              when '1'.
                year1 = ta_yr-year.
              when '2'.
                year2 = ta_yr-year.
              when '3'.
                year3 = ta_yr-year.
            endcase.
            clear yr_frm.
            clear yr_to.
            year_frm = ta_yr-year.
            year_to = ta_yr-year.
            month1 = '01'.
            month12 = '12'.
            concatenate year_frm month1 into yr_frm.
            concatenate year_to month12 into yr_to.
            select * into corresponding fields of table lp_s076 from s076
                                     where pmnux = ta_mat-matnr
                                     and wenux = pa_werks
                                     and vrsio = pa_vrsio
                                     and spmon ge yr_frm
                                     and spmon le yr_to.
          calculate total sales.
            totalsales = 0.
            loop at lp_s076.
              at first.
                sum.
                totalsales = lp_s076-absat.
              endat.
              at end of absat."added by pradeep on 4/07/07
                sum.
                tp_totalprice = lp_s076-absat * ta_mat-stprs.
                itab_bom-requantity = lp_s076-absat * itab_bom-comp_qty / itab_bom-xmeng.
              endat.
            endloop.          "endloop for lp_s076
            select single maktx into tp_maktx from makt
               where matnr = ta_mat-matnr.
            read table ta_s076 into wa with key
              matnr = ta_mat-matnr.
            if sy-subrc ne 0.
              wa-matnr = lp_s076-pmnux.
              wa-maktx = tp_maktx.
            endif.
            case yr_index.
              when '1'.
                move totalsales to wa-sales_y1.
                move tp_totalprice to wa-sales_y1."added by pradeep
                move ta_yr-year to wa-year1.
                ind1 = '1'.
              when '2'.
                move totalsales to wa-sales_y2.
                move tp_totalprice to wa-sales_y2.
                move ta_yr-year to wa-year2.
                ind2 = '1'.
              when '3'.
                move totalsales to wa-sales_y3.
                move tp_totalprice to wa-sales_y3.
                move ta_yr-year to wa-year3.
                ind3 = '1'.
            endcase.
            tp_tabix = sy-tabix.
            if sy-subrc = 0.
                     modify table ta_s076 from wa.
              modify ta_s076 from wa index tp_tabix.
            else.
              append wa to ta_s076.
            endif.
          endloop.        "endloop for ta_yr
        endloop.        "endloop for ta_mat
        itb_sales[] = ta_s076[].
      else.
        exit.
      endif.
    endform.                   "get_sales
    *&      Form  get_months
          text
    form get_months.
      move pa_m_frm to t_mth1.
      perform get_next_few_months
      using t_mth1 '1'
      changing t_mth2.
      perform get_next_few_months
      using t_mth2 '1'
      changing t_mth3.
      perform get_next_few_months
      using t_mth3 '1'
      changing t_mth4.
      perform get_next_few_months
      using t_mth4 '1'
      changing t_mth5.
      perform get_next_few_months
      using t_mth5 '1'
      changing t_mth6.
      perform get_next_few_months
      using t_mth6 '1'
      changing t_mth7.
      perform get_next_few_months
      using t_mth7 '1'
      changing t_mth8.
      perform get_next_few_months
      using t_mth8 '1'
      changing t_mth9.
      perform get_next_few_months
      using t_mth9 '1'
      changing t_mth10.
      perform get_next_few_months
      using t_mth10 '1'
      changing t_mth11.
      perform get_next_few_months
      using t_mth11 '1'
      changing t_mth12.
      perform get_next_few_months
      using t_mth12 '1'
      changing t_mth13.
      perform get_next_few_months
      using t_mth13 '1'
      changing t_mth14.
      perform get_next_few_months
      using t_mth14 '1'
      changing t_mth15.
      perform get_next_few_months
      using t_mth15 '1'
      changing t_mth16.
      perform get_next_few_months
      using t_mth16 '1'
      changing t_mth17.
      perform get_next_few_months
      using t_mth17 '1'
      changing t_mth18.
      perform get_next_few_months
      using t_mth18 '1'
      changing t_mth19.
      perform get_next_few_months
      using t_mth19 '1'
      changing t_mth20.
      perform get_next_few_months
      using t_mth20 '1'
      changing t_mth21.
      perform get_next_few_months
      using t_mth21 '1'
      changing t_mth22.
      perform get_next_few_months
      using t_mth22 '1'
      changing t_mth23.
      perform get_next_few_months
      using t_mth23 '1'
      changing t_mth24.
      perform get_next_few_months
      using t_mth24 '1'
      changing t_mth25.
      perform get_next_few_months
      using t_mth25 '1'
      changing t_mth26.
      perform get_next_few_months
      using t_mth26 '1'
      changing t_mth27.
      perform get_next_few_months
      using t_mth27 '1'
      changing t_mth28.
      perform get_next_few_months
      using t_mth28 '1'
      changing t_mth29.
      perform get_next_few_months
      using t_mth29 '1'
      changing t_mth30.
      perform get_next_few_months
      using t_mth30 '1'
      changing t_mth31.
      perform get_next_few_months
      using t_mth31 '1'
      changing t_mth32.
      perform get_next_few_months
      using t_mth32 '1'
      changing t_mth33.
      perform get_next_few_months
      using t_mth33 '1'
      changing t_mth34.
      perform get_next_few_months
      using t_mth34 '1'
      changing t_mth35.
      perform get_next_few_months
      using t_mth35 '1'
      changing t_mth36.
    endform.                    "get_months
    *&      Form  get_years
          text
    form get_years.
      data : tp_yr_frm(4) type n.
      data : tp_yr_to(4) type n.
      data : yr_diff(4) type n.
      move pa_y_frm to tp_yr_frm.
      move pa_y_to to tp_yr_to.
      move tp_yr_frm to ta_yr-year.
      append ta_yr.
      yr_diff = tp_yr_to - tp_yr_frm.
    *number of years = 3
      if yr_diff = 2.
        do 2 times.
          tp_yr_frm = tp_yr_frm + 1.
          move tp_yr_frm to ta_yr-year.
          append ta_yr.
        enddo.
    *number of years = 2
      elseif yr_diff = 1.
        tp_yr_frm = tp_yr_frm + 1.
        move tp_yr_frm to ta_yr-year.
        append ta_yr.
      else.
        exit.
      endif.
    endform.                    "get_years
    *&      Form  get_next_few_months
          text
         -->LV_CURR_MONTH  text
         -->LV_MONTHS      text
         -->LV_TARGET_MTH  text
    form get_next_few_months using lv_curr_month lv_months
                             changing lv_target_mth.
      data : tp_month_curr like sy-datum,
             tp_month_plus like sy-datum.
      concatenate lv_curr_month '01' into tp_month_curr.
      call function 'SG_PS_ADD_MONTH_TO_DATE'
        EXPORTING
          months  = lv_months
          olddate = tp_month_curr
        IMPORTING
          newdate = tp_month_plus.
      move tp_month_plus(6) to lv_target_mth.
    endform.                    " get_months
    *&      Form  months_calculate
          text
         -->P_DATE1  text
         -->P_DATE2  text
         <--P_EMONTHS  text
    form months_calculate  using    p_date1
                                    p_date2
                           changing p_emonths.
      call function 'FIMA_DAYS_AND_MONTHS_AND_YEARS'
        exporting
          i_date_from          = p_date1
             I_KEY_DAY_FROM       =
          i_date_to            = p_date2
             I_KEY_DAY_TO         =
             I_FLG_SEPARATE       = ' '
       importing
             E_DAYS               =
          e_months             = p_emonths.
             E_YEARS              =
    endform.                    " months_calculate
    *&      Form  retrieve_bom
          text
    -->  p1        text
    <--  p2        text
    form retrieve_bom .
    retrieve BOM components
      sort ta_header by matnr.
      loop at ta_header where stlan = '1' and stlst = '01'.
        tp_bmeng = '1'.
        perform get_bom tables ta_stpo using
                                   ta_header-matnr ta_header-werks  ta_header-stlan ta_header-stlal tp_bmeng.
    requirement quantity calculation for active bom
        perform calculation1.
    retrieve BOM components for pgm
        sort itab_bom2 by idnrk ascending.
        delete adjacent duplicates from itab_bom2 comparing matnr idnrk.
       loop at itab_bom2.         " commented by weihong
        tp_stlan = '1'.
        tp_stlal = '02'.
        perform get_pgm tables ta_stpo12 using
                                   itab_bom2-matnr ta_header-werks  tp_stlan tp_stlal.
       endloop.          " endloop for itab_bom2.(commented by weihong)
    requirement quantity calculation for inactive bom
        perform calculation2.
        refresh : itab_bom1, itab_bom2, itab_pgm, temp_bom1,itab_path.
        clear : itab_bom1, itab_bom2, itab_pgm, temp_bom1,itab_path.
      endloop.      " endloop for ta_header.
    **itab_msale itab_ysale
    *break-point.
      perform display_alv.
    endform.                "retrieve bom
    *&      Form  get_bom
          text
         -->LV_MATNR   text
         -->LV_WERKS   text
         -->LV_STLAN   text
         -->LV_STLAL   text
    form get_bom tables lt_stpo structure stpox
                 using lv_matnr like mast-matnr
                       lv_werks like mast-werks
                       lv_stlan like mast-stlan
                       lv_stlal like stko-stlal
                       lv_emeng like stko-bmeng .
      data: ta_topmat type cstmat,
            tp_dstst like csdata-xfeld,
            ta_matcat type cscmat occurs 0,
            tp_index like sy-tabix,
            tp_stufe like stpox-stufe,
            tp_diff like stpox-stufe,
            tp_indx like sy-tabix,
            tp_date like sy-datum,
            lv_stufe like stpox-stufe,
            lv_wegxx like stpox-wegxx,
            lv_stprs like stpox-stprs,
            lv_waers like stpox-waers,
           lv_cuky_new like cdpos-cuky_new,
           lv_value_new like cdpos-value_new,
            lv_index like sy-tabix,
            lv_datum like sy-datum,"added by pradeep on 02-07-07
            nxt_index like sy-tabix.
    added by weihong.
      data: tp_mtart like mara-mtart,
            tp_matkl like mara-matkl,
            tp_stprs like stpox-stprs,
            tp_bomlv1 like mast-matnr,
            tp_bomlv2 like mast-matnr,
            tp_bomlv3 like mast-matnr,
            tp_bomlv4 like mast-matnr,
            tp_indln type i.
      write : lv_matnr to itab_bom1-matnr.
      write : lv_matnr to itab_bom2-matnr.
      write : lv_matnr to itab_path-matnr.

    Hi gurus,actually this program selecion screen is linked to ..as
    First screen is .Sop
                          .copa
    Again for sop is having a selection screen and in this it is divide based on month and year seperately in two more screens.
    same for copa also....
    so pls tell me a correct solution where to correct and get values.
    Priority is very highhhhhhhhhhhhhh,so pls help me in sorting out this.

Maybe you are looking for

  • IWeb not responding - have tried all suggestions in this section

    I have 4 websites stored in iWeb o9 on a brand new MacBook Pro running all current software and updates. I publish via ftp directly to my domains. I am a Mobile Me user but I do not use this for websites. I do not have the actual files on my desktop.

  • Copy and Paste not working

    I have Captivate 6.0.1.240.  I am having a problem with Copy and Paste.  When I copy an element on one screen and try to paste it, you can see the quick messages that an activity is taking place, but the element doesn't actually get pasted.  This use

  • "class not found error" and applets ...

    To run an applet inside an html page using the embedded oc4j i have to copy the library containing the applet to the same directory as the html page. Otherwise i get a class not found error....Is there a better way of doing this? thanks in advance fo

  • Im at home and motion is at work, can some body send me a file?

    Hi, im new to these fourms, and im not sure if this is an alright thing to do or not, But i really need a specific particle off of motion for an important project this weekend. And i was wondering if somebody could send it to me. if you dont know how

  • Safari issue in console

    Hey, last night I was routinely checking my console (Diagnostics and Usage) and ran across the message: 12/23/12 1:30:07.656 AM Safari: noop com.apple.message.domain: com.apple.Safari.pageContainsPlugin com.apple.message.signature: application/x-shoc