if( ri!taskCode = cons!IC_TEXT_TASKCODE_RESERVE_NO_FOREWARD, { a!columnsLayout( columns: { a!columnLayout( contents: { a!dropdownField( label: "Pull Zone", value: local!pullZoneValues, choiceLabels: local!pullZoneList, choiceValues: local!pullZoneList, placeholderLabel: "Select a Value", saveInto: {a!save(local!pullZoneValues,save!value), a!save( local!getLocnId, rule!IC_QRY_getLocnidFromMSTLocationHeader(local!pullZoneValues) ) } ) } ), a!columnLayout( contents: { a!dropdownField( label: "Location ID", value:if( isnull(local!pullZone), null, index(ri!selectedTask,"locnId",null) ), choiceLabels: union(local!getLocnId,local!getLocnId), choiceValues:union(local!getLocnId,local!getLocnId), disabled: isnull(local!pullZoneValues), placeholderLabel : "Select a Value", saveInto: a!save( ri!selectedTask.locnId, save!value ) ) } ) } ) }, {} ),
/* rule!IC_QRY_getLocnidFromMSTLocationHeader */ a!queryEntity( entity: cons!IC_ENTITY_MST_LOCATION_HEADER, query: a!query( selection: a!querySelection( columns: { a!queryColumn( field: "locnId" ) } ), logicalexpression: a!queryLogicalExpression( operator: "AND", filters: { a!queryFilter( field: "SKUId", operator: "is null" ), a!queryFilter( field: "pullZone", operator: "=", value: ri!pullZone ) } ), pagingInfo: a!pagingInfo( startIndex: 1, batchSize: - 1, sort: {} ) ) ).data.locnId
the second dropdown field is not saving the values, whenever I select a value in dropdown it disappears. Any help would be appreciated.
Discussion posts and replies are publicly visible
Replace the value parameter of the second dropdown with this and see what happens:
value: property(ri!selectedTask,"locnId",null),
In general what you have above is forcing the second dropdown to not show its value when local!pullZone is blank, however nothing from either dropdown that you've shown causes any value to be saved into local!pullzone. Maybe the if() statement should have been checking for the nullness of local!pullZoneValues instead, but I can't tell for sure based only on what you've provided.
I tried implementing the property syntax. There is no change though. I've modified the question bit more, can you please look at it and let me know.
property() works the same way as index() -- the real thrust of my change was that i removed the if() statement you had it enclosed in.
(i put in property() instead of index() in my change, because I prefer using property() when referring to a cdt property, just for code readability).