How to add a new entry into table using a!writeRecords?

A Score Level 1

Hi,

I am trying to use a!writeRecord function in an interface button save into block. Below is my code. Id is a Primary Key and is set as AUTO_INCREMENT in the database table. When I set the id as 0, it doesn't seem to accept the identifier and hence fails. What should I do in order to write a new entry into the table using this function?

PS : I am able to update the record and the corresponding row in the DB with an existing identifier.

  Discussion posts and replies are publicly visible

Parents Reply Children
  • 0
    Certified Lead Developer
    in reply to Malleswari T

    I did a quick test and had the same issue. Writing a new item, fv!recordsUpdated was empty. But in the DB I had a new row with the correct values. Then I checked my record for applied source filters ... and BINGO. The item I added to the DB did not get pass that filter. I removed that filter and a retest showed that fv!recordsUpdated is not populated as expected.

    I think this is expected, while somewhat tricky to debug when you do not have that source filter in mind.

  • 0
    Certified Senior Developer
    in reply to Stefan Helzle

    How do we handle when i have few rows to update and few new records...

    I have a usecase where user want to edit as well as add new rows. I am not able to use a!foreach and i am not able to use if() to check if id exists or not exists.

    When i use if() condition, this is how data looks, getting saved to same record either new or existing.

    If i apply a!foreach() i am getting pink box.

    Is there a specific way of doing this...

  • 0
    Certified Lead Developer
    in reply to Malleswari T

    You cannot call more than one smart service function like a!writeRecords in a saveInto.

    I do not really understand what you try to do with all that code in your screenshots. Why all these copy actions from local to a new record?

    You can write almost any number of records of the same type in one go. The ones with a valid primary key value will be updated, any other will be inserted. I suggest to read the documentation to understand in more detail how this works.

  • 0
    Certified Senior Developer
    in reply to Stefan Helzle

    my initial attempt was using a valid primary key and letting others to insert which was not successful. So i am trying to write them in different ways.  Yup i will go through the documentation again.