=load( local!tir_project: ri!tir_projectOutput, local!currentStep: 1, local!pagingInfo: a!pagingInfo(startIndex: 1, batchSize: -1), choose( local!currentStep, a!formLayout( label: "Step 1: Start a Technical Infrastructure Request", instructions: "Initially, please enter an RPP ID. In Step 2, we'll ask for the project details", firstColumnContents: { a!textField( label: "RPP ID", value: local!tir_project.rpp_id, saveInto: local!tir_project.rpp_id, required: true ) }, secondColumnContents: {}, buttons: a!buttonLayout( primaryButtons: { a!buttonWidget( label: "Next", style: "PRIMARY", value: 2, saveInto: local!currentStep, validate: true ) } ) ), with( local!responseBody: a!fromJson( jsonText: a!httpQuery( url: "", queryParameters: { a!httpQueryParameter(name: "sanitized", value: "sanitized"), a!httpQueryParameter(name: "sanitized", value: "sanitized"), a!httpQueryParameter(name: "sanitized", value: local!tir_project.rpp_id) } ).result.body ), local!resultSet: todatasubset(local!responseBody, local!pagingInfo), a!formLayout( label: "Step 2: Project Details", instructions: "Please enter the project detail for your request" & " We've queried RPP with the RPPID that you indicated, and the project inforamtion is revealed below ", firstColumnContents: { a!textField( label: "RPP Project Name", labelPosition: "ADJACENT", value: index( local!resultSet.data,"projectname", {} ), saveInto: { a!save(local!tir_project.project_name, save!value) }, readOnly: true ), a!textField( label: "RPP Project Manager Name", labelPosition: "ADJACENT", value: index( local!resultSet.data,"btpm", {} ), saveInto: { a!save(local!tir_project.project_manager_name, save!value)}, readOnly: true ), a!textField( label: "RPP Project health", labelPosition: "ADJACENT", value: index(local!resultSet.data,"health",{}), saveInto: {}, readOnly: true ), a!textField( label: "Project Name", labelPosition: "ADJACENT", instructions: "If you choose to re-use the name from RPP, it will be stripped of special characters in Appian", value: if(isnull(local!tir_project.project_name),index(local!resultSet.data,"projectname",{} ),local!tir_project_name), saveInto: { a!save(local!tir_project.project_name,stripwith(save!value,"\\!@#$%/^&*:;-") ) }, refreshAfter: "KEYPRESS", required: true, readOnly: false ), a!textField( label: "Project Manager Name", labelPosition: "ADJACENT", value: local!tir_project.project_manager_name, saveInto: { a!save(local!tir_project.project_manager_name,save!value)}, refreshAfter: "KEYPRESS", required: true, readOnly: false ), a!textField( label: "Solution Architect", labelPosition: "ADJACENT", value: local!tir_project.solution_architect, saveInto: { a!save(local!tir_project.solution_architect,save!value)}, required: true, readOnly: false ), a!textField( label: "CMDB Contact", labelPosition: "ADJACENT", value: local!tir_project.cmdb_contact, saveInto: { a!save(local!tir_project.cmdb_contact,save!value)}, required: false, readOnly: false ), a!textField( label: "BT DR Contact", labelPosition: "ADJACENT", value: local!tir_project.dr_contact, saveInto: { a!save(local!tir_project.dr_contact,save!value)}, required: false, readOnly: false ), a!textField( label: "Capital Charge Code", labelPosition: "ADJACENT", value: local!tir_project.capital_charge_code, saveInto: { a!save(local!tir_project.capital_charge_code,save!value)}, required: false, readOnly: false ), a!textField( label: "Expense Charge Code", labelPosition: "ADJACENT", value: local!tir_project.expense_charge_code, saveInto: { a!save(local!tir_project.expense_charge_code,save!value)}, required: false, readOnly: false ), a!integerField( label: "CMDB Application ID", labelPosition: "ADJACENT", value: local!tir_project.cmdb_application_id, saveInto: { a!save(local!tir_project.cmdb_application_id,save!value)}, required: false, readOnly: false ) }, secondColumnContents: {} , buttons: a!buttonLayout( primaryButtons: { a!buttonWidget( label: "Next", style: "PRIMARY", value: 3, saveInto: local!currentStep, validate: true ) }, secondaryButtons: { a!buttonWidget( label: "Previous", value: 1, saveInto: local!currentStep ) } ) ) ), a!formLayout( label: "Step 3: Project Confirmation and Next Steps", firstColumnContents: { a!sectionLayout( firstColumnContents: { a!integerField( label: "RPP ID", labelPosition: "ADJACENT", value: local!tir_project.rpp_id, saveInto: local!tir_project.rpp_id, readOnly: true ), a!textField( label: "Project Name", labelPosition: "ADJACENT", value: local!tir_project.project_name, saveInto: local!tir_project.project_name, readOnly: true ), a!textField( label: "Project Manager Name", labelPosition: "ADJACENT", value: local!tir_project.project_manager_name, saveInto: local!tir_project.project_manager_name, readOnly: true ), a!textField( label: "Solution Architect", labelPosition: "ADJACENT", value: local!tir_project.solution_architect, saveInto: local!tir_project.solution_architect, readOnly: true ), a!textField( label: "CMDB Contact", labelPosition: "ADJACENT", value: local!tir_project.cmdb_contact, saveInto: local!tir_project.cmdb_contact, readOnly: true ), a!textField( label: "BT DR Contact", labelPosition: "ADJACENT", value: local!tir_project.dr_contact, saveInto: local!tir_project.dr_contact, readOnly: true ) }, secondColumnContents: { a!textField( label: "Capital Charge Code", labelPosition: "ADJACENT", value: local!tir_project.capital_charge_code, saveInto: local!tir_project.capital_charge_code, readOnly: true ), a!textField( label: "Expense Charge Code", labelPosition: "ADJACENT", value: local!tir_project.expense_charge_code, saveInto: local!tir_project.expense_charge_code, readOnly: true ), a!integerField( label: "CMDB Application ID", labelPosition: "ADJACENT", value: local!tir_project.cmdb_application_id, saveInto: local!tir_project.cmdb_application_id, readOnly: true ) } ), a!sectionLayout( firstColumnContents: { a!radioButtonField( label: "Next Steps", choiceLabels: {"I don't plan to make any infrastructure changes.", "As part of a project, I need new servers and/or to add additional capacity to existing servers", "I need to add capacity due to growth"}, choiceValues: {"rubber","tir_new","tir_exist"}, value: "rubber", saveInto: {ri!userChoice}, choiceLayout: "STACKED" ) }, secondColumnContents: {} ) }, secondColumnContents: {}, buttons: a!buttonLayout( primaryButtons: { a!buttonWidgetSubmit( label: "Submit", style: "PRIMARY", saveInto: { a!save(ri!tir_projectOutput, local!tir_project) } ) }, secondaryButtons: { a!buttonWidget( label: "Previous", value: 2, saveInto: local!currentStep ) } ) ) ) )