Sie sind auf Seite 1von 42

1 Berechtigungen (Implementierung Berechtigungen in Projektauslsung)

Verweis

1
DYN-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 Rolle


Es 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

2
DYN-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 Kopf
AUTHORITY-CHECK OBJECT 'Z_APS_PBKF' ID 'Z_APS_ACTV' FIELD pi_actvt.

Fr Position
AUTHORITY-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 Beschreibung
Berechtigungsobjekt 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 allgemein


Verweis

3
DYN-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 Bedarfstrger
Verweis

4
DYN-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 Projektbedarfe
Verweis

5
DYN-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

6
DYN-E UI Dynpro Erweiterung Stufe 1 2.5.3

Haupt-index Kategorie Check Stufe Referenz Fach-konzept

6 - Sttzstelle Elemente
Ein 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) Elemente


Verweis

7
DYN-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

9
DYN-E UI Dynpro Erweiterung Stufe 1 2.6.4

10 - Auslsung Pojektbedarfe (Kopf)

Verweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept

10
UI 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

11
DYN-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 1


Verweis

12
DYN-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 2


Verweis

13
DYN-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

14
DYN-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

15
DYN-N UI Dynpro Neu LP1 2.27.4

Suchhilfe /BMW/PEP_LDAP_USER /BMW/PEP_LDAP_USER_SHLP_EXIT

17 - Auslseposition - ALV fr Positionen


Verweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept

17
DYN-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 Detailpflege


Verweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept

18
DYN-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 Auslseposition


Verweis

19
DYN-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 Auslseposition


Verweis

20
DYN-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 Standardaktionen


Verweis

21
DYN-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 Funktionen


Verweis

22
DYN-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 Neuanlage


Verweis

23
DYN-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 Sachnummernzuordnung
Verweis

24
DYN-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 <= B-Termin /BMW/APS_PBAK-BOTERMIN /BMW/APS_PBAK-PW_NR = /BMW/APS_PBAP-PW_NR /BMW/APS_PBAP- APZ_NAME (Positions) = /BMW/APS_SNR_REF-REF_APZ /BMW/APS_SNR_REF-Sachnummer diese Sachnummer wird angezeigt. Join ist der gleiche wie pben, aber in diesem Fall ist B-Termin ein Parameter. Man sucht nach Sachnummer der B-Termin hat wie der Parameter. Default X

NEU-B-Termin (/BMW/APS_PBAKTAGEVBT_PBV) nderungsindex anzeigen

25 - Statussteuerung

Verweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept

25
DYN-N UI Dynpro Neu LP1 2.26

In untenstehender Darstellung findet sich der Status fr Projektbedarfsauslsung Kopf: Short Value IA Description In Arbeit Long description Objekt wurde angelegt und ist in Bearbeitung durch Verwender oder VTS/ML

UV

bergabe an VEMA

Die Projektbedarfsposition ist in den Vorrat zur bergabe an VEMA aufgenommen Die Projektbedarfsposition ist durch die Schnittstelle an VEMA bertragen Projektbedarfsposition des Projektbedarfs sind durch den Verwender dem Versuchsteilesteuerer zur Genehmigung vorgelegt.

IV

In VEMA

ZG

Zur Genehmigung:

VN ST

In VEMA nicht nderbar Die Projektbedarfsposition ist in VEMA nicht nderbar (gesperrt) Storniert Die Projektbedarfsposition wurde storniert.

In untenstehender Darstellung findet sich der Status fr Projektbedarfsauslsung Positions Short Value IA Description In Arbeit Long description Objekt wurde angelegt und ist in Bearbeitung durch Verwender oder VTS/ML Projektbedarfsposition des Projektbedarfs sind durch den Verwender dem Versuchsteilesteuerer zur Genehmigung vorgelegt. Die Projektbedarfsposition ist in den Vorrat zur bergabe an VEMA aufgenommen Die Projektbedarfspostion wurde durch den Versuchsteilesteuerer abgelehnt Die Projektbedarfsposition ist durch die Schnittstelle an VEMA bertragen

ZG

Zur Genehmigung:

UV

bergabe an VEMA

AL

Abgelehnt

IV

In VEMA

VN ST VF

