20100802 Technical Concept LS2 Enhancements De

Embed Size (px)

Citation preview

1 Berechtigungen (Implementierung Berechtigungen in Projektauslsung)

Verweis

1DYN-N UI Dynpro Neu 1.4 2.26 2.27.2

Haupt-index Kategorie Check Stufe Referenz Fachkonzept

a) Anlage neues Berechtigungsobjekt Entsprechend der Tabelle 2: Anzeige/Verwaltungsrechte AplauS (siehe Abschnitt 1.4.4.2 in Fachkonzept) wird ein neues Berechtigungsobjekt (B-Objekt) fr Projektbedarfsauslsung erzeugt. Alle bestehenden Berechtigungsobjekte (B-Objekte) sind im folgenden Dokument dokumentiert: Rollen_AplauS 2009 12 11. Die Namenskonvention fr neue Berechtigungsobjekte ist:

Z_APS_PBKF, Z_APS_PBPO, Z_APS_TVPS. Sie soll in der Objektklasse ZAPS eingebunden sein. Der untenstehende Screenshot zeigt die Transaktion SU21 zur Pflege von Berechtigungsobjekten.

b) Zuweisung des neuen Berechtigungsobjekts zu einer RolleEs wird eine neue Konstrukteur-Rolle (SKE) erzeugt. Dafr wird wie folgt vorgegangen: Kopieren der bestehenden SKF Rolle /BMW/APSC:APLAUS_SKF nderung des Namens auf /BMW/APSC:APLAUS_SKE Erweiterung des Profils mit den neu erzeugten Werten In Transaktion PFCG, Kopieren der Rolle und Erweiterung des Tabs Berechtigungen mit dem neuen Berechtigungsobjekt , z.B.: Z_APS_PBKF

2 - Berechtigungen

Verweis Haupt-index Kategorie Check Stufe Referenz Fachkonzept

2DYN-N UI Dynpro Erweiterung Stufe 1 1.4.4.2

Fortfhrend zu Abschnitt 1 (Implementierung Berechtigungen in Projektauslsung) wird die Methode CHECK_AUTHORITY zur bestehenden Klasse /BMW/APS_CL_USER_MANAGEMENT angefgt. Die neue Methode berprft Benutzerberechtigungen fr verschiedene Aktivitten bei Projektbedarfsauslsung Kopf oder Position. Den Namenskonventionen entsprechend muss eine neue Berechtigungsmethode (Authorization method) wie folgt benannt werden: CHECK_AUTHORITY_PBA.

Die Logik der Methode CHECK_AUTHORITY_PBA entspricht jener der bereits bestehenden Methode wie z.b. CHECK_AUTHORITY_BT (Berechtigungsprfung Bedarfstrger). Dabei soll wie folgt auf Werte geprft werden: Fr KopfAUTHORITY-CHECK OBJECT 'Z_APS_PBKF' ID 'Z_APS_ACTV' FIELD pi_actvt.

Fr PositionAUTHORITY-CHECK OBJECT 'Z_APS_PBPO' ID 'Z_APS_ACTV' FIELD pi_actvt ID 'Z_APS_G_STAT' FIELD pi_stat. ID 'Z_APS_G_FB' FIELD pi_fb.

Es ist zu beachten, dass bei jeder einzelnen Aktion auf Projektbedarfsauslsung Kopf oder Position Berechtigungsprfungen durchgefhrt werden mssen. Siehe folgendes Beispiel: Methode zum Hinzufgen von Kopf fr Projektbedarfsauslsung. Der Name der Methode ist

APPEND_ROW. Im Krper (body) muss nun eine Methode implementiert werden die Berechtigungen zum Hinzufgen oder Erzeugen prft:lf_allow = /bmw/aps_cl_user_management=>check_authority_pba(

pi_actvt = 01 Creation pi_verw = SY-UNAME Verwender pi_erst = SY-UNAME Ersteller ).

Die obenstehende Methode wird mit der main Methode fr Berechtigungsprfung aufgerufen. Aufruf erfolgt also mit der Methode: /bmw/agf_if_appl_object~check_authority 1. Das Erscheinungsbild von Down ALV grid mit Positionen ist abhngig von der Rolle des Benutzers. Zum Beispiel erhalten Benutzer mit der Rolle Versuchsteilesteuerer (VST) / Modulleiter (ML) zwei zustzliche Buttons in der Statuszeile (siehe Screenshot unten). Fr andere Benutzerrollen sind beide Buttons nicht sichtbar.

Die Methode die alle Buttons aufruft ist HANDLE_TOOLBAR. Es ist eine Implementierung der vererbten Methode von der Klasse /BMW/AGF_CL_GUI_BASE_GRID. Die Implementierung ist eingeschlossen in die Klasse /BMW/APS_CL_GUI_PROJ_PBA_KOPF und in die Superklasse /BMW/AGF_CL_GUI_BASE_GRID Die Klasse /BMW/APS_CL_GUI_PROJ_PBA_KOPF wurde speziell fr Auslsung Projektbedarfe erzeugt und befindet sich im Package /BMW/APS_APPL_OBJECTS mit dem Subpackage /BMW/APS_AO_AUSL Die Methode /bmw/aps_cl_user_management=>check_authority_pba wird innerhalb der Methode HANDLE_TOOLBAR implemeniert. Sie berprft auch ob die Aktion von ML oder VTS stammt und aktiviert bzw. deaktiviert die Anzeige der Buttons. Somit betrifft die Aktion ebenso die Anzeige des ALV grid. Berechtigungsobjekte Zustzlich zu den bestehenden Berechtigungsobjekten mssen neue erzeugt werden. In folgender Darstellung sind die Berechtigungsobjekte aufgelistet: Name Felder Werte mglich BeschreibungBerechtigungsobjekt fr Anzeige/Pflege Kopf Projektbedarfsauslsung Aktivitt 06 steht fr stornieren Berechtigungsobjekt fr Anzeige/Pflege Position Projektbedarfsauslsung

Z_APS_PBKF Z_APS_ACTVT Z_APS_PBPO 01, 02, 03, 06, EMA

Z_APS_ACTVT Z_APS_G_STAT

01, 02, 03, 06 Abgelehnt

Aktivitt 06 steht fr stornieren Statuswerte, die nur von berechtigten Anwendern gesetzt werden drfen ??? Falls Sie dies fr sinnvoll halten, knnen wir auch die weiteren Statuswerte aufnehmen?

Z_APS_G_FB Z_APS_TVPS

bergabe an VEMA VEMA-bergabe fehlerhaft EA, EF, EI, EK

Z_APS_ACTVT Z_APS_G_FB

01, 02, 03, 06 EA, EF, EI, EK

Fachbereich, der die speziellen Statuswerte setzen darf Berechtigungsobjekt fr Anzeige/Pflege Zuordnungstabelle ML/VTS fr Projektbedarfe Aktivitt Fachbereich

3 - Anzeigegruppierung / Filter allgemeinVerweis

3DYN-E UI Dynpro Erweiterung Stufe 1

Haupt-index Kategorie Check Stufe Referenz Fachkonzept

2.4.4

1. Die Anzeigegruppierung wird um die zustzliche Option Projektbedarfsauslsung erweitert. Dabei ist folgende wichtige Anmerkung zu bercksichtigen: Alle nderungen im Quellcode mssen wie folgt gekennzeichnet sein: Insert 001 QX19964/20100628 (CAP)

*------------- Begin

*------------- End of Insert 001 QX19964/20100628 (CAP)

Weiters muss bercksichtigt werden, dass vor jeder nderung oder Ergnzung im freigegebenen Quelltext von LS1 die im folgenden Dokument beschriebene Funktion angewandt werden soll:

