Infotype 0105

Hello,
What is the differenece between subtype 0010 and MAIL of infotype 0105? The text for both the subtypes is "E-mail".
Thanks, Anupam

Hi Mohan,
Thanks for the quick reply.. I could see another subtype 0030 for Private E-mail address!
Thanks, Anupam

Similar Messages

  • How to define default subtypes for Infotype 0105 on entry

    Hello;
      I have spend an entire day trying to look into PA configuration to determin how to make specific Subtype of the 0105 Communication Infotype automatically appear when an HR person is entering in a new employee.
    Currently we have the 0001, 0010, and ADP subtypes automatically appear in the Communication Infotype screen when the person is entering in a new employee.  I was asked to create three new Subtypes for Infortype 0105 and have these new subtypes automatically appear on the data entry screen for Infotype 0105.
    I can not find anywhere in configuration how to do this.  I ahve burnt an entire day searching configuration and have about had it with this garbage.
    Can someone please point me to specific spot in configuration where these subtypes of and Infotype can be identified as default data entry screens.
    I would greatly appreciate any help ... since I am not a HR Configurator ... just a plain old ABAP'er who has lost our configurators.
    Scott.

    Hi Scott,
    To create subtypes follow:
    Tcode: SPRO
    Path: Personnel Management>Personnel Administration>Communication>Create Communication Types
    Half the job is done. Then include those subtypes in your hiring action. To do so:
    Tcode: SPRO
    Path: Personnel Management>Personnel Administration>Customizing Procedures>Actions>Define infogroups>Info group
    Select your hiring infogroup and create new entries with operation INS for 105 and the three subtypes.
    You are all set!
    Cheers,
    Donnie

  • Warning on Infotype 0105

    Hi
    I am trying to switch the warning off that appears on Infotype 0105. The warning comes up if you put the same phone number for two employees. I did change the time constraint to "3" but this does not switch the warning off. What else can i do to switch this warning off?
    Thank you in advance.

    Hi
    This is SAP standard setting. Like if you want to enter the same USER ID in the subtype 0001 then system will show the error message, like wise in e-mail or telephone or in other subtypes of IT0105 system will show the information message i.e message no.: Message no. RP900
    If you want to modify this then you need the ACCESS KEY for this infotype to modify the standard codes.
    Thanks
    Sheetal Gupta

  • Infotype 0105 not updated via HRUSER

    Hi there
    I'm currently implementing ESS for SAP R/3 4.7 and running into issues running the HRUSER transaction. I can see a specific employee who has no user account setup but a personnel record in the system. When I select to setup the User ID the program successfully runs in the background but the User ID isn't created and the Personnel Record isn't updated with the Infotype 0105 record. I've ran an authority check and there aren't any failure messages so I'm struggling to see why the Infotype isn't being updated. If anyone could point me in the right direction it would be very much appreciated.
    Regards
    Nathan

    Check for the hiring dates of the personnel record. i.e. The employee record is valid on the ID creation date.

  • Infotype 0105 creates usr01 when running HRALXSYNC

    After Hiring new employee (pa48) and creating infotype 0105 the system creates user for the employee of type 'C' (communication date).
    We do not want every employee to has user in the system.
    therefor we want to prevent the automatic creating of user.
    Is there any way to prevent that process?
    best regards.
    Yotam.

    Hi Yotam,
    No, a user is needed in E-Recruiting. That's the reason why we create a random user if you don't have IT0105 filled.
    Regards,
    Nicole

  • INFOTYPE 0105 Aand how to access its SUBTYPES?

    Hello,
    I see that infotype 0105 has subtypes 0010, 0050, CELL, etc how do I access do I access them?
    Lets say as an example i want to get the email address out of 0105-0010?

    HI,
    Check this code..
    call function 'HR_READ_INFOTYPE'
        exporting
          pernr           = i_pernr
          infty           =  '0105'
          begda           = sy-datum
          endda           = sy-datum
        importing
          subrc           = l_subrc
        tables
          infty_tab       = lt_p0105
        exceptions
          infty_not_found = 0
          others          = 0.
      if l_subrc eq 0.
          loop at lt_p0105 into ls_p0105
                   where subty = '0010'.             ---> Email Subty
        endloop.
        IF sy-subrc eq 0.
        p_email = ls_p0105-usrid_long.                  ---> gives the latest email of the pernr
        ENDIF.
    ENDIF..

  • How to Deactivate Subtypes for INFOTYPE 0105.0021

    Hi Seniors,
    Can anybody tell me how to deactivate the assignment of subtypes assigned to infotypes.
    I have 7 subtypes of Infotype 0105 and 5 for 0021 out of which 3 are not required by clients both in 0105 & 0021,now i have to remove the assignment made to the Infotypes but i am wondering about the customiizing steps and Tables to be maintained please help.
    Waiting for some valuable responce.

    Hi Woody,
    Thank you very much for the update,it really worked but would like to ask you 1 more guideline to delaet the subtypes of 0041-date specifications.
    There are certain specifications which are not available in 0041 but still poping up automatically ,
    i have checked the settings in T548Y but no help it doesnt have the options but in maintaing 0041 the options coming up .
    Can you guide me on this.
    Thanks in advance.

  • Sap Username Infotype 0105

    Hello,
    i wrote a report to extract HR Data. I#m looking for a way to extract the information about the corrsponding SAP user which is configured in infotype 0105 (sy-name). I defined the following passage in my coding, but that's the way to extract the last user who did changes in that infotype:
    *sapUsername
    attributes_wa-attr_tab = 'EMPLOYEE'.
    attributes_wa-attr_field = 'SAPUSERNAME'.
    if p0105-uname NE ' '.
      attributes_wa-value = p0105-uname.
      append attributes_wa to attributes.
    else.
      attributes_wa-value = ' '.
      append attributes_wa to attributes.
    endif.
    What field i have to youse to extract the information about the corresponding user in infotype 0105?
    Please help!

    Hi,
    The SAP User id of the Employee is maintained in the USRID field of Infotype 0105 subty 0001.
    If you are looking for the user who changed the record, the field is UNAME.
    Regards,
    Suresh Datti

  • Integration regarding cost center between OM, Infotype 0105 and the user

    Hello,
    we are just implementing OM, where the cost center for an organizational unit is maintained. Within a OU
    exist positions to which persons are assigned.
    In the HR Master data Infotype 0105 "Communication" the system user name for this person is maintained.
    My request:
    In SU01 on "Logon data" tab is a field "Cost center". What do I need to fill it with the value from the assigned position in OM?
    Thanks in advance,
    Thomas

    The connection from user-id via IT 105 to pers nr and from there to OU and cost centre is clear.
    What I want to know is wether the field cost center in TA SU01 can be automatically populated with the corresponding value from the OU for this user. I don't want to change the value via SU01 so it is sufficient when the field in SU01 is in status ReadOnly. But as the information is in the system I want it to be automatically displayed in the User-id-context.
    Regards,
    Thomas

  • Updating Infotype 0105 "Communication" with SAPNWRFC and PERL (long !!)

    When I read the SAP-Press Book "mySAP HR: Technical Principles and Programming"
    (actually it was the german edition "Technische Grundlagen und Programmierung")
    I came across Chapter 9.1.3 "Using BAPIs", in which some sample code is provided
    for updating the email-adress in infotype 0105 "communication".
    I just thought: "OK, that could be easily (and better !) done with PERL and SAPNWRFC".
    My PERL-script should do the following:
    1) Read subtypes 0001 and 0010 from IT 0105 via RFC
    2) Compare that data against our LDAP-Server
    3) call the approbiate BAPIs for updating IT 0105 via RFC
    OK, here's the ABAP-code which accomplishes task #1: 
    [code]
    Z_EMAIL_TAB is a customer-defined structure with 3 components:
    component      component-type
    MY_PERNR       PERNR_D
    MY_NICKN       SYSID
    MY_EMAIL       COMM_ID_LONG
    FUNCTION z_read_email.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(MY_DATE) TYPE  ENDDA OPTIONAL
    *"  TABLES
    *"      Z_EMAIL STRUCTURE  Z_EMAIL_TAB
      DATA: sql_date  TYPE begda,
            sql_mandt type mandt.
      DATA: BEGIN OF wa_ldap_out,
                     pernr TYPE pernr_d,
                     nickn TYPE sysid,
                     email TYPE comm_id_long,
            END OF wa_ldap_out.
      DATA: exc_ref    TYPE REF TO cx_sy_native_sql_error,
            error_text TYPE string.
      IF my_date IS INITIAL.
        MOVE sy-datum TO sql_date.
      ELSE.
        MOVE date TO sql_date.
      ENDIF.
    we use native SQL (Oracle), so we have to specify the mandant
    exclude-values for PERSK refer to pensionists etc
    move sy-mandt to sql_mandt.
    EXEC SQL.
      open dbcur for
          SELECT DISTINCT
                pa0001.pernr,
                pa0105_0001.usrid,
                pa0105_0010.USRID_LONG
           FROM pa0000 pa0000,
                pa0001 pa0001,
                pa0105 pa0105_0001,
                pa0105 pa0105_0010
            WHERE
                 pa0000.pernr =  pa0001.pernr and
                 pa0000.begda <= :sql_date AND
                 pa0000.endda >= :sql_date AND
                 pa0001.begda <= :sql_date AND
                 pa0001.endda >= :sql_date AND
                 pa0001.persk NOT IN ('12' ,'13' ,'17' ,'18') AND
                 pa0000.stat2 = '3' and
                 (pa0001.mandt = pa0105_0001.mandt() and pa0001.pernr = pa0105_0001.pernr() and pa0105_0001.usrty() = '0001' and pa0105_0001.begda() <= :sql_date and pa0105_0001.endda(+) >= :sql_date) and
                 (pa0001.mandt = pa0105_0010.mandt() and pa0001.pernr = pa0105_0010.pernr() and pa0105_0010.usrty() = '0010' and pa0105_0010.begda() <= :sql_date and pa0105_0010.endda(+) >= :sql_date) and
                 pa0000.mandt =  pa0001.mandt and
                 pa0000.mandt = :sql_mandt
    ENDEXEC.
    DO.
        EXEC SQL.
            FETCH NEXT dbcur into :wa_ldap_out
        ENDEXEC.
        IF sy-subrc <> 0.
            EXIT.
        ELSE.
            APPEND wa_ldap_out to z_email.
        ENDIF.
    ENDDO.
    EXEC SQL.
      close dbcur
    ENDEXEC.
    ENDFUNCTION.
    [/code]
    Using Native-SQL (we have an Oracle-Backend) saves us from looping through IT0105 twice.
    (I don't like ABAP's Open-SQL, it's too limited)
    Now we have a nice little table with all our employees pernr, userid and email-adress.
    Let's stay on the ABAP-side and have a look at the update-function (task #3):  
    [code]
    FUNCTION z_upd_smtp .
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(MY_PERNR) TYPE  PERNR_D
    *"     VALUE(MY_EMAIL) TYPE  AD_SMTPADR
    *"     VALUE(MY_DATE) TYPE  BEGDA OPTIONAL
    *"  TABLES
    *"      BAPIRETURN STRUCTURE  BAPIRETURN1
      DATA: wa_bapireturn TYPE bapireturn1.
      IF my_date IS INITIAL.
        MOVE sy-datum TO my_date.
      ENDIF.
      CALL FUNCTION 'BAPI_EMPLOYEET_ENQUEUE'
        EXPORTING
          number        = my_pernr
          validitybegin = my_date
        IMPORTING
          return        = wa_bapireturn.
      IF wa_bapireturn-type NE 'E'.
        CLEAR wa_bapireturn.
        CALL FUNCTION 'BAPI_EMPLCOMM_CREATE'
          EXPORTING
           employeenumber        = my_pernr
           subtype               = '0010'
           validitybegin         = my_date
           validityend           = '99991231'
           communicationid       = my_email
         NOCOMMIT              =
         IMPORTING
            return                = wa_bapireturn
         EMPLOYEENUMBER        =
         SUBTYPE               =
         OBJECTID              =
         LOCKINDICATOR         =
         VALIDITYBEGIN         =
         VALIDITYEND           =
         RECORDNUMBER          =
        APPEND wa_bapireturn TO bapireturn.
        CALL FUNCTION 'BAPI_EMPLOYEET_DEQUEUE'
          EXPORTING
            number        = my_persnr
            validitybegin = my_datum
          IMPORTING
            return        = wa_bapireturn.
        APPEND wa_bapireturn TO bapireturn.
      ELSE.
        APPEND wa_bapireturn TO bapireturn.
      ENDIF.
    ENDFUNCTION.
    [/code]
    And finally the PERL-Script (task #2):
    [code]
    ##### Connect to LDAP-server #################################################
    use Net::LDAP;
    use Net::LDAP::Control;
    use Net::LDAP::Constant qw(LDAP_CONTROL_PAGED);
    $pagec = Net::LDAP::Control->new( LDAP_CONTROL_PAGED,
                                      size => 1000);
    --- replace with your company-specific values ------------------------------ #
    $ldap = Net::LDAP->new( 'your-ldap-server' ) or die "$@";
    $mesg = $ldap->bind( 'CN=your-ldap-user,CN=aaaa,DC=bbbb,DC=dd,DC=eeeeeee,DC=fff',
                          password => 'your-password'
    use SAPNWRFC;
    --- Connection to SAP  ----------------------------------------------------- #
    SAPNW::Rfc->load_config("your-config-file");
    $sap_conn = SAPNW::Rfc->rfc_connect;
    --- SAP RFCs --------------------------------------------------------------- #
    SAP_RFCs();
    --- read all Email-adresses from IT0105 ------------------------------------ #
    $rd_handle_eml = $rd_eml->create_function_call;
    $rd_handle_eml->invoke();
    foreach $row_hashref_eml (@{$rd_handle_eml->Z_EMAIL}) {
         $MY_PERNR = $row_hashref_eml->{MY_PERNR};
         $MY_NICKN = $row_hashref_eml->;
         $MY_EMAIL = $row_hashref_eml->;
         $MY_NICKN =~ s/ //g;
         $MY_EMAIL =~ s/ //g;
         if ($MY_NICKN ne '') {
             $strMail_LDAP = nick2email(lc($MY_NICKN));
             if (lc($MY_EMAIL) ne lc($strMail_LDAP) && $strMail_LDAP ne '') {
                 updIT0105("$MY_PERNR","$strMail_LDAP");
                 print "SUCCESS = $i_uit_success, $MY_PERNR $strMail_LDAP\n";
         else {
    do some error-processing here
    $sap_conn->disconnect();
    exit;
    sub SAP_RFCs {
    --- Read E-Mail-Adress from IT0105 ----------------------------------------- #
    $rd_eml = $sap_conn->function_lookup("Z_READ_EMAIL");
    --- Update E-Mail-Adress in IT0105 ----------------------------------------- #
    $rd_uit = $sap_conn->function_lookup("Z_UPD_SMTP");
    sub nick2email {
        $strNickn = $_[0];
        $strEMail = '';
    --- our userid is stored in LDAP-item "mailnickname", just change filter to your needs #
        $filter = qq {
                      (& (mailnickname=$strNickn)
                         (givenName=*)
                         (| (objectCategory=person)
                            (objectClass=person)
        while (defined ($search = $ldap->search(
                                base   => "OU=your-base-OU,DC=bbbb,DC=dd,DC=eeeeeee,DC=fff",
                                filter => $filter,
                                attrs => ['mailNickname','mail','whenChanged'],
                                control => [ $pagec ]
            foreach $entry ($search->entries) {
                $strEMail = $entry->get_value('mail') ;
            ($resp) = $search->control( LDAP_CONTROL_PAGED );
            last unless ref $resp && $pagec->cookie($resp->cookie);
        return $strEMail;
    sub updIT0105 {
        $rd_handle_uit = $rd_uit->create_function_call;
        $rd_handle_uit->MY_PERNR($_[0]);
        $rd_handle_uit->MY_EMAIL($_[1]);
        $rd_handle_uit->invoke();
        $i_uit_success = 1;
        foreach $row_hashref_uit (@{$rd_handle_uit->BAPIRETURN}) {
            if ($row_hashref_uit->{TYPE} ne 'S' && $row_hashref_uit-> ne ' ') {
                $i_uit_success = 0;
    [/code]
    I run this script every Friday on a virtual Windows XP machine (VMWare) scheduled with the AT-Command
    and it works really fine, enjoy !!!
    P.S.: I hope there aren't any typos in the code, but please check
    P.P.S: Thanks again to Piers for SAPNWRC, fantastic.

    Hi,
    I am very interested in your solution. Can you send me the scripts?
    Greeting Jan

  • Delimit Infotype 0105 Subtype 0001

    Hi All
    I am new to ABAP so need help.
    We need to delimit Infotype 0105 subtype 0001 records.
    I tried vai a number of ways but facing issues in someway or the other.
    When I try to do the same via FM: BAPI_HRMASTER_SAVE_REPL_MULT, it creates a new entry for the same record with end validity day as system date (the old record which has end validity date as 31.12.9999 remains).
    When i try to do the same via FM: BAPI_EMPLCOMM_DELIMIT, it throws an error 'EPG                  009No data stored for 0105 in the selected period' even though the record exists.
    CALL FUNCTION 'BAPI_EMPLCOMM_DELIMIT'
      EXPORTING
        employeenumber       = '00000049'
        subtype              = '0001'
        objectid             = 'P'
        lockindicator        = ''
        validitybegin        = '20100701'
        validityend          = '99991231'
        recordnumber         = '000'
        delimit_date         = '20120219'
    *   NOCOMMIT             =
    IMPORTING
       RETURN               = return.
    *   EMPLCOMMKEY          =
    Not sure how to go about it. I searched the forum which suggested to use Function Modules, but even then the issue isn't getting resolved.
    Please help.
    Martin

    Hi
    Your problem is the parameter OBJECTID It doesn't make sense to pass a 'P'.
    Other than that, you just have to lock and unlock the Personnel Number accordingly.
    Regards
    data: return type BAPIRETURN1.
    CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
      EXPORTING
        number        = '00000224'
    * IMPORTING
    *   RETURN        =
    CALL FUNCTION 'BAPI_EMPLCOMM_DELIMIT'
      EXPORTING
        employeenumber       = '00000224'
        subtype              = '0001'
        objectid             = ''
        lockindicator        = ''
        validitybegin        = '20070101'
        validityend          = '99991231'
        recordnumber         = '000'
        delimit_date         = '20120219'
    *   NOCOMMIT             =
    IMPORTING
       RETURN               = return.
    *   EMPLCOMMKEY          =
    BREAK-POINT.
    CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
      EXPORTING
        number        = '00000224'
    * IMPORTING
    *   RETURN        =

  • LSMW using IDOC - Loading Communication infotype 0105(HR Master)

    Hi,
    Loading IT0105(email data) using LSMW IDOC.
    Input File:
    YPERNR,YCHOIC,YSUBTY,YBEGDA,YENDDA,ID_NUMBER
    08999989,0105,0010,20040101,99991231,TEST@YAHOOO
    Message Type - HRMASTER02
    Basic Type - HRMASTER02
    Mapped Structure - E1BPHR0105
    I am getting an error in IDOC Processing Step : No entry in HR_INFOTYPE_HEADER for infotype 0105 for object ,P ,08999989
    Status - 51

    Also I tried Mapping to Source Structure - E1BPHROBJ;
    and
    In Field mapping Section
    Added Constants for
    PLAN_VER -01
    OBJ_TYPE - P
    PROOF - X
    OPERATOR - I
    Mapped OBJ_ID to source Field YPERNR.
    While executing the Idoc Proecessing, its throwing a runtime error
    Error Message :
    An exception occurred that is explained in detail below.
    The exception, which is assigned to class 'CX_SY_DYNAMIC_OSQL_SEMANTICS', was
    not caught in
    procedure "DELETE_PA_PB_OBJECT_INFTY" "(FORM)", nor was it propagated by a
    RAISING clause.
    Since the caller of the procedure could not have anticipated that the
    exception would occur, the current program is terminated.
    The reason for the exception is:
    An invalid table name "PA9000" was specified in an Open SQL command:
    Due to one of the following reasons, the error occurs only at runtime:
    - the table name was specified dynamically, or
    - the SELECT clause, WHERE clause, GROUP-BY clause, HAVING clause, or
      ORDER-BY clause was specified dynamically.
    Please give your Inputs

  • When i am running the RBDMDOC it will not genarated the idoc for the infotype 0105

                   Hi experts,
                            I am run a pa40 action and change the record of 0105 infotype, in bd64 as part of data filtering I am also mentioned 0105 . but when I am run the RBDMIDOC  the idoc is not generated of the infotype 0105 .
    Thanks in Advance .
    Venkateswara Rao.

    Hi Venkat Narayan,
       Thank for giving such a help,
    1.   I am created record for the infotypes  i.e :0,1,2,6,105.
    2    In bd64 I done a data filtering for above infotypes , its fine , but when I am running the bd21   Tcode the idoc is generated for    0,1, 2,6,. it is not generated for p0105.
         please find the following screen shorts.  
    Thanks.
    venkat

  • Communication infotype 0105.Email

    Dear Guru's,
    As per the client requirement i have creted a new email i.d subtype in infotype 0105.Here the issue is system is not allowing the more  than 30 characters.
    Regards
    jagan

    Hi,
    This can be resolved in the following way.
    Go to V_T591C
    Against your email subtype tick the long_ID column
    Cheers
    Ramesh

  • What is infotype 0105 and subtype 9050 updation?

    I got a spec, need to notify supervisor thru mail, whether pernr attached to a position, with failure or success message.
    But I need to update Infotype 0105 and subtype 9050.
    Where can I see whether these 2 updated or not.
    Thanks

    Hi,
    Go to table PA0105.
    All the infotypes table start with PA<infotype number>
    Regards,
    Atish

Maybe you are looking for