Implementing a Revision History Strategy

Hello,
I'm looking for advice on ways to keep revision history for all updates to entities in EJB3. Users of my application will need to interact with the historical data, so a simple audit log will not suffice.
As a proof of concept, I implemented a save() method in a Stateless facade that accepts a modified entity as an argument and persists a cloned entity instead of overwriting the original:
1. Date now = new Date();
2. newRecord = modified.clone(); //CLONE MODIFICATIONS
3. em.refresh(modified); //REVERT MODIFICATIONS
4. modified.setOutStamp(now);
5. newRecord.setInStamp(now);
6. newRecord.setOutStamp(null);
7. persist (or merge) both records and return newRecord.
The proof of concept works, but I'm still reading about managed/detached entities, persistence contexts, and transactions. I'm concerned that modifications to the original entity could be flushed to the databases whenever the entity is managed. Other developers would have to be careful about how they obtain the entity and remember to use myFacade.save() instead of em.persist() to avoid bypassing the revision history logic.
I learned of callback methods, and was thinking about using @PostLoad and @PrePersist/@PreUpdate to set/unset some sort of flag to enable persistence. It would be even better if I could schedule all of the revision cloning in a callback method so that it would execute regardless of when/how the entity gets flushed to the database.
One challenge I can think of will be to avoid cascading situations (e.g. making calls to persist a clone object from within a callback method that is itself listening for persist events).
I'd appreciate feedback from anyone who has implemented a similar requirement or can offer general advice on the subject.
Thanks.