\\mucfs1\bmw\L5-9_AplauS\01_AplauS_LS2\00 Allgemein\ 20100630_UserCheckForLS2Implementation.docx

Die Funktion berprft, ob der eingeschlossene Code fr den aufrufenden Benutzer aktiviert werden soll. Jede Durchfhrung dieser berprfung muss im Dokument Change_Tracker.xlsx dokumentiert werden Bei der Implementierung ist folgende Regel zu beachten: Es drfen keine Objekte gendert werden, die bereits fr LS1 freigegeben wurden! Dies trifft gleichermaen auf Texte zu, z.B. TEXT-NNN. nderungen im bestehenden Code drfen keine Auswirkungen auf die Logik von LS1 haben! Weiters werden folgende Erweiterungen umgesetzt: Anzahl der Eintrge in Anzeigegruppierung Erzeugung von Abhngigkeit zwischen Anzeigegruppierung und Selektionsziel nderung der Abhngigkeit zwischen Anzeigegruppierung und Filter-Felder

a) Anzahl der Eintrge in Anzeigegruppierung Die Anzahl der Eintrge in Anzeigegruppierung (listbox) betrgt 6 Eintrge: Wert Alle Felder Anzeigen AplauS-Zeile Projektbedarf Bedarfstrger Reifevereinbarung Stckzahlen genehmigen Shortcut ALL APS PBA PBB RVE STG

Folgende Schritte mssen dabei bercksichtig werden: Erweiterung der Domne um die Werte der Auflistung in Tabelle: /BMW/APS_FL_ANZGRP Hinzufgen eines neuen Objekts zur Methode /BMW/AGF_IF_CONTROLLER~SET_FIELD_CAT der Klasse /BMW/APS_CL_GUI_SEARCH_BMW Neue Objekte sind Konstante (siehe unten). Diese Werte sollen der internen Tabelle lt_combo_listbox hinzugefgt werden. Die Tabelle wird als listbox in der Transaktion AplauS angezeigt. SC_ANZGRUPPE_VAL_PBA Projektbedarfe PBA SC_ANZGRUPPE_VAL_RVA Reifevereinbarung RVA Constant Private Type CHAR20 Anzeigeliste:

Constant

Private Type

CHAR20

Anzeigeliste:

SC_ANZGRUPPE_VAL_STG Constant Stckzahlen genehmigen STG

Private Type

CHAR20

Anzeigeliste:

-

Weiters werden neue Textelemente hinzugefgt. Beschreibungen im Hauptbildschirm (main screen) fr AplauS LS1 stammen nicht vom Datenelement Beschreibung, sondern vom erzeugten Objekt TEXT-NNN

b) Erzeugung von Abhngigkeit zwischen Anzeigegruppierung und Selektionsziel Zwischen Anzeigegruppierung und Selektionsziel soll eine Abhngigkeit bestehen. Eine detaillierte Beschreibung findet sich in CR079_Selektionsreihenfolge_v4a_CG-KHS.xls. Basierend auf dem ausgewhlten Wert in Anzeigegruppierung, soll die Listbox fr das Selektionszeiel entsprechende Werte enthalten.

Bei der Umsetzung muss wie folgt vorgegangen werden: Prfung, ob Anzahl der Werte in den Tabellen /BMW/APS_UINV und /BMW/APS_UICT genau den Werten der untenstehenden Auflistung entspricht (Werte wurden aus CR079_Selektionsreihenfolge_v4a_CG-KHS.xls kopiert). Wenn die Werte unvollstndig sind mssen die fehlenden Werte aus der maintainance view /BMW/APS_VUINV in die customizing Tabelle eingefgt werden

Sttzstelle AplauS-Objektmatrix KMG-Zuordnung Reifevereinbarung Planzahlen und Kosten Bedarfe gesamt Sttzstelle - Bedarfstrger Bedarfserfassung Planen PB (Kopf) Auslsen PB (Kopf) TA-ID Pflege Bauteilangebot Planen Einzelbedarfe Auslsen PB Einzelbed. Lieferantenstatus Werkzeugstatus MMG-Zuordnung Kantenverwaltung Sachnummer-Zuordnung Abgrenzung Standardfilter TA VTS/ML Genehmigungszuordnung

-

Beispiel fr Abhngigkeit

Whlt ein Benutzer einen Wert Reifevereinbarung von der Anzeigegruppierung (listbox), dann soll das Selektionsziel (listbox) nur mit folgenden Werten befllt werden: Sttzstelle

AplauS-Objektmatrix Reifevereinbarung Bauteilangebot Diese nderung erfordert die Erzeugung einer neuen customizing Tabelle /BMW/APS_ RESZIEL. Die Beschreibung der Sortierreihenfolge nach Nutzungshufigkeit besteht aus zwei Feldern CONTROL_NAME type /BMW/APS_NM_CTRL_NAME, ANZGRP type /BMW/APS_FL_ANZGRP im Package /BMW/APS_CUSTOMIZING Eine neue Klasse /BMW/APS_CL_RESZIEL wird erzeugt. Darin wird das Interface /BMW/APS_IF_CUSTOMIZING~PREREAD mit der Methode PREREAD implementiert. Die Methode liest Daten von der Tabelle /BMW/APS_ RESZIEL und speichert sie in Attribut Tabelle MT_RESZIEL. Die Attribut Tabelle MT_RESZIEL soll in der Klasse BMW/APS_CL_GUI_SEARCH_BMW sichtbar sein. Basierend auf den gewhlten Werten in der listbox Anzeigegruppierung, die Tabelle MT_RESZIEL soll mit dem Schlssel ANZGRP in der Methode /BMW/AGF_IF_CONTROLLER~SET_FIELD_CAT gefiltert werden. Gefilterte Werte sollen als ein Filter verwendet werden um die notwendigen Werte aus der Tabelle lt_combo_listbox, Zeile 273 auszulesen. Demnach sollen Werte in lt_combo_listbox beschrnkt sein auf die Werte von MT_RESZIEL nachdem die Anzeigegruppierung gefiltert wurde. Diese Action ist gekapselt in der Methode RESTRICT_SELECTIONZIEL einen Schritt vor Aufruf der Methode: CALL METHOD me->create_html_select_element_hdr c) nderung der Abhngigkeit zwischen Anzeigegruppierung und Filter Felder Die bereits bestehende Tabelle /BMW/APS_FSEL Steuerungstabelle fr Selektionsfelder Mandanten bergreifend wird mit einem neuen Feld erweitert. Die bestehende Tabelle ist nicht skalierbar. Die Nutzung der Tabelle wird schwierig wenn die Anzahl der Anzeigegruppierung und Filterfelder steigt. Aus diesem Grund muss die Tabelle mit einer Dictionary Table erweitert werden. Das neue Feld in der Tabelle /BMW/APS_FSEL soll wie folgt definiert werden: Name des neuen Feldes FLTR Mit Datenelement und Domain: /BMW/APS_FL_FLTR Beschreibung beider Elemente: Anzeigegruppierung zu FilterFelder relation Feld Datentyp: NUMC2, zwischen ANZGRP und EQ

Unmittelbar nach der Erzeugung des Feldes, soll auch das neue Dictionary erzeugt werden. Die Dictionary Tabelle wird wie folgt erzeugt:

-

-

-

Name des Dictionary Tables /BMW/APS_FLTRANZ Mit Feldern: o FLTR type /BMW/APS_FL_FLTR keyfield o ANZGRP type /BMW/APS_FL_ANZGRP ANZGR o AT_ART type /BMW/APS_FL_AT_ART for optional Filter-Fields Domain /BMW/APS_FL_AT_ART wir erweitert mit: o B- PBA-Projektbedarf o S- STG-Stckzahlen genehmigen o R- RVE-Reifevereinbarung Beschreibung: gleich wie Datenelement und Domain /BMW/APS_FL_FLTR

