From 9583ef9e449a8d312e29f1fc63fab56cf869e5db Mon Sep 17 00:00:00 2001 From: a4704105-04b0-45f3-93ed-b6db29ef1d94 Date: Thu, 30 Oct 2025 14:29:42 +0000 Subject: [PATCH] Validation --- src/zbp_hs_i_rappartner.clas.locals_imp.abap | 19 +++++++++++++++++++ src/zhs_i_rappartner.bdef.asbdef | 2 ++ 2 files changed, 21 insertions(+) diff --git a/src/zbp_hs_i_rappartner.clas.locals_imp.abap b/src/zbp_hs_i_rappartner.clas.locals_imp.abap index 977f623..dd1e6b6 100644 --- a/src/zbp_hs_i_rappartner.clas.locals_imp.abap +++ b/src/zbp_hs_i_rappartner.clas.locals_imp.abap @@ -7,6 +7,8 @@ CLASS lhc_Partner DEFINITION INHERITING FROM cl_abap_behavior_handler. IMPORTING keys FOR partner~validatekeyisfilled. METHODS validatecoredata FOR VALIDATE ON SAVE IMPORTING keys FOR partner~validatecoredata. + METHODS fillcurrency FOR DETERMINE ON MODIFY + IMPORTING keys FOR partner~fillcurrency. ENDCLASS. @@ -73,4 +75,21 @@ CLASS lhc_Partner IMPLEMENTATION. ENDMETHOD. + METHOD fillCurrency. + + READ ENTITIES OF ZHS_I_RAPPartner IN LOCAL MODE + ENTITY Partner + FIELDS ( PaymentCurrency ) + WITH CORRESPONDING #( keys ) + RESULT DATA(lt_partner_data). + + LOOP AT lt_partner_data INTO DATA(ls_partner) WHERE PaymentCurrency IS INITIAL. + MODIFY ENTITIES OF ZHS_I_RAPPartner IN LOCAL MODE + ENTITY Partner + UPDATE FIELDS ( PaymentCurrency ) + WITH VALUE #( ( %tky = ls_partner-%tky PaymentCurrency = 'EUR' %control-paymentcurrency = if_abap_behv=>mk-on ) ). + ENDLOOP. + + ENDMETHOD. + ENDCLASS. diff --git a/src/zhs_i_rappartner.bdef.asbdef b/src/zhs_i_rappartner.bdef.asbdef index 69005c4..6f6601a 100644 --- a/src/zhs_i_rappartner.bdef.asbdef +++ b/src/zhs_i_rappartner.bdef.asbdef @@ -14,6 +14,8 @@ authorization master ( instance ) validation validateKeyisFilled on save { create; } validation validateCoreData on save { create; field Country, PaymentCurrency; } + determination fillCurrency on modify { create; update; } + mapping for zhs_dmo_partner {