In VEMA nicht nderbar Die Projektbedarfsposition ist in VEMA nicht nderbar (gesperrt) Storniert Die Projektbedarfsposition wurde storniert. Die Position wurde von ML/VTS auf VEMA-bergabe fehlerhaft gesetzt, nachdem VEMA ber ein Mail darber informiert hat, dass die Daten nicht richtig verarbeitet wurden.

VEMA bergabe fehlerhaft

Zur besseren Kontrolle von Status- nderungen wird die Logik von nderungen in einer Customizing Tabelle eingebunden. Diese Lsung ist skalierbar und kann in Zukunft leicht erweitert werden im Falle von nderungen in der Logik. Basierend auf den Eintrgen in der Steering Tabelle /BMW/APS_STATFL wird eine neue Methode SET_STATUS in der neue Klasse /BMW/APS_CL_PBAK_STATFL in package: /BMW/APS_AO_AUSL erzeugt.

Die Customizing Tabelle wird wie folgt definiert.

SOURCE_TABLE PBAK PBAK PBAK PBAK PBAK PBAK PBAK PBAK PBAK PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP PBAP

ACTION AENDERN ZUR_GEN LOESH LOESH AENDERN LOESH AENDERN VEMA_AEND* VEMA_GESP* AENDERN LOESH AENDERN AENDERN LOESH ZUR_GEN AENDERN AENDERN ABLEHNEN GENEHM UBERTRAG AENDERN AENDERN LOESH VEMA_FEHLR* AENDERN VEMA_AEND* VEMA_GESP*

ROLE

VTS/ML Verw

VTS/ML VTS/ML

Verw VTS/ML

OLD IA IA IA AL UV UV IV IV IV IA IA AL AL AL AL ZG ZG ZG ZG UV UV UV UV UV IV IV IV

NEW IA ZG ST ST IA ST IA IV VN IA ST AL IA ST AL ZG ZG AL UV IV IA ZG ST VF IA IV VN

PROPAGATE_TO NEW_VER PBAP PBAP PBAP PBAP PBAK ALL PBAK PBAP

PBAK PBAP PBAP PBAP PBAP PBAP PBAP

Beschreibung der Tabellenfelder: SOURCE_TABLE in dieser Tabelle wird der Status gendert ACTION Aktionen haben Einfluss auf den Ablauf der Statusnderung. Aktionen mit * stammen nicht von GUI level. Die Aktionen stammen von Vema durch das Interface.

ROLE in manchen Klassen haben auch Rollen einen Einfluss auf den Ablauf der Statusnderung OLD existierender Status NEW Neuer Status entsprechende den obigen Eintrgen PROPAGATE_TO In manchen Fllen wird die Statusnderung von entsprechender Kopf oder Position Tabelle abgeleitet. NEW_VER Erzeugung von Neue Version von Kopf oder Position Die Methode SET_STATUS soll sich unmittelbar nach der Aktionsmethode befinden, z.b. Lschen (deletion) /BMW/APS_CL_GUI_APB_KOPF- DO_DEL_APB_KOPF( ) befinden. Paramter zur Methode SET_STATUS - pi_source = PBAK - pi_action = LOESH - pi_role = check user role - pi_old = existing status

Basierend auf diesen Eintrgen werden drei Werte aus der Customizing Tabelle gelesen: - NEW neuer Status basierend auf der Aktion - PROPAGATE_TO enthlt entsprechende Informationen zu Status der zu Positionen propagiert wird. - NEW_VER wenn das Feld mit X gepflegt ist , soll eine neue Version erzeugt werden

Versionierung: Die Erzeugung von neuen Versionen von bestehenden Kopf/Position ist eng verknpft mit einer Status nderung (status change). Eine neue Version wird generiert wenn Kopf/Position bereits von VTS/ML akzeptiert wurde, den Status UV (bergabe an VEMA) besitzt. Verwender / Konstrukteur wollen neue nderungen an Kopf/Position durchfhren. Nach Durchfhrung von Bearbeitung und Speichern wird einen neue Version erzeugt. Die alte Version wird in einer Tabelle gespeichert. Die Darstellung ist grau. Die Version mit der hchsten Versionsnummer ist die aktive Version und wird im ALV dargestellt. Die Tabelle muss erweitert werden: /BMW/APS_PBAK (Projektbedarfe Auslsung Kopf) and /BMW/APS_PBAK (Projektbedarfe Auslsung Position) Die Tabelle hat folgende Extra Felder: ANR_KOP ANR_POS type type AENNR AENNR