Beispiele von Eintrgen in der Tabelle: Die Eintrge in der neuen Tabelle entsprechen der Anzahl an Anzeigegruppierung zu der das FilterField zugewiesen ist

Table /BMW/APS_FSEL

FilterField Motorbaugruppe

FLTR 01 ANZGRP ALL APS PBA PBB STG AT_ART empty A B P S

/BMW/APS_FLTRANZ FLTR 01 01 01 01 01

Als weiteren Schritt wird die Methode /BMW/APS_IF_CUSTOMIZING~PREREAD aus der Klasse BMW/APS_CL_FSEL erweitert. Bisher erfolgt die einfache Selektion (simple selection) von der Tabelle /BMW/APS_FSEL. Aufgrund der Erweiterung der Tabelle durch ein neues Feld und der entsprechenden Dictionary Tabelle, erfolgt die Auswahl nun ber zwei Schritte: Lesen von Tabelle /BMW/APS_FSEL Durchlaufen von Auswahl ber die Tabelle /BMW/APS_FL_FLTR und Lesen von zustzlichen Daten wie ANZGRP & AT_ART. Ein Join zwischen den beiden Tabellen /BMW/APS_CL_FSEL und /BMW/APS_FL_FLTR ber das Feld FLTR

Bisher dupliziert die interne Tabelle MT_FSEL fr jede einzelne Anzeigegruppierung (ist gut fr eine saubere Selektion von Filterfeldern). Die Logik in Methode /BMW/AGF_IF_CONTROLLER~SET_FIELD_CAT soll an die neuen Erweiterungen angepasst werden:

Alte Logik: Attribute MT_FSEL, field ANZGRP ist leer FilterField wird zwischen allen Anzeigegruppierungen geteilt Attribute MT_FSEL, field ANZGRP ist nicht leer, z.B. APS FilterField wird nur gezeigt, wenn Anzeigegruppierung = APS

Neue Logik: Jeder einzelne Eintrag von MT_FSEL hat ein Feld ANZGRP & AT_ART. Dieses Feld ist derart gewartet dass es so einfach wie mglich ist, ein Filter Field zur ausgewhlten Anzeigegruppe zuzuweisen. Folgendes gilt es zu bercksichtigen: Diese Felder haben keine SuchhilfeMethode. Daher gibt es eine adquate private Selektionsreihenfolge (_v4a_CG-KHS.xls): Rot-Markierte Felder (ebenfalls neu, siehe CR079_Selektionsreihenfolge_v4a_CG-KHS.xls): - Nr. Projektbedarfsauslsung - Status Projektbedarfsauslsung - Auftragsart SHLP_PBA_STAT und SHLP_PBA_AUFART werden in der Klasse /BMW/APS_CL_GUI_SEARCH_BMW implementiert.

4 - Anzeigegruppierung BedarfstrgerVerweis

4DYN-E UI Dynpro Erweiterung Stufe 1

Haupt-index Kategorie Check Stufe Referenz Fachkonzept

2.4.6

Es werden Filterkriterien angepasst. Dabei werden einige Felder entfernt und andere hinzugefgt. Folgende Auflistung zeigt die entsprechenden nderungen:

-

Hinzufgen von neuem Textelement Name fr Objekt vw_name. Entfernen von Textelement text-057 (Nachname, Verwender). Die Suchhilfe bleibt dabei bestehen. Hinzufgen von neuem Textelement Kurzzeichen fr Objekt vw_abt. Entfernen von Textelement text-058 (Kurzzeichen, Verwender). Die Suchhilfe bleibt dabei bestehen. Der Text Name, Vertreter wird gelscht oder in folgender Customizing Tabelle deaktiviert: /BMW/APS_VFSEL. Text-077 kann dabei bestehen bleiben.

5 - Anzeigegruppierung ProjektbedarfeVerweis

5DYN-E UI Dynpro Erweiterung Stufe 1

Haupt-index Kategorie Check Stufe Referenz Fachkonzept

2.4.7

Topic open. Work around prepared with _TEMP entries.

Verweis

6DYN-E UI Dynpro Erweiterung Stufe 1 2.5.3

Haupt-index Kategorie Check Stufe Referenz Fach-konzept

6 - Sttzstelle ElementeEin neuer Wert ungeplant fr das Feld Projektart wird hinzugefgt. Die Werte fr das Feld Projektart sind in folgender transparenten Tabelle gespeichert: /BMW/APS_PRJARTT. Um neue Werte fr das Feld Projektart hinzuzufgen, existiert eine Maintainance View: /BMW/APS_VPRJART. Bitte anschlieend testen gegen Suchhilfe: /BMW/APS_PRJARTID_H

7 - Projektbedarfe (Kopf) ElementeVerweis

7DYN-E UI Dynpro Erweiterung Stufe 1 2.6.3

Haupt-index Kategorie Check Stufe Referenz Fach-konzept

Die Struktur von Projektbedarfe (Kopf) wird um ein zustzliches Feld Auslsung Projektbedarf ergnzt. Wenn ein PW-Kopf (Projektbedarfsauslsung) zur PP-Nummer existiert, wird das Feld mit X gekennzeichnet. Projektbedarfe (Kopf) befindet sich in folgender Struktur /BMW/APS_TS_GUI_BED_TR. In der Klasse /BMW/APS_CL_GUI_BD_TR und in dazugehriger Methode /BMW/AGF_IF_CONTROLLER~SET_DATA wird geprft, ob ein PW-Kopf (Projektbedarfsauslsung) zu einer PP-Nummer existiert. Wenn existent, wird das Feld mit X gekennzeichnet.

Selektionsziel = Sttzstelle-Bedarfstrger

Middle ALV = Sttzstelle-Bedarfstrger

9 - Projektbedarfe (Kopf) Aktion Auslsung

Verweis Haupt-index Kategorie Check Stufe Referenz Fachkonzept

9DYN-E UI Dynpro Erweiterung Stufe 1 2.6.4

10 - Auslsung Pojektbedarfe (Kopf)

Verweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept

10UI Dynpro Neu LP1 2.27.1 2.27.3

Zeilen aus der neu erzeugten Tabelle /BMW/APS_PBAK sollen in mittlerer ALV Grid angezeigt werden. Bei Auswahl von Auslsen PB (Kopf) werden die Zeilen im Selektionsziel listbox angezeigt. Der entsprechende Feldkatalog (Field catalog) fr ALV ist die Struktur /BMW/APS_TS_GUI_PROJ_APB_KOPF. Zur technischen Realisierung wird wie folgt vorgegangen: Erstellen eines neuen Eintrags in der customizing-Tabelle /BMW/APS_UICT. Die Listbox fr das Selektionsziel wird in der oben stehenden Tabelle gewartet. Der Eintrag fr Auslsen PB (Kopf) ist:Field MANDT LAYOUT CONTROL_NAME UI_TYPE Description Mandant UI-Layoutnummer Name unter dem ein Control verwaltet wird Kennzeichen GUI-Typ Value 100 1 APB_KOPF S

CONTAINER IS_VISIBLE CLSNAME CLSREF STRUCNAME FIXED_COLS FIXED_ROWS ACTIVE AXIS_TYPE AREAID LINK TIME_PER_KEY TIME_ACCEPTED DESCR

