Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014aUaQeLnwbb1zTpN7kHeat
39 lines
1.1 KiB
ABAP
39 lines
1.1 KiB
ABAP
CLASS {{p}}drug_master DEFINITION PUBLIC FINAL CREATE PUBLIC.
|
|
PUBLIC SECTION.
|
|
TYPES ty_drug_id TYPE c LENGTH 10.
|
|
|
|
TYPES:
|
|
BEGIN OF ty_drug,
|
|
drug_id TYPE ty_drug_id,
|
|
max_daily_dose TYPE i,
|
|
END OF ty_drug,
|
|
tt_drug TYPE STANDARD TABLE OF ty_drug WITH EMPTY KEY.
|
|
|
|
METHODS get_drug
|
|
IMPORTING iv_drug_id TYPE ty_drug_id
|
|
RETURNING VALUE(rs_drug) TYPE ty_drug.
|
|
|
|
PRIVATE SECTION.
|
|
METHODS get_all_drugs
|
|
RETURNING VALUE(rt_drug) TYPE tt_drug.
|
|
ENDCLASS.
|
|
|
|
|
|
CLASS {{p}}drug_master IMPLEMENTATION.
|
|
METHOD get_drug.
|
|
DATA(lt_drug) = get_all_drugs( ).
|
|
READ TABLE lt_drug INTO rs_drug WITH KEY drug_id = iv_drug_id.
|
|
IF sy-subrc <> 0.
|
|
CLEAR rs_drug.
|
|
ENDIF.
|
|
ENDMETHOD.
|
|
|
|
METHOD get_all_drugs.
|
|
rt_drug = VALUE #( ( drug_id = 'PARA500' max_daily_dose = 4000 )
|
|
( drug_id = 'IBU400' max_daily_dose = 1200 )
|
|
( drug_id = 'AMOX500' max_daily_dose = 1500 )
|
|
( drug_id = 'META50' max_daily_dose = 200 )
|
|
( drug_id = 'SALB100' max_daily_dose = 800 ) ).
|
|
ENDMETHOD.
|
|
ENDCLASS.
|