cancel
Showing results for 
Search instead for 
Did you mean: 

Change existence report LDB PNP to PNPCE

Former Member
0 Kudos

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

Accepted Solutions (1)

Accepted Solutions (1)

former_member181966
Active Contributor
0 Kudos

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

Answers (0)