Page 1 of 1

Funktionsbaustein "HR_INFOTYPE_OPERATION"

PostPosted: Thu Dec 09, 2004 12:24 pm
by Alva1590
Hallo miteinander,
ich würde gerne den Funktionsbaustein "HR_INFOTYPE_OPERATION" verwenden.

In der (recht spärlichen Doku) steht das der FB
folgende Operationen unterstützt: ändern, kopieren,
löschen, einfügen und abgrenzen.

Meine Frage wäre ob der FB auch sperren kann? Oder
kennt jemand vielleicht eine andere möglichkeit?
(Batch Input ist aufgrund der hohen Datenmenge zu
inperfomant).

Bin für jeden Tipp dankbar,
Gruß

Andi

PostPosted: Thu Dec 09, 2004 1:47 pm
by Philippa2744
Moin,

der Baustein 'HR_MAINTAIN_MASTERDATA' macht eine Sperre über die Personalnummer. Siehe hier:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   IF NO_ENQUEUE IS INITIAL.
  2.     IF PSPAR-PERNR NE SPACE OR PSPAR-PERNR NE '00000000'.
  3.       PERFORM ENQUEUE_PERNR(SAPFP50G)
  4.                        USING PSPAR-PERNR ' '.
  5.  
  6.  
GeSHi ©


Dieser Baustein wird aufgerufen vom 'HR_INFOTYPE_OPERATION'. Der Aufruf erfolgt aber mit der Option 'NO_ENQUEUE', was dazu führt, daß keine Sperre gesetzt wird. Siehe hier:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.   CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
  2.        EXPORTING
  3.             PERNR           = NUMBER
  4.             ACTIO           = OPERATION
  5.             TCLAS           = TCLAS
  6.             BEGDA           = VALIDITYBEGIN
  7.             ENDDA           = VALIDITYEND
  8.             OBJPS           = OBJECTID
  9.             SEQNR           = RECORDNUMBER
  10.             SPRPS           = LOCKINDICATOR
  11.             SUBTY           = SUBTYPE
  12.             LUW_MODE        = LUW_MODE
  13.             DIALOG_MODE     = DIALOG_MODE
  14.             NO_ENQUEUE      = 'X'
  15.  
  16.  
GeSHi ©


Eine Lösung wäre möglicherweile, den Perform vorher aufzurufen, wenn das erforderlich sein sollte:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.       PERFORM ENQUEUE_PERNR(SAPFP50G)
  2.                        USING PSPAR-PERNR ' '.
  3.  
GeSHi ©


Ciao, LoLo

PostPosted: Thu Dec 09, 2004 4:53 pm
by Alva1590
Hi,

meinst Du das Sperren der entsprechenden Personalnummer, oder das Sperren einzelner Infotypsätze.

Falls zweiteres der Fall ist müsstest Du den Parameter 'OPERATION' beim HR_INFOTYPE_OPERATION mit dem Wert 'EDQ' beschicken.

Gruß

Dieter

PostPosted: Thu Dec 09, 2004 5:13 pm
by Alva1590
Hallo,

danke für eure Antworten.

Ich meinte das Sperren von Infotyp-Sätzen!
Vielen danke Dieter. Ich hatte vermuttet das
es "EDQ" ist, wie auch bei Batch Input aber
die Idee kamm mir auch erst nachdem ich hier
geschrieben hatte!

Gruß
Andi

PostPosted: Fri Dec 10, 2004 1:45 pm
by Yannic4553
Hallo,

nur zur Info:

Zum sperren eines Personalstammsatzes gibt es z. B. das folgende BAPI:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.       CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
  2.         EXPORTING
  3.           number = wa_data-pernr
  4.         IMPORTING
  5.           return = lv_return_struc.
  6.  
GeSHi ©


Zum entsprerren eines Personalstammsatzes:

Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
  1.         CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'
  2.           EXPORTING
  3.             number = wa_data-pernr.
  4. *     IMPORTING
  5. *       RETURN        =
GeSHi ©


Gruß
Stentor