Difference between RSA5 and AWB-- Business Content tab?

Hi all,
RSA5 is for installing the business content datasources.
AdministratorWorkBench--> BusinessContent is also used for installing the Business Content Datasources.
So what is the difference between these two options?
Thanks.

RSA5 is inturn a business content.. but it has data sources of the system, from the source system angle.. it will have the related code to pick the data
in business content tab, you will have the data source and destination specific items. it will have the structures to transfer data
ie, if you want to use load data from bw system itself, you wil have to install the data source from rsa5

Similar Messages

  • Difference between installing and activating business content

    Hi,
    I am new to BW, would like to know some info
    1) What is the difference between <b>install</b> busines content and <b>activate</b> business content, When i should do what
    2) When a business content is installed do i need to go to modelling tab and activate it as well.
    3) if a business content is installed would all other related objects get activated automaically like its update rules, transfer rules etc.
    Thanks
    Akila.R

    Hi Ramachandran,
    Good question,
    This issue can be adressed with the "Match x or copy" option in the Business content activation screen.
    Here with this option you can decide wether you need to overwrite the earlier content or not.
    Follow the link for further explanation on "Match x or copy".
    http://help.sap.com/saphelp_nw04/helpdata/en/80/1a66d5e07211d2acb80000e829fbfe/content.htm
    Hope your doubt is clarified.
    Regards
    Message was edited by:
            samara reddy

  • Difference between "restore" and "erase all content and settings"?

    Hello,
    I was wondering what is the difference between "Restore" on itunes and "Erase all content and settings" on iphone?
    Is it the same and if yes why does it take longer to "Erase all content and settings" on iphone?

    The restore only deletes all the data and reinstalls the iPhone Operating System, but someone can still carve out deleted information if they know what they are doing. The erase all content and settings will delete and overwrite everything on the iPhone so it is impossible to even extract any data from the iPhone.
    Personally I've only used the erase all content and settings when I've had to return my iPhone to Apple for technical difficulties or when I've sold an iPhone to someone else. There is no reason to do this method if you are simply reinstalling the Operating System for yourself.

  • Hi can some tell me what is the difference between sapr3 and sap business 1

    is there any difference between sap business one and sap r3 if i learn sd module

    Hi Siva,
    The SD module from R/3 is completely unrelated to the business processes and technologies used in SAP Business One (SBO). R/3 and SBO are completely different products and direct comparisons are difficult. I don't think learning one will help in any degree in learning the other. With R/3 you tend to specialise in one area (eg SD) as the complexity and scale of implementations requires this specialisation. With SBO, a single consultant would be expected to know the whole product. SBO is a much simpler product designed for small to medium sized companies so the processes are much more generic.
    Kind Regards,
    Owen

  • What is the difference between retore and erase all content and settings

    i was wondering what is the difference an ordinary retore in itunes and a erase all content and setting on my ipod touch. do they both do the same thing because i might sell my ipod and also does this process require you to connect to itunes after or can you just give it to the new user.

    Erase all settings restores the device to its original factory state. All your stuff is gone and there is no iOS installed.
    iTunes Restore simply replaces the device content with that from your last backup. It does not change the version of nor install a version of iOS. Whateve version of iOS is on the device remains.
    Restore is used if you are having a problem with something on your device. Erase all Settings is used to remove everything in the event you were selling the device and wanted to clear it of all your files and data.
    See the IPod Touch user guide

  • Difference between Technical and Business transaction archiving?

    Hi Guys,
    Can any one explain the difference between Technical and business transaction archiving with practical example?
    When we will go for Technical archiving and when we will go for business transaction archiving?
    Thanks,
    Vinod.

    Hello Vinod,
    To me, Archiving Objects can be separated into 3 categories; Technical, Master Data and Transactional.  Technical Archiving would include archive objects such as IDOC's, BC_SBAL (application logs), BDCLOGPROD (batch input logs), etc.  Master Data Archive Objects would include MM_MATNR (material master), FI_ACCPAYB (vendor master data), FI_ACCRECV (customer master data), etc.  And, Transactional Archive Objects would include FI_DOCUMNT (financial documents), SD_VBAK (sales orders), MM_EKKO (purchase orders), etc.
    Techincal Archive Objects usually are easier to implement and require less resources.  Master Data and Transactional Archive Objects usually take longer to implement as they will require business testing and sign-off.
    This is a high-level explanation and I hope it helps answer your questions.
    Best Regards,
    Karin Tillotson

  • Difference between collect and move stmts

    hi
    anyone plz explain...
    1. Difference between collect and move stmts
    2. Badi and user exit.
    gowri

    Hi,
    1.COLLECT:COLLECT is used to create unique or compressed datsets. The key fields are the default key fields of the internal table itab .
    If you use only COLLECT to fill an internal table, COLLECT makes sure that the internal table does not contain two entries with the same default key fields.
    If, besides its default key fields, the internal table contains number fields,the contents of these number fields are added together if the internal table already contains an entry with the same key fields.
    If the default key of an internal table processed with COLLECT is blank, all the values are added up in the first table line.
    If you specify wa INTO , the entry to be processed is taken from the explicitly specified work area wa . If not, it comes from the header line of the internal table itab .
    After COLLECT , the system field SY-TABIX contains the index of the - existing or new - table entry with default key fields which match those of the entry to be processed.
    COLLECT can create unique or compressed datasets and should be used precisely for this purpose. If uniqueness or compression are unimportant, or two values with identical default key field values could not possibly occur in your particular task, you should use APPEND instead. However, for a unique or compressed dataset which is also efficient, COLLECT is the statement to use.
    If you process a table with COLLECT , you should also use COLLECT to fill it. Only by doing this can you guarantee that the internal table will actually be unique or compressed, as described above and COLLECT will run very efficiently.
    If you use COLLECT with an explicitly specified work area, it must be compatible with the line type of the internal table.
    In 'move' the actually data copies into another data field
    2.
    Difference between BADI and USER-EXIT.
    i) BADI's can be used any number of times, where as USER-EXITS can be used only one time.
    Ex:- if your assigning a USER-EXIT to a project in (CMOD), then you can not assign the same to other project.
    ii) BADI's are oops based.
    A. BAdI Definition
    1. SE18
    2. Enter the name for the BAdI to be created in customer namespace and press "Create".
    3. Enter a definition for your BAdI and on the interface tab enter a name for the BAdI interface. SAP proposes a name and it is pretty good. Meanwhile a BAdI class is also created which is not in our concern.
    e.g for "ZTEST", SAP proposes "ZIF_EX_TEST" for the interface and "ZCL_EX_TEST" for the class.
    4. Save your BAdI.
    5. Double-click on the interface name. It will pass to a Class Builder session to make you implement your interface. If you are not familiar to the Class Builder; it's a bit like Function Builder and it will be easy to discover its procedure.
    6. Save and activate your interface.
    B. Calling your BAdI from an application program
    1. Declare a reference variable with reference to the Business Add-In interface.
    e.g. DATA exit_ref TYPE REF TO zif_ex_test.
    2. Call the static method GET_INSTANCE of the service class CL_EXITHANDLER. This returns an instance of the required object.
    e.g.
    CALL METHOD CL_EXITHANDLER=>GET_INSTANCE
    CHANGING instance = exit_ref .
    3. After those two steps, you can now call all of the methods of the BAdI where it is required in your program. Make sure you specify the method interfaces correctly.
    C. BAdI Implementations
    1. SE19
    2. Enter the name for the BAdI implementation to be created in customer namespace and press "Create".
    3. It will request the BAdI definition name to which this implementation will be tied.
    4. Enter a definition for your implementation and on the interface tab enter a name for the implementing class. Again SAP proposes a name and it is pretty good.
    e.g for "ZIMPTEST", SAP proposes "ZCL_IM_IMPTEST".
    5. Save your implementation.
    6. To implement a method, just double-click on the method name and you will be taken to the Class Builder to write the code for it. Here you redefine the BAdI interface methods.
    7. You must activate your implementation to make it executable. You can only activate or deactivate an implementation in its original system without modification. The activation or deactivation must be transported into subsequent systems
    Regards

  • Difference between BBP_GET_STATUS_2 and CLEAN_REQREQ_UP reports

    Could someone explain in simple way what is the difference between BBP_GET_STATUS_2 and CLEAN_REQREQ_UP reports? I have read the differences in standard documentation but it is a little confusing.
    Thanks!
    Regards,
    Madhur

    Hi
    CLEAN_REQREQ_UP (Cleaner Job)
    You can use this function for document types Shopping cart, (Local) Purchase Order, Confirmation, and Invoice to trigger a synchronization with the associated documents in the back-end system. The system checks whether and how the (follow-on) documents were posted in the back end, and updates the object link and references, as well as the document status.
    A job (background processing) is generated for the program CLEAN_REQREQ_UP. When this is run, the system queries a database table containing the transfer information of the documents to the back end. The entries are checked with the data of the respective back-end systems. If the back-end transfer is successful, the respective entries are deleted and the prerequisites for further processing are created.
    BBP_GET_STATUS2 (Status Job)
    The status job was created by SAP to update the EBP system with data such as purchase requisition number, purchase order number, goods received or invoices recorded manually in R/3, etc. The report should not be run on a frequent basis at short intervals unless the order count from EBP to R/3 is not that high. Otherwise, a recommended interval for running the report is approximately every hour. Basically the schedule times depend on your business requirements.
    Until this job runs, the user will not see the number of the backend document created in R/3 for a particular shopping cart in the history tab of the check status transaction.
    Some more information :
    Go to:
    SPRO->IMG->Integration with Other SAP components->Advanced Planning and
    Optimization->basic Settings for the Data Transfer->Change Transfer->
    change Transfer for Transaction Data->Active Online Transfer using BTE
    Here you should maintain the application 'SRMNTY' with active flag.
    Once this customizing is enabled, whenever a follow-on document
    (either confirmation or invoice) for an extended classic PO is created
    in the backend R/3 system, the R/3 system communicates to the SRM system
    by creating an entry in the table BBP_DOCUMENT_TAB for this PO.
    The item level of the SRM PO has fields to store the actual quantity
    and values entered for the corresponding confirmations and invoices.
    After that, run the reports CLEAN_REQREQ_UP and BBP_GET_STATUS_2.
    When the report CLEAN_REQREQ_UP runs this will update the
    PO with statistical information. With the latest information in
    BBP_PDIGP table (statistical information) the query should work fine.
    Summer

  • Differences between R12 and 11i by module wise.

    Hi All,
    Could any one please give me the knowledge stack on "differences between R12 and 11i by module wise".
    Thanks,
    RED.

    Please refer to:
    Note: 404152.1 - E-Business Suite Release 12: Release Content Documents
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=404152.1
    Oracle Applications Concepts
    http://download.oracle.com/docs/cd/B40089_09/current/acrobat/120oacg.pdf
    Note: 433111.1 - Release 12 File System Changes : R12 Vs 11i
    https://metalink2.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_id=NOT&p_id=433111.1
    Edited by: hsawwan on Feb 6, 2009 7:12 PM -- Added couple of helpful links/notes

  • 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.

  • Differences between APO and R3 sysytem.

    Hi everybody,
                        Can anyone list out the differences between the APO system and the R3 system.A detailed explanation will be helpful.

    Hi,
    APO
    APO is the supply chain tool from SAP.
    BW is the data layer for APO.
    SAP APO is for Demand Planning and is a component of mySAP SCM. It enables dynamic supply chain management and which in turn includes applications for detailed planning, optimization and scheduling, allowing the supply chain to be accurately and globally monitored even beyond enterprise boundaries.
    SAP BI is a reporting tool in SAP. It provides a complete view of the company. The solution is part of SAP NetWeaver and provides the tools needed to make the right decisions, optimize processes, and measure strategic success: data from all enterprise sources are merged effectively and can be comprehensively analyzed, business-critical factors can be monitored using external and internal benchmarks, the most important KPIs can be passed on to all the relevant forces in a company in real time, strategies can be rapidly adapted to changed market conditions, and the results of analyses can be graphically represented in a wide variety of formats, such as grids, graphs, and maps
    Check this:
    What is APO and how it is related to BW
    SAP Advanced Planner and Optimizer is a component of the mySAP Supply Chain Management solution that you use for planning and optimizing supply chain processes at a strategic, tactical, and operational planning level.
    With APO - Simultaneous Material & Capacity Planning is possible, as against R/3 PP
    APO Planning is capable of taking all the constraints into consideration with Planning for Capacities/Scheduling
    APO Resource (workcenter in R/3) does a Capacity availability check before scheduling an activity, if capacity is not available, it finds the immediate next available slot & schedules the activity there. This is not possible with R/3
    http://www.sap.com/solutions/business-suite/scm/pdf/BWP_APO40.pdf
    http://help.sap.com/saphelp_apo/helpdata/en/7e/63fc37004d0a1ee10000009b38f8cf/frameset.htm
    http://help.sap.com/bp_biv133/documentation/BW/I18_Scen_InstallGuide_EN_DE.doc
    http://help.sap.com/saphelp_scm41/helpdata/en/92/dd013872af2946e10000009b38f8cf/content.htm
    http://help.sap.com/saphelp_apo/helpdata/en/7e/63fc37004d0a1ee10000009b38f8cf/frameset.htm
    R/3 OLTP
    Online Transactional data processing.
    Designed to efficiently process high volumes of transactions, instantly recording business events (such as a sales invoice payment) and reflecting changes as they occur.
    Current data
    Short database transactions
    Online update/insert/delete
    Normalization is promoted
    High volume transactions
    Transaction recovery is necessary
    http://en.wikipedia.org/wiki/OLTP
    Refer for OLTP Vs OLAP
    compare to r/3, what are the benefits available for b/w
    R/3 and BW reports
    http://www.geekinterview.com/question_details/209
    http://blogs.netindonesia.net/kiki/archive/2006/02/28/8822.aspx
    What's the Difference Between OLAP and OLTP?
    Thanks,
    JituK

  • Difference between Distribution and Assessment cycle

    Hi,
    Can any one help me regarding the above(Difference between Distribution and Assessment cycle)
    Thanks in advance
    Rajani

    HI,
    Assessment:
    Assessment was created to transfer primary and secondary costs from a sender cost center to receiving controlling objects. During assessment, cost centers or business processes can be used as senders .n The receivers for an assessment can be a cost center, WBS element, internal order, cost object, or a
    business process. You can restrict the number of receiver categories in customizing. n Primary and secondary postings are allocated at the end of the period by means of the user-defined
    key.
    n During assessment, the original cost elements are summarized into assessment cost elements
    (secondary cost element category = 42). As the system writes fewer totals records, the assessment
    has a better performance than periodic reposting and distribution.
    n Line items are posted for the sender as well as for the receiver, enabling the allocation to be recorded
    exactly. The system does not display the original cost elements in the receivers. Therefore,
    assessment is useful if the cost drilldown for the receiver is not important, for example, as in the case
    of the allocation for the "cafeteria" cost center.
    n Similar to distribution, the partner is updated in the totals record during distribution.
    n You can reverse assessments as often as required.
    n You use the Cycle -Segment method to define sender-receiver relationships.
    Distribution:
    Differences between periodic reposting and distribution are due to information content and
    performance.
    n For periodic reposting, no separate credit record is written on the sender for the cost element in the
    summary report. Instead, the totals record for the cost element is reduced on the debit side, which
    means that the original debit amount can no longer be checked there ("unclean credit"). However,
    during distribution, the system writes a totals record for the credit ("clean credit"). The information
    on the receiver is the same for periodic reposting and distribution ("clean debit").
    n Compared with periodic reposting, during distribution, the system also updates the partner in the
    totals record for the sender. This means that the partner can be displayed in the information system
    on the totals record level.
    n As fewer totals records are written during periodic reposting, performance is better than during
    distribution. See customizing for an example with figures that illustrates this aspect. Under utilities,
    make settings for the SAPscript text display, then call up the text by choosing Periodic reposting,
    Distribution, or Assessment from the menu.
    Regards,
    Meenakshi

  • Difference between SOA and B1ISN

    Hi all,
    Can anybody tell  me what is the difference between SOA and B1ISN ???
    Thanks

    Hi,
    SOA, and more specifically eSOA, is a common service-oriented architecture / platform for SAP products.  Partners can build business applications in .NET based around and on top of this new architecture for SAP Business One and other SAP / 3-rd party applications (one of the samples provided shows integration between SAP Business One and Outlook).  You can find more information about eSOA [here|https://websmp108.sap-ag.de/~sapidb/011000358700001387112008E].
    B1iSN is SAP's existing integration solution for integrating data between SAP Business One and SAP R/3.  It is built on top of SAP's B1iP technology.  Users can either develop custom content / scenarios by using the core B1iSN solution, or can develop totally new and distinct solutions using B1iP.  You can find most information about B1iP in this forum.
    In a more general sense, the answer to your question is that eSOA is a platform / architecture which allows the creation of integration solutions, while B1iSN is an existing solution built on top of B1iP.
    HTH,
    Dhruv

  • DIFFERENCE BETWEEN ASSESSMENT AND DISTRIBUTION

    Dear Friends,
    What is the main difference between Assesment and Distribution?
    Thanks in advances.

    Hello,
    Please follow the forum rules
    1. No capital letters
    2. Search before posting
    DISTRIBUTION =========== Distribution was created for transfer primary costs from a sender cost center to receiving controlling objects. During distribution, only cost centers or business process can be used as sender. A distribution receiver can be a cost center, WBS element, internal order, cost object, or a business process. You can restrict the number of receiver categories in customizing. Primary Postings (such as, energy costs) are collected on a cost center, and allocated at the end of the period by means of the user-defined key. You can only distribute primary costs. During this process, the original cost element remains the same. Line items are posted for the sender as well as for the receiver, enabling the allocation to be recorded exactly. You can reverse distributions as often as required. You use the Cycle-Segment method to define sender-receiver relationships. PERIODIC REPOSTING ================= Differences between periodic reposting and distribution are due to information content and performance. For periodic reposting, no separate credit record is written on the sender for the cost element in the summary report. Instead, the totals record for the cost element is reduced on the debit side, which means that the original debit amount can no longer be checked there (u201Cunclean creditu201D). However, during distribution, the system writes a totals record for the credit (u201Cclean creditu201D). The information on the receiver is the same for periodic reposting and distribution (u201Cclean debitu201D). Compared with periodic reposting, during distribution, the system also updates the partner in the totals record for the sender. This means that the partner can be displayed in the information system on the totals record level. As fewer totals records are written during periodic reposting, performance is better than during distribution. ASSESSMENT =========== Assessment was created to transfer primary and secondary costs from a sender cost center to receiving controlling objects. During assessment, cost center or business processes can be used as senders. The receivers for an assessment can be a cost center, WBS element, internal order, cost object, or a business process. You can restrict the number of receiver categories in customizing. Primary and secondary posting are allocated at the end of the period by the user-defined key. During assessment, the original cost elements are summarized into assessment cost elements (secondary cost element category = 42). As the system writes fewer total records, the assessment has a better performance than periodic reposting and distribution. The system does not display the original cost elements in the receivers. Therefore, assessment is useful if the cost drilldown for the receiver is not important. Similar to distribution, the partner is updated in the totals record during distribution You can reverse assessments as often as required. You use the Cycle-Segment method to define sender-receiver relationships. Regards, Ravi

  • Differences between awt and swing

    Ive written the following code, however Ive implemented the gui in awt rather then swing. Ive been told it hs too be in swing. What is the difference between swing and awt what will I need to change in my program so that its done using swing rather then the awt? Heres the code:
    // pp.java
    // Grant Brown
    // 22/02/02
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    // =========================================================
    // Class: pp
    // This class drives the customer manager. It contains the
    // main method which gets called as soon as this application
    // begins to run.
    // =========================================================
    class pp extends Frame implements ActionListener
    // Container of customer objects
    private Vector customers = new Vector (100);
    // List of names component. (Must specify java.awt in
    // front of List to distinguish the List class in the
    // java.awt package from the List class in the java.util
    // package.)
    private java.awt.List names = new java.awt.List ();
    // Delete and update button components.
    private Button delete;
    private Button update;
    // Default constructor.
    public pp ()
    // Assign "Paper Round Manager" to title bar of frame window.
    super ("Paper Round Manager");
    // Add a listener that responds to window closing
    // events. When this event occurs (by clicking on the
    // close box in the title bar), save customers and exit.
    addWindowListener (new WindowAdapter ()
    public void windowClosing
    (WindowEvent e)
    saveCustomers ();
    System.exit (0);
    // Place an empty label in the north part of the frame
    // window. This is done to correct an AWT positioning
    // problem.
    Label l = new Label ();
    add ("North", l);
    // Place the names component in the center part of the
    // frame window.
    add ("Center", names);
    // Create a panel object to hold four buttons.
    Panel p = new Panel ();
    Button b;
    // Add an Insert button to the Panel object and register
    // the current pp object as a listener for button events.
    p.add (b = new Button ("Insert"));
    b.addActionListener (this);
    // Add a Delete button to the Panel object and register
    // the current pp object as a listener for button events.
    p.add (delete = new Button ("Delete"));
    delete.addActionListener (this);
    // The Delete button should be disabled until there is at
    // least one customer to delete.
    delete.setEnabled (false);
    // Add an Update button to the Panel object and register
    // the current pp object as a listener for button events.
    p.add (update = new Button ("Update"));
    update.addActionListener (this);
    // The Update button should be disabled until there is at
    // least one customer to update.
    update.setEnabled (false);
    // Add a Finish button to the Panel object and register
    // the current customer object as a listener for button events.
    p.add (b = new Button ("Finish"));
    b.addActionListener (this);
    // Add the panel object to the frame window container.
    add ("South", p);
    // Set the background of the frame window container to
    // lightGray
    setBackground (Color.lightGray);
    // Set the size of the frame window container to 400
    // pixels horizontally by 200 pixels vertically.
    setSize (400, 200);
    // Allow the user to resize the frame window.
    setResizable (true);
    // Load all contacts.
    loadCustomers ();
    // Make sure that the frame window is visible.
    setVisible (true);
    public void actionPerformed (ActionEvent e)
    if (e.getActionCommand ().equals ("Delete"))
    delete ();
    else
    if (e.getActionCommand ().equals ("Finish"))
    saveCustomers ();
    System.exit (0);
    else
    if (e.getActionCommand ().equals ("Insert"))
    insert ();
    else
    update ();
    public Insets getInsets ()
    // Return an Insets object that describes the number of
    // pixels to reserve as a border around the edges of the
    // frame window.
    return new Insets (10, 10, 10, 10);
    public static void main (String [] args)
    // Create a new pp object and let it do its thing.
    new pp ();
    private void delete ()
    // Obtain index of selected contact item from the names
    // component.
    int index = names.getSelectedIndex ();
    // If no item was selected, index is -1. We cannot update
    // a contact if no contact item in the names component was
    // selected - because we would have nothing to work with.
    if (index != -1)
    // Remove the contact item from the names component.
    names.remove (index);
    // Remove the Customer object from the contacts Vector
    // object.
    customers.remove (index);
    // If there are no more customers ...
    if (customers.size () == 0)
    delete.setEnabled (false);
    update.setEnabled (false);
    else
    // Make sure that the first contact item in the names
    // list is highlighted.
    names.select (0);
    private void insert ()
    // Create an Insert data entry form to enter information
    // for a new customer.
    DataEntryForm def = new DataEntryForm (this, "Insert");
    // If the bOk Boolean flag is set, this indicates the user
    // exited the form by pressing the Ok button.
    if (def.bOk)
    // Create a Contact object and assign information from
    // the form to its fields.
    Customer temp = new Customer ();
    temp.name = new String (def.name.getText ());
    temp.publication = new String (def.publication.getText ());
    temp.round = new String (def.round.getText ());
    temp.address = new String (def.address.getText ());
    temp.phone = new String (def.phone.getText ());
    // Add a new customer item to the names component.
    names.add (temp.name + ", " + temp.publication);
    // Add the Customer object to the contacts Vector
    // object.
    customers.add (temp);
    // Make sure that the Delete and Update buttons are
    // enabled.
    delete.setEnabled (true);
    update.setEnabled (true);
    // Destroy the dialouge box.
    def.dispose ();
    // Make sure that the first customer item in the names list
    // is highlighted.
    names.select (0);
    // ===========================================================
    // Load all contacts from contacts.dat into the contacts
    // Vector object. Also, make sure that the last name/first
    // name from each contact is combined into a String object and
    // inserted into the names component - as a contact item.
    // ===========================================================
    private void loadCustomers ()
    FileInputStream fis = null;
    try
    fis = new FileInputStream ("Customers.dat");
    DataInputStream dis = new DataInputStream (fis);
    int nCustomers = dis.readInt ();
    for (int i = 0; i < nCustomers; i++)
    Customer temp = new Customer ();
    temp.name = dis.readUTF ();
    temp.publication = dis.readUTF ();
    temp.round = dis.readUTF ();
    temp.address = dis.readUTF ();
    temp.phone = dis.readUTF ();
    names.add (temp.name + ", " + temp.publication);
    customers.add (temp);
    if (nCustomers > 0)
    delete.setEnabled (true);
    update.setEnabled (true);
    catch (IOException e)
    finally
    if (fis != null)
    try
    fis.close ();
    catch (IOException e) {}
    // Make sure that the first contact item in the names list
    // is highlighted.
    names.select (0);
    // ========================================================
    // Save all Customer objects from the customer Vector object
    // to customer.dat. The number of customerss are saved as an
    // int to make it easy for loadCustomers () to do its job.
    // ========================================================
    private void saveCustomers ()
    FileOutputStream fos = null;
    try
    fos = new FileOutputStream ("customers.dat");
    DataOutputStream dos = new DataOutputStream (fos);
    dos.writeInt (customers.size ());
    for (int i = 0; i < customers.size (); i++)
    Customer temp = (Customer) customers.elementAt (i);
    dos.writeUTF (temp.name);
    dos.writeUTF (temp.publication);
    dos.writeUTF (temp.round);
    dos.writeUTF (temp.address);
    dos.writeUTF (temp.phone);
    catch (IOException e)
    MsgBox mb = new MsgBox (this, "PP Error",
    e.toString ());
    mb.dispose ();
    finally
    if (fos != null)
    try
    fos.close ();
    catch (IOException e) {}
    private void update ()
    // Obtain index of selected customer item from the names
    // component.
    int index = names.getSelectedIndex ();
    // If no item was selected, index is -1. We cannot update
    // a customer if no customer item in the names component was
    // selected - because we would have nothing to work with.
    if (index != -1)
    // Obtain a reference to the customer object (from the
    // customers Vector object) that is associated with the
    // index.
    Customer temp = (Customer) customers.elementAt (index);
    // Create and display an update entry form.
    DataEntryForm def = new DataEntryForm (this, "Update",
    temp.name,
    temp.publication,
    temp.round,
    temp.address,
    temp.phone);
    // If the user pressed Ok...
    if (def.bOk)
    // Update the customer information in the customers
    // Vector object.
    temp.name = new String (def.name.getText ());
    temp.publication = new String (def.publication.getText ());
    temp.round = new String (def.round.getText ());
    temp.address = new String (def.address.getText ());
    temp.phone = new String (def.phone.getText ());
    // Make sure the screen reflects the update.
    names.replaceItem (temp.name + ", " + temp.publication,
    index);
    // Destroy the dialouge box.
    def.dispose ();
    // Make sure that the first customer item in the names
    // list is highlighted.
    names.select (0);

    Ive doen pretty much what you said burt now my program isnt working at all. The window comes up but instead of doing something when you click the button it just throws shit loads of exceptions. Heres my abridged code
    // pp.java
    // Grant Brown
    // 22/02/02
    import java.awt.*;
    import java.awt.event.*;
    import java.io.*;
    import java.util.*;
    import javax.swing.*;
    // =========================================================
    // Class:PP
    // This class drives the Paper Round manager. It contains the
    // main method which gets called as soon as this application
    // begins to run.
    // =========================================================
    class pp extends JFrame implements ActionListener
    // Container of customer objects (one object per customer)
    private Vector customers = new Vector (100);
    // List of names component. (Must specify java.awt in
    // front of List to distinguish the List class in the
    // java.awt package from the List class in the java.util
    // package.)
    private java.awt.List names = new java.awt.List ();
    // Delete and update button components.
    private JButton delete;
    private JButton update;
    // Default constructor.
    public pp ()
    // Assign Contact Manager to title bar of frame window.
    super ("Paper Round Manager");
    // Add a listener that responds to window closing
    // events. When this event occurs (by clicking on the
    // close box in the title bar), save contacts and exit.
    addWindowListener (new WindowAdapter ()
    public void windowClosing
    (WindowEvent e)
    saveCustomers ();
    System.exit (0);
    // Place an empty label in the north part of the frame
    // window. This is done to correct an AWT positioning
    // problem. (One thing that you'll come to realize as
    // you work with the AWT is that there are lots of bugs.)
    JLabel l = new JLabel ();
    getContentPane().add ("North", l);
    // Place the names component in the center part of the
    // frame window.
    getContentPane().add ("Center", names);
    // Create a panel object to hold four buttons.
    JPanel p = new JPanel ();
    JButton b;
    // Add an Insert button to the Panel object and register
    // the current cm object as a listener for button events.
    p.add (b = new JButton ("Insert"));
    b.addActionListener (this);
    // Add a Delete button to the Panel object and register
    // the current cm object as a listener for button events.
    p.add (delete = new JButton ("Delete"));
    delete.addActionListener (this);
    // The Delete button should be disabled until there is at
    // least one contact to delete.
    delete.setEnabled (false);
    // Add an Update button to the Panel object and register
    // the current cm object as a listener for button events.
    p.add (update = new JButton ("Update"));
    update.addActionListener (this);
    // The Update button should be disabled until there is at
    // least one contact to update.
    update.setEnabled (false);
    // Add a Finish button to the Panel object and register
    // the current cm object as a listener for button events.
    p.add (b = new JButton ("Finish"));
    b.addActionListener (this);
    // Add the panel object to the frame window container.
    getContentPane().add ("South", p);
    // Set the background of the frame window container to
    // lightGray (to give a pleasing effect).
    setBackground (Color.lightGray);
    // Set the size of the frame window container to 400
    // pixels horizontally by 200 pixels vertically.
    setBounds (50, 100, 400, 200);
    // Do not allow the user to resize the frame window.
    loadCustomers ();
    // Load all contacts.
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    // Make sure that the frame window is visible.
    setVisible (true);
    public void actionPerformed (ActionEvent e)
    if (e.getActionCommand ().equals ("Delete"))
    delete ();
    else
    if (e.getActionCommand ().equals ("Finish"))
    saveCustomers ();
    System.exit (0);
    else
    if (e.getActionCommand ().equals ("Insert"))
    insert ();
    else
    update ();
    public Insets getInsets ()
    // Return an Insets object that describes the number of
    // pixels to reserve as a border around the edges of the
    // frame window.
    return new Insets (10, 10, 10, 10);
    public static void main (String [] args)
    // Create a new cm object and let it do its thing.
    new pp ();
    private void delete ()
    // Obtain index of selected customer item from the names
    // component.
    int index = names.getSelectedIndex ();
    // If no item was selected, index is -1. We cannot update
    // a contact if no contact item in the names component was
    // selected - because we would have nothing to work with.
    if (index != -1)
    // Remove the customer item from the names component.
    names.remove (index);
    // Remove the Customer object from the contacts Vector
    // object.
    customers.remove (index);
    // If there are no more customers ...
    if (customers.size () == 0)
    delete.setEnabled (false);
    update.setEnabled (false);
    else
    // Make sure that the first contact item in the names
    // list is highlighted.
    names.select (0);
    private void insert ()
    // Create an Insert data entry form to enter information
    // for a new contact.
    DataEntryForm def = new DataEntryForm (this, "Insert");
    // If the bOk Boolean flag is set, this indicates the user
    // exited the form by pressing the Ok button.
    if (def.bOk)
    // Create a Customer object and assign information from
    // the form to its fields.
    Customer temp = new Customer ();
    temp.name = new String (def.name.getText ());
    temp.publication = new String (def.publication.getText ());
    temp.address = new String (def.address.getText ());
    temp.round = new String (def.round.getText ());
    temp.phone = new String
              (def.phone.getText ());
    // Add a new customer item to the names component.
    names.add (temp.publication + ", " + temp.address);
    // Add the Customer object to the contacts Vector
    // object.
    customers.add (temp);
    // Make sure that the Delete and Update buttons are
    // enabled.
    delete.setEnabled (true);
    update.setEnabled (true);
    // Destroy the dialog box.
    def.dispose ();
    // Make sure that the first customer item in the names list
    // is highlighted.
    names.select (0);
    // ===========================================================
    // Load all customers from customers.dat into the customers
    // Vector object. Also, make sure that the last name/first
    // name from each contact is combined into a String object and
    // inserted into the names component - as a contact item.
    // ===========================================================
    private void loadCustomers ()
    FileInputStream fis = null;
    try
    fis = new FileInputStream ("customers.dat");
    DataInputStream dis = new DataInputStream (fis);
    int nCustomers = dis.readInt ();
    for (int i = 0; i < nCustomers; i++)
    Customer temp = new Customer ();
    temp.name = dis.readUTF ();
    temp.publication = dis.readUTF ();
    temp.address = dis.readUTF ();
    temp.round = dis.readUTF ();
    temp.phone = dis.readUTF ();
    names.add (temp.publication + ", " + temp.address);
    customers.add (temp);
    if (nCustomers > 0)
    delete.setEnabled (true);
    update.setEnabled (true);
    catch (IOException e)
    finally
    if (fis != null)
    try
    fis.close ();
    catch (IOException e) {}
    // Make sure that the first customer item in the names list
    // is highlighted.
    names.select (0);
    // ========================================================
    // Save all customer objects from the contacts Vector object
    // to customers.dat. The number of contacts are saved as an
    // int to make it easy for loadCustomers () to do its job.
    // ========================================================
    private void saveCustomers ()
    FileOutputStream fos = null;
    try
    fos = new FileOutputStream ("customers.dat");
    DataOutputStream dos = new DataOutputStream (fos);
    dos.writeInt (customers.size ());
    for (int i = 0; i < customers.size (); i++)
    Customer temp = (Customer) customers.elementAt (i);
    dos.writeUTF (temp.name);
    dos.writeUTF (temp.publication);
    dos.writeUTF (temp.address);
    dos.writeUTF (temp.round);
    dos.writeUTF (temp.phone);
    catch (IOException e)
    MsgBox mb = new MsgBox (this, "PP Error",
    e.toString ());
    mb.dispose ();
    finally
    if (fos != null)
    try
    fos.close ();
    catch (IOException e) {}
    private void update ()
    // Obtain index of selected customer item from the names
    // component.
    int index = names.getSelectedIndex ();
    // If no item was selected, index is -1. We cannot update
    // a customer if no customer item in the names component was
    // selected - because we would have nothing to work with.
    if (index != -1)
    // Obtain a reference to the Customer object (from the
    // customer Vector object) that is associated with the
    // index.
    Customer temp = (Customer) customers.elementAt (index);
    // Create and display an update entry form.
    DataEntryForm def = new DataEntryForm (this, "Update",
    temp.name,
    temp.publication,
    temp.address,
    temp.round,
    temp.phone);
    // If the user pressed Ok...
    if (def.bOk)
    // Update the customer information in the customers
    // Vector object.
    temp.name = new String (def.name.getText ());
    temp.publication = new String (def.publication.getText ());
    temp.address = new String (def.address.getText ());
    temp.round = new String (def.round.getText ());
    temp.phone = new String (def.phone.getText ());
    // Make sure the screen reflects the update.
    names.replaceItem (temp.publication + ", " + temp.address,
    index);
    // Destroy the dialog box.
    def.dispose ();
    // Make sure that the first customer item in the names
    // list is highlighted.
    names.select (0);
    // ========================================================
    // Class: Customer
    // This class describes the contents of a business customer.
    // ========================================================
    class Customer
    public String name;
    public String publication;
    public String address;
    public String round;
    public String phone;
    // ==========================================================
    // Class: DataEntryForm
    // This class provides a data entry form for entering customer
    // information.
    // ==========================================================
    class DataEntryForm extends JDialog implements ActionListener
    // bOk is a boolean flag. When true, it indicates that
    // the Ok button was pressed to terminate the dialog box
    // (as opposed to the Cancel button).
    public boolean bOk;
    // The following components hold the text that the user
    // entered into the visible text fields.
    public JTextField name;
    public JTextField publication;
    public JTextField address;
    public JTextField round;
    public JTextField phone;
    public void actionPerformed (ActionEvent e)
    // If the user pressed the Ok button, indicate this
    // by assigning true to bOk.
    if (e.getActionCommand ().equals ("Ok"))
    bOk = true;
    // Destroy the dialog box and return to the point
    // just after the creation of the DataEntryForm object.
    dispose ();
    public DataEntryForm (JFrame parent, String title)
    // Call the other constructor. The current constructor
    // is used for insert operations. The other constructor
    // is used for update operations.
    this (parent, title, "", "", "", "", "");
    public DataEntryForm (JFrame parent, String title,
    String name, String publication,
    String address, String round,
    String phone)
    // Initialize the superclass layer.
    super (parent, title, true);
    // Choose a grid bag layout so that components can be more
    // accurately positioned. (It looks nicer.)
    setLayout (new GridBagLayout ());
    // Add appropriate first name, last name, phone, fax, and
    // email components to the current DataEntryForm container.
    // (Remember, DataEntryForm is a subclass of Dialog.
    // Dialog is a container. Therefore, DataEntryForm
    // inherits the ability to be a container.)
    addComponent (this, new JLabel ("Name: "), 0, 0, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.WEST);
    this.name = new JTextField (15);
    addComponent (this, this.name, 1, 0, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.CENTER);
    if (title.equals ("Update"))
    this.name.setText (name);
    addComponent (this, new JLabel ("Publications: "), 0, 1, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.WEST);
    this.publication = new JTextField (15);
    addComponent (this, this.publication, 1, 1, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.CENTER);
    if (title.equals ("Update"))
    this.publication.setText (publication);
    addComponent (this, new JLabel ("Address "), 0, 2, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.WEST);
    this.address = new JTextField (15);
    addComponent (this, this.address, 1, 2, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.CENTER);
    if (title.equals ("Update"))
    this.address.setText (address);
    addComponent (this, new JLabel ("Round No "), 0, 3, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.WEST);
    this.round = new JTextField (15);
    addComponent (this, this.round, 1, 3, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.CENTER);
    if (title.equals ("Update"))
    this.round.setText (round);
    addComponent (this, new JLabel ("Phone Number "), 0, 4, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.WEST);
    this.phone = new JTextField (15);
    addComponent (this, this.phone, 1, 4, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.CENTER);
    if (title.equals ("Update"))
    this.phone.setText (phone);
    addComponent (this, new JLabel (""), 0, 5, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.CENTER);
    addComponent (this, new JLabel (""), 1, 5, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.CENTER);
    JButton b;
    // Add an Ok button to this container.
    addComponent (this, b = new JButton ("Ok"), 0, 6, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.CENTER);
    b.addActionListener (this);
    // Add a Cancel button to this container.
    addComponent (this, b = new JButton ("Cancel"), 1, 6, 1, 1,
    GridBagConstraints.NONE,
    GridBagConstraints.CENTER);
    b.addActionListener (this);
    // Set the size of the dialog window to 250 pixels
    // horizontally by 200 pixels vertically.
    setSize (250, 200);
    // Do not allow users to resize the dialog window.
    setResizable (false);
    // Make sure that the dialog window is visible.
    setVisible (true);
    private void addComponent (Container con, Component com,
    int gridx, int gridy,
    int gridw, int gridh, int fill,
    int anchor)
    // Get the current layout manager. It is assumed to
    // be a GridBagLayout object.
    LayoutManager lm = con.getLayout ();
    // Create a GridBagConstraints object to make it
    // possible to customize component positioning.
    GridBagConstraints gbc = new GridBagConstraints ();
    // Assign the x and y grid positions.
    gbc.gridx = gridx;
    gbc.gridy = gridy;
    // Assign the number of grid blocks horizontally and
    // vertically that are occupied by the component.
    gbc.gridwidth = gridw;
    gbc.gridheight = gridh;
    // Specify the component's resize policy (fill) and
    // the direction in which the component is positioned
    // when its size is smaller than available space (anchor).
    gbc.fill = fill;
    gbc.anchor = anchor;
    // Set the new constraints that the grid bag layout
    // manager will use.
    ((GridBagLayout) lm).setConstraints (com, gbc);
    // Add the component to the container.
    con.add (com);
    // ===========================================================
    // Class: MsgBox
    // This class displays a message box to the user. The message
    // is usually an error message. The user must press the Ok
    // button to terminate the message box.
    // ===========================================================
    class MsgBox extends JDialog implements ActionListener
    public void actionPerformed (ActionEvent e)
    // Terminate the dialog box in response to the user
    // pressing the Ok button.
    dispose ();
    public MsgBox (JFrame parent, String title, String msg)
    // Initialize the superclass layer.
    super (parent, title, true);
    // Store the msg argument in a Label object and add
    // this object to the center part of the dialog window.
    JLabel l = new JLabel (msg);
    add ("Center", l);
    // Create a Button object and add it to the south part
    // of the dialog window.
    JButton b = new JButton ("Ok");
    add ("South", b);
    // Make the current object a listener to events that
    // occur as a result of the user pressing the Ok
    // button.
    b.addActionListener (this);
    // Make sure that the Ok button has the focus.
    b.requestFocus ();
    // Do not allow users to resize the dialog window.
    setResizable (false);
    // Allow the layout manager to choose an appropriate
    // size for the dialog window.
    pack ();
    // Make sure that the dialog window is visible.
    setVisible (true);
    }

Maybe you are looking for