Re: The difference between update() and doFinal() in ClassCipher

Hi Guys,
I found this topic,
The difference between update() and doFinal() in ClassCipher
during a Google Search. I need your help, because I'm working on a project for an university exam.
It's about a Client FTP that sends and received files with the content crypted.
I'm using DES Encryption with "DES/CBC/PKCS5Padding".
I have this doubt: when it's correct to uso the doFinal method? At the last block of the file, or after it? (for encryption)
And during the decryption, how can I use the result of the doFinal operation?

Reposting with {code} tags
capagira87 wrote:
Ok these are the functions:
public void CodificaInvia (String cd, String filename, SecretKey Key) // it opens, codes and sends to the server the content of the file 512 bytes per time
int returncode=0;
Socket DataSock = null;
FileInputStream fis = null;
byte [] text = null;
try {
DataSock = new Socket (servAddress,22);
ObjectInputStream cin = new ObjectInputStream (DataSock.getInputStream());
ObjectOutputStream out = new ObjectOutputStream (DataSock.getOutputStream());
byte[] iv = new byte[] { (byte) 0x8E, 0x12, 0x39, (byte) 0x9C, 0x07, 0x72, 0x6F, 0x5A };
AlgorithmParameterSpec paramSpec = new IvParameterSpec(iv);
Cipher cipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, Key, paramSpec);
fis = new FileInputStream (cd+File.separator+filename);
int size = fis.available();
if ((size%8)==0)
text = new byte [size];
} else {
do {
size++;
} while ((size%8)!=0);
text = new byte [size];
fis.read(text,0,fis.available());
byte [] ciphertext = cipher.doFinal(text);
out.writeInt(ciphertext.length);
int numblock = ciphertext.length/512;
int resto = ciphertext.length%512;
out.writeInt(numblock);
out.writeInt(resto);
byte [] tempblock = new byte [512];
for (int conta=0; conta<numblock; conta++)
for (int i=0; i<512; i++)
tempblock=ciphertext[(conta*512)+i];
out.write(tempblock);
out.flush();
if (resto > 0) // this block works if the file size is not multiple of 512
java.util.Arrays.fill (tempblock, (byte) 0);
int h= numblock*512;
for (int i=0; i<resto; i++)
tempblock[i]=ciphertext[h+i];
out.write (tempblock);
out.flush();
System.out.println ("OK!");
} catch (Exception e)
e.printStackTrace();
public void RicezioneDecodifica (String filename, SecretKey Key) // in this function I receive the file blocks, I decrpyt them and I save the decrypted text into a file
Socket DataSock = null;
byte [] buffer=null; // it saves the received data
String Plaintext = new String (); // it saves the deciphered text
try {
ServerSocket ss2 = new ServerSocket (TRANSMISSION_PORT);
DataSock = ss2.accept();
ObjectOutputStream out = new ObjectOutputStream (DataSock.getOutputStream());
ObjectInputStream cin = new ObjectInputStream (DataSock.getInputStream());
byte[] iv = new byte[] { (byte) 0x8E, 0x12, 0x39, (byte) 0x9C, 0x07, 0x72, 0x6F, 0x5A };
AlgorithmParameterSpec paramSpec = new IvParameterSpec(iv);
Cipher dcipher = Cipher.getInstance("DES/CBC/PKCS5Padding");
dcipher.init(Cipher.DECRYPT_MODE, Key, paramSpec);
int size = cin.readInt();
int numblock = cin.readInt();
int resto = cin.readInt();
if ((size%8)!=0)
do{
size++;
} while ((size%8)!=0);
int ByteLetti=0; // counter of read bytes
buffer = new byte [size];
for (int conta=0; conta<numblock; conta++)
int a=cin.available();
byte [] tempblock = new byte [a];
cin.read(tempblock, 0, a);
for (int i=0; i<a; i++)
buffer[ByteLetti+i]=tempblock[i];
ByteLetti=ByteLetti+a;
byte[] texttmp=dcipher.update(tempblock);
String tmp = new String (texttmp, "UTF8");
Plaintext=Plaintext+tmp;
if (resto>0)
int a = cin.available();
byte [] tempblock;
if ((a%8)>0)
do {
a++;
} while ((a%8)!=0);
tempblock = new byte [a];
cin.read(tempblock, 0, cin.available());
byte[] texttmp = dcipher.doFinal(tempblock);
String tmp = new String (texttmp, "UTF8");
Plaintext = Plaintext+tmp;
ObjectOutputStream oos = new ObjectOutputStream (new FileOutputStream (filename));
oos.writeChars(Plaintext);
oos.flush();
oos.close();
} catch (Exception e)
e.printStackTrace();

