Reihenfolge der Infotypen bei dynamischen Massnahmen

SAP R/3 Personamwirtschaft: Personalmanagement, Personalzeitwirtschaft, Personalabrechnung, Veranstaltungsmanagement, Personalentwicklung, Kostenplanung...
17 Beiträge • Seite 1 von 2 (current) Nächste
17 Beiträge Seite 1 von 2 (current) Nächste

Reihenfolge der Infotypen bei dynamischen Massnahmen

Beitrag von MarcoS (ForumUser / 23 / 0 / 0 ) »
Hallo Ihr Experten :)

Ich bin heute auf folgendes Problem gestossen, ich hoffe Ihr könnt mir helfen:

Ich habe die Massnahme Eintritt angelgt, mit folgender Infotgruppe:

0001, 002, 0006, 0007, 0008, 0009, 00014, 2006.
Nun möchte ich gerne, dass nach dem IT 0007 der IT 0041 (Datumsangaben) erscheint, der im ersten Datumsfeld die Datumsart 01 und als Datum das Beginndatum der Massnahme Eintritt als Vorschlag hat. Soweit so gut, aber das Problem ist, dass der IT0041 immer gleich zu Beginn der Massnahme erscheint, nicht nach dem pflegen des IT0007. Wie schaffe ich es, dass das funktioniert? Muss ich den IT0041 in der Infogruppe schon angeben? Wenn ja, wie mach ich das mit dem Vorschlagswert?
Bis jetzt sieht die dyn. Massnahme wie folgt aus (Wie Ihr seht, nirgends steht was von Reihenfolge :oops: )

0000 04 40 P T001P-MOLGA='02'
0000 04 50 P PSPAR-MASSN='A1'/X
0000 04 60 P PSPAR-MASSN='A2'/X
0000 04 70 I INS,0041,,,(P0000-BEGDA),(P0000-ENDDA)
0000 04 80 W P0041-DAR01='01'
0000 04 90 W P0041-DAT01=P0000-BEGDA



Wäre super wenn mir jemand Hilfe wüsste 8)

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von der.bahnfahrer (ForumUser / 38 / 0 / 0 ) »
Hallo Marco,

du hast m.M.n. 2 Möglichkeiten, Deine Fragestellung zu lösen:

1. Du arbeitest wie geplant mit einer dynamischen Maßnahme, stößt die aber nicht wie geschildert vom IT0000 an (0000 04 40 P T001P-MOLGA='02' ...), sondern vom IT0007
2. Du baust den IT0041 in die Infogruppe ein und füllst die Vorschlagwerte via User Exit ( TCODE SMOD, Exit PBAS0001, glaub ich)

Vielleicht gibt's noch andere Möglichkeiten (Merkmale?!?), aber dies scheinen mir die einfachsten. Hab leider momentan kein System, daher kann ich es nicht näher erläutern.

Gruß aus Bremen,
Klaus

Beitrag von donny (Specialist / 253 / 0 / 2 ) »
Hi Marco,

Schau dir mal in der Transaktion PE03 das Merkmal DATAR an.

Leider liefert das Merkmal nur die Datumsart, der Datumswert müsste dann in der Tat über den von Klaus genannten Userexit ermittelt und eingestellt werden. Oder eben per dyn. Maßnahme....


Gruß
donny

Beitrag von MarcoS (ForumUser / 23 / 0 / 0 ) »
Danke für Eure Antworten :)

Bahnfahrer, was muss ich denn im variablen Funktionsteil reinschreiben wenn ich den 41er nach dem Anlegen vom 0007ner aufrufen möchte? Ich habe leider nicht so eine Ahnung von dyn. Massnahmen.
Die Idee mit dem Userexit ist sicher auch nicht schlecht, aber da weiss ich leider überhaupt nicht wie das funtioniert.

Danke für Eure Hilfe :)

Beitrag von der.bahnfahrer (ForumUser / 38 / 0 / 0 ) »
Hallo Marco,

ich habe gerade festgestellt, dass wir einen von Dir angestrebten Automatismus gar nicht haben. :evil:

Wie auch immer, ich würde an Deiner Stelle immer den Exit vorziehen, da die dynamische Maßnahme (zumindest) folgende Probleme birgt:
1. Du willst sicherstellen, dass nur bei Einstellungsmaßnahme der Automatismus greift, nicht bei späterer Copy des IT0007
2. Du willst den Infotyp 41 vom It0007 anstoßen, dabei aber mit Inhalten vom IT0000 versorgen
Punkt 1 kannst Du nur durch aufwendige Prüfungen lösen, Punkt 2 am einfachsten durch eine Funktion. Wenn Du aber soweit gehen willst, kannst Du auch gleich einen User Exit aktivieren.

