SPRPS im Infotyp löschen

Getting started ... Alles für einen gelungenen Start.
1 Beitrag • Seite 1 von 1
1 Beitrag Seite 1 von 1

SPRPS im Infotyp löschen

Beitrag von flausch110 (ForumUser / 1 / 0 / 0 ) »
Hallo zusammen,

ich bin seit ca. 4 Wochen dabei, mich in ABAP einzuarbeiten.

In diesem Zusammenhang habe ich jetzt die Aufgabe, einen Report zum entsperren gesperrter IT`s zu schreiben.

Im Detail geht es um den IT 2001. Hier existieren Datensätze, die durch den Report entsperrt werden sollen.

Wie gehe ich hier am besten vor?

Meine Idee war, zunächst auch einen Testmodus (luw_mode) zu verwenden. Danach sollte es mit dem FB HR_Maintain_masterdata weitergehen. Nun komme ich hier nicht weiter:

Code: Alles auswählen.

***Deklarationen***

NODES: pernr.


*Typen
TYPES:  BEGIN OF ty_out,
          pernr TYPE persno,         "Personalnummer"
          infty TYPE infty,           "Infotyp"
          begda TYPE d,               "Beginndatum
          endda TYPE d,               "Endedatum
          awart TYPE awart,           "Abwesenheitsart"
          atext TYPE abwtxt,          "Abwesenheitstext"
          uname TYPE aenam,           "letzter Änderer"
          sprps TYPE sprps,           "Merkmal Sperrkennzeichen"
          bemer TYPE char255,         "Bemerkungen
        END OF  ty_out.

*Variablen
DATA: gv_luw_mode  TYPE c,
      sprps TYPE sprps,
      lv_new_begda TYPE begda,
      lv_new_endda TYPE endda.

*Workareas
DATA:   lw_p2001 TYPE p2001,
        lw_out   TYPE ty_out.

*Tabellen
DATA:   lt_pa2001 TYPE TABLE OF p2001,
        gt_out   TYPE TABLE OF ty_out.


***Selektionsbild***

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE title1.
DATA: a_dummy_abwtyp TYPE t554s-subty.
TYPES: ty_abwtyp_range TYPE RANGE OF t554s-subty.

SELECT-OPTIONS: abwtyp FOR a_dummy_abwtyp NO INTERVALS.

SELECTION-SCREEN END OF BLOCK b1.


SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE title2.
PARAMETERS: p_test TYPE c AS CHECKBOX DEFAULT 'X'.

SELECTION-SCREEN END OF BLOCK b2.

*Initialisierung des Bildes

INITIALIZATION.
  title1 = 'Abwesenheitsart'.
  title2 = 'Test'.


***Hauptprogramm***
START-OF-SELECTION.


* Testmodus ohne Ausgabe
  IF p_test IS INITIAL.
    gv_luw_mode = '1'.
  ELSE.
    gv_luw_mode = '3'.
  ENDIF.


*personenebezogene Verarbeitung

  GET pernr.

  SELECT * FROM pa2001 INTO CORRESPONDING FIELDS OF TABLE lt_pa2001 WHERE pernr = pernr-pernr.



  LOOP AT lt_pa2001 INTO  lw_p2001
                    where endda >= pnpbegda
                    and sprps = sprps.



    lw_out-pernr = lw_p2001-pernr.
    lw_out-infty = '2001'.


    PERFORM update_infotype2001 USING lw_p2001
                                      gv_luw_mode
                                CHANGING lw_out.

  ENDLOOP.


FORM update_infotype2001    USING     uw_p2001 TYPE p2001
                                      uv_luw_mode LIKE gv_luw_mode
                             CHANGING uw_out   TYPE ty_out.

  DATA: ls_return          TYPE bapireturn,
        lt_modified_keys   TYPE TABLE OF pskey,
        lt_proposed_values TYPE TABLE OF pprop,
        lw_modified_keys   TYPE pskey,
        lw_proposed_values TYPE pprop.

  FIELD-SYMBOLS: <ls_proposed_values>   TYPE pprop.

  DATA: lv_actio   TYPE actio.
  CLEAR lt_proposed_values.

**Alten Datensatz ändern

  lv_actio = 'EDQ'.

  lw_proposed_values-infty = '2001'.
  lw_proposed_values-fname = 'SPRPS'.
  lw_proposed_values-fval  = ' '.

  APPEND lw_proposed_values TO lt_proposed_values.


  CALL FUNCTION 'HR_MAINTAIN_MASTERDATA'
    EXPORTING
      pernr           = uw_p2001-pernr
      actio           = lv_actio
      begda           = uw_p2001-begda      "<===== !!!
      endda           = uw_p2001-endda      "<===== !!!
      subty           = uw_p2001-subty
      seqnr           = uw_p2001-seqnr
      no_enqueue      = ''
      dialog_mode     = '0'
      luw_mode        = uv_luw_mode
    IMPORTING
      return          = ls_return
    TABLES
      proposed_values = lt_proposed_values
      modified_keys   = lt_modified_keys.

  IF ls_return IS INITIAL.
    CONCATENATE 'Infotypsatz 2001 für PerNr.' uw_p2001-pernr 'erfolgreich abgegrenzt' INTO uw_out-bemer SEPARATED BY space.
  ELSE.
    CONCATENATE ls_return-type ls_return-code ls_return-message INTO uw_out-bemer SEPARATED BY space.
  ENDIF.

  lw_out-begda = uw_p2001-begda.
  lw_out-endda = uw_p2001-endda.

  APPEND uw_out TO gt_out.

ENDFORM.

Für jegliche Tipps, auch für den Einstieg, bin ich sehr dankbar!

VG
Stefan

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


Seite 1 von 1

Vergleichbare Themen

1
Antw.
245
Views
Infotyp anlegen, Zeitpunkt: Infotyp gespeichert
von TomSpeed » 20.03.2023 10:29 • Verfasst in ABAP® für Anfänger
2
Antw.
3746
Views
Infotyp 0105
von Littlered » 20.05.2005 09:37 • Verfasst in ABAP® Core
1
Antw.
1739
Views
Infotyp anlegen
von mamba » 29.11.2007 16:49 • Verfasst in Human Resources
0
Antw.
1705
Views
Infotyp-Bildsteuerung
von ms » 04.09.2006 14:08 • Verfasst in Human Resources
2
Antw.
1768
Views
Infotyp 0028 - Diagnose
von Kerstin » 24.07.2007 15:00 • Verfasst in Human Resources

Über diesen Beitrag

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

Aktuelle Forenbeiträge

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 75

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

PDF-Anzeige unter EDGE
vor 5 Tagen von jocoder 2 / 75

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 4 Wochen von Lucyalison 1 / 132
Group Items auf einer Filterbar
vor 4 Wochen von Bright4.5 1 / 166