Anda di halaman 1dari 5

method ONACTIONTAKE_INFO . *doc ngay bat dau *bien LV_START_DATE DATA LO_EL_CONTEXT TYPE REF TO IF_WD_CONTEXT_ELEMENT.

DATA LS_CONTEXT TYPE WD_THIS->ELEMENT_CONTEXT. DATA LV_START_DATE TYPE WD_THIS->ELEMENT_CONTEXT-START_DATE. * * get element via lead selection LO_EL_CONTEXT = WD_CONTEXT->GET_ELEMENT( ). @TODO handle not set lead selection IF LO_EL_CONTEXT IS INITIAL. ENDIF. get single attribute LO_EL_CONTEXT->GET_ATTRIBUTE( EXPORTING NAME = `START_DATE` IMPORTING VALUE = LV_START_DATE ).

*doc ngay ket thuc *LV_END_DATE *DATA LO_EL_CONTEXT TYPE REF TO IF_WD_CONTEXT_ELEMENT. *DATA LS_CONTEXT TYPE WD_THIS->ELEMENT_CONTEXT. DATA LV_END_DATE TYPE WD_THIS->ELEMENT_CONTEXT-END_DATE. * get element via lead selection LO_EL_CONTEXT = WD_CONTEXT->GET_ELEMENT( ). * @TODO handle not set lead selection IF LO_EL_CONTEXT IS INITIAL. ENDIF. * get single attribute LO_EL_CONTEXT->GET_ATTRIBUTE( EXPORTING NAME = `END_DATE` IMPORTING VALUE = LV_END_DATE ).

*DOC COMBOBOX (DROPDOWNGROUPBYINDEX) *BIEN WA_DDVALUE * CREATE LOCAL DATA VARIABLE TO ACCESS CONTEXT INFORMATION DATA: CONTEXT_NODE TYPE REF TO IF_WD_CONTEXT_NODE. * CREATE TABLE BASED ON CONTEXT STRUCTURE DATA: IT_DDVALUE TYPE STANDARD TABLE OF IF_VIEW_LINH=>ELEMENT_AIRLINE_LIST, "R EPLACE VIEW1 WITH NAME OF VIEW WA_DDVALUE LIKE LINE OF IT_DDVALUE, INDEX TYPE I. * ASSIGN CONTEXT_NODE VARIABLE TO DROPDOWN CONTEXT NODE CONTEXT_NODE = WD_CONTEXT->GET_CHILD_NODE( NAME = 'AIRLINE_LIST'). * GET INDEX OF CURRECTLY SELECTED VALUE

INDEX = CONTEXT_NODE->GET_LEAD_SELECTION_INDEX( ). * USE INDEX TO GET ACTUAL DETAILS OF CURRENTLY SELECTED VALUE CONTEXT_NODE->GET_STATIC_ATTRIBUTES( EXPORTING INDEX = INDEX IMPORTING STATIC_ATTRIBUTES = WA_DDVALUE ).

*DOC RABIOBUTTON GROUPBYINDEX *bien v_text Data : v_Element type ref to If_Wd_Context_Element, Items_node type ref to If_Wd_Context_node, v_Index type i, v_Text type string, itemList type STANDARD TABLE OF IF_VIEW_LINH=>ELEMENT_radiogroup, w_list LIKE LINE OF itemList. Items_node = wd_Context->get_Child_Node( Name = `RADIOGROUP` ). items_node->GET_STATIC_ATTRIBUTES_TABLE( importing table = itemList ). v_Index = Items_node->GET_LEAD_SELECTION_INDEX( ). clear w_list. read table itemList into w_list index v_Index. v_Text = w_list-type. *tong hop nhung gi da doc duoc data: result_text type string. data: text type string. CONCATENATE 'Tinh hinh la da doc duoc' LV_START_DATE LV_END_DATE WA_DDVALUE-CARR NAME V_TEXT into RESULT_TEXT SEPARATED BY SPACE. wd_Context->set_Attribute( EXPORTING value = result_text NAME = 'READ_RESULT' ). *XU LI DU LIEU DUA VAO BANG * create local data variable to access context information * Data: context_node type ref to if_wd_context_node. * create table based on context structure data: it_hangkhong type STANDARD TABLE OF if_view_linh=>element_node_hangkhong , wa_hangkhong like line of it_hangkhong. * Define Structure to join two table sflight spfli TYPES: BEGIN OF ZST_CHUYENBAY, CITYFROM TYPE SPFLI-CITYFROM, COUNTRYFR TYPE SPFLI-COUNTRYFR, CITYTO TYPE SPFLI-CITYTO, COUNTRYTO TYPE SPFLI-COUNTRYTO, FLDATE TYPE SFLIGHT-FLDATE, FLTIME TYPE SPFLI-FLTIME, PLANETYPE TYPE SFLIGHT-PLANETYPE, END OF ZST_CHUYENBAY. DATA : IT_CHUYENBAY TYPE STANDARD TABLE OF ZST_CHUYENBAY,"INTERNAL TABLE WA_CHUYENBAY TYPE ZST_CHUYENBAY. "WORK AREA *select data from required SAP table

