{
  "synLogic": "int $ret \u003d $api($1, $2, $3, $4, $5, $6, $7);",
  "help": "This function is used to put a message in a JMS topic using the Kafka connection. The key of the message is important in this. If key is not needed, then it is set as null. The ns_kafka_put_msg_v2 function is used to produce or send a message to a Kafka topic with additional parameters.",
  "notes": "",
  "returns": "Returns an integer value in C, representing the success or failure of the function. If the function succeeds, it returns 0. If the function fails, it returns a value less than 0. In Java this function returns true for success and false for failure",
  "arguments": "\u003ctable class\u003d\"newGuiTable\" style\u003d\"width:100%\"\u003e \u003ctbody\u003e\u003ctr\u003e \u003cth\u003e Argument \u003c/th\u003e \u003cth\u003e Description \u003c/th\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e JPCID \u003c/td\u003e \u003ctd\u003e It is the Connection ID for Java Messaging Service \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e Message \u003c/td\u003e \u003ctd\u003e A pointer to the message that needs to be put in the topic. \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e Message Length \u003c/td\u003e \u003ctd\u003e The length of the message. \u003c/td\u003e \u003c/tr\u003e  \u003ctr\u003e \u003ctd\u003e Key \u003c/td\u003e \u003ctd\u003e  The key for the message. Can be set to NULL if not needed. \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e Key Length \u003c/td\u003e \u003ctd\u003e  The length of the key. Set to 0 if key is NULL. \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e Trasaction Name \u003c/td\u003e \u003ctd\u003e The name of the transaction. Can be set to NULL if not needed. \u003c/td\u003e \u003c/tr\u003e \u003ctr\u003e \u003ctd\u003e Error Message \u003c/td\u003e \u003ctd\u003e A pointer to the error message. This is set if an error occurs. \u003c/td\u003e \u003c/tr\u003e \u003c/tbody\u003e\u003c/table\u003e",
  "parameterization": "",
  "component": [
    {
      "id": "$1",
      "type": "TextField",
      "label": "JMS Pool Connection Id",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "First character must be Alpha.\r\nOther characters are Alpha, Numeric or Underscore",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "If JMS Connection id is a program variable",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,63}$",
        "required": false,
        "min": 0,
        "max": 0,
        "method": "isValidVar(arg)"
      },
      "quotes": false
    },
    {
      "id": "$2",
      "type": "TEXT_VAR",
      "label": "Message",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter message",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "If message is a program variable",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 0
      },
      "quotes": true
    },
    {
      "id": "$3",
      "type": "TextField",
      "label": "Message Length",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter message length",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "",
      "argIndex": 0,
      "validate": {
        "inputType": "Number",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 2147483647
      },
      "quotes": true
    },
    {
      "id": "$4",
      "type": "TEXT_VAR",
      "label": "Key",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter key",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "If message is a program variable",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 0
      },
      "quotes": true
    },
    {
      "id": "$5",
      "type": "TextField",
      "label": "Key Length",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter key length",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "",
      "argIndex": 0,
      "validate": {
        "inputType": "Number",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 2147483647
      },
      "quotes": true
    },
    {
      "id": "$6",
      "type": "TEXT_VAR",
      "label": "Transaction Name",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter error message",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "If transaction name is a program variable",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 0
      },
      "quotes": true
    },
    {
      "id": "$7",
      "type": "TextField",
      "label": "Error Message Buffer Pointer",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "Enter error message",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "required": true,
        "min": 0,
        "max": 0
      },
      "quotes": false
    },
    {
      "id": "$ret",
      "type": "TextField",
      "label": "Return Variable",
      "value": "",
      "css": "p-grid p-align-center w-100-p",
      "title": "First character must be Alpha.\r\nOther characters are Alpha, Numeric or Underscore.",
      "placeHolder": "",
      "style": "",
      "isDisabled": "",
      "labelVarCheckbox": "",
      "argIndex": 0,
      "validate": {
        "inputType": "Text",
        "disabled": false,
        "pattern": "^[a-zA-Z][a-zA-Z0-9_]{0,63}$",
        "required": false,
        "min": 0,
        "max": 0,
        "method": "isValidVar(arg)"
      },
      "quotes": true
    }
  ],
  "name": "ns_kafka_put_msg_v2",
  "syntax": "int ns_kafka_put_msg_v2(int jpcid, char *msg, int msg_len, char *key, int key_len, char *transaction_name, char *error_msg);",
  "javaSyntax": "boolean ns_kafka_put_msg_v2(JMSKey key, Object msg, String msgKey, String txName);",
  "cEx": "flow()\n{\n  int jpid;        //JMS Pool Id\n  int jcid;        //JMS Connection Id\n  char error_msg[1024 + 1];        // Error string. Must be 1024 size\n  int ret;        // Error code\n  char *msg \u003d \"message will goes here\";        // Message to be produced\n  int msg_len \u003d strlen(msg);        // Message Length\n  char *key \u003d \"message_key\";        // Message Key\n  int key_length \u003d strlen(key);        // Message Length\n\n  if((jpid \u003d ns_kafka_init_producer(\"127.0.0.1\", 9092, \"topic\", 1, error_msg)) \u003c 0)\n  {\n   fprintf(stderr, \"Error in initializing Kafka producer. Error code \u003d %d, Error Msg \u003d %s\", jpid, error_msg);\n   return;\n  }\n\n  if((jcid \u003d ns_kafka_get_connection(jpid, \"KAFKAProducerSSLConnect\", error_msg)) \u003c 0)\n  {\n   fprintf(stderr, \"Error in getting Kafka connention. Error code \u003d %d, Error Msg \u003d %s\", jcid, error_msg);\n   return;\n  }\n\n  if((ret \u003d ns_kafka_put_msg_v2(jcid, msg, msg_len, key, key_length, \"KAFKAPutMsg\", error_msg)) \u003c 0)\n  {\n   fprintf(stderr, \"Error in putting message using Kafka connention. Error code \u003d %d, Error Msg \u003d %s\", ret, error_msg);\n  }\n}",
  "javaEx": "public class flow implements NsFlow\n{\n  public int execute(NSApi nsApi) throws Exception\n  {\n        NSApi.JMSKey key \u003d null;\n        String msg\u003dnull;\n\n        // Puts message in the JMS topic using connection ID returned from get connection api\n        // In case of error, it returns error code with error_msg \n        if(!nsApi.ns_kafka_put_msg_v2(key,  msgToBeProduce,  msgKey , \"KAFKAPutMsg\"))\n        {\n         System.out.println(\"Error in putting using kafka connection. Error code \u003d \" + key.getErrCode() + \", Error Msg \u003d \" + key.getErrMsg());\n        }\n  }\n}",
  "insertStrC": "ns_kafka_put_msg_v2(int jpcid, char *msg, int msg_len, char *key, int key_len, char *transaction_name, char *error_msg);",
  "insertStrJava": "ns_kafka_put_msg_v2(JMSKey key, Object msg, String msgKey, String txName);",
  "description": "This function is used to put a message in a JMS topic using the Kafka connection. The key of the message is important in this. If key is not needed, then it is set as null. The ns_kafka_put_msg_v2 function is used to produce or send a message to a Kafka topic with additional parameters."
}