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.
4337
Views
write ausgeben vor Selektionsbildschirm ausgeben
von bohne » 14.02.2006 12:50 • Verfasst in ABAP® für Anfänger
1
Antw.
6113
Views
Fehlermeldung ausgeben
von phil1982 » 12.12.2007 14:50 • Verfasst in ABAP® für Anfänger
4
Antw.
1448
Views
Smartformstabelle ausgeben
von datatom » 26.07.2010 09:46 • Verfasst in ABAP® Core
2
Antw.
3441
Views
Vorjahr ausgeben
von kaim77 » 24.02.2014 10:08 • Verfasst in ABAP® für Anfänger
2
Antw.
2127
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

Dialog-Container mit Toolbar/Status
vor 3 Stunden von DeathAndPain gelöst 20 / 2473
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1612

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

Dialog-Container mit Toolbar/Status
vor 3 Stunden von DeathAndPain gelöst 20 / 2473
SAP Trial Version für SAP Fiori
vor 2 Tagen von tar 2 / 1612

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 676
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2308
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8891