Change Log for Purchase Order
Dear all,
Just today, we've found out that one of our buyers always change the PO quantity when the supplier deliver more than they should.
Before we do something like lock her access or even remove her from current position, we'd like to know how often and how much is the impact of her actions.
We know that we can see the changes from the change log for every single PO; but if we want to know the changes from several hundreds PO ... looking at the log one by one may not a good idea .. LOL ..
Do you have any experience with this or any idea on where (the tables) I can take a look ?
Thanks,
Markus
Hi Markus,
The details of the 'Show History' function, for the Purcahse Order, is contained in the ADOC (header information) and the AD01 (Row information). These two tables contain the exact same information as the OPOR and POR1 (Purchase Order header and row tables). However, the history of all marketing documents in the database is saved in this table so there is a need to filter this table based on the Purchase Order documents only.
What I would suggest is to create a query based on the ADOC and ADO1 and filter it based on the field 'ObjType' (Field Name is 'Object type'). The object type for the Purchase Order is '22'. As each update to a document is saved in the table there is a need to distinguish each version of the document. This is done with the 'Loginstanc' field in the both the ADOC and the ADO1, so this may help you with the query. After that the query can be filtered for any field that is visible in the Purchase Orders.
There are other childeren tables of the ADOC which you may need. To find these, when in the Query Generator, open the 'Choose from List' to obtain the list of tables. Then in the 'Find' field type the letters 'ADO' this will bring all the tables starting with 'ADO' to the top of the list.
One final thing, each update to a document is recorded to a usersign. Obtain the user sign of the user in question by running a query on the OUSR table and look at the figure in the field 'Internal_K' for that user. This is the number that will then be visible in the field 'UserSign' in the ADOC table.
I hope this helps
Noreen
Similar Messages
-
How to implement Change pointers for Purchase order - ME22N - Custom Fields
Hi Experts,
Can you please tell me how to implement - Change Pointer for Custom fields in IDOC.
I am working on IDOC - For purchase order - acknowledgements - in custom screen/tab in ME22N.
Everything is working fine according to my requirement.
All i need to know is the process of - Creating/Change - Change pointers for Custom fields.
1.How to implement change pointers for custom fields.
2.Can we maintain - Change Document - for custom fields at data element level?
P.S. - I have browsed many previous - forums before posting a new discussion.
please share your inputs...
explaining how to create/implement - change pointers for custom fields will help me .
Regards,
Karthik Rali.Hi,
To maintain Change Document for custom field:
1. Check if "Change document" checkbox is set in data element.
2. Find Change Document Object for transaction.
You can use SQL trace - ST05.
Look there for line with table CDHDR and statement insert values
(for example for transaction KA02 Change Document Object is KSTAR)
3. Regenerate update program for this Change Document Object in transaction SCDO
Change documents for z-fields schould be generated.
I am not sure about change pointers but they are configured somehow in BD61 and BD50. -
Creating change log for sales order
hi all,
i want to create change log for any given sales order if it exists.
can any one tell me how to do that??Hi Gouri,
CDHDR and CDPOS are the tables for all change history.
CDHDR contains the details such as who made the change, when, using what tcode and the change type ie. update, delete.
CDPOS contains the field name which was changed, its old value and its new value.
The change document object is VERKBELEG for sales documents.
The object value is the SD document number with leading zeros.
The following link will be also useful.
http://www.sap-img.com/ab024.htm
Regards,
Nitin. -
Activate Change Pointers for Purchase Orders
I thought that change pointers would be active by default for purchase orders, but when I change a purchase order field that should be change pointer enabled, nothing is written in table BDCP.
Here's what I have done:
1) Used transaction SCDO to look at the change Documents.
2) Identified object EINKBELEG (Purchasing Document) as the likely object.
3) Verified that table EKKO is one of the tables in the object.
4) Verified that the data element of the field that I am changing in the PO - ZBD2T - is change pointer enabled (it is).
I cannot get any entry created in BDCP with these settings; change pointers are working for other documents.
I also put a breakpoint on the sebugger for the function module EINKBELEG_WRITE_DOCUMENT in the update task, and I cannot see it being triggered, so I am wondering if I am doing the correct thing here.
Can somebody please tell me what I am doing wrong?
BR,
Tony.Hi Guys,
This issue was solved by implementing the BTE 4005 (OPEN_FI_PERFORM_00004005_E). This particular event is triggered in the update task for saving changes to business object. So In my function module (corresponding to BTE), I have explicitly called the method to write an entry in COM_SE_CPOINTER, because we just need the reference of business object for which classification data is changed.
Please refer the below code for more clarity.
BTE position: -
method called in FM to write change pointer.
Thanks anyways, for all the responses.
Cheers,
Shreya -
Change Document - for purchase order
Hi all,
when i make some changes in the purchase order(ME22N) it is stored in the table CDPOS but when i change the delivery address field this alone is not stored. what may be the reason? and how to do it?
can anyone help me in this?
helpfull answers will be rewarded with points..
Thanks,
Murali.Saquib,
No, this is not directly linked to the customer or vendor master. What happens is, during PO creation the delivery address is picked up from the address of the plant, but that can be updated via both BAPI and transaction.Each time this address gets changed, SAP generates a new ADRNR and store that address in ADRC.
This might help you in future in case you face such situation. I faced this only a few months and that's why I remeber this so clearly.
Murali,
Please award points and close the thread if it helped you. -
Change Pricing for purchase order
Hello All,
FOR STO deliveries, we want to aportionate freight charges in case of multiple POs. Our inbound idoc sends only one order and calls BAPI_PO_CHANGE.
we are trying to update Pricing condition of other related purchase orders belonging to same delivery in a user exit. User exit is SAPL2012. Is there any function module to update Pricing conditions for purchase orders?
BAPI_PO_CHANGE would not work here as this userexit is called in this BAPI.
Any suggestion?Any suggestiions?
-
Change docs for purchase order
Hi,
By which t.code we can see the chnage document for the purchase order. and which changes have been done?
Regards
Deepak SharmaHi,
You can check it in me22n or me23n itself.
Goto Environment -> Header Changes or Item Changes.
Rgds, -
Change Log for Production Order
Hello Gurus,
I have a requirement where the production order scheduled finish date should not be changed in the BW reporting though it changes in the R/3.
For the same. I need to know if there is any way i can get to know if there were any changes to the scheduled finish date (GLTRS). I checked the CDPOS and CDHDR, but did not find any entries for these changes..
Please let me know if you have any details on where the change documents history would be maintained.
Best Regards
AvinashPlease check the Order and Click on the Status, then go to extras and check the change documents for all.
this will display all the changes against the order, with dates and user names.
From this try to get the report developed.
Or get the status of Order status from JEST table.
Hope this helps you. -
Change log for Internal Orders
Hi Guys,
I need to know history of changes made to an order group (adding/deleting orders within) made by different users. Is there a way to find out? any T-codes or any backend tables?
Thanks.Got it myself guys.
KOH3 -> select the order -> GOTO->ChangeDocuments -
How to see the changed output for purchase order
Hi..
I have zmedruck. i need to increse item text lengh. i done this in editor. how to see the changed output now...I increased the length of text to be displayed. I checked the print preview in me23n. i cant see the increased length. Guide me where i am wrong.
Edited by: Meena 303 on May 1, 2008 6:24 PMHi
In ME22N go to message -
> select old message -
>click change OutPut button -
> Save
then see print priview through ME9F or ME22N it sself.
regards
Sachin -
How to capture the change logs for the order.
Use CO03 transaction to display the production order.
Click on the i adjacent to the status, use menu path Extras --> Change documents
which will display if the change management is active.
Hope this helps you. -
Tcode for Purchase order Changes
Hello Expert
I Know there is one Tcode from which we could find changes happen in Purchase order at item level . Can any one let me know on the same which Tcode.
I know the regular option by selecting the line item Environment->Item changes
thanks
AbhiHi,
You have to develope an own ABAP report for this, based on the change tables CDHDR and CDPOS
CDHDR - Header Change
CDPOS - Item Change
EREV - Version Change
Go to SE11 / SE16 / SE16N, here enter Object value as "PO No" in Table CDHDR and get the Document No and then input this in CDPOS and get the changes details. You can also enter EKKO and EKPO tables and see the whole list.
Check the link
Purchase order change log
SAM
Edited by: Saminathan Gopalan on Jun 3, 2010 12:35 PM
Edited by: Saminathan Gopalan on Jun 3, 2010 12:37 PM -
Processing log output for Purchase order
Dear All,
Iam getting some problem when iam creating an IDOC and checking in the Processing log for IDOC number.
Actually i had created one custom idoc for Purchase order since my client need only some field and in one line for header and line item, I had done it and i can see it in sdata of EDIDD structure. When i create a Purchase order and save it an idoc number is posting and I can see this file in my physical directory indeed.
Now when iam going into change mode of PO ME22n to see the Processing LOG, It is not showing the IDOC Number in Purchase order output processing log popup.The processing log will only show output based standard output control (Table NAST).
How is your IDoc being created. Via a user exit, BADI. If so then they will not appear on the processing log.
It is being created as a custom IDOC for which i had written a Z function module and given that in PO processing code which is ME10. When iam checking the standard IDOC for PO it is generating the IDOC in processing log as well.
Iam just placing my code just have a look at it and suggest if any thing needs to be done.
FUNCTION Z_IDOC_OUTPUT_ORDERS.
""Local Interface:
*" IMPORTING
*" VALUE(OBJECT) LIKE NAST STRUCTURE NAST
*" VALUE(CONTROL_RECORD_IN) LIKE EDIDC STRUCTURE EDIDC
*" EXPORTING
*" VALUE(OBJECT_TYPE) LIKE WFAS1-ASGTP
*" VALUE(CONTROL_RECORD_OUT) LIKE EDIDC STRUCTURE EDIDC
*" TABLES
*" INT_EDIDD STRUCTURE EDIDD
*" EXCEPTIONS
*" ERROR_MESSAGE_RECEIVED
*" DATA_NOT_RELEVANT_FOR_SENDING
DATA: xdruvo. "Druckvorgang
DATA: neu VALUE '1', "Neudruck
h_kappl LIKE nast-kappl, "Hilfsfeld Applikation
h_parvw LIKE ekpa-parvw, "Hilfsfeld Partnerrolle
h_ebeln LIKE ekko-ebeln. "Hilfsfeld Belegnummer
CLEAR control_record_out.
xdruvo = neu.
h_kappl = object-kappl.
h_ebeln = object-objky.
h_parvw = object-parvw.
DATA:
LT_EDIDC LIKE EDIDC OCCURS 0 WITH HEADER LINE,
L_EDIDC LIKE EDIDC,
L_SEND_FLAG,
W_SDATA LIKE EDIDD-SDATA.
DATA: T_BDI_MODEL LIKE BDI_MODEL OCCURS 0 WITH HEADER LINE.
DATA: T_EDIDC LIKE EDIDC OCCURS 0 WITH HEADER LINE.
DATA: T_EDIDD LIKE EDIDD OCCURS 0 WITH HEADER LINE.
DATA: C_MESSAGE_TYPE LIKE EDIDC-MESTYP VALUE 'ZORDER'.
*- Call function module to determine if message is to be distributed
OBJECT_TYPE = 'BUS2012'.
MOVE control_record_in TO control_record_out.
CALL FUNCTION 'ALE_MODEL_DETERMINE_IF_TO_SEND'
EXPORTING
MESSAGE_TYPE = C_MESSAGE_TYPE
IMPORTING
IDOC_MUST_BE_SENT = L_SEND_FLAG.
EXCEPTIONS
OWN_SYSTEM_NOT_DEFINED = 1
OTHERS = 2.
DATA : BEGIN OF EKKO_tAB OCCURS 0,
EBELN LIKE EKKO-EBELN,
F1 TYPE C VALUE ',',
BUKRS LIKE EKKO-BUKRS,
F2 TYPE C VALUE ',',
BSART LIKE EKKO-BSART,
F3 TYPE C VALUE ',',
LIFNR LIKE EKKO-LIFNR,
F4 TYPE C VALUE ',',
WAERS LIKE EKKO-WAERS,
F5 TYPE C VALUE ',',
BEDAT LIKE EKKO-BEDAT,
F6 TYPE C VALUE ',',
WERKS LIKE EKPO-WERKS,
F7 TYPE C VALUE ',',
PLIFZ LIKE EKPO-PLIFZ,
F8 TYPE C VALUE ',',
EBELP LIKE EKPO-EBELP,
F9 TYPE C VALUE ',',
MATNR LIKE EKPO-MATNR,
F10 TYPE C VALUE ',',
MENGE LIKE EKPO-MENGE,
F11 TYPE C VALUE ',',
MEINS LIKE EKPO-MEINS,
F12 TYPE C VALUE ',',
END OF EKKO_TAB.
DATA SDATA1 LIKE EKKO_tAB OCCURS 0 WITH HEADER LINE.
DATA EBELN LIKE EKKO-EBELN.
WRITE OBJECT-OBJKY TO EBELN.
SELECT T1EBELN T1BUKRS BSART LIFNR WAERS BEDAT WERKS PLIFZ EBELP MATNR MENGE MEINS
FROM EKKO AS T1
INNER JOIN EKPO AS T2 ON T2EBELN = t1EBELN
INTO CORRESPONDING FIELDS OF TABLE EKKO_tAB
WHERE
*T1~KAPPL = 'EF' AND
T1~EBELN = EBELN.
*T1~KSCHL = 'YEDI' .
DATA SDATA LIKE EDIDD-SDATA.
DATA NDATE LIKE SY-DATUM.
DATA NMENGE(17) TYPE C.
LOOP AT EKKO_tAB.
WRITE EKKO_TAB-MENGE TO NMENGE.
NDATE = EKKO_tAB-BEDAT + EKKO_tAB-PLIFZ.
CONCATENATE EKKO_tAB-EBELP ',' EKKO_tAB-BUKRS ',' EKKO_tAB-BSART EKKO_tAB-EBELN ',' EKKO_tAB-LIFNR ',' EKKO_tAB-BEDAT ','
NDATE ',' EKKO_tAB-BSART EKKO_tAB-EBELN ',' EKKO_tAB-EBELN ', 0,' EKKO_tAB-MATNR ','
NMENGE ',' EKKO_tAB-MEINS ',' EKKO_tAB-WERKS INTO SDATA.
MOVE SDATA TO: W_SDATA, T_EDIDD-SDATA.
MOVE 'ZORDERS' TO T_EDIDD-SEGNAM.
APPEND T_EDIDD.
ENDLOOP.
*call function 'L_IDOC_SEGMENT_CREATE'
exporting
i_segnam = 'ZORDERS'
i_sdata = w_sdata
exceptions
others = 1.
*LT_EDIDC
call function 'L_IDOC_SEND'
tables
t_comm_idoc = LT_EDIDC
exceptions
error_distribute_idoc = 1
others = 2.
*DATA T_BDI_MODEL LIKE BDI_MODEL.
WRITE OBJECT-OBJKY TO T_BDI_MODEL.
READ TABLE T_BDI_MODEL INDEX 1. " maximum 1 recipient
L_EDIDC-DIRECT = 1.
L_EDIDC-DOCNUM = DOCNUM. "***
L_EDIDC-RCVPRN = 'HCM_00_785'.
L_EDIDC-RCVPOR = 'MM_PO_FILO'.
MOVE 'ZORDER' TO L_EDIDC-MESTYP.
MOVE 'ZPURIDOC' TO L_EDIDC-IDOCTP.
MOVE 'LS' TO L_EDIDC-RCVPRT.
MOVE T_BDI_MODEL-RCVSYSTEM TO L_EDIDC-RCVPRN.
*MOVE-CORRESPONDING L_EDIDC TO W_EDIDC.
*- Distribute the iDoc
BREAK-POINT.
CALL FUNCTION 'MASTER_IDOC_DISTRIBUTE' "IN UPDATE TASK
EXPORTING
MASTER_IDOC_CONTROL = L_EDIDC
TABLES
COMMUNICATION_IDOC_CONTROL = LT_EDIDC
MASTER_IDOC_DATA = T_EDIDD
EXCEPTIONS
ERROR_IN_IDOC_CONTROL = 01
ERROR_WRITING_IDOC_STATUS = 02
ERROR_IN_IDOC_DATA = 03
SENDING_LOGICAL_SYSTEM_UNKNOWN = 04.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
READ TABLE LT_EDIDC INDEX 1.
control_record_out-direct = '1'.
CONTROL_RECORD_OUT-DOCNUM = DOCNUM. " ***
control_record_out-serial = sy-datum.
control_record_out-serial+8 = sy-uzeit.
control_record_out-mestyp = LT_EDIDC-mestyp.
control_record_out-idoctp = LT_EDIDC-idoctp.
control_record_out-SNDPRN = 'HCM_00_786'.
MOVE 'MM_PO_FILO' TO control_record_out-RCVPOR.
MOVE 'LI' TO control_record_out-SNDPRT.
MOVE 'SAPQIS' TO control_record_out-SNDPOR.
ENDFUNCTION. -
BAdI or USEREXIT for changing data of purchase order header - ME21N
hello all,
I would like to ask you any way to change the field "reason for change" of the Purchase Order header.
I tried implementing the method PROCESS_HEADER of IF_EX_ME_PROCESS_PO_CUST
or changing reason_code of structure ekko in user exits EXIT_SAPMM06E_006 and EXIT_SAPMM06E_006
but it seems not to work.
How can i do?..
sap. v. ecc 6.0>
Shiva Kumar wrote:
> Use the user exit : EXIT_SAPMM06E_012: This is triggered on saving of a PO...and user can add validations etc in the exit...
> Cheers
It doesn't work...
>
Martin Voros wrote:
> you get reference to object IM_HEADER in method PROCESS_HEADER of BADI ME_PROCESS_PO_CUST. On this object you can call two methods - GET_DATA and SET_DATA. GET_DATA returns structure with type MEPOHEADER. You can change your field here and then call method SET_DATA with your modified structure. This should work.
> Cheers
..same thing for this solution...
the field that i want to change is RSCOD inside structure EREVGRID...it seems to have also get_data and set_data methods ( IF_REVISION_ITEM_DCM ),
but I don't know which BAdI to implement that has a object type ref to EREVGRID...
Edited by: E_M on May 13, 2008 11:08 AM -
Reset Release Strategy for any change in the Purchase Order
Hi,
Is it possible in SAP standards to reset release strategy for even minor changes in the Purchase Order irrespective of whether it is value change or any change in the text or Purchasing group change or whatever it is?
If so, where do we need to make the configurations.
I have seen in some thread about resetting the release strategy for decrease in Purchase Order value.Even that was possible through some BAPI.
Thanks in Advance.
S.Raghavanhi sandesh,
sorry, i know it's too late.
i tried your suggestion, it works blocking the purchase order after release strategies are setted.
sandesh, raghavan:
i need to reset the strategies after to make any change in the po. i'll appreciate your help if you can give it.
regards
f
Maybe you are looking for
-
Syntax error when creating database
Not sure if this is the correct forum, but here goes.. Using a sample at: Technet Link I get a "Syntax error near GO" when I try to execute the following SQL Command. USE master GO CREATE DATABASE testdb ON ( NAME = testdb, FILENAME = 'C:\Program Fil
-
Development Plan in TMS role EHP5
Hi , We have implemented this TMS role and when we click on the Development Plan we do not see any data for user. We get the header data and we see only the Obsolete section with no other data. Do we need to check for any other configuration
-
Help please, I have an old iMac running OS X 10.2.8 and lost internet capabilities, how do I update and get the internet back?
-
What is the best resolution for pics in the drop zones of idvd?
What is the best resolution for pics in the drop zones of iDVD? Also: iDVD always seems to align a pic to the left, can I change this anywhere? thanks
-
Hp Pavilion dvd 1204AX touchpad is not working!
Hello. I have Hp Pavilion dvd 1204AX and the touchpad has not been working for few months now... the two left and right buttons seem to working fine but the one above where you move the mouse doesn't seem to click when i try to double click. one of