Change existence report LDB PNP to PNPCE

Hi HR experts !!!
We want to convert all the existence reports which are using <b>PNP</b> to <b>PNPCE</b>? Do you guys have idea how much time it’ll take? As we have around 1000 reports.
I need your input guys
Cheers
Usman

Usman,
    I am also on HR project . We’re also discussing the same thing !! but it looks like it need another project to change the LDB to PNPCE as reason being  lots of reports are written using PNP logic in mind.
But PNPCE Behaves different . Well I must say its another project to change 1000 reports
FYI...
It is better to go in for PNPCE even if you do not have Concurrent Employment to take advantage of the new lDB. The one thing PNPCE does do is when the GET executes only the infotype records retrieved for the interval requested will be retrieved. Whereas PNP by default, will retrieve all infotype records for a given PERNR.
SAP recommends to use PNPCE for all new development. But all the features are not available as of now. The Time Management functions for concurrent employment have not been released for all customers. They are activated for selected pilot customers only. Can get some info in SAP Note : 518520 , 516489..
OSS Note # 561645 ( LDB PNPCE: compatibility with PNP )
Symptom
In some respects, logical database PNPCE responds differently from logical database PNP. This may cause errors in applications that do not know this difference.
Other terms
PNP, PNPCE, payroll period, PNPTIMR9, PNPTIMRA, error message, information message
Reason and Prerequisites
There are the following differences between logical databases PNP and PNPCE:
Unlike PNP, logical database PNPCE does not have two radio buttons you can use to set the payroll period (parameters PNPTIMR9 and PNPTIMRA). Instead, the payroll period is set via parameter PNPTIMED (displayed as a dropdown box on the selection screen). This difference must be taken into account when you call a PNPCE report from another program. Otherwise, in incorrect system response occurs in the PNPCE report called. Problems may also occur if you convert an existing PNP report to PNPCE and want to use an old (PNP) variant.
If you enter an invalid payroll arear or an invalid payroll period, PNP issues an error message whereas PNPCE only issues an information message. This causes problems if you run a PNPCE report in the background because in this case the program runs into an endless loop instead of terminating.
Solution
Implement the attached corrections or import the corresponding support package.
This changes PNPCE in such a way that it responds like PNP
Moreover, also look at OSS
PNPCE: Performance improvement  ( OSS note # 687004)
Symptom
You use a report that is based on logical database PNPCE. Either the performance of the report is poor, or the program terminates due to a memory overflow.
Other terms
Performance, PNPCE, 0000, 0001, buffer, memory space, memory space consumption, partitioning, FILL_0000_0001_BUFFER, T77S0, LDB, PCEPS, PNP mode
Reason and Prerequisites
The PNPCE can be used in a PNP-compatible mode. The mode is 'PNP-compatible' if the report does not program on events GET PERSON and GET GROUP and does not use the 'AS PERSON TABLE' extension for the INFOTYPES statements (for more details refer to the documentation of logical database PNPCE in Transaction SE36).
In this mode the performance is worse, as if logical database PNP is used. After the implementation of the correction from this note, the performance is significantly improved.
Another problem is that all personnel numbers that meet the entered selection criteria are internally selected during the execution of the report. Then the system imports all data records of infotypes 0000 and 0001 for all these personnel numbers because they are needed for the internal processing for different reasons. If the amount of personnel numbers or the amount of data records per personnel number is very large, memory problems can occur. The attached correction solves the memory problems.
Solution
Implement the correction according to the correction instructions or import the corresponding Support Package. If you implement the correction manually, you first have to implement Note 705870.
A part of the correction causes the internal processing of the persons/personnel numbers in blocks. If logical database PNPCE runs in PNP mode, the block-by-block processing is executed based on personnel numbers. Otherwise (in CE mode) it is executed based on persons. In PNP mode, logical database PNPCE behaves exactly like logical database PNP concerning the block processing. The settings are also made along the lines of logical database PNP. For a more detailed description refer to Note 705870.
Standard setting of the block size
In CE mode the block size is set to 10,000 persons by default. That is, as long as the number of selected persons does not exceed this value, no block processing is executed at all. A memory space analyses showed that this does not cause problems with the memory space in a system with an average number of infotype 0000 and infotype 0001 data records. However, if the amount of data records (= splits) is very large in your system, you have to reduce the maximum block size manually.
Manual setting of the block size
There are two different options to set the block size manually: a) report-specific by means of a switch which you have to set in the source code of the report, and b) cross-system by means of a switch in switch table T77S0.
The report-specific switch is called PNP_MAX_PARTITION_SIZE. It has priority (if switch T77S0 is activated) and must be set in the source code of the report at event START-OF-SELECTION at the latest.
Example: Set the maximum block size (number of persons that can be processed together) to 250:
START-OF-SELECTION.
  PNP_MAX_PARTITION_SIZE = 250.
