Freigeben über


Vorbereiten einer SAP-BOM

Das Framework zur SAP-in-Azure-Bereitstellungsautomatisierung verwendet eine Stückliste (Bill of Materials, BOM). Die BOM unterstützt Sie beim Konfigurieren Ihrer SAP-Systeme.

Das GitHub-Repository des Automatisierungsframeworks enthält eine Reihe von Beispiel-BOMs, die Sie für den Einstieg verwenden können. Es ist darüber hinaus möglich, BOMs für andere SAP-Anwendungen und -Datenbanken zu erstellen.

Wenn Sie eine BOM generieren möchten, die Permalinks enthält, führen Sie die Schritte zum Erstellen dieser Art BOM aus.

Hinweis

In diesem Leitfaden werden Themen zur erweiterten Bereitstellung behandelt. Eine grundlegende Erläuterung der Bereitstellung des Automatisierungsframeworks finden Sie stattdessen im Leitfaden zu den ersten Schritten.

Voraussetzungen

Skriptgesteuerter Erstellungsprozess

In diesem Prozess werden die gleichen Schritte automatisiert wie im manuellen Erstellungsprozess der Stückliste. Überprüfen Sie die Skripteinschränkungen, bevor Sie diesen Prozess verwenden.

  1. Navigieren Sie zu Ihrem Stapeldateiordner.

    cd stackfiles
    
  2. Führen Sie das Generierungsskript für die Stückliste aus. Ersetzen Sie den Beispielpfad durch den richtigen Pfad zu Ihrem Hilfsprogrammordner. Beispiel:

    cd ~/Azure_SAP_Automated_Deployment/deploy/scripts/generate_bom.sh >../bom.yml
    
  3. Geben Sie für den Produktparameter (product) den SAP-Produktnamen ein. Beispiel: SAP_S4HANA_1809_SP4. Wenn Sie keinen Wert eingeben, versucht das Skript, den Namen aus der XML-Stapeldatei zu bestimmen.

  4. Öffnen Sie die generierte bom.yml-Datei zur Überprüfung.

  5. Überprüfen Sie den Vorlagenabschnitt (templates). Vergewissern Sie sich, dass die Werte von file und override_target_location richtig sind. Sie können diese Zeilen bei Bedarf bearbeiten und auskommentieren. Beispiel:

    templates:
      # - name:     "S4HANA_2020_ISS_v001 ini file"
      #   file:     S4HANA_2020_ISS_v001.inifile.params
      #   override_target_location: "{{ target_media_location }}/config"
    
  6. Überprüfen Sie den Abschnitt mit den Stapeldateien (stackfiles). Vergewissern Sie sich, dass die Namen von Elementen und Dateien richtig sind. Bearbeiten Sie die betreffenden Zeilen bei Bedarf.

Skripteinschränkungen

Der skriptgesteuerte Erstellungsprozess für Stücklisten weist die folgenden Einschränkungen auf.

Die Skripterstellung hat eine hart codierte Abhängigkeit von HANA2. Bearbeiten Sie Ihre Stücklistendatei manuell, um den erforderlichen Abhängigkeitsnamen anzupassen. Beispiel:

dependencies:
  - name: "HANA2"

Es gibt keine Standardwerte für die Medienparameter override_target_filename:, override_target_location und version:. Bearbeiten Sie die Stücklistendatei manuell, um diese Parameter zu ändern. Beispiel:

   - name:     SAPCAR
     archive:  SAPCAR_1320-80000935.EXE
     override_target_filename: SAPCAR.EXE

   - name: "SWPM20SP07"
     archive: "SWPM20SP07_2-80003424.SAR"
     override_target_filename: SWPM.SAR
     sapurl: "https://softwaredownloads.sap.com/file/0020000001812632020"

Das Skript generiert nur Einträge für Mediendateien, die vom SAP Maintenance Planner erkannt werden. Diese Einschränkung tritt auf, weil die .xsl-Stapeldatei verarbeitet wird. Wenn Sie Ihrem Download Basket Dateien separat hinzufügen, etwa über das SAP Launchpad, müssen Sie diese Dateien der Stückliste manuell hinzufügen.

Manueller Erstellungsprozess

