Auto filled data in the form is not saving to DB

Use Case: A form as 10 fields out of which 4 are auto filled when a user lands on the page (auto filled fields are: 1. create date , 2. modified date, 3.created by and 4.modified by), rest 6 fields requires users input. When user saves the form by clicking on save button the system is giving the message as it is saved. However, it doesn't save the data to the DB.

While manual debugging when the user modifies the auto-filled fields and then clicks on save button then all the data in 10 fields are saving to DB. I am not sure what is missing.

I followed this tutorial to create this form -https://docs.appian.com/suite/help/21.3/Records_Tutorial.html

For autofill of 4 fields I have used following functions:

1. create date: local!storedValue:now()

2. modified date: local!storedValue:now()

3.created by: loggedInUser()

4.modified by: loggedInUser()

Can someone help in fixing this issue? Thanks!

  Discussion posts and replies are publicly visible

Parents Reply Children
  • i am trying with a!save(), but the appian doc. for a!save() says :Use a!save for each item that you want to modify or alter in a saveInto parameter. But I basically want to save the value from the field into database as it is displayed. without any modifications and without user interaction

    is there any way for that ? 

  • 0
    Certified Senior Developer
    in reply to Madhu Tiwari

    Hi Madhu, you can save these fields' values in saveInto parameter of your "Save" button. So whenever user clicks on save button you would be passing pre populated values into your rule inputs. In the code you shared , your value is in a local variable called "local!storedvalue". Now you will have to pass this local variable value to your rule input, so your saveInto parameter of the save button should be something like below,

    saveInto:{

    a!save(ri!ED__DT_iwmsReferences.createddate,local!storedValue)

    }

  • So you mean there is no way the (correct value which is being displayed in the respective fields) values will be saved to the database without user interaction ?

  • 0
    Certified Lead Developer
    in reply to Madhu Tiwari

    You will probably need to change your way of solving a given problem. In Appian a field can display the underlying data stored in memory as a rule input or a local variable. As the user interacts with the interface, you can change this data. The important "trick" here is, that you cannot only change the data displayed in that field, but any other as well.

    Now about storing data to DB. A database is considered an external system Appian has an integration to. So, to store data to the DB, your user submits the form and the process continues to a node which writes some data to DB. This data can be modified in the process using a script task.

    I hope this gives you a few hints ...

  • a!localVariables(
                  local!now: now(),
                  a!dateTimeField(
                    label: "Created Ts",
                    labelPosition: if(
                      ri!readOnly,
                      "ADJACENT",
                      "ABOVE"
                    ),
                    value: local!now,
                    saveInto: {a!save(ri!LOB_LIST.created_ts, local!now)},
                    required: true,
                    readOnly: ri!readOnly,
                    disabled: true
                  )
                ),

    I still used the a!save() i tried directly with the value and also saving an value to the local variable but, still i don't see it getting save in the list of values. so my table is getting written with null values.

    any idea what i am missing above?