Reihenfolge der Infotypen bei dynamischen Massnahmen


SAP R/3 Personamwirtschaft: Personalmanagement, Personalzeitwirtschaft, Personalabrechnung, Veranstaltungsmanagement, Personalentwicklung, Kostenplanung...

Moderatoren: Jan, Steff

Reihenfolge der Infotypen bei dynamischen Massnahmen

Beitragvon MarcoS » 30.07.2008, 20:20

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)
MarcoS
ForumUser
 
Beiträge: 23
Registriert: 07.02.2008, 09:42
Dank erhalten: 0 mal

Sponsor

Alte ABAP-Entwicklerweisheit: Weißt du weder aus noch ein, baust du einen BADI ein

Beitragvon der.bahnfahrer » 30.07.2008, 22:41

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
der.bahnfahrer
ForumUser
 
Beiträge: 38
Registriert: 28.02.2006, 08:54
Wohnort: Bremen
Dank erhalten: 0 mal

Beitragvon donny » 31.07.2008, 08:36

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
donny
Specialist
 
Beiträge: 253
Registriert: 24.02.2006, 08:04
Dank erhalten: 0 mal

Beitragvon MarcoS » 06.08.2008, 10:44

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 :)
MarcoS
ForumUser
 
Beiträge: 23
Registriert: 07.02.2008, 09:42
Dank erhalten: 0 mal

Beitragvon der.bahnfahrer » 06.08.2008, 15:46

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
der.bahnfahrer
ForumUser
 
Beiträge: 38
Registriert: 28.02.2006, 08:54
Wohnort: Bremen
Dank erhalten: 0 mal

Beitragvon MarcoS » 06.08.2008, 20:53

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
MarcoS
ForumUser
 
Beiträge: 23
Registriert: 07.02.2008, 09:42
Dank erhalten: 0 mal

Beitragvon der.bahnfahrer » 06.08.2008, 22:47

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
der.bahnfahrer
ForumUser
 
Beiträge: 38
Registriert: 28.02.2006, 08:54
Wohnort: Bremen
Dank erhalten: 0 mal

Beitragvon ChrisB » 07.08.2008, 06:47

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
ChrisB
Specialist
 
Beiträge: 406
Registriert: 25.02.2006, 22:29
Wohnort: Höfingen
Dank erhalten: 20 mal
Ich bin: Berater/in

Beitragvon der.bahnfahrer » 07.08.2008, 09:40

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
der.bahnfahrer
ForumUser
 
Beiträge: 38
Registriert: 28.02.2006, 08:54
Wohnort: Bremen
Dank erhalten: 0 mal

Beitragvon MarcoS » 07.08.2008, 13:34

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!
MarcoS
ForumUser
 
Beiträge: 23
Registriert: 07.02.2008, 09:42
Dank erhalten: 0 mal

Beitragvon ChrisB » 07.08.2008, 18:38

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
ChrisB
Specialist
 
Beiträge: 406
Registriert: 25.02.2006, 22:29
Wohnort: Höfingen
Dank erhalten: 20 mal
Ich bin: Berater/in

Beitragvon der.bahnfahrer » 08.08.2008, 09:28

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
der.bahnfahrer
ForumUser
 
Beiträge: 38
Registriert: 28.02.2006, 08:54
Wohnort: Bremen
Dank erhalten: 0 mal

Beitragvon ChrisB » 08.08.2008, 22:19

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
ChrisB
Specialist
 
Beiträge: 406
Registriert: 25.02.2006, 22:29
Wohnort: Höfingen
Dank erhalten: 20 mal
Ich bin: Berater/in

Beitragvon der.bahnfahrer » 14.08.2008, 08:20

Hallo Chris,

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

Gruß, Klaus
der.bahnfahrer
ForumUser
 
Beiträge: 38
Registriert: 28.02.2006, 08:54
Wohnort: Bremen
Dank erhalten: 0 mal

Beitragvon MarcoS » 14.08.2008, 15:35

Hallo zusammen, noch eine kleine Frage :)
Wie bekomme ich am einfachsten zur Personalnummer? Der Funktionsbaustein HR_ENTRY_DATE braucht ja eine Personalnummer.

Daaaaaaaaaaanke :)
MarcoS
ForumUser
 
Beiträge: 23
Registriert: 07.02.2008, 09:42
Dank erhalten: 0 mal

Nächste

Zurück zu Human Resources

  Aktuelle Beiträge   
Steuerliches Abgangsland in Verkaufsbeleg ändern
vor 4 Stunden von Julia611 0 Antw.
XML hochladen, Abschnitte suchen, Abschnitte als XML zurück
vor 3 Stunden von deejey 1 Antw.
(LKW)Bedarfsvorschau je Debitor
vor 2 Tagen von wreichelt 5 Antw.
Lieferplan, Einteilungen, Feinabrufe
vor 2 Tagen von bapimueller 0 Antw.
gelöst Smartforms Struktur rechtsbündig
vor 3 Tagen von qyurryus 3 Antw.

  Ähnliche Beiträge beta
OM und Maßnahmen
11.08.2009, 12:09 von Amerett 7 Antw.
Datumssubtraktion in der T588Z dyn. Maßnahmen
16.01.2007, 15:30 von donny 7 Antw.
Log.DB PNP: Infotyp Ergänzende Maßnahmen (0302)
15.02.2005, 10:35 von Gast 1 Antw.
Dynamische Maßnahmen Sequenz Number
11.03.2019, 14:20 von SaskuAc 0 Antw.
welche ergänzenden Massnahmen istehen m IT 0302 ?
23.06.2005, 17:15 von Stentor 2 Antw.

 

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder