Validation
This commit is contained in:
@@ -3,6 +3,10 @@ CLASS lhc_Partner DEFINITION INHERITING FROM cl_abap_behavior_handler.
|
|||||||
|
|
||||||
METHODS get_instance_authorizations FOR INSTANCE AUTHORIZATION
|
METHODS get_instance_authorizations FOR INSTANCE AUTHORIZATION
|
||||||
IMPORTING keys REQUEST requested_authorizations FOR Partner RESULT result.
|
IMPORTING keys REQUEST requested_authorizations FOR Partner RESULT result.
|
||||||
|
METHODS validatekeyisfilled FOR VALIDATE ON SAVE
|
||||||
|
IMPORTING keys FOR partner~validatekeyisfilled.
|
||||||
|
METHODS validatecoredata FOR VALIDATE ON SAVE
|
||||||
|
IMPORTING keys FOR partner~validatecoredata.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|
||||||
@@ -11,4 +15,62 @@ CLASS lhc_Partner IMPLEMENTATION.
|
|||||||
METHOD get_instance_authorizations.
|
METHOD get_instance_authorizations.
|
||||||
ENDMETHOD.
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD validateKeyisFilled.
|
||||||
|
|
||||||
|
LOOP AT keys INTO DATA(ls_key) WHERE PartnerNumber IS INITIAL.
|
||||||
|
|
||||||
|
INSERT VALUE #( PartnerNumber = ls_key-PartnerNumber ) INTO TABLE failed-partner.
|
||||||
|
|
||||||
|
INSERT VALUE #( PartnerNumber = ls_key-PartnerNumber
|
||||||
|
%msg = new_message_with_text( severity = if_abap_behv_message=>severity-error
|
||||||
|
text = 'Partnernumber is mandatory' )
|
||||||
|
) INTO TABLE reported-partner.
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
|
METHOD validateCoreData.
|
||||||
|
|
||||||
|
READ ENTITIES OF ZHS_I_RAPPartner IN LOCAL MODE
|
||||||
|
ENTITY Partner
|
||||||
|
FIELDS ( Country PaymentCurrency )
|
||||||
|
WITH CORRESPONDING #( keys )
|
||||||
|
RESULT DATA(lt_partner_data)
|
||||||
|
FAILED DATA(ls_failed)
|
||||||
|
REPORTED DATA(ls_reported).
|
||||||
|
|
||||||
|
LOOP AT lt_partner_data INTO DATA(ls_partner).
|
||||||
|
SELECT SINGLE FROM i_country
|
||||||
|
FIELDS Country
|
||||||
|
WHERE Country = @ls_partner-country
|
||||||
|
INTO @DATA(ld_found_country).
|
||||||
|
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
INSERT VALUE #( PartnerNumber = ls_partner-PartnerNumber ) INTO TABLE failed-partner.
|
||||||
|
|
||||||
|
INSERT VALUE #(
|
||||||
|
PartnerNumber = ls_partner-PartnerNumber
|
||||||
|
%msg = new_message_with_text( text = 'Country not found in I_Country' )
|
||||||
|
%element-country = if_abap_behv=>mk-on
|
||||||
|
) INTO TABLE reported-partner.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
SELECT SINGLE FROM I_Currency
|
||||||
|
FIELDS Currency
|
||||||
|
WHERE Currency = @ls_partner-PaymentCurrency
|
||||||
|
INTO @DATA(ld_found_currency).
|
||||||
|
IF sy-subrc <> 0.
|
||||||
|
INSERT VALUE #( PartnerNumber = ls_partner-PartnerNumber ) INTO TABLE failed-partner.
|
||||||
|
|
||||||
|
INSERT VALUE #(
|
||||||
|
PartnerNumber = ls_partner-PartnerNumber
|
||||||
|
%msg = new_message_with_text( text = 'Currency not found in I_Currency' )
|
||||||
|
%element-paymentcurrency = if_abap_behv=>mk-on
|
||||||
|
) INTO TABLE reported-partner.
|
||||||
|
ENDIF.
|
||||||
|
|
||||||
|
ENDLOOP.
|
||||||
|
|
||||||
|
ENDMETHOD.
|
||||||
|
|
||||||
ENDCLASS.
|
ENDCLASS.
|
||||||
|
|||||||
@@ -11,6 +11,10 @@ authorization master ( instance )
|
|||||||
update;
|
update;
|
||||||
delete;
|
delete;
|
||||||
|
|
||||||
|
validation validateKeyisFilled on save { create; }
|
||||||
|
validation validateCoreData on save { create; field Country, PaymentCurrency; }
|
||||||
|
|
||||||
|
|
||||||
mapping for zhs_dmo_partner
|
mapping for zhs_dmo_partner
|
||||||
{
|
{
|
||||||
PartnerNumber = partner;
|
PartnerNumber = partner;
|
||||||
|
|||||||
Reference in New Issue
Block a user