How to close one booked sales order when its lines are all closed?

There's one so and its status is booked.
But its lines' status is all closed.
The so's status should be closed.
And How can I do it?

Hi
The header level workflow process 'Close-Order' on the end of last day of month
This wait function comes seeded with a constant value which sets it to defer
until the last day of the month.
The 'Close-Order' workflow process may be modified from Workflow Builder
for more detail please see Note:141919.1 on Metalink
Essam

Similar Messages

  • How to Close Mass Open Sales Orders (Partially / not executed ) at one go

    Dear All
    We are having lots of  OPEN SALES ORDERS , few are COMPLETELY OPEN and rest are PARTIALLY used .Now my requirement is to CLOSE all such Sales Order at one go ie. MASS CLOSING OF OPEN SALES ORDER .
    Please Guide.
    Regards
    Animesh Chakroborty

    Dear Animesh
    First have those open order references in an excel sheet.
    Go to MASS, input Object Type BUS2032  and execute.  There block "Sales order header data" and click on "Fields".  There select the field "MASSSDHEAD_S-LIFSK"  and execute.
    Now click on "Multiple selection" (right arrow), copy those order references and press "Shift+F12" and execute.  There on top, assign some block and execute.  All your sale orders will be blocked.
    On the other hand, you can also change the status of those sale orders by assigning "Reason of Rejection"  in mass.  To achieve this, go to TCode MASS, input Object Type BUS2032 and execute.  There block on "Sales Order Item Data" and click on "Fields".  There block the field "MASSVBAP-ABGRU"  and execute.  Follow the same procedure as explained above.
    Now see the document flow of those sale orders.
    thanks
    G. Lakshmipathi

  • Create one internal sales order with two lines

    When I try to use internal sales order cycle
    I started with create internal purchase requisition with two lines,
    Each one will supply from different warehouse
    Run Create Internal Orders request
    and then switch to Order Management responsibly
    Run Order Import request with requisition number in parameter window
    All of lines included in internal requisition in same internal sales with different shipping warehouse

    it's seeded functionality.
    What do You expect else?
    You then ship to diferent ORGs with different deliveries. Everything is OK.
    BR,
    Eugene

  • Consume PIR from Sales Order when PIR's are not in BOM Usage 1

    I need help determining which combinations of Strategy groups I need at the header level (Variant Config KMAT) and item level Phantoms (HALB)  The Phantoms are just used to drive forecast, I have no need to issue or stock these items... just need them to be reduced when I use them in a Sales Order.
    Please help me understand the planning strategy groups or the requirement type combinations on the header material and the item materials.
    Standard SAP will consume the PIR if they exist in the production BOM (Usage 1).   However, due to Usage 1 having the object dependencies placed at lower levels and parameter effective, I am not able to add the foretasted assemblies to the usage 1 BOM.  I have created the PIR's for these HALBu2019s using Simulative Long Term Planning.
    I need a way to consume/reserve the foretasted PIR's from the sales order... without the use of the Production Order or Planned Order.  I think it can be done at the time of the sales order PGI... but have not been able to figure out the configuration.  Below are the main steps if the PGI is the vehicle for consumption.
    Sales Order uses Configuration Profile SD01, KMAT and BOM Usage 5 items are in the found in the Sales Order.
    KMAT is inactive in Demand Management (MD62).
    BOM Usage 5 items have PIRu2019s, they are created from Simulative Long Term Planning.
    1.     During Sales Order creation, the BOM Items are selected from VC.
    2.     During Sales Order PGI, the BOM Items are consumed and show as withdrawn in MD623/MD73.
         Sales Order Reservation and/or Consumption of Item Level Planned Independent Requirements     
         ***PIR's are not found in the Production BOM, only the Sales BOM.               
         ***Production BOM and Sales BOM have same KMAT, and same Object Dependencies          
         Step 1:     Create Sales order for KMAT 10000008                    
              a. Sales Order will have KMAT at line item 10               
              b. Sales Order will have BOM Usage 5 materials as items (see BOM's Below)          
              VC will pick the specific materials that are relevant to order          
         Step 2.     Sales Order is Saved/Confirmed.                         
              a. A reservation will be created against the Planned Independent Requirements for Sale BOM Items.
              MD73 for the HALB will show the Planned Independent Requirement, and the Reservation.     
              b. A Planned Order is created using BOM Usage 1.               
              VC will pick the specific materials that are relevant to order          
         Step 3.     Production Order is completed and issued to Sales Order.               
         Step 4.     Sales Order Delivered with PGI                    
              a. The HALB PIRu2019s in the Sales Order will be withdrawn (reservation goes away, PIR qty reduced by 1 PC).
    Client 100     BOM Usage 5                              
         Material Type     BOM Item     Material Number     Planning Strategy Group     Planning Independent Requirements     VC ObjDep          
         KMAT     Header     10000008     25     00-Inactive     KMAT          
         HALB     01     10000023     70     00-Active     Yes, At this level          
         HALB     10     10000025     70     00-Active     Yes, At this level          
         HALB     20     10000024     70     00-Active     Yes, At this level          
         HALB     30     10000026     70     00-Active     Yes, At this level          
         HALB     40     10000027     70     00-Active     Yes, At this level          
    Client 100     BOM Usage 1                              
         Material Type     BOM Item     Material Number     Planning Strategy Group     Planning Independent Requirements     VC ObjDep          
         KMAT     Header     10000008     25     00-Inactive     KMAT          
         KMAT     10     KA_350_FA_P4
    (Parameter Effective)     Null     Null     Yes, but at lower levels          
         KMAT     20     KA_350_FA_P4 (Parameter Effective)     Null     Null     Yes, but at lower levels          
         KMAT     30     KA_350_INT
    (Parameter Effective)     Null     Null     Yes, but at lower levels          
         KMAT     40     KA_350_INT
    (Parameter Effective)     Null     Null     Yes, but at lower levels

    You can manage copying data from the sales order to the production order by some FMS.
    For data not in the production order you can define UDF-s on the production order.
    E.g.copying the item code you can use this FMS:
    SELECT T0.ItemCode
    FROM RDR1 T0  INNER JOIN ORDR T1 ON T0.DocEntry = T1.DocEntry
    WHERE T1.DocNum =$[$32.1]
          and T0.VisOrder=0
    connecting this to the Product No. field setting autorefresh when Production Order Origin Number changes.
    Or copying the Item details you can use this FMS
    SELECT T0.Text
    FROM RDR1 T0  INNER JOIN ORDR T1 ON T0.DocEntry = T1.DocEntry
    WHERE T1.DocNum =$[$32.1]
          and T0.VisOrder=0
    connected to an UDF setting autorefresh when Production Order Origin Number changes.
    (And similar other FMS-s can be connected to other fields you want to copy.)

  • Sales order has 52 line items but in vbep some are not available

    Hi,
    what could be the reason for the problem;
    Sales order has 52 line items but in vbep some are not available...
    and some has 2 etenr as '0001' and '0002', why 2 lines in vbep for 1 posnr of order.
    Thanks.
    deniz.

    Hi,
    It is possible when some of them dont have valid Schedule lines.
    If they have valid schedule lines some confirmed qty should be available.otherwise we cant find them in VBEP table.
    Pls check by going to sales order  whether Sch.lines are valid or not.
    This you can check Thru
    VA03-->provide Sales Order number -->Select any line Item-->Menu item Goto-->Item-->Schedule Lines
    Thanks
    Parvathi

  • Sales Order header still booked when lines are already closed

    Hello all,
    Well, im having problems to close a couple of Sales Orders...the lines are already closed but the headers reminds as 'Booked'....I checked the Workflow and one of the SO shows me this error message:
    Error Message ORA-00376: file 354 cannot be read at this time ORA-01110: data file 354: '+LIVE_DG/liveclrvenus2/datafile/undotbs1a.801.702318343' ORA-00376: file 354 cannot be read at this time ORA-01110: data file 354: '+LIVE_DG/liveclrvenus2/datafile/undotbs1a.801.702318343'
    Error Stack Wf_Event.Dispatch(oracle.apps.wf.notification.send) Wf_Notification.SendSingle(SYSADMIN, OMERROR, OMERROR_MSG, 26-JAN-11, WF_ENGINE.CB) Wf_Notification.Send(SYSADMIN, OMERROR, OMERROR_MSG, 26-JAN-11, WF_ENGINE.CB) Wf_Engine_Util.Notification_Send(OMERROR, WF2835788, 143218, OMERROR:OMERROR_MSG) Wf_Standard.Notify(OMERROR, WF2835788, 143218, RUN) Wf_Engine_Util.Function_Call(WF_STANDARD.NOTIFY, OMERROR, WF2835788, 143218, RUN)
    Anyone knows how to fix this......
    Regards
    Edited by: 843193 on Mar 11, 2011 2:59 PM

    See docs "Close Sales Order Headers With No Associated Open Lines, Order Header Workflows Or Order Line Workflows [ID 397565.1]" and "Order Management Suite - Some Datafix Patches and Scripts [ID 398822.1]". They might help. I currently have an SR in on the same situation, although I do not get the same error message you get.
    Hope this helps,
    Dana-B
    Edited by: user9971618 on May 2, 2011 12:21 PM
    Edited by: Dana-B on May 2, 2011 12:22 PM

  • How can I create multiple sales orders with reference to one contract?

    Hello Gurus,
    Can you please how can I create multiple sales orders with reference to one contract?
    thanks!
    Rakesh

    hi
    Lets consider example
    In your contract for line item 1 you have entered qty 100
    You careated sales order with 70 quantity, and now you want to creat another sales order for 30
    For this first you need to check what is your item category in contract (VA42)
    Goto VOV7
    SPRO - IMG  - Sales and distribution - Sales - Sales document item - Define item categories - Go to change mode
    Make the completion rule = B Item is completed after full quantity has been referenced

  • How to block a sales order when there is a free good item .

    Hello Gurus ,
    How to block a sales order when there is a  free good item  , only the authorised person should have authorisation to release those blocked Sales orders.
    Reason - They want to have a track of free goods given to customer & to avoid the misusing things
    Looking  for your inputs
    Thanks in advance
    Regards
    Venkat

    Hi
    I think you can try with Status Profile in BS02 define and assign for item category TANN.
    In status profile you can block the delivery and also billing unless some changes the object status as released.
    Just try and explore
    regards
    Prashanth

  • How to configure rescheduling for sale order quantities

    kindly explain how to configure rescheduling for sale order quantities that are created last month. kindly explain. i am in urgent.
    regards,
    g.v.shivakkumar

    Hi,
    Short text
    Rescheduling sales and stock transfer documents: by material
    Description
    The 'Rescheduling' program (SDV03V02) processes sales document items that are contained in the item directory for the material. It takes into consideration open items and schedule lines from stock transfer items, stock transfer scheduling agreements and purchase order requests (items only), referred to hereafter as stock transfer documents, for the materials.
    All sales documents for the material that are still open are selected. This means that the material index must be activated for at least all sales document types, whose items may have requirements. All stock transfer documents or items for the material that are still open are also selected. Open in this case means for example, that there is no deletion indicator, that the item from a stock transfer purchase order request cannot be labeled as completed or that the quantity delivered and posted to goods issue for the item in a stock transfer purchase order is the same as the amount ordered. An availability check can only be carried out if a checking rule is assigned to the document type - if this is not the case, the document or document item is not checked.
    Checking rule 'A' is used as a basis for rescheduling sales orders (exceptions to this are rush orders  they use checking rule B, and orders with individual customer stock; they use checking rule AE). Stock transfer documents use the checking rule that is assigned in Customizing for Purchasing. It is important that the scope of checks is consistent for both the stock transfer documents and the sales documents and that they do not exclude each other, as this can lead to incorrect test results. An example of an incorrect setting would be: The scope of check for checking rule 'A' checks delivery schedules for stock transfer purchase orders and stock transfer purchase requests, however the scope of check for the checking rule for the stock transport scheduling agreement does not.
    The items and schedule lines found in the selection are sorted according to 'Priorities' - document category, delivery priority, creation date of the item or schedule line (for stock transfer purchase orders and delivery plans) entered on the selection screen or according to the schedule line date of the earliest schedule line with order quantity, document number and item number and then transferred to the availability check. Priority 1 is highest priority and priority 5 the lowest. Stock transfer purchase order requests are sorted after stock transfer purchase orders and scheduling agreements, as they are less binding. This means that when you have identical sort criteria such as delivery dates, the stock transfer purchase order item is checked first and then the item from the stock transfer purchase order request.
    The preset option 'Unconfirmed documents required' only carries out rescheduling for materials for which there is at least one unconfirmed transaction.
    You can use the parameters 'Sorting criteria delivery date' to define whether sorting is carried out with the order quantity after the creation date of the item or the delivery date of the earliest schedule line.
    If you mark the 'Simulation' field, the checked documents are not saved. Instead a results list is generated and saved. However, the availability check for the corresponding documents continues as if saving has taken place already, that is, that the simulated list corresponds to the actual one.
    Under 'Options' on the selection screen, specify whether sales documents and/or stock transfer documents should be processed. For stock transfer documents you can enter whether stock transfer purchase orders and scheduling agreements should be processed at item or schedule line level:
    Processing at item level:
    All open schedule lines for the item are read and collected, then transferred to the availability check. To sort and prioritize documents, you do not need each individual schedule line. It is sufficient to have the item or data from the first schedule line. All open schedule lines for the item are processed and checked.
    Example of processing at item level:
    Sorting: Date (Delivery date first schedule line) - Document number - Document item
    Doc. cat. Doc. number  Doc. item  Doc. schedule line  Delivery date PO        4500000012      10               0001              26.01. PO        4500000012      10               0002              26.02. PO        4500000025      20               0001              28.01. PO        4500000025      20               0002              02.02.
    You can see that the second schedule line for document 4500000025/20 from 02.02 was processed after the second schedule line for document 4500000012/10 from 26.02. This is because all open schedule lines for an item are read and processed. The first schedule line from 4500000012/10 has the earliest delivery date, therefore it has priority.
    Processing at schedule line level:
    Each open schedule line for an item is entered in document sorting in accordance with the values entered under 'Priorities'. The availability check is carried out for each individual schedule line.
    Example for processing at schedule line level:
    Sorting: Date (delivery date first schedule line) - document number -document item
    Doc. cat.    Doc. number  Doc. item  Doc. sched. line  Del. date PO           4500000012    10             0001           26.01. PO           4500000025    20             0001           28.01. PO           4500000025    20             0002           02.02. PO           4500000012    10             0002           26.02.
    Here you can see that each schedule line was sorted according to its delivery date. Note that this type of processing requires more runtime due to the individual checks and more frequent saving.
    The results of rescheduling are saved, as long as the program was not started in simulation mode. When calling up from the 'Sales' area menu or when directly starting via the development environment, the iniator is informed via a dialog box that he has just started a process that changes data. He can then decide whether or not he wants to continue.
    Checking procedure for stock transfer documents:
    An availability check of stock transfer documents in rescheduling is carried out in accordance with the check carried out when manually creating a document. If, however, the required quantity for a schedule line is not available on a particular date and will not be ready until later, new schedule lines are created for the stock transfer purchase orders and scheduling agreements, containing the relevant data. New items are created in this case for stock transfer purchase order requirements. The total sum of schedule line quantities for a processed schedule line corresponds to the schedule line quantity of the original schedule line.
    First example: Using a stock transfer purchase order item with a schedule line:
    a) Status of item before rescheduling run:
    Del. date  PO quantity   Confirmed quant  Confirmed del. date 23.07.      50 items       0 items              -
    ==> This now affects the stock/requirement situation:
        - Goods issue is posted for the material in the delivering plant on the 23.07.
        - A purchase order of 10 items was created for the material in the delivering plant. Delivery is expected on the 29.07.
    b) Status of stock transfer purchase order item after rescheduling run:
    Del. date PO quantity   Confirmed quant   Confirmed del. date 23.07.     40 items      40 items            23.07. 29.07.     10 items      10 items            29.07.
    ==> The first schedule line was changed in accordance with the results of the rescheduling availability check. Only 40 of the 50 original items could be delivered on the 23.07. Therefore, a new schedule line is created for the rest on the 29.07. for 10 confirmed items.
    Second example: Same output situation as the above example.
    ==> There is now a change in the requirement/stock situation:
    A purchase order for 10 items is created for the material in the delivering plant. Delivery is expected on the 29.07. A further purchase shows another 40 planned items on the 30.07.
       Status of stock transfer purchase order item after rescheduling run:
    Del. date PO quantity  Confirmed quant  Confirmed del. date 29.07.     10 items       10 items          29.07. 30.07.     40 items       40 items          30.07.
    ==> The first schedule line was changed in accordance with the result of the availability check for rescheduling. The original delivery date is set to the date confirmed in the ATP check. A new schedule line is created for the remaining 40 items, that are available on the 30.07.
    Note:
    Any set fixed delivery date and quantity indicators and creation indicators for schedule lines or items are 'inherited' by newly created schedule lines. Assuming that the original schedule line was fixed in the above example (since it is created manually), this indicator is also set for the newly created schedule line.
    If shipping scheduling is activated for a stock transfer document type, this is also implemented for newly created schedule lines, with the exception of route schedule determination. This means that in the current version of the program no route schedule has been determined for a schedule line containing a route schedule for which new schedule lines may need to be created.
    The results of the run are issued in the form of a list, which is also saved, so that the results can be controlled at a later date. This is done using the function 'Evaluate rescheduling', but it is only a good idea to do this after the first rescheduling has taken place. You can restrict selection requirements but these can however affect the runtime. You can use this function to analyze the saved list until the next rescheduling run, which writes over the result. If you start rescheduling in the background, a spool file with the result list referred to will be created in the corresponding setting. You can see this in spool management.
    Output
    A list of changed documents, a list of documents in which an error occurred during processing and as a result were not changed, can be called up via the menu 'Edit - Error log'. If in a subsequent evaluation a restricted selection is carried out, a note appears at the end of the list to say that not all document items are displayed.
    You can set the scope of the list under the menu option 'List' in the list display. You can view improvements, deteriorations and the whole list. Before the documents can be included in one or either of the restricted lists, the date or quantity has to have changed so that the item can be contained in both the list of improved or deteriorated documents.
    You can use the interface for changing transactions and the order list to navigate. Use 'Back' to exit the list and 'New selection' to return to the selection screen.
    Recommendation
    You should only start this program occasionally and use very restricted selectin criteria during working hours as it requires enormous system resources.
    Note
    The columns for 'New date' and 'New confirmed qty' only contain entries if the dates or quantities have changed.
    As the system only runs the change check (dates/quantities) per line in the original list, an item whose backlog has increased in the list of improvements. This occurs, for example, if the whole quantity can be delivered at once but at a later date. In this situation, the system determines an increase for the line when it compares quantities.
    Regards,
    Amrish Purohit

  • How to retrieve the ARCHIVED Sales order data

    Hi All,
    When issuing the output for the delivery, it is giving an error saying 'Sales Order XXXX does not exist' due to which the prices in the output were displayed as '0'. Reason for this can be that 'the order might have been archived'.
    My requirement is,
    1. If Sales Order doesnu2019t exist in data base then need to check if Sales order exists in archive data base.
    2. If  yes, take needed data from archive data base tables to calculate price. The logic of price calculation should be the same as for not archived Sales Orders.
    Can anyone help me on this..?
    Please tell me how to check whether the Sales order exists in the Archived database. Please share the table names(sample logic if possible) sothat I can use them in the report logic.
    Please tell me how to pull the data from the archive database tables to calculate the price.
    Thank you in advance.
    Thanks & Regards,
    Paddu.
    Edited by: Paddu K on Feb 23, 2009 3:42 PM

    *&      Form  get_archive_data
    *       Fetch Archive Data
    FORM get_archive_data .
      CLEAR:    g_read_handle, g_commit_cnt,
                g_read_cnt, g_reload_cnt,it_rel_tab,it_bseg_a,it_bkpf_a,
                it_bset_a, gt_result.
      REFRESH: it_rel_tab[],it_bseg_a[],it_bkpf_a[],
               it_bset_a[], gt_result[].
    *Populating selection screen fields to field-symbols
      PERFORM build_fs_select_options.
    *Call FM as_api_read  FI Data
      CALL FUNCTION 'AS_API_READ'
        EXPORTING
          i_fieldcat                      = 'SAP_FI_DOC_002'
          i_selections                    = ft_selections[]
    *   I_OBLIGATORY_FIELDS             =
    *   I_MAXROWS                       =
       IMPORTING
         e_result                        = gt_result[]
    EXCEPTIONS
       parameters_invalid              = 1
       no_infostruc_found              = 2
       field_missing_in_fieldcat       = 3
       OTHERS                          = 4
      IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      IF NOT gt_result[] IS INITIAL.
    *Sorting by KEY and Offset
        SORT gt_result BY archivekey archiveofs.
    *To delete duplicates
        DELETE ADJACENT DUPLICATES FROM gt_result COMPARING archivekey
        archiveofs.
    *looping the internal table
        LOOP AT gt_result.
    *Get read handle for  object
          CALL FUNCTION 'ARCHIVE_READ_OBJECT'
            EXPORTING
              object         = 'FI_DOCUMNT'
              archivkey      = gt_result-archivekey
              offset         = gt_result-archiveofs
            IMPORTING
              archive_handle = g_read_handle
            EXCEPTIONS
              OTHERS         = 1.
          IF NOT sy-subrc IS INITIAL.
            MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno
                    WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
            EXIT.
          ENDIF.
          IF sy-subrc = 0.
    *Get Acoounting Document details
            PERFORM object_read_opened
                      TABLES it_rel_tab
                             it_bseg_a
                             it_bkpf_a
    *                         it_bset_a
    *                         it_bsik_a
    *                         it_bsak_a
                             it_bsid_a
                             it_bsad_a
    *                         it_bsec_a
                      USING g_read_handle
                            l_archobj
                            g_commit_cnt
                            g_read_cnt
                            g_reload_cnt
          ENDIF.
    *close the file.
          CALL FUNCTION 'ARCHIVE_CLOSE_FILE'
            EXPORTING
              archive_handle          = g_read_handle
            EXCEPTIONS
              internal_error          = 1
              wrong_access_to_archive = 2
              OTHERS                  = 3.
          IF sy-subrc <> 0.
            MESSAGE i004." 'Unable to close archive session'.
            EXIT.
          ENDIF.
        ENDLOOP.
      ELSE.
        MESSAGE i000 WITH 'No data found for Archived data'(095).
        EXIT.
      ENDIF.
    *Start of Changes by GTHATIKONDA on 10/17/2008 #ECDK902204
      IF NOT it_bkpf_a[] IS INITIAL.
        SORT it_bkpf_a BY belnr.
        DELETE ADJACENT DUPLICATES FROM it_bkpf_a COMPARING belnr.
        DELETE it_bkpf_a WHERE budat GT p_budat. "#ECDK902206
      ENDIF.
    *Start of Changes by GTHATIKONDA on 10/17/2008 #ECDK902206
      IF it_bkpf_a[] IS INITIAL.
        MESSAGE i000 WITH 'No data found for Archived data'(095).
      ENDIF.
    *End of Changes by GTHATIKONDA on 10/17/2008 #ECDK902206
      IF NOT it_bseg_a[] IS INITIAL.
        SORT it_bseg_a BY belnr gjahr buzei.
        DELETE ADJACENT DUPLICATES FROM it_bseg_a COMPARING
                                              belnr gjahr buzei.
      ENDIF.
    *End of Changes by GTHATIKONDA on 10/17/2008 #ECDK902204
    ENDFORM.                    " get_archive_data
    *&      Form  build_fs_select_options
    FORM build_fs_select_options .
      REFRESH:  ft_selections.
    *Comapny code
      APPEND INITIAL LINE TO ft_selections ASSIGNING <fw_selections>.
      <fw_selections>-fieldname  = 'BUKRS'.
      APPEND INITIAL LINE TO <fw_selections>-selopt_t ASSIGNING <lw_selopt>.
      MOVE p_bukrs  TO <lw_selopt>-low.
      MOVE  'I' TO <lw_selopt>-sign.
      MOVE  'EQ' TO <lw_selopt>-option.
    *Customer
      APPEND INITIAL LINE TO ft_selections ASSIGNING <fw_selections>.
      <fw_selections>-fieldname  = 'KUNNR'.
      LOOP AT s_kunnr.
        APPEND INITIAL LINE TO <fw_selections>-selopt_t
               ASSIGNING <lw_selopt>.
        MOVE-CORRESPONDING  s_kunnr TO <lw_selopt>.
      ENDLOOP.
    *Start of changes by GTHATIKONDA on 16/10/2008 #ECDK902192
    **Customer Group
    *  append initial line to ft_selections assigning <fw_selections>.
    *  <fw_selections>-fieldname  = 'KTOKD'.
    *  loop at s_ktokd.
    *    append initial line to <fw_selections>-selopt_t
    *           assigning <lw_selopt>.
    *    move-corresponding  s_ktokd to <lw_selopt>.
    *  endloop.
    *End of changes by GTHATIKONDA on 16/10/2008 #ECDK902192
    *Profit Center
      APPEND INITIAL LINE TO ft_selections ASSIGNING <fw_selections>.
      <fw_selections>-fieldname  = 'PRCTR'.
      LOOP AT s_prctr.
        APPEND INITIAL LINE TO <fw_selections>-selopt_t
               ASSIGNING <lw_selopt>.
        MOVE-CORRESPONDING  s_prctr TO <lw_selopt>.
      ENDLOOP.
    *Commented #ECDK902210
    **Key Date
    *  append initial line to ft_selections assigning <fw_selections>.
    *  <fw_selections>-fieldname  = 'BUDAT'.
    *  append initial line to <fw_selections>-selopt_t assigning <lw_selopt>
    *  move p_budat  to <lw_selopt>-low.
    *  move  'I' to <lw_selopt>-sign.
    *  move  'EQ' to <lw_selopt>-option.
    *Aging Period1
      APPEND INITIAL LINE TO ft_selections ASSIGNING <fw_selections>.
      <fw_selections>-fieldname  = 'ANZTA'.
      APPEND INITIAL LINE TO <fw_selections>-selopt_t ASSIGNING <lw_selopt>.
      MOVE p_ag1  TO <lw_selopt>-low.
      MOVE  'I' TO <lw_selopt>-sign.
      MOVE  'EQ' TO <lw_selopt>-option.
    *Aging Period2
    *Start of changes by GTHATIKONDA on 16/10/2008 #ECDK902192
    *  append initial line to ft_selections assigning <fw_selections>.
    *  <fw_selections>-fieldname  = 'ANZTA'.
    *End of changes by GTHATIKONDA on 16/10/2008 #ECDK902192
      APPEND INITIAL LINE TO <fw_selections>-selopt_t ASSIGNING <lw_selopt>.
      MOVE p_ag2  TO <lw_selopt>-low.
      MOVE  'I' TO <lw_selopt>-sign.
      MOVE  'EQ' TO <lw_selopt>-option.
    *Aging Period3
    *Start of changes by GTHATIKONDA on 16/10/2008 #ECDK902192
    *  append initial line to ft_selections assigning <fw_selections>.
    *  <fw_selections>-fieldname  = 'ANZTA'.
    *End of changes by GTHATIKONDA on 16/10/2008 #ECDK902192
      APPEND INITIAL LINE TO <fw_selections>-selopt_t ASSIGNING <lw_selopt>.
      MOVE p_ag3  TO <lw_selopt>-low.
      MOVE  'I' TO <lw_selopt>-sign.
      MOVE  'EQ' TO <lw_selopt>-option.
    *Aging Period4
    *Start of changes by GTHATIKONDA on 16/10/2008 #ECDK902192
    *  append initial line to ft_selections assigning <fw_selections>.
    *  <fw_selections>-fieldname  = 'ANZTA'.
    *End of changes by GTHATIKONDA on 16/10/2008 #ECDK902192
      APPEND INITIAL LINE TO <fw_selections>-selopt_t ASSIGNING <lw_selopt>.
      MOVE p_ag4  TO <lw_selopt>-low.
      MOVE  'I' TO <lw_selopt>-sign.
      MOVE  'EQ' TO <lw_selopt>-option.
    *Aging Period5
    *Start of changes by GTHATIKONDA on 16/10/2008 #ECDK902192
    *  append initial line to ft_selections assigning <fw_selections>.
    *  <fw_selections>-fieldname = 'ANZTA'.
    *End of changes by GTHATIKONDA on 16/10/2008 #ECDK902192
      APPEND INITIAL LINE TO <fw_selections>-selopt_t ASSIGNING <lw_selopt>.
      MOVE p_ag5  TO <lw_selopt>-low.
      MOVE  'I' TO <lw_selopt>-sign.
      MOVE  'EQ' TO <lw_selopt>-option.
    ENDFORM.                    " build_fs_select_options
    *&      Form  object_read_opened
    *       To Fetch Arichive Data
    FORM object_read_opened TABLES   it_rel_tab
                                      it_bseg_a
                                      it_bkpf_a
    *                                  it_bset_a
    *                                  it_bsik_a
    *                                  it_bsak_a
                                      it_bsid_a
                                      it_bsad_a
    *                                 it_bsec_a
                             USING value(g_read_handle) LIKE sy-tabix
                                   value(l_archobj) LIKE arch_def-object
                             value(g_commit_cnt) LIKE arch_usr-arch_comit
                               g_read_cnt TYPE i
                               g_reload_cnt TYPE i.
      DATA: BEGIN OF table_wa ,
               table LIKE arch_stat-tabname,
            END  OF table_wa.
      DATA: lit_data(2048) TYPE c OCCURS 1 WITH HEADER LINE.
      DATA:  l_structure LIKE arch_stat-tabname,
             l_lin TYPE i.
      CLEAR: it_table_org1,lit_struc,it_table_org2,table_wa,it_rel_tab.
      REFRESH: it_table_org1[],lit_struc[],it_table_org2[],it_rel_tab[].
      CLEAR: g_duprec,g_read_cnt,g_reload_cnt,g_object_cnt.
    *Read  data from the infostructure
      DO.
        ADD 1 TO g_object_cnt.
        CLEAR l_structure.
        CALL FUNCTION 'ARCHIVE_GET_NEXT_RECORD'
          EXPORTING
            archive_handle                = g_read_handle
         IMPORTING
           record                        = lit_data
    *   RECORD_CURSOR                 =
    *   RECORD_FLAGS                  =
           record_structure              = l_structure
    *   RECORD_LENGTH                 =
    *   RECORD_REF                    =
         EXCEPTIONS
           end_of_object                 = 1
           internal_error                = 2
           wrong_access_to_archive       = 3
           OTHERS                        = 4
        IF sy-subrc <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          EXIT.
        ENDIF.
        IF NOT l_structure IS INITIAL.
          table_wa-table = l_structure.
          APPEND table_wa TO it_rel_tab.
        ENDIF.
        APPEND lit_data.
        CLEAR l_lin.
        FIELD-SYMBOLS: <fs_struc> TYPE c.
        CASE l_structure.
    *BKPF data
          WHEN 'BKPF'.
            ASSIGN it_bkpf_a TO <fs_struc> CASTING.
            <fs_struc> = lit_data.
            APPEND it_bkpf_a.
    *BSID data
          WHEN  'BSID'.
            ASSIGN it_bsid_a TO <fs_struc> CASTING.
            <fs_struc> = lit_data.
            APPEND it_bsid_a.
    *BSAD data
          WHEN  'BSAD'.
            ASSIGN it_bsad_a TO <fs_struc> CASTING.
            <fs_struc> = lit_data.
            APPEND it_bsad_a.
    *BSEG data
          WHEN 'BSEG'.
            ASSIGN it_bseg_a TO <fs_struc> CASTING.
            <fs_struc> = lit_data.
            APPEND it_bseg_a.
        ENDCASE.
        REFRESH lit_data.
        CLEAR g_object_cnt.
      ENDDO.
    ENDFORM.                    " object_read_opened
    *&      Form  get_bsid_bsad_archive_data
    *If Exclude Spl. GL Trnasaction is initial get BSID BSAD Archive data  *
    FORM get_bsid_bsad_archive_data .
    *Work Area
      DATA: wa_bsid TYPE type_bsid.
    *Reading BSAD Archive internal table
    *      loop at it_bsad_a   where bukrs eq p_bukrs
    *Start of changes by GTHATIKONDA on 10/14/2008 #ECDK902180
    *Commented by GTHATIKONDA on 10/17/2008 #ECDK902204
      LOOP AT it_bkpf_a  WHERE  bukrs = p_bukrs AND
                                budat LE p_budat. "#ECDK902206
    *End of changes by GTHATIKONDA on 10/14/2008 #ECDK902180
        LOOP AT it_bseg_a   WHERE bukrs EQ p_bukrs AND
                                  belnr EQ it_bkpf_a-belnr AND
                                  gjahr EQ it_bkpf_a-gjahr AND
                                  augdt GT p_budat AND
    *                            koart eq 'D'     and
                                  kunnr IN s_kunnr AND
                                  prctr IN s_prctr.
    *Changes by GTHATIKONDA on 10/17/2008 #ECDK902204
    *    loop at it_bkpf_a  where budat le p_budat."#ECDK902206
    *Move corresponding fiels
          MOVE-CORRESPONDING it_bseg_a TO wa_bsid.
          wa_bsid-blart = it_bkpf_a-blart.
          wa_bsid-budat = it_bkpf_a-budat.
          wa_bsid-bldat = it_bkpf_a-bldat.
          APPEND wa_bsid TO i_bsad.
          CLEAR wa_bsid.
        ENDLOOP.
      ENDLOOP.
      IF NOT i_bsad[] IS INITIAL.
        APPEND LINES OF i_bsad TO i_bsid.
      ENDIF.
    *Start of Changes by GTHATIKONDA on 10/17/2008 #ECDK902206
      IF NOT i_bsid[] IS INITIAL.
        SORT i_bsid BY belnr.
    *Commenting this logic by GTATIKONDA on 10/31/2008 #ECDK902245
    *  delete adjacent duplicates from i_bsid comparing belnr.
      ENDIF.
    *End of Changes by GTHATIKONDA on 10/17/2008 #ECDK902206
    ENDFORM.                    " get_bsid_bsad_archive_data
    *Reading BSAD Archive internal table
    *      loop at it_bsad_a  where bukrs eq p_bukrs
    *Start of changes by GTHATIKONDA on 10/14/2008 #ECDK902180
    *Commented by GTHATIKONDA on 10/17/2008 #ECDK902204
      LOOP AT it_bkpf_a  WHERE bukrs = p_bukrs AND  "#ECDK902206
                               budat LE p_budat.
    *End of changes by GTHATIKONDA on 10/14/2008 #ECDK902180
        LOOP AT it_bseg_a  WHERE bukrs EQ p_bukrs AND
                                 belnr EQ it_bkpf_a-belnr AND
                                 gjahr EQ it_bkpf_a-gjahr AND
                                 kunnr IN s_kunnr AND
                                 umskz EQ space AND
                                 augdt GT p_budat AND
                                 prctr IN s_prctr.
    *Changes by GTHATIKONDA on 10/17/2008 #ECDK902204
    *    loop at it_bkpf_a  where budat le p_budat. "#ECDK902206
    *Move corresponding fiels
          MOVE-CORRESPONDING it_bseg_a TO wa_bsid.
          wa_bsid-blart = it_bkpf_a-blart.
          wa_bsid-budat = it_bkpf_a-budat.
          wa_bsid-bldat = it_bkpf_a-bldat.
          APPEND wa_bsid TO i_bsad.
          CLEAR wa_bsid.
        ENDLOOP.
      ENDLOOP.
      IF NOT i_bsad[] IS INITIAL.
        APPEND LINES OF i_bsad TO i_bsid.
      ENDIF.

  • How to hold a particular sales order by applying holds

    Dear Guys,
    I have some sales orders for which i need to hold the shipments of pending lines.
    The purpose is to hold the shipments to projects which are closed.
    As i know there is no seeded link between project and SO, we cannot control the shipment by closing the project from project module.
    Is there any other solutions any one can suggest, like applying any hold or something which blocks user from shipping the orders related to these closed projects.
    Regards
    Mohamed Irshad
    Abu Dhabi

    Thanks Mahendra.
    Actually i am not a super user with setup responsibility.I m just a user.
    I will try to contact our oracle consultant for setup the holds as suggested.
    The reason i posted this thread because we have a customized program for project sales orders, in which we can enter the project number,task,expenditure type in additional information of lines.
    Once the lines are picked and shipconfirmed the shipped lines are interfaced from OM to Inventory and from inventory to projects through some scheduled requests.
    As per the process,if the project invoiced 100% ,immediately i will close the project.But i cannot delete the pending lines from project sales orders immediately because may be they requests some items from pending lines for some snag works or replacement.
    But the problem arises when the order management team picks the items of closed projects and ship, it will goes to rejected transactions in project expenditure transactions interface table.
    Since there is no seeded link between projects and OM,my oracle consultant rejected the possibility of holding the shipment of projects sales orders for which project are closed.
    I believe the requirement is clear to all.
    Kindly seeking the possible suggestions to block the shipments.

  • How to know that a sales order is approved?

    Hi all,
    Can any one let me know how to know that a sales order is approved? Is there any flag or status code to pull the information from the backend?
    Thanks for your help,
    Prathima

    Hi Prathima,
    Oracle Order Management does not have any approvals, i.e. there is no status as 'Approved' for Order. You can consider an order to be final once it is booked, which you can know from the booked_flag or the value of flow_Status_code field in oe_order_headers_all.
    Hope this helps

  • How can we reject a Sales order after first Down payment invoice for Italy?

    Hello,
    As a legal requirement in Italy the Down paymenty have to be transformed into real invoices, another legal requirement is that an invoice cannot be cancelled it has to reversed by a credit memo.
    I would like to know in this context how we can reject a sales order line once a Down payment invoice has been emitted.
    When I do enter a reason for rejection in the sales order line I receive the message : V1036: Subsequent documenst exist for item XXX and then V2432 Cancellation not possible. Down payment request already created.
    I can create a down payment credit memo in order to cancel the down payment invoice but how can I get rid of my SD requirement in MD04 if I cannot reject the sales order line?

    Hello,
    have you tried using a recjection code which is not relevant for billing?
    Regards,
    Uli

  • How to create a new sales order to internal requisition?

    Hi, All
    Need help!!!
    How to create a new sales order to internal requisition?
    The internal requisition has generated order sales but this has already been canceled, so I need to create a new sales order to the same internal requisition.
    How to release the internal requisition to re-create new sales order and after import in OM?
    please help me
    Thanks and regards
    Manuel,

    You cannot.
    Once a ISO is generated for an IR, the transferred_to_oe flag is set on that req.
    If the ISO was canceled, you should cancel the IR and create a new one.
    Hope this helps,
    Sandeep Gandhi

  • Error in sales order when selecting a warranty item in configurator 'Please enter required information - Service Reference Type Code'

    Error in sales order when selecting a warranty item in configurator 'Please enter required information - Service Reference Type Code'
    Not able to book the sales order because of this issue

    Order Management does not support the inclusion of optional service items in a configured Model BOM (see Support article #1296751.1 for more detail).  Allowing for such would therefore require customization.
    As you've found, there's no modeling restriction that prevents you from creating a Model BOM that includes optional service items, nor is there any problem with creating a Configurator Model for it.  And required service items (such as a warranty item that is a required child of an optional BOM component) do not present a problem; they have nothing to do with Configurator, and would never appear as sub-lines in OM.  The problem arises in OM, which requires that any service item be "associated" to the item it's "servicing".  OM does not automatically make such an association with service sub-lines, even though it might be argued that an association may be inferred by the BOM structure (i.e., OM does not assume that an optional service sub-line is necessarily associated, from a service standpoint, with its BOM parent).  OM customization is therefore required in order to hook any service item up to its corresponding product item.  Many customers who configure service along with product have implemented such a customization.
    (Another gap in such a solution that may be relevant to you is that for an included optional service item requiring recurring billing, Order Management does not create the requisite Service Contract.  Customers have likewise developed customizations to address this, as well.)
    As this is not specifically a Configurator matter (you could have created your order without using Configurator at all, and you would have experienced the exact same behavior), please do not take my explanation as being either authoritative or comprehensive (I am a Configurator expert, and only knowledgeable enough about Order Management to be dangerous).  It would be advisable for you to seek more detailed information/recommendations from the Order Management forum.
    Eogan

Maybe you are looking for