Execute a function module.

/cnbs/v1/function_module
POST

The service allows to call a function module. Currently the implementation support the following import/export parameter types.

  • Importing
    • single values
  • Exporting
    • single values
  • Changing
    • single values
  • Tables
    • flat tables (deep structures are not possible)
    • Hint: Function Module table type can be defined as “LIKE ABAP DDIC structure” or “TYPE ABAP DDIC table type”

Example

Required

  • Function Module Name (function_module_name)
    • Important:The function module must be addedd to the “Allowed Function Module” customizing table (Transaction /CNBS/C_API_IMG).

Optional

  • Impersonation User
  • Mock data (mock_data)
    • Mock data type (mock_type)
      • space … no mock data
      • W … mock data generation on WAS
      • C … mock data generation on Core
    • Mock Number (mock_number)
      • key for customzing table
  • Exporting Parameter (export). Will be mapped to FM import parameter
    • Parameter name (name)
    • Parameter value (value)
  • Changing Parameter (changing). Will be mapped to FM changing parameter
    • Parameter name (name)
    • Parameter value (value)
  • Tables (changing). Will be mapped to FM tables parameter
    • Table name (name)
    • Value (value)
      • table field name (name)
      • table field value (value)

Example POST

JSON Payload:

{
  "impersonation_user": "",
  "mock_data": {
    "mock_type": "",
    "mock_number": 0
  },
  "function_module_name": "Z_CNBS_API_EXA1_ROUTE_BOOK",
  "export": [
    {
      "name": "IV_KUNNR",
      "value": "3000"
    },
    {
      "name": "IV_SHIP_TO",
      "value": "X"
    }
  ],
  "changing": [
    {
      "name": "CV_BOOK_ACTIVE",
      "value": ""
    }
  ],
  "tables": [
    {
      "name": "ET_ROUTE_BOOK",
      "value": [
        [
          {
            "name": "MATNR",
            "value": "3000"
          },
          {
            "name": "WAERS",
            "value": "USD"
          }
        ]
      ]
    }
  ]
}

cURL:

curl -X POST "https://deveselling.cnbssoftware.com/cnbs/v1/function_module?sap-client=800&sap-language=EN&apiid=CNBSMV01R" -H  "accept: application/json" -H  "cnbssysid: W1B//vRKywJ2sPUVQG4CQ16Sf9XSN+N4Fkc6Bfmky3k=" -H  "Content-Type: application/json" -d "{  \"impersonation_user\": \"\",  \"mock_data\": {    \"mock_type\": \"\",    \"mock_number\": 0  },  \"function_module_name\": \"Z_CNBS_API_EXA1_ROUTE_BOOK\",  \"export\": [    {      \"name\": \"IV_KUNNR\",      \"value\": \"3000\"    },    {      \"name\": \"IV_SHIP_TO\",      \"value\": \"X\"    }  ],  \"changing\": [    {      \"name\": \"CV_BOOK_ACTIVE\",      \"value\": \"\"    }  ],  \"tables\": [    {      \"name\": \"ET_ROUTE_BOOK\",      \"value\": [        [          {            \"name\": \"MATNR\",            \"value\": \"3000\"          },          {            \"name\": \"WAERS\",            \"value\": \"USD\"          }        ]      ]    }  ]}"
  • Importing Parameter (export). Will be mapped to FM export parameter
    • Parameter name (name)
    • Parameter value (value)
  • Changing Parameter (changing). Will be mapped to FM changing parameter
    • Parameter name (name)
    • Parameter value (value)
  • Tables (changing). Will be mapped to FM tables parameter
    • Table name (name)
    • Value (value)
      • table field name (name)
      • table field value (value)
  • Status (status)
    • Message Type (message_type)
      • SAP Message Type.
        • Errors:
          • E = Error
          • A = Abort
          • X = Exception
        • Others:
          • S = Success
          • W = Warning
          • I = Information
    • Message Identifier (message_identification)
      • SAP Message ID.
    • Message Number (message_number)
      • SAP Message Number.
    • Message Line (message_line_string)
      • SAP Message Text.

JSON:

{
  "data": {
    "import": [
      {
        "name": "EV_NAME",
        "value": "Smith Inc. LLC"
      }
    ],
    "changing": [
      {
        "name": "CV_BOOK_ACTIVE",
        "value": "1"
      }
    ],
    "tables": [
      {
        "name": "ET_ROUTE_BOOK",
        "value": [
          [
            {
              "name": "KUNAG"
            },
            {
              "name": "MATNR",
              "value": "3000"
            },
            {
              "name": "MAKTX"
            },
            {
              "name": "MEINS"
            },
            {
              "name": "NETPR",
              "value": "0.00"
            },
            {
              "name": "WAERS",
              "value": "USD"
            },
            {
              "name": "PARLEVEL",
              "value": "0"
            },
            {
              "name": "PARUOM"
            },
            {
              "name": "PRODTYPE"
            },
            {
              "name": "UMREZ",
              "value": "0"
            },
            {
              "name": "UMREN",
              "value": "0"
            },
            {
              "name": "KONDA"
            },
            {
              "name": "KUNAG",
              "value": "0000003000"
            },
            {
              "name": "MATNR",
              "value": "000000000000000023"
            },
            {
              "name": "MAKTX",
              "value": "Test material"
            },
            {
              "name": "MEINS",
              "value": "EA"
            },
            {
              "name": "NETPR",
              "value": "5500.00"
            },
            {
              "name": "WAERS",
              "value": "USD"
            },
            {
              "name": "PARLEVEL",
              "value": "0"
            },
            {
              "name": "PARUOM"
            },
            {
              "name": "PRODTYPE",
              "value": "11"
            },
            {
              "name": "UMREZ",
              "value": "1"
            },
            {
              "name": "UMREN",
              "value": "1"
            },
            {
              "name": "KONDA",
              "value": "01"
            },
            {
              "name": "KUNAG",
              "value": "0000003000"
            },
            {
              "name": "MATNR",
              "value": "000000000000000641"
            },
            {
              "name": "MAKTX",
              "value": "Adjusting Screw.ipt"
            },
            {
              "name": "MEINS",
              "value": "ST"
            },
            {
              "name": "NETPR",
              "value": "32.04"
            },
            {
              "name": "WAERS",
              "value": "USD"
            },
            {
              "name": "PARLEVEL",
              "value": "0"
            },
            {
              "name": "PARUOM"
            },
            {
              "name": "PRODTYPE",
              "value": "12"
            },
            {
              "name": "UMREZ",
              "value": "1"
            },
            {
              "name": "UMREN",
              "value": "1"
            },
            {
              "name": "KONDA",
              "value": "01"
            }
          ]
        ]
      }
    ]
  },
  "status": {
    "message_type": "S",
    "message_identification": "/CNBS/X_API",
    "message_number": 10,
    "message_line_string": "Request successfully processed"
  }
}
  • public/docs/webarapi/v130/function_module.txt
  • Last modified: 2021/02/18 12:14
  • by Christian Koessl