다음을 통해 공유


SAP BOM 준비

Azure의 SAP 배포 자동화 프레임워크는 BOM(제품 구성 정보)을 사용합니다. BOM은 SAP 시스템을 구성하는 데 도움이 됩니다.

자동화 프레임워크의 GitHub 리포지토리에는 시작하는 데 사용할 수 있는 샘플 BOM 집합이 포함되어 있습니다. 다른 SAP 애플리케이션 및 데이터베이스에 대한 BOM을 만들 수도 있습니다.

permalinks를 포함하는 BOM을 생성하려면 이 유형의 BOM을 만드는 단계를 수행합니다.

참고 항목

이 가이드에서는 고급 배포 항목에 대해 설명합니다. 자동화 프레임워크를 배포하는 방법에 대한 기본 설명은 시작 가이드를 참조하세요.

필수 조건

스크립팅된 만들기 프로세스

이 프로세스는 수동 BOM 만들기 프로세스와 동일한 단계를 자동화합니다. 이 프로세스를 사용하기 전에 스크립트 제한 사항을 검토합니다.

  1. 스택 파일 폴더로 이동합니다.

    cd stackfiles
    
  2. BOM 생성 스크립트를 실행합니다. 예제 경로를 유틸리티 폴더에 대한 올바른 경로로 바꿉니다. 예시:

    cd ~/Azure_SAP_Automated_Deployment/deploy/scripts/generate_bom.sh >../bom.yml
    
  3. 제품 매개 변수(product)에 SAP 제품 이름을 입력합니다. 예: SAP_S4HANA_1809_SP4. 값을 입력하지 않으면 스크립트는 스택 XML 파일에서 이름을 확인하려고 시도합니다.

  4. 검토를 위해 생성된 bom.yml 파일을 엽니다.

  5. 템플릿 섹션(templates)을 검토합니다. fileoverride_target_location 값이 맞는지 확인합니다. 필요한 경우 해당 줄을 편집하고 주석으로 처리합니다. 예시:

    templates:
      # - name:     "S4HANA_2020_ISS_v001 ini file"
      #   file:     S4HANA_2020_ISS_v001.inifile.params
      #   override_target_location: "{{ target_media_location }}/config"
    
  6. 스택 파일 섹션(stackfiles)을 검토합니다. 항목 이름과 파일이 올바른지 확인합니다. 필요한 경우 해당 줄을 편집합니다.

스크립트 제한 사항

스크립팅된 BOM 만들기 프로세스에는 다음과 같은 제한 사항이 있습니다.

스크립팅에는 HANA2에 대한 하드 코딩된 종속성이 있습니다. 필요한 종속성 이름과 일치하도록 BOM 파일을 수동으로 편집합니다. 예시:

dependencies:
  - name: "HANA2"

미디어 매개 변수 override_target_filename:, override_target_location, version:에 대한 기본값은 없습니다. BOM 파일을 수동으로 편집하여 이러한 매개 변수를 변경합니다. 예시:

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

스크립트는 SAP Maintenance Planner가 식별하는 미디어 파일에 대한 항목만 생성합니다. 이 제한은 스택 .xsl 파일을 처리하기 때문에 발생합니다. SAP 실행 패드를 통해와 같이 다운로드 바구니에 파일을 별도로 추가하는 경우 해당 파일을 BOM에 수동으로 추가해야 합니다.

수동 만들기 프로세스

다음 수동 프로세스를 통해 BOM을 만들 수 있습니다. 또 다른 옵션은 스크립팅된 만들기 프로세스를 사용하여 같은 단계를 수행하는 것입니다.

  1. SAP 미디어 획득을 위해 만든 다운로드 폴더를 엽니다.

  2. bom.yml이라 명명된 빈 YAML 파일을 만듭니다.

  3. 편집기에서 bom.yml을 엽니다.

  4. 빌드 이름 및 대상 이름을 사용하여 BOM 헤더를 추가합니다. name 값은 스토리지 계정의 BOM 폴더 이름과 동일해야 합니다. 예시:

    name:    'S4HANA_2020_ISS_v001'
    target:  'ABAP PLATFORM 2020'
    
  5. 대상 위치를 사용하여 기본값 섹션을 추가합니다. 설치 파일을 복사하려는 대상 서버의 폴더 경로를 사용합니다. 일반적으로 다음과 같이 {{ target_media_location }}을 사용합니다.

    defaults:
      target_location: "{{ target_media_location }}/download_basket"
    
  6. 제품 식별자 섹션을 추가합니다. 나중에 템플릿 준비의 일부로 이 값을 채웁니다. 예시:

    product_ids:
      scs:
      db:
      pas:
      aas:
      web:
    
  7. 재질 섹션을 추가하여 필요한 재질 목록을 지정합니다. 이 섹션의 다른 BOM에 대한 종속성을 추가합니다. 예시:

    materials:
    dependencies:
        - name:     HANA2
    
  8. BOM에 포함할 미디어 목록을 가져옵니다.

    1. 다운로드 바구니 스프레드시트를 엽니다. 이 파일은 XML로 렌더링됩니다.

    2. 필요한 경우 XML 콘텐츠를 사람이 읽을 수 있도록 서식을 적용합니다.

    3. 다운로드 바구니의 각 항목에 대해 StringNumber 데이터를 기록해 둡니다. String 데이터는 파일 이름(예: igshelper_17-10010245.sar)과 간단한 설명(예: SAP IGS Fonts and Textures)을 제공합니다. BOM의 각 항목 다음에 Number 데이터를 기록합니다.

  9. bom.yml에 미디어 목록을 추가합니다. 이러한 항목의 순서는 중요하지 않지만 가독성을 위해 관련 항목을 그룹화할 수 있습니다. SAP 다운로드 바구니에 이 유틸리티가 포함되어 있더라도 별도로 SAPCAR를 추가합니다. 예시:

    media:
        - name:     SAPCAR
          archive:  SAPCAR_1320-80000935.EXE
    
        name: "SAP IGS Fonts and Textures"
          archive: "igshelper_17-10010245.sar"
          # 61489
    
        <...>
    
  10. 필요에 따라 대상 미디어 위치를 재정의해야 하는 경우 미디어 항목에 override_target_location 매개 변수를 추가합니다. 예: override_target_location: "{{ target_media_location }}/config".

  11. 빈 템플릿 섹션을 추가합니다.

    templates:
    
  12. 스택 파일 섹션을 만듭니다. 예시:

    stackfiles:
      - name: Download Basket JSON Manifest
         file: downloadbasket.json
    
      - name: Download Basket Spreadsheet
         file: MP_Excel_2001017452_20201030_SWC.xls
    
  13. 변경 내용을 bom.yml에 저장합니다.