Hello.
I've been working on some way to keep a revision history in a way that is transparente to the people using the pesistence layer. I've just implemented a proof of concept using @PreUpdate entity listener that does just that. Here it goes:
-----------------------------------------------Car.java--------------------------------------
package ejb3.tests.entitylistener.persistence;
import javax.persistence.Column;
import javax.persistence.EmbeddedId;
import javax.persistence.Entity;
import javax.persistence.Table;
@Entity
@Table(name = "CAR")
public class Car {
     @EmbeddedId
     private CarId id;
     @Column(name = "HP")
     private int horsePower;
     //Due to a stupid hibernate bug, when we call persist() on
     //the EntityManager, the method @PrePersist, which should be
     //called befoe any validation are made, is called after
     //hibernate verifies if the non-generated id field is null,
     //which result in an Exception. Therefore we must instantiate
     //it inside the constructor.
     public Car() {
          this.id = new CarId();
     public Car(long carIdId, int version, int horsePower) {
          this.id = new CarId();
          this.id.setId(carIdId);
          this.id.setVersion(version);
          this.horsePower = horsePower;
public CarId getId() {
return this.id;
public void setId(CarId id) {
this.id = id;
     public int getHorsePower() {
          return this.horsePower;
     public void setHorsePower(int horsePower) {
          this.horsePower = horsePower;
-------------------------------------------CarId.java---------------------------------------
package ejb3.tests.entitylistener.persistence;
import javax.persistence.Column;
import javax.persistence.Embeddable;
@Embeddable
public class CarId implements java.io.Serializable {
     private static final long serialVersionUID = 1;
private long id;
private int version;
public CarId() {
public CarId(long id, int version) {
this.id = id;
this.version = version;
@Column(name="ID", nullable=false)
public long getId() {
return this.id;
public void setId(long id) {
this.id = id;
@Column(name="VERSION", nullable=false)
public int getVersion() {
return this.version;
public void setVersion(int version) {
this.version = version;
public boolean equals(Object other) {
     if ( (this == other ) ) return true;
     if ( (other == null ) ) return false;
     if ( !(other instanceof CarId) ) return false;
     CarId castOther = ( CarId ) other;
     return (this.getId()==castOther.getId())
     && (this.getVersion()==castOther.getVersion());
public int hashCode() {
int result = 17;
result = 37 * result + (int) this.getId();
result = 37 * result + this.getVersion();
return result;
-------------------------------------------CarListener.java------------------------------
package ejb3.tests.entitylistener.persistence.listener;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.persistence.PrePersist;
import javax.persistence.PreUpdate;
import javax.sql.DataSource;
import ejb3.tests.entitylistener.persistence.Car;
import ejb3.tests.entitylistener.persistence.CarId;
public class CarListener {
     private static long initialId = 0;
     private Car getCar(long id, int version) throws NamingException, SQLException {
          InitialContext ic = new InitialContext();
          Object o = ic.lookup(
                    "java:/DefaultDS");
          DataSource ds = (DataSource)o;
          Connection conn = ds.getConnection();
          PreparedStatement ps =
               conn.prepareStatement("SELECT * FROM CAR WHERE ID = ? AND VERSION = ?");
          ps.setObject(1, id);
          ps.setObject(2, version);
          ResultSet rs = ps.executeQuery();
          rs.next();
          long otherId = (Long)rs.getObject(1);
          int otherVersion = (Integer)rs.getObject(2);
          int otherHorsePower = (Integer)rs.getObject(3);
          rs.close();
          ps.close();
          conn.close();
          return new Car(otherId, otherVersion, otherHorsePower);
     private void setCar(long id, int version, int horsePower) throws NamingException, SQLException {
          InitialContext ic = new InitialContext();
          Object o = ic.lookup(
                    "java:/DefaultDS");
          DataSource ds = (DataSource)o;
          Connection conn = ds.getConnection();
          PreparedStatement ps =
               conn.prepareStatement("INSERT INTO CAR VALUES (?, ?, ?)");
          ps.setObject(1, id);
          ps.setObject(2, version);
          ps.setObject(3, horsePower);
          ps.executeUpdate();
          ps.close();
          conn.close();
     @PreUpdate
     public void postUpdate(Car toUpdate) throws NamingException, SQLException {
          synchronized(CarListener.class) {
               Car c = this.getCar(toUpdate.getId().getId(), toUpdate.getId().getVersion());
               boolean bool1 = c.getId().equals(toUpdate.getId());
               boolean bool2 = c.getHorsePower() == toUpdate.getHorsePower();
               if(!(bool1 && bool2)) {
                    CarId toUpdateId = toUpdate.getId();
                    long carIdId = toUpdateId.getId();
                    int currentVersion = toUpdateId.getVersion();
                    int newVersion = ++currentVersion;
                    int horsePower = toUpdate.getHorsePower();
                    setCar(carIdId, newVersion, horsePower);
                    toUpdateId.setVersion(newVersion);
     @PrePersist
     public void createNewId(Car toPersist) {
          if(toPersist.getId().getId() == 0) {
               synchronized(CarListener.class) {
                    toPersist.getId().setId(++initialId);
                    toPersist.getId().setVersion(1);
Tie the CarListener to the Car via orm.xml's <entity-listeners> node.
If you find a better way to do this, please advise.
Hugo Oliveira
[email protected]

Similar Messages

  • [svn] 4910: Implementing workaround for history manager rendering issue ( Firefox/Mac) caused by a long standing player bug.

    Revision: 4910
    Author: [email protected]
    Date: 2009-02-10 11:51:58 -0800 (Tue, 10 Feb 2009)
    Log Message:
    Implementing workaround for history manager rendering issue (Firefox/Mac) caused by a long standing player bug.
    Bugs: SDK-17020.
    QE Notes: None
    Doc Notes: None
    Reviewer: Alex
    Tests: DeepLinking
    Ticket Links:
    http://bugs.adobe.com/jira/browse/SDK-17020
    Modified Paths:
    flex/sdk/branches/3.x/frameworks/projects/framework/src/mx/managers/BrowserManagerImpl.as
    flex/sdk/branches/3.x/templates/html-templates/client-side-detection-with-history/history /history.js
    flex/sdk/branches/3.x/templates/html-templates/express-installation-with-history/history/ history.js
    flex/sdk/branches/3.x/templates/html-templates/no-player-detection-with-history/history/h istory.js

  • Revision history in adobe acrobat

    Hi - I was wondering if we can track revision history of a document in adobe pro; sort of like in google docs. I appreciate any help or suggestionl
    Thanks.

    Probably one reason such a feature does not exist is that Acrobat is not really an editor. So making revisions is not really the purpose of the product as with word processors.

  • I need to create a revision history block for my schematic drawings

    I have tried to use the Title Block Editor to make a revision history list block, but I can't get away from the structure of the title block with its forced field types, etc.
    Is there a way to create a revision history block? Thanks much, Tod
    Solved!
    Go to Solution.

    Hi Tod,
    Right-click your title block and select Edit Symbol/Title Block to open the Title Block Editor. Here is a screenshot for reference:
    Let's start by drawing the borders. The blue circle indicates the Resize Boundary Box. Click here to change the size of the area where you want to draw the title block.
    Now place the headers (green circle): click the Place Text icon on the toolbar and type REV1, etc.
    Finally place the custom fields (red circle), this is the info that you can edit when you double-click the Title Block. To enter these fields select Fields>>Custom Field 1, 2, etc.
    Close the Title Block Editor, double-click the Title Block and enter the information to your custom fields.
    I also attached the title block that I created.
    I hope this helps.
    Fernando
    Fernando D.
    National Instruments
    Attachments:
    Title block issue_2.ms10 ‏70 KB

  • Sharepoint Revision History in Explorer View - Is it possible?

     
    Hello, thank you in advance for any help.  We are beginning our deployment of SharePoint and many of our "hard converts" have love the ability to use "explorer view" to manage documents.  On question has arose though.  When in explorer view they are unable to view revision history for a document. I know you can open office documents and view the history there but this is not available to non office documents.
    Is there a way to have this information be displayed in a right click context or on some other manner from explorer view or when the repository is mapped as a network drive?  In the box functionality a custom solution or a commercial pay add-on are all acceptable options to me.

    Technically it's possible, but not feasible at all.
    You need to write you own Explorer Extension to add the context menu to mange Web Folders. That extension will work on the top of existing WebDav extension (http://chestofbooks.com/computers/revision-control/subversion-svn/Microsoft-Web-Folders-Webdav-Clients-File-explorer-extension.html) to match the Web Folder items with the SharePoint lists and items to get the item history.
    You can add the Explorer panel and render the History Info there for each selected element.
    So it's doable, but not an easy stuff.
    I would estimate it for couple of weeks of work for senior Web/WinForms developer (you not only need to query SharePoint data, but know how to write explorer extension and show info inside the Explorer info)
    SharePoint 2007 - 2010 Tips & Tricks Portal | Microsoft MVP |
    My Blog about Information Management |
    My twitter

  • VI revision history numbers match, but file sizes differ.

    Hi all,
    I am using LabView 7.0.  I am trying to create a utility that compares the VIs on two different computers to make sure that the VIs distributed on both systems are the same.  I tried accessing the Revision History number to compare the two files, but the execution was very slow because it is remotely opening VIs to access the property node and I am analyzing 100's or thousands of files.  I then tried to compare the files by file size using the File/Directory Info.vi and noticed that many of the files that had the same revision history number had different file sizes.  What may be causing these file size differences when the revision numbers indicate that they are the same?  I do not believe that anyone has modified the revision history numbers for any of the VIs manually.  Also, is there be a better method of comparing the files than what I am doing?
    Thanks in advance!

    Hi,
    Thanks for your responses. I investigated the problem some more and it looks like the file size differences are caused when someone recompiles the VIs.  I used the "compare VI" utility to compare VIs with different file sizes and matching revision numbers and found zero differences.  So i ran this experiment:
    1) I then created two identicle copies of a VI, making sure that the file sizes matched. 
    2) When I forced a recompile on one of them (Ctrl+Run Button) and saved the changes, the file size changed! 
    3) I went through and used the "compare VI" utility to compare the two files and there were zero differences and both had the same revision number.
    I guess the revision number only increments when you make some changes to the VI, becuase I did not have to change anything to get the file size to change, I just recompiled and saved.
    I still have the problem of compiling a list of revision numbers however.  I am happy with the results of my VI except for how long it takes to execute.  My VI simply opens a VI reference, accesses the revision number through the property node, and closes the reference for the VI.  This is done recursively for all of the VIs in a directory on a remote computer and takes about 25min for ~500 VIs to complete.  I guess it takes so long because I am remotely opening all of those VI front panels over the network.  Comparing file sizes is much quicker (20 sec to execute) but it would be nice to have both the revision number and the file sizes to determine the state of the code on a particular machine.  Is there any other method of getting the revision number that might be quicker?
    Thanks again for your help!

  • Why can I sometimes paste text into a revision history dialog box and other times cannot?

    Why can I sometimes paste copied text (from another VI's revision history, for instance or from anywhere else) into a revision history dialog box and other times cannot? All versions of LabVIEW! It's something like the control key becomes diabled. I've noticed the same thing when saving many VI's at once, some will let you paste into revision history and others will not. Aren't all VI's created equally when it comes to revision history? All versions of LabVIEW since 3 have plagued me with this problem.

    Hello,
    If you'd like to add text to the revision history of a VI, you can
    paste into the Comment box and add all of your text at once.  The
    history itself can be read from this window, but cannot be directly
    edited.  The History field is read-only in the dialog box. 
    If you feel this should not be the case, your best course of action is
    to express your desire for added functionality to our developers on the Product Feedback page of our website.
    Message Edited by MattP on 12-19-2006 12:04 PM
    Cheers,
    Matt Pollock
    National Instruments

  • Mutilple entries in Revision History of Check-in page.

    Hi,
    In the check-in page for only one of the content item, i see that in Revision history table ,there
    are multiple entries of each revisions of that content item(EX: if i have total 5 revisions,there are 2-entires fro revision 5 and same for other 4-revisions)
    Also, am not able to any other actions also for that content item
    (Ex: Update, checkout, detele revisions so on..
    Any idea on this??
    Thanks

    Hi Sivaraju,
    unfortunately I've got some problem to understand your reply :(.
    I'm not looking for any favourite-values-definitions or a preset of concrete values.
    Please open any report that contains (for example) the char 0material.
    Open the "Select filter-value..."-dialog for 0material and set the drop-down-box at the
    very top to "History" (it should already be set by default).
    You'll notice that the value-list below contains a maximum of 20 entries.
    My question is: Where can I customize this maximum value and set it to - let's say - 50 ?
    Did you get my point?
    Did your answer already address this topic?
    Kind regards,
    Marco

  • Can we implement workflow for release strategy in 4.7

    can we implement workflow for release strategy in 4.7 for PO's please provide some documents.

    HI,
    Check the links
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/30c81e21-cd00-2c10-bbba-edb8ce4961be?quicklink=index&overridelayout=true
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/70fef212-b6cb-2c10-e085-c84b80d7068e?quicklink=index&overridelayout=true
    Regards
    KK
    Edited by: Kishore Kumar Galla on Mar 19, 2010 3:40 PM

  • Managing signature page on a document with revision history

    We are trying to migrate our drawing approval process from paper to digital using PDF's digital signatures.  To release a version of a document, we need 3 sign-offs (creator, checker, approver).  This was straightforward to implement using the digital signatures form field.  All signatures reside on a signature appendix page that gets appended to the end of the PDF document we want to sign-off.
    When we want to release the next revision of the document, we again need all 3 sign-offs, but we want to include the previous signature history.  We understand that the earlier signatures will be invalid, but it is important for us to be able to print the signature appendix showing the full change history.  We thought we'd be able to copy the signature page from the released PDF to the new revision, but when we copy this, the signature fields are blank.
    Is it possible to achieve this functionality?

    I need to create something similar to this.  Did you find a solution?

  • Solman roadmap implementation is that a strategy or prescience

    Hi all , we are about to start new few projects,
    one of them is going to be an upgrade to ECC 6.0 , the other  - implementation.
    I want to be sure , is that tool going to be a central topic in the SAP strategy?
    Will it support a business process steps based on Web Services in the future?
    I'll  appreciate if someone will answer my issues.
    thanks,
    Liran e.

    Liran
    If you are upgrading to ECC 6, then SolMan is a mandatory one..
    However, power of Solman 4.0 can only be realised more with Netweaver or mySAP ERP 2005
    Of course it is a central point for SAP solution and in future it holds
    lot of promise and features.
    From the project management point of view and Solution management, alerts, diagnostics, service desk establishment, change management this is a great tool and should (i wud say must) be considered.
    We use this in ouor ECC 6 implementation and it (really) helps a lot
    Hope this helps
    Cheers
    Senthil

  • Revision history information for MSI motherboards

    Where do I find revision historys for MSI motherboards? I've got an MS6167 V:1 motherboard.
    I want to know if there are newer revisions of this board (not BIOS) and what they have changed.

    search engines gone screwy on main page im afraid so this will take some time to find whats there

  • Revision History for a iOS Note

    I have a "note" that I have been editing and I have determined that I need to find out when I edited it and how I edited it.  Is there a way to see that?  If not the diffs, then at least the times?
    Justace

    I'd rather implement some kind of 'Development' and 'Production' folders where you keep your 'test' task sequences in the 'Development' folder, try them out and when they work as expected, copy the steps into a task sequences stored in the 'Production' folder
    and then deploy the production task sequence.
    Regards,
    Nickolaj Andersen | www.scconfigmgr.com | @Nickolaja

  • Project implementation  process and toll using for the implemetation

    what r the steps involved in project implementaion

    hi,
    The ASAP methodology is recommended by SAP for implementation planning and system implementation. It has the following phases.
    Project Preparation - The primary focus of Phase 1 is getting the project started, identifying team members and developing a high-level plan.
    Business Blueprint - The primary focus of Phase 2 is to understand the business goals of the company and to determine the business requirements needed to support those goals.
    Realization - The purpose of this phase is to implement all the business and process requirements based on the Business Blueprint. You customize the system step by step in two work packages, Baseline and Final configuration.
    Final Preparation - The purpose of this phase is to complete testing, end-user training, system management and cut over activities. Critical open issues are resolved. Upon the successful completion of this phase, you will be ready to run your business in your productive R/3 system.
    Go Live and Support - Transition from a project oriented, pre-productive environment to a successful and live productive operation.
    Def:The Accelarated SAP is the implementation solution provided by SAPwhich integrates several components that works in conjunction to support the rapid and efficient implementation of the PROJECT.
    PHASES IN ASAP METHODOLOGY
    1.Project Preparation
    2.Business Blue Print
    3.Realization
    4.Final Preparation
    5.Go-Live and Support.
    1.PROJECT PREPARATION WE HAVE 8 STEPS.
    1A.SCOPE OF PROJECT
    1B.PHASES INVOLVED
    1C.SYSTEM LANDSCAPE
    1D.TEAM FORMATION
    1E.DEADLINES OF THE PROJECT
    1F.BUSINESS PROCESS DOCUMENTS (OR) BUSINESS REQUIREMENT
    SPECIFICATIONS
    IN 1F AGAIN WE HAVE 5 STEPS....Pls dont get confused.
    1F ->A1-REQUIREMENTS OR EXPECTATIONS
    A2-GENERAL EXPLANATIONS
    A3-SPECIAL ORGANIZATIONAL CONSIDERATIONS
    A4-CHANGES TO EXISTING ORGANIZATION
    A5-DESCRIPTION OF IMPROVEMENTS
    1G-TECHNICAL REQUIREMENTS
    1H-KICK-OFF MEETING
    2 BUSINESS BLUE PRINT . IN THIS WE HAVE 8 STEPS
    2A.ORGANIZATIONAL STRUCTURE
    2B.DATA COLLECTION SHEETS
    2C.DATA CONVERSION STRATEGY
    2D.BUSINESS BLUE PRINT DOCUMENTATION
    2E.CUSTOMIZATION
    2F.ESTIMATION OF DEVELOPERS
    2G.COMMUNICATION STRATEGY PLAN
    2H.DEVELOP THE SYSTEM ENVIRONMENT
    2I.USER ROLES AND AUTHORIZATIONS.
    3. REALIZATION . HERE WE HAVE 7 STEPS.
    3A.ORGANIZATIONAL CHANGE MANAGEMENT
    3B.BASELINE CONFIGURATION & CONFIRMATION
    3C.UNIT TESTING
    3D.FINAL CONFIGURATION AND CONFIRMATION
    3E.FUNCTIONAL SPECIFICATIONS.IN 3E , WE HAVE 3 STEPS AGAIN...
    3E1.SOLUTION INFORMATION
    3E2.OBJECT INFORMATION
    3E3.REVISION HISTORY....WE HAVE 12 STEPS HERE .....
    3E3A.DESCRIPTION AND PURPOSE
    3E3B.BUSINESS PROCESS DETAILS
    3E3C.CURRENT FUNCTIONALITY
    3E3D.EXPECTED FUCNTIONALITY
    3E3E.SAP SITUATIONAL ANALYSIS
    3E3F.ADDITIONAL INFORMATION
    3E3G.FORMS
    3E3H.REPORTS
    3E3I.INTERFACE
    3E3J.DATA MAPPING
    3E3K.APPROVAL AND MODIFICATION HISTORY
    3E3L.ADDITIONAL ATTACHMENTS.
    3F.TESTING THE PROGRAMS
    3G.PREPARING THE ENDUSER DOCUMENTATION
    4.FINAL PREPARATION
    WE HAVE 4 STEPS.....
    4A.UPLOADING THE STIMULATED DATA
    4B.INTEGRATION TESTING
    4C.CUTOVER ACTIVITIES
    4D.PRE GO-LIVE END USER TRAINING
    5.GO-LIVE AND SUPPORT
    SIGN-OFF MEETING
    CHAN

  • Steps  or   process of implementation project

    hi friends
    i am deva
    what are the steps are involved in sap project implmentation in a orgn?

    hi,
    The ASAP methodology is recommended by SAP for implementation planning and system implementation. It has the following phases.
    Project Preparation - The primary focus of Phase 1 is getting the project started, identifying team members and developing a high-level plan.
    Business Blueprint - The primary focus of Phase 2 is to understand the business goals of the company and to determine the business requirements needed to support those goals.
    Realization - The purpose of this phase is to implement all the business and process requirements based on the Business Blueprint. You customize the system step by step in two work packages, Baseline and Final configuration.
    Final Preparation - The purpose of this phase is to complete testing, end-user training, system management and cut over activities. Critical open issues are resolved. Upon the successful completion of this phase, you will be ready to run your business in your productive R/3 system.
    Go Live and Support - Transition from a project oriented, pre-productive environment to a successful and live productive operation.
    Def:The Accelarated SAP is the implementation solution provided by SAPwhich integrates several components that works in conjunction to support the rapid and efficient implementation of the PROJECT.
    PHASES IN ASAP METHODOLOGY
    1.Project Preparation
    2.Business Blue Print
    3.Realization
    4.Final Preparation
    5.Go-Live and Support.
    1.PROJECT PREPARATION WE HAVE 8 STEPS.
    1A.SCOPE OF PROJECT
    1B.PHASES INVOLVED
    1C.SYSTEM LANDSCAPE
    1D.TEAM FORMATION
    1E.DEADLINES OF THE PROJECT
    1F.BUSINESS PROCESS DOCUMENTS (OR) BUSINESS REQUIREMENT
    SPECIFICATIONS
    IN 1F AGAIN WE HAVE 5 STEPS....Pls dont get confused.
    1F ->A1-REQUIREMENTS OR EXPECTATIONS
    A2-GENERAL EXPLANATIONS
    A3-SPECIAL ORGANIZATIONAL CONSIDERATIONS
    A4-CHANGES TO EXISTING ORGANIZATION
    A5-DESCRIPTION OF IMPROVEMENTS
    1G-TECHNICAL REQUIREMENTS
    1H-KICK-OFF MEETING
    2 BUSINESS BLUE PRINT . IN THIS WE HAVE 8 STEPS
    2A.ORGANIZATIONAL STRUCTURE
    2B.DATA COLLECTION SHEETS
    2C.DATA CONVERSION STRATEGY
    2D.BUSINESS BLUE PRINT DOCUMENTATION
    2E.CUSTOMIZATION
    2F.ESTIMATION OF DEVELOPERS
    2G.COMMUNICATION STRATEGY PLAN
    2H.DEVELOP THE SYSTEM ENVIRONMENT
    2I.USER ROLES AND AUTHORIZATIONS.
    3. REALIZATION . HERE WE HAVE 7 STEPS.
    3A.ORGANIZATIONAL CHANGE MANAGEMENT
    3B.BASELINE CONFIGURATION & CONFIRMATION
    3C.UNIT TESTING
    3D.FINAL CONFIGURATION AND CONFIRMATION
    3E.FUNCTIONAL SPECIFICATIONS.IN 3E , WE HAVE 3 STEPS AGAIN...
    3E1.SOLUTION INFORMATION
    3E2.OBJECT INFORMATION
    3E3.REVISION HISTORY....WE HAVE 12 STEPS HERE .....
    3E3A.DESCRIPTION AND PURPOSE
    3E3B.BUSINESS PROCESS DETAILS
    3E3C.CURRENT FUNCTIONALITY
    3E3D.EXPECTED FUCNTIONALITY
    3E3E.SAP SITUATIONAL ANALYSIS
    3E3F.ADDITIONAL INFORMATION
    3E3G.FORMS
    3E3H.REPORTS
    3E3I.INTERFACE
    3E3J.DATA MAPPING
    3E3K.APPROVAL AND MODIFICATION HISTORY
    3E3L.ADDITIONAL ATTACHMENTS.
    3F.TESTING THE PROGRAMS
    3G.PREPARING THE ENDUSER DOCUMENTATION
    4.FINAL PREPARATION
    WE HAVE 4 STEPS.....
    4A.UPLOADING THE STIMULATED DATA
    4B.INTEGRATION TESTING
    4C.CUTOVER ACTIVITIES
    4D.PRE GO-LIVE END USER TRAINING
    5.GO-LIVE AND SUPPORT
    SIGN-OFF MEETING
    CHAN

Maybe you are looking for

  • Calling a procedure from another

    i have tried to call a procedure within another and it gives me this error --PLS-00201: identifier 'P_USER_OBJID' must be declared. inside the code i put in BEGIN proc_to_be_called (input_parameter_only); end; help!!!!!

  • Exporting InDesign files to Flash, CS5.5

    I exported an InDesign file as a Flash file but in flash it shows up as low res when I preview it or when others preview it. What am I doing wrong? I have never used Flash before. I am working with CS5.5 I exported the file as a SWF file and when a c

  • Need sample application in dotnet to understand the concept of dataMining

    Hi, I am new to data mining and I know the genralize concept of Data Mining. I want to implement the application with Data Mining using c#.net or vb.net but don't know how to start. So any body know any sample application for data mining using c#.net

  • Authorization control for 2, T-codes at a same role

    Hi all I need your professional support When we execute the PV00 t-code and try to “Create Attendance “and it will allow the user to create it by going to PA40 which should not allowed and this has to be blocked. But in the same user under a differen

  • Accounting Enteries corresponding to a line item of PO

    HI Gurus, My requirement is to pull out Tax amount from the ACcounting Documnmet generated after Invoice posting. Challenge is: PO Line items are connected to INvoice Line Items. But Invoice Line Items are not releated to ACcounting DOc Line Items. A