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 ) } ) } ) } ) } )
Stefan Helzle , This is what trying to achieve
JS0001 said:This is what trying to achieve
sorry but Stefan is still right - you haven't really clearly said what you're trying to accomplish with this, it's all pretty convoluted.
okay let me explain you.
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" )
Attached Code is for this grid
variables/Rule inputs are these ,So On top of that needed one dropdown field with values like Y,N,NA.that should update for all 6 rows(Bcoz of Above code )/somehow I have to achieve to update in the same table(CR_AS_FX_RATES) ,How do I achieve this?
ok. I have a grid for this code is attached
JS0001 said:On top of that Need to provide a dropdown field of single selection and values of dropdown is(T0,T1,T2),Since grid which holding cdt itself is a array
I don't understand what you're saying the expected outcome should be when you select a value from this dropdown.