Kennzeichen Container Kennzeichen ausgewhlt (ja/nein) Klassenname (technisch) AplauS Feldsteuerung Feldreferenz Name einer Struktur AplauS: Anzahl fixierte Spalten AplauS: Anzahl fixierte Zeilen Kennzeichen ausgewhlt (ja/nein) AplauS Z-Achsen Typ Identifikationsnummer fr Bereiche Linkadresse fr APS Zeit zur Ermittlung der Daten eines Schlssels Akzeptierte Zeit zur Ermittlung d. Daten zu allen Schlsseln Bezeichnung sprachabhngig

RD1 X /BMW/APS_CL_GUI_APB_KOPF APB /BMW/APS_TS_GUI_PROJ_APB_KOPF 0 0 X 0 0 0 Auslsen PB (Kopf)

Um das System mit den Werten der obigen Tabelle zu befllen, wird folgende Pflege-View verwendet: /BMW/APS_VUICT

Gem obigen Werteintrgen wird eine neue Klasse /BMW/APS_CL_GUI_APB_KOPF erzeugt. Die Klasse befindet sich im Package /BMW/APS2_USER_INTERFACE. Diese controller Klasse steuert die Datendarstellung im mittleren ALV-Grid (middle AVL grid). Die Klasse vererbt von /BMW/AGF_CL_GUI_BASE_GRID und beinhaltet das Interface /BMW/AGF_IF_CONTROLLER. Gem dem Klassenkonzept von LS1, beinhaltet die Controller Klasse auch Klassen fr folgende Funktionen: Datenabfrage von Datenbanktabellen Data Storage nderung und Anzeige von ALC

Aus diesem Grund werden drei weitere Klassen im package /BMW/APS_AO_AUSL angelegt: /BMW/APS_CL_PBAK_AO /BMW/APS_CL_PBAK_COLL /BMW/APS_CL_PBAK_DB Initialisierung eines Geschftsobjektes Collection von Projektbedarfe Auslsung Kopf Die Persistenz der Projektbedarfe Auslsung Kopf

Es gilt besonders zu beachten, dass die Zeilen in mittlerer ALV (middle ALV) exakt vom linken Filter (left filter) gefiltert werden. Wenn die ALV erstellt ist, wird zustzliche Funktionalitt angewandt, die einen Dialog zur KopfErzeugung und Kopf- nderung (creation/change) aufrufbar macht. Der Aufruf erfolgt durch einen Doppelklick in der Einzelzeile des Kopfs. Weiters werden die drei folgenden Buttons implementiert (die Logik dieser Aktionen folgt spter): Zur Genehmigung Email Drucken

Customized Aktionen

-

Zur Genehmigung: der Benutzerbefehl (user command) ZU_GEN soll nicht von der Methode HANDLE_USER_COMMAND aufgefangen werden. Die Methode CHANGE_STATUS soll in der Klasse /BMW/APS_CL_GUI_APB_KOPF implementiert werden. Die Methode ndert den Status von existing auf ZG (Zur Genehmigung)

Standard ALV Aktionen: Zeile lschen der user command DEL_ROW soll von der Methode HANDLE_USER_COMMAND aufgefangen werden. Die bereits bestehende Methode DO_DEL_APB_KOPF dnert den Status von existing zu ST (Storniert) und erzeugt eine Zeile in Farbe grau. Zeile anhngen der user command APPEND_ROW soll von der Methode HANDLE_USER_COMMAND aufgefangen werden. Die Methode /BMW/APS_CL_GUI_KOPF => SHOW_KOPF zeigt den Dialog zur Pflege der KopfWerte an.

11 - Auslsung Projektbedarfe (Kopf) - PopUp

Verweis Haupt-index Kategorie Check Stufe Referenz Fachkonzept

11DYN-N UI Dynpro Neu LP1 2.27.1 2.27.5

Pop up zur Pflege der Kopfdaten: Die Pflege von Daten fr spezielle Projektbedarfe Auslsung Kopf erfolgt durch einen Doppel-Klick auf eine Zeile (siehe dazu auch Beschreibung im Fachkonzept). Zur Ausfhrung dieser Aktion soll die Methode HANDLE_DOUBLE_CLICK in der Klasse /BMW/APS_CL_GUI_APB_KOPF neu definiert werden. Das Event HANDLE_DOUBLE_CLICK wird in der Methode SET_HANDLER (gleiche Klasse /BMW/APS_CL_GUI_APB_KOPF) registriert werden. In der Methode HANDLE_DOUBLE_CLICK wird die Methode SHOW_KOPF (in Klasse /BMW/APS_CL_GUI_KOPF) aufgerufen. Die Methode dient der Darstellung der Kopf Details.

Im Dialog Klrung Kopf kann der Benutzer Werte ndern und diese durch Besttigung des OK Buttons speichern. Diese Aktion wird in der Methode SET_APB_KOPF untersttzt. nderungen werden in der Datenbank gespeichert und nach einem Refresh auch in der ALV richtig angezeigt. Generierung von PW-Nummer Zur Generierung einer PW Nummer wird der standard SAP next-free number Mechanismus verwendet. Dazu wird folgendermaen vorgegangen:

-

Transaktion SNRO Erzeugung von Objekt Z_APSNRPW, o Kurz und Langtext ist gleich wie fr das Datenelement /BMW/APS_NRPW. o Nummerlnge Domain NUM4. o Das Nummerintervall reicht von 0001 bis 9999. o Das Objekt befindet sich im Package /BMW/APS_AO_AUSL Um die nchste PW Nummer zu erhalten wird die unten angefhrte Abfolge von Funktionsmodulen aufgerufen. Der Mechanismus wird der neuen Klasse /BMW/APS_CL_NRPW angefgt. o o o NUMBER_RANGE_ENQUEUE NUMBER_GET_NEXT NUMBER_RANGE_DEQUEUE

-

12 - Auslsung Projektbedarfe (Kopf) Aktionen 1Verweis

12DYN-N UI Dynpro Neu LP1 2.27.4

Haupt-index Kategorie Check Stufe Referenz Fachkonzept

Fr Auslsung Projektbedarfe (Kopf) sind folgende Aktionen implementiert: Neuanlage: Die Anlage von neuen Projektbedarfen (Kopf) erfolgt durch die Bettigung des Buttons Auslsen Projektbedarf. Um einen neuen Button in der oberen Toolbar hinzuzufgen wird das Objekt GUISTATUS des main reports /BMW/APS_APLAUS_MAIN erweitert. Der Name des Objekts ist: SCREEN_0100, Section Drucktastenleiste, Position 7, Funktionscode AUS_PB. Weiters ist es wichtig einen shortcut fr die Aktion Neuanlage zu erzeugen. Dies erfolgt in der Section Funktionstasten mit Taste F2 Empfohlene Funktionstastenbelegung: F2 AUS_PB Auslsen Projektbedarfe (Kopf) Im include /BMW/APS_APLAUS_MAIN_PBO wird die neue Funktionalitt dem bestehenden Controller angefgt: gr_cl_gui_controller->set_exc_func( EXPORTING pi_func_code = 'AUS_PB' pi_insert = 'X' ). Schlielich wird der Button einer Aktion zugewiesen und weiterer Code ist notwendig in der Methode /BMW/AGF_CL_GUI_CONTROLLER-HANDLE_FCODE

-

Lschen / Stornieren - Auslsekpfe werden immer storniert und nicht gelscht. Kein Lschen der Zeile, NUR nderung des Status. Der Status wird im Feld /BMW/APS_PBAK-STAT auf ST Storno gesetzt. Technische Details finden sich unter Abschnitt 10. Wichtig ist hierbei: bei Lschen von Kopf werden alle Positionen von Status existing auf ST (Storniert) gendert. Bearbeiten nach Doppelklick auf eine Zeile, erscheint ein Pflegedialog. Technische Details dazu finden sich im Abschnitt 11

-

