Posted: 1 Apr 2019 10:15 EDT Last activity: 16 Oct 2020 2:16 EDT
System Architect Essentials (8): Capstone exercise - US-109 instruction to remove parameter causes a fatal save error
I am currently unable to continue the exercise because of the following issue. Following this instruction from the “Technical Approach” causes a fatal save error:
Switch to Dev Studio and modify the Savable Rental Customer data page to:
Remove the pyGUID parameter.
The attached file shows from where I tried to remove this parameter, and the resulting error message. It does seem odd to me that we'd want to remove a unique identifier; wondering if there might be a copy-and-paste error in the instructions.
Hi Sean. This is very close. The errors are gone, but it is saving a blank record instead of one with the data. There has to be a plumbing issue somewhere. What should I check?
There were two things that I initially did in a different order:
1. I created the new automation step first. I don't think that made a difference, though, as I needed to specify the data page name after creating it anyway. I did that because I've had problems triggered by objects not being created yet when I've done other parts of the capstone exercise.
2. What did make a difference was I saved immediately after deleting pyGUID, which now appears to be the wrong thing to do. I waited until after the end, and that eliminated the errors.
I had the same issue -- saving blank records (the whole row is blank) instead of user input. I got it solved by configuring my view. Before I had the Collect Customer Information view set as a combination of 4 fields: Personal information, Address information, Licensing information, and Issuing Authority. Instead, you should delete all four fields but add your Rental Customer field, that's it.
Since when we set Top = pyWorkPage.RentalCustomer in data transform, we are telling pega to copy the user input value of their first last name, email, phone, address, license info, etc from pyWorkPage and paste to savable data page. RentalCustomer != personal info + address info + licensing info + issuing authority. Even though essentially they are representing the same fields. Since property names are not the same, the value user put in under First Name under personal info won't be transferred to RentalCustomer automatically. Kind of confusing... Just remember, if you tell pega to copy from pyWorkPage.A, then user must enter value within property A, otherwise the record would be blank.
Unfortunately, because of a glitch that happened later in the exercise, our systems folks had to recreate my virtual machine from scratch. I followed the above procedure to redo US-109, but now I'm not even saving the blank record any more. I'll attach a file showing what I have, named 20190405 US109.jpg.
I think I need to insert the new data transform (PersistNewCustomer) in the process, as shown in the attached file (20190409 Missing Data Transform.jpg), but it doesn't appear in the list. If that is correct, how do I make it appear in the list? If that is incorrect, what else do I need to do?
I was wondering if anyone was able to complete US-109? I have followed the steps above, after saving no errors showed however I have also got the problem where it doesn't save to the record. I am on Dev Studio, I click Data Types, then I click the icon next to 3 with a circle in it to see the records that should be stored in there however it shows "There are no columns to display".
I have checked the clipboard and I can see pyWorkPage has all the data from where a new customer enter all their details (From Collect Customer Information step). I have also configured the extra step to happen before sending the email, save data page that has D_RentalCustomerSavable inside data page name.
I also had issues when it came to completing US-109. It appears the problem may relate to how the fields have been defined i.e. the fields have been defined in separate field groups - Personal Information, Address information, Licensing information and Login credentials and these 4 field groups have in turned been referenced within the Rental Customer field group.
I was informed by Pega Academy (I emailed them separately about running into issues with US-109) that the fields need be created in a non-hierarchical flat structure i.e. all individual fields are created in the Rental Customer field group.
Because there was a lot of re-work involved due to this error, I started from scratch with the user story, US-104 being corrected and from there I haven't had any issues since.
Is there an alternate way to fix the issue without having to start from the beginning of the Solution Build?
I also initially created separate field groups for each "group" (I.e. personal information, address information, etc.) referenced within the Rental Customer field group.
Instead of starting from the beginning, I re-configured the Collect customer information step view with only the Rental Customer field group and individual fields (I.e. first name, last name, etc).
Although, there are still no columns to display in the Records tab after following the steps above. I am sure there are ways to debug/test, although I am stumped on where to begin/what to be looking for. I am thinking it is a mapping issue.
Does anyone have any suggestions on what to look for/where to begin to debug?
I had already thought about this, but then discarded, cause the US exectly tells how to create the data class with field groups. I will try it with your advice and hope that i can continue with the other 14 UserStories :D
I had the exact same error message (Improper usage of the choose best ruleset api [..])
The cause was that my RentalCustomer data type was created on the wrong level (that is my guess anyway - I am new to Pega). I could see the data type in App Studio with the Case Type on the Data Model tab but not under Data or in Dev Studio under Data types.
So to fix it I made a new datatype Customer directly from Data and repeated all steps up from US-104 replacing RentalCustomer with Customer.
As noted before it is also crucial to have all properties directly under (Rental)Customer. Only the view is divided in sections not the data type itself. (US-104)
As per your statement -- "As noted before it is also crucial to have all properties directly under (Rental)Customer." could you please confirm if you mean all the scalar property like FirstName , City , PostalCode, etc are to defined under the Tour-CarRentals-Data-RentalCustomer class ?
Also in the Data Transform used in the D_RentalCustomerSavable data page , we set Top = pyWorkPage.RentalCustomer as per the instructions.
However, we are not setting those individual scalar properties under the RentalCustomer class in this Data Transform. Will it save the RentalCustomer class instances ? Is there anything else that need to be done ?