Skip to Content
author's profile photo Former Member
Former Member

Message type HRMD_A

Hi,

I am trying to send employee data from one SAP system to another SAP by using message type HRMD_A. But I need to select specific employee who are in

some of Personal area & Personal Sub Area. But in transaction BD64 I can't see any way to set the filter on Personal area & Personal Sub Area. Is any one have experience on this?

Best regards,

Anpan

Add a comment
10|10000 characters needed characters exceeded

Related questions

3 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Mar 05, 2007 at 03:21 PM

    Hi,

    Usually to create your own filters, you have to go to BD95 and then assign these filters to IDoc fields of the relevant message types. I havent used this approach so far.

    The other approach is to create your own driver program that collects relevant data and passes that on to ALE layer.

    Regards

    Message was edited by:

    Shehryar Khan

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Mar 05, 2007 at 03:20 PM

    I don't think you can add a filter directly in the distribution model. If you are using change pointers and want to do it programatically, you could try using BADI BDCP_BEFORE_WRITE. This gets called before the change pointers are generated.

    If you go into SALE, Go to the following path:

    Modelling and Implementing Business Processes->Master Data Distribution->Replication of Modified Data->Reduce Change Pointers for Message Type.

    Hope this helps.

    Chris H.

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      OK. One more piece of information. I did some more investigation into our HR system. It looks like all change pointers (table bdcp) are written with TABNAME = "HROBJINFTY" and an OM Key. So for an employee Record you will see something like this in the field TABKEY:

      01P 100200270001 2006110199991231000000

      So parsing this out:

      01 is the PLVAR

      P is the object type

      and then the next set of numbers 10020027 is the pernr.

      You should be able to take this number agains infotype one. Here is some sample code. I didn't include everything but hopefully you get the idea.

      data: hrikey type hrikey.
      loop at change_pointers.
      
        move: change_pointers-tabkey to hrikey.
        if hrikey-otype = 'P'
          select * from PA0001 where pernr = hrikey-objid.
        endif.
      
      endloop.

      Sorry for the multiple messages.

      Chris

  • author's profile photo Former Member
    Former Member
    Posted on Mar 05, 2007 at 05:04 PM

    Hi,

    one possible solution is to select your person with your own report with PNP selection.After you have your list of persons selection you could call RHALEINI with submit or call function module RSM_DOWNLOAD_MASTERDATA (this call also RHALEINI) with your list of persons.

    Hope this helps.

    Regards

    Bernd

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.