This commit is contained in:
2025-10-30 15:06:53 +00:00
parent 9583ef9e44
commit fc5d2e04d8
4 changed files with 52 additions and 1 deletions

View File

@@ -9,6 +9,11 @@ CLASS lhc_Partner DEFINITION INHERITING FROM cl_abap_behavior_handler.
IMPORTING keys FOR partner~validatecoredata.
METHODS fillcurrency FOR DETERMINE ON MODIFY
IMPORTING keys FOR partner~fillcurrency.
METHODS clearallemptystreets FOR MODIFY
IMPORTING keys FOR ACTION partner~clearallemptystreets.
METHODS fillemptystreets FOR MODIFY
IMPORTING keys FOR ACTION partner~fillemptystreets.
ENDCLASS.
@@ -92,4 +97,42 @@ CLASS lhc_Partner IMPLEMENTATION.
ENDMETHOD.
METHOD clearAllEmptyStreets.
SELECT FROM zhs_dmo_partner
FIELDS partner, street
WHERE street = 'EMPTY'
INTO TABLE @DATA(lt_partner_data).
LOOP AT lt_partner_data INTO DATA(ls_partner).
MODIFY ENTITIES OF ZHS_I_RAPPartner IN LOCAL MODE
ENTITY Partner
UPDATE FIELDS ( Street )
WITH VALUE #( ( PartnerNumber = ls_partner-partner Street = '' %control-Street = if_abap_behv=>mk-on ) ).
ENDLOOP.
INSERT VALUE #(
%msg = new_message_with_text( text = |{ lines( lt_partner_data ) } records changed|
severity = if_abap_behv_message=>severity-success )
) INTO TABLE reported-partner.
ENDMETHOD.
METHOD fillEmptyStreets.
READ ENTITIES OF ZHS_I_RAPPartner IN LOCAL MODE
ENTITY Partner
FIELDS ( Street )
WITH CORRESPONDING #( keys )
RESULT DATA(lt_partner_data).
LOOP AT lt_partner_data INTO DATA(ls_partner) WHERE Street IS INITIAL.
MODIFY ENTITIES OF ZHS_I_RAPPartner IN LOCAL MODE
ENTITY Partner
UPDATE FIELDS ( Street )
WITH VALUE #( ( %tky = ls_partner-%tky Street = 'EMPTY' %control-Street = if_abap_behv=>mk-on ) ).
ENDLOOP.
ENDMETHOD.
ENDCLASS.

View File

@@ -6,4 +6,7 @@ define behavior for ZHS_C_RAPPartner alias Partner
use create;
use update;
use delete;
use action fillEmptyStreets;
use action clearAllEmptyStreets;
}

View File

@@ -33,7 +33,9 @@ annotate entity ZHS_C_RAPPartner with
]
@UI.selectionField: [{ position: 10 }]
@UI.lineItem: [{ position: 20, importance: #MEDIUM }]
@UI.lineItem: [{ position: 20, importance: #MEDIUM },
{ position: 10, type: #FOR_ACTION, label: 'Fill', dataAction: 'fillEmptyStreets' },
{ position: 20, type: #FOR_ACTION, label: 'Clear All', dataAction: 'clearAllEmptyStreets' }]
@UI.identification: [{ position: 20, qualifier: 'PARTNER_INFO' }]
@EndUserText.label: 'Partner'
@EndUserText.quickInfo: 'Identifier of the partner'

View File

@@ -16,6 +16,9 @@ authorization master ( instance )
determination fillCurrency on modify { create; update; }
action fillEmptyStreets;
static action clearAllEmptyStreets;
mapping for zhs_dmo_partner
{