Sie können Ihre Stückliste mithilfe des folgenden manuellen Prozesses erstellen. Eine weitere Möglichkeit besteht darin, den skriptgesteuerten Erstellungsprozess zu verwenden, um die gleichen Schritte auszuführen.

  1. Öffnen Sie den Downloadordner, den Sie zum Abrufen von SAP-Medien erstellt haben.

  2. Erstellen Sie eine leere YAML-Datei mit dem Namen bom.yml.

  3. Öffnen Sie bom.yml in einem Editor.

  4. Fügen Sie einen BOM-Header mit Namen für den Build und das Ziel hinzu. Der name-Wert muss mit dem Namen des BOM-Ordners in Ihrem Speicherkonto übereinstimmen. Beispiel:

    name:    'S4HANA_2020_ISS_v001'
    target:  'ABAP PLATFORM 2020'
    
  5. Fügen Sie einen Anschnitt für Standardwerte (Defaults) mit dem Zielspeicherort hinzu. Verwenden Sie den Pfad zum Ordner auf dem Zielserver, in den Sie Installationsdateien kopieren möchten. In der Regel verwenden Sie {{ target_media_location }} wie folgt:

    defaults:
      target_location: "{{ target_media_location }}/download_basket"
    
  6. Fügen Sie einen Abschnitt mit Produktbezeichnern hinzu. Diese Werte werden später im Rahmen der Vorlagenvorbereitung aufgefüllt. Beispiel:

    product_ids:
      scs:
      db:
      pas:
      aas:
      web:
    
  7. Fügen Sie einen Materialabschnitt hinzu, um die Liste der erforderlichen Materialien anzugeben. Fügen Sie alle Abhängigkeiten von anderen BOMs in diesem Abschnitt hinzu. Beispiel:

    materials:
    dependencies:
        - name:     HANA2
    
  8. Rufen Sie eine Liste der Medien ab, die in Ihre Stückliste eingeschlossen werden sollen.

    1. Öffnen Sie Ihre Download Basket-Tabelle. Diese Datei wird als XML gerendert.

    2. Formatieren Sie den XML-Inhalt bei Bedarf so, dass er für Menschen lesbar ist.

    3. Notieren Sie für jedes Element im Download Basket die Daten für String und Number. Die String-Daten geben den Dateinamen (z. B. igshelper_17-10010245.sar) und eine Anzeigebeschreibung an (z. B. SAP IGS Fonts and Textures). Sie zeichnen die Number-Daten hinter jedem Eintrag in Ihrer BOM auf.

  9. Fügen Sie bom.yml die Liste der Medien hinzu. Die Reihenfolge dieser Elemente spielt keine Rolle. Aus Gründen der Lesbarkeit sollten Sie jedoch verwandte Elemente gruppieren. Fügen Sie SAPCAR separat hinzu, obwohl Ihr SAP Download Basket dieses Hilfsprogramm enthält. Beispiel:

    media:
        - name:     SAPCAR
          archive:  SAPCAR_1320-80000935.EXE
    
        name: "SAP IGS Fonts and Textures"
          archive: "igshelper_17-10010245.sar"
          # 61489
    
        <...>
    
  10. Wenn Sie den Zielmedienspeicherort überschreiben müssen, fügen Sie einem Medienelement optional den Parameter override_target_location hinzu. Beispiel: override_target_location: "{{ target_media_location }}/config".

  11. Fügen Sie einen leeren Vorlagenabschnitt hinzu.

    templates:
    
  12. Erstellen Sie einen Abschnitt mit Stapeldateien. Beispiel:

    stackfiles:
      - name: Download Basket JSON Manifest
         file: downloadbasket.json
    
      - name: Download Basket Spreadsheet
         file: MP_Excel_2001017452_20201030_SWC.xls
    
  13. Speichern Sie Ihre Änderungen an bom.yml.

Sie können eine einfache funktionierende BOM automatisch generieren. Die BOM erstellt jedoch standardmäßig keine permanenten URLs (Permalinks) für die SAP-Medien. Wenn Sie Permalinks erstellen möchten, müssen Sie weitere Schritte ausführen, bevor Sie die SAP-Medien abrufen.

Hinweis

Die manuelle Generierung einer vollständigen SAP-BOM mit Permalinks dauert etwa doppelt so lange wie die manuelle Vorbereitung einer einfachen BOM.

