Step 1: Define “After Create” Trigger
Last updated
Last updated
To define the "After Create" trigger, follow the steps below:
To go to the Entity database, click “Entity database” under the “Database” menu on the left side panel.
Select the entity “UserName_Acc_customers”. To define the triggers for the entity, go to the Triggers tab.
To create the After Create Trigger, click the [+ After Create] button.
Click on the text “New_Trigger_0” and label the After Create Trigger as “updateDayMonthJoinDate”. This trigger will update the DayMonthJoinDate field with a value of day and month based on the value in the Join_Date field.
To define variables for this trigger, go to the “Variables” tab of the Trigger. A variable “Created_Record” with data type as “UserName_AcccCustomers” entity is already defined.
To create a variable, click the [+ Variable] button. Create four (4) more variables.
To store the values for list of strings, month, day, and the day with month together, define the variables as follows.
To store the value of the current date as a list of strings, define a variable as: Variable Name: “strList”, Data Type: select “string”, and check “List” This defines the data type as a list of strings. This variable will store the value of the current date as a list of strings. The format of the date and time in Langstack applications is “YYYY-MM-DD hh:mm:ss” or “YYYY-MM-DDThh:mm:ss.”
To store the value for the month in the current date, define a variable as: Variable Name: “strMonth”, Data Type: “string”
To store the value for the day in the current date, define a variable as: Variable Name: “strDay”, Data Type: “string”
To store the value for the day and month together from the current date, define a variable as: Variable Name: “strDayMonth”, Data Type: “string” This variable will contain the value for the day and month in the current date.
To define the criteria for the trigger, go to the “Criteria” tab. To add a Criteria bar, click the (+) button. Define the Criteria bar to verify if the value in the Join_Date field of the entity is present.
Select Source as Variables>Created_Record>Join_Date. It will display as “Created_Record.Join_Date”. This variable contains the value of the Join_Date field for the newly created record.
Select operator as “Is Set”.
To define Actions if the criteria return True, go to the Code tab>On True section. Add an Action by clicking the (+) button.
To split the current date based on the delimiter to result in a list of strings, define the first Action as follows:
Select Action “Split string”. This Action is for splitting the string into a list of items.
Select Target variable as “strList”. The value of the list of strings will be stored in this variable.
Select Source string as Variables>Created_Record>Join_Date>toString(). It will display as "Created_Record.Join_Date.toString()". This contains the value of the created record join date which is first converted to string and added as the source.
Type Delimiter as “-” and press Enter. It will be added in a blue bubble. This variable defines that the string is split based on the encounter of the “-”. We have the year as a separate string and a month as a separate string, however, the day is still combined with the time. The value of the day will be separated from the time later in the exercise.
To get an item from the list of strings, add the second Action and define it as follows:
Select Action as “Get List item”.
Select Target variable as “strMonth”. Select Source list as Variables>strList, which displays as “strList”. The current month's value is taken from the variable “strList”.
Type Index value as “1” and press Enter. This is the index position of the item to be taken from the string. In this case, the month is at 1. [“YYYY”, “MM”, “DD hh:mm:ss”] = [“(index value=0)”, “(index value=1)”, “(index value=2)”]
Select the “As Copy” checkbox. This defines that the Target Value will only contain a pointer to the index value and not hold the actual value of it.
To update the value of the day in a variable, add the third Action and define it as follows:
Select Action as “Update Variable”. This Action updates a variable from a source.
Select Target variable as “strDay”. At this point, after the split based on the delimiter “-”, the last part of the string contains the value of the day and time.
Select Value as Variables>strList>getLast(), which displays as “strList.getLast()”. This is the value of the last index position in the list of strings. This Action updates the last part of the list of strings into the variable “strDay” i.e. [“YYYY”, “MM”, “DD hh:mm:ss”]
To separate the value of day from the time, add the fourth Action and define it as follows:
Select Action as “Split string”. This Action is for splitting the string into a list of items.
Select Target variable as “strList”. The value of the list of strings will be stored in this variable.
Select Source string as Variables>strDay, which displays as “strDay”. The value of string in this variable will be split into a list of strings.
Type Delimiter as “(space)” and press Enter. It will be added in a blue bubble. This variable defines that the string is split based on the encounter of the “(space)”. In this Action, the current date will be split based on the delimiter “ “ (space) and will result in a list of strings i.e. from the list [“YYYY”, “MM”, “DD hh:mm:ss”], the last item will be split into another list: [“DD”, “hh:mm:ss”]. This results in the value of day in the first index position, and the time in the second index position.
To update the value of the day from the list of string (day and time), add the fifth Action and define it as follows:
Select Action as “Update Variable”. This Action updates a variable from a source.
Select Target variable as “strDay”. The value of the Day in the list of strings will be stored in this variable.
Select Value as Variables>strList>getFirst(). It displays as strList.getFirst(). The first value in the list will be the source. [“DD”, “hh:mm:ss”]
To update the values of day and month in a variable, add the sixth Action and define it as follows:
Select Action as “Update Variable”. This Action updates a variable.
Select Target variable as “strDayMonth”. This variable contains the value of the day and month concatenated.
In the Value, first select Variables>strDay and press Enter followed by select Variables>strMonth and pressing Enter. Each variable will be displayed in a white bubble. This Action updates the variables of strDay and strMonth into the variable “strDayMonth”.
To update the day and month values stored in strDayMonth into the DayMonthJoinDate field of the new record, add the seventh Action and define it as follows:
Select Action as “Update Variable”. This Action updates a variable.
Select Target variable as Created_Record>DayMonthJoinDate. This is displayed as “Created_Record.DayMonthJoinDate”.
In the Value, select Variables>strDayMonth.” It is displayed as “strDayMonth”. This Action updates the created record with the value of day and month joined together.
Finally, the sequence of Actions will look as per the image below:
To save the entity, click the [Save] button.
To close the Entity, click the [Close] button.
To test the trigger, create a new record by clicking the [+ Record] button.
Create a new record with no value in the DayMonthJoinDate. To save the record, click the [Save] button. The displayed record will have the DayMonthJoinDate value updated as per the date in the Join_Date field. If there is no Join_Date value added, the system automatically updates the value in the Join_Date to be “1970-01-01” and the same will be updated in the DayMonthJoinDate field.