Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

In diesem Kapitel werden die zur Verfügung stehenden Endpunkte des Connect Solution Manager Addons beschrieben. Die Basis-URL der Endpunkte setzt sich aus dem verwendeten Protokoll (http oder https), dem Hostnamen, des Ports und des Service wie folgt zusammen:

http(s)://<sap_hostname>:<sap_port>/gal/solman/api/rest/1/

Informationen zu den Hostnamen und Ports Ihres Solution Managers können Sie über die Transaktion SICF einsehen, indem im Menü „Springen“ der Eintrag „Port Information“ ausgewählt wird.

Die Endpunkte können auch über die Connect Applikation durchgereicht werden. Die effektiven Endpunkte würden dann im Wesentlichen wie folgt aussehen:

http(s)://<connect_hostname>:<connect_port>/repositories/<repository_name>/connections/<connection_name>/events/<event_name>.

Pfad- und Query-Parameter werden beim Aufruf von Webservices über die Connect Applikation als Query-Parameter übergeben. Die Query-Parameter müssen grundsätzlich im Camel Case Format übergeben werden. Existiert bei einem SAP-Endpunkt beispielsweise der Pfad-Parameter „object_id“, muss dieser über die Connect Applikation als Query-Parameter „objectId“ übergeben werden.

Endpunkt „Data“

Mithilfe des Endpunkts „Data“ können Change Objekte gelesen, aktualisiert, angelegt und Statusübergänge ausgeführt werden.

GET /data/objects/{object_id}

Der Endpunkt GET /data/objects/{object_id} liefert Informationen zu einem Change Objekt mithilfe der Objekt ID. Mit Objekt ID ist die zehnstellige Nummer des Objekts gemeint, z. B. die Änderungsantrags-ID oder die Dokument-ID eines Änderungsdokuments. Der Endpunkt liefert die folgenden Informationen in tabellarischer Form.

Name

Typ

Beschreibung

changedAt

Wert

Datum der letzten Änderung

changedBy

Wert

Letzter Änderer

configurationItem

Objekt

Konfigurationselement- und Beschreibung

createdAt

Wert

Erstellungsdatum

createdBy

Wert

Anleger

customFields

Objekt

Alle Werte der definierten kundeneigenen Felder

cycleInfo

Objekt

Daten zum zugeordneten Änderungszyklus

description

Wert

Kurzbeschreibung

dueDate

Wert

Fälligkeitsdatum

dueTimestamp

Wert

Fälligkeitsdatum als UTC-Zeitstempel

endDate

Wert

Datum des gewünschten Endes

endTimestamp

Wert

Das gewünschte Ende als UTC-Zeitstempel

externalId

Wert

Enthält den Wert der Externen ID bei einer 1:1 Zuordnung.

externalIds

Array

Enthält alle zugeordneten Externen IDs

externalIdsCount

Wert

Anzahl der zugeordneten Externen IDs

impact

Wert

Der Wert enthält die Auswirkung des Objekts.

impactText

Wert

Anzeigetext für die Auswirkung.

longtext

Wert

Enthält die Beschreibung des Objekts. Da Objekte aus dem Change-Request-Management mehrere Texte enthalten können, enthält dieses Feld den Text, der als Default im Customizing des Addons für die zugehörige Vorgangsart hinterlegt wurde.

objectGuid

Wert

Global eindeutige ID für das Objekt

objectId

Wert

Objekt ID des Objekts

parentDescription

Wert

Kurzbeschreibung des übergeordneten Objekts, falls eine Verknüpfung existiert.

parentObjectGuid

Wert

Global eindeutige ID für das übergeordnete Objekt, sofern existent.

parentObjectId

Wert

Objekt ID des übergeordneten Objekts, sofern existent.

parentProcessType

Wert

Dokumentart des übergeordneten Objekts, sofern existent.

partner

Array

Liste mit Informationen der zugeordneten Informationen inklusive der Nummer des Business Partners, die Funktion des Partners, der Name des Business Partners und dessen E-Mail-Adresse.

priority

Wert

Priorität des Objekts.

priorityText

Wert

Anzeigetext der ausgewählten Priorität.

processType

Wert

Die zugehörige Vorgangsart des Objekts.

requests

Array

Liste aller zugeordneten Transportaufträge mit vielen Detailinformationen.

requestsAsString

Wert

Die Transportauftragsnummern als einzelne Zeichenkette getrennt durch Zeilenumbrüche.

standardFields

Array

Eine Liste von Standard-Feldern, die mit kundenspezifischen Werten gefüllt sind. Welche Felder verwendet werden, kann über die Addon-Konfiguration festgelegt werden.

startDate

Wert

Datum des gewünschten Starts.

startTimestamp

Wert

Datum des gewünschten Starts als UTC-Zeitstempel.

texts

Array

Liste aller Objekt-Texte.

urgency

Wert

Dringlichkeit

urgencyText

Wert

Anzeigetext der ausgewählten Dringlichkeit.