So generieren Sie eine BOM mit Permalinks:

  1. Öffnen DownloadBasket.json Sie in Ihrem Editor.

  2. Notieren Sie für jedes Ergebnis den Inhalt der Zeile Value. Beispiel:

         "Value": "0020000000703122018|SP_B|SAP IGS Fonts and Textures|61489|1|20201023150931|0"
    
  3. Kopieren Sie den ersten und vierten Wert durch vertikale Balken getrennt nach unten.

    1. Der erste Wert ist die Dateinummer. Beispiel: 0020000000703122018.

    2. Der vierte Wert ist die Nummer, die Sie für die Abstimmung mit Ihrer Medienliste verwenden. Beispiel: 61489.

    3. Kopieren Sie optional den zweiten Wert, der den Dateityp angibt. Beispielsweise SP_B für Kernelbinärdateien, SPAT für Nicht-Kernelbinärdateien und CD für Datenbankexporte.

  4. Verwenden Sie den vierten Wert als Schlüssel, um Ihren Download Basket mit Ihrer Medienliste abzugleichen. Stimmen Sie die Werte (z. B. 61489) mit den Werten ab, die Sie als Kommentare für die Medienelemente hinzugefügt haben (z. B. # 61489).

  5. Fügen Sie für jeden übereinstimmenden Eintrag in bom.yml einen neuen Wert für die SAP-URL hinzu. Verwenden Sie für die URL https://softwaredownloads.sap.com/file/ plus den dritten Wert für das betreffende Element (beispielsweise 0020000000703122018). Beispiel:

    - name: "SAP IGS Fonts and Textures"
      archive: "igshelper_17-10010245.sar"
      sapurl: "https://softwaredownloads.sap.com/file/0020000000703122018"
    

Beispiel für eine BOM-Datei

Das folgende Beispiel ist ein kleiner Teil einer BOM-Beispieldatei für S/4HANA 1909 SP2.

step|BOM Content

---

name:    'S4HANA_2020_ISS_v001'
target:  'ABAP PLATFORM 2020'

defaults:
  target_location: "{{ target_media_location }}/download_basket"

product_ids:
  scs:
  db:
  pas:
  aas:
  web:

materials:
dependencies:
    - name:     HANA2

media:
    - name:     SAPCAR
      archive:  SAPCAR_1320-80000935.EXE

    - name:     SWPM
      archive:  SWPM20SP06_6-80003424.SAR

    - name:     SAP IGS HELPER
      archive:  igshelper_17-10010245.sar

    - name:     SAP HR 6.08
      archive:  SAP_HR608.SAR

    - name:     S4COREOP 104
      archive:  S4COREOP104.SAR

templates:
    - name:     "S4HANA_2020_ISS_v001 ini file"
      file:     S4HANA_2020_ISS_v001.inifile.params
      override_target_location: "{{ target_media_location }}/config"

stackfiles:
    - name: Download Basket JSON Manifest
      file: downloadbasket.json
      override_target_location: "{{ target_media_location }}/config"

    - name: Download Basket Spreadsheet
      file: MP_Excel_2001017452_20201030_SWC.xls
      override_target_location: "{{ target_media_location }}/config"

    - name: Download Basket Plan doc
      file: MP_Plan_2001017452_20201030_.pdf
      override_target_location: "{{ target_media_location }}/config"

    - name: Download Basket Stack text
      file: MP_Stack_2001017452_20201030_.txt
      override_target_location: "{{ target_media_location }}/config"

    - name: Download Basket Stack XML
      file: MP_Stack_2001017452_20201030_.xml
      override_target_location: "{{ target_media_location }}/config"

    - name: Download Basket permalinks
      file: myDownloadBasketFiles.txt
      override_target_location: "{{ target_media_location }}/config"

Überprüfen der BOM

Sie können Ihre BOM-Struktur in jedem Betriebssystem überprüfen, das Linux-Befehle ausführen kann. Verwenden Sie für Windows das Windows-Subsystem für Linux (WSL). Eine weitere Möglichkeit besteht darin, die Überprüfung auf Ihrem Bereitstellungsserver auszuführen, wenn dort eine Kopie der BOM-Datei vorhanden ist.

  1. Führen Sie das Validierungsskript check_bom.sh aus dem Verzeichnis aus, das Ihre BOM enthält. Beispiel:

    cd ~/Azure_SAP_Automated_Deployment/deploy/scripts/check_bom.sh bom.yml
    
  2. Überprüfen Sie die Ausgabe.

Erfolgreiche Überprüfung

Bei einer erfolgreichen Überprüfung wird die folgende Ausgabe angezeigt. Sie haben die Befehle yamllint und ansible-lint bereits in den Voraussetzungen installiert.

... yamllint [ok]
... ansible-lint [ok]
... bom structure [ok]

Nicht erfolgreiche Überprüfung

Eine nicht erfolgreiche Überprüfung enthält Fehlerinformationen. Beispiel:

../documentation/ansible/system-design-deployment/examples/S4HANA_2020_ISS_v001/bom_with_errors.yml
  178:16    error    too many spaces after colon  (colons)
  179:16    error    too many spaces after colon  (colons)
  180:16    error    too many spaces after colon  (colons)
    
... yamllint [errors]
... ansible-lint [ok]
  - Expected to find key 'defaults' in 'bom' (Check name: S4HANA_2020_ISS_v001)
  - Unexpected key 'default in 'bom' (Check name: S4HANA_2020_ISS_v001)
  - Unexpected key 'overide_target_location in 'bom.materials.stackfiles' (Check name: Download Basket Stack text)
... bom structure [errors]

Hochladen der BOM

So gehen Sie vor, um die BOM mit Permalinks zu verwenden:

  1. Überprüfen Sie die BOM.

  2. Melden Sie sich beim Azure-Portal an.

  3. Wählen Sie unter Azure-Dienstedie Option Ressourcengruppen aus. Oder geben Sie resource groups in die Suchleiste ein.

  4. Wählen Sie die Ressourcengruppe für Ihre SAP-Bibliothek aus.

  5. Wählen Sie auf der Seite der Ressourcengruppe das Speicherkonto saplib in der Tabelle Ressourcen aus.

  6. Wählen Sie im Menü der Seite des Speicherkontos unter DatenspeicherContainer aus.

  7. Wählen Sie den Container sap bits aus.

  8. Laden Sie auf der Seite des Containers Ihre Archive und Tools hoch.

    1. Klicken Sie auf die Schaltfläche Hochladen.

    2. Wählen Sie Datei auswählen aus.

    3. Navigieren Sie zum Downloadverzeichnis, das Sie zuvor erstellt haben.

Nächste Schritte