The record data does not exist, has been deleted, or you do not have sufficient privileges to access it. (APNX-1-4205-006) in service backed record

Hi All, I am working on a use case, where I have configured record with integartion(service backed recordrd type) using a dynamic link in a grid to redirect to summary page,

I am getting "The record data does not exist, has been deleted, or you do not have sufficient privileges to access it. (APNX-1-4205-006)" this error while clicking the link to see summary .

Can any one please help me what configuration needs to be established to see summary page.

.

a!localVariables(
  /* 1. First, configure the integration object to return successfully */
  local!integrationResponse: rule!GI_INT_GetClaim(adjustername: "ABC"),
  todatasubset(
    a!forEach(
      local!integrationResponse.result.body.claimsList,
      cast(
        typeof(
          'type!{urn:com:appian:types:GI}GI_RESP_GetClaimSummaryClaimList'()
        ),
        fv!item
      )
    )
  )
  
)

I am getting this output.

Am able to see the data in the grid but not able to view summary. Help me to resolve the issue.Thanks in advance.

It works for single record source configuration but with this only one record display and able to see summary also.

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Senior Developer

    As Stefan suggested you can remove a! for each from your code.

    Another issue that you need to fix is the pagination as your API needs to accept records per page and page number.


    a!localVariables(
      /* Call the integration and store the response in a local variable */
      local!integrationResponse: rule!GI_INT_GetClaim(adjustername: "ABC"),
      if(
        /* This will return true if the integration succeeds */
        local!integrationResponse.success,
        /* If needed, modify the expression below to return a list of maps, dictionaries, or CDTs that map to your record data */
        /*Without casting*/
        index(
          local!integrationResponse.result.body,
          "claimsList",
          null
        ),
        /*In case you want to cast to cdt below code*/
        /*
        cast(
            typeof('type!{urn:com:appian:types:GI}GI_RESP_GetClaimSummaryClaimList'()),
            {
                index(
                    local!integrationResponse.result.body,
                    "claimsList",
                    null
                )
            }
        )
        */
        /* If the integration is unsuccessful, handle accordingly */
        if(
          /* Note: handling of out of bounds exceptions varies by web service */
          tointeger(
            index(
              local!integrationResponse.result,
              "statusCode",
              0
            )
          ) = 416,
          /* If this is an out of bounds error, return an empty list to finish syncing */
          {},
          /* If this is a different error, return the integration error. */
          /* If you need additional logic to determine the error, use a!integrationError() in the integration to format the error displayed in the sync monitor */
          local!integrationResponse.error
        )
      )
    )



    For summary view go to Views and header section in the record then you have three tabs 

    try to use GENERATE RECORD VIEW in this you will follow the wizard which will do the automatic creation of view and then you can customize the interface according to your need.

    if you already have created the interface then you can map it manually as well using ADD VIEW MANUALLY.

    Note either pass rv!record or  rv!identifier in the summary view interface

    Hope this helps

Reply
  • 0
    Certified Senior Developer

    As Stefan suggested you can remove a! for each from your code.

    Another issue that you need to fix is the pagination as your API needs to accept records per page and page number.


    a!localVariables(
      /* Call the integration and store the response in a local variable */
      local!integrationResponse: rule!GI_INT_GetClaim(adjustername: "ABC"),
      if(
        /* This will return true if the integration succeeds */
        local!integrationResponse.success,
        /* If needed, modify the expression below to return a list of maps, dictionaries, or CDTs that map to your record data */
        /*Without casting*/
        index(
          local!integrationResponse.result.body,
          "claimsList",
          null
        ),
        /*In case you want to cast to cdt below code*/
        /*
        cast(
            typeof('type!{urn:com:appian:types:GI}GI_RESP_GetClaimSummaryClaimList'()),
            {
                index(
                    local!integrationResponse.result.body,
                    "claimsList",
                    null
                )
            }
        )
        */
        /* If the integration is unsuccessful, handle accordingly */
        if(
          /* Note: handling of out of bounds exceptions varies by web service */
          tointeger(
            index(
              local!integrationResponse.result,
              "statusCode",
              0
            )
          ) = 416,
          /* If this is an out of bounds error, return an empty list to finish syncing */
          {},
          /* If this is a different error, return the integration error. */
          /* If you need additional logic to determine the error, use a!integrationError() in the integration to format the error displayed in the sync monitor */
          local!integrationResponse.error
        )
      )
    )



    For summary view go to Views and header section in the record then you have three tabs 

    try to use GENERATE RECORD VIEW in this you will follow the wizard which will do the automatic creation of view and then you can customize the interface according to your need.

    if you already have created the interface then you can map it manually as well using ADD VIEW MANUALLY.

    Note either pass rv!record or  rv!identifier in the summary view interface

    Hope this helps

Children
No Data