Skip to Content
avatar image
Former Member

Fetch HR infotype tables in BI Extractor

Hi,

I have a requirement to select huge amount of employee data from HR master data infotype tables. The HR master data is stored multiple tables which is more than 10. I have written the logic for selecting the data in the extractor custom function module. The selection screen has only personnel number, employement status and date range to select the data. The employee data has to be selected with in the date range. The employement status which is a selection parameter on the screen is maintained in a infotype table PA0000 for each employee. For the employee numbers selected from infotype PA0000 by passing employement status and date range as key other infotype tables(PA0001, PA0007,PA0008,PA2001,PA20002,PA2003 etc) has to be read. The extractor select the employees based on the packet size set on the input screen. For example in each set 1000 employee records are selected from the infotype pa0000. then for the employee numbers in this 1000 records other tables are read. Which is causing performance problem. How to fetch the HR data from infotype table in Extractor. In some cases the emloyee may have multiple employee assignment(concurrent assignment) those assignment information also has to be populated for each employee data output. The time infotypes has huge number data. So there is constraint to fetch all the entries from the table with out passing any dates.

Regards

Jayan

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

4 Answers

  • avatar image
    Former Member
    Oct 28, 2013 at 08:00 AM

    Hi Jayan,

    I hope you have checked the standard business content that is available for HR.😉

    If you still find the need to create a generic datasource then here are some pointers based on ur problem:

    1. Whne you do the 1st select (which is the base for your cursor), restrict the size using the package size and ensure that you are using the all possible filters. Also ensuring that primary key/secondary key on the table can be utilized.

    2. in case of multiple employee assignment, you are join the data in a way that you create 2 records for the employee. If the package size is 1000, then it does not mean that you can only send 1000 records only. In fact you can send more than 1000 as well. It means that it is possible to create more records and add them to e_t_data in case of multiple employee assignment.

    3. regarding point on time infotypes : I understand that the employee data has to be selected with a date range. and you can use this range to restrict the select on those tables , hence avoiding the performance issue

    4. Check the possible of have a select statement which joins data from some/all the tables in one go. This may improve the performance.

    Hope it helps!

    -Swati

    Add comment
    10|10000 characters needed characters exceeded

    • Former Member

      IMHO you'd better start from standard datasource 0EMPLOYEE_ATTR (and 0EMPLOYEE_2_ATTR if possible) also check notes  1063469 and  1808235 for performance of the first datasource.

      Then extend it to add the other fields.

      Another way could be to extract the other data from separate flows and let bw do the work for you, see http://pabloj.blogspot.it/2012/07/bw-dataflow-examples-for-hr-masterdata.html as an example, the time dependent masterdata management of BW will build the row valid from and to for you (now you're building it with lots of select or joins in your abap code).

  • avatar image
    Former Member
    Oct 28, 2013 at 06:51 AM

    Hi Jayan,

    Most of the problem lies at ABAP code. so please take abap expert and do the fine tune of your code. Try to check your  code thru Tx ST05 and SE30.

    Thanks

    Add comment
    10|10000 characters needed characters exceeded

  • avatar image
    Former Member
    Oct 30, 2013 at 01:02 PM

    Hi Jayan,

    I think you should better go with the business content. You may check the datasource 0HR_PT_2. It will meet your requirement to some extend. For other parts you may enhance this datasource (As far as I know, it uses data from PA2001, PA2007, PA2001, PA2002, PA2003 and some other infotypes.

    Hope it gives an idea.

    Yasemin...

    Add comment
    10|10000 characters needed characters exceeded

  • Oct 30, 2013 at 02:19 PM

    Hi jayan,

    have you checked the standard 0EMPLOYEE_ATTR data source this extractor extracts data from the PA tables.

    Explore this DS and see...

    http://help.sap.com/saphelp_bw33/helpdata/en/51/5aae399c1a6651e10000000a114084/content.htm

    Regards

    KP

    Add comment
    10|10000 characters needed characters exceeded