userStatus

Wert

Aktueller Status

userStatusProc

Wert

Verwendetes Statusschema.

userStatusText

Wert

Anzeigetext des aktuellen Status.

userStatusFinal

Wert

Kennzeichen („X“ = True, „“ = False), ob der aktuelle Status nicht mehr geändert werden kann.

Beispiel-Response für einen Änderungsantrag:

{
   "changedAt": "2021-02-18",
   "changedBy": "GALILEO",
   "configurationItem": {
      "productId": "7100000111",
      "textIbComp": "G00 0020168246 300"
   },
   "createdAt": "2021-01-29",
   "createdBy": "GALILEO",
   "customFields": [
      {
         "name": "CLIENT",
         "value": "100"
      },
      {
         "name": "CUSTOMER_EXT",
         "value": ""
      },
      {
         "name": "CUSTOMER_H_DUMMY",
         "value": ""
      },
      {
         "name": "CUSTOMER_INT",
         "value": ""
      },
      {
         "name": "GUID",
         "value": "00155DF935011EDB98C13B600E6760E0"
      },
      {
         "name": "MODE",
         "value": ""
      },
      {
         "name": "REF_GUID",
         "value": "00155DF935011EDB98C13B600E6760E0"
      },
      {
         "name": "ZZEXTERNAL_ID",
         "value": ""
      },
      {
         "name": "ZZEXTERNAL_REF",
         "value": ""
      },
      {
         "name": "ZZGXP_RISK",
         "value": ""
      },
      {
         "name": "ZZJIRA_ID",
         "value": "BIIMPL01-999"
      },
      {
         "name": "ZZJIRA_URL",
         "value": ""
      }
   ],
   "cycleInfo": {
      "projectTitle": "Phase Cylce (IF_CONIGMA)",
      "releaseType": "I",
      "releaseTypeDescription": "Phase Cycle",
      "releaseCrmId": "8000000211",
      "tasklistId": "",
      "smiProject": "0000000021",
      "slanDesc": "G00 - Solution Manager",
      "sbraName": "Wartung",
      "goLiveDate": "2017-10-02",
      "goLiveTime": "00:00:00",
      "devStartDate": "2017-08-22",
      "devStartTime": "00:00:00",
      "devCloseDate": "2017-08-31",
      "devCloseTime": "00:00:00"
   },
   "description": "Description",
   "dueDate": "2021-02-12",
   "dueTimestamp": "2021-02-12T08:13:33Z",
   "endDate": "2021-09-21",
   "endTimestamp": "2021-09-20T22:00:00Z",
   "externalId": "BIIMPL01-12",
   "externalIds": ["BIIMPL01-12"],
   "externalIdsCount": 1,
   "impact": "00",
   "impactText": "",
   "longtext": "This is the long text.",
   "objectGuid": "00155DF935011EDB98C13B600E6760E0",
   "objectId": "8000001760",
   "parentDescription": "",
   "parentObjectGuid": "00000000000000000000000000000000",
   "parentObjectId": "",
   "parentProcessType": "",
   "partner": [
      {
         "partnerGuid": "00155DF935011EDB98C13B600E7220E0",
         "partnerNumber": "151",
         "partnerFct": "00000001",
         "partnerFctTxt": "Sold-To Party",
         "partnerMain": "X",
         "partnerName": "Mr. XXX",
         "partnerEmail": "XXX@XXX.de",
         "partnerLookup": "",
         "deletionFlag": ""
      },
      {
         "partnerGuid": "00155DF935011EDB98C141D658A540E0",
         "partnerNumber": "151",
         "partnerFct": "SDCD0004",
         "partnerFctTxt": "Current Processor",
         "partnerMain": "X",
         "partnerName": "Mr. XXX",
         "partnerEmail": "XXX@XXX.de",
         "partnerLookup": "",
         "deletionFlag": ""
      },
      {
         "partnerGuid": "00155DF935011EDB98C13B600E7140E0",
         "partnerNumber": "102",
         "partnerFct": "SDCR0001",
         "partnerFctTxt": "Requester",
         "partnerMain": "X",
         "partnerName": "Mr. YYY",
         "partnerEmail": "",
         "partnerLookup": "",
         "deletionFlag": ""
      },
      {
         "partnerGuid": "00155DF935011EDB98C13B600E7260E0",
         "partnerNumber": "151",
         "partnerFct": "SDCR0002",
         "partnerFctTxt": "Change Manager",
         "partnerMain": "X",
         "partnerName": "Mr. XXX",
         "partnerEmail": "XXX@XXX.de",
         "partnerLookup": "",
         "deletionFlag": ""
      }
   ],
   "postingDate": "2021-01-29",
   "priority": "3",
   "priorityText": "3: Medium",
   "processType": "ZMCR",
   "requests": [],
   "requestsAsString": "",
   "standardFields": [
      {
         "name": "/AICRM/EXT_TOKEN",
         "value": "TestValue"
      }
   ],
   "startDate": "2021-01-29",
   "startTimestamp": "2021-01-29T08:13:32Z",
   "texts": [
      {
         "textId": "CR01",
         "text": "This is the long text."
      },
      {
         "textId": "ZZ01",
         "text": "This is a technical problem description."
      },
      {
         "textId": "ZZ02",
         "text": "This is an impact analysis."
      }
   ],
   "urgency": "00",
   "urgencyText": "",
   "userStatus": "E0015",
   "userStatusFinal": "",
   "userStatusProc": "ZMCRHEAD",
   "userStatusText": "Being Implemented"
}

