Hi All
a!localVariables( local!crFeesComments_cdt: rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[1] ), local!crPricingApprovalComments_cdt: rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[2] ), local!crFxRatesBuy_cdt: index( ri!crFxRatesFromDb_cdt, wherecontains( { 1, 2, 3 }, index( ri!crFxRatesFromDb_cdt, "seqNumber_int", {} ) ), {} ), local!crFxRatesSell_cdt: index( ri!crFxRatesFromDb_cdt, wherecontains( { 4, 5, 6 }, index( ri!crFxRatesFromDb_cdt, "seqNumber_int", {} ) ), {} ), { rule!CR_RT_displayInformativeNote( pageName_txt: cons!CR_TXT_SECTION_NAMES_TODISPLAY_AMOUNT[3] ), rule!CR_SC_AS_displayROCOverview( cif_int: ri!cif_int, systemRequestId_int: ri!systemRequestId_int, crRocOverview_cdt: ri!crRocOverview_cdt ), rule!CR_SC_AS_displayFeeDetails( isReadOnly_bool: ri!isReadOnly_bool, isActive_bool: ri!isActive_bool, crFeeDetails_cdt: ri!crFeeDetails_cdt ), rule!CR_RTF_UI_displayRichTextFieldEditorComponent( moduleId_int: ri!moduleId_int, crModuleComments_cdt: ri!crModuleComments_cdt, placeHolder_txt: { "please enter value" }, cif_int: ri!cif_int, commentId_int: cons!CR_AS_COMMENT_IDS[1], instructions_txt: null, isReadOnly_bool: ri!isReadOnly_bool, inputComment_cdt: local!crFeesComments_cdt, requestId_int: ri!requestId_int, role_txt: ri!role_txt, label_txt: cons!CR_LAB_COMMENT, isRequired_bool: false(), value_txt: clean( rule!CR_APP_FN_cleanRichTextEditorString( index( rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[1] ), "comment_txt", {} ) ) ), helpTooltip_txt: null, ), rule!CR_SC_AS_displayFXRates( isReadOnly_bool: ri!isReadOnly_bool, isActive_bool: ri!isActive_bool, crFxRatesBuy_cdt: local!crFxRatesBuy_cdt, crFxRatesSell_cdt: local!crFxRatesSell_cdt, preffered_txt: ri!preffered_txt ), rule!CR_SC_AS_displayTariffBanding( isReadOnly_bool: ri!isReadOnly_bool, crTariffBanding_cdt: ri!crTariffBanding_cdt ), rule!CR_SC_AS_displayPricingDetails( cif_int: ri!cif_int, isReadOnly_bool: ri!isReadOnly_bool, requestId_int: ri!requestId_int, crPricingApprovals_cdt: ri!crPricingApprovals_cdt, uploadedDocIds_int: ri!uploadedDocIds_int, moduleId_int: ri!moduleId_int, isDashboard_bool: ri!isDashboard_bool ), rule!CR_RTF_UI_displayRichTextFieldEditorComponent( moduleId_int: ri!moduleId_int, crModuleComments_cdt: ri!crModuleComments_cdt, placeHolder_txt: { "please enter value" }, cif_int: ri!cif_int, commentId_int: cons!CR_AS_COMMENT_IDS[2], instructions_txt: null, isReadOnly_bool: ri!isReadOnly_bool, inputComment_cdt: local!crPricingApprovalComments_cdt, requestId_int: ri!requestId_int, role_txt: ri!role_txt, label_txt: cons!CR_LAB_COMMENT, isRequired_bool: ri!isActive_bool, value_txt: clean( rule!CR_APP_FN_cleanRichTextEditorString( index( rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[2] ), "comment_txt", {} ) ) ), helpTooltip_txt: rule!CR_DSC_getAccountStrategyToolTipsByFields( FieldName: cons!CR_LAB_ACCOUNT_STRATEGY_ALL_FIELDS[6] ) ), a!columnsLayout( showWhen: if( rule!APN_isBlank(ri!isReadOnly_bool), true, not(ri!isReadOnly_bool) ), columns: { a!columnLayout( width: "AUTO", contents: { rule!CR_UI_displayMessageCard(save_dt: ri!save_dt) } ), a!columnLayout( width: "NARROW", contents: { a!buttonArrayLayout( align: "END", buttons: { a!buttonWidget( label: cons!APN_TXT_SAVE_DRAFT, value: cons!APN_TXT_SAVE, submit: true(), saveInto: { a!save( ri!buttonAction_txt, cons!APN_TXT_SAVE_DRAFT ), a!save( ri!crFxRatesFromDb_cdt, local!crFxRatesBuy_cdt ), a!save( ri!crFxRatesFromDb_cdt, append( ri!crFxRatesFromDb_cdt, local!crFxRatesSell_cdt ) ), rule!CR_FN_storeModuleStatusHistory( moduleRecommendationStatus_cdt: ri!moduleRecommendationStatus_cdt, requestId_int: ri!requestId_int, cif_int: ri!cif_int, role_txt: ri!role_txt, originalExpiry_dt: ri!originalExpiry_dt, moduleStatus_txt: cons!CR_AS_MODULE_STATUS[1], crModuleStatusHistory_cdt: ri!crModuleStatusHistory_cdt, moduleId_int: ri!moduleId_int, workflowId_int: ri!workflowId_int, buttonAction_txt: cons!APN_TXT_SAVE_DRAFT, currentNetROC_dec: ri!crRocOverview_cdt.currentNetRoc_dec ), rule!CR_FN_AS_storeFeeDetails( crFeeDetails_cdt: ri!crFeeDetails_cdt, requestId_int: ri!requestId_int, cif_int: ri!cif_int, moduleId_int: ri!moduleId_int ), rule!CR_FN_AS_storeFXRates( crFxRatesFromDb_cdt: ri!crFxRatesFromDb_cdt ), rule!CR_FN_AS_storeTariffBanding( crTariffBanding_cdt: ri!crTariffBanding_cdt ), rule!CR_FN_AS_storePricingApprovals( crPricingApprovals_cdt: ri!crPricingApprovals_cdt ), a!save( ri!docSectionName_txt, cons!CR_AS_SECTION_NAME[1] ), a!writeToMultipleDataStoreEntities( valuesToStore: { a!entityData( entity: cons!CR_ENTITY_MODULE_COMMENTS, data: ri!crModuleComments_cdt ), a!entityData( entity: cons!CR_ENTITY_MODULE_STATUS_HISTORY, data: ri!crModuleStatusHistory_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_FEE_DETAILS, data: ri!crFeeDetails_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_FX_RATES, data: ri!crFxRatesFromDb_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_TARIFF_BANDING, data: ri!crTariffBanding_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_PRICING_APPROVALS, data: ri!crPricingApprovals_cdt ) }, onSuccess: { a!save( ri!crModuleComments_cdt, index(fv!storedValues, 1, "data", {}) ), a!save( ri!crModuleStatusHistory_cdt, index(fv!storedValues, 2, "data", {}) ), a!save( ri!crFeeDetails_cdt, index(fv!storedValues, 3, "data", {}) ), a!save( ri!crFxRatesFromDb_cdt, index(fv!storedValues, 4, "data", {}) ), a!save( ri!crTariffBanding_cdt, index(fv!storedValues, 5, "data", {}) ), a!save( ri!crPricingApprovals_cdt, index(fv!storedValues, 6, "data", {}) ), a!save( ri!moduleRecommendationStatus_cdt, rule!CR_FN_getModuleStatusHistoryByStatus( crModuleStatusHistory_cdt: ri!crModuleStatusHistory_cdt ) ), a!save( local!crFeesComments_cdt, rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[1] ) ), a!save( local!crPricingApprovalComments_cdt, rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[2] ) ), a!save(ri!save_dt, now()) } ) }, style: "NORMAL", validate: false() ), a!buttonWidget( label: cons!APN_TXT_SAVE, value: cons!APN_TXT_SAVE, submit: true(), saveInto: { a!save(ri!buttonAction_txt, cons!APN_TXT_SAVE), a!save( ri!crFxRatesFromDb_cdt, local!crFxRatesBuy_cdt ), a!save( ri!crFxRatesFromDb_cdt, append( ri!crFxRatesFromDb_cdt, local!crFxRatesSell_cdt ) ), rule!CR_FN_storeModuleStatusHistory( moduleRecommendationStatus_cdt: ri!moduleRecommendationStatus_cdt, requestId_int: ri!requestId_int, cif_int: ri!cif_int, role_txt: ri!role_txt, originalExpiry_dt: ri!originalExpiry_dt, moduleStatus_txt: cons!CR_AS_MODULE_STATUS[1], crModuleStatusHistory_cdt: ri!crModuleStatusHistory_cdt, moduleId_int: ri!moduleId_int, workflowId_int: ri!workflowId_int, buttonAction_txt: cons!APN_TXT_SAVE, currentNetROC_dec: ri!crRocOverview_cdt.currentNetRoc_dec ), rule!CR_FN_AS_storeFeeDetails( crFeeDetails_cdt: ri!crFeeDetails_cdt, requestId_int: ri!requestId_int, cif_int: ri!cif_int, moduleId_int: ri!moduleId_int ), rule!CR_FN_AS_storeFXRates( crFxRatesFromDb_cdt: ri!crFxRatesFromDb_cdt ), rule!CR_FN_AS_storeTariffBanding( crTariffBanding_cdt: ri!crTariffBanding_cdt ), rule!CR_FN_AS_storePricingApprovals( crPricingApprovals_cdt: ri!crPricingApprovals_cdt ), a!save( ri!docSectionName_txt, cons!CR_AS_SECTION_NAME[1] ), a!writeToMultipleDataStoreEntities( valuesToStore: { a!entityData( entity: cons!CR_ENTITY_MODULE_COMMENTS, data: ri!crModuleComments_cdt ), a!entityData( entity: cons!CR_ENTITY_MODULE_STATUS_HISTORY, data: ri!crModuleStatusHistory_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_FEE_DETAILS, data: ri!crFeeDetails_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_FX_RATES, data: ri!crFxRatesFromDb_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_TARIFF_BANDING, data: ri!crTariffBanding_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_PRICING_APPROVALS, data: ri!crPricingApprovals_cdt ) }, onSuccess: { a!save( ri!crModuleComments_cdt, index(fv!storedValues, 1, "data", {}) ), a!save( ri!crModuleStatusHistory_cdt, index(fv!storedValues, 2, "data", {}) ), a!save( ri!crFeeDetails_cdt, index(fv!storedValues, 3, "data", {}) ), a!save( ri!crFxRatesFromDb_cdt, index(fv!storedValues, 4, "data", {}) ), a!save( ri!crTariffBanding_cdt, index(fv!storedValues, 5, "data", {}) ), a!save( ri!crPricingApprovals_cdt, index(fv!storedValues, 6, "data", {}) ), a!save( ri!moduleRecommendationStatus_cdt, rule!CR_FN_getModuleStatusHistoryByStatus( crModuleStatusHistory_cdt: ri!crModuleStatusHistory_cdt ) ), a!save( local!crFeesComments_cdt, rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[1] ) ), a!save( local!crPricingApprovalComments_cdt, rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[2] ) ), a!save(ri!save_dt, now()) } ) }, style: "NORMAL", validate: true ) } ) } ) } ) } )
I am trying to update one value to the table ,Field name is preferred_txt created in child UI called in the code which is pasted above .
I need to write that preferred_txt value to the db on save and save draft buttons. How can i do that please let me know the solution.
note: preferred_txt is a dropdown value.
that preferred_txt is called here in the above code .Let me know if anybody has questions and please give me the solution ASAP.
Thanks in advance
Discussion posts and replies are publicly visible
Yeah ... well, I already see some write to datastore calls in your button. So my question is: What is going wrong? Do you have any specific issue?
Yeah I have one issue.
I am trying append preffered_txt to cdt that is
a!save( ri!crFxRatesFromDb_cdt, ri!preffered_txt ),
But getting this error -Could not display interface. Please check definition and inputs. Interface Definition: Expression evaluation error [evaluation ID = 3R3L0] in rule 'cr_sc_as_capturereturnsandpricingdetails' : An error occurred while executing a save: Could not cast from Text to CR_AS_FXRates. Details: CastInvalid. How to append text to the cdt?
Reason why I am following up that approach bcoz I want to update dropdown value to cdt.Here crFxRatesSell_cdt and crFxRatesBuy_cdt are belongs to same table. I have to update the dropdown(Single selection value) value that is preferredRate_txt to same table . How would i do that ? Any different approach?
a!cardLayout( contents: { a!columnsLayout( columns: { a!columnLayout( contents: { a!dropdownField( placeholder: "SELECT", label: cons!CR_LAB_ACCOUNT_STRATEGY_ALL_FIELDS[22], choiceLabels: cons!CR_APP_TXT_CHOICE_LABELS_T0_T1_T2, choiceValues: cons!CR_APP_TXT_CHOICE_LABELS_T0_T1_T2, value: ri!preffered_txt, saveInto: ri!preffered_txt, disabled: ri!isReadOnly_bool, ) }, width: "NARROW" ) } ), rule!CR_RT_displayRichTextHeader( /*"FX Rates"*/ input_txt: cons!CR_LAB_ACCOUNT_STRATEGY_ALL_FIELDS[4], caption_txt: rule!CR_DSC_getAccountStrategyToolTipsByFields( FieldName: cons!CR_LAB_ACCOUNT_STRATEGY_ALL_FIELDS[4] ) ), a!columnsLayout( columns: { a!columnLayout( contents: { a!gridLayout( /*label: "FX Rates",*/ labelPosition: "COLLAPSED", spacing: "DENSE", headerCells: { a!forEach( items: cons!CR_GD_LABEL_FX_RATES, expression: a!gridLayoutHeaderCell( label: if( contains(3, fv!index), fv!item & cons!CR_TXT_DISPLAY_ASTERISK, fv!item ), align: if( contains({ 2, 3 }, fv!index), "RIGHT", "LEFT" ) ) ) }, columnConfigs: { a!forEach( items: cons!CR_GD_LABEL_FX_RATES, expression: a!gridLayoutColumnConfig( width: if(fv!isFirst, "NARROW", "DISTRIBUTE") ) ) }, rows: { a!forEach( items: ri!crFxRatesSell_cdt, expression: a!gridRowLayout( contents: { a!textField( readOnly: true(), value: fv!item.tariffType_txt ), a!textField( align: "RIGHT", readOnly: true(), value: rule!CR_FN_setDecimalValues( value_dec: fv!item.tariffAmountExisting_dec, decPlace_int: 4 ) ), a!textField( align: "RIGHT", required: ri!isActive_bool, value: rule!CR_FN_setDecimalValues( value_dec: fv!item.tariffAmountProposed_dec, decPlace_int: 4 ), validations: rule!CR_FN_setMaximumNumberValidation( value_dec: fv!item.tariffAmountProposed_dec, maxLength_int: 10 ), saveInto: { fv!item.tariffAmountProposed_dec, a!save( fv!item.preferredRate_txt, ri!preffered_txt ) }, disabled: ri!isReadOnly_bool ) } ) ) } ) } ), a!columnLayout( contents: { a!gridLayout( /*label: "FX Rates",*/ labelPosition: "COLLAPSED", spacing: "DENSE", headerCells: { a!forEach( items: cons!CR_GD_LABEL_FX_RATES, expression: a!gridLayoutHeaderCell( label: if( contains(3, fv!index), fv!item & cons!CR_TXT_DISPLAY_ASTERISK, fv!item ), align: if( contains({ 2, 3 }, fv!index), "RIGHT", "LEFT" ) ) ) }, columnConfigs: { a!forEach( items: cons!CR_GD_LABEL_FX_RATES, expression: a!gridLayoutColumnConfig( width: if(fv!isFirst, "NARROW", "DISTRIBUTE") ) ) }, rows: { a!forEach( items: ri!crFxRatesBuy_cdt, expression: a!gridRowLayout( contents: { a!textField( readOnly: true(), value: fv!item.tariffType_txt ), a!textField( align: "RIGHT", readOnly: true(), value: rule!CR_FN_setDecimalValues( value_dec: fv!item.tariffAmountExisting_dec, decPlace_int: 4 ) ), a!textField( align: "RIGHT", required: ri!isActive_bool, value: rule!CR_FN_setDecimalValues( value_dec: fv!item.tariffAmountProposed_dec, decPlace_int: 4 ), validations: rule!CR_FN_setMaximumNumberValidation( value_dec: fv!item.tariffAmountProposed_dec, maxLength_int: 10 ), saveInto: { fv!item.tariffAmountProposed_dec, a!save( fv!item.preferredRate_txt, ri!preffered_txt ) }, disabled: ri!isReadOnly_bool ) } ) ) } ) } ) }, spacing: "NONE" ) }, style: "NONE", height: "AUTO", marginBelow: "STANDARD" )
When I try to append something, I use the append() function. Did you try that?
When things do not work for me, I try to replicate the challenge in isolation in a separate expression. Once I understand how to achieve my goal, I merge that code, or just the solution, into my final solution.
According to the above code can u plz provide me solution?
JS0001 said:a!save( ri!crFxRatesFromDb_cdt, ri!preffered_txt ),
When looking a this code snippet, I am confused. Why do you try to store a text into CDT type? I think try to get a better understanding of what you actually want to do.
Again, when I try to find the best solution for a given problem, I first try to solve this in a separate expression. I create some local variables and investigate how to solve this in the best way.
what I am trying to do here ,Fx rates is a grid which we made it as array variable and on top of that newly dropdown has been added and As we know that dropdown is a single selection and according to the above code same cdt has been taken and How do I update the dropdown value i.e preferredRate_txt to the same cdt which should not impact existing implementation. on save of buttons how do I manage that value to table?
below would be parent rule of the above code
a!localVariables( local!crFeesComments_cdt: rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[1] ), local!crPricingApprovalComments_cdt: rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[2] ), local!crFxRatesBuy_cdt: index( ri!crFxRatesFromDb_cdt, wherecontains( { 1, 2, 3 }, index( ri!crFxRatesFromDb_cdt, "seqNumber_int", {} ) ), {} ), local!crFxRatesSell_cdt: index( ri!crFxRatesFromDb_cdt, wherecontains( { 4, 5, 6 }, index( ri!crFxRatesFromDb_cdt, "seqNumber_int", {} ) ), {} ), { rule!CR_RT_displayInformativeNote( pageName_txt: cons!CR_TXT_SECTION_NAMES_TODISPLAY_AMOUNT[3] ), rule!CR_SC_AS_displayROCOverview( cif_int: ri!cif_int, systemRequestId_int: ri!systemRequestId_int, crRocOverview_cdt: ri!crRocOverview_cdt ), rule!CR_SC_AS_displayFeeDetails( isReadOnly_bool: ri!isReadOnly_bool, isActive_bool: ri!isActive_bool, crFeeDetails_cdt: ri!crFeeDetails_cdt ), rule!CR_RTF_UI_displayRichTextFieldEditorComponent( moduleId_int: ri!moduleId_int, crModuleComments_cdt: ri!crModuleComments_cdt, placeHolder_txt: { "please enter value" }, cif_int: ri!cif_int, commentId_int: cons!CR_AS_COMMENT_IDS[1], instructions_txt: null, isReadOnly_bool: ri!isReadOnly_bool, inputComment_cdt: local!crFeesComments_cdt, requestId_int: ri!requestId_int, role_txt: ri!role_txt, label_txt: cons!CR_LAB_COMMENT, isRequired_bool: false(), value_txt: clean( rule!CR_APP_FN_cleanRichTextEditorString( index( rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[1] ), "comment_txt", {} ) ) ), helpTooltip_txt: null, ), rule!CR_SC_AS_displayFXRates( isReadOnly_bool: ri!isReadOnly_bool, isActive_bool: ri!isActive_bool, crFxRatesBuy_cdt: local!crFxRatesBuy_cdt, crFxRatesSell_cdt: local!crFxRatesSell_cdt, preffered_txt: ri!preffered_txt ), rule!CR_SC_AS_displayTariffBanding( isReadOnly_bool: ri!isReadOnly_bool, crTariffBanding_cdt: ri!crTariffBanding_cdt ), rule!CR_SC_AS_displayPricingDetails( cif_int: ri!cif_int, isReadOnly_bool: ri!isReadOnly_bool, requestId_int: ri!requestId_int, crPricingApprovals_cdt: ri!crPricingApprovals_cdt, uploadedDocIds_int: ri!uploadedDocIds_int, moduleId_int: ri!moduleId_int, isDashboard_bool: ri!isDashboard_bool ), rule!CR_RTF_UI_displayRichTextFieldEditorComponent( moduleId_int: ri!moduleId_int, crModuleComments_cdt: ri!crModuleComments_cdt, placeHolder_txt: { "please enter value" }, cif_int: ri!cif_int, commentId_int: cons!CR_AS_COMMENT_IDS[2], instructions_txt: null, isReadOnly_bool: ri!isReadOnly_bool, inputComment_cdt: local!crPricingApprovalComments_cdt, requestId_int: ri!requestId_int, role_txt: ri!role_txt, label_txt: cons!CR_LAB_COMMENT, isRequired_bool: ri!isActive_bool, value_txt: clean( rule!CR_APP_FN_cleanRichTextEditorString( index( rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[2] ), "comment_txt", {} ) ) ), helpTooltip_txt: rule!CR_DSC_getAccountStrategyToolTipsByFields( FieldName: cons!CR_LAB_ACCOUNT_STRATEGY_ALL_FIELDS[6] ) ), a!columnsLayout( showWhen: if( rule!APN_isBlank(ri!isReadOnly_bool), true, not(ri!isReadOnly_bool) ), columns: { a!columnLayout( width: "AUTO", contents: { rule!CR_UI_displayMessageCard(save_dt: ri!save_dt) } ), a!columnLayout( width: "NARROW", contents: { a!buttonArrayLayout( align: "END", buttons: { a!buttonWidget( label: cons!APN_TXT_SAVE_DRAFT, value: cons!APN_TXT_SAVE, submit: true(), saveInto: { a!save( ri!buttonAction_txt, cons!APN_TXT_SAVE_DRAFT ), a!save( ri!crFxRatesFromDb_cdt, local!crFxRatesBuy_cdt ), a!save( ri!crFxRatesFromDb_cdt, append( ri!crFxRatesFromDb_cdt, local!crFxRatesSell_cdt ) ), a!save( ri!crFxRatesFromDb_cdt, ri!preffered_txt ), rule!CR_FN_storeModuleStatusHistory( moduleRecommendationStatus_cdt: ri!moduleRecommendationStatus_cdt, requestId_int: ri!requestId_int, cif_int: ri!cif_int, role_txt: ri!role_txt, originalExpiry_dt: ri!originalExpiry_dt, moduleStatus_txt: cons!CR_AS_MODULE_STATUS[1], crModuleStatusHistory_cdt: ri!crModuleStatusHistory_cdt, moduleId_int: ri!moduleId_int, workflowId_int: ri!workflowId_int, buttonAction_txt: cons!APN_TXT_SAVE_DRAFT, currentNetROC_dec: ri!crRocOverview_cdt.currentNetRoc_dec ), rule!CR_FN_AS_storeFeeDetails( crFeeDetails_cdt: ri!crFeeDetails_cdt, requestId_int: ri!requestId_int, cif_int: ri!cif_int, moduleId_int: ri!moduleId_int ), rule!CR_FN_AS_storeFXRates( crFxRatesFromDb_cdt: ri!crFxRatesFromDb_cdt ), rule!CR_FN_AS_storeTariffBanding( crTariffBanding_cdt: ri!crTariffBanding_cdt ), rule!CR_FN_AS_storePricingApprovals( crPricingApprovals_cdt: ri!crPricingApprovals_cdt ), a!save( ri!docSectionName_txt, cons!CR_AS_SECTION_NAME[1] ), a!writeToMultipleDataStoreEntities( valuesToStore: { a!entityData( entity: cons!CR_ENTITY_MODULE_COMMENTS, data: ri!crModuleComments_cdt ), a!entityData( entity: cons!CR_ENTITY_MODULE_STATUS_HISTORY, data: ri!crModuleStatusHistory_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_FEE_DETAILS, data: ri!crFeeDetails_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_FX_RATES, data: ri!crFxRatesFromDb_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_TARIFF_BANDING, data: ri!crTariffBanding_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_PRICING_APPROVALS, data: ri!crPricingApprovals_cdt ) }, onSuccess: { a!save( ri!crModuleComments_cdt, index(fv!storedValues, 1, "data", {}) ), a!save( ri!crModuleStatusHistory_cdt, index(fv!storedValues, 2, "data", {}) ), a!save( ri!crFeeDetails_cdt, index(fv!storedValues, 3, "data", {}) ), a!save( ri!crFxRatesFromDb_cdt, index(fv!storedValues, 4, "data", {}) ), a!save( ri!crTariffBanding_cdt, index(fv!storedValues, 5, "data", {}) ), a!save( ri!crPricingApprovals_cdt, index(fv!storedValues, 6, "data", {}) ), a!save( ri!moduleRecommendationStatus_cdt, rule!CR_FN_getModuleStatusHistoryByStatus( crModuleStatusHistory_cdt: ri!crModuleStatusHistory_cdt ) ), a!save( local!crFeesComments_cdt, rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[1] ) ), a!save( local!crPricingApprovalComments_cdt, rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[2] ) ), a!save(ri!save_dt, now()) } ) }, style: "NORMAL", validate: false() ), a!buttonWidget( label: cons!APN_TXT_SAVE, value: cons!APN_TXT_SAVE, submit: true(), saveInto: { a!save(ri!buttonAction_txt, cons!APN_TXT_SAVE), a!save( ri!crFxRatesFromDb_cdt, local!crFxRatesBuy_cdt ), a!save( ri!crFxRatesFromDb_cdt, append( ri!crFxRatesFromDb_cdt, local!crFxRatesSell_cdt ) ), a!save( ri!crFxRatesFromDb_cdt, ri!preffered_txt ), rule!CR_FN_storeModuleStatusHistory( moduleRecommendationStatus_cdt: ri!moduleRecommendationStatus_cdt, requestId_int: ri!requestId_int, cif_int: ri!cif_int, role_txt: ri!role_txt, originalExpiry_dt: ri!originalExpiry_dt, moduleStatus_txt: cons!CR_AS_MODULE_STATUS[1], crModuleStatusHistory_cdt: ri!crModuleStatusHistory_cdt, moduleId_int: ri!moduleId_int, workflowId_int: ri!workflowId_int, buttonAction_txt: cons!APN_TXT_SAVE, currentNetROC_dec: ri!crRocOverview_cdt.currentNetRoc_dec ), rule!CR_FN_AS_storeFeeDetails( crFeeDetails_cdt: ri!crFeeDetails_cdt, requestId_int: ri!requestId_int, cif_int: ri!cif_int, moduleId_int: ri!moduleId_int ), rule!CR_FN_AS_storeFXRates( crFxRatesFromDb_cdt: ri!crFxRatesFromDb_cdt ), rule!CR_FN_AS_storeTariffBanding( crTariffBanding_cdt: ri!crTariffBanding_cdt ), rule!CR_FN_AS_storePricingApprovals( crPricingApprovals_cdt: ri!crPricingApprovals_cdt ), a!save( ri!docSectionName_txt, cons!CR_AS_SECTION_NAME[1] ), a!writeToMultipleDataStoreEntities( valuesToStore: { a!entityData( entity: cons!CR_ENTITY_MODULE_COMMENTS, data: ri!crModuleComments_cdt ), a!entityData( entity: cons!CR_ENTITY_MODULE_STATUS_HISTORY, data: ri!crModuleStatusHistory_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_FEE_DETAILS, data: ri!crFeeDetails_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_FX_RATES, data: ri!crFxRatesFromDb_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_TARIFF_BANDING, data: ri!crTariffBanding_cdt ), a!entityData( entity: cons!CR_ENTITY_AS_PRICING_APPROVALS, data: ri!crPricingApprovals_cdt ) }, onSuccess: { a!save( ri!crModuleComments_cdt, index(fv!storedValues, 1, "data", {}) ), a!save( ri!crModuleStatusHistory_cdt, index(fv!storedValues, 2, "data", {}) ), a!save( ri!crFeeDetails_cdt, index(fv!storedValues, 3, "data", {}) ), a!save( ri!crFxRatesFromDb_cdt, index(fv!storedValues, 4, "data", {}) ), a!save( ri!crTariffBanding_cdt, index(fv!storedValues, 5, "data", {}) ), a!save( ri!crPricingApprovals_cdt, index(fv!storedValues, 6, "data", {}) ), a!save( ri!moduleRecommendationStatus_cdt, rule!CR_FN_getModuleStatusHistoryByStatus( crModuleStatusHistory_cdt: ri!crModuleStatusHistory_cdt ) ), a!save( local!crFeesComments_cdt, rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[1] ) ), a!save( local!crPricingApprovalComments_cdt, rule!CR_FN_getModuleComments( crModuleComments: ri!crModuleComments_cdt, commentId_int: cons!CR_AS_COMMENT_IDS[2] ) ), a!save(ri!save_dt, now()) } ) }, style: "NORMAL", validate: true ) } ) } ) } ) } )
From your screenshot, first you're overwriting "ri!crFxRatesFromDb_cdt" with the value of "local!crFxRatesFromDb_cdt" (which is, i assume, intentional and correct)
Then the very next a!save statement, you're overwriting the value AGAIN but this time trying to overwrite it with the (plaintext?!?) value of "ri!preffered_txt"
You'll have to straighten out this mess first. I'm not sure what you're trying to do overall but this won't work as-is.
what is the solution for that ,Could u please suggest?
I still have a hard time understanding what you want to achieve. As soon as we have mastered this challenge, I might be able to suggest a solution.
Stefan Helzle , This is what trying to achieve