EMA post a page based data

I'm creating C++ application to post message to TRCC. When i tried to post a 80*25 page, the AckMsg sent

Nack Code: DeniedBySource

Text: No such field

Questions:

1. what does this "no such field" mean? .

2. to post page based data, what domainType should I use?

3. Does the RIC need to be specifically configured?

Best Answer

  • Jirapongse
    Jirapongse admin
    Answer ✓

    @ye.li

    I assume that you would like to post data to the ROW80_xx fields.

    ROW80_1    "IRGROW 1"             315  NULL        ALPHANUMERIC       80  RMTES_STRING    80
    ROW80_2    "IRGROW 2"             316  NULL        ALPHANUMERIC       80  RMTES_STRING    80
    ...
    ROW80_24   "IRGROW 24"            338  NULL        ALPHANUMERIC       80  RMTES_STRING    80
    ROW80_25   "IRGROW 25"            339  NULL        ALPHANUMERIC       80  RMTES_STRING    80

    These fields represent eighty character text fields corresponding to a row of data in a page-style record.

    The "No such field" error indicates that the contributed fields are not available in the contributed RIC. For example, the TRCCTEST01 RIC doesn't have ROW80_1 (315) fields. If the post message contains this field, the application will get this error.

            <POST domainType="MARKET_PRICE" streamId="1" containerType="MSG" flags="0x62 (HAS_POST_ID|POST_COMPLETE|ACK)" postId="0" postUserId="1" postUserAddr="172.17.204.33" dataSize="46">
                <dataBody>
                    <UPDATE domainType="MARKET_PRICE" streamId="1" containerType="FIELD_LIST" flags="0x08 (HAS_MSG_KEY)" updateType="0" dataSize="20">
                        <key flags="0x06 (HAS_NAME|HAS_NAME_TYPE)" name="TRCCTEST01" nameType="1"/>
                        <dataBody>
                            <fieldList flags="0x08 (HAS_STANDARD_DATA)">
                                <fieldEntry fieldId="22" data="0C16"/>
                                <fieldEntry fieldId="25" data="0C19"/>
                                <fieldEntry fieldId="315" data="7465 7374"/>
                            </fieldList>
                        </dataBody>
                    </UPDATE>
                </dataBody>
            </POST>
    <ACK domainType="MARKET_PRICE" streamId="1" containerType="NO_DATA" flags="0x22 (HAS_TEXT|HAS_NAK_CODE)" ackId="0" nakCode="DENIED_BY_SRC" text="No such field" dataSize="0">
                <dataBody>
                </dataBody>
            </ACK>

    To post the ROW80_xx fields, the domain type in the post message is MARKET_PRICE.

    To get rid of this error, the contributed RIC must contain the ROW80_xx fields. You can try to subscribe to that RIC to verify available fields. For example, fields in the page record should look like:

    image

Answers

  • Thanks. I raised a request for another test RIC with the row fields added. That should fix this.