작동하는 기본 BOM을 자동으로 생성할 수 있습니다. 그러나 BOM은 기본적으로 SAP 미디어에 대한 영구 URL(permalinks)을 만들지 않습니다. permalinks를 만들려면 SAP 미디어를 획득 전에 더 많은 단계를 수행해야 합니다.

참고 항목

permalinks를 사용하여 전체 SAP BOM을 수동으로 생성하려면 기본 BOM을 수동으로 준비할 때보다 약 2배 정도의 시간이 걸립니다.

permalinks를 사용하여 BOM을 생성하려면 다음을 수행합니다.

  1. 편집기에서 DownloadBasket.json을 엽니다.

  2. 각 결과에 대해 Value 줄의 내용을 적어둡니다. 예시:

         "Value": "0020000000703122018|SP_B|SAP IGS Fonts and Textures|61489|1|20201023150931|0"
    
  3. 세로 막대로 구분된 첫 번째 값과 네 번째 값을 복사합니다.

    1. 첫 번째 값은 파일 번호입니다. 예: 0020000000703122018.

    2. 네 번째 값은 미디어 목록과 일치 여부를 확인하는 데 사용할 숫자입니다. 예: 61489.

    3. 필요에 따라 파일 형식을 나타내는 두 번째 값을 복사합니다. 예를 들어 커널 이진 파일에는 SP_B, 커널이 아닌 이진 파일에는 SPAT, 데이터베이스 내보내기에는 CD입니다.

  4. 네 번째 값을 키로 사용하여 다운로드 바구니를 미디어 목록에 일치시킬 수 있습니다. 해당 값(예61489: )과 미디어 항목(예: # 61489)에 대한 주석으로 추가한 값을 일치 시킵니다.

  5. bom.yml에서 일치하는 각 항목에 대해 SAP URL에 대한 새 값을 추가합니다. URL의 경우 https://softwaredownloads.sap.com/file/에 해당 항목의 세 번째 값(예: 0020000000703122018)을 더한 값을 사용합니다. 예시:

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

예제 BOM 파일

다음 샘플은 S/4HANA 1909 SP2에 대한 예제 BOM 파일의 작은 부분입니다.

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"

BOM 유효성 검사

Linux 형식 명령을 실행하는 모든 OS에서 BOM 구조의 유효성을 검사할 수 있습니다. Windows 경우 WSL(Linux용 Windows 하위 시스템)을 사용합니다. 또 다른 옵션은 BOM 파일의 복사본이 있는 경우 배포자에서 유효성 검사를 실행하는 것입니다.

  1. BOM이 포함된 디렉터리에서 유효성 검사 스크립트 check_bom.sh를 실행합니다. 예시:

    cd ~/Azure_SAP_Automated_Deployment/deploy/scripts/check_bom.sh bom.yml
    
  2. 출력을 검토합니다.

유효성 검사 성공

유효성 검사에 성공하면 다음 출력이 표시됩니다. 필수 구성 요소에 이미 yamllint 명령 및 ansible-lint 명령을 설치했습니다.

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

유효성 검사 실패

실패한 유효성 검사에는 오류 정보가 포함됩니다. 예시:

../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]

BOM 업로드

permalinks와 함께 BOM을 사용하려면 다음을 수행합니다.

  1. BOM의 유효성을 검사합니다.

  2. Azure Portal에 로그인합니다.

  3. Azure 서비스 아래에서 리소스 그룹을 선택합니다. 또는 검색 창에 resource groups를 입력합니다.

  4. SAP 라이브러리에 대한 리소스 그룹을 선택합니다.

  5. 리소스 그룹 페이지의 리소스 테이블에서 saplib 스토리지 계정을 선택합니다.

  6. 스토리지 계정 페이지의 메뉴에서 데이터 스토리지 아래의 컨테이너를 선택합니다.

  7. sap bits 컨테이너를 선택합니다.

  8. 컨테이너 페이지에서 보관 파일 및 도구를 업로드합니다.

    1. 업로드 버튼을 선택합니다.

    2. 파일 선택을 선택합니다.

    3. 이전에 만든 다운로드 디렉터리로 이동합니다.

다음 단계