Erweiterung des Kontextmens Fr die Erweiterung des context Mens muss die Methode HANDLE_CONTEXT_MENU der Klasse /BMW/APS_CL_GUI_APB_KOPF modifiziert und mit zustzlicher Funktionalitt erweitert werden. Kontexmen Eintrag Duplizieren Kopf Duplizieren von Auslsekpfen In Klasse /BMW/APS_CL_GUI_APB_KOPF Erzeugung neuer Methode DO_DUPL_HEAD zur Duplizierung von Kopf ohne Position. Whrend der Duplizierung der Zeilen werden PW Nummern generiert. Dupliziert werden alle zum Kopieren markierten Auslsekpfe incl. der zugehrigen Auslsepositionen In Klasse /BMW/APS_CL_GUI_APB_KOPF Erzeugung neuer Methode DO_DIPL_HEADNPOS zur Duplizierung von Kopf mit Positionen. Whrende der Duplizierung der Zeilen werden PW Nummer generiert. Die Nummern sollen sich auf die entsprechenden Positionen verteilen.

Duplizieren komplett

13 - Auslsung Projektbedarfe (Kopf) Aktionen 2Verweis

13DYN-N UI Dynpro Neu LP1 2.27.4

Haupt-index Kategorie Check Stufe Referenz Fachkonzept

Das Kontextmen fr Auslsung Projektbedarfe (Kopf) ist zu erweitern, siehe dazu auch Abschnitt 12.

Zur Erweiterung des Kontextmens wird die Methode HANDEL_CONTEXT_MENU der Klasse /BMW/APS_CL_GUI_APB_KOPF neu definiert und mit zustzlicher Funktionalitt erweitert. Kontexmen Eintrag Versionierte Stnde anzeigen Anzeige Versionen Auslsekopf (es existieren zwei Alternativen fr den Ablauf, siehe dazu Fachkonzept) Rcksprung aus versionierten Stnden in aktuellen Stand Anzeige aller Positionen zum Auslsekopf Setzten von Cursor auf Kopf Line Whle aus dem Kontextmen Positionen zum Kopf anzeigen Die Klasse /BMW/APS_CL_GUI_APB_POS wird initialisiert und alle entsprechenden Positionen mit PW Nummer werden im unteren ALV grid angezeigt. Diese Klasse ist controller Klasse und verantwortlich fr die Anzeige der Positionsdaten.

Versionierte Stnde ausblenden Positionen zum Kopf anzeigen

14 - Auslsung Projektbedarfe (Kopf) - Neuanlage

Verweis Haupt-index Kategorie Check Stufe Referenz Fachkonzept

14DYN-N UI Dynpro Neu LP1 2.27.4

Es gibt drei verschiedene Mglichkeiten, wie eine Neuanlage durchgefhrt werden kann: ber den Button Auslsen Projektbedarf und Suchdialog, erreicht man den Button Neuanlage der zum Dialog Klrung Kopf fhrt. ber den allgemein SAP create-Button der mittleren ALV. ber Create erreicht man direkt den Dialog Klrung Kopf. Mit einem Doppelklick auf Auslsung Projektbedarfe der mittleren ALV und Suchdialog erreicht man den Button Neuanlage der zum Dialog Klrung Kopf fhrt.

Im Folgenden findet sich eine genaue Erklrung zum Suchdialog Pop-Up

Erzeugung des Objekts DYNPRO 0101 Dialog zur Auslsen Projektbedarf Suche im Package /BMW/APS2_USER_INTERFACE, Funktionsgruppen: /BMW/APS2_GUI_UTILITIES. Alle Methoden fr das Handling von Bildschirm-Aktionen ist in folgender Klasse gespeichert: /BMW/APS_CL_GUI_SUCH_KOPF im package /BMW/APS2_USER_INTERFACE. Die Klasse erbt von der allgemeinen Klasse CL_GUI_ALV_GRID mit Interface /BMW/AGF_IF_GUI_POPUP.

Alle Eingabefelder am Bildschirm sind Filter-Felder fr die Auswahl von Zeilen bestehender Auslsen Projektbedarf Kopf. Um die Auswahl auszufhren wird der grne OK Button bettigt. Danach wird der Cursor auf die Default-Zeile gesetzt. Es stehen zwei mgliche Aktionen zur Verfgung: Neuanlage: erzeugt neue Kopfzeile mit einer Referenz zu Geplanter Projektbedarf bzw. nicht geplanter Projektbedarf - Bearbeiten: ermglicht die nderung aller Werte bei Kopf Beide Aktionen rufen diesselbe Screen nummer 0102 Dialog zur Pflege Dialog Auslsekopf auf. Sie finden sich im Package /BMW/APS2_USER_INTERFACE, Funktionsgruppen: /BMW/APS2_GUI_UTILITIES. -

15 - LDAP-Suche

Verweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept

15DYN-N UI Dynpro Neu LP1 2.27.4

Suchhilfe /BMW/PEP_LDAP_USER /BMW/PEP_LDAP_USER_SHLP_EXIT

17 - Auslseposition - ALV fr PositionenVerweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept

17DYN-N UI Dynpro Neu LP1 2.28.1

Zeilen aus der neu erzeugten Tabelle /BMW/APS_PBAP (Projektbedarfe Auslsung Position) sollen in unten ALV Grid angezeigt werden. Bei Auswahl von Auslsen PB Einzelbed werden die Zeilen im Selektionsziel listbox angezeigt. Der entsprechende Feldkatalog (Field catalog) fr ALV ist die Struktur /BMW/APS_TS_GUI_APB_POS. Technische Realisierung erfordert folgende Schritte: Neuer Eintrag in der customizing Tabelle /BMW/APS_UICT Listbox fr das Selektionsziel wird in obiger Tabelle gepflegt Eintrag fr Auslsen PB Einzelbed wird entsprechend unten stehender Tabelle definiert:Description Mandant UI-Layoutnummer Name unter dem ein Control verwaltet wird Kennzeichen GUI-Typ Kennzeichen Container Kennzeichen ausgewhlt (ja/nein) Klassenname (technisch) AplauS Feldsteuerung Feldreferenz Name einer Struktur AplauS: Anzahl fixierte Spalten AplauS: Anzahl fixierte Zeilen Kennzeichen ausgewhlt (ja/nein) Value 100 1 APB_POS S LDT X /BMW/APS_CL_GUI_APB_POS APB /BMW/APS_TS_GUI_APB_POS 0 0 X

Field MANDT LAYOUT CONTROL_NAME UI_TYPE CONTAINER IS_VISIBLE CLSNAME CLSREF STRUCNAME FIXED_COLS FIXED_ROWS ACTIVE

AXIS_TYPE AREAID LINK TIME_PER_KEY TIME_ACCEPTED DESCR

AplauS Z-Achsen Typ Identifikationsnummer fr Bereiche Linkadresse fr APS Zeit zur Ermittlung der Daten eines Schlssels Akzeptierte Zeit zur Ermittlung d. Daten zu allen Schlsseln Bezeichnung sprachabhngig

0 0 0 Auslsen PB Einzelbed

Zur Eingabe der Werte in das System wird die Pflege-View /BMW/APS_VUICT verwendet. Die neue Klasse /BMWAPS_CL_GUI_APB_POS wird im Package /BMW/APS2_UESR_INTERFACE erzeugt. Die Klasse ist controller Klasse fr die Data Presentation im unteren ALV. Die Klasse vererbt von /BMW/AGF_CL_GUI_BASE_GRID und beinhaltet das Interface /BMW/AGF_IF_CONTROLLER. Gem dem Klassenkonzept von LS1, beinhaltet die Controller Klasse auch Klassen fr folgende Funktionen: Selektion von Daten von Datenbank-Tabelle Data Storage Anzeige und nderung in ALV

