openapi: 3.0.0
info:
  title: SAP API
  version: 1.0.0
servers:
- url: http://localhost:8080
paths:
  /rfc/COM_PROD_CATEGORY_MAINTAIN:
    post:
      tags:
      - COM_PRCAT_API
      operationId: /rfc/COM_PROD_CATEGORY_MAINTAIN
      requestBody:
        content:
          application/json:
            schema:
              properties:
                IT_PRODCAT:
                  type: array
                  items:
                    type: object
                    properties:
                      CATEGORY:
                        type: object
                        properties:
                          CLIENT:
                            type: string
                            maxLength: 3
                            description: Client
                          CATEGORY_GUID:
                            type: string
                            format: byte
                            description: Category GUID
                          CATEGORY_ID:
                            type: string
                            maxLength: 20
                            description: Category ID
                          HIERARCHY_GUID:
                            type: string
                            format: byte
                            description: Category Hierarchy GUID
                          PARENT_GUID:
                            type: string
                            format: byte
                            description: Category GUID
                          NON_ASSIGNABLE:
                            type: string
                            maxLength: 1
                            description: 'Products Cannot Be Assigned to the Category  enumValues: X=True,""=False'
                            enum:
                            - X
                            - ''
                          VALID_FROM:
                            type: integer
                            format: int64
                            description: Valid From (Time Stamp)
                          VALID_TO:
                            type: integer
                            format: int64
                            description: Valid To (Time Stamp)
                          UPNAME:
                            type: string
                            maxLength: 12
                            description: Name of the User Who Last Changed the Set
                          HISTEX:
                            type: string
                            maxLength: 1
                            description: 'History Exists  enumValues: X=True,""=False'
                            enum:
                            - X
                            - ''
                          LOGSYS:
                            type: string
                            maxLength: 10
                            description: Original System
                          PARENT_ID:
                            type: string
                            maxLength: 20
                            description: Category ID
                          PARENT_LOGSYS:
                            type: string
                            maxLength: 10
                            description: Original System
                      PRODUCT_CATEGORY:
                        type: object
                        properties:
                          PRODUCT_TYPE:
                            type: string
                            maxLength: 2
                            description: Product Type
                          AUTH_GROUP:
                            type: string
                            maxLength: 4
                            description: Authorization Group
                          RESPONSIBLE_PERS:
                            type: string
                            format: byte
                            description: Business Partner GUID
                          OBJECT_FAMILY:
                            type: string
                            maxLength: 4
                            description: Object Family
                          NON_SELECTABLE:
                            type: string
                            maxLength: 1
                            description: 'Category Can Be Selected at Database Level  enumValues: X=Cannot Be Selected,""=Can Be Selected'
                            enum:
                            - X
                            - ''
                          ID_TYPE:
                            type: string
                            maxLength: 16
                            description: ID Type for Alternative IDs
                          NO_DOCUMENTS:
                            type: string
                            maxLength: 1
                            description: 'Indicator: Product Documents Cannot Be Maintained  enumValues: X=True,""=False'
                            enum:
                            - X
                            - ''
                          NO_PRICE_COND:
                            type: string
                            maxLength: 1
                            description: 'Ind.: Pricing Conditions Cannot Be Maintained in Product  enumValues: X=True,""=False'
                            enum:
                            - X
                            - ''
                          PARTNER_DET_PROC:
                            type: string
                            maxLength: 8
                            description: Identification of a Partner Determination Procedure
                          COMPETITOR_PROD:
                            type: string
                            maxLength: 1
                            description: 'Obsolete  enumValues: X=True,""=False'
                            enum:
                            - X
                            - ''
                          ECM:
                            type: string
                            maxLength: 1
                            description: 'Indicator: Product Can Be Maintained with ECM  enumValues: X=True,""=False'
                            enum:
                            - X
                            - ''
                          PRODUCT_TEMPLATE:
                            type: string
                            format: byte
                            description: Product Template for Creating a Configurable Product
                      UPDATE_TYPE:
                        type: string
                        maxLength: 1
                        description: Type of Change
                      ATTRIBUTES:
                        type: array
                        items:
                          type: object
                          properties:
                            SETTYPE_GUID:
                              type: string
                              format: byte
                              description: Internal Key of Set Type
                            ATTRIBUTES:
                              type: array
                              items:
                                type: object
                                properties:
                                  ATTRIBUTE_GUID:
                                    type: string
                                    format: byte
                                    description: GUID of an Attribute (16 Characters)
                                  DOMAIN_X:
                                    type: string
                                    maxLength: 1
                                    description: Updated information in related user data field
                                  DEFAULT_X:
                                    type: string
                                    maxLength: 1
                                    description: Updated information in related user data field
                                  DOMAIN:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        ATTR_VAL_LOW:
                                          type: string
                                          maxLength: 30
                                          description: Single Value or Lower Limit of Interval
                                        ATTR_VAL_HIGH:
                                          type: string
                                          maxLength: 30
                                          description: Upper Limit of Interval
                                  DEFAULT:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        DEFAULT_VALUE:
                                          type: string
                                          maxLength: 30
                                          description: Single Value or Lower Limit of Interval
                      SETTYPES:
                        type: array
                        items:
                          type: object
                          properties:
                            CLIENT:
                              type: string
                              maxLength: 3
                              description: Client
                            CATEGORY_GUID:
                              type: string
                              format: byte
                              description: Category GUID
                            FRGTYPE_GUID:
                              type: string
                              format: byte
                              description: Internal Key of a Set Type
                            FRAG_INHERITED:
                              type: string
                              maxLength: 1
                              description: Set Type Has Been Inherited from Higher-Level Category
                            VALID_FROM:
                              type: integer
                              format: int64
                              description: Valid From (Time Stamp)
                            VALID_TO:
                              type: integer
                              format: int64
                              description: Valid To (Time Stamp)
                            UPNAME:
                              type: string
                              maxLength: 12
                              description: Name of the User Who Last Changed the Set
                            HISTEX:
                              type: string
                              maxLength: 1
                              description: History Exists
                            LOGSYS:
                              type: string
                              maxLength: 10
                              description: Original System
                            VIEW_GUID:
                              type: string
                              format: byte
                              description: Internal Key of a View
                            VIEWFRG_POS:
                              type: integer
                              format: int32
                              description: Position of Set Type in View
                            REFERENCE:
                              type: string
                              maxLength: 1
                              description: Set Type Data Is Referenced
                            MINITP_GUID:
                              type: string
                              format: byte
                              description: Template GUID
                            UPDATE_TYPE:
                              type: string
                              maxLength: 1
                              description: Type of Change
                      RELTYPES:
                        type: array
                        items:
                          type: object
                          properties:
                            DATA:
                              type: object
                              properties:
                                CLIENT:
                                  type: string
                                  maxLength: 3
                                  description: Client
                                CATEGORY_GUID:
                                  type: string
                                  format: byte
                                  description: Category GUID
                                IL_RELTYPE:
                                  type: string
                                  maxLength: 6
                                  description: Relationship Type
                                IL_DIRECTION:
                                  type: string
                                  maxLength: 1
                                  description: 'Defines the Direction of a Directed Relationship  enumValues: S=From Source to Destination,""=Undirected,D=From Destination to Source'
                                  enum:
                                  - S
                                  - ''
                                  - D
                                INHERITED:
                                  type: string
                                  maxLength: 1
                                  description: 'Relationship Type Inherited from Higher-Level Category  enumValues: X=True,""=False'
                                  enum:
                                  - X
                                  - ''
                                VALID_FROM:
                                  type: integer
                                  format: int64
                                  description: Valid From (Time Stamp)
                                VALID_TO:
                                  type: integer
                                  format: int64
                                  description: Valid To (Time Stamp)
                                UPNAME:
                                  type: string
                                  maxLength: 12
                                  description: Name of the User Who Last Changed the Set
                                HISTEX:
                                  type: string
                                  maxLength: 1
                                  description: 'History Exists  enumValues: X=True,""=False'
                                  enum:
                                  - X
                                  - ''
                                LOGSYS:
                                  type: string
                                  maxLength: 10
                                  description: Original System
                            DATA_X:
                              type: object
                              properties:
                                UPNAME:
                                  type: string
                                  maxLength: 12
                                  description: Name of the User Who Last Changed the Set
                                REFERENCE:
                                  type: string
                                  maxLength: 1
                                  description: 'Updated information in related user data field  enumValues: X=Update for the field,""=No update for the field'
                                  enum:
                                  - X
                                  - ''
                            UPDATE_TYPE:
                              type: string
                              maxLength: 1
                              description: Type of Change
                      TEXT:
                        type: array
                        items:
                          type: object
                          properties:
                            CLIENT:
                              type: string
                              maxLength: 3
                              description: Client
                            CATEGORY_GUID:
                              type: string
                              format: byte
                              description: Category GUID
                            LANGU:
                              type: string
                              maxLength: 1
                              description: Language Key
                            CATEGORY_TEXT:
                              type: string
                              maxLength: 80
                              description: Category Description
                            TEXT_UPPER_CASE:
                              type: string
                              maxLength: 80
                              description: Category Description in Uppercase
                            VALID_FROM:
                              type: integer
                              format: int64
                              description: Valid From (Time Stamp)
                            VALID_TO:
                              type: integer
                              format: int64
                              description: Valid To (Time Stamp)
                            UPNAME:
                              type: string
                              maxLength: 12
                              description: Name of the User Who Last Changed the Set
                            HISTEX:
                              type: string
                              maxLength: 1
                              description: History Exists
                            LOGSYS:
                              type: string
                              maxLength: 10
                              description: Original System
                            UPDATE_TYPE:
                              type: string
                              maxLength: 1
                              description: Type of Change
                IV_COMMIT_WORK:
                  type: string
                  default: ' '
                  maxLength: 1
                IV_INITIAL_LOAD:
                  type: string
                  default: ' '
                  maxLength: 1
                IV_SUPPRESS_DB_SAVE:
                  type: string
                  default: ' '
                  maxLength: 1
                IV_UPDATE_TASK:
                  type: string
                  default: ' '
                  maxLength: 1
              required:
              - IT_PRODCAT
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                properties:
                  ET_BAPIRETURN:
                    type: array
                    items:
                      type: object
                      properties:
                        TYPE:
                          type: string
                          maxLength: 1
                          description: 'Message type: S Success, E Error, W Warning, I Info, A Abort'
                        ID:
                          type: string
                          maxLength: 20
                          description: Message Class
                        NUMBER:
                          type: integer
                          format: int64
                          description: Message Number
                        MESSAGE:
                          type: string
                          maxLength: 220
                          description: Message Text
                        LOG_NO:
                          type: string
                          maxLength: 20
                          description: 'Application log: log number'
                        LOG_MSG_NO:
                          type: integer
                          format: int64
                          description: 'Application log: Internal message serial number'
                        MESSAGE_V1:
                          type: string
                          maxLength: 50
                          description: Message Variable
                        MESSAGE_V2:
                          type: string
                          maxLength: 50
                          description: Message Variable
                        MESSAGE_V3:
                          type: string
                          maxLength: 50
                          description: Message Variable
                        MESSAGE_V4:
                          type: string
                          maxLength: 50
                          description: Message Variable
                        PARAMETER:
                          type: string
                          maxLength: 32
                          description: Parameter Name
                        ROW:
                          type: integer
                          format: int32
                          description: Lines in parameter
                        FIELD:
                          type: string
                          maxLength: 30
                          description: Field in parameter
                        SYSTEM:
                          type: string
                          maxLength: 10
                          description: Logical system from which message originates
                  EV_ERROR:
                    type: string
                    maxLength: 1
                    description: Logical Variable
        '400':
          description: Bad request.
        5XX:
          description: Unexpected error.
