Saurabh Kumar

Software Developer
About Me
I liked proDT because there is a culture of help and support in this company. The good part about it is tha when any impediment raised it bubbles up to the top people in the hierarchy if it's needed to. So you never feel stranded. Next is you can raise your personal concerns to higher management without any hesitance rather it is encouraged in this culture

Written Blogs

Saurabh Kumar

How Prodt’ s work culture helped in my personal growth

Over the 3 years of my professional journey from a developer to tech lead has not only enriched my career but also played a significant role in my personal growth. The opportunities and challenges brought lots of learnings for me that I can’t be thankful enough.

One of the most significant elements this journey helped me is providing more strength to my communication skills. This allowed me to express myself explicitly to the other person. I truly learned the meaning of “communication skill is not about talking fluently in some specific Language”.

I look forward to share these basic concepts of communication skill to the new joiners and family members as well.

Second, I have learned the true meaning of Agility and adaptability. Twist and turns often comes through project lifecycle. I have learned to adapt from these types of situations. The way I have exceled through this type of situation is constructing a set of predefined action and best probable reaction by experience or some advice from seniors.

Furthermore, I have understood the usage of agile methodology. I try to use some concepts of agile methodology in my day-to-day life. Like breaking bigger tasks to smaller ones, Doing a retrospection. These things I used to do previously but now I am more mindful about them. Also, it just clicks easily when to do what.

Finally, this journey has sparked a sense of continuous learning and self-improvement. I recognized the importance of staying updated with industry trends and honing my skills. This dedication to growth has influenced my personal pursuits, as I now seek opportunities to expand my knowledge and pursue new passions.

In conclusion, the skills I acquired, the challenges I faced, and the values I embraced have had a far-reaching impact on my personal life, making me a more effective communicator, responsible individual, resilient thinker, empathetic friend, and continuous learner. As I continue on this journey, I am grateful for the opportunities that have transformed not only my career but also my perspective on life

Saurabh Kumar

WEM No-Code - Reference Data types and their Usage

What is the reference data type?

Reference data type is used to denote a row of a particular list.

For example, if I say I have a reference field of “employee list” and that field has some data assigned to it. This means that the reference field is denoting some row of “employee list”.

When we say data type, It often comes to our mind as a format of data with certain rules and standards. In general programming, we define the datatype of variables and then save the value assigned to it. Likewise for reference data type variables (fields), if there is no data assigned to the field that means it is not denoting any row of the particular list and vice versa.

In short

Reference data type field with data assigned to it  -> Denotes a row of the particular list.

Reference data type field with empty value  ->Does not denote any row.


Structure of reference data type fields

When we define a reference data type field it requires a list associated with itself and a name.

For example, if I want a reference field of “employee list” I’ll select that list whenever I’ll be defining the reference field. Like all the fields you also need to provide a name for the reference field.
If I have to define one reference field of “employee list”. I’ll write the name of the field as “employee” and select ”employee list” as the associated list.


How to get row data from reference fields

We can get any data of the denoted row of the  “employee list” using the “->” operator.

For example “employee list” has multiple columns like employee name, employee no, employee activity status etc. If I want to access the employee name then I can just write an expression like employee(reference field) -> employee name and it will fetch the employee name. If the field is empty then you won’t get any data. (if you are wondering how to assign data to a reference field then I should let you know that part will come later.)


Before learning how to assign data to a reference field we should understand the concept of Row positioning.

Row positioning is clearly defined as the selected row of a list. It is also referred to as the current row of the list in WEM.

Row positioning is dependent on many events which are listed below

  1. Datagrid click(row click, button click inside the row)
  2. Repeater click (div, button)
  3. List action node(add, go to first node, go to next node, reset row position, go to last node, go to previous node)
  4. Loop node (on each iteration of loop row position changes)

Note: If you navigate to a different page using the navigation menu the positioning will be reset which means there will be no row for the current position.


Assignment of reference field

Step 1: Set the row position using above listed events in the “row positioning section”.

Step 2: Select field as assignment node in the flow and then for that node choose “set to current row” option

Eg: let’s say I have a reference field of the employee list named “Emp”. I need to find an employee using employee ID and get the reference and assign it to the reference field “Emp”.

We will take a list action node. Select the “goto first row” action. Apply condition for “goto first row that matches”. The condition will be that the employee ID you want to match should be available in the column of employee ID in the employee table. So we can write something like employee ID field from input = employee ID column of employee table.

Flowchart