Already implemented mechanizm in LS1 for versionierung should be used here.

Die Erzeugung der neuen Version sollte immer durchgefhrt werden nach einer Status-Verifikation in der Methode SET_STATUS. Der Name der neuen Methode lautet DO_GENER_NEW_VER in der Klasse BMW/APS_CL_PBAK_STATFL im Package /BMW/APS_AO_AUSL.

27 Modulleiter-Zuordnung - ALV
Verweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept

27
DYN-N UI Dynpro Neu LP1 2.30

Das neue Selektionsziel VTS/MS Genehmigungszuordnung wird umbenannt auf ModulleiterZuordnung, eine neue Tabelle wird erzeugt. Der Name der Tabelle ist /BMW/APS_MLZUO (weitere detaillierte Informationen zur Tabelle findet man im Dokument 29-06-20_DatenmodelllAttributliste_AplauS_LS2.xlsx in den ersten beiden Arbeitsblttern. Diese neue Tabelle befindet sich im Package /BMW/APS_AO_AUSL. Dieses Package ist ein SubPackage des Package /BMW/APS_APPL_OBJECTS. Der Inhalt der Tabelle wird im unteren ALV grid angezeigt, nachdem eine Auswahl von ModulleiterZuordnung aus dem Selektionsziel durchgefhrt wurde. Hierzu wird eine neue Klasse implementiert, welche die Funktionalitt untersttzt. Die Klasse ist wie folgt definiert: Name der Klasse: /BMW/APS_CL_GUI_ML_ZUO Im Package: /BMW/APS2_USER_INTERFACE (dieses Package ist eine Sub-Package von /BMW/APS_USER_INTERFACE )

Die Klasse /BMW/APS_CL_GUI_ML_ZUO soll gleich definiert sein wie /BMW/APS_CL_GUI_APB_KOPF. Beide Klassen sind Teil der Controller-Klassen. Die Klasse /BMW/APS_CL_GUI_ML_ZUO vererbt von /BMW/AGF_CL_GUI_BASE_GRID und implementiert Methoden des Interface /BMW/AGF_IF_CONTROLLER. Die oben beschriebene Klasse bezieht sich auf das User Interface. Allerdings mssen auch Klassen implementiert sein die alle technischen Aktionen durchfhren, wie etwa das Lesen von Daten aus der Datenbank. Dementsprechend werden unter /BMW/APS_AO_AUSL drei neue Klassen mit mit folgenden Eigenschaften erzeugt: /BMW/APS_CL_MLZUO_AO Beschreibung Initialisierung eines Geschftsobjektes, vererbt von /BMW/APS_CL_BASE_AO /BMW/APS_CL_ MLZUO _COLL Beschreibung Collection von Modulleiter-Zuordung,

/BMW/APS_CL_ MLZUO _DB - Beschreibung Die Persistzenz der Modulleiter-Zuordung, vererbt von /BMW/APS_CL_BASE_DB

Weiters muss ein Funktionsmodul erzeugt werden. Das Funktionsmodul ist wie folgt definiert: Name des Funktionsmoduls: /BMW/APS_AO_MLZUO_DB Funktion: Lesen von Daten von Tabelle /BMW/APS_MLZUO.

Abschlieend soll das Selektionsziel Modulleiter-Zuordnung mit der Klasse /BMW/APS_CL_GUI_ML_ZUO verknpft werden. Die Verknpfung erfolgt ber die Customizing Tabelle /BMW/APS_VUICT. Die Tabelle wird mit Pflege-View gepflegt.
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 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) 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 Value 100 1 VTSMLGENZU S RDL X /BMW/APS_CL_GUI_ML_ZUO APB /BMW/APS_TS_GUI_ML_ZUO 0 0 X 0 0 0 VTS/ML Geneh.-zuord.