Und das ginge so:
1. Transaktionscode SMOD
2. Erweiterung PBAS0001
3. Button TESTEN
4. Den Exit EXIT_SAPFP50M_001 auswählen (zuständig für Vorschlagswerte)
5. Beispiele dazu ansehen (Doppelklick in entspr. Spalte)
6. In Spalte IMPL doppelklicken
7. Doppelklick auf Include ZXPADU01 und das Anlegen bestätigen
8. Die Funktionsbausteindoku lesen und die Schnittstellenparameter anschauen
9. Coding anlegen (wichtig ob UNICODE oder nicht)

Ich würde das betreffende Feld mithilfe des Funktionsbausteins HR_ENTRY_DATE füllen.

Das Einarbeiten in die Exits kann ich Dir leider nicht ersparen. Es lohnt sich aber auf jeden Fall. Der 2. Exit ist eigentlich noch wichtiger, hier kann man z.B. kundeneigene Eingabeprüfungen anlegen.

Gruß, Klaus

Beitrag von MarcoS (ForumUser / 23 / 0 / 0 ) »
Hallo Klaus

Vielen Dank für Deine ausführliche Anleitung :) Ich werde die mir Morgen gleich mal zu Brust nehmen! Das Einarbeiten in die Exits macht mir nicht viel aus, ein wenig Programmiererfahrung habe ich schon :) Und etwas Neues zu lernen macht immer wieder Spass!
Wie meinst Du das, Ihr habt keinen solchen Automatismus wie ich ihn beschreibe? Habt Ihr keine solche Anforderung, dass ein IT bei einer bestimmten Massnahme nach einem bestimmten IT angestossen wird? Ich dachte, dass dies noch eine häufige Anforderung wäre.

Gruss Marco

Beitrag von der.bahnfahrer (ForumUser / 38 / 0 / 0 ) »
Hi Marco,

doch, doch dynamische Maßnahmen und User Exits haben wir ohne Ende, teilweise auch in Kombination. Einige recht schicke Geschichten sogar. Z.B. haben wir die Möglichkeit, Sonderzahlungen (Urlaubsgeld,...) in Zeitkontingente umzuwandeln. Das wird per Selfservice im IT0015 als Umwandlungslohnart angestoßen, die wiederum per dynamischer Maßnahme mithilfe des individuellen Stundensatzes eine Zeitumbuchung anlegt, die das Kontingent füllt,....

Die dynamischen Maßnahmen und User Exits sind im PA einfach klasse, um ohne Modifikation Standardinfotypen abweichend zu behandeln. Was ich mit meiner Maulerei meinte: Deine konkrete Fragestellung, die ja durchaus sinnvoll ist, hab ich noch nicht umgesetzt. Da hätte ich auch mal drauf kommen können.

Manchmal fehlt einfach die Zeit, um festzustellen, an wie vielen Stellen man noch unterstützen kann.

Gruß aus Bremen,
Klaus

Beitrag von ChrisB (Specialist / 406 / 8 / 20 ) »
Hallo zusammen,

die Beschäftigung mit dem Userexit macht meiner Meinung nach durchaus Sinn... und die Anforderung lässt sich damit wohl auch abdecken. Ich möchte allerdings die Aufstellung vom Bahnfahrer noch etwas ergänzen. Vermutlich hast Du den Userexit nicht selbst aktiviert sondern "nur" auf einen besthehenden Exit aufgesetzt?! Die Transaktion SMOD ist normalerweise eigentlich primär für die Anzeige der "möglichen" Userexits gedacht... die die Implementierung eines Exits gibt es die Transaktion CMOD. Und ohne dort ein Kundeneigenes Projekt angelegt zu haben und dieses zu aktivieren dürfte eigentlich der Userexit nie durchlaufen werden. D.h. meiner Meinung nach müsste die Reihenfolge so ausssehen:

1. In der CMOD ein neues Projekt anlegen - beim Namen bist Du ziemlich frei... um zukünftig wieder schnell zu erkennen welcher Exit mit dem Projekt implementiert wurde, bin ich inzwischen dazu übergegangen die Projekte gleich zu bennen wie die entsprechenden Exits... im aktuellen Fall also PBAS0001.
2. In der CMOD die Erweiterung PBAS0001 zuordnen.
3. Unter Komponenten gibts dann die bei Funktionsexits EXIT_SAPFP50M_001 und EXIT_SAPFP50M_002. Ab hier kannst Du bei der Nr. 4 vom Bahnfahrer weitermachen...

Wichtig ist noch, dass Du nach der Aktivierung des Codings noch das Projekt aktivieren musst (auf der Einstiegsseite der Transaktion CMOD).

Grüße
Chris

Beitrag von der.bahnfahrer (ForumUser / 38 / 0 / 0 ) »
Hallo Chris,