Beispiel-Response für den Knoten “requests”:

   "requests": [
   {
         "tasklist": "I000000011",
         "trorderNumber": "G00K900630",
         "text": "",
         "ctsId": "G00_P00005",
         "transportTrack": "TR000005",
         "sysName": "G00",
         "sysType": "ABAP",
         "sysClient": "100",
         "respUser": "DUMMY",
         "createdDate": "2021-01-28",
         "createdTime": "09:04:34",
         "releasedDate": null,
         "releasedTime": "00:00:00",
         "status": "@07@",
         "trfunction": "K",
         "originator": "S",
         "originatorId": "00155DF935011EDB98A7322BD3F5C0E0",
         "originatorKey": "8000001744",
         "trorderCopy": "",
         "projectName": "",
         "criticalObject": false,
         "abortExport": false,
         "csolConflict": false,
         "csolActivated": false,
         "tocNumber": "",
         "trfunctionText": "",
         "codeInspectChk": false,
         "tranpTargetChange": false,
         "openTask": false,
         "emptyRequest": false,
         "taskNumber": "",
         "statusText": "",
         "retrofitStatus": "",
         "collectionId": ""
      },
      {
         "tasklist": "I000000011",
         "trorderNumber": "G00K900632",
         "text": "",
         "ctsId": "G00_P00005",
         "transportTrack": "TR000005",
         "sysName": "G00",
         "sysType": "ABAP",
         "sysClient": "100",
         "respUser": "DUMMY",
         "createdDate": "2021-01-28",
         "createdTime": "09:04:36",
         "releasedDate": null,
         "releasedTime": "00:00:00",
         "status": "@07@",
         "trfunction": "W",
         "originator": "S",
         "originatorId": "00155DF935011EDB98A7322BD3F5C0E0",
         "originatorKey": "8000001744",
         "trorderCopy": "",
         "projectName": "",
         "criticalObject": false,
         "abortExport": false,
         "csolConflict": false,
         "csolActivated": false,
         "tocNumber": "",
         "trfunctionText": "",
         "codeInspectChk": false,
         "tranpTargetChange": false,
         "openTask": false,
         "emptyRequest": false,
         "taskNumber": "",
         "statusText": "",
         "retrofitStatus": "",
         "collectionId": ""
      }
   ]

 GET /data/external_ids/{external_id}

Der Endpunkt GET /data/external_ids/{external_id} liefert dieselben Informationen wie der Endpunkt GET /data/objects/{object_id} nur mit dem Unterschied, dass das Objekt anhand der verknüpften Externen ID ermittelt wird.

GET /data/objects/{object_id}/children

Dieser Endpunkt liefert anhand einer Objekt ID alle zugeordneten verknüpften Objekte, z. B. wenn die Objekt ID einer Änderungsantrag-ID entspricht, liefert der Endpunkt Informationen zu den verknüpften Änderungsdokumenten.

Der Endpunkt liefert folgende Informationen in tabellarischer Form.

Name

Typ

Beschreibung

parentGuid

Wert

Global eindeutige ID des Objekts, dessen verknüpfte Dokumente mithilfe der Objekt ID angefordert wurden.

parentObjectId

Wert

Objekt ID, die der Objekt ID aus dem Endpunkt entspricht.

parentProcessType

Wert

Die Vorgangsart des Objekts, dessen verknüpfte Dokumente mithilfe der Objekt ID angefordert wurden.

totalChildren

Wert

Anzahl der verknüpften Objekte.

children

Array

Liste an Objekten mit Details zu den verknüpften Objekten, siehe nachstehende Tabelle.

 Tabellarische Ansicht der Informationen innerhalb des „children“ Arrays.

Name

Typ

Beschreibung

guid

Wert

Global eindeutige ID des verknüpften Objekts.

objectId

Wert

Objekt ID des verknüpften Objekts.

processType

Wert

Die Vorgangsart des verknüpften Objekts.

description

Wert

Kurzbeschreibung des verknüpften Objekts.

userStatus

Wert

Aktueller Status

userStatusText

Wert

Die Beschreibung des aktuellen Status.

userStatusFinal

Wert

Kennzeichen („X“ = True, „“ = False), ob der aktuelle Status nicht mehr geändert werden kann.

Beispiel-Response:

