Beruflich Dokumente
Kultur Dokumente
PUBLIC SECTION.
DATA: id TYPE scustom-id READ-ONLY.
METHODS:
constructor IMPORTING iv_id TYPE scustom-id,
get_attributes
EXPORTING
es_cust_data TYPE bc401_typd_cust.
PRIVATE SECTION.
DATA: name TYPE scustom-name,
street TYPE scustom-street,
city TYPE scustom-city,
app_date TYPE d.
ENDCLASS.
METHOD get_attributes.
es_cust_data-id = id.
es_cust_data-name = name.
es_cust_data-street = street.
es_cust_data-city = city.
es_cust_data-app_date = app_date.
ENDMETHOD.
ENDCLASS.
*__________________________________________________________________________
____________________
*__________________________________________________________________________
____________________
PRIVATE SECTION.
DATA:
customer_list TYPE TABLE OF REF TO lcl_customer.
ENDCLASS.
METHOD constructor.
carrid = iv_carrid.
connid = iv_connid.
fldate = iv_fldate.
ENDMETHOD.
METHOD delete.
DATA lo_customer TYPE REF TO lcl_customer.
METHOD get_cust_list.
DATA: lo_customer TYPE REF TO lcl_customer,
ls_customer TYPE bc401_typd_cust.
LOOP AT customer_list INTO lo_customer.
lo_customer->get_attributes( IMPORTING es_cust_data = ls_customer ).
APPEND ls_customer TO rt_cust_list.
ENDLOOP.
ENDMETHOD.
METHOD get_first.
READ TABLE customer_list INTO ro_customer INDEX 1.
ENDMETHOD.
METHOD get_pos.
READ TABLE customer_list WITH KEY table_line->id = iv_id TRANSPORTING
NO FIELDS.
IF sy-subrc = 0.
rv_pos = sy-tabix.
ELSE.
RAISE EXCEPTION TYPE zcx_bc401_01_no_waitlist.
ENDIF.
ENDMETHOD.
ENDCLASS.
*__________________________________________________________________________
____________________
*__________________________________________________________________________
____________________
METHOD constructor.
ENDMETHOD.
METHOD create_waitlist.
DATA lo_waitlist TYPE REF TO lcl_waitlist.
IF sy-subrc <> 0.
CREATE OBJECT lo_waitlist
EXPORTING
iv_carrid = iv_carrid
iv_connid = iv_connid
iv_fldate = iv_fldate.
ENDMETHOD.
METHOD delete.
ENDMETHOD.
METHOD delete_waitlist.
DATA lo_waitlist TYPE REF TO lcl_waitlist.
METHOD get_waitlist.
READ TABLE wait_list
WITH KEY
table_line->carrid = iv_carrid
table_line->connid = iv_connid
table_line->fldate = iv_fldate
INTO
ro_waitlist.
IF sy-subrc <> 0.
RAISE EXCEPTION TYPE zcx_bc401_01_no_waitlist.
ENDIF.
ENDMETHOD.
METHOD show_waitlist.
DATA: lo_waitlist TYPE REF TO lcl_waitlist,
lt_cust_list TYPE bc401_typd_cust_list.
TRY .
lo_waitlist = get_waitlist( iv_carrid = iv_carrid iv_connid =
iv_connid iv_fldate = iv_fldate ).
lt_cust_list = lo_waitlist->get_cust_list( ).
CATCH zcx_bc401_01_no_waitlist.
MESSAGE e103(zbc401_01).
ENDTRY.
IF lines( lt_cust_list ) > 0.
CALL FUNCTION 'BC401_DISPLAY_DATA'
EXPORTING
im_list = lt_cust_list.
ELSE.
RAISE EXCEPTION TYPE zcx_bc401_01_no_waitlist.
ENDIF.
ENDMETHOD.
ENDCLASS.
*__________________________________________________________________________
____________________
*__________________________________________________________________________
____________________
*----------------------------------------------------------------------*
***INCLUDE TAW10_CSS1_WAITLIST_I01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module check_and_create_cust INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE check_and_create_cust INPUT.
SELECT SINGLE name street city FROM scustom
INTO CORRESPONDING FIELDS OF scustom
WHERE id = scustom-id.
IF sy-subrc <> 0.
CLEAR: scustom-name, scustom-city.
MESSAGE e000(taw10) WITH scustom-id.
* Customernumber & does not exist. Please correct !
ENDIF.
ENDMODULE. " check_and_create_cust INPUT
*&---------------------------------------------------------------------*
*& Module user_command_0100 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0100 INPUT.
DATA: save_ok TYPE sy-ucomm.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
lcl_buffer=>get_buffer_ref( )->create_waitlist(
iv_carrid = sdyn_conn-carrid
iv_connid = sdyn_conn-connid
iv_fldate = sdyn_conn-fldate ).
ENDCASE.
*&---------------------------------------------------------------------*
*& Module check_flight INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE check_flight INPUT.
SELECT SINGLE * FROM sflight INTO gs_sflight
WHERE carrid = sdyn_conn-carrid
AND connid = sdyn_conn-connid
AND fldate = sdyn_conn-fldate.
IF sy-subrc <> 0.
MESSAGE e004(taw10).
* Please select a valid flight !
ENDIF.
ENDMODULE. " check_flight INPUT
*&---------------------------------------------------------------------*
*& Module exit INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE exit INPUT.
CASE ok_code.
WHEN 'CANCEL'.
CLEAR: scustom, sdyn_conn.
LEAVE TO SCREEN 100.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
*&---------------------------------------------------------------------*
*& Include TAW10_CSS1_WAITLIST_O01
*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*& Module STATUS_0100 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0100 OUTPUT.
SET PF-STATUS 'DYNPRO_100'.
SET TITLEBAR 'TITLE_100'.
*&---------------------------------------------------------------------*
*& Module clear_ok_code OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE clear_ok_code OUTPUT.
CLEAR ok_code.
ENDMODULE. " clear_ok_code OUTPUT