Stage 2 summary at 50 accepted trajectories
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
59
tasks_gen/train/G1130/seed/groom_bill_old.prog.abap
Normal file
59
tasks_gen/train/G1130/seed/groom_bill_old.prog.abap
Normal file
@@ -0,0 +1,59 @@
|
||||
REPORT {{p}}groom_bill_old.
|
||||
|
||||
DATA: gv_pet TYPE {{p}}groom-pet.
|
||||
|
||||
PARAMETERS p_date TYPE d OBLIGATORY.
|
||||
SELECT-OPTIONS s_pet FOR gv_pet.
|
||||
|
||||
TYPES: BEGIN OF ty_out,
|
||||
groom_id TYPE {{p}}groom-groom_id,
|
||||
pet TYPE {{p}}groom-pet,
|
||||
service TYPE {{p}}groom-service,
|
||||
charge TYPE p LENGTH 9 DECIMALS 2,
|
||||
END OF ty_out.
|
||||
|
||||
DATA: gt_out TYPE STANDARD TABLE OF ty_out,
|
||||
gs_out TYPE ty_out,
|
||||
gt_groom TYPE STANDARD TABLE OF {{p}}groom,
|
||||
gs_groom TYPE {{p}}groom.
|
||||
|
||||
START-OF-SELECTION.
|
||||
|
||||
SELECT * FROM {{p}}groom INTO TABLE gt_groom
|
||||
WHERE visit_date = p_date AND pet IN s_pet.
|
||||
|
||||
LOOP AT gt_groom INTO gs_groom.
|
||||
CLEAR gs_out.
|
||||
gs_out-groom_id = gs_groom-groom_id.
|
||||
gs_out-pet = gs_groom-pet.
|
||||
gs_out-service = gs_groom-service.
|
||||
IF gs_groom-service = 'BASIC'.
|
||||
gs_out-charge = 30.
|
||||
ELSEIF gs_groom-service = 'FULL'.
|
||||
gs_out-charge = 50.
|
||||
ELSE.
|
||||
gs_out-charge = 0.
|
||||
ENDIF.
|
||||
IF gs_groom-coat = 'LONG'.
|
||||
gs_out-charge = gs_out-charge + 10.
|
||||
ELSEIF gs_groom-coat = 'CURLY'.
|
||||
gs_out-charge = gs_out-charge + 15.
|
||||
ENDIF.
|
||||
IF gs_groom-weight_kg > 25.
|
||||
gs_out-charge = gs_out-charge + 20.
|
||||
ENDIF.
|
||||
IF gs_groom-service = 'FULL' AND gs_groom-coat = 'LONG'.
|
||||
gs_out-charge = gs_out-charge - 5.
|
||||
ENDIF.
|
||||
APPEND gs_out TO gt_out.
|
||||
ENDLOOP.
|
||||
|
||||
SORT gt_out BY groom_id.
|
||||
|
||||
TRY.
|
||||
cl_salv_table=>factory(
|
||||
IMPORTING r_salv_table = DATA(lo_alv)
|
||||
CHANGING t_table = gt_out ).
|
||||
lo_alv->display( ).
|
||||
CATCH cx_salv_msg.
|
||||
ENDTRY.
|
||||
Reference in New Issue
Block a user