Sales Orders Change Log question

Hi All,
I am currently working on a project that involves querying SAP Database to get custom reports via web browser, I've made a lot of advances and most of the site is ready but I'm missing just one item that I hope you could help me.
Thing is I am working with the Sales Order change log and the problem comes one a user deletes a row. If I go to the change log inside SAP and see the differences a new record will be shown saying that row X was deleted and
if I go to the database (ADOC and ADO1 tables) I don't have a way to see wich row was deleted.
My way of doing this is to check for the number of rows on the current state of the sales order and check the same on the previous instance of the SO and see if a line was deleted. Then I would have to check row by row between instances what rows are there and what row is missing and store that info. I think this kind of approach will definitively kill the server.
I was wondering if some one can give me a hint about how to approach this problem. Does any body know how SAP works on this area?
I'm working with SAP2005A and SQL Server 2005 Standard Edition.
Any help is greatly appreciated.
Thanks!
Alejandro.-

Hola Alejandro,
Thanks for your answer, as I see it I'm doing exactly what you proposed but the problem comes with the following scenarios:
a.- If I post a new SO with two lines I will have on the ADO1 table two records with the values 0 and 1 for each line respectively but if I delete the item on LineNum = 1 and then I add a new item, this last item will be also created with LineNum value = 1. This is not a complicated thing to do but the problem comes when the user is used to work with SOs with several items at detail level and is used to add and erase lines once in a while and as I see it it's very difficult for me to track those specific changes. There's also the fact that on the Log table a new instance is created every time the user hits the update button regardless if a modification was actually made or not. I mean I would know that a line was deleted or added but I would have to start comparing each field on each line of a sales order with it's previous instance to check what was actually added/deleted and I'm afraid that this may affect the server performance. I know that SAP does this without affecting to much the system resources and that is what I'm trying to find.
I forgot the other scenario I was considering he he I will post again as soon as I remember it but I hope I'm explaining this ok (I'm not very good at explaining...) If not let me know and I'll try to explain again.
I'm also working on trying to get another approach to see what comes up...
Thanks for checking this thread, your answers are helpful.
Regards.