Der entsprechende Feldkatalog (Field catalog) fr ALV ist die Struktur /BMW/APS_TS_GUI_ ML_ZUO. Die Struktur besteht aus Felder mit entsprechender Suchhilfe: Die untenstehenden Felder knnen manuell gepflegt werden. Sie knnen als Freitext und mit Werten aus der Suchhilfe gepflegt werden. Es existiert keine Validation. Weiters sollen Wildcards verwendbar sein, wie E* fr Abfrage von allen Fachbereichen. Komponente PL FB PRJ_NR DERIVAT MO MO_ORG KO_GRP QNUM IS_VTS AUSL_GEN PLPB_GEN PLBT_GEN Suchhilfe /BMW/PEP_PRODUKTLINIE (domain listbox) /BMW/PEP_DERIVAT /BMW/PEP_ATTR_MOD /BMW/PEP_ATTR_MOD_N /BMW/PEP_ATTR_KOGR USER_ADDR

Die untenstehenden Felder warden nicht manuell gepflegt. Sie sollen automatisch gepflegt werden nach Eingabe der Q-Nummer. Die Felder sind nicht editierbar. NAMELAS NAMEFIR KURZZCHN Die Aktion soll durch das Funktionsmodul BAPI_USER_GET_DETAIL ausgefhrt werden in der Methode DO_HANDLE_MODIFIED_CELLS der Klasse /BMW/APS_CL_GUI_ML_ZUO. FIRSTNAME = NAMEFIR LASTNAME = NAMELAS DEPARTMENT = KURZZCHN Aktionen: Anzeige Filterfelder im linken Men sollten angewandt werden bevor die Werte im unteren ALV angezeigt werden. Bearbeiten alle Felder ausser NAMELAS,NAMEFIR,KURZZCHN sind editierbar. Neuanlage ber das Standard-Icon Create der Toolbar wird eine Neuanlage ausgefhrt. Es werden die folgenden drei Methoden in der Klasse /BMW/APS_CL_GUI_ML_ZUO definiert o HANDLE_TOOLBAR: beinhaltet das Icon Create aktiv o APPEND_ROW: CHECK_AUTHORITY berprft die Benutzerrechte fr diese Aktion o HANDLE_USER_COMMAND: soll ADD_ROW ausfhren nachdem der Create Button geklickt wurde Lschen - Das Standard Icon Delete der Toolbar fhrt diese Aktion aus: Neben HANDLE_TOOLBAR und HANDLE_USER_COMMAND wird eine neue Methode DO_DEL_MZO hinzugefgt. Diese ist verantwortlich fr das Lschen von ausgewhlten Zeilen. CHECK_AUTHORITY wird zur berprfung von Benutzerrechten fr die Lschung ausgefhrt. Duplizieren ganzer Eintrge - Das icon ICON_COPY_OBJECT wird zur Toolbar hinzugefgt. Aktionen werden durch die Methode HANDLE_USER_COMMAND aufgefangen und eine Zeile wird dupliziert. Die Prfung von Benutzerrechten auf die Aktion wird von CHECK_AUTHORITY geprft.

28 ML-Zuo - Ermittlung Modulleiter fr Berechtigungssteuerung


Verweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept 1. Ermittlung Treffer in Modulleiter-Zuordnungstabelle Erzeugung in Paket: /BMW/APS_APPL_SERVICES

28
DYN-N UI Dynpro Neu LP1 2.30

Funktionsgruppe: /BMW/APS_APPL_MZO_SERVICES Funktionsmodul: /BMW/APS_CL_GUI_ML_ZUO /BMW/APS_ML_ZUORDNG *"*"Lokale Schnittstelle: *" IMPORTING *" REFERENCE(PI_KOPFID) TYPE /BMW/PEPNR_BT *" REFERENCE(PI_POSITION) TYPE /BMW/PEPNR_BT *" REFERENCE(PI_EMAILKAT) TYPE /BMW/APS_EMAILKAT *" EXPORTING *" REFERENCE(PI_USERNAME) TYPE XUBNAME OPTIONAL Ausfhren der Funktion Basierend auf dem Input-Parameter PI_KOPFID kann bestimmt werden um welches Dokument es sich handelt. CASE PI_KOPFID+0(2). WHEN 'PW'. Nummer Auslsekopf (PW-Nummer) WHEN 'PP'. Nummer Planungskopf (Projektbedarfe: PP) WHEN OTHERS. ENDCASE. Danach erreicht man ber Tabellenschlssel direkt die Tabellen /BMW/APS_PBAK und /BMW/APS_PBAP. Dort werden Schlsselzeilen gelesen. Eine Zeile beinhaltet alle untenstehenden Information: y y y y y y /BMW/APS_PBAP FACHBER = Fachbereich /BMW/APS_PBAP /BMW/APS_PBAK -PRJ_NR = Projektnummer /BMW/APS_PBAK DERIVAT = Derivat /BMW/APS_PBAP MO = Modul /BMW/APS_PBAP MO_ORG = Modulorganisation /BMW/APS_PBAK KO_GRP = KoGruppe

