Merging Companies - How to handle employees.

Hello everybody.
I'm currently undergoing a project, in which six companies will be merged into one, only, in SAP. My doubt is mainly in the Employees: what type of special attention should i have in terms of the system, regarding this subject (besides of migrating the employee to the new company)?
I would also like to hear some experience form similar projects.
Thanks in advance.
Sincerely,
Hugo Ferreira

Hugo,
I am involved in a merger project... My project involved three diferent companies from two different countries. When you merge HR you should pay attention to following:
=> Define the complete enterprise structure that covers the business requirements: Company codes, Personal Area, Personal Subarea, Employee group, Employee subgroup and payroll area.
HOW to define the enterprise structure:
=> Analyse the business requirements from the 6 companies:
     1. Will the FI/CO be treated as an entities per company. This determines how many company codes and payroll areas will be needed;
     2. Number of payroll areas is also determined if the 6 companies are from different countries, if the salary dates will be differents and if there are diferent payment periods;
     3. Time management requirements. Are there rules that are applicable only to certain group of employees? For example: Overtime payment is only for employees in the plant. Offices workers earn additional rest hours when they work overtime, etc...
      4. Payroll requirements. The salary structure are different for a different group of employees? For example: Expatriates salaries has an host and home componenet on there salary with diferent tax implications. When the local employees do not have that split.
Answers to 3. and 4. will determine the Number and structure of personal area/subarea and employee group/subgroup...
I hope that this helps....
Um abraco,
LA

