Diese Seite (Version-1) wurde zuletzt am 28-März-2017 14:37 von Administrator geändert.

Du bist nicht autorisiert, diese Seite umzubenennen.

Du bist nicht autorisiert, diese Seite zu löschen.

Versionsgeschichte der Seite

Version Zuletzt geändert Größe Autor Änderungen Kommentar

Links

Eingehende Links Ausgehende Links

Versionsunterschiede

Unterschiede zwischen Version und .

Zeile 1: 108 Zeilen hinzugefügt.
[{ALLOW view All}]
[{ALLOW edit Authenticated}]
[Logical DB|http://help.sap.com/saphelp_470/helpdata/DE/9f/db9b5e35c111d1829f0000e829fbfe/frameset.htm] (GET)
Build with transaction __SLDB__.
Alternatively see also [Context|http://help.sap.com/saphelp_470/helpdata/DE/9f/db9b5e35c111d1829f0000e829fbfe/frameset.htm]
(SUPPLY / DEMAND, SE33)
In HCM there are only two: PNP, PNPCE (+? PCH, PAP).
!Berechtigungsprüfung PNPCE
Normalerweise wird die Berechtigung des Ausführenden nur zum aktuellen Datum geprüft.
Wenn man aber für alte Datensätze noch die Berechtigung hatte, kann man eine "zeitraumgenaue" Überprüfung in der
INITIALIZATION anschalten.
{{{
pnp_sw_skip_pernr = 'N'.
}}}
!Ablaufsteuerung / Performance
|V_T599R_B|Ablaufsteuerung für log. DB vorgeben, siehe Doku
!Selektionsbild (PA-PAD)
Da die benötigten Selektionskriterien von dem jeweiligen Report abhängig sind, muß der
Entwickler den Umfang des Selektionsbildes festlegen.
Dies wird durch die Zuordnung des Reports zu einer Reportklasse erreicht.
In der Reportklasse werden die erwünschten Selektionskriterien definiert und festgelegt, welche
Funktionstasten (Matchcode, Sortieren, ...) verfügbar sein sollen. Die Zuordnung eines Reports
zu einer Reportklasse erfolgt in der Tabelle T599B oder T599W. Die Einträge der Tabelle T599B
werden vom Kunden gepflegt, während die Tabelle T599W die SAP-eigenen Zuordnungen
enthält. Ist ein Report keiner Reportklasse zugeordnet, so gelten die Einstellungen der
Kundendefaultklasse (Tabelle T599C) oder der SAP-Default-Reportklasse (Tabelle T599F).
Alle SAP-eigenen Reports des HR werden in Zukunft bereits von der SAP definierten
Reportklassen zugeordnet sein. Für die Benennnung der SAP-eigenen Reportklassen gelten
Namenskonventionen.
! Skipped Pernr
If you get a message in the list viewer like
{{{
Personalnummern wurden vom Datenbanktreiber ueberlesen.
Grund1: mangelnde Berechtigung;
Anzahl geskippte Personalnummern: x
}}}
then it is generated from the logical database PNP (only).\\
With [PNPCE|http://www.stechno.net/sap-programs.html?view=sapprog&id=SAPDBPNPCE] nothing is written.\\
So, how to get to know which ones where skipped?\\
If you can modify your report or the one from SAP you can call the macro PNP_GET_AUTH_SKIPPED_PERNRS at END-OF-SELECTION.\\
I still have not found out, where this one is defined, but you can look into the logical database's report with x.SE36 > Databaseprogram. \\
|i.DBPNPF01|FORM mac_get_auth_skipped_pernrs you can see that itab G_AUTH_SKIPPED_PERNRS[] is used to collect those.\\
|i.DBPNPI01|FORM end-processing (row 307) you can see the message handling. \\
|i.DBPNPCECOM|Main macros fro PNP and PNP
|i.DBPNPMAC|Additional macros for PNP
|r.SAPDBPNPCE|see docu for additional infos!
So you can set a breakpoint here and look by your own
in G_AUTH_SKIPPED_PERNRS[] for the skipped pernr when you run the report of choice in dialog mode.
{{{
"Internal table to hold skipped pernrs into internal table
DATA: lt_skipped_pernrs TYPE hrahq_pernr_table,
ls_skipped_pernrs LIKE LINE OF lt_skipped_pernrs.
START-OF-SELECTION.
GET pernr.
gv_pernr = pernr-pernr.
(or
GET peras.
gv_pernr = peras-pernr.
)
END-OF-SELECTION.
"Macro PNP_GET_AUTH_SKIPPED_PERNRS (for PNP+PNPCE)
pnp_get_auth_skipped_pernrs lt_skipped_pernrs.
" or one of these:
" PNPCE: perform mac_get_auth_skipped_pernrs in program sapdbpnpce changing lt_skipped_pernrs.
" PNP: perform mac_get_auth_skipped_pernrs in program sapdbpnp changing lt_skipped_pernrs.
IF lt_skipped_pernrs IS NOT INITIAL.
WRITE:/ 'List of skipped personnel no:'.
LOOP AT lt_skipped_pernrs INTO ls_skipped_pernrs.
WRITE:/3 ls_skipped_pernrs-pernr.
ENDLOOP.
ENDIF.
}}}
! Avoiding authorization messages in list viewer
With following two ways you can set variable SW_SUPPRESS_WRITE in the PNP main report:
{{{
1. perform pnp_skipped_pernr(sapdbpnp) ...
2. f.HR_GET_ERRORTAB_FROM_PNP_INFO (<= this sets it automatically)
}}}
! Time Selection
With PNPCE you can choose various time periods (see domain PCCE_PERIOD for values).\\
The type is saved in the PNPCE variable PNPTIMED.
You should check this one if necessary and NOT rely on the PNPTIMR1-6 fields.\\
To get the resulting BEGDA and ENDDA you should use the structure PN, e.g.
|PN-BEGPS and PN-ENDPS|Person period (phase 1, e.g. all person matching the criterias in this period)
|PN-BEGDA and PN-ENDDA|Data period (phase 2, all data within that period for all persons from phase 1)
Note1: BEGPS/ENDPS = BEGDA/ENDDA if not split in selection (then there is one "time period")\\
Note2: there are other fields called PNPBEGDA and PNPENDDA which are NOT filled if you choose "Today"!