{
   "parentGuid": "00155DF935011EDB98C13B600E6760E0",
   "parentObjectId": "8000001760",
   "parentProcessType": "ZMCR",
   "totalChildren": 2,
   "children":    [
            {
         "guid": "00155DF935011EDB98C164809CF420E0",
         "objectId": "8000001761",
         "processType": "ZMMJ",
         "description": "Demo Change 1",
         "userStatus": "E0002",
         "userStatusText": "In Development",
         "userStatusFinal": ""
      },
            {
         "guid": "00155DF935011EDB98C165411CA980E0",
         "objectId": "8000001762",
         "processType": "ZMMJ",
         "description": "Demo Change 2",
         "userStatus": "E0001",
         "userStatusText": "Created",
         "userStatusFinal": ""
      }
   ]
}

GET /data/external_ids/{external_id}/children

Dieser Endpunkt liefert identische Informationen wie der Endpunkt GET /data/objects/{object_id}/children mit dem Unterschied, dass das übergeordnete Objekt mithilfe der Externen ID ermittelt wird.

GET /data/objects/{object_id}/action

Dieser Endpunkt liefert anhand einer spezifizierten Objekt ID Informationen der verfügbaren PPF-Aktionen des zum Objekt gehörigen Aktionsprofils. Zusätzlich liefert der Endpunkt für jede PPF-Aktion ein Kennzeichen, ob die Aktion zum aktuellen Status ausgeführt werden kann.

Die PPF-Aktionen finden Sie im Customizing mithilfe der Transaktion SPRO über den Pfad „SAP Solution Manager à Capabilities (Optional) à Change-Control-Management à Vorgänge à Aktionen à Aktionen und Bedingungen ändern à Aktionsprofile und Aktionen definieren“. Das Aktionsprofil für ChaRM Vorgänge lauten in der Regel <Vorgangsart>_ACTIONS, z. B. ZMCR_ACTIONS. Über den Customizing Pfad „SAP Solution Manager à Capabilities (Optional) à Change-Control-Management à Vorgänge à Aktionen à Aktionsprofil der Vorgangsart zuordnen“ kann zusätzlich genau feststellen wie das Aktionsprofil eine bestimmten Vorgangsart lautet.

Der Endpunkt liefert ein paar Informationen zu der angeforderten Objekt ID und ein Array mit den PPF-Aktionen, die wie folgt aussehen.

Name

Typ

Beschreibung

actions

Array

Diese Eigenschaft liefert eine Liste mit Informationen zu den PPF-Aktionen des Objekts.

description

Wert

Kurzbeschreibung des Objekts.

externalID

Wert

Die zugeordnete Externe ID des Objekts, falls vorhanden.

objectGuid

Wert

Der Wert enthält die global eindeutige ID des Objekts.

objectId

Wert

Die Objekt ID des Objekts.

processType

Wert

Die Vorgangsart des Objekts.

Die Elemente des Arrays „actions“ enthalten folgende Informationen zu PPF-Aktionen.

Name

Typ

Beschreibung

guid

Wert

Global eindeutige ID der PPF-Aktionen

ttype

Wert

Name der PPF-Aktion.

ttypedescr

Wert

Der Wert enthält die Kurzbeschreibung der PPF-Aktion.

context

Wert

Das zugehörige Aktionsprofil der PPF-Aktion.

executable

Wert

Kennzeichen, ob die PPF-Aktion für den aktuellen Objektstatus ausgeführt werden kann. Der Wert „X“ entspricht „True“ und der Wert „“ entspricht „False“.

Bespiel-Response:

{
   "actions": [
            {
         "guid": "00155DF935011EDB98C13B600E72E0E0",
         "ttype": "ZMCR_ON_CREATE",
         "ttypedescr": "When First Saving",
         "context": "ZMCR_ACTIONS",
         "executable": ""
      },
...
     {
         "guid": "00155DF935011EDBB1A1C59AA79780E1",
         "ttype": "ZMCR_EXTEND_SCOPE",
         "ttypedescr": "Extend Scope",
         "context": "ZMCR_ACTIONS",
         "executable": "X"
      },
     {
         "guid": "00155DF935011EDBB1A1C59AA79800E1",
         "ttype": "ZMCR_CREATE_PPM_TASK",
         "ttypedescr": "Create Project Management Task",
         "context": "ZMCR_ACTIONS",
         "executable": "X"
      }
   ],
   "description": "Test request for change",
   "externalId": "BIIMPL01-12",
   "objectGuid": "00155DF935011EDB98C13B600E6760E0",
   "objectId": "8000001760",
   "processType": "ZMCR"
}

GET /data/external_ids/{external_id}/action

Dieser Endpunkt liefert die selben Informationen anhand einer Externen ID zu PPF-Aktionen eines bestimmten Objekts wie der Endpunkt GET /data/objects/{object_id}/action.

GET /data/objects/search

Dieser Endpunkt dient zur Suche nach Objekten im Solution Manager anhand von vordefinierter Filterkriterien.