Aus diesem Grund werden drei weitere Klassen im package /BMW/APS_AO_AUSL angelegt: /BMW/APS_CL_PBAK_AO /BMW/APS_CL_PBAK_COLL /BMW/APS_CL_PBAK_DB Initialisierung eines Geschftsobjektes Collection von Projektbedarfe Auslsung Kopf Die Persistenz der Projektbedarfe Auslsung Kopf

Es gilt besonders zu beachten, dass die Zeilen in unter ALV exakt vom linken Filter (left filter) gefiltert werden. Wenn die ALV erstellt ist, wird zustzliche Funktionalitt angewandt, die einen Dialog zur PositionsErzeugung und Position- nderung (creation/change) aufrufbar macht. Der Aufruf erfolgt durch einen Doppelklick in der Einzelzeile des Positions. Weiters werden die vier folgenden Buttons implementiert (die Logik dieser Aktionen folgt spter): Genehmigen Ablehnen Email Drucken

Customized Actions: User command GENEH wird mit Methode HANDLE_USER_COMMAND aufgefangen. Eine weitere Methode CHANGE_STATUS wird in der Klasse /BMW/APS_CL_GUI_APB_POS erzeugt. Die Methode ndert den Status von existing auf UV (bergabe an VEMA) User command ABLEH wird mit Methode HANDLE_USER_COMMAND aufgefangen. Eine weitere Methode CHANGE_STATUS wird in der Klasse /BMW/APS_CL_GUI_APB_POS erzeugt. Die Methode ndert den Status von existing auf AL (Abgelehnt)

18 - Auslseposition - PopUp fr DetailpflegeVerweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept

18DYN-N UI Dynpro Neu LP1 2.28.1

