Skip to main content
March 30, 2022
Question

Auto filled data in the form is not saving to DB

  • March 30, 2022
  • 11 replies
  • 0 views

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!

11 replies

leonclintonc0001
March 30, 2022

Are you saving the data from the local variables to the CDT fields using a!save function? Because before you submit the form you need to save it in the CDT fields.

March 31, 2022

yes i did save in the CDT field.

my code is:

a!localVariables(

              local!storedValue:now(),

              a!dateTimeField(

                label: "Created Date and Time",

                value: if(ri!ED__DT_iwmsReferences.referenceId,   ri!ED__DT_iwmsReferences.createddate,  local!storedValue),

                saveInto: ri!ED__DT_iwmsReferences.createddate

              )

            ),

leonclintonc0001
March 31, 2022

You have an IF condition in the "value" parameter. I suppose it works fine for the first condition but doesn't save the data for the second condition. So in that case, check out this code snippet:

a!localVariables(
    a!formLayout(
        contents:
        {
            local!storedValue: now(),
            a!dateTimeField(
            label: "Created Date and Time",
            value: if(ri!ED__DT_iwmsReferences.referenceId, ri!ED__DT_iwmsReferences.createddate, local!storedValue),
            saveInto: ri!ED__DT_iwmsReferences.createddate
            ),
        },
        buttons:
        a!buttonLayout(
            primaryButtons: 
            a!buttonWidget(
                label: "Submit",
                value: true,
                saveInto: 
                {
                    if(
                        ri!ED__DT_iwmsReferences.referenceId, {},
                        a!save(ri!ED__DT_iwmsReferences.createddate, local!storedValue)
                    )
                }
            )
        )    
    )
),

stefanhelzle0001
Brainy
March 30, 2022

A fields value is stored to a rule input ONLY on user interaction. I typically set default values using a few a!save() in the submit button.

March 31, 2022

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 ? 

gopalk2865
Participating Frequently
March 31, 2022

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)

}