Mit diesen Werten erreicht man die Tabelle /BMW/APS_MLZUO und erhlt schlielich QNUM

29 Automatische Datenermittlung und Vorbelegung fr Auslsezeilen


Verweis Haupt-index Kategorie Check Stufe Referenz Fach-konzept Referenz IT- Konzept

29
DYN-N UI Dynpro Neu LP1 4.38

Das Funktionsmodul wird mit folgenden Import-Parametern erzeugt: *"*"Lokale Schnittstelle: *" IMPORTING *" REFERENCE(PI_STUT) TYPE /BMW/APS_STU_BEZ *" REFERENCE(PI_PWNR) TYPE /BMW/APS_NRPW *" EXPORTING *" REFERENCE(PO_APZ) TYPE /BMW/APS_TT_APZ_DB Die Auswahl wird wie folgt ausgefhrt: 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 den obigen Schlsseln kann die Auswahl der Methode /BMW/AGF_IF_CONTROLLER~SET_DATA in Klasse /BMW/APS_CL_GUI_EINZ_BED verfolgt werden: 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 Wichtige Bedingung ist: Stck angefordert oder genehmigt > 0, unabhngig vom Status. Die untenstehenden Felder werden auf Basis der obigen Vorauswahl von Planen Einzelbedarfe /BMW/APS_TS_GUI_EINZ_BED = EINZ_BED gepflegt. Field from screen ->Infos aus Planung Vorbelegung aus der Planung

Name AplauS-Zeile Stck angefordert Stck genehmigt Status Stckzahlvereinb Bereits abgerufen Kommentar

X X X X X X

EINZ_BED- APZ_NAME EINZ_BED- ANZ_ANGEF EINZ_BED- ANZ_GENEHM

Name AplauS-Zeile Anzahl angefordert Anzahl genehmigt

EINZ_BED-STATUSStatus Stckz.vereinb. aus Angefordert und Genehmigt STK_VB EINZ_BED-ANZ_ABGERUFEN Bereits abgerufen EINZ_BED-KOMMENTAR_TXT Kommentar zum

-->Pflege Auslseposition ->Daten zur Position FB KoGr I-Stufe PKZ Ident-Nummer X X X EINZ_BED-FB Masterliste: freigebend. KIFA Fachbereich Kurztext EINZ_BED-KO_GRP KoGruppe Variante EINZ_BEDI-STUFEI-Stufe --> wird aus SPEED gefllt Input field Input field

Bauteilbeschreibung (-anforderung), wenn Sachnr. nicht bekannt Langtext (> 128 Zeichen, Pflege ber Doppelklick) -input field ->Sachnummer Sachnummer AI gltig AI abw. ZI DH Status Stmstz BTCH SS Benennung SNR Stck Auflsung Stck. verfgbar X X Search help Input field Input field Input field Input field Input field Input field Refers to ZB structur, them is put on hold Description comes from Sachnummer EINZ_BED-ANZ_AUTOAUFL Anzahl automatisch Auflsung

->Abweichende Kontierungen Modul Var. X Modulorg. Var. HLV ULV abweich. Projektnummer abweich. KST ->Beschaffungsinformation Werkzeugkosten X TeileKosten Lieferantennummer und Zhladresse Lieferantenname ->Kommentar Vorkommentar NachkommentarString X X X

EINZ_BED- MO Modul Variante EINZ_BED- MO_ORG Modulorganisation - Variante (Modul Var.)+1(2) (Modul Var.)+3(2) EINZ_BED- PRJ_NR Projektnummer Still not solved /BMW/APS_APZ- WZG_KST join over OID_APZ EINZ_BED- TEIL_KST TeileKosten concatenate(/BMW/APS_APZ- LIFNR with ?) /BMW/APS_APZ- LIEFERANT join over OID_APZ Input field Input field

Meldung nach Speicher => Speichern erfolgreich zum genehmigen.