Similar Messages

  • Merging records - how to handle deleted records?

    hi,
    can anyone tell me what is the proper way to handle
    deleted records during records update ?
    let's say I have 2 customers and I merge them into one
    so I need to send to transactional systems that the deleted one
    should not longer be active - but how to achive that
    (sending deletion info) in MDM ?
    thank you for your help,
    Regards,
    michal

    Hi Michal,
    MDM does not delete any records when it merges them. whenever you merge any two records the local id is never lost, it is always present in the edit key mapping.
    You can see this info by right clicking on record and select edit key mapping. You will find both the record entries there.
    With proper mapping in syndicator, you can get this information for both the records. while mapping map the 'VALUE' field in the source items to the 'LOCAL ID' field in the destination item.
    Please let me know if this not help completely and if you have more doubts.
    - An

  • Best practice on how to handle employees who do not have a last name?

    We are a Canadian based company with some International employees. We have recently begun to enter the International employees into the HR module. This has led to some problems for employees from India who do not have both a first name and a last name as many of our downstream systems require both names.
    I'm wondering what other companies with International employees have done in this circumstance. Can someone recommend a Best Practice?  We want to ensure that whatever we do is not offensive to anyone.
    Thanks.

    Dear,
    Indian names vary from region to region. Sometimes Names also influence by religion and caste. Different languages spoken in India in different regions. This variety makes confusing differences in names and their styles.
    Now come to the point, since you are international company, while entering the names of your international employees - i would like to suggest to consider the employees names as mentioned in their passport (If they hold valid passport). In case of non availability of passports consider their bank information or any other available information so that they didnt face any further problems like visa, banking transactions etc etc.
    1. Maddepalli Venkata Ramana Rao
    In this case Maddepalli will be his surname, Venkata Ramana can be his first name and Rao can be mentioned as Second / last name.
    2. Hardev Singh
    In this case you didnt find a surname... Singh will be considered as Surname or his ethinic recognition. In this case you can enter Hardev as First name and Singh as last name.
    Make some entry fields are optional depending on the situation. Take help of an Indian origin employees help exists in your office.
    Regards,
    Syed Hussain.

  • OID: how to store employees who works for several companies

    Hi All,
    we estimate possible ways how to store employee records into OID. Our OeBs instance serves company group (several companies). If I understand it rigth thees companies should be translated into several 'o'-nodes in terms of LDAP under common 'dc' base node (we use single domain for all).
    How to store persons who works for several companies inside our group at the same time?
    Should we load such type of employees simultaneously into several appropriate branches of LDAP-tree (an employee will be represented as a number of 'cn' nodes)
    or
    should we consider some another way to insist on one-to-one relationship between employee and its 'cn' node?
    Thanks

    Hi,
    I have faced the similar problem while maintaining master data of few employees.
    You may go ahead a make the last name as optional in Screen modification for international employees.
    Hope this solves the issue.
    Regards, AB

  • How to handle the OK button of the parameters prompt of a crystal report

    Hi,
    how to handle the OK button of the parameters prompt of a crystal report in vba.NET?
    I want to use the parameter prompt from the crystal report itself and I want to know when the report is ready. I need to export programatically by sending email to a list of employees after the parameters has been set. The emails I send depends on the results of the report.
    Im using a CrystalReportViewer control  in VS2010 and Crystal Report for VS2010 v13.0.1.220.

    Right. But the parameter screen is driven by the viewer. Unless you create your own parameter screen and pass the parameters to the report via code.
    Another thing I am not sure about:
    "Then by code I want to read all the employees id from the report and send email to them with specified pages of the report. (1 page per employee)"
    How do you plan on reading the employee ID from the report? I am not aware of any API that will read a value in a report so that you can then decide what page to send to whom.
    I think you're approaching this kinda backwards. A question to ask is; can you do what you are trying to do in code in the CR designer? If not, using APIs will not work either. I suspect your approach should be a report that uses an employee filter. Run the report for employee x, get the report populated with the data for that employee and email it. Repeat for employee x1, employee x2, etc.
    - Ludek

  • How to handle dbms_xmldom with no data values.(no_data_found error in dom)

    hi,
    i have below block,
    DECLARE
    doc dbms_xmldom.DOMDocument;
    node dbms_xmldom.DOMNode;
    elem dbms_xmldom.DOMElement;
    cur_node dbms_xmldom.DOMNode;
    root_elem_data dbms_xmldom.DOMElement;
    root_elem_tab dbms_xmldom.DOMElement;
    root_node_data dbms_xmldom.DOMNode;
    mode_elmn dbms_xmldom.DOMElement;
    mode_node dbms_xmldom.DOMNode;
    mode_text dbms_xmldom.DOMText;
    doc1 DBMS_XMLDOM.DOMDOCUMENT;
    root_node_data1 DBMS_XMLDOM.DOMNODE;
    child_document DBMS_XMLDOM.DOMDOCUMENT;
    child_rootnode DBMS_XMLDOM.DOMNODE;
    V_CLOB CLOB;
    v_doc CLOB;
    v_EMP CLOB;
    v_output_filename VARCHAR2(300) := 'SPOOL_DIR/'||'EMP_XML_FILE.xml';
    l_xmltype XMLTYPE;
    BEGIN
    doc := dbms_xmldom.newDOMDocument;
    node := dbms_xmldom.makeNode(doc);
    dbms_xmldom.setversion(doc, '1.0');
    dbms_xmldom.setCharset(doc, 'UTF8');
    elem := dbms_xmldom.createElement(doc, 'PartnerInfo');
    dbms_xmldom.setAttribute(elem,'xmlns','EMP');
    cur_node := dbms_xmldom.appendChild(node, dbms_xmldom.makeNode(elem));
    mode_elmn := dbms_xmldom.createElement(doc, 'EMPLOYEE');
    mode_node := dbms_xmldom.appendChild(cur_node,dbms_xmldom.makeNode(mode_elmn));
    BEGIN
    SELECT value(e) INTO l_xmltype
    FROM TABLE(XMLSequence(Cursor(SELECT * FROM EMP1 where EMPNO=7501))) e;
    child_document := DBMS_XMLDOM.newDOMDocument(l_xmltype);
    root_node_data1 := dbms_xmldom.importNode(doc,dbms_xmldom.makeNode(dbms_xmldom.getDocumentElement(child_document)),TRUE);
    root_node_data1 := DBMS_XMLDOM.appendChild(root_node_data, root_node_data1);
    EXCEPTION
    WHEN OTHERS THEN
    Dbms_Output.Put_Line('Error in SELECT stmt(UC_PARTNER_MS):::'||'error::'||SQLERRM);
    END;
    dbms_lob.createtemporary(v_doc, true);
    dbms_xmldom.writeToClob(doc,v_doc,'UTF8');
    v_EMP:= v_doc;
    dbms_xmldom.writeToFile(DOC,v_output_filename,'UTF8');
    dbms_xmldom.freeDocument(doc);
    --Dbms_Output.Put_Line('THE OUTPUT IS::'||V_EMP);
    EXCEPTION
    WHEN OTHERS THEN
    Dbms_Output.Put_Line('Error in SELECT stmt(UC_PARTNER_MS):::'||'error::'||SQLERRM);
    END;
    The xml file is 'EMP_XML_FILE.xml'
    <empno>U++kYmcVuGchxbh+++++++++++++++1+</empno>
    <empname>J</empname>
    suppose the empno 7501 is not available in our emp table,
    i got error
    ORA-03113: end-of-file on communication channel
    how to handle xmldom with no data values.
    by
    siva

    hi,
    please give the solution
    by
    siva

  • How to handle error message during PAI?

    Hi Experts,
    Need help here.
    In my dialog screen, I have a field which is typed 'QUAN'.
    In entering different format , e.g. with non numeric value or a negative value, an error message appear and it does not process the MODULES inside the chain or FIELD MODULE ON REQUEST.
    Does anyone knows how to handle this kind of error. I need to display into a separate screen the errors I encountered coz I'm creating a new RF transaction.
    Points will be rewarded.
    Thanks in advance.

    Hai
    in your case(RF case) it is other way...
    yes you can use
    field x_currency module check_currency.
    in module check_currency.
    you have to display errors in another screen say 200.
    in that there will be 4 fields, all are display only fields.
    X_MESSAGE-MSGV1  of type sy-msgv1
    X_MESSAGE-MSGV2  of type sy-msgv2
    X_MESSAGE-MSGV3 of type sy-msgv3
    X_MESSAGE-MSGV4 of type sy-msgv4
    you populate the messages with these fields and then display it in the screen.
      method check_currency.
    *--do all your checks here....
           if error
             clear x_message.
            x_message-msgv1 = 'Enter Valid Employee Number'(004).
            leave to screen 0200.
          endif.
        endif.
    ENDMODULE.                 " VALIDATE_Currency
    in screen 200 PBO you need to format the message
    using the below logic.
           Method for formatting the message
      method message_format.
        data : lt_text type table of tline,         "text table
               lx_text type tline.                  "work area
        refresh lt_text.
        clear lx_text.
        concatenate x_message-msgv1 x_message-msgv2 into lx_text-tdline
          separated by space.
        append lx_text to lt_text.
        clear lx_text.
        concatenate x_message-msgv3 x_message-msgv4 into lx_text-tdline
          separated by space.
        append lx_text to lt_text.
    *- formatting the message
        call function 'FORMAT_TEXTLINES'
          exporting
            formatwidth = 20
          tables
            lines       = lt_text
          exceptions
            bound_error = 1
            others      = 2.
        clear: x_message.
    *- transfer the message data to screen fields
        loop at lt_text into lx_text.
          if sy-tabix = 1.
            x_message-msgv1 = lx_text-tdline.
          elseif sy-tabix = 2.
            x_message-msgv2 = lx_text-tdline.
          elseif sy-tabix = 3.
            x_message-msgv3 = lx_text-tdline.
          elseif sy-tabix = 4.
            x_message-msgv4 = lx_text-tdline.
          else.
            exit.
          endif.
        endloop.
      endmethod.                    "message_format
    Regards
    Vijay

  • How to handle comma separated values in OLE DB Source query for a parameter variable from XML file in SSIS

    Hi,
    I am using OLE DB Source to fetch the records with Data Access Mode as SQL COMMAND which is using the below query with a parameter,
    SELECT CON.Title,CON.FirstName,EMP.MaritalStatus,EMP.Gender,EMP.Title AS Designation, EMP.HireDate, EMP.BirthDate,CON.EmailAddress, CON.Phone
    from HumanResources.Employee EMP INNER JOIN Person.Contact CON ON EMP.ContactID=CON.ContactID WHERE EMP.Title in (?) 
    In this query for the parameter I am passing the value from a variable and which is configured (XML Configuration). While passing value
    Buyer it works correctly. But while passing values Accountant,Buyer
    it is not working as expected.
    How to handle while passing such multiple values Or is it possible to pass such values or not in SSIS 2012 ?
    Kindly help me to find a solution.
    NOTE: I placed the whole query in a variable as a expression as below it is working fine.
    "select CON.Title,CON.FirstName,EMP.MaritalStatus,EMP.Gender,EMP.Title AS Designation,EMP.HireDate,EMP.BirthDate,CON.EmailAddress,CON.Phone from HumanResources.Employee EMP
    INNER JOIN Person.Contact CON ON EMP.ContactID=CON.ContactID WHERE EMP.Title in ('" + REPLACE(@[User::temp],",","','")  +"')"
    Any other solution is there ? without placing the query in a variable. May be a variable can have some limitations for no. of characters stored not sure just a thought.
    Sridhar

    Putting the whole thing into a variable is certainly a valid solution.  The other involves putting the comma delimited list into a table valued variable.
    http://gallery.technet.microsoft.com/scriptcenter/T-SQL-Script-to-Split-a-308206f3
    For an odd ball approach: 
    http://www.sqlmovers.com/shredding_multiline_column_using_xml/ .
    Russel Loski, MCT, MCSE Data Platform/Business Intelligence. Twitter: @sqlmovers; blog: www.sqlmovers.com

  • How to handle exceptions thrown by event

    Hi all,
    i have this slight problem, i'm trying to handle accessing a databse from a button click, i'm trying to simulate somebody logging on to a network. the code is as follows;
    *@author James Taylor
    *@version 30-11-2003
    *Logon gui
    import java.awt.*;
    import javax.swing.*;
    import java.awt.event.*;
    import java.sql.*;
    public class LogonUI extends JFrame {
         //instance variables
         private JLabel userNameL;
         private JPasswordField password;
         private JButton logon;
         ButtonHandler handler;
         Connection con;
         Statement stmt;
          *Constructor initialises and creates UI, adds functionality to the button.
         public LogonUI() throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException{
              super("Employee Logon");
              Container c = getContentPane();
              c.setLayout(new FlowLayout() );
              //handles what happens when user presses the button
               handler = new ButtonHandler();
              userNameL = new JLabel("Please Enter Password:");
              c.add(userNameL);
              password = new JPasswordField(15);
              c.add(password);
              logon = new JButton( "Logon" );
              //anonymous inner class that is created once the button is pressed.
              //it connects to database to validate user
              logon.addActionListener( handler );
              c.add(logon);
              c.setBackground( Color.pink );
              setDefaultCloseOperation(DISPOSE_ON_CLOSE);
              setSize(250,150);
              setVisible(true);
          *class that opens connection to validate user
         private class ButtonHandler implements ActionListener {
              public void actionPerformed(ActionEvent ae)throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException{
                   try{
                        boolean isValidUser = false;
                        //Load mysql driver
                         Class.forName("com.mysql.jdbc.Driver").newInstance();
                         //make a connection
                        String url = "jdbc:mysql://localhost/flight";
                        con = DriverManager.getConnection(url)
                        //Create and instantiate a statement obj
                        stmt = con.createStatement();
                        //get a result set
                        ResultSet rs = stmt.executeQuery("SELECT Password FROM employees");
                        //Iterate through the result set
                        while ( rs.next() ){     
                             String savedPassword = rs.getString("Password");
                             if (password.getText().equals(savedPassword) ){
                                  isValidUser = true;
                                  JOptionPane.showMessageDialog(null,"Yipeeeee");
                        if (isValidUser == false){
                             JOptionPane.showMessageDialog(null,"Invalid Password");     
                        stmt.close();
                        con.close();
                   }catch(Exception e){ e.printStackTrace();}
              public static void main (String[] args) throws SQLException, ClassNotFoundException, IllegalAccessException, InstantiationException{
              LogonUI testAirApp = new LogonUI();
    }When the user presses the button the app tries to validate the user.
    I have not been able to test the code due to SQL Exceptions thrown in the handler class, and when i try and throw them up from here i get;
    LogonUI.java:52: actionPerformed(java.awt.event.ActionEvent) in LogonUI.ButtonHandler cannot implement actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener; overridden method does not throw java.lang.InstantiationExceptionAny ideas on my code and how to handle these exceptions will be very appreciated. Regards, James

    Turn your checked exceptions into unchecked exceptions and retrieve the cause later:
    RuntimeException unchecked = new RuntimeException(checked);
    Throwable t = unchecked.getCause();Stephen

  • How to handle guest access

    Dear,
    I like to design a new wireless infrastructure for our company, but I ?am a bit confused what the right products are.
    We have over Europe 5 locations where we use AP1200. The goal should be that all employees can work with a wireless notebook and authenticate via 802.1x to our AD domain, and all guest can have a internet connection in a very simple way with authentication (there get at the reception a onetime account or something similar).
    The employee stuff is clear for me how to handle it, but I ?am absolute unsure with the guest part. Can someone help me what products (WLSE, WLC, WSC and so on) should I use for this.
    Regards
    Thomas Volk

    Hi
    Read this, it works great for me.
    http://www.cisco.com/en/US/products/ps6366/prod_technical_reference09186a0080706f5f.html

  • How to handle the trigger sequence

    I really do not have any idea for this question.
    the trigger need to implement:      
    An employee can not work on more than 2 projects supervised by any given department.
    DEPARTMENT (dname, dnumber, mgrssn, mgrstartdate) KEY: dnumber.
    PROJECT (pname, pnumber, plocation, dnum)      KEY: pnumber.
    CREATE TABLE WORKS_ON
    ( ESSN VARCHAR2(9) NOT NULL,
      PNO NUMBER NOT NULL,
      HOURS NUMBER(3,1) NOT NULL,
    PRIMARY KEY (ESSN, PNO));
    DESC WORKS_ON;
    INSERT INTO WORKS_ON VALUES
    ('123456789',1,32.5);
    INSERT INTO WORKS_ON VALUES
    ('123456789',2 ,7.5);
    INSERT INTO WORKS_ON VALUES
    ('666884444',3 ,40.0);
    INSERT INTO WORKS_ON VALUES
    ('453453453',1 ,20.0);
    INSERT INTO WORKS_ON VALUES
    ('453453453',2,20.0);
    CREATE TABLE PROJECT
    (PNAME VARCHAR2(15) NOT NULL,
    PNUMBER NUMBER NOT NULL,
    PLOCATION VARCHAR2(15),
    DNUM NUMBER NOT NULL,
    PRIMARY KEY (PNUMBER), UNIQUE(PNAME));
    DESC PROJECT;
    INSERT INTO PROJECT VALUES(
    'ProjectX',1, 'Bellaire',5);
    INSERT INTO PROJECT VALUES(
    'ProjectY',2, 'Sugarland',5);
    INSERT INTO PROJECT VALUES(
    'ProjectZ',3,'Houston',5);
    INSERT INTO PROJECT VALUES(
    'Computerization',10,'Stafford',4);i create package and two trigger like following in order to avoid mutating table.
    PACKAGE                     "HW4AIDB" AS
    TYPE EmploadY IS RECORD(
         Empessn varchar2(9),
         Empprojectcount number,
         Empdepartcount number
    TYPE EmploadarrayY is table of EmploadY
                          index by BINARY_INTEGER;
    Empload EmploadarrayY;
    Emploadsize number;
    END;
    create or replace
    TRIGGER TPROJECTA AFTER INSERT OR UPDATE OR DELETE ON WORKS_ON
    DECLARE
    i number:=0;
    BEGIN
      HW4AIDB.Emploadsize :=0;
      for m in (select w.essn empessn,
      count(w.pno) empprojectcount, count(distinct p.dnum) empdepartcount
      from works_on w, project p
      where w.pno=p.pnumber
      group by w.essn)loop
      i :=i+1;
      HW4AIDB.Empload(i).Empessn := m.empessn;
      HW4AIDB.Empload(i).Empprojectcount := m.empprojectcount;
      HW4AIDB.Empload(i).Empdepartcount := m.empdepartcount;
      dbms_output.PUT_LINE('TPROJECTA '||' '||m.empessn||' '||m.empprojectcount||
                           ' '||m.empdepartcount);
      end loop;
      HW4AIDB.Emploadsize :=i;
      dbms_output.PUT_LINE('==================================');
    END;TRIGGER TSALARYB BEFORE INSERT OR UPDATE OR DELETE ON EMPLOYEE
    FOR EACH ROW
    DECLARE
    w HW4AID.EmploadX;
    i number;
    mypos number;
    BEGIN
    mypos :=-1;
    for i in 1..HW4AID.Emploadsize loop
    if(:new.ssn = HW4AID.Empload(i).Empssn) then
    w.Empmgrsalary := HW4AID.Empload(i).Empmgrsalary;
    w.Empsalary := HW4AID.Empload(i).Empsalary;
    mypos :=i;
    exit;
    end if;
    end loop;
    i :=mypos;
    dbms_output.put_line('NEW '||:new.ssn||'-'||:new.salary);
    if updating then
    dbms_output.put_line('updating......');
    if(:new.salary > w.Empmgrsalary) then
    raise_application_error(-20005,'the salary is higher than that of department manager');
    end if;
    dbms_output.PUT_LINE('update done');
    end if;
    END;
    i defined two trigger for AFTER, trigger run orders are acorrding to. before statement level, before row-level, after row level and after statement level.
    so my trigger actually can not implement requirement. how to handle it. now i try to use this rule: select w.essn, w.pno,p.pnumber, p.dnum from works_on w, project p where w.pno=p.pnumber; in statement level trigger. howerver in row-level trigger i can not get value i need(p.dnum i can not get its count). if you guy have any other ideas, pls give me some advise. my brain is really run out of.
    Thanks for your help!!!

    I would recommend creating a package/procedure that is the only way to insert a user into the works_on table. Then inside this procedure you need to serialize access to the works_on table by using a select for update. Then you can count the number of projects and ensure that the new works on is valid.
    If you try to use triggers then due to Oracle's mutli-versioning, if two users insert the same data at the same time, the data integrity will be violated.
    You will obviously have an employee table. I have created one here as follows:
    create table employee (essn varchar2(9) primary key);
    insert into employee values ('999999999');
    Then you can use this table to serialize access to the works_on table by issuing a select for update against it. If you don't do this then two users executing the procedure at the same time will violate the constraint. It is important that you understand this and try it out with multiple sessions so that you understand it.
    create or replace procedure insert_works_on
    (p_essn varchar2, p_pno number, p_hours number)
    as
    l_essn varchar2(9);
    l_count number;
    begin
    select essn
    into l_essn
    from employee
    where essn = p_essn
    for update;
    select count(*)
    into l_count
    from works_on w
    join project p on p.pnumber = w.pno
    where w.essn = p_essn
    and p.dnum = (select dnum
    from project
    where pnumber = p_pno);
    if l_count < 2
    then
    insert into works_on values (p_essn, p_pno, p_hours);
    else
    dbms_output.put_line('Employee works on more than 1 project for dept');
    end if;
    end;
    Then you can try it out:
    begin
    insert_works_on('999999999',1, 10);
    end;
    commit;
    begin
    insert_works_on('999999999',2, 20);
    end;
    commit;
    begin
    insert_works_on('999999999',3, 30);
    end;
    commit;
    The first two will succeed and the last will fail. Try it out in multiple session as well to ensure it works for a multi-user scenario.

  • How to Handle Leave Encashment in Oracle Payroll

    Dear Friends,
    Can any one pls let me Know,How to Handle Leave Encashment in Oracle Payroll.. Pls help me on this..
    with regards
    Veeru

    Hi Vinayaka Prabhu,
    Thank you for the information .. Here is the Scenario.. we are implementing HRMS Version12i to an real Estate Company in an Middle east.. Client Requirement is Suppose Annual Leave Entitlement for an employee is 14 days at the end of the year,employee can encash the leave other wise he can carry forward to the next year .. Can you pls help me out on this ..
    Note: If you have any setup document can you pls share it with me ([email protected])..
    with regards
    veeru

  • How to handle the bad record while using bulk collect with limit.

    Hi
    How to handle the Bad record as part of the insertion/updation to avoid the transaction.
    Example:
    I am inserting into table with LIMIT of 1000 records and i've got error at 588th record.
    i want to commit the transaction with 588 inserted record in table and log the error into
    error logging table then i've to continue with transaction with 560th record.
    Can anyone suggest me in this case.
    Regards,
    yuva

    >
    How to handle the Bad record as part of the insertion/updation to avoid the transaction.
    >
    Use the SAVE EXCEPTIONS clause of the FORALL if you are doing bulk inserts.
    See SAVE EXCEPTIONS in the PL/SQL Language doc
    http://docs.oracle.com/cd/B28359_01/appdev.111/b28370/tuning.htm
    And then see Example 12-9 Bulk Operation that continues despite exceptions
    >
    Example 12-9 Bulk Operation that Continues Despite Exceptions
    -- Temporary table for this example:
    CREATE TABLE emp_temp AS SELECT * FROM employees;
    DECLARE
    TYPE empid_tab IS TABLE OF employees.employee_id%TYPE;
    emp_sr empid_tab;
    -- Exception handler for ORA-24381:
    errors NUMBER;
    dml_errors EXCEPTION;
    PRAGMA EXCEPTION_INIT(dml_errors, -24381);
    BEGIN
    SELECT employee_id
    BULK COLLECT INTO emp_sr FROM emp_temp
    WHERE hire_date < '30-DEC-94';
    -- Add '_SR' to job_id of most senior employees:
    FORALL i IN emp_sr.FIRST..emp_sr.LAST SAVE EXCEPTIONS
    UPDATE emp_temp SET job_id = job_id || '_SR'
    WHERE emp_sr(i) = emp_temp.employee_id;
    -- If errors occurred during FORALL SAVE EXCEPTIONS,
    -- a single exception is raised when the statement completes.
    EXCEPTION
    -- Figure out what failed and why
    WHEN dml_errors THEN
    errors := SQL%BULK_EXCEPTIONS.COUNT;
    DBMS_OUTPUT.PUT_LINE
    ('Number of statements that failed: ' || errors);
    FOR i IN 1..errors LOOP
    DBMS_OUTPUT.PUT_LINE('Error #' || i || ' occurred during '||
    'iteration #' || SQL%BULK_EXCEPTIONS(i).ERROR_INDEX);
    DBMS_OUTPUT.PUT_LINE('Error message is ' ||
    SQLERRM(-SQL%BULK_EXCEPTIONS(i).ERROR_CODE));
    END LOOP;
    END;
    DROP TABLE emp_temp;

  • How to handle Supplementary Bills

    Hi all,
    Can any one suggest me how to handle the supplementary bills in indian localization?
    The concept is encountered in cases when companies follow contract agreements in sales and purchase. To provide a breif description of the scenario: A contract prevails with a vendor from a period of 1st april to 30th June for an item A @ Rs. 30. Now all the bills generated within this period is raised at the said rate along with taxations. The contract is liable for renewal from 1st July but the process take time and the new rates are available on 25th July but effective from 1st July @ Rs. 40. Now the bills generated from the period of 1st July to 24th July has been raised at the old rate as new rates were not available. On 25th July, the company raises a supplementary bill for the difference amount i.e. Rs 10 x Qty billed from 1st july to 25th july. Now this will efect the taxation also. In case of a cost raise the tax accounts shall be debited and the stock accounts shall have to be revaluated for the item. In case of a reduction the tax accounts have to be credited and the stock account has to be revaluated for those items. However, though this has an effect on the stock value it does not have any effect in the stock quantity.
    How to map this in SAP Business One? This has been a standard practice in any manufacturing industry now a days and I am seeking for any one who has done it. Please share a solution.
    Regards,
    Raj

    Hello,
    still not get proper answer for this prob.
    It is very complax issue for handing in SAP .
    i think it can handle making nos of AccountAmount reconcialation , inventory tracking(phsical stock tracking) and service invoice .
    and result based on your client Accountant and your clear explaination. 
    You have only one opion make credit note make with respective excise docuemnt  .but whenever you receive bill you have issued qouantiy in production floor.otherwise make all document again..
    Thanks
    Manvendra Singh Niranjan

  • How to handle the master data when we are loading the from multiple clients

    Hi,
    We are loading HR data from two different clients 101 and 102 of same source system.
    Here we are facing the problem with msater data maintenance for employee in BW, whose employee numbers are same.
    For example client 101 employee range is 10001 to 10100.
                      In client 102 also same employee range.Then how to handle the above scenario
    Is there any solutions apart from compounding of infoobjets with logical system.
    Thanks in advance for your sugessions.
    Thanks.
    Maria.

    Hi ,
    you  can create copy of 0EMPLOYEE Object.
    Load one client master data to the copied object.
    Example:
    1. Create ZEMPLOYEE copy of 0EMPLOYEE.
    2. create the transformation or rules
    3.  You have to follow same for remaining objects
    regards,
    HREDDY

Maybe you are looking for