Similar Messages

  • Billing Block removal not updated in the sales order change log

    Hi Gurus,
    A specific Billing Block is automatically assigned to the sales document header (VBAK-FAKSK) when the net value of the sales order is negative. This is an order related billing.
    Sometimes the Billing block is getting released automatically and the Negative Invoice is getting created in the Background job run for creating the invoices. When we check the sales order, the Billing block is not existing and the removal of the billing block is not recorded in the Change Log of the sales order.In the CDHDR table also there are no details about the release of the billing block.
    This is happening only occassionally. When I tried to replicate the issue, the system is not allowing me to create the invoice as long as the billing block is there in the sales order and if I remove the block, it is recorded in the sales order change log.
    My doubt is.,
    1. How the billing block is getting released automatically?
    2. Even if the block is released,  why it is not recorded in the Change Log of the sales order?
    Looking forward your for suggestions and solutions.
    Thanks,
    Ravi

    Hi
    Did u check in sales doc. details screen.There u can block for billing.

  • Credit status change through Sales order - change log

    Hi Friends,
      I'm currently facing a scenario were it was reported by the client that
      credit release is happening automatically.
      Brief details : 
       Order was created on 4th Of Oct and it was blocked (reaches the VKM1 bucket )
       since the customer reaches the credit limit.The same order on 5th Oct was not in VKM1
       bucket were the status of order in Sales document header states that it's  released.
      Initial check : (Sales order change log)
      1, I've checked the change log on 5th Oct were the  field VBUK - CMGST  "Overall status of credit checks changed"  from  B to A.
       ((  Status and details below
          A - Credit check was executed and document is OK.
          B - Credit check was exectued and Document is not OK (credit block).
          C - Credit check was executed document not OK, Partial release.
          D-  Document released by Sales representative. ))
    2, I tried to replicate the order status for block and release, But when I release through  VKM1 / VKM3
         the change logs are getting updated with Status - D .(ie from B to D) .
      I'm  wondering that  what could be the reason that causes the system to update in the table - VBUK  - CMGST from A to B
      or because of what change from the client in the sales document header level could impact this changes.
      Note - There is no payment which received from customer on that day.
      Please let me know in case if you are getting the clue...
      Thanks in Advance..
      - Pugal stalin

    Hi
    A simple credit check, as the name suggests, is very simple in nature. The functionality is limited and considers only open A/R items and open items from special G/L and sales orders for performing the credit checks. When you create/change a sales order that is relevant for a simple credit check, SAP calculates the payer/customeru2019s credit exposure by adding the open A/R balance for the customer, open item balances from the special G/L, and the net sales order value. This credit exposure is then compared against the customer credit limit maintained in the customeru2019s credit master. If the credit exposure is greater than the credit limit, the system sets the credit check status as u201Cfailu201D and shows a warning, generates an error message, or performs a delivery block
    Regards from Pakistan

  • Sales order change log problem

    in sales order changes are visible in change log but if I want to enter the reason for those changes how to do it?

    Hi,
    If I understand you requirement right then you want to customize your system in that way,
    For e.g If you are changing the payment term in order then there is some place where you mention why you are changing the payment term in order.
    I dont think in change log you will get this facility but I can suggest you another way
    Maintain the Text id at header and tell every user that whenever they change something in order then they have to mention the reson in Text (Header).
    Anyways as per the change log id, senior manager will ask them directly.
    So everybody take it seriouly and enter the reason for every change.
    Hope this helps,
    Regards,
    MT

  • Sales order change after Invoice

    Standard SAP would allow us to change the Partners in a sales order even after an invoice has been created for the sales order.
    My question is that how can we prevent doing this. I want that the SO partner functions should not be changed after we have billed the customer.
    I wonder why SAP has kept it like this.Can anyone help me out in ths?
    James

    It is possible to control by identifing UserExit andproviding the logic to the Abaper, as per requirement.
    Regards,
    Rajesh Banka

  • Report for Sales Order Change History   CDPOS and CDHDR

    How to take a report of the data for the Sales Order Change history for a particular period of time. It is required to take a report of all the Sales Orders for which the basic price has been changed. Please let me know the procedure. I could not get the data from the table CDPOS and CDHDR
    Helpful answer would be rewarded.
    Regards
    Praveen

    Dear Praveen Kumar
    Have you tried with VBAP where sale order details at item level would be stored.
    Moreover, to my knowledge, there won't be any changes as for as pricing is concerned at sale order level but there is at billing level.  Normally, any price increase / decrease would reflect in billing.  So why dont you to table join through SQVI VBAP (for sale order details) and VBRP (for billing details) so that you can compare the selling price in sale order with billing. 
    Thanks
    G. Lakshmipathi

  • Sale Order changes View

    Dear Guru's
    Is there any T-Code for verifying Sale Order changes (Step wise), as in my company Invoices are generated with lot of changes which not matching with Sale Order conditions. So I would like to moniter the Sale Order conditions changes. Kindly help me out.
    Thanks in advance

    Hi
    Sales order changes can be seen in the report only if the changes are made by any user(userid). If your problem is with changes in pricing conditons...then before comparing the sales orders and invoices, I advise you to check the copy controls and the price type used in the copy controls. If the price type selected is to redetermine the pricing, then you should check the validity of the conditon records. Sometimes, the conditon records may be different during sales order creation and invoice creation.
    Thanks,
    Ravi

  • Sale Order change BAPI - Storage loc not updated

    Hi Everybody,
    Iam using "BAPI_SALESORDER_CHANGE", to change the sale order items.
    First iam calling above bapi with switch B, for new pricing & then second time for material change.
    When i change any material number, it is getting updated correctly.
    But the storage location, even though iam passing in the bapi it is not updated, & is blank - updation flag is also passed.
    When i execute sale order change again it is updated - ie, for any material change for first bapi call, storage loc is not updated - for 2nd bapi call storage loc is updation - for same input in both the cases.
    Is there any way to update the storage loc is first call of sales order change bapi.
    Below is the parameters iam passing in bapi :
    CALL FUNCTION 'BAPI_SALESORDER_CHANGE'
        EXPORTING
          SALESDOCUMENT      = LS_SALESDOCUMENT
          ORDER_HEADER_IN    = LT_HEADER_IN
          ORDER_HEADER_INX   = LT_HEADER_X
        TABLES
          RETURN                            = LT_RETURN
          ORDER_ITEM_IN               = LT_ITEMS
          ORDER_ITEM_INX             = LT_ITEM_X
          ORDER_CFGS_REF          = LT_CFGS_REF
          ORDER_CFGS_INST         =  LT_PARTS
          ORDER_CFGS_VALUE     = LT_VALUES
          ORDER_CFGS_BLOB        = LT_CUBLOB
          ORDER_CFGS_VK            = LT_CUVK
          ORDER_CFGS_REFINST   = LT_CUREF
          SCHEDULE_LINES            = LT_SCHEDULE_L
          SCHEDULE_LINESX         = LT_SCHEDULE_X
          ORDER_TEXT                   = LT_TEXT
          CONDITIONS_IN                = LT_CONDITION_L
          CONDITIONS_INX              = LT_CONDITION_X.
    Any help is appreciated.
    Regards,
    Nagarajan.J

    Hi,
    Storage location is updated only when same sale order bapi is called another time with required details.
    rgs,
    Nagarajan J

  • Calling a Sales Order Change BAPI in a Sales Order Exit

    Functional Requirement:
    While creating a Sales Order with Reference to another Sales Order, on saving the new sales order, change something in the referenced sales order.
    I am trying to achieve the same by doing the following:
    In the standard SAP user exit called during saving the new sales order USEREXIT_SAVE_DOCUMENT I am calling the BAPI BAPI_SALESORDER_CHANGE on the referenced Sales Order.
    However the BAPI is unable to change the other sales order giving an error Enter the document number. I am specifying the Document Number while calling the BAPI, so I know that is not the error.
    I just wish to know whether it is technically possible to call a BAPI to update another Sales Order while we are currently saving one Sales Order.

    Hi Girish,
    If it works correctly when run seperately and you are sure the data passed into the BAPI is exactly the same then it may be something like table locks or similar causing your original problems...
    What about packaging up your working Z program into a custom function module and calling that from within USEREXIT_SAVE_DOCUMENT as a seperate task (IN NEW TASK) and building in a slight delay of say 5 seconds at the start of your code?
    I'll be honest, this isn't an ideal solution but might be sufficient to resolve your issues.  I'd be inclined to see if you could just run your Z program as a background process every 5 minutes or so to capture any changes and perform updates but if this is a no no from your functional people I'm not sure what else to suggest sorry.  I've never personally had to update a document from within the save routine of another document so can't give any advice based on my own experiences sorry.
    Gareth.

  • BAPI_SALESORDER_SIMULATE can be used in case of Sales Order Change?

    Hi All,
    I'm using FM 'BAPI_SALESORDER_CHANGE' to update sales order.
    It's working fine even multiful item (delete, add, changing item).
    But I need to give simulated information to SAP portal before changing Sales order.
    This 'BAPI_SALESORDER_SIMULATE' FM looks like for creating new Sales Order.
    Is there any other simulation BAPI FM for Sales order change?
    Thanks.

    Hi,
    You can use
    BAPI_ORDER_CHANGE_STATUS_GET   Change status for order                                                  
    BAPI_SALESORDER_CHANGE         Sales Order: Change Sales Order                                          
    Thanks
    Sarada

  • Authorization at Sales Order Change (Item level)

    Hello Experts,
    Is there any standard authorization object at sales order for adding new items? As I want to restrict some users to add new item lines at sales order change ( VA02 )
    Regards,
    Amr

    Hello,
    How can I use this object V_VBAK_AAT to disallow users to add
    some item lines from VA02 but users can change any other functions
    at the sales order (e.g. update pricing conditions)?
    As I see on this object V_VBAK_AAT, If I revoked ACTVT = 02 'Change',
    It will revoke all change functions from users.
    I think the best solution for your requirment would be to seek the help of Basis folk to create a new User ID which would be having access to Change mode of Sales Order (VA02). Then you can restrict addition of Material line item with the help of Technical consultant by putting up code in following User exit.The logic in the code will be addition of Material line item will be restricted if the User Name is the newly created one...
    1:- MV45AFZB -- USEREXIT_CHECK_VBAP
    2:- MV45AFZZ -- USEREXIT_MOVE_FIELD_TO_VBAP
    3:- MV45AFZZ -- USEREXIT_SAVE_DOCUMENT_PREPARE
    Regards,
    Sarthak
    PS : On information note, you can refer the t-code SU24 to see the standard authorization object for change mode of Sales Order.

  • Sale Order Changes

    Hai..
    Please tell me the table to find out the history of changes in sale order.
    Thanks.

    You can get  history of sales order changes from CDHDR,CDPOS tables.
    Alternatively you can also use these FM.
    CHANGEDOCUMENT_READ_HEADERS.
    CHANGEDOCUMENT_READ_POSITIONS.

  • Addition Item getting added while posting Sales Order Changes - ORDCHG

    Hello,
    I have a requirement to post sales order changes - ORDCHG. Now, when I am adding the qualifier 002 at the item segment E1EDP01 with the existing Item number, it is creating another Item in the sales order rather than changing the existing one. What could be the reason? I am passing the below values in to the respective segments.
    E1EDK01-ACTION = '003' - Changes in one or more items
    E1EDP01-ACTION = '002' Item Changed.
    Please advise.
    Regards,
    Venkata Phani Prasad K

    I encountered the same problem.  As Vinit pointed out, it looks up the line item using field POSEX on VBAP instead of POSNR.  If you want to look up POSNR,  you can implement either user-exit ZXVDBU07 or ZXVDBU09 in IDOC_INPUT_ORDCHG and do the following.
    Loop through YVBAP and modify the internal table to set POSEX to be equal to POSNR.
    This will cause the IDOC to select the correct line item based on POSNR.  The only side-effect is that when the order is updated, it will also update field POSEX on table VBAP.

  • EDI Outbound sales order change

    Hello,
        I am triggering an EDI outbond sales order change.
    I am useing ORDCHG and ORDERS05.
    While setting up the Outband Partner profile,In the Message conterol tab
    what is the Application,message function and process code.
    Thanks in advance...

    I am triggering an EDI outbond sales order change.
    I am useing ORDCHG and ORDERS05.
    While setting up the Outband Partner profile,In the Message conterol tab
    what is the Application,message function and process code.
    -The application is V1.
    -You should enter in the Messagetype the Outputtype as used in NACE and the Sales Order Output creation. That can be BA00.
    Make sure you make 2 entries in the partner profile: one where in the messagecontrol tab the change message Tab is ticked (in case the order changes) and one where it is not ticked (initial change).
    -Message functionion can be used optionally, to differentiate to make it unique.
    -The Processcode can be SD10 (or ME02 for PO change). You can use the dropdownbox if there is something configred yet.

  • Determine Sales Order change (ECC6.0 using Enhancement-point)

    Hi all,
    I want to determine Sales Order change e.g. if any item added to sales order or any item deleted fron sales order and also if Sales Order is deleted .... how can I achive this???
    I am using ECC6.0 , in which I am using Include          MV45AFZZ and FORM USEREXIT_SAVE_DOCUMENT to determine change at SAVE. The table XVBAK and structure VBAP is available but from this I am not able to determine the change.
    How to do this..?
    Regards,
    NiLesH.

    Hi Nilesh,
    Please see USEREXIT_SAVE_DOCUMENT_PREPARE instead of the one you are using in the Include MV45AFZZ.
    SAP comments this customer form as:
    * This userexit can be used for changes or checks, before
    * a document is saved.                                           
    * If field T180-TRTYP contents 'H', the document will be  
    * created, else it will be changed. This form is called at the
    * beginning of form BELEG_SICHERN
    For the deletion, try to code your check in the form USEREXIT_DELETE_DOCUMENT in the Include MV45AFZZ provided for the customers.
    I feel these would be more suited for your requirement.
    Cheers,
    Sougata.
    You can use tables CDHDR/CDPOS for change documents but on a large scale reporting this would be very slow.
    Alternatively, for performance reasons, you can use the form USEREXIT_READ_DOCUMENT to capture the sales order at its original state (in an internal table) then use form USEREXIT_CHECK_VBAP for any changes made while in the sales order create. Then in USEREXIT_SAVE_DOCUMENT, compare the previous and current condition values. If any changes exist, insert a row in a custom table with the change information. At the end you can base your report on your custom table rather than change document tables which will be slow on processing large volume of data.
    Note: Go the user-exit way only if you are dealing with high volume of data
    Edited by: Sougata Chatterjee on Jan 1, 2008 11:38 PM
    Added after considering Ranjith's post

Maybe you are looking for

  • Time Capsule seems to be doing nothing

    I seem to be getting very intermittent results with Time Capsule. I'm using it to back up my G5 Mac Pro and my G4 Powerbook. After a couple of very hefty backups that lasted several days I seem to have an initial backup of both devices on my Time Cap

  • Source Business System in SLD Production using CTS+

    Hello Forum While defining target groups for Prod Business Systems in case of CTS +, What should be the source? Dev or QA. I feel it should be DEv as the request gets genearted in Dev, the same is imported in QA and the same is visible in Prd. Regard

  • Submit Button at AbsenceReviewPG

    Hi, I am doing some validations at AbsenceReviewPG, for that one i extended AbsenceReviewCO. After Clicking submit button depending on condition i need to show some error message. I used below code, but after clicking submit button it is going to nex

  • Place an mp3 on my home page and have it play automatically?

    might there be a way to place an mp3 on my home page and have it play automatically? thanks bobby

  • WSM -Security in SOA suite

    Hi All, I have composite which needs to invoked from external world. But the invoker service which will be invoking the composite does not support WS-Security policies like username token etc. But the composite enforced the username token policy. How