Hi All,
am new to Appian, i have developed the Interface to fetch master values from Database, show it in a grid for adding or updating the data, please help me how can write the updated or added data back to Database,
Sorry, the Insert Code link is not working, so i have pasted my code below.
load( a!localVariables( local!type: cast('type!{urn:com:appian:types:LMP}LMP_REF_TYPES?list', rule!LMP_getTypesListByFilters( pagingInfo: a!pagingInfo( startIndex: 1, batchSize: - 1, sort: a!sortInfo( field: "abbreviation", ascending: true() ) ) ) ), local!sbgList: rule!LMP_getREFTableDetailsAdmin( MasterRef: "SBG" ), local!regionList: rule!LMP_getREFTableDetailsAdmin( MasterRef: "Region" ), local!FunctionList: rule!LMP_getREFTableDetailsAdmin( MasterRef: "Function" ),
local!AllValuesMaster: rule!LMP_getAllValuesMasterFilters( typeid: ri!typeValueSelected, pagingInfo: a!pagingInfo( startIndex: 1, batchSize: - 1, sort: a!sortInfo( field: "description", ascending: true() ) ) ), local!SbgSbuMapValues :fn!cast('type!{urn:com:appian:types:LMP}LMP_MAP_SBG_SBU_Master?list', rule!LMP_getSBUDetailsAdmin( ) ), local!SBGFunctionMapValues: rule!LMP_getFunctionSBGMappingDetails(
), local!SBGDemographics: rule!LMP_MAP_DemographicsAdmin( DemographicMapName: "SBG", pagingInfo: a!pagingInfo( startIndex: 1, batchSize: - 1, sort: a!sortInfo( field: "sbgid", ascending: true() ) ) ), local!RegionDemographics: rule!LMP_MAP_DemographicsAdmin( DemographicMapName: "Region", pagingInfo: a!pagingInfo( startIndex: 1, batchSize: - 1, sort: a!sortInfo( field: "regionid", ascending: true() ) ) ), local!FunctionDemographics: rule!LMP_MAP_DemographicsAdmin( DemographicMapName: "Function", pagingInfo: a!pagingInfo( startIndex: 1, batchSize: - 1, sort: a!sortInfo( field: "functionid", ascending: true() ) ) ), local!value: {1,2,5,6,7,8,9,11,12,13,14,15,16}, { a!sectionLayout( contents: { a!columnsLayout( columns:{ a!columnLayout( contents:{ a!richTextDisplayField( value: { a!richTextIcon( icon: "map", size: "LARGE" ), a!richTextItem( text: " Geography/Review", size: "LARGE" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "Regions", link: a!dynamicLink( value: true(), saveInto: { a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[1]) } ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Major geographic regions", color: "SECONDARY", size: "SMALL" )
} ), a!richTextDisplayField( value: { a!richTextItem( text: "Country", link: a!dynamicLink( value: true(), saveInto: { a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[11]) } ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Countries in which Honeywell operates", color: "SECONDARY", size: "SMALL" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "Band", link: a!dynamicLink( value: true(), saveInto: { a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[14]) } ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Eligible Employees Band", color: "SECONDARY", size: "SMALL" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "Rating", link: a!dynamicLink( value: true(), saveInto: { a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[7]) } ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Eligible Rating for Nomination", color: "SECONDARY", size: "SMALL" ) } ) }, width: "MEDIUM" ), a!columnLayout( contents:{ a!richTextDisplayField( value: { a!richTextIcon( icon: "sitemap", size: "LARGE" ), a!richTextItem( text: " Organization", size: "LARGE" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "SBG", link: a!dynamicLink( value: true(), saveInto: { a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[2]) } ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Strategic Business Group", color: "SECONDARY", size: "SMALL" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "SBU", link: a!dynamicLink( value: { true(), }, saveInto:a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[3]) ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Strategic Business Unit", color: "SECONDARY", size: "SMALL" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "Function", link: a!dynamicLink( value: true(), saveInto: { a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[10]) } ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Mode of Work Area", color: "SECONDARY", size: "SMALL" ) } ) }, width: "NARROW_PLUS" ), a!columnLayout( contents:{ a!richTextDisplayField( value: { a!richTextItem( text: { a!richTextIcon( icon: "address-book" ), "Employee" }, size: "LARGE" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "9BlockRating", link: a!dynamicLink( value: true(), saveInto: a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[15]) ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Yearly Review Rating", color: "SECONDARY", size: "SMALL" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "JOB Function", link: a!dynamicLink( value: true(), saveInto: a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[6]) ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Functional Area", color: "SECONDARY", size: "SMALL" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "Program", link: a!dynamicLink( value: true(), saveInto: a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[16]) ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Programs organised yearly", color: "SECONDARY", size: "SMALL" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "Potential Rating", link: a!dynamicLink( value: true(), saveInto: a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[13]) ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Promotion Criteria", color: "SECONDARY", size: "SMALL" ) } ), /*a!richTextDisplayField(*/ /*value: {*/ /*a!richTextItem(*/ /*text: "Succession",*/ /*link: a!dynamicLink(*/ /*value: true(),*/ /*saveInto: local!showSuccession*/ /*),*/ /*size: "MEDIUM"*/ /*),*/ /*a!richTextItem(*/ /*text: char(*/ /*10*/ /*) & "NA",*/ /*color: "SECONDARY",*/ /*size: "SMALL"*/ /*)*/ /*}*/ /*),*/ a!richTextDisplayField( value: { a!richTextItem( text: "Ethnicity", link: a!dynamicLink( value: true(), saveInto: a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[5]) ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "NA", color: "SECONDARY", size: "SMALL" ) } )
} ), a!columnLayout( contents:{ a!richTextDisplayField( value: { a!richTextItem( text: { a!richTextIcon( icon: "users" ), " Demographic" }, size: "LARGE" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "Demographics", link: a!dynamicLink( value: true(), saveInto: a!save(ri!typeValueSelected,cons!LMP_REF_IDS_Types[8]) ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Demographics Master Value", color: "SECONDARY", size: "SMALL" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "SBG Demographics", link: a!dynamicLink( value: true(), saveInto: a!save(ri!typeValueSelected,20) ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Mapping of Demographics and SBG", color: "SECONDARY", size: "SMALL" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "Function Demographics", link: a!dynamicLink( value: true(), saveInto: a!save(ri!typeValueSelected,22) ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Mapping of Demographics and Function", color: "SECONDARY", size: "SMALL" ) } ), a!richTextDisplayField( value: { a!richTextItem( text: "Region Demographics", link: a!dynamicLink( value: true(), saveInto: a!save(ri!typeValueSelected,21) ), size: "MEDIUM" ), a!richTextItem( text: char( 10 ) & "Mapping of Demographics and Region", color: "SECONDARY", size: "SMALL" ) }, width: "MEDIUM" ) }
)
} ) } ), a!sectionLayout( contents: { a!boxLayout( label: if(or(isnull(ri!typeValueSelected),ri!typeValueSelected = 0), "Type", rule!LMP_getTypesListByFilters( typeid: ri!typeValueSelected ).description), contents: { a!gridLayout( label: "", headerCells: { /*a!gridLayoutHeaderCell(*/ /*label: "TypeId"*/ /*),*/ /*a!gridLayoutHeaderCell(*/ /*label: "Abbreviation"*/ /*),*/ a!gridLayoutHeaderCell( label: "Name" ), a!gridLayoutHeaderCell( label: "Active" ), a!gridLayoutHeaderCell( label: "" ), a!gridLayoutHeaderCell( label: "" )
}, columnConfigs: { /*a!gridLayoutColumnConfig(*/ /*width: "ICON"*/ /*),*/ /*a!gridLayoutColumnConfig(),*/ a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ) }, rows: a!forEach( items: local!AllValuesMaster, expression: a!gridRowLayout( contents: { /*a!textField(*/ /*value: fv!item.typeid,*/ /*saveInto: fv!item.typeid*/ /*),*/ /*a!textField(*/ /*value: fv!item.abbreviation,*/ /*saveInto: fv!item.abbreviation*/ /*),*/ a!textField( value: fv!item.description, saveinto: fv!item.description ), a!checkboxField( label: "gbe-active", choiceLabels: { "" }, choiceValues: { true() }, value: if( or( isnull( fv!item.activein ), not( fv!item.activein ) ), null, toboolean( fv!item.activein ) ), saveInto: { a!save( fv!item.activein, if( isnull( save!value ), false(), save!value ) )
}, align: "CENTER" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_UP" ), altText: "Up", caption: "Move Up ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = 1, {}, { a!save( local!AllValuesMaster, insert( local!AllValuesMaster, fv!item, fv!index - 1 ) ), a!save( local!AllValuesMaster, remove( local!AllValuesMaster, fv!index + 1 ) ) } ) } ) ), size: "ICON" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_DOWN" ), altText: "Down", caption: "Move Down ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = count( local!AllValuesMaster ), {}, { a!save( local!AllValuesMaster, insert( local!AllValuesMaster, fv!item, fv!index + 2 ) ), a!save( local!AllValuesMaster, remove( local!AllValuesMaster, fv!index ) ) } ) } ) ), size: "ICON" ) } ) ), addRowLink: a!dynamicLink( label: "Add " & if(or(isnull(ri!typeValueSelected),ri!typeValueSelected = 0), "Type", rule!LMP_getTypesListByFilters( typeid: ri!typeValueSelected ).description), saveInto: a!save( local!type, append( local!type, 'type!{urn:com:appian:types:LMP}LMP_REF_TYPES'( activein: true() ) ) ) ), shadeAlternateRows: true /*paginginfo: a!pagingInfo(*/ /*startIndex: 1,*/ /*batchSize: -1,*/ /*sort: a!sortInfo(*/ /*field: "abbreviation",*/ /*ascending: true()*/ /*)*/ /*)*/ ), a!buttonLayout( primaryButtons: a!buttonWidget( label: "Submit", submit: true, value: cons!LMP_BUTTON_VALUES[5], saveInto: ri!ButtonValueALL ), secondaryButtons: a!buttonWidget( label: "Cancel", style: "DESTRUCTIVE", submit: true, value: cons!LMP_BUTTON_VALUES[7], saveInto: ri!ButtonValueALL ) )
}, showWhen: contains(local!value, ri!typeValueSelected)
), a!boxLayout( label: "SBU", contents: { a!gridLayout( label: "", headerCells: { a!gridLayoutHeaderCell( label: "SBU" ), a!gridLayoutHeaderCell( label: "SBG" ), a!gridLayoutHeaderCell( label: "Active" ), a!gridLayoutHeaderCell( label: "" ), a!gridLayoutHeaderCell( label: "" )
}, columnConfigs: { /*a!gridLayoutColumnConfig(*/ /*width: "ICON"*/ /*),*/ /*a!gridLayoutColumnConfig(),*/ a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ) }, rows: a!forEach( items: local!SbgSbuMapValues, expression: a!gridRowLayout( contents: {
a!textField( value: fv!item.sbudescription, saveinto: fv!item.sbudDescription ), /*a!textField(*/ /*value: fv!item.sbgdescription,*/ /*saveinto: fv!item.sbgdescription*/ /*),*/ a!dropdownField( label: "", placeholderLabel: "--- Select a Value ---", choiceLabels: { local!sbgList.description }, choiceValues: { local!sbgList.sbgid }, value:fv!item.sbgid, saveInto:fv!item.sbgid, validations: {}
), a!checkboxField( label: "gbe-active", choiceLabels: { "" }, choiceValues: { true() }, value: if( or( isnull( fv!item.activein ), not( fv!item.activein ) ), null, toboolean( fv!item.activein ) ), saveInto: { a!save( fv!item.activein, if( isnull( save!value ), false(), save!value ) )
}, align: "CENTER" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_UP" ), altText: "Up", caption: "Move Up ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = 1, {}, { a!save( local!SbgSbuMapValues, insert( local!SbgSbuMapValues, fv!item, fv!index - 1 ) ), a!save( local!SbgSbuMapValues, remove( local!SbgSbuMapValues, fv!index + 1 ) ) } ) } ) ), size: "ICON" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_DOWN" ), altText: "Down", caption: "Move Down ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = count( local!SbgSbuMapValues ), {}, { a!save( local!SbgSbuMapValues, insert( local!SbgSbuMapValues, fv!item, fv!index + 2 ) ), a!save( local!SbgSbuMapValues, remove( local!SbgSbuMapValues, fv!index ) ) } ) } ) ), size: "ICON" ) } ) ), addRowLink: a!dynamicLink( label: "Add " & if(or(isnull(ri!typeValueSelected),ri!typeValueSelected = 0), "Type", rule!LMP_getTypesListByFilters( typeid: ri!typeValueSelected ).description), saveInto: a!save( local!SbgSbuMapValues, append( local!SbgSbuMapValues, 'type!{urn:com:appian:types:LMP}LMP_MAP_SBG_SBU_Master'( activein: true() ) ) ) ), shadeAlternateRows: true /*paginginfo: a!pagingInfo(*/ /*startIndex: 1,*/ /*batchSize: -1,*/ /*sort: a!sortInfo(*/ /*field: "abbreviation",*/ /*ascending: true()*/ /*)*/ /*)*/ ), a!buttonLayout( primaryButtons: a!buttonWidget( label: "Submit", submit: true, value: cons!LMP_BUTTON_VALUES[5], saveInto: ri!ButtonValueSBU ), secondaryButtons: a!buttonWidget( label: "Cancel", style: "DESTRUCTIVE", submit: true, value: cons!LMP_BUTTON_VALUES[7], saveInto: ri!ButtonValueSBU ) )
}, showWhen:if(ri!typeValueSelected = 3, true, false)
), a!boxLayout( label: "Function", contents: { a!gridLayout( label: "", headerCells: { a!gridLayoutHeaderCell( label: "Function" ), a!gridLayoutHeaderCell( label: "SBG" ), a!gridLayoutHeaderCell( label: "Active" ), a!gridLayoutHeaderCell( label: "" ), a!gridLayoutHeaderCell( label: "" )
}, columnConfigs: { /*a!gridLayoutColumnConfig(*/ /*width: "ICON"*/ /*),*/ /*a!gridLayoutColumnConfig(),*/ a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ) }, rows: a!forEach( items: local!SBGFunctionMapValues, expression: a!gridRowLayout( contents: {
a!textField( value: fv!item.functiondescription, saveinto: fv!item.functiondescription ), a!dropdownField( label: "", placeholderLabel: "--- Select a Value ---", choiceLabels: { local!sbgList.description }, choiceValues: { local!sbgList.sbgid }, value:fv!item.sbgid, saveInto:fv!item.sbgdescription, validations: {}
}, align: "CENTER" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_UP" ), altText: "Up", caption: "Move Up ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = 1, {}, { a!save( local!SBGFunctionMapValues, insert( local!SBGFunctionMapValues, fv!item, fv!index - 1 ) ), a!save( local!SBGFunctionMapValues, remove( local!SBGFunctionMapValues, fv!index + 1 ) ) } ) } ) ), size: "ICON" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_DOWN" ), altText: "Down", caption: "Move Down ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = count( local!SBGFunctionMapValues ), {}, { a!save( local!SBGFunctionMapValues, insert( local!SBGFunctionMapValues, fv!item, fv!index + 2 ) ), a!save( local!SBGFunctionMapValues, remove( local!SBGFunctionMapValues, fv!index ) ) } ) } ) ), size: "ICON" ) } ) ), addRowLink: a!dynamicLink( label: "Add " & if(or(isnull(ri!typeValueSelected),ri!typeValueSelected = 0), "Type", rule!LMP_getTypesListByFilters( typeid: ri!typeValueSelected ).description), saveInto: a!save( local!SBGFunctionMapValues, append( local!SBGFunctionMapValues, 'type!{urn:com:appian:types:LMP}LMP_MAP_SBG_FUNCTION'( activein: true() ) ) ) ), shadeAlternateRows: true /*paginginfo: a!pagingInfo(*/ /*startIndex: 1,*/ /*batchSize: -1,*/ /*sort: a!sortInfo(*/ /*field: "abbreviation",*/ /*ascending: true()*/ /*)*/ /*)*/ ), a!buttonLayout( primaryButtons: a!buttonWidget( label: "Submit", submit: true, value: cons!LMP_BUTTON_VALUES[5], saveInto: ri!ButtonValueFunction ), secondaryButtons: a!buttonWidget( label: "Cancel", style: "DESTRUCTIVE", submit: true, value: cons!LMP_BUTTON_VALUES[7], saveInto: ri!ButtonValueFunction ) )
}, showWhen: if(ri!typeValueSelected = 10, true, false)
), a!boxLayout( label: "SBG-Demographic", contents: { a!gridLayout( label: "", headerCells: { a!gridLayoutHeaderCell( label: "Demographic" ), a!gridLayoutHeaderCell( label: "SBG" ), a!gridLayoutHeaderCell( label: "Active" ), a!gridLayoutHeaderCell( label: "" ), a!gridLayoutHeaderCell( label: "" )
}, columnConfigs: { /*a!gridLayoutColumnConfig(*/ /*width: "ICON"*/ /*),*/ /*a!gridLayoutColumnConfig(),*/ a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ) }, rows: a!forEach( items: local!SBGDemographics, expression: a!gridRowLayout( contents: {
a!textField( value: index(cons!LMP_REF_VALUES_DEMOGRAPHICS,fv!item.demographicid, null), saveinto: fv!item.demographicid ), /*a!textField(*/ /*value: fv!item.sbgdescription,*/ /*saveinto: fv!item.sbgdescription*/ /*),*/ a!dropdownField( label: "", placeholderLabel: "--- Select a Value ---", choiceLabels: { local!sbgList.description }, choiceValues: { local!sbgList.sbgid }, value:fv!item.sbgid, saveInto:fv!item.sbgid, validations: {}
}, align: "CENTER" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_UP" ), altText: "Up", caption: "Move Up ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = 1, {}, { a!save( local!SBGDemographics, insert( local!SBGDemographics, fv!item, fv!index - 1 ) ), a!save( local!SBGDemographics, remove( local!SBGDemographics, fv!index + 1 ) ) } ) } ) ), size: "ICON" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_DOWN" ), altText: "Down", caption: "Move Down ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = count( local!SBGDemographics ), {}, { a!save( local!SBGDemographics, insert( local!SBGDemographics, fv!item, fv!index + 2 ) ), a!save( local!SBGDemographics, remove( local!SBGDemographics, fv!index ) ) } ) } ) ), size: "ICON" ) } ) ), addRowLink: a!dynamicLink( label: "Add SBG-Demographic Mapping", saveInto: a!save( local!SBGDemographics, append( local!SBGDemographics, 'type!{urn:com:appian:types:LMP}LMP_Map_SBG_Demographic'( activein: true() ) ) ) ), shadeAlternateRows: true /*paginginfo: a!pagingInfo(*/ /*startIndex: 1,*/ /*batchSize: -1,*/ /*sort: a!sortInfo(*/ /*field: "abbreviation",*/ /*ascending: true()*/ /*)*/ /*)*/ ), a!buttonLayout( primaryButtons: a!buttonWidget( label: "Submit", submit: true, value: cons!LMP_BUTTON_VALUES[5], saveInto: ri!ButtonValueSBGDemographic ), secondaryButtons: a!buttonWidget( label: "Cancel", style: "DESTRUCTIVE", submit: true, value: cons!LMP_BUTTON_VALUES[7], saveInto:ri!ButtonValueSBGDemographic ) )
}, showWhen: if(ri!typeValueSelected = 20, true, false)
), a!boxLayout( label: "Region-Demographic", contents: { a!gridLayout( label: "", headerCells: { a!gridLayoutHeaderCell( label: "Demographic" ), a!gridLayoutHeaderCell( label: "Region" ), a!gridLayoutHeaderCell( label: "Active" ), a!gridLayoutHeaderCell( label: "" ), a!gridLayoutHeaderCell( label: "" )
}, columnConfigs: { /*a!gridLayoutColumnConfig(*/ /*width: "ICON"*/ /*),*/ /*a!gridLayoutColumnConfig(),*/ a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ) }, rows: a!forEach( items: local!RegionDemographics, expression: a!gridRowLayout( contents: {
a!textField( value: index(cons!LMP_REF_VALUES_DEMOGRAPHICS,fv!item.demographicid, null), saveinto: fv!item.demographicid ), /*a!textField(*/ /*value: fv!item.sbgdescription,*/ /*saveinto: fv!item.sbgdescription*/ /*),*/ a!dropdownField( label: "", placeholderLabel: "--- Select a Value ---", choiceLabels: { local!regionList.description }, choiceValues: { local!regionList.regionid }, value:fv!item.regionid, saveInto:fv!item.regionid, validations: {}
}, align: "CENTER" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_UP" ), altText: "Up", caption: "Move Up ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = 1, {}, { a!save( local!RegionDemographics, insert( local!RegionDemographics, fv!item, fv!index - 1 ) ), a!save( local!RegionDemographics, remove( local!RegionDemographics, fv!index + 1 ) ) } ) } ) ), size: "ICON" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_DOWN" ), altText: "Down", caption: "Move Down ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = count( local!RegionDemographics ), {}, { a!save( local!RegionDemographics, insert( local!RegionDemographics, fv!item, fv!index + 2 ) ), a!save( local!SBGDemographics, remove( local!SBGDemographics, fv!index ) ) } ) } ) ), size: "ICON" ) } ) ), addRowLink: a!dynamicLink( label: "Add Region-Demographic Mapping", saveInto: a!save( local!RegionDemographics, append( local!RegionDemographics, 'type!{urn:com:appian:types:LMP}LMP_Map_Region_Demographic'( activein: true() ) ) ) ), shadeAlternateRows: true /*paginginfo: a!pagingInfo(*/ /*startIndex: 1,*/ /*batchSize: -1,*/ /*sort: a!sortInfo(*/ /*field: "abbreviation",*/ /*ascending: true()*/ /*)*/ /*)*/ ), a!buttonLayout( primaryButtons: a!buttonWidget( label: "Submit", submit: true, value: cons!LMP_BUTTON_VALUES[5], saveInto: ri!ButtonValueRegionDemographic ), secondaryButtons: a!buttonWidget( label: "Cancel", style: "DESTRUCTIVE", submit: true, value: cons!LMP_BUTTON_VALUES[7], saveInto:ri!ButtonValueRegionDemographic ) )
}, showWhen: if(ri!typeValueSelected = 21, true, false)
), a!boxLayout( label: "Function-Demographic", contents: { a!gridLayout( label: "", headerCells: { a!gridLayoutHeaderCell( label: "Demographic" ), a!gridLayoutHeaderCell( label: "Function" ), a!gridLayoutHeaderCell( label: "Active" ), a!gridLayoutHeaderCell( label: "" ), a!gridLayoutHeaderCell( label: "" )
}, columnConfigs: { /*a!gridLayoutColumnConfig(*/ /*width: "ICON"*/ /*),*/ /*a!gridLayoutColumnConfig(),*/ a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig(), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ), a!gridLayoutColumnConfig( width: "ICON" ) }, rows: a!forEach( items: local!FunctionDemographics, expression: a!gridRowLayout( contents: {
a!textField( value: index(cons!LMP_REF_VALUES_DEMOGRAPHICS,fv!item.demographicid, null), saveinto: fv!item.demographicid ), /*a!textField(*/ /*value: fv!item.sbgdescription,*/ /*saveinto: fv!item.sbgdescription*/ /*),*/ a!dropdownField( label: "", placeholderLabel: "--- Select a Value ---", choiceLabels: { local!FunctionList.description }, choiceValues: { local!FunctionList.functionid }, value:fv!item.functionid, saveInto:fv!item.functionid, validations: {}
}, align: "CENTER" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_UP" ), altText: "Up", caption: "Move Up ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = 1, {}, { a!save( local!FunctionDemographics, insert( local!FunctionDemographics, fv!item, fv!index - 1 ) ), a!save( local!FunctionDemographics, remove( local!FunctionDemographics, fv!index + 1 ) ) } ) } ) ), size: "ICON" ), a!imageField( label: "delete " & fv!index, images: a!documentImage( document: a!iconIndicator( "MOVE_DOWN" ), altText: "Down", caption: "Move Down ", link: a!dynamicLink( value: fv!index, saveInto: { if( fv!index = count( local!FunctionDemographics ), {}, { a!save( local!FunctionDemographics, insert( local!FunctionDemographics, fv!item, fv!index + 2 ) ), a!save( local!FunctionDemographics, remove( local!FunctionDemographics, fv!index ) ) } ) } ) ), size: "ICON" ) } ) ), addRowLink: a!dynamicLink( label: "Add Function-Demographic Mapping" , saveInto: a!save( local!FunctionDemographics, append( local!FunctionDemographics, 'type!{urn:com:appian:types:LMP}LMP_Map_Function_Demographic'( activein: true() ) ) ) ), shadeAlternateRows: true ), a!buttonLayout( primaryButtons: a!buttonWidget( label: "Submit", submit: true, value: cons!LMP_BUTTON_VALUES[5], saveInto: ri!ButtonValueFunctionDemographic ), secondaryButtons: a!buttonWidget( label: "Cancel", style: "DESTRUCTIVE", submit: true, value: cons!LMP_BUTTON_VALUES[7], saveInto:ri!ButtonValueFunctionDemographic ) )
}, showWhen: if(ri!typeValueSelected =22, true, false)
), } ) } ))
Discussion posts and replies are publicly visible
What is the version of Appian you are developing on?
You could make use of the function a!writeToDataStoreEntity() if you want to write the data back to datastore directly from the interface, as below:
https://docs.appian.com/suite/help/17.4/recipe_use_the_write_to_data_store_entity_smart_service_function_on_an_interface.html
or use the rule inputs (ri!) you created in the interface and pass the variable back to process model, then use the write to database entity smart service to achieve this.
https://docs.appian.com/suite/help/19.4/Write_to_Data_Store_Entity_Smart_Service.html
Hi Bluepn, we are using 19.4, any code sample please
There are already sample codes under the link.
a!writeToDataStoreEntity( dataStoreEntity: cons!EMPLOYEE_DSE, valueToStore: local!dataToLoad )
You could try it out first and let us know if you have encountered any error messages.