Die Filterkriterien werden bei diesem Endpunkt komplett als Query-Parameter übergeben. Folgende Query-Parameter können angegeben werden.

Name

Mögliche Werte

Beschreibung

description

Beliebiger Text ohne Berücksichtigung der Groß- und Kleinschreibung. Als Ersetzungszeichen für musterbasierte Suche können „*“ und „%“ verwendet werden.

Objekt-Beschreibung

only_active_status

„true“ oder „false“

Kennzeichen, ob nur Objekte mit einem nicht finalen Status zurückgeliefert werden sollen.

object_id

10stellige Objektnummer. Eine Musterbasierte Suche ist unter Angabe von „*“ oder „%“ möglich.

Objekt-ID

configuration_item

Das Konfigurations-Element als Zeichenkette. Eine Musterbasierte Suche für das Konfigurations-Element ist nicht möglich.

Konfigurations-Element

product_id

Das Konfigurations-Element als Zeichenkette. Eine Musterbasierte Suche für das Konfigurations-Element ist nicht möglich.

Konfigurations-Element (alternativer Name)

posting_date

Datumsangabe in der Form YYYY-MM-DD

Buchungs- bzw. Erstellungsdatum.

object_type

Folgende Festwerte sind erlaubt:
RFC = Änderungsantrag
CR = Änderungsdokument
CCY = Änderungszyklus
DEF = Defekt

Objekt-Typ

Die Antwort des Endpunktes entspricht der nachfolgenden Tabelle.

Name

Typ

Beschreibung

totalObjects

Wert

Anzahl der ermittelten Objekte.

objects

Array

Array mit Detailinformationen zu den gefundenen Objekten.

Die Objekte aus dem Array „objects“ enthalten dabei folgende Werte.

Name

Typ

Beschreibung

guid

Wert

Der Wert enthält die global eindeutige ID des Objekts.

objectId

Wert

Die Objekt ID des Objekts

processType

Wert

Die zugehörige Vorgangsart des Objekts

postingDate

Wert

Datum der Anlage des Objekts.

description

Wert

Objektbeschreibung.

userStatus

Wert

Aktueller Status

userStatusText

Wert

Beschreibung des aktuellen Status

userStatusFinal

Wert

Kennzeichen („X“ = True, „“ = False), ob der aktuelle Status nicht mehr geändert werden kann.

configItem

Wert

Konfigurationselement. Dieser Wert ist bei Änderungszyklen nicht gefüllt.

configItemText

Wert

Beschreibung des Konfigurationselements. Dieser Wert ist bei Änderungszyklen nicht gefüllt.

cycleId

Wert

Die Objekt ID des zugehörigen Änderungszyklus. Dieser Wert ist identisch mit objectId, falls das Objekt einem Änderungszyklus entspricht.

cycleText

Wert

Die Beschreibung des zugehörigen Änderungszyklus. Dieser Wert ist identisch mit description, falls das Objekt einem Änderungszyklus entspricht.

totalCycleConfigItems

Wert

Anzahl an Konfigurationselementen, falls das Objekt einem Änderungszyklus entspricht.

cycleConfigItems

Array

Liste mit zugehörigen Konfigurationselementen.

Die Elemente aus dem Feld „cycleConfigItems“ entsprechen dem folgenden Format:

Name

Typ

Beschreibung

configItem

Wert

Konfigurationselement.

configItemText

Wert

Beschreibung des Konfigurationselements.

Beispiel-Response:

{
   "totalObjects": 1,
   "objects": [
      {
         "guid": "00155DF935011ED7A690FB3043D0E0C4",
         "objectId": "8000000260",
         "processType": "ZMCR",
         "postingDate": "2017-09-13",
         "description": "Demo Change Request",
         "userStatus": "E0011",
         "userStatusText": "Extend Scope",
         "userStatusFinal": "",
         "configItem": "7100000111",
         "configItemText": "G00 0020168246 300",
         "cycleId": "8000000211",
         "cycleText": "Phase cycle (IF_CONIGMA)",
         "totalCycleConfigItems": 0,
         "cycleConfigItems": []
      }
   ]
}

POST /data

Mithilfe dieses Endpunkts können neue Objekte im Solution Manager angelegt werden. Der Endpunkt akzeptiert zusätzlich den Query-Parameter „simulation“, um eine Anlage eines Objekts zu simulieren. Um eine Anlage zu simulieren, muss dem Parameter entweder der Wert “True” oder “X” zugeordnet werden, z. B. “http(s)//: … /data?simulation=True”

Der Request muss mindestens einen Wert für die Vorgangsart über die Eigenschaft “processType” enthalten, um ein Objekt anlegen zu können.

Die nachfolgenden Objektwerte werden aktuell unterstützt, wenn diese im Request enthalten sind.

Konfigurationselement

Das Konfigurationselement oder IBase-Komponente ist ein JSON Objekt mit Namen “configurationItem” mit den Eigenschaften “productId” für das Konfigurationselement und “textIbComp” für die Beschreibung des Konfigurationselements, wobei für die Anlage oder Änderung nur der Wert für “productId” relevant ist.

