Authorization failuar at GET Pernr in LDB

Hi,
How to check exactly where there is no authorization for pernr in GET pernr event?
I searched it in forum but cud not get exact answer. I can see ORGIN ORGXX and PERNR for AUTSW set to 1.
Thanks in advance.

Hi,
   Please check in Tcode OOAC if authorization switch is set to 1 for PERNR.
   For more info please read the object documentation for AUTHORITY-CHECK OBJECT P_PERNR.
Regards,
Srini.

Similar Messages

  • GET PERNR EVENT

    Hi experts,
    please tell me about the get pernr event and from which all tables data is fetched during the event.
    thanks,
    ajay

    Hi,
    GET is the command used in Logical database concept for fetching the data
    GET PERNR will fetch all the Pernr's one by one in a Loop like thing
    and for each pernr the data records in other infotypes have been processed
    and it goes on till all the pernr's are completed.
    see the sample code
    start-of-selection.
    Get PERNR from LDB
    get pernr.
    Get data from Respective Infotypes
    rp_provide_from_last p0001 space pnpbegda pnpendda.
    if p0001-kostl in pnpkostl.
    rep_tab-kostl = p0001-kostl.
    rep_tab-pernr = p0001-pernr.
    rep_tab-ename = p0001-ename.
    Get the Position Text
    clear t528t-plstx.
    select single plstx into t528t-plstx from t528t
    where plans = p0001-plans and
    otype = c_type and
    sprsl = sy-langu.
    if sy-subrc = 0.
    rep_tab-ptext = t528t-plstx.
    endif.
    Get the Cost Center Text
    clear cskt-ltext.
    select single ltext into cskt-ltext from cskt
    where spras = sy-langu and
    kokrs = c_kokrs and
    kostl = p0001-kostl.
    if sy-subrc = 0.
    rep_tab-ctext = cskt-ltext.
    endif.
    append rep_tab.
    clear rep_tab.
    endif.
    Regards,
    Harish

  • Authorizations with PNP and Get Pernr.

    We have just noticed an issue with how our custom reports are working in regards to authorizations.  Our users have authorization to see Basic Pay infotype information up to the point where an associate becomes an executive.  When running our reports the latest salary shows up instead of the last one they are allowed to see or just leaving that field blank.  We are using the PNP logical database and Get Pernr.  Isn't that supposed to pick up whatever authorization is assigned to the person?
    Thanks,
    Mary

    I do not know how you come to this statement. Of course LDB checks ALL HR Authorization defined. This incoporates the personnel administration part as well as the combination to structural authorizations.
    However PNP will skip a PERNR if the user has only partial authorization by default. To get also only the restricted data what the user can see you must use the switch PNP_SW_SKIP_PERNR = 'N' at INITIALIZATION point.
    Please see the documentation available here:
      http://service.sap.com/erp-hcm
    On the left side follow the links:
      Services for mySAP ERP HCM
        Special Documentation
    Regards,
    Michael

  • Get pernr in screen 900 for ldb PNP

    hi All,
    I have created a program in HR-ABAP using ldb pnp and I have used the screen 900 [for get payroll]  Now for few employees when I use GET pernr, its nt giving ne results. as in the the program goes to end of selection. Now wen i change the screen to normal [ blank or 000], the get pernr for same employees gives me results. Can someone please explain the reason for above?
    thanks,
    RS

    Check whether the payroll run has taken place for the input employee numbers you are giving.
    You can check in the Tcode PC_PAYRESULT.

  • Get pernr in creen 900 for ldb PNP

    hi All,
    I have created a program in HR-ABAP using ldb pnp and I have used the screen 900 [for get payroll]  Now for few employees when I use GET pernr, its nt giving ne results. as in the the program goes to end of selection. Now wen i change the screen to normal [ blank or 000], the get pernr for same employees gives me results. Can someone please explain the reason for above?
    thanks,
    RS

    Hi Reena
    Check the status of employees for no result is displayed in 900 screen. Either they are active or payroll is run or not. That might be one of the reason. Another reason can be they are being open for the changes.
    Regards
    Waz

  • How to read personal no's on selection in LDB without using GET PERNR

    Hi to all
    I am using Logical data base PNP and selection screen 900.
    Now my requirement is to retrieve personal no's which are entered at selection seperately without using GET PERNR.
    Ineed all the pernrwhich are entered in selection.
    How to do that.
    Please guide.
    Regards
    Anubhav

    Hi,
    You can do as SUJIT said or use GET PERNR and assign PERN-PERNR to Workarea and then append that to internal table.
    DATA:
       ITAB_PERNR like standard table of PA0000-pernr,
       wa_pernr like line of ITAB_PERNR.
    GET PERNR.
    wa_pernr-pernr  = pernr-pernr.
    append wa_pernr to ITAB_PERNR
    Hope this would help you.
    Regards
    Narin Nandivada.

  • Error return immediately using GET pernr (PNP logical db)

    I have a requirement to use HR PNP logical database for a report. The report should display the values from employee's infotypes. Should the user does not have authorisation on one or more infotype, the column field for that infotype should be left blank.
    I tried using 'Get Pernr' but system will return error immediately that user does not have authorisation on any of the infotypes. Please advice how should I code my report in order to fit into my requirement.

    There is afunction module to disable the infotype authorization check ( do a wildcard search in se37 for 'HRINFAUTH* ).. call that before the Get Pernr event & implement explicit authzn checks in your program..
    ~Suresh

  • Strange Behavior of GET PERNR

    Hi All,
    I am facing a strange behavior with GET Event for PNP LDB.
    In my selection-screen, i have fields like Payroll Area, Current Period, Other Period, personnel number.
    Usually, i populate Payroll area, other period(say 06-2007) and input some personnel number.
    When i tried to debug for one personnel, its not at all going into GET PERNR event...it directly goes to END-OF-SELECTION event.
    Please help on this.
    Regards,
    Kiran Chennapai

    Hi Manoj,
    The below is some part for my coding:
    START-OF-SELECTION.
      IF pnptimr9 = 'X'.
        PERFORM f_get_next_period.    "Take next period when the selection
        " is current period
      ENDIF.
    Get deatils of actions and pay-scales
      PERFORM f_get_data.
      CLEAR: g_num_processed, g_num_skipped, g_num_success, g_num_error.
    GET pernr.
      rp_provide_from_last p0001 space pn-begda pn-endda.
      IF pnp-sw-found = 1.
    Verify whether the personnel is under the given Payroll area or not
        CHECK p0001-abkrs = pnpxabkr.
        IF p_eegrp IS NOT INITIAL.
    Verify personnel's employee group is under the given EEgroup
          CHECK p_eegrp = p0001-persg.
        ENDIF.
    start processing for the selected personnel
        PERFORM f_process_data.
      ENDIF.
    END-OF-SELECTION.
    Do increment process for all the selected personnel
      IF NOT git_process[] IS INITIAL.
        PERFORM f_increment_process.
      ENDIF.
    When i tried to put a break-point at the first statement in the GET event and executed, its not going into GET event at all.(personnel number is existing in the system)
    Regards,
    Kiran Chennapai

  • Problem with get pernr

    in my requirement i take the perner from one program  to ldb program and
    i want the ldb to run for my pernr value from other program...its working  in
    dubbing  mode .. now the prob is
    i m not able to come out of the loop between get pernr and end of selection its
    the excution is gng into ldb
    in SAPLHRAC
    IF HRAC_BADI IS INITIAL.
    EXIT.
    endif.
    not coming out...
    wen i run ldb(rptqta10) alone passing values directly its working fine..
    can any one help me
    points will be given....

    can any one give me solution

  • About GET PERNR

    Hi Gurus,
    I am new to HR Coding.
    I have a doubt regarding GET PERNR. I have used PNPCE as LDB in my program,i gave the input as Payroll Area IB.
    But in the output it is displaying Payroll Area I2 also.
    My doubt is how to validate the input data given by the user, wil it be automatically handled by the LDB? If yes how i am getting I2 Payroll Area also.
    For that particular Employee records are there for IB & I2 also.Like the employee is hired in IB PA & next changed to I2 PA.
    How to restrict to IB only?
    Regards,
    Phani

    Hi,
    This is happening because you are using PNPCE. PNPCE takes care of concurrent employment. If the employee which correspnds to the payroll area given on selection screen also belongs to any other payroll area, he will be shown with multiple records.
    Use PNP if you want the employee records only for those payroll areas which you enter in the selection screen.
    Also, HR LDBs take care of selection criteria, so you do not need to write any code for that.
    Regards,
    Jayesh

  • Restrict GET PERNR

    Hi,
    I have a situation/special case when GET PERNR runs for all pernr.s (No input on selection screen of PNP LDB) where it causes unnecessary performance issue.
    Is there any way to execute GET PERNR event conditionally or run it for specific pernrs that I want.

    Hi,
    Why don't you just restrict them in selection screen?
    Anyhow if you don't what to do this and you know which EEs excatly you want to ommit do following.
    RANGES: ra_pernr FOR pernr-pernr OCCURS 0.
    "here hardcode all your EEs which you don't want to process. You either provide a range or add a row for each EE
    ra_pernr-sign   = 'I'.
    ra_pernr-option = 'EQ'.
    ra_pernr-low    = "lowest EE number or exact EE number
    ra_pernr-high  = "highest EE number or empty (if only one EE)
    APPEND ra_pernr.
    GET PERNR.
    check pernr-pernr not in ra_pernr.   "if EE is within the range he/she will be processed, otherwise next pernr is taken
    Alternativetly to last statement you can use
    GET PERNR.
    if pernr-pernr not in ra_pernr.
      REJECT.
    endif.
    ...but it will have same result
    Regards
    Marcin

  • Surpress GET PERNR?

    How do I suppress the GET PERNR event? I have a report where I do a table dump of T710 or output PA0008 based upon TAB selection. However, I want to prevent performance problem when I just want to dump T710 table. The GET PERNR event seems to output regardless of what TAB is selected. Here is a sample code:
    START-OF-SELECTION.
      CASE P_TABSEL.
        WHEN 'T510'.
          P_IT08CHECK = ''.
          PERFORM 100.
        WHEN 'T710'.
          P_IT08CHECK = ''.
          PERFORM 110.
        WHEN 'IT08'.
          P_IT08CHECK = 'X'.
            GET PERNR.
        WHEN 'T510U'.
          P_IT08CHECK = ''.
          PERFORM 130.
      ENDCASE.
    This doesn't work because I can't encapsulate the "GET PERNR" in an IF statement of in the FORM statement. Any idea how to ONLY activate the GET PERNR event when I have a particular tab selected?

    Some clarification on the meaning of GET might help you out in the future.  It is a commonly misunderstood ABAP statement.  GET looks like a verb, sort of like MOVE, but it is really the name of an SAP event, just like other events like AT SELECTION-SCREEN and START-OF-SELECTION.
    Whenever I teach new ABAPers about GET, I tell them to think of this as a noun rather than a verb.  So instead of thinking GET, think of WHEN.
    So GET PERNR is really an event called WHEN PERNR and means that when the LDB has a PERNR row available, invoke the code you have attached to event GET PERNR.  Trying to bury the statement GET PERNR inside other executable ABAP statements like IF and FORM is not supported because your code does not decide when to do this, it is decided by the LDB.  In fact if you code the following:
    IF condition.
      GET PERNR.
    ENDIF.
    What the compiler sees is an event called GET PERNR.  The start of an event, ends the previous event.  If you never specified an event then the default event is START-OF-SELECTION.
    So the previous event is ended, but we have an IF without an ENDIF.  If the compiler could get past that error, the next error would be an ENDIF without an IF.
    As an aside, if you have ever wondered where the ABAP events START-OF-SELECTION and END-OF-SELECTION got their names, START-OF-SELECTION represents the start of selection by the LDB before any data is returned to your program.  Likewise, END-OF-SELECTION represents the fact that the LDB has finished returning data to your program.

  • PERNR is not read in GET PERNR event for some period..

    We have one ABAP report where we read financial data of our employees. But there is some PERNRs that is not read in the GET PERNR event the program skips to END-OF-SELECTION. I have all authorization to access this kind of data through other txn like PC_PAYRESULT. And this data appears in another ABAP reports. We've noted that the PERNRs that not appears doesn't have the Hiring Actions. And the data is read for this year 2007 but not to 2006 when the Action occurred. Does anyone knows what may be causing this?
    Thanks,

    When you say custom, you mean, not standard report right?
    TABLES: pernr.
    INFOTYPES: 0001.
    GET pernr.
    Verifica seleções
      CHECK pernr-werks IN pnpwerks.
      CHECK pernr-btrtl IN pnpbtrtl.
      CHECK pernr-plans IN pnpplans.
      CHECK pernr-kostl IN pnpkostl.
      CHECK pernr-abkrs EQ pnpxabkr.
      CHECK pernr-persg IN pnppersg.
      CHECK pernr-persk IN pnppersk.
      CHECK pernr-stell IN pnpstell.
      CHECK pernr-orgeh IN pnporgeh.
      CHECK pernr-orgeh IN pnpobjid.
      CHECK pernr-ansvh IN pnpansvh.
      CHECK pernr-stat2 IN pnpstat2.
      PERFORM seleciona_dados.
    END-OF-SELECTION.
      perform xyz.
    We use a custom report category with the fields:
    PNPXABKR
    PNPPABRJ
    PNPPERNR
    The program checks if PNPPERNR is not initial.
    When we executes it with PNPXABKR = 02, PNPPABRJ = 2006. Some PERNR does not are read. The programa skips to 'perform xyz'.  We found out that these PERNRs don't have the Action Hiring. We don't know if its because of it.

  • GET PERNR thows to end Of Selection

    Hi
    i am new to the HR-ABAP
    I am writing one custoized Payslip Z program.  i have used Get Prnr macro.  However, it does not populate the PERNR structure and the related infotypes.
    Can someone help me where i am missing.
    I used appropriate LDB in Program attriutes.
    regards,
    venkat

    - [GET|http://help.sap.com/abapdocu_70/en/ABAPGET-.htm] PERNR is not a macro but an Abap statement (actually an event) used in logical database (check nodes via SE36 on ldb like PNP), RP_READ_INFOTYPE is a macro as example.
    - Did you define PERNR as [TABLES|http://help.sap.com/abapdocu_70/en/ABAPTABLES.htm] or [NODES|http://help.sap.com/abapdocu_70/en/ABAPNODES.htm] in your report
    Sample
    REPORT RPABAP05.
    TABLES: PERNR.
    INFOTYPES:  2001 MODE N.
    GET PERNR.
      RP-READ-ALL-TIME-ITY PN/BEGDA PN/ENDDA.
      LOOP AT P2001.
        WRITE: / P2001-ABWTG.
      ENDLOOP.
    other sample
    REPORT RPABAP01.
    TABLES: PERNR.
    INFOTYPES: 0001.
      GET PERNR.
        PROVIDE * FROM P0001 BETWEEN PN-BEGDA AND PN-ENDDA.
        WRITE:  / P0001-PERNR,
                  P0001-STELL,
                  P0001-BEGDA,
                  P0001-ENDDA.
        ENDPROVIDE.
    (look at help.sap.com or sdn.sap.com with correct keywords, you will find many samples)
    Regards,
    Raymond

  • GET pernr statement help

    Hi,
    I am a very much a beginner to ABAP.
    Can anyone explain me the logic with which pernr statement works?
    This is my understanding so far.
    i think it is working as a loop.
    At first loop it gets the record of first pernr number into an internal table. If muliple records exists they are added into the internal table.
    This goes on for all pernrs.
    Is this correct?
    Also i think there is a table where pernr number is stored globally. This is because i get a pernr number while using get pernr but that number is nowhere in any table.
    Can any1 tell me that table name.
    Thanks in advance,
    Bala

    Hi,
    Check
    http://help.sap.com/saphelp_nw04/helpdata/en/c6/8a15381b80436ce10000009b38f8cf/content.htm
    GET PERNR:used in logical database PNP
    If you are using LDB PNP, try the below code
    tables : pernr.
    infotypes : 0001.
    start-of-selection.
    get PERNR.
    end-of-selection
    Edited by: Neenu Jose on Oct 24, 2008 8:38 AM
    Edited by: Neenu Jose on Oct 24, 2008 8:39 AM
    Edited by: Neenu Jose on Oct 24, 2008 8:42 AM

Maybe you are looking for