The switch is recommended for customer-specific reports requiring a lot of memory and therefore need to minimize the additional memory space of logical database PNPCE. It is not suited for SAP standard reports because the report would have to be modified in that case.
The cross-system switch is maintained in table T77S0. It affects all reports that are based on logical database PNPCE and do not use the report-specific switch PNP_MAX_PARTITION_SIZE.
The switch belongs to the LDB group and is called PCEPS. The switch is maintained in Transaction SM30 (enter table 'T77S0' and choose 'Maintain'). The switch is delivered (for Release 4.70 in a Support Package) with initial value (0). An initial value causes the switch to be ignored and the standard setting to be used instead. If you want to set the switch, set it to a numeric value. This value specifies the maximum number of persons that are processed together in a block.
Example:
LDB  PCEPS  250
For more information on the procedure of a system upgrade refer to Note 317722
Thanks
Saquib
Message was edited by: Saquib Khan

Similar Messages

  • What is the main diff b/n ldb pnp and pnpce?

    hi ,
    what is the main diff b/n ldb pnp and pnpce?
    thanks.

    Hi Arun,
      PNP/PNPCE  - Both are Logical Databases for PA Module
    In PNPCE - CE stands for Concurrent Employment.
    The differnces are:
    The PNPCE logical database supports the evaluation of HR master data. It includes the functions of the PNP logical database and offers additional evaluation options. Therefore, you should use the PNPCE logical database instead of the PNP logical database for all new developments.
    The enhanced functionality of PNPCE in comparison to PNP essentially concerns the evaluation of Concurrent Employment, that is the possibility to group evaluate several assignments/personnel numbers of a person. The new events 'GET PERSON' and 'GET GROUP' as well as an enhanced syntax for the INFOTYPES statement (addition AS PERSON TABLE) for the procurement of infotype data enable you to use the new functionality. The use of these new functions is optional. You can run a PNPCE report that does not use the new events and the addition for the INFOTYPES statement in a PNP-compatible session. Since the PNPCE also has an improved selection screen, each report benefits from this even if the report does not use the functions for evaluating Concurrent Employment.
    Hope this helps you.
    Regards,
    Chandra Sekhar

  • Screen Change when using LDB - pnp

    Hi ,
    I am facing a strange problem.
    I am using LDB -> pnp and HRIN0013 as Master data rep ,
    in one of the programs that i developed.
    The Screen and program behave fine in the development server.
    Once i transport it to the production server, the Screen changes to something completely different.
    What i noticed is that in attributes -->'Report category assignment' , HRIN0013 is not present.
    This means that HRIN0013 has not been transported?
    What can the problem be and how can i fix it?? I need to get this in by tommorow. Help will be highly appreciated.

    Hi Sanchit,
    when I change the report class in an HR report, the system tells me for the change request number.
    This change request, introduces, I think, a new record in some customize tables, like t599C.
    There must be a record in this table, for the report class that you create.
    Hope this helps you,
    Carles

  • Change of LDB from PNP to PNPCE

    HI All,
       I have a HR program where LDB PNP is used. Now I need to change the LDB from PNP to PNPCE. Can any one please tell me what are the mandatory change I need to do in the program after changing the LDB.
    Thanks & Regards,
    Arnab

    Hi,
    Purpose
    The PNPCE logical database supports the evaluation of HR master data. It includes the functions of the PNP logical database and offers additional evaluation options. Therefore, you should use the PNPCE logical database instead of the PNP logical database for all new developments.
    The enhanced functionality of PNPCE in comparison to PNP essentially concerns the evaluation of Concurrent Employment, that is the possibility to group evaluate several assignments/personnel numbers of a person. The new events 'GET PERSON' and 'GET GROUP' as well as an enhanced syntax for the INFOTYPES statement (addition AS PERSON TABLE) for the procurement of infotype data enable you to use the new functionality. The use of these new functions is optional. You can run a PNPCE report that does not use the new events and the addition for the INFOTYPES statement in a PNP-compatible session. Since the PNPCE also has an improved selection screen, each report benefits from this even if the report does not use the functions for evaluating Concurrent Employment.
    Prerequisites
    A report that wants to use the PNPCE must enter this in its report attributes under Logical database.
    In addition, the PERNR structure must be declared in the report using the 'TABLES PERNR' statement. You can only use the PERNR structure again in certain circumstances. The use of the 'GET PERNR' event is therefore forbidden. Instead, use the 'GET PERAS' event. Except for the PERNR-PERNR component, all other components of the PERNR structure are no longer filled and have initial values. This kind of programming (with the exception of PERNR-PERNR) therefore not permitted.
    In addition to the 'GET PERAS' event, you can also use the GET PERSON' and 'GET GROUP' events. To be able to use these events, you must declare them using the NODES statement (NODES PERSON', 'NODES GROUP', or. NODES PERAS').
    Explanation of Terms
    If the 'GET PERSON' and 'GET GROUP events and the 'AS PERSON TABLE' addition for the INFOTYPES statement are not used, the report indicates that it does not require the functionality for evaluating Concurrent Employment. In this case, the report runs in a PNP-compatible session. This is referred to as PNP mode in the following documentation. On the other hand, if the report uses the functionality for evaluating Concurrent Employment we refer to CE mode.
    Features
    Process of an Evaluation
    The PNPCE selection screen offers you as standard a range of functions that you can use to restrict the personnel number and person selection. These are discussed in more detail in the following sections. The process is initially as follows regardless of whether the report runs in CE or PNP mode. All available functions and selection conditions leads to the selection of personnel numbers. If you use the sorting function, this set of personnel numbers is then sorted according to the sort criteria you selected. In PNP mode, the GET PERAS event is triggered as a result for each personnel number.
    In CE mode, the persons belonging to the personnel numbers are determined first for all personnel numbers selected. The GET PERSON event is then triggered for each person. The person ID is specified in the OBJID component of the PERSON structure. PERNR_NUM contains the total number of personnel assignments (= personnel numbers) that this person has and the ALL_PERNRS table, which contains a list of these personnel numbers regardless of whether they were actually selected or not. The SELECTED flag is set to X for the personnel numbers selected. The flag is initial for all personnel numbers that are not selected. The PROCESS flag specifies whether the personnel number should be processed in the rest of the process. This flag is set to X by default for the personnel numbers selected. However, the report can set or delete this flag at the GET PERSON event for all personnel numbers. In this way, report and logical database communicate with each other which enables the report to control the rest of the process.
    In the next step, the logical database groups all personnel numbers of a person that are to be processed (that is, all personnel numbers that have the PROCESS flag set). The report can control the type of grouping using the PNPCE_GROUPING_FROM_PAYROLL flag (normal or payroll grouping) and using the PNPGPRSN (grouping reason) and PNPGPVAL (grouping value) parameters of the selection screen. The GET GROUP event is triggered for each group of personnel numbers determined. The GROUPING_REASON and GROUPING_VALUE components contain the grouping reason and grouping value of this group. The number of personnel numbers that belong to this group and that are processed subsequently is in PERNR_NUM. The included ALL_PERNR table contains a list of these personnel numbers with additional information. The SELECTED flag specifies whether the current personnel number was originally selected (flag is set) or was marked by the report as to be processed. GROUPING_BEGDA and GROUPING_ENDDA contain the validity period that the personnel number has for this grouping. The NO_AUTHORITY flag is set if there is insufficient authorization for a personnel number. This personnel number is not processed further. The SORT component defines a standard sort order for the personnel numbers of a group. The report can change this by overwriting the values. In this way, report and logical database communicate with each other, which controls the further processing sequence of the personnel numbers.
    The GET PERAS event is then triggered for all personnel numbers of the group (with the exception of the personnel numbers for which no authorization exists) in the sequence defined by the SORT component (see above). The SELECTED, GROUPING_BEGDA, and GROUPING_ENDDA components have the same meaning here as with the GET GROUP event. The PROCESSED_BEFORE flag specifies whether the personnel number has already been processed once before (it is possible that the personnel number belongs to several groupings and has been therefore been processed several times).
    Thanks and Regards
    Ravi

  • Transport of 'Report category Assignment' for LDB - PNP

    Hi,
    I am using LDB - PNP for a HR report. The screen works fine in the development server.
    Once Transported to Quality and Production servers the screen changs to something else completely. 
    <b>I see that HRIN0013 under 'Report category Assignment' ( found in Attributes of program ) is not transported to
    to quality server. How can transport HRIN0013  to
    to quality server? </b>
    I have used 'Report category Assignment'  X__X2201 and it works fine.
    I need your assistance on this. Help will be highly appreciated.

    Hi sanchit,
    1. This report category HRIN0013
       must be a sap standard report category,
       which must be a part of the LDB program.
    2. Just check out in your QA and production servers,
      whether this HRIN0013 is available for
      selection or not,
       in the same screen, u mentioned.
      ie. se38 -- 'Report category Assignment' Button
      ( found in Attributes of program
    regards,
    amit m.

  • Error In HR report using PNP LDB

    Hi ,
    I am new to ABAP Hr , while writing a report using LDB pnp it  is giving me an error like
    " In Unicode programs, the "-" character cannot appear in names, as it          
    does here in the name "PNP-SW-IGNORELOCKEDRECORDS".
    Can any one please help me what it is for , and how it can be removed .
    Thanx

    Hi abap,
    1. do not worry,
    2. Its just a warning message (and not an error message)
    regards,
    amit m.

  • Problem while creating HR report with PNP LDB

    Hi Experts,
    I am working on HR Report using LDB PNP.
    In HR REPORT CATEGORY,i have mentioned "___00003" in Master Data radio button.
    Now i can create my own selection screen.In my Selection-Screen i am using pushbutton.
    Code is:
    SELECTION-SCREEN:
    PUSHBUTTON 5(15) but1 USER-COMMAND cli1,
    PUSHBUTTON 30(15) but2 USER-COMMAND cli2.
    INITIALIZATION.
    but1 = 'PDF FORMAT'.
    but2 = 'FILE FORMAT'.
    AT SELECTION-SCREEN.
      CASE sscrfields.
        WHEN 'CLI1'.
          PERFORM PDF.
        WHEN 'CLI2'.
          PERFORM FILE.
      ENDCASE.
    While executing i have clicked on 2nd pusbutton.
    It is going to CASE and also i am getting value of sscrfields = CLI2 .
    also sy-subrc = 0.
    but after that it is not going to WHEN condition.
    Can anybody plz help me out in this.
    Regards,
    Ankur

    SSCRFIELDS is a structure so you have to ask:
    CASE SSCRFIELDS-UCOMM.
      WHEN xx.
    ENDCASE:

  • Management Global Employee  Vs C.E + PNP or PNPCE

    All,
         We are moving towards implementing u201CManagement Global Employeeu201D. I am new to u201CManagement Global Employeeu201D   and I found some good documentation at www.saphelpbykevin.com  . Kevin you did great job there like you did with us in Boise, Idaho.  Any way first I wanted to understand the key differences between C.E and MGE?
    After that what effort we need to do in order to change our ABAP program. Can we use PNP with MGE ?
    Iu2019ve worked on  Concurrent Employment in 2006 and I remember we had a hard time changing all our HR ABAP program and LDB to PNPCE . Are we talking about the same effort here? If any body of you has any suggestion , key point please share with me .
    Thanks,
    Saquib Khan

    Lol!
    I didn't see post until now...Not sure if you received the response yet...
    MGE is a subset or submodule of CE.
    CE concept is more align with and more import if you use SAP Payroll and Time. CE is concurrent employment where a person holds more than one position at a time in the same country.
    MGE is management global employee. Where a person move from one position to another during a duration to do an assignment. Upon completing the assignment, the person could localize there or return home.
    PNP and PNPCE. PNP is being discontinued and is replaced by PNPCE. The main difference between the two is PNPCE support the PERSON ID concept. Which is the unique identifier for an employee. It would be best to use PNPCE with MGE as you need that PERSON ID in the HR Report Category.
    Kevin T. Nguyen-Tu
    www.saphelpbykevin.com

  • Regarding ldb pnp

    hi experts,
                     i m developing a hr report using pnp ldb,no doubt with the help of this ldb we get standard selection screen but here what i want that in this selection screen only payroll area and personel number sud come for this what sud i do for changing the selection screen......plz help me...

    Hi,
    In at selection-screen output, you try loop at screen.Inside that if screen-name is 
    PNPABKRS, then make screen-active = 1 otherwise, screen-active = 0.Simlarly in debugging you find out the lables for the input fields and then make it as active.
    tables pernr.
    at selection-screen output.
    loop at screen.
    if screen-name CS 'PNPABKRS'.
    screen-active = 1.
    else.
    screen-active = 0.
    endif.
    modify screen.
    endloop.endloop.

  • After upgrade LDB pnp entry date issue

    i upgrade from 4.6c to ECC6, after upgrade my many reports which based on hr data,not showing entry date . like country effective date , nationality date ...entry date...etc..
    any idea???? many reports based on LDB PNP.
    Moderator message - Cross post locked
    Edited by: Rob Burbank on Nov 23, 2009 10:06 AM

    only infotype 0041 or others too?
    Do you use PNP or PNPCE?
    Configuration error? different date types?
    no central person? OType CP in HRP1001?

  • Authorization check in LDB PNP

    Hi All,
    I am using logical database PNP in my report program and GET PERNR to fill the infotype tables. Infotype level authorization checks are performed but not Org data level (organizational assignments). The role assigned to me has access to data of specific personnel areas but I am able to retrieve data of all personnel areas (this was maintained in the authorization object P_ORGIN).
    I read the level of simplification should have a value 1 in the authorization object P_ABAP for Org Level authorizations to be performed. I have updated my role but still org level authorizations are not performed.
    Can you please let me know if  any special setting are to be done like in Tcode OOAC or set some flags/parameters in the report program to perform org data level authorization.
    Any information provided will be really helpful.
    Thanks,
    Pavan

    Hi,
    A separate ID was created in an environment similar to production and proper authorization were assigned to it (I mean roles with authorization objcts P_ABAP - level of simplfication 1 and P_ORGIN - restricting based on personnel area). Still Org level authorizations were not performed while using the LDB PNP. Is there anything I am missing?
    Thanks,
    Pavan

  • Add a parameter to HR report (LDB driven)

    Hi,
    I need to add a new parameter on the selection screen of a HR report (LDB driven). I did look at the 'report category' but it only has limited parameters/selection options. I need to add one field from IT171 so that user could select based on the field from IT171. Is this possible? I mean if I add a parameter of my own do I need to filter the infotypes already read by the LDB?
    I don;t know if my question is clear...
    Thanks in advance.

    Hi,
      I don't think you have an option to create or change the report category with the new field from PA0171.
      Declare the parameter/select option in your program and write the logic to filter the data (P0171) based on the
      values entered in the new field. Using LDB does not filter the new parameters included in program , it has to be written.
    tables : pernr.
    infotypes : 0171.
    parameters : p_field like pa0171-<field>.
    start-of-selection.
    get pernr.
    *filter the record(s) in P0171 based on the above p_field
    end-of-selection.
    Regards,
    Srini.

  • 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.

  • Can i make changes to standered ldb to z ldb.

    Hi Friends ,
                    Presently iam working with sales tax register , inthe attributes section logical database  is mentioned as BRF(document segmet) , the data is retrived according to document no ,and posting date .
    now i need to retrive the data according to vendor wise , my doubt is, can i copy the logical database  to z ldb and make changes to it , root node for this ldb is bosg . when i am trying to make changes inthe report it is not effecting in any wayz ,. please try to give me the solution , for retriving the data according to vendor wise. in the report the ldb is called by keyword get.

    Hi,
    pardon - it is only spare information you gave.
    A report is linked to a ldb by its properties.
    Moreover you can use a ldb by function ldb_process.
    Perhaps there is another way without changing the ldb.
    First fill an internal table with data you need.
    After that sort it and do your processing.
    Separating I/O from processing is a good approach in general.
    With kind regards
    Walter Habich

  • 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

Maybe you are looking for