Pop up zur Pflege von Positionsdaten: Die Pflege von Daten fr spezielle Projektbedarfe Auslsung Position erfolgt durch einen Doppel-Klick auf eine Zeile (siehe dazu auch Beschreibung im Fachkonzept). Zur Ausfhrung dieser Aktion soll die Methode HANDLE_DOUBLE_CLICK in der Klasse /BMW/APS_CL_GUI_APB_POS. neu definiert werden. Das Event HANDLE_DOUBLE_CLICK wird in der Methode SET_HANDLER (gleiche Klasse /BMW/APS_CL_GUI_APB_POS registriert werden. In der Methode HANDLE_DOUBLE_CLICK wird die Methode SHOW_POS (in Klasse /BMW/APS_CL_GUI_POS) aufgerufen. Die Methode dient der Darstellung der Position Details. Im Dialog PU-Ausls, POS (SSP) kann der Benutzer Werte ndern und mit OK-Button speichern. Diese Aktoin wird von der Methode SET_APB_POS untersttzt. nderungen werden in der Datenbank gespeichert. Weiters werden sie nach einem Refresh in der ALV angezeigt. Jede einzelne Position hat eine Nummer. Positionsnummer PWPOS ist Teil des Schlsselfelds in der Tabelle /BMW/APS_PBAP. Es soll einen Mechanismus geben der die nchste freie Nummer fr die Position vergibt. Die Klasse /BMW/APS_CL_GUI_APB_POS enthlt eine Methode SET_POS_NUMBER, die die nchste freie Nummer einer Position zuweist.

19 Suchhilfe fr Aplaus-Zeile als Basis fr AuslsepositionVerweis

19DYN-N UI Dynpro Neu LP1 2.28.4

Haupt-index Kategorie Check Stufe Referenz Fach-konzept

Referenz Dokument fr diesen Abschnitt ist CR086_APlauS_Zuordn_APZ_zu_Auslsepos_2010-07-22 auf server \\mucfs1\bmw\L5-9_AplauS\01_AplauS_LS2\00 Allgemein (Anfang bis Seite 3 bis Suche ber alle aktiven AplauS-Zeilen im letzen nderungsstand , die der Sttzstelle zugeordnet sind)

20 Anlage Aplaus-Zeile aus AuslsepositionVerweis

20DYN-N UI Dynpro Neu LP1 2.28.4

Haupt-index Kategorie Check Stufe Referenz Fach-konzept

Diese Aktion erscheint nur im Kontextmen wenn die Positionszeile keine Referenz auf AplauS-Zeile besitzt. Eine neue AplauS-Zeile wird auf Basis der Werte von Position erzeugt: Sttzstelle Fachbereich Modul Modulorganisation KoGruppe Benennung der Sachnummer => Name AplauS-Zeile GUIDID wird durch das Funktionsmodul GUID_CREATE erzeugt. Schlielich wird die folgende Funktion aufgerufen:

CALL FUNCTION '/BMW/APS_APZ_SAVE_DB' EXPORTING pi_apz_insert = lt_insert pi_apz_update = lt_update pi_apz_delete = lt_delete. lt_insert table view values for creation. Position und auch AplauS-Zeile werden gespeichert. Not clear is whether newly created AplauS-Zeile should be automaticly displayed in top ALV grid. From the technical point of view it is complicated (same like with newly crated Kopf we also supposed to show, but because of technical complexity we put it on hold) contact Afschin according to this issue, he promised to speak with BMW about it.

21 Auslsepos. Aktionen StandardaktionenVerweis

21DYN-N UI Dynpro Neu LP1 2.28.4

Haupt-index Kategorie Check Stufe Referenz Fach-konzept

Doppelklick Ein Doppelklick auf eine einzelne Position im unteren ALV Grid fhrt zum Bildschrim PU-Ausls.Pos (SSP). Zur Ausfhrung dieser Aktion soll die Methode HANDLE_DOUBLE_CLICK in der Klasse /BMW/APS_CL_GUI_APB_EINZ neu definiert werden. Das Event HANDLE_DOUBLE_CLICK wird in der Methode SET_HANDLER (gleiche Klasse /BMW/APS_CL_GUI_APB_EINZ) registriert werden. In der Methode HANDLE_DOUBLE_CLICK wird die Methode SHOW_POS (in Klasse /BMW/APS_CL_GUI_POS) aufgerufen. Die Methode dient der Darstellung der Kopf Details. Im Dialog PU-Ausls. Pos (SSP) kann der Benutzer Werte ndern und diese durch Besttigung des OK Buttons speichern. Diese Aktion wird in der Methode SET_APB_POS untersttzt. nderungen werden in der Datenbank gespeichert und nach einem Refresh auch in der ALV richtig angezeigt. Dabei gilt es zu bercksichtigen, dass eine Auslseposition kann nur bearbeitet werden, wenn Auslsekopf und -Position als noch nderbar (VEMA) gekennzeichnet sind.

Button Lschen:

Standard-Aktion, Button in Methode HANDLE_TOOLBAR muss aktiv sein, aufgefangen von Methode HANDLE_USER_COMMAND der Klasse /BMW/APS_CL_GUI_APB_EINZ. Die Methode SET_STATUS der Klasse /BMW/APS_CL_PBAK_STATFL findet den Status basierend auf der Customizing Tabelle (siehe Abschnitt 25) Duplizieren:

Methode DUPLI_POS, Positionen werden kopiert, PWNR soll um 1 erhht werden. Genehmigen:

Tooltip fr Button Markierte Umfnge genehmigen und an VEMA bergeben, Button ist nur sichtbar fr VTS/ML. Eine berprfung muss vor der Aktion durchgefhrt werden. Weitere zustzliche berprfungen mssen durchgefhrt werden, wenn:

o o o

Eine Sachnummer ist gepflegt Alle Muss-Felder sind gepflegt (z.b. HLV/ULV) Kontierungsprfung

Die Methode check wird in der Klasse /BMW/APS_CL_GUI_APB_EINZ implementiert. Eine Fehlermeldung erscheint wenn die berprfung fehlschlgt. Bei erfolgreicher Prfung erscheint die Meldung: Alle Prfungen erfolgreich. bergabe an VEMA erfolgt.. Weiters wird der Status gem Abschnitt 25 Statussteuerung gendert (siehe Abschnitt 25, Statussteuerung) Ablehnen:

Tooltip Markierte Umfnge werden abgelehnt, Der Button ist nur sichtbar fr VTS/ML, eine berprfung muss stattfinden, STATUS_CHECK gem Abschnitt 25 Statussteuerung.

22 Auslsepos. Aktionen erweiterte FunktionenVerweis

22DYN-N UI Dynpro Neu LP1 2.28.4

Haupt-index Kategorie Check Stufe Referenz Fach-konzept

Kontextmen Zur Erweiterung des Kontextmens wird die Methode HANDEL_CONTEXT_MENU der Klasse /BMW/APS_CL_GUI_APB_EINZ neu definiert. Folgende Liste wird weiter unten detailliert beschrieben: Verschieben und Einfgen ZB-Struktur importieren AplauS-Zeile zuordnen Anlage APZ SNR zur APZ zuordnen Kopieren in PW-Kopf Versionierte Stnde anzeigen Versionierte Stnde ausblenden

-

VEMA-bergabe fehlerhaft Verschieben und Einfgen:

Die Reihenfolge der angezeigten Position ist abhngig vom Feld PWPOS. Dementsprechend werden die Werte im unteren ALV Grid sortiert. Um eine Position zu wechseln mssen folgende Schritte eingehalten werden: Klick auf Position, Auswahl von Verschieben aus dem Kontext-Men, finde neuen Platz in ALV Lines, whle Einfgen: die Position wird nun auf den neuen Platz verschoben. Aus technischer Sicht wird whrend Verschieben die Zeile im Buffer gespeichert. Bei Einfgen wird PWPOS um eins erhht. Alle Zeilen mit Nummern grer als PWPOS mssen neu nummeriert werden. Alle Daten gespeichert. Methoden Name SWITCH_POS in Klasse /BMW/APS_CL_GUI_APB_EINZ. ZB-Struktur importieren not valid till call off. AplauS-Zeile zuordnen

User klickt auf Positionsfeld AplauS-Zeilen , eine Liste an mglichen AplauS-Zeilen wird als List-Box angezeigt. AplauS-Zeilen sind relevant fr die Positionen basierend auf Sttzstelle und werden auf Basis folgender Relation asugewhlt: Auslosen Positionen /BMW/APS_PBAP- PW_NR Auslosen Kopf /BMW/APS_PBAK- PW_NR /BMW/APS_PBAK- REF_STU APS Zeile /BMW/APS_APZ- REF_STU

Aus technischer Sicht wird der Mechanismus in der Methode HANDLE_ONF4 der Klasse /BMW/APS_CL_GUI_APB_EINZ implementiert. Eine Wiederverwendung der Methode GET_SRCH_FOR_CELL ist nicht mglich, da die Suchhilfe dynamisch ist. Aus diesem Grund muss die folgende Standard SAP Funktion verwendet werden: F4IF_INT_TABLE_VALUE_REQUEST. Weiter Informationen dazu finden sich unter folgendem externen Link http://wiki.sdn.sap.com/wiki/display/Snippets/Sample+code+to+Add+custom+F4+to+a+field+in+ALV Der Benutzer whlt AplauS-Zeilen aus der List-Box. AplauS-Zeilen fr spezielle Position wird gendert und gespeichert. Anlage APZ see chapter 20 SNR zur APZ zuordnen:

Die Suchhilfe zeigt hier Vorschlge aller mglicher SNR (Sachnummern) an, die einer AplauS-Zeile zugehrig sind. AplauS-Zeile der Tabelle /BMW/APS_PBAP-APZ_NAME gehrt zu REF_APZ der Tabelle /BMW/APS_SNR_REF (Sachnummern Referenz). Werte abhngig von AplauS-Zeile und der Positions-Zeile mssen angezeigt werden. Es gibt zwei verschiedene Mglichkeit der Umsetzung:

-

Suchhilfe mit einem impliziten bergabeparameter von AplauS-Zeile zu Suchhilfe-Exit (wie es in Kopieren in PW-Kopf beschrieben ist) . Die Selektionsmethode dabei ist die Tabelle /BMW/APS_SNR_REF. In Methode HANDLE_ONF4 der Klasse /BMW/APS_CL_GUI_APB_EINZ ist es mglich anstelle der Standard-Suchhilfe die Funktion F4IF_INT_TABLE_VALUE_REQUEST aufzurufen. In dieser Funktion ist es mglich einen Parameter, wie AplauS-Zeile der Positionszeile, explizit zu bergeben. Felder die angezeigt werden sind: o o o Material (Sachnummer) nderungsindex Teilebenennung

-

Benutzer haben die Mglichkeit einer Mehrfachauswahl in der Suchhilfe. Der Parameter MULTIPLE_CHOICE der Methode F4IF_INT_TABLE_VALUE_REQUEST muss dabei gepflegt werden. Eine Mehrfachauswahl hat eine Multiplikation von Paaren zur Folge: Sachnummer-Positionen, eine Position, der Benutzer whlt zwei SNRs fr sie aus, und speichert dann zwei Positionen mit zwei SNRs. Sachnummer AI gultig Bennenung SNR = /BMW/APS_SNR_REF -MATNR = AEND_IDX (comes from MARA-/BMW/PEPAI) = /BMW/APS_SNR_REF -TEIL_BENN

-

Kopieren in PW-Kopf:

Die Zuweisung von Auslsen PB Einzelbed wird von einem Auslsen PB (Kopf) auf einen anderen bertragen. Die Schwierigkeit liegt in der Anzeige der Suchhilfe mit vorausgewhlten Werten der anderen Auslsen PB (Kopf) der gleichen Sttzstelle. Die Suchhilfe zeigt eine konstante Nummer an Werten aus einer Domain oder View/Table, es gibt jedoch nicht die Mglichkeit einer dynamischen Vorauswahl die von einem bestimmten Parameter abhngig ist. Es gibt jedoch einen Work-Around: Erzeugen eines Attribut (public static), z.b. eine interne Tabelle /BMW/APS_CL_SHARED=>GT_PBASTU mit Feldern BNAME, TIMESTAMP. STUTZSTELLE. Die Werte werden der statischen Tabelle angefgt, in der Methode HANDLE_ONF4 der Klasse /BMW/APS_CL_GUI_APB_EINZ, vor dem Aufruf der Suchhilfe. Suchhilfe basiert auf der Tabelle /BMW/APS_PBAK und hat folgende Parameter: y Sttzstelle (vorbelegt mit Sttzstelle der ausgewhlten Auslseposition bzw. dessen zugehrigen Auslsekopfs) y Derivat y Bauphase y PW-Nummer y Nachname (Suche ber die Felder (Erfasser/ nderer), Empfnger, Auftraggeber, Konstrukteur, Verwender, Verwendervertreter) Suchhilfe soll ein exit beinhalten, das die Werte der internen public static Methode liest und die Anzahl an mglichen Sttzstellen einschrnkt.

Wenn der neue Kopf ausgewhlt ist, soll er durch den alten ausgewechselt werden. Mit Aktion SAVE wird gespeichert. Versionierte Stnde anzeigen:

Die Methode HANDLE_USER_COMMAND fngt die Aktion auf. SHOW_VERSIONS zeigt jede einzelne Version einer Positionszeile (position line) die fr den aktuellen Tag gltig ist. Aus Performance Grnden ist es besser die Versionen in einem ausgewhlten Buffer-Table zu halten. Diese werden jedoch nur im ALV angezeigt wenn die Aktion im Kontextmen ausgewhlt ist. Es gibt ein Flag auf Feldkatalog-Level, das die Anzeige bzw. das Ausblenden von extra Lines im ALV Grid steuerbar macht. Gleiche Aktion, wenn der Benutzer Selektionsziel und Gltigkeitsdatum Filter verwendet. Versionierte Stnde ausblenden:

Siehe oben, in HANDLE_USER_COMMAND neue Methode HIDE_VERSIONS, vernderbares Flag auf Feldkatalog-Level VEMA bergabe fehlerhaft:

Diese Aktion ist nur sichtbar und auswhlbar fr VTS/ML, wenn die Position den Status UV. VTS/ML hat die Mglichkeit den Status auf VH VEMA-bergabe fehlerhaft zu ndern. Die angezeigte Zeile ist in der letzten Version. Die Methode SET_STATUS der Klasse /BMW/APS_CL_PBAK_STATFL wird benutzt.

23 Auslsepos. Aktionen NeuanlageVerweis

23DYN-N UI Dynpro Neu LP1 2.28.6

Haupt-index Kategorie Check Stufe Referenz Fach-konzept

(See also chapter 29) Zur Erzeugung von neuen Positionen (Auslsen PB Einzelbed) muss zuerst folgender Aufruf stattfinden: Auslsen PB (Kopf) ber Selektionsziel in der Haupttransaktion AplauS. Als zweiten Schritt wird PWLine von Kopf oder PW-Lines markiert. Anschlieend wird vom Kontext-Men Positionen zum Kopf anzeigen ausgewhlt. Es gibt nun zwei Mglichkeiten fortzusetzen: Methode 1

Existiert Position bzw. Positionen nicht, dann kann diese durch einen Klick auf das Icon CREATE erzeugt warden. Diese Aktion ruft den Dialog 103 PU-Ausls.Pos (SSP) auf.

Der angezeigte Dialog ist nicht leer, sondern beinhaltet Werte von Planen Einzelbedarfe als eine Vorbedingung fr Auslsen PB Einzelbed. Die Beziehung ist: Auslsen PB (Kopf) /BMW/APS_PBAK-BT_NR Planen Projektbedarfe /BMW/APS_BD-STU Planen Projektbedarfe /BMW/APS_BD-BT_NR Planen Einzelbedarfe /BMW/APS_APZ-REF_STU

< -- PP number (table key)-- >

< -- Stutzstelle Key-- >

Mit diesen Schlsseln kann die Auswahl der folgenden Methode verfolgt werden /BMW/AGF_IF_CONTROLLER~SET_DATA of class /BMW/APS_CL_GUI_EINZ_BED Schritt 1: CALL FUNCTION '/BMW/APS_GET_BD_TR_DATA' Schritt 2: CALL METHOD sr_model->load_apz_keys Schritt 3: CALL METHOD sr_model->get_einz_bed_data Schlielich erhlt man die interne Tabelle lt_attributes mit Planen Einzelbedarfe. Diese Tabelle wird in einem Buffer gespeichert whrend sie den Dialog 103 PU-Ausls.Pos (SSP) anzeigt. Mit den Buttons NEXT und PREVIOUS gibt es auch die Mglichkeit ber Planen Einzelbedarfe zu navigieren. Die Erzeugung eines neuen Auslsen PB Einzelbed erfolgt durch Klick auf den Button OK.

Methode 2 Bei bereits bestehenden Positionen kann der User durch Doppel-Klick diese bearbeiten. Die Erzeugung einer neuen Auslsen PB Einzelbed erfolgt durch Klick auf CREATE und der Wiederholung der Aktionen von Methode 1 (siehe weiter oben Methode 1)

Wichtige Anmerkung zu den beiden ersten Methoden: Fr den Fall, dass kein Planen Einzelbedarfe vorgeschlagen wird fr die neue Erzeugun von Auslsen PB Einzelbed, dann soll das PopUp des Pflegedialogs nicht erscheinen. Es erscheint ausschlielich eine Warnmeldung im unteren ALV. Die Warnmeldung lautet: "keine Vorbelegung von Auslsepositionen mglich, da keine Stckzahlvereinbarung vorhanden!"

Methode 3 Bei Erzeugung einer Position ohne Referenz auf AplauS-Zeile, bleibt das Feld AplauS-Zeile leer. Die Position wird ohne Referenz erzeugt. Es besteht jedoch die Mglichkeit nachtrglich eine Referenz zu erzeugen. Aus technischer Sicht wird Methode HANDLE_TOOLBAR der Klasse /BMW/APS_CL_GUI_APB_EINZ neu deinfiert und enthlt den sichtbaren Button CREATE. Methode HANDLE_USER_COMMAND soll das User command CREATE auffangen. Fr den Dialog 103 PU-Ausls.Pos (SSP) muss eine neue Klasse erzeugt werden: BMW/APS_CL_GUI_EINZ. Als Beispiel kann man sich auf die bereits bestehende beziehen. /BMW/APS_CL_GUI_KOPF. Die gleiche Methode fr die Abhanldung des Dialogs soll erzeugt werden: SET_EINZ UPDATE_ EINZ SHOW_ EINZ

24 Auslseposition SachnummernzuordnungVerweis

24DYN-N UI Dynpro Neu LP1 2.28.7

Haupt-index Kategorie Check Stufe Referenz Fach-konzept

Besonders wichtig hierbei ist:

Feld B-Termin von PBA Kopf /BMW/APS_PBAK-BOTERMIN = /BMW/APS_BD-WE_TERMIN + 5. WE-Termin from Projektbedarf + 5 Arbeitstage. Dies sollte gepflegt werden whrend der Erzeugung von Kopf in Referenz zu Projektbedarfe Planen. Es gibt drei verschiedene Methoden: Manuelle Eingabe einer Sachnummer (SNR) Der Benutzer pflegt die SNR manuell. Im Hintergrund wird basierend auf dem Funktionsmodul /BMW/PEP_CBB_GET_AI_ZI AI gltig automatisch gepflegt. Das Feld AI gltig ist nicht editierbar im Gegensatz zum Feld AI abw, das vom Benutzer editiert werden kann. Nach der Werteingabe wird die Feldprfung gegen Tabelle MARA (Sachnummer = Matnr) gefhrt. Wie findet man valide AI und SNR? /BMW/APS_SNR_REF Sachnummern Referenz (diese Tabelle beinhaltet Materialnummer=Sachnummer, nderungsnummer, Materialkurztext) und verknpft diese Tabelle ber aplaus-key Feld mit /BMW/APS_SNR_REF-REF_APZ, /BMW/APS_PBAP-APZ_NAME (Positions) und anschlieend mit /BMW/APS_PBAK (Kopf) und von hier nimmt man B-Temrin. SY-DATUM muss in BTermin sein. Fehlemeldung: Die eingetragene Sachnummer ist im Materialstamm nicht vorhanden. Bitte Eingabe berprfen oder durch Freigabesteuerstelle anlegen lassen.

-

Zuordnung Sachnummer ber AplauS-Zeile Siehe Abschnitt 22 in Aktion SNR zur APZ zuordnen: Sachnummernsuche ber Auswahldialog

-

Die bereits bestehende SuchHilfe wird erweitert /BMW/APS_APZ_SNR_ZUO_TS mit untenstehenden Feldern und Logik:

NEU-Gltiger AI (/BMW/APS_PBAPGULT_AI)

Per Default X, wenn X dann zeigt SuchHilfe nur Sachnummern an mit validem nderungsindex. nderungsindex ist valide wenn: SY-DATUM