"configurationItem": {
  "productId": "7100000111"
}
Kundeneigene Felder

Alle Kundeneigenen Felder, die in der Tabelle CRMD_CUSTOMER_H existieren und entweder mit ZZ oder YY beginnen, können bei der Anlage eines Objekts übergeben werden.

Wenn Beispielsweise das kundeneigene Feld YYJIRA_URL die URL eines verknüpften Jira Issue enthalten soll, kann folgendes im Request übergeben werden. Grundsätzlich muss der Feldname in Kleinbuchstaben im Objekt “customFields” übergeben werden. Sofern der Name ein Unterstrich enthält, muss der nächste Buchstabe nach dem Unterstrich in Großbuchstaben angeben werden.

"customFields": {
  "yyjiraUrl": "https://my-jira-instance.com/projects/IMPL/issues/IMPL-4712"
}
Änderungszyklus

Bei der Zuordnung eines Änderungszyklus kann entweder dessen ID oder die Beschreibung des Zyklus über das JSON Objekt „cycleInfo“ übergeben werden. Die Eigenschaft „releaseCrmId“ entspricht der ID des Zyklus und „projectTitle“ der Beschreibung des Zyklus.

Wenn Sie einem Objekt einen Zyklus mit ID 8000000211 mit Beschreibung „Release 2022-3“ zuordnen wollen, können Sie entweder die ID oder die Beschreibung mitliefern, sofern die Beschreibung eindeutig ist.

"cycleInfo": {
  "projectTitle": "Release 2022-3"
},
"cycleInfo": {
  "releaseCrmId": "8000000211"
}
Kurzbeschreibung/Titel des Objekts

Die Kurzbeschreibung bzw. Titel des Objekts, kann über die Eigenschaft „description“ übergeben werden.

"description": "New financial document type \"KR\""
Gewünschter Beginn, Gewünschtes Ende, Fälligkeitsdatum

Die Datumsfelder Gewünschter Beginn, Gewünschtes Ende oder das Fälligkeitsdatum können über die Eigenschaften „startDate“, „endDate“ und „dueDate“ übergeben werden. Das Datumsformat entspricht dem Muster YYYY-MM-DD.

"dueDate": "2021-02-15",
"endDate": "2022-03-18",
"startDate": "2022-01-15"
Externe ID

Eine Externe ID wie beispielsweise eine Jira Issue ID oder eine ServiceNow Incident ID, kann über die Eigenschaft „externalId“ festgelegt werden.

"externalId": "IMPL-4712"
Multiple Externe IDs

Sofern für bestimmte Vorgangsarten die Zuweisung von mehreren Externen IDs erlaubt ist, kann direkt ein Set aus Externen IDs über die Array-Eigenschaft „externalIds“ übergeben werden.

"externalIds": [
  "IMPL-4712",
  "IMPL-4713"
]
Auswirkung einer Anforderung, Änderung oder Problems

Die Auswirkung einer Anforderung, Änderung oder Problems, kann über die Eigenschaft „impact“ zugewiesen werden. Zulässige Werte für die Auswirkungen, finden Sie in Tabelle CRMC_SRQM_IMPACT.

"impact": "75"
Langtext

Der Langtext eines Objekts kann mit der Eigenschaft „longtext“ zugewiesen werden. Da die zugehörige Textart abhängig von der Vorgangsart ist und eventuell kundeneigene Textarten verwendet werden, muss vorab in der Konfiguration des Addons für jede Vorgangsart eine Textart zugwiesen werden, die als Langtext verwendet werden soll, siehe Kapitel X.X.

"longtext": "This is a detailed description for the requirement.\n Following changes has to be implemented:\n"
Business Partner

Im Vorgang relevanten Business Partner können über die Eigenschaft „partner“ zugewiesen werden. Die Eigenschaft ist dabei ein Array mit Objekten, wobei bei einem Objekt mindestens die Partnerrolle „partnerFct“ und ein Suchtext „partnerLookup“ angegeben werden muss. Der Suchtext funktioniert dabei analog einer Eingabe eines Partners im Web Frontend des Solution Managers und es kann beispielsweise die Nummer oder der Nachname des Partners angegeben werden. Es besteht auch die Möglichkeit kundeneigene Mapping-Regeln für Business Partner zu implementieren.

Beachten Sie bitte, dass die Partnerrolle abhängig von der Vorgangsart ist. Die verfügbaren Partnerrollen für eine Vorgangsart finden Sie in der Tabelle AIC_PARTNER_FCT. Im folgenden Beispiel wird der Rolle „Anforderer“ dem Business Partner 151 zugeordnet und der Rolle „Change Manager“ dem Business Partner 102.

"partner": [
  {
    "partnerFct": "SDCR0001",
    "partnerLookup": "151"
  },
  {
    "partnerFct": "SDCR0002",
    "partnerLookup": "102"
  }
]