ich widerspreche Dir nur ungern, aber obwohl schon eine Weile her, so habe ich die Erweiterung genau auf die von mir geschilderte Art und Weise angelegt und nicht etwa auf eine bestehende aufgesetzt.

Ich habe das auch noch einmal gegengecheckt, indem ich im CMOD nach Projekten mit der Erweiterung PBAS0001 gesucht habe. Die gibt es aber nicht. Also entweder bilde ich mir nur ein, dass unsere (nicht wenigen) Routinen funktionieren, oder Deine Richtigstellung ist nicht so ganz korrekt.

Gruß aus Bremen,
Klaus

Beitrag von MarcoS (ForumUser / 23 / 0 / 0 ) »
Ich habs geschafft :) Ich bin über die Transaktions CMOD eingestiegen und habe den Userexit angelegt mit folgendem Coding:

IF innnn-infty NE '0041'.
RETURN.
ENDIF.

IF IPSYST-MASSN EQ 'A1'.

CLASS CL_HR_PNNNN_TYPE_CAST DEFINITION LOAD.
CALL METHOD CL_HR_PNNNN_TYPE_CAST=>PRELP_TO_PNNNN
EXPORTING
PRELP = INNNN
IMPORTING
PNNNN = I0041.
MOVE '02' TO I0041-DAR01.
MOVE IPSYST-BEGDA TO I0041-DAT01.


CALL METHOD CL_HR_PNNNN_TYPE_CAST=>PNNNN_TO_PRELP
EXPORTING
PNNNN = I0041
IMPORTING
PRELP = INNNN.
ENDIF.

Danke nochmals für Eure Hilfe!

Beitrag von ChrisB (Specialist / 406 / 8 / 20 ) »
Hallo Klaus,

mag sein, dass das funktioniert... das habe ich zugegeben noch nie ausprobiert... soweit ich die Dokus verstanden habe ist die SMOD jedefalls nicht zum Anlegen von Kudnenerweiterungen gedacht sondern zum Suchen und Prüfen der von SAP definierten Exits... aber egal. Ich will mich hier ja nicht streiten... wenn es funktioniert, dann soll es mir ja recht sein..

Wenn Du die Doku nachlesen möchtest... ich meine bspw. das hier: http://help.sap.com/saphelp_46c/helpdat ... ameset.htm

Grüße
Chris

Beitrag von der.bahnfahrer (ForumUser / 38 / 0 / 0 ) »
Hallo Chris

irgendwie haben wir wohl beide recht, wobei Dein Vorgehen natürlich formal korrekt ist.

Allerdings ist eine Diskussion hier wohl ohnehin überflüssig, da SAP mehr und mehr zu BADIs übergeht und die alten UserExits quasi Auslaufmodelle sind. (Friedenspfeife zurück reich!!)

Gruß aus Bremen,
Klaus

Beitrag von ChrisB (Specialist / 406 / 8 / 20 ) »
Hallo Klaus,

stimmt natürlich... kann man bei den BAdIs die Implementierung eigentlich auch mit der SE18 anlegen? Das ist ja quasi die alte SMOD... bisher habe ich das immer mit der SE19 gemacht und auch noch nicht anders probiert :D

Grüße aus Stuttgart
Chris

Beitrag von der.bahnfahrer (ForumUser / 38 / 0 / 0 ) »
Hallo Chris,

ich arbeite auch nur mit der se19, direkt oder über IMG.

Gruß, Klaus

Beitrag von MarcoS (ForumUser / 23 / 0 / 0 ) »
Hallo zusammen, noch eine kleine Frage :)
Wie bekomme ich am einfachsten zur Personalnummer? Der Funktionsbaustein HR_ENTRY_DATE braucht ja eine Personalnummer.

Daaaaaaaaaaanke :)

Vergleichbare Themen

7
Antw.
8798
Views
OM und Maßnahmen
von ginotico » 18.08.2008 15:29 • Verfasst in Human Resources
7
Antw.
2956
Views
Datumssubtraktion in der T588Z dyn. Maßnahmen
von danielA. » 11.01.2007 11:42 • Verfasst in Human Resources
1
Antw.
3073
Views
autom. Anlegen von Massnahmen bei QM-Meldung
von whistler » 31.10.2005 12:11 • Verfasst in ABAP® Core
1
Antw.
1695
Views
Log.DB PNP: Infotyp Ergänzende Maßnahmen (0302)
von Stentor » 14.02.2005 16:48 • Verfasst in Human Resources
0
Antw.
997
Views
Dynamische Maßnahmen Sequenz Number
von SaskuAc » 11.03.2019 14:20 • Verfasst in Human Resources

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Interne Tabelle
vor 5 Tagen von black_adept 2 / 133
MaLo-Checker in ABAP
vor einer Woche von A6272 6 / 254

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 64
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 107
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 140