* select * * from scarr * into table it_hangkhong. * bind data to context used by ALV * context_node = wd_context->get_child_node( name = 'NODE_HANGKHONG'). * context_node->BIND_table( it_HANGKHONG ). DATA: LS_WHERE(72) TYPE C, LT_WHERE LIKE TABLE OF LS_WHERE. IF NOT LV_START_DATE EQ ''. CONCATENATE 'FLDATE GE ''' LV_START_DATE '''' INTO LS_WHERE. APPEND LS_WHERE TO LT_WHERE. ENDIF. IF NOT LV_END_DATE EQ ''. CONCATENATE 'FLDATE LE ''' LV_END_DATE '''' INTO LS_WHERE. IF LV_START_DATE NE ''. CONCATENATE 'AND' LS_WHERE INTO LS_WHERE SEPARATED BY SPACE. ENDIF. APPEND LS_WHERE TO LT_WHERE. ENDIF. IF NOT WA_DDVALUE-CARRID EQ 'DS'. CONCATENATE 'CARRID EQ ' WA_DDVALUE-CARRID INTO LS_WHERE. IF LV_START_DATE NE ''. CONCATENATE 'AND' LS_WHERE INTO LS_WHERE SEPARATED BY SPACE. ENDIF. APPEND LS_WHERE TO LT_WHERE. ENDIF. IF V_TEXT EQ 'Ni dia'. CONCATENATE 'COUNTRYFR EQ COUNTRYTO' ' ' INTO LS_WHERE. IF LV_START_DATE NE ''. CONCATENATE 'AND' LS_WHERE INTO LS_WHERE SEPARATED BY SPACE. ENDIF. APPEND LS_WHERE TO LT_WHERE. ENDIF.

IF NOT V_TEXT EQ 'Ni dia'. CONCATENATE 'COUNTRYFR NE COUNTRYTO' ' ' INTO LS_WHERE. IF LV_START_DATE NE ''. CONCATENATE 'AND' LS_WHERE INTO LS_WHERE SEPARATED BY SPACE. ENDIF. APPEND LS_WHERE TO LT_WHERE. ENDIF. IF ( WA_DDVALUE-CARRID EQ 'DS'). IF ( V_TEXT EQ 'Ni dia' ). SELECT CITYFROM COUNTRYFR CITYTO COUNTRYTO FLDATE FLTIME PLANETYPE INTO TABLE IT_CHUYENBAY FROM SPFLI INNER JOIN SFLIGHT ON ( SPFLI~CARRID = SFLIGHT~CARRID AND SPFLI~CONNID = SFLIGHT~CONNID ) WHERE ( FLDATE GE LV_START_DATE AND FLDATE LE LV_END_DATE AND SPFLI~COUNTRYFR EQ SPFLI~COUNTRYTO ). *ELSE CUA NOI DIA HAY QUOC TE ELSE. SELECT CITYFROM COUNTRYFR CITYTO COUNTRYTO FLDATE FLTIME PLANETYPE INTO TABLE IT_CHUYENBAY FROM SPFLI INNER JOIN SFLIGHT ON ( SPFLI~CARRID = SFLIGHT~CARRID AND SPFLI~CONNID = SFLIGHT~CONNID ) WHERE ( FLDATE GE LV_START_DATE AND FLDATE LE LV_END_DATE AND SPFLI~COUNTRYFR NE SPFLI~COUNTRYTO ). ENDIF. *ELSE CUA CARRID ELSE. IF ( V_TEXT EQ 'Ni dia'). SELECT CITYFROM COUNTRYFR CITYTO COUNTRYTO FLDATE FLTIME PLANETYPE INTO TABLE IT_CHUYENBAY FROM SPFLI INNER JOIN SFLIGHT ON ( SPFLI~CARRID = SFLIGHT~CARRID AND SPFLI~CONNID = SFLIGHT~CO NNID ) WHERE ( SPFLI~CARRID EQ WA_DDVALUE-CARRID AND FLDATE GE LV_START_ DATE AND FLDATE LE LV_END_DATE AND SPFLI~COUNTRYFR EQ SPFLI~COUNTRYTO ). *ELSE CUA NOI DIA HAY QUOC TE ELSE. SELECT CITYFROM COUNTRYFR CITYTO COUNTRYTO FLDATE FLTIME PLANETYPE INTO TABLE IT_CHUYENBAY FROM SPFLI INNER JOIN SFLIGHT

ON ( NNID )

SPFLI~CARRID = SFLIGHT~CARRID AND SPFLI~CONNID = SFLIGHT~CO

WHERE ( SPFLI~CARRID EQ WA_DDVALUE-CARRID AND FLDATE GE LV_START_ DATE AND FLDATE LE LV_END_DATE AND SPFLI~COUNTRYFR NE SPFLI~COUNTRYTO ). ENDIF. ENDIF. DATA COUNT TYPE I. COUNT = 0. LOOP AT IT_CHUYENBAY INTO WA_CHUYENBAY. CONCATENATE 'from' WA_CHUYENBAY-CITYFROM ' (' WA_CHUYENBAY-COUNTRYFR ') to' WA _CHUYENBAY-CITYTO ' (' WA_CHUYENBAY-COUNTRYTO ') ' INTO text SEPARATED BY SPACE. IF ( TEXT NE WA_HANGKHONG-TUYEN_BAY ). COUNT = COUNT + 1. WA_HANGKHONG-STT = COUNT. WA_HANGKHONG-TUYEN_BAY = TEXT. WA_HANGKHONG-NGAY_BAT_DAU_KHAI_THAC = WA_CHUYENBAY-FLDATE. WA_HANGKHONG-THOI_GIAN_BAY = WA_CHUYENBAY-FLTIME. WA_HANGKHONG-LOAI_MAY_BAY_SU_DUNG = WA_CHUYENBAY-PLANETYPE. APPEND WA_HANGKHONG TO IT_HANGKHONG. ENDIF. ENDLOOP. *gan ket du lieu vao node context_node = wd_context->get_child_node( name = 'NODE_HANGKHONG'). context_node->BIND_table( IT_HANGKHONG ). endmethod.

Anda mungkin juga menyukai