Endpunkt „Cycles“

Mithilfe des Endpunkts „Cycles“ können Informationen zu Änderungszyklen aus dem Solution Manager abgerufen werden.

GET /cycles

Dieser Endpunkt liefert ein Array mit folgenden Informationen über alle Änderungszyklen im System. Das Rückgabeformat wird noch von einem anderen Endpunkt verwendet, weswegen bei Änderungszyklen identische Werte in unterschiedlichen Feldern zurückgeliefert werden. Die Antwort des Endpunkts enthält folgende Felder.

Name

Typ

Beschreibung

totalObjects

Wert

Anzahl der ermittelten Änderungszyklen.

objects

Array

Array mit Detailinformationen zu den Änderungszyklen.

 Die Objekte aus dem Array „objects“ enthalten dabei folgende Werte.

Name

Typ

Beschreibung

guid

Wert

Der Wert enthält die global eindeutige ID des Objekts.

objectId

Wert

Die Objekt ID des Objekts

processType

Wert

Die zugehörige Vorgangsart des Objekts

postingDate

Wert

Datum der Anlage des Objekts.

description

Wert

Objektbeschreibung.

userStatus

Wert

Aktuelle Status

userStatusText

Wert

Beschreibung des aktuellen Status

userStatusFinal

Wert

Kennzeichen („X“ = True, „“ = False), ob der aktuelle Status nicht mehr geändert werden kann.

configItem

Wert

Konfigurationselement. Dieser Wert ist bei Änderungszyklen nicht gefüllt.

configItemText

Wert

Beschreibung des Konfigurationselements. Dieser Wert ist bei Änderungszyklen nicht gefüllt.

cycleId

Wert

Die Objekt ID des zugehörigen Änderungszyklus. Dieser Wert ist identisch mit objectId, falls das Objekt einem Änderungszyklus entspricht.

cycleText

Wert

Die Beschreibung des zugehörigen Änderungszyklus. Dieser Wert ist identisch mit description, falls das Objekt einem Änderungszyklus entspricht.

totalCycleConfigItems

Wert

Anzahl an Konfigurationselementen, falls das Objekt einem Änderungszyklus entspricht.

cycleConfigItems

Array

Liste mit zugehörigen Konfigurationselementen.

Die Elemente aus dem Feld „cycleConfigItems“ entsprechen dem folgenden Format:

Name

Typ

Beschreibung

configItem

Wert

Konfigurationselement

configItemText

Wert

Beschreibung des Konfigurationselements.

Beispiel-Response:

{
   "totalObjects": 2,
   "objects": [          
      {
         "guid": "00155DF935011ED7A1E4396415E380C3",
         "objectId": "8000000211",
         "processType": "SMIM",
         "postingDate": "2017-08-22",
         "description": "Phase cycle (IF_CONIGMA)",
         "userStatus": "E0004",
         "userStatusText": "Build",
         "userStatusFinal": "",
         "configItem": "",
         "configItemText": "",
         "cycleId": "8000000211",
         "cycleText": "Phase cycle (IF_CONIGMA)",
         "totalCycleConfigItems": 1,
         "cycleConfigItems": [
            {
               "configItem": "7100000111",
               "configItemText": "G00 0020168246 300"
            }
         ]
      },
      {
         "guid": "00155DF935011EDB95E11001AEB600E0",
         "objectId": "8000001677",
         "processType": "SMIM",
         "postingDate": "2021-01-15",
         "description": "Cycle for defects",
         "userStatus": "E0005",
         "userStatusText": "Test",
         "userStatusFinal": "",
         "configItem": "",
         "configItemText": "",
         "cycleId": "8000001677",
         "cycleText": "Cycle for defects",
         "totalCycleConfigItems": 1,
         "cycleConfigItems": [  
            {
               "configItem": "7100000111",
               "configItemText": "G00 0020168246 300"
            }
         ]
      }
   ]
}

GET /cycles/transaction_types/{transaction_type}

Dieser Endpunkt liefert alle Änderungszyklen, die für eine bestimmte Dokumentenart, z. B. SMCR verwendet werden dürfen. Der Response ist identisch aufgebaut wie der Response des Endpunkts GET /cycles.

Endpunkt „Partner“

Mithilfe des Endpunkts „Partner“ können Informationen zu Geschäftspartnern aus dem Solution Manager abgerufen werden.

GET /data/partner?email={emailAddress)

Dieser Endpunkt liefert Detailinformationen zu einem Geschäftspartner anhand dessen E-Mail Adresse aus dem Solution Manager im Rückgabefeld „partner“.

Name

Typ

Beschreibung

number

Wert

Geschäftspartnernummer

guid

Wert

Eindeutige GUID des Geschäftspartners.

firstname

Wert

Vorname des Geschäftspartners.

lastname

Wert

Nachname des Geschäftspartners.

email

Wert

E-Mail-Adresse des Geschäftspartners.