Similar Messages

  • Difference between update() and doFinal()

    Hi, can someone explain what is the difference between Cipher methods update() and doFinal()?

    update() appends more data to be encrypted and is used over and over again. It returns and array of encrypted bytes in a multiple of the cipher block size. If you don't present the data in exact multiples of the block size, the Cipher object holds any it has not used until the next update() or until doFinal().
    doFinal() uses the padding scheme you have used to pad the data to a multiple of the block size and then encrypts all the the outstanding data.
    Typically one uses doFinal() to finish off the encryption process. Of course you might have realised that from the name of the method but I thought I would spell it out. :-)

  • In jdbc adapter what is the difference between insert and update insert

    in jdbc adapter what is the difference between insert and update insert
    Edited by: katru vijay on Mar 22, 2010 7:43 AM

    Please refer to this Link [Document Formats for the Receiver JDBC Adapter|http://help.sap.com/saphelp_nw04/Helpdata/EN/22/b4d13b633f7748b4d34f3191529946/frameset.htm]
    Hope this helps.
    Regards,
    Chandravadan

  • What's the Difference Between OLAP and OLTP?

    HI,
    What's the difference between OLAP and OLTP ? and which one is Best?
    -Arun.M.D

    Hi,
       The big difference when designing for OLAP versus OLTP is rooted in the basics of how the tables are going to be used. I'll discuss OLTP versus OLAP in context to the design of dimensional data warehouses. However, keep in mind there are more architectural components that make up a mature, best practices data warehouse than just the dimensional data warehouse.
    Corporate Information Factory, 2nd Edition by W. H. Inmon, Claudia Imhoff, Ryan Sousa
    Building the Data Warehouse, 2nd Edition by W. H. Inmon
    With OLTP, the tables are designed to facilitate fast inserting, updating and deleting rows of information with each logical unit of work. The database design is highly normalized. Usually and at least to 3NF. Each logical unit of work in an online application will have a relatively small scope with regard to the number of tables that are referenced and/or updated. Also the online application itself handles the majority of the work for joining data to facilitate the screen functions. This means the user doesn't have to worry about traversing across large data relationship paths. A heavy dose of lookup/reference tables and much focus on referential integrity between foreign keys. The physical design of the database needs to take into considerations the need for inserting rows when deciding on physical space settings. A good book for getting a solid base understanding of modeling for OLTP is The Data Modeling Handbook: A Best-Practice Approach to Building Quality Data Models by Michael C. Reingruber, William W. Gregory.
    Example: Let's say we have a purchase oder management system. We need to be able to take orders for our customers, and we need to be able to sell many items on each order. We need to capture the store that sold the item, the customer that bought the item (and where we need to ship things and where to bill) and we need to make sure that we pull from the valid store_items to get the correct item number, description and price. Our OLTP data model will contain a CUSTOMER_MASTER, A CUSTOMER_ADDRESS_MASTER, A STORE_MASTER, AN ITEM_MASTER, AN ITEM_PRICE_MASTER, A PURCHASE_ORDER_MASTER AND A PURCHASE_ORDER_LINE_ITEM table. Then we might have a series of M:M relationships for example. An ITEM might have a different price for specific time periods for specific stores.
    With OLAP, the tables are designed to facilitate easy access to information. Today's OLAP tools make the job of developing a query very easy. However, you still want to minimize the extensiveness of the relational model in an OLAP application. Users don't have the wills and means to learn how to work through a complex maze of table relationships. So you'll design your tables with a high degree of denormalization. The most prevalent design scheme for OLAP is the Star-Schema, popularized by Ralph Kimball. The star schema has a FACT table that contains the elements of data that are used arithmatically (counting, summing, averaging, etc.) The FACT Table is surrounded by lookup tables called Dimensions. Each Dimension table provides a reference to those things that you want to analyze by. A good book to understand how to design OLAP solutions is The Data Warehouse Toolkit: Practical Techniques for Building Dimensional Data Warehouses by Ralph Kimball.
    Example: let's say we want to see some key measures about purchases. We want to know how many items and the sales amount that are purchased by what kind of customer across which stores. The FACT table will contain a column for Qty-purchased and Purchase Amount. The DIMENSION tables will include the ITEM_DESC (contains the item_id & Description), the CUSTOMER_TYPE, the STORE (Store_id & store name), and TIME (contains calendar information such as the date, the month_end_date, quarter_end_date, day_of_week, etc).
      Database Fundamentals > Data Warehousing and Business Intelligence with Mike Lampa
    Search Advice from more than 250 TechTarget Experts
    Your question may have already been answered! Browse or search more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.

  • I understand the difference between imessage and SMS but when I text a friend who always got iMessages in the past, everything I send her is SMS (green) even if we both have wifi. She has an iphone.

    I understand the difference between imessage and SMS but when I text a friend who used to receive imessages (blue), my phone shows I'm sending her SMS (green) messages. No longer are they blue. She has an iphone and this happens when we are both connected to wifi. We have both recently updated to ios7. Thanks!

    Turn off iMessage
    Reset Network Settings
    Turn iMessage back on

  • What is the difference between  ABAP and HR-ABAP?

    Hi people,
    Could u just tel me abt what is the difference between ABAP and HR-ABAP?
    Thanks in advance,
    Sanjeev K.V

    Hi Sir ,
    Please have a look below .Hope it is suitable and simpler solution for your question.
    Please do reward if useful.
    Thankx.
    HR deals with the INFOTYPES which are similar to Tables in General ABAP.
    There are different ways of fetching data from these infotypes.
    There are different areas in HR LIKE Personal Admn, Orgn Management, Benefits, Time amangement, Event Management, Payroll etc
    Infotypes for these areas are different from one another area.
    storing of records data in each type of area is different
    LDBS like PNP are used in HR programing.
    Instead of Select.. we use some ROUTINES and PROVIDE..ENDPROVIDE.. etc
    and in the case of Pay roll we use Clusters and we Import and Export them for data fetching.
    On the whole Normal ABAP is different from HR abap.
    Also,
    HR:
    HR deals with the INFOTYPES which are similar to Tables in General ABAP.
    There are different ways of fetching data from these infotypes.
    There are different areas in HR LIKE Personal Admn, Orgn Management, Benefits, Time amangement, Event Management, Payroll etc
    Infotypes for these areas are different from one another area.
    storing of records data in each type of area is different
    LDBS like PNP are used in HR programing.
    Instead of Select.. we use some ROUTINES and PROVIDE..ENDPROVIDE.. etc
    and in the case of Pay roll we use Clusters and we Import and Export them for data fetching.
    On the whole Normal ABAP is different from HR abap.
    For Personal Admn the Infotypes start with PA0000 to PA1999
    Time Related Infotypes start with PA2000 to PA2999.
    Orgn related Infotypes start with HRP1000 to HRP1999.
    All custom developed infotypes stsrat with PA9000 onwards.
    In payroll processing we use Clusters like PCL1,2,3 and 4.
    Instead of Select query we use PROVIDE and ENDPROVIDE..
    You have to assign a Logical Database in the attributes PNP.
    Go through the SAp doc for HR programming and start doing.
    http://www.sapdevelopment.co.uk/hr/hrhome.htm
    See:
    http://help.sap.com/saphelp_46c/helpdata/en/4f/d5268a575e11d189270000e8322f96/content.htm
    sites regarding hr-abap:
    http://www.sapdevelopment.co.uk/hr/hrhome.htm
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAPA/PAPA.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PAPD/PAPD.pdf
    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/PYINT/PYINT_BASICS.pdf
    http://www.atomhr.com/training/Technical_Topics_in_HR.htm
    http://www.planetsap.com/hr_abap_main_page.htm
    You can see some Standard Program examples in this one ...
    http://www.sapdevelopment.co.uk/programs/programshr.htm
    http://searchsap.techtarget.com/originalContent/0,289142,sid21_gci1030179,00.html?Offer=SAlgwn12604#Certification
    http://www.erpgenie.com/faq/hr.htm.
    http://www.planetsap.com/hr_abap_main_page.htm
    http://www.sapbrain.com/TUTORIALS/FUNCTIONAL/HR_tutorial.html
    These are the FAQ's that might helps you as well.
    http://www.sap-img.com/human/hr-faq.htm
    http://www.sapgenie.com/faq/hr.htm
    http://www.planetsap.com/hr_abap_main_page.htm
    http://www.atomhr.com/library_full.htm
    HR Long texts Upload
    Look at the below link
    And finally,
    Few notes are below:
    InfoSets in the HR Application
    You can use SAP Query in HR to report on HR data. Queries are maintained as described in Creating Queries. The special features of queries created for HR are described in Maintaining Queries in the Human Resources Application. The maintenance procedure for HR InfoSets differs from the described procedure inasmuch as HR data fields are grouped together in infotypes.
    InfoSet management in SAP Query is also used for InfoSet Query. For further information, see Functions for Managing InfoSets.
    If you want to create InfoSets for HR, you can use logical databases PNP, PNPCE, PAP, and PCH (see HR Logical Databases). The database you must use to create your InfoSet depends on the component in which the data you want to report on is stored.
    The reports you can execute using InfoSets based on logical databases PNP (or PNPCE) or PCH are similar, but differ in that they can select different objects. The following table describes the connection between the logical database, and the infotypes you can include in an InfoSet. It also provides you with one or two examples of reports that you can execute using the appropriate InfoSets.
    Logical database PNP/PNPCE* PCH PAP
    Selection of Persons Objects from Personnel Planning Applicants
    Infotypes that can be included in the InfoSet Infotypes for· Personnel Administration (0000-0999) · Time Management (2000-2999) · Payroll infotypes · Infotypes for Personnel Planning objects that can be related to persons If the object type is specified:· Infotypes for the object type · Infotypes for objects that can be related to the specified object typeIf the object type is not specified:· All infotypes · Infotypes for Recruitment (4000-4999)· Some infotypes for Personnel Administration (such as 0001 and 0002)
    · Customer infotypes
    Reporting examples · Selection of all persons who participated in a specific business event, output of prices for reserved business events · Selection of all persons assigned to a specific personnel area, output of qualifications held by these persons · Selection of all business events held in London in March, output of all persons who participated in these business events · Selection of all positions assigned to a specific organizational unit, output of all persons assigned to the positions · Selection of all applicants hired last year to work on special projects, output of addresses for the applicants selected
    Logical database PNPCE (PNP Concurrent Employment) functions just like logical database PNP. The procedure for creating InfoSets is also the same. It only becomes significant if you work with Concurrent Employment.
    Creating InfoSets
    The maintenance procedure for HR InfoSets differs from the procedure described so far in this section inasmuch as HR data fields are grouped together in infotypes. To set up an InfoSet for the HR application, proceed as follows:
    1. On the initial screen for maintaining InfoSets, enter a name for the InfoSet and choose Create.
    2. On the next screen, enter a name for the InfoSet and select one of the HR logical databases in accordance with your reporting requirements.
    Customer infotypes can be created on all HR logical databases. In each individual case, therefore, you must decide which database to select so that you can report on customer infotypes.
    This screen enables you to enter an authorization group. All of the queries that are subsequently created using this InfoSet can only be executed by persons who have this authorization group.
    3. Choose .
    This takes you to the Infotype Selection for InfoSet  screen. You now have the option of creating field groups and assigning fields as required for non-HR InfoSets. Field groups that correspond to infotypes and already contain fields, however, are always created for HR InfoSets. The field groups are displayed in an overview tree in the top right section of the screen.
    The infotypes that you included in the InfoSet are displayed in an overview tree on the left of the screen. The infotype fields that are already included in field groups are displayed in a different color, and the corresponding field group ID is displayed.
    In the standard system, a field group is created automatically for each infotype that you included in the InfoSet (a field group corresponds to an infotype).
    In the standard system, each field group contains the infotype-specific fields. To ensure that working with the InfoSet is as easy as possible, you are advised to restrict your use of fields in each field group to those you really require. This means you should remove fields that are not required.
    An infotype's fields must only be assigned to the pertinent field group. Make sure this assignment is correct. If the assignment is incorrect, the InfoSet could be rendered unusable.
    When an InfoSet is created, the following fields are transferred automatically to the first field group:
    § Logical database PNPCE or PNP Personnel number
    § Logical database PAP Applicant number
    § Logical database PCH Object ID, plan version, and object type
    6. Determine the fields that must be included in the field groups of your InfoSet. If you require further information, see Assigning Fields to a Field Group.
    If you want, you can change the default sequence of field groups and fields as required using Drag&Drop.
    7. To save the InfoSet, choose .
    8. To generate the InfoSet, choose .
    On the Change InfoSet (InfoSet name) screen, you can choose Edit ® Change infotype selection to add more infotypes to the InfoSet, or to remove infotypes from the InfoSet. Remember to regenerate the InfoSet afterwards.
    This screen also enables you to update InfoSets if, for example, the system contains new additional fields for specific key values. To do so, choose InfoSet ® Additional functions ® Update additional HR fields.
    9. Go back to the initial screen for InfoSet maintenance.
    10. Choose User group assignment.
    11. Select a user group, and save your entry.
    sample code
    START-OF-SELECTION.
    GET pernr.
    rp_provide_from_frst p0000 space pn-begda pn-endda.
    if pnp-sw-found EQ '1'.
    READ TABLE p0001 WITH KEY pernr = p0000-pernr.
    if sy-subrc = 0.
    write : p0001-plans. " earliest.
    endif.
    endif.
    rp_provide_from_last p0014 space pn-begda pn-endda.
    if pnp-sw-found EQ '1'.
    READ TABLE p0014 WITH KEY pernr = p0000-pernr.
    if sy-subrc = 0.
    write : p0014-LGART. .
    endif.
    endif.

  • What is the difference between DSo and Infocube

    Hello,
             Kindly tell me what is the difference between DSO and Infocube?
    And please tell me how to take the desicion that in whichi case we can use DSO and in which case we can use Infocube..

    Hi ,
    DataStore object serves as a storage location for consolidated and cleansed transaction data or master data on a document (atomic) level.
    This data can be evaluated using a BEx query.
    A DataStore object contains key fields (for example, document number/item) and data fields that can also contain character fields (for example, order status, customer) as key figures. The data from a DataStore object can be updated with a delta update into InfoCubes and/or other DataStore objects or master data tables (attributes or texts) in the same system or across different systems.
    Unlike multidimensional data storage using InfoCubes, the data in DataStore objects is stored in transparent, flat database tables. The system does not create fact tables or dimension tables.
    Use
    The cumulative update of key figures is supported for DataStore objects, just as it is with InfoCubes, but with DataStore objects it is also possible to overwrite data fields. This is particularly important with document-related structures. If documents are changed in the source system, these changes include both numeric fields, such as the order quantity, and non-numeric fields, such as the ship-to party, status and delivery date. To reproduce these changes in the DataStore objects in the BI system, you have to overwrite the relevant fields in the DataStore objects and set them to the current value. Furthermore, you can use an overwrite and the existing change log to render a source delta enabled. This means that the delta that is further updated to the InfoCubes, for example, is calculated from two successive after-images.
    An InfoCube describes (from an analysis point of view) a self-contained dataset, for example, for a business-orientated area. You analyze this dataset in a BEx query.
    An InfoCube is a set of relational tables arranged according to the star schema: A large fact table in the middle surrounded by several dimension tables.
    Use
    InfoCubes are filled with data from one or more InfoSources or other InfoProviders. They are available as InfoProviders for analysis and reporting purposes.
    Structure
    The data is stored physically in an InfoCube. It consists of a number of InfoObjects that are filled with data from staging. It has the structure of a star schema.
    The real-time characteristic can be assigned to an InfoCube. Real-time InfoCubes are used differently to standard InfoCubes.
    ODS versus Info-cubes in a typical project scenario
    ODS
    why we use ods?
    why is psa  & ods nessasary
    Hope this helps,
    Regards,
    CSM Reddy

  • Please write the difference between ODS and DSO...

    Hi all,
             Please write me the differences between ODS and DSO.. I think both are same in structure and have same update types (Over write, Addition) and also with the tables (changelog, Activation queue, Active table).. Is there still a difference between ODs and DSO...I can assign the points..
    thanks
    arya

    Hi,
    You can check the below document for new Features in BI:
    http://help.sap.com/saphelp_nw04s/helpdata/en/a4/1be541f321c717e10000000a155106/frameset.htm
    /people/martin.mouilpadeti/blog/2007/08/24/sap-netweaver-70-bi-new-datastore-write-optimized-dso
    Reg
    Pra

  • Can anybody give me the difference between Catt and Ecatt

    Hi gurus,
    Can any body give me the difference between catt and ecatt.

    Hi,
    I think this is new technology in sap.
    I know little bit of this can u go through this.
    eCATT (extended Computer Aided Test Tool)
    What is eCATT?
    eCATT is an SAP Testing Tool used to automate & test business scenarios in R/3. Each test generates a detailed log that documents the test process and results. If the testing is smooth without any errors, this means that the business scenarios mapped in R/3 are correct. If the test results in error then the problem can be analyzed using the error log that is generated. 
    eCATT enables automatic testing in SAP GUI for Windows and SAP GUI for Java.
    Features of eCATT:
    Following functions can be performed using eCATT:
    Test transactions, reports and scenarios.
    Call BAPIs and function modules.
    Test remote systems.
    Check authorizations (user profiles).
    Test updates (database, applications, GUI).
    Set up customizing tables.
    Test the effect of changes to customizing settings.
    Perform load testing.
    Check system messages.
    Integrated with Test Workbench, so allows proper management of scripts using SCAT transaction.
    Supports CATT migration to eCATT.
    All eCATT Objects are Repository Objects. Therefore one can take advantage of Standard SAP Transport Tools.
    eCATT Objects can easily download & upload in XML with XSD format.
    There can be several versions of Test Scripts, which allows different implementations with different releases.
    The separation of Test Scripts, Test Data & System Data allows for a considerable degree of reuse.
    Why eCATT?
    CATT is no longer supported by SAP for the creation of new developments. Hence all the test scripts developed in CATT are now need to migrate/Update to eCATT. Comparative to manual testing, the following are advantages of using eCATT:
    Due to automation, testing time is reduced to a large extent.
    Due to automation, less manpower is required for testing. This helps financially.
    Due to automation, manual errors are reduced to large extent. Hence results in error free testing. This helps, as no further problems will occur while the usage of R/3 system by end users and hence increases the efficiency.
    Proved to be extremely useful in implementation projects.
    In regression testing, automated test scripts are an ideal method of quickly detecting errors. Automatic test logs make it easy to reproduce test results, enabling fast analysis and planning of further activities, leading to cost savings for the customer.
    Differences between CATT and eCATT?
    Till date, CATT could only be used with the R/3 system. eCATT (which is available with SAP Web Application Server 6.20) covers the automatic testing in SAPGUI for Windows and SAP GUI for Java. For other GUIs and Applications, eCATT provides an interface for external tools. This allows companies to perform automated tests from an SAP system in a complete IT solution landscape across system boundaries. These new options enable complete automation of solution landscapes under standard Windows and Web-based user interfaces- resulting in low-cost operation of an IT Solution.
    eCATT (extended Computer Aided Test Tool)
    eCATT requisites
    Web Application Server (WAS) 6.20 or more.
    SAPGUI 6.20 or more.
    R/3 4.6C or more. (Target system must have sufficient support package level (Details available in SAP Note 519858) or SAP R/3 Enterprise Release 4.7).
    Before creating Test Scripts using eCATT, some system settings need to be done: 
    Maintain table T000.
    1.      Go to transaction SM31
    2.      Enter T000 and chose MAINTAIN.
    3.      In the Change View “Clients”: Overview screen, select the relevant client and choose “Details”
    4.      In the “CATT and eCATT Restrictions” field, select “CATT and eCATT allowed”.
    5.      Click on SAVE. 
    Enabling scripting at the Front-end
    1.      On any SAP GUI screen, choose “Customizing of Local Layout”.
    2.      Choose Options
    3.      Choose “Scripting Tab”
    4.      Select “Enable Scripting”
    5.      Click Apply and then OK. 
    Enabling Scripting on the Application Server
    1.      Go to transaction RZ11.
    2.      On the Maintain Profile Parameters screen, enter sapgui/user_scripting.
    3.       Choose Display.
    4.      If the Current Value is not set to TRUE, then click on Change Value:
    5.      Enter TRUE in the “New Value”.
    6.      Click on SAVE.
    eCATT is an SAP Testing Tool used to automate & test business scenarios in R/3. Each test generates a detailed log that documents the test process and results. If the testing is smooth without any errors, this means that the business scenarios mapped in R/3 are correct. If the test results in error then the problem can be analyzed using the error log that is generated. 
    eCATT enables automatic testing in SAP GUI for Windows and SAP GUI for Java.
    Features of eCATT:
    Following functions can be performed using eCATT:
    Test transactions, reports and scenarios.
    Call BAPIs and function modules.
    Test remote systems.
    Check authorizations (user profiles).
    Test updates (database, applications, GUI).
    Set up customizing tables.
    Test the effect of changes to customizing settings.
    Perform load testing.
    Check system messages.
    Integrated with Test Workbench, so allows proper management of scripts using SCAT transaction.
    Supports CATT migration to eCATT.
    All eCATT Objects are Repository Objects. Therefore one can take advantage of Standard SAP Transport Tools.
    eCATT Objects can easily download & upload in XML with XSD format.
    There can be several versions of Test Scripts, which allows different implementations with different releases.
    The separation of Test Scripts, Test Data & System Data allows for a considerable degree of reuse.
    Why eCATT?
    CATT is no longer supported by SAP for the creation of new developments. Hence all the test scripts developed in CATT are now need to migrate/Update to eCATT. Comparative to manual testing, the following are advantages of using eCATT:
    Due to automation, testing time is reduced to a large extent.
    Due to automation, less manpower is required for testing. This helps financially.
    Due to automation, manual errors are reduced to large extent. Hence results in error free testing. This helps, as no further problems will occur while the usage of R/3 system by end users and hence increases the efficiency.
    Proved to be extremely useful in implementation projects.
    In regression testing, automated test scripts are an ideal method of quickly detecting errors. Automatic test logs make it easy to reproduce test results, enabling fast analysis and planning of further activities, leading to cost savings for the customer.
    Reward points if it is helpful.
    Rgds,
    P.Nag

  • Whats the difference between SM50 and sm38

    HI GURUS
    whats the difference between SM50 and sm38??? job overview and process overview

    hi sharma,
    sm38: intial queueueue Info, information about the request quest queue of the server in question is displayed. The dispatcher forwards each request it receives to a work process of the appropriate type. If all the processes of this type are occupied, the dispatcher stores the request in a queue.
    In the queue info you can see for each work process type:
    ·        The number of requests currently waiting. Usually this should be 0.
    ·        The total number of requests waiting, since the server has been running.
    ·        The maximum number of requests that can be stored in the queue (specified in profile parameter rdisp/elem_per_queue)
    ·        The number of requests written and read since the server has been running.
    sm50: work process dialog steps in user transactions, updates, lock administration, etc.
    this transcatin Choosing Administration
    System Administration  Monitor  System Monitoring
    Process Overview or transaction
    For example, you can monitor processes to determine if the number of work processes in your system is adequate, to assess if the instance is working to full capacity, to gather information for trouble-shooting, or for tuning.
    DIA work process for executing dialog steps in user transactions.
    DIA work process for executing dialog steps in user transactions
    UPD: Update process for making U1 (time-critical) database changes
    UP2: Update process for executing U2 (not time-critical)
    database changes
    ENQ for setting and releasing locks on SAP lock objects
    BTC for executing background jobs
    SPO for spool formatting processes
    regards
    vijju

  • What's the difference between Main ( ) and Main { } ?

    I have been searching around, but still no luck finding the difference between Main ( ) and Main { }. I found that java uses ( ), and javafx uses { }. But in javafx I can still use ( ). Is there different meaning?
    Thanks.

    I am not sure what you mean, but I will take a guess.
    Remember just one thing:
    1) You can easily instantiate a class to an object in JAVAFX using a JAVA or JAVAFX class, but in JAVA you can only instantiate JAVA objects.
    (Not completely true. If you really want a headache then you can instantiate JAVAFX classes in JAVA, but it is not easy.)
    Let me give you the following class that contains some variable:
    JAVA
    class MainJava {
         int     blaInt;
         long    blaLong;
         String  someString;
         String  anotherString = "(First Bicycle) Look mom no Hands... Look Mom no teeth.";
         public MainJava() {
             // Before this contructor runs all variables will first be initializes to their default values or whatever you put in them above
             // Construct things :)
         } // END CONSTRUCTOR for MainJava
    } // END CLASS MainJavaJAVAFX
    class MainJavaFx {
         var     blaInt : Integer;
         var     blaLong : java.lang.Long; // The most usefull number made difficult in JAVAFX :(
         var     someString : String;
         var     anotherString = "(First Bicycle) Look mom no Hands... Look Mom no teeth."; // Thats nice. No need for a type :) Heaven ... I'm in Heaven
         init {
             // Before this contructor runs all variables will first be initializes to their default values or whatever you put in them above
             // Construct things :)
         } // END CONSTRUCTOR for MainJava
    } // END CLASS MainJavaFxThese 2 classes are affectively the same.
    One written in Java and one in JAVAFX.
    You already seem to know JAVA so I am going to talk in JAVAFX code from now on.
    1) To instantiate a JAVA class in JAVAFX is the same as in JAVA.
      var myNewObj = new MainJava();2) To instantiate a JAVAFX class in JAVAFX you do the following.
      var myNewObj = MainJavaFx{}; // Weeeee .. easy hey :) I likeThink of init{} as the contractor of the class in JAVAFX, because there is no more constructors in JAVAFX like in JAVA.
    Also in JAVA you can pass parameters to the class constructor, whereas in JAVAFX that is not possible anymore.
    So sad, but what JAVAFX taketh away ... JAVAFX giveth so muchth moreth ... th...
    Now witness the power of ... JAVAFX ...
    In JAVAFX you can instantiate any "var" variables when you create the object from the class.
    Therefore you do not need to pass parameters to the init constructor, most of the time you do not even need init.
    So lets say you want to give the class variable other default values in the JAVAFX class then you can do it like this:
      var myNewObj = MainJavaFx{ 
                                                   blaLong : java.lang.System.currentTimeMillis()
                                                   blaInt : 1234
                                                   someString : "Going to the Hospital I see"
                                                   anotherString : "Thorry Mom."
                                          }; // Weeeee .. easy hey :) I likeNow isn't that nice.
    Keep in mind that the init{} and postinit{} code blocks will only run if they exist after the object is created and therefore the variables will already be changed to the values you have given them when you instantiated the class.
    Cool hey :)
    You can not do that to a JAVA object, but then again if you need to change the class variables of a JAVA object then just create a constructor that takes paramaters and update the class variables in the constructor.

  • What is the difference between view and materialized views

    Hi
    What is the difference between view and materialized view ? can we update the base table using views

    can we update the base table using viewsYes:
    VIEWS
    1. an updatable view is one that lets you perform DML on the underlying table
    (see Oracle Database Concepts 10g - 5 Schema Objects)
    2. non-updatable view requires INSTEAD OF Triggers
    (see Oracle Database Concepts 10g - 22 Triggers)
    SNAPSHOTS
    You can have updateable (and writeable) snapshots - in updateable (writeable) MV replication.
    Oracle uses snapshots (Materialized Views - MV) for two different purposes:
    1. replication
    2. automated Query Rewrite facility (first introduced in Oracle Discoverer, later included in Oracle database 8i).
    Replication types in Oracle are:
    a) Basic replication (MV replication)
    - transaction based
    - row-level
    - asynchronous from master table to MV (Materialized View)
    - DML replication only
    - database 7 / 8.0 / 8i / 9i / 10g
    - Standard and Enterprise Edition
    1. Read-only MV replication
    2. Updateable MV replication:
    2.1 asynchronous from MV to master
    2.2 synchronous from MV to master
    3. Writeable MV replication
    b) Multimaster replication
    - transaction based
    - row-level or procedural
    - asynchronous or synchronous
    - DML and DDL replication
    - database 7 / 8.0 / 8i / 9i / 10g
    - Enterprise Edition only
    1. row-level asynchronous replication
    2. row-level synchronous replication
    3. procedural asynchronous replication
    4. procedural synchronous replication
    c) Streams replication
    - (redo) log based
    - row-level
    - asynchronous
    - DML and DDL replication
    - database 9i / 10g (10g has Down Streams Capture)
    - Enterprise Edition only (Standard Edition 10g can execute Apply process)
    Regards,
    Zlatko Sirotic

  • What is the difference between 651 and 653 movement types

    Hi
    What is the difference between 651 and 653 movement types
    Points will be rewarded
    Regards
    Suddu

    Hi,
    Whenever goods movment happens following things are going on in the background:
    A material document is generated, which is used as proof of the movement and as a source of information for any other applications involved.
    If the movement is relevant for Financial Accounting, one or more accounting documents are generated.
    The stock quantities of the material are updated.
    The stock values in the material master record are updated, as are the stock and consumption accounts.
    651 - two steps - with a transfer posting using 453
    653 - one steps - direct post to unrestricted used
    *Using movement type 651, you post returns from a customer with a return delivery in Shipping to blocked stock returns.
    Using 653 movement type, you post returns from the customer with returns delivery via Shipping directly to the valuated stock.
    <b>Reward if helpful.</b>
    Thanks

  • What is the difference between lap and oltp

    HI experts,  I want to know the difference between OLAP and OLTP and why OLTP cannot be used in bw instead of OLAP? Need realtime anwsers please!!!!!!!!!!

    hi navin...
    Online transactional processing (OLTP) is designed to efficiently process high volumes of transactions, instantly recording business events (such as a sales invoice payment) and reflecting changes as they occur.
    Online analytical processing (OLAP) is designed for analysis and decision support, allowing exploration of often hidden relationships in large amounts of data by providing unlimited views of multiple relationships at any cross-section of defined business dimensions.
    OLTP databases are typically input sources for data warehouses or data marts. The data warehouse in turn is the typical source of data for an OLAP database. The value in an OLAP database is that many complex calculations and predefined queries are preprocessed and results are stored and are available via an OLAP exploitation application allowing quick access to cross-sections of business data. Rapid access to the aggregate information across defined business dimensions allows quick navigation and understanding of relationships.
    The challenge is to find a solution that will both supply the necessary functionality while addressing the technical considerations of your organization. Some other important considerations include choosing technologies that can leverage existing investments in both hardware and software, and are open and integrated so that your applications are adaptable. This ensures flexibility and agility to meet future business demands.
    There are several different modeling techniques. Snowflake and star schemas are just two of many choices. Deciding the best approach for your situation will depend on several factors, most importantly understanding the business issue, the users and their information needs. There is a wealth of information available, including courses, texts and guidelines on this subject alone
    OLAP systems organize data in a multidimensional model that is suitable for decision support. OLAP is the analytical counterpart of OLTP, or Online Transactional Processing. SAP's BW is an OLAP system
    The Impact of the OLAP/OLTP Cultural Conflict on Data Warehousing....check this link....
    http://www.georgetown.edu/users/allanr/Impact.pdf
    also check...
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci977813,00.html
    The big difference when designing for OLAP versus OLTP is rooted in the basics of how the tables are going to be used. I'll discuss OLTP versus OLAP in context to the design of dimensional data warehouses. However, keep in mind there are more architectural components that make up a mature, best practices data warehouse than just the dimensional data warehouse.
    Corporate Information Factory, 2nd Edition by W. H. Inmon, Claudia Imhoff, Ryan Sousa
    Building the Data Warehouse, 2nd Edition by W. H. Inmon
    With OLTP, the tables are designed to facilitate fast inserting, updating and deleting rows of information with each logical unit of work. The database design is highly normalized. Usually and at least to 3NF. Each logical unit of work in an online application will have a relatively small scope with regard to the number of tables that are referenced and/or updated. Also the online application itself handles the majority of the work for joining data to facilitate the screen functions. This means the user doesn't have to worry about traversing across large data relationship paths. A heavy dose of lookup/reference tables and much focus on referential integrity between foreign keys. The physical design of the database needs to take into considerations the need for inserting rows when deciding on physical space settings. A good book for getting a solid base understanding of modeling for OLTP is The Data Modeling Handbook: A Best-Practice Approach to Building Quality Data Models by Michael C. Reingruber, William W. Gregory.
    Example: Let's say we have a purchase oder management system. We need to be able to take orders for our customers, and we need to be able to sell many items on each order. We need to capture the store that sold the item, the customer that bought the item (and where we need to ship things and where to bill) and we need to make sure that we pull from the valid store_items to get the correct item number, description and price. Our OLTP data model will contain a CUSTOMER_MASTER, A CUSTOMER_ADDRESS_MASTER, A STORE_MASTER, AN ITEM_MASTER, AN ITEM_PRICE_MASTER, A PURCHASE_ORDER_MASTER AND A PURCHASE_ORDER_LINE_ITEM table. Then we might have a series of M:M relationships for example. An ITEM might have a different price for specific time periods for specific stores.
    With OLAP, the tables are designed to facilitate easy access to information. Today's OLAP tools make the job of developing a query very easy. However, you still want to minimize the extensiveness of the relational model in an OLAP application. Users don't have the wills and means to learn how to work through a complex maze of table relationships. So you'll design your tables with a high degree of denormalization. The most prevalent design scheme for OLAP is the Star-Schema, popularized by Ralph Kimball. The star schema has a FACT table that contains the elements of data that are used arithmatically (counting, summing, averaging, etc.) The FACT Table is surrounded by lookup tables called Dimensions. Each Dimension table provides a reference to those things that you want to analyze by. A good book to understand how to design OLAP solutions is The Data Warehouse Toolkit: Practical Techniques for Building Dimensional Data Warehouses by Ralph Kimball.
    Example: let's say we want to see some key measures about purchases. We want to know how many items and the sales amount that are purchased by what kind of customer across which stores. The FACT table will contain a column for Qty-purchased and Purchase Amount. The DIMENSION tables will include the ITEM_DESC (contains the item_id & Description), the CUSTOMER_TYPE, the STORE (Store_id & store name), and TIME (contains calendar information such as the date, the month_end_date, quarter_end_date, day_of_week, etc).
    Database Fundamentals > Data Warehousing and Business Intelligence with Mike Lampa
    Search Advice from more than 250 TechTarget Experts
    Your question may have already been answered! Browse or search more than 25,000 question and answer pairs from more than 250 TechTarget industry experts.
    hope it helps...

  • What is the differents between Policies and Preferences in Group policy Management Editor

    What is the differents between Policies and Preferences in Group policy Management Editor?

    Policies: If you delete a policy in GPO it deletes its registry files form the clients. Policies don't tattoo the registry. Policies Settings are permanent as long policy is in effect i.e. Desktop Backgrond. Policies are applied at Computer
    Startup, User logon and Manual and automatic refresh. Takes Precedence over Preferences.
    Preferences: Even if you delete a policy form Preferences tab the registry files will still available on the systems. Preferences tattooed the registry if you want to remove the registry entries you have to do it manually. Preferences exampl
    is i.e. mapped drive. Settings applied with preferences are not grayed out. Not available in Local GPO.
    Usefull for
    Desktop Icons/Shortcuts
    Url
    Drive Map
    File Copy, Update, delete
    Thanks

Maybe you are looking for