Namenänderungen ausgeben

Getting started ... Alles für einen gelungenen Start.
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

Namenänderungen ausgeben

Beitrag von jeyloeso (ForumUser / 29 / 6 / 0 ) »
Hallo alle Abapmitglieder,

ich möchte die Mitarbeiter mit Personalnummer, Name, Vorname und Adresse ausgeben. Die Daten werden nur dann ausgespielt, wenn die Adresse oder Namen zwischen letztem Lauf und sy-datum geändert wurde.

Code: Alles auswählen.

*  Selektion Daten zur Person
  SELECT pernr vorna nachn gbdat name2  FROM pa0002
    INTO (wa_empl-empnosap, wa_empl-firstname, wa_empl-lastname, l_gbdat, l_name2)
   WHERE begda <= sy-datum
     AND endda >= sy-datum.

    IF NOT l_gbdat IS INITIAL.
      CONCATENATE l_gbdat+0(4)  l_gbdat+4(2)  l_gbdat+6(2) INTO wa_empl-dbirth.
    ENDIF.

*    Selektion Anschriften zur Person
    SELECT land1 pstlz ort01 stras endda FROM pa0006
      INTO (wa_empl-country, wa_empl-zipcode, wa_empl-city, wa_empl-street1, l_dummy)
     WHERE pernr =  wa_empl-empnosap
       AND begda <= sy-datum
       AND endda >= sy-datum
       AND aedtm BETWEEN  w_zidat-datum AND l_gestern
      ORDER BY endda ASCENDING.
    ENDSELECT.

*   Es wurde eine Adressänderung gefunden, die eine Änderung hat.
    IF sy-subrc EQ 0.
      CLEAR: l_eintritt, l_datum.
*
*     Selektion Ein-/Austritt
      SELECT begda FROM pa0000 INTO l_eintritt
                          WHERE pernr = wa_empl-empnosap
                            AND massn IN ('01','12','19','20','32','52','63')
                            ORDER BY begda ASCENDING.

      ENDSELECT.
      IF NOT l_eintritt IS INITIAL.
        CONCATENATE l_eintritt '000000'  INTO wa_empl-timestampfrom.
      ENDIF.

      CLEAR : l_datum, l_dummy.
      SELECT begda endda FROM pa0000 INTO (l_datum, l_dummy)
                          WHERE pernr = wa_empl-empnosap
                            AND begda >=  l_eintritt
                            AND massn IN ('10','30','54','64')
                          ORDER BY endda ASCENDING.
      ENDSELECT.

      IF NOT l_datum IS INITIAL.
        CONCATENATE l_datum '000000'  INTO wa_empl-timestampto.
      ENDIF.

*     In Ausgabetabelle.
      PERFORM in_ausgabe_tabelle.

    ELSE.
*     Überprüfe auf Änderung Ein/Ausrittsdatum
      SELECT begda FROM pa0000 INTO l_datum
                          WHERE pernr = wa_empl-empnosap
                            AND aedtm BETWEEN  w_zidat-datum AND l_gestern
                            AND massn IN ('01','12','19','20','32','52','63','10','30','54','64').
      ENDSELECT.

      IF sy-subrc EQ 0.
*   Es wurde eine Namenänderung gefunden

        SELECT pernr vorna nachn gbdat name2  FROM pa0002
          INTO (wa_empl-empnosap, wa_empl-firstname, wa_empl-lastname, l_gbdat, l_name2)
          WHERE pernr = wa_empl-empnosap
            AND   aedtm BETWEEN w_zidat-datum AND sy-datum
            AND   begda <= sy-datum
            AND   endda >= sy-datum.


          IF NOT l_gbdat IS INITIAL.
            CONCATENATE l_gbdat+0(4)  l_gbdat+4(2)  l_gbdat+6(2) INTO wa_empl-dbirth.
          ENDIF.
          ENDSELECT.
*
          CLEAR: l_eintritt, l_datum.
          SELECT land1 pstlz ort01 stras endda FROM pa0006
            INTO (wa_empl-country, wa_empl-zipcode, wa_empl-city, wa_empl-street1, l_dummy)
           WHERE pernr =  wa_empl-empnosap
             AND begda <= sy-datum
             AND endda >= sy-datum
           ORDER BY endda ASCENDING.
          ENDSELECT.
*       Selektion Ein-/Austritt
          SELECT begda FROM pa0000 INTO l_eintritt
                              WHERE pernr = wa_empl-empnosap
                                AND massn IN ('01','12','19','20','21','32','52','63')
                                ORDER BY begda ASCENDING.
          ENDSELECT.
          IF NOT l_eintritt IS INITIAL.
            CONCATENATE l_eintritt '000000'  INTO wa_empl-timestampfrom.
          ENDIF.

          CLEAR : l_datum, l_dummy.
          SELECT begda endda FROM pa0000 INTO (l_datum, l_dummy)
                              WHERE pernr = wa_empl-empnosap
                                AND begda >=  l_eintritt
                                AND massn IN ('10','30','54','64')
                              ORDER BY endda ASCENDING.
          ENDSELECT.
          IF NOT l_datum IS INITIAL.
            CONCATENATE l_datum '000000'  INTO wa_empl-timestampto.
          ENDIF.

*       In Ausgabetabelle.
          PERFORM in_ausgabe_tabelle.
        ENDIF.

      ENDIF.
      CLEAR wa_empl.

    ENDSELECT.
Ich habe in System einen Name geändert aber es ist nicht ausgespielt. Wo liegt das Problem bitte?

Schöne Grüße,
Jeyloeso

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


Re: Namenänderungen ausgeben

Beitrag von jeyloeso (ForumUser / 29 / 6 / 0 ) »
Bitte um Hilfe,

Schöne Grüße,

Jeyloeso

Seite 1 von 1

Vergleichbare Themen

8
Antw.
4347
Views
write ausgeben vor Selektionsbildschirm ausgeben
von bohne » 14.02.2006 12:50 • Verfasst in ABAP® für Anfänger
1
Antw.
6119
Views
Fehlermeldung ausgeben
von phil1982 » 12.12.2007 14:50 • Verfasst in ABAP® für Anfänger
4
Antw.
1451
Views
Smartformstabelle ausgeben
von datatom » 26.07.2010 09:46 • Verfasst in ABAP® Core
2
Antw.
3446
Views
Vorjahr ausgeben
von kaim77 » 24.02.2014 10:08 • Verfasst in ABAP® für Anfänger
2
Antw.
2132
Views
Feldbezeichner ausgeben?
von newbie007 » 25.11.2011 13:36 • Verfasst in ABAP® für Anfänger

Über diesen Beitrag

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

Aktuelle Forenbeiträge

Trennen Strasse und Hausnummer
vor einer Stunde von ralf.wenzel 21 / 11227
Dialog-Container mit Toolbar/Status
vor 22 Stunden von black_adept gelöst 27 / 4328
IT0024 Qualifikationen CP-ID
Gestern von ArjenR 1 / 219

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

Trennen Strasse und Hausnummer
vor einer Stunde von ralf.wenzel 21 / 11227
Dialog-Container mit Toolbar/Status
vor 22 Stunden von black_adept gelöst 27 / 4328
IT0024 Qualifikationen CP-ID
Gestern von ArjenR 1 / 219

Unbeantwortete Forenbeiträge

IT0024 Qualifikationen CP-ID
Gestern von ArjenR 1 / 219
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 3150
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9743