validFrom

Wert

Gültig-Von-Datum des Geschäftspartners.

validTo

Wert

Gültig-Bis-Datum des Geschäftspartners.

Beispiel-Response:

{
   "partner": {
      "number": "0000000151",
      "guid": "00155DF935011ED7A5DA18356AC4E0C4",
      "firstname": "Frank",
      "lastname": "Dummy",
      "email": "frank.dummy@dummy.de",
      "validFrom": "0001-01-01",
      "validTo": "9999-12-31"
   }
}

Endpunkt „Ping“

Der Endpunkt „Ping“ dient zum Testen von Verbindungen.

GET /ping

Dieser Endpunkt dient im Wesentlichen zum Testen von Verbindungen und liefert folgende Informationen zum gerufenen SAP-Systems zurück und beinhaltet die folgenden Felder.

Name

Typ

Beschreibung

serverInfo

Objekt

Informationen zum SAP-Server

systemTime

Wert

Aktuelle Systemzeit

Das Objekt „serverInfo“ enthält nachstehende Informationen.

Name

Typ

Beschreibung

name

Wert

Server-Name.

host

Wert

Name des Host-Servers

serv

Wert

Service

msgtypes

Wert

Services des SAP-Servers

hostadr

Wert

Host IP-Adresse

servno

Wert

Port-Nummer des Services

state

Wert

Server-Status

hostnamelong

Wert

Name des Host-Servers

hostaddrV4Str

Wert

IPv4 Adresse

hostaddrV6Str

Wert

IPv6 Adresse

sysservervice0

Wert

Registrierte System-Dienste

sysservervice1

Wert

Registrierte System-Dienste

sysservervice2

Wert

Registrierte System-Dienste

sysservervice3

Wert

Registrierte System-Dienste

Beispiel-Response:

{
   "serverInfo":
   {
      "name": "GAL-MCH-116_G00_00",
      "host": "GAL-MCH-116",
      "serv": "sapdp00",
      "msgtypes": "BB",
      "hostadr": "C0A80174",
      "servno": "0C80",
      "state": "01",
      "hostnamelong": "GAL-MCH-116",
      "hostaddrV4Str": "192.168.1.116",
      "hostaddrV6Str": "192.168.1.116",
      "sysservice0": "80",
      "sysservice1": "00",
      "sysservice2": "00",
      "sysservice3": "00"
   },
   "systemTime": "2021-06-04T09:14:45.159Z"
}

Endpunkt „Tables“

Über diesen Endpunkt können Inhalte von „beliebigen“ SAP-Tabellen angefordert werden. Die Tabellen, dessen Inhalte gelesen werden dürfen, müssen aber vorher über das Konfigurationsprogramm /GAL/SM_API_CONFIG spezifiziert werden.

GET /tables/{table_name}

Dieser Endpunkt ist der Basis-Endpunkt, um Inhalte von SAP-Tabellen zu lösen. Der Endpunkt hat folgende Variationen, um bis zu 4 Filterkriterien angeben zu können. Als Filter-Option wird derzeit nur der Prüfung auf Gleichheit bzw. auf ein Muster unterstützt. Soll eine Muster-Prüfung erfolgen, können die Ersetzungszeichen „*“ und „%“ angegeben werden.

Folgende Endpunkt-Varianten existieren:

/tables/{table_name}/filter/column/{filter_column}/value/{filter_value}

/tables/{table_name}/filter/column/{filter_column}/value/{filter_value}/column2/{filter_column2}/value2/{filter_value2}

/tables/{table_name}/filter/column/{filter_column}/value/{filter_value}/column2/{filter_column2}/value2/{filter_value2}/column3/{filter_column3}/value3/{filter_value3}

/tables/{table_name}/filter/column/{filter_column}/value/{filter_value}/column2/{filter_column2}/value2/{filter_value2}/column3/{filter_column3}/value3/{filter_value3}/column4/{filter_column4}/value4/{filter_value4}

Wenn die angegebene Tabelle existiert und über den Endpunkt gelesen werden darf, werden enthält die Rückgabe die folgenden zwei Felder.

Name

Typ

Beschreibung

totalRecords

Wert

Anzahl der gelesenen Datensätze.

records

Array

Array der gelesenen Datensätze, wobei die Feldnamen den Spaltennamen der Tabelle entsprechen (in Camel Case).

Beispiel-Response:

{
   "totalRecords": 1,
   "records": [
      {
         "mandt": "100",
         "productId": "7100000111",
         "configItem": "AS-SAP-SOLMAN",
         "gxpClass": "GXP",
         "processTeam": "Defect Mngmt. 7.2",
         "scrReviewerDl": ""
      }
   ]
}

Das obige Beispiel liefert die Feldwerte einer Tabelle mit den Spalten MANDT, PRODUCT_ID, CONFIG_ITEM, GXP_CLASS, PROCESS_TEAM und SCR_REVIEWER_DL zurück.

  • No labels