Anda di halaman 1dari 5

*&---------------------------------------------------------------------* *& Report ZSACHIN_ESSENT ** Date : 26/10/2010 * Author : * Description : * Change no : * Transport nr: ---------------------------------------------------* REPORT ZSACHIN_ESSENT.

tables: FKKVKP, EVER, EABLG ,EABL. types:begin of t_struct, GPART type FKKVKP-GPART, VKONT type FKKVKP-VKONT , ANLAGE type ever-ANLAGE, ABLESGR type EABLG-ABLESGR, ISTABLART type EABL-ISTABLART, ADATSOLL type EABL-ADATSOLL, V_ZWSTAND type EABL-V_ZWSTAND, end of t_struct.

DATA:v_flag TYPE c, gr_alv_grid type ref to cl_gui_alv_grid, gr_container type REF TO cl_gui_custom_container, gt_struct type table of t_struct, wa_struct type t_struct. SELECT-OPTIONS: s_GPART for FKKVKP-GPART, s_VKONT for FKKVKP-VKONT, S_ANLAGE FOR ever-ANLAGE, S_ADATSO FOR EABL-ADATSOLL, s_V_ZWST FOR EABL-V_ZWSTAND.

start-of-selection. SELECT A~GPART A~VKONT B~ANLAGE C~ABLESGR D~ISTABLART D~ADATSOLL D~V_ZWSTAND into CORRESPONDING FIELDS OF TABLE gt_struct FROM ( ( ( FKKVKP AS A inner join EVER AS B on A~VKONT = B~VKONTO ) inner join EABLG AS C on B~ANLAGE = C~ANLAGE ) inner join EABL AS D on C~ABLBELNR = D~ABLBELNR ) WHERE a~gpart IN s_GPART AND b~vkonto IN s_VKONT AND b~ANLAGE IN S_ANLAGE AND D~ADATSOLL IN S_ADATSO AND D~V_ZWSTAND IN S_V_ZWST AND c~ablesgr IN ('06', '21') AND d~istablart IN ('93', '01').

LOOP AT gt_struct INTO wa_struct. IF wa_struct-ablesgr EQ '21' AND wa_struct-istablart EQ '01'. v_flag = 'X'. ELSEIF wa_struct-ablesgr eq '06' AND wa_struct-istablart eq '93'. V_FLAG = 'X'. ENDIF. IF v_flag IS INITIAL. DELETE gt_struct INDEX sy-tabix. ENDIF. CLEAR: wa_struct, v_flag. ENDLOOP. call screen 400.

*&---------------------------------------------------------------------* *& Module STATUS_0400 OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE STATUS_0400 OUTPUT. SET PF-STATUS '4000'. SET TITLEBAR '4000'. ENDMODULE. " STATUS_0400 OUTPUT *&---------------------------------------------------------------------* *& Module USER_COMMAND_0400 INPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* MODULE USER_COMMAND_0400 INPUT. CASE SY-UCOMM. WHEN 'BAC'. LEAVE TO SCREEN 0. WHEN 'EXIT'. LEAVE PROGRAM. ENDCASE. ENDMODULE. " USER_COMMAND_0400 INPUT

*&---------------------------------------------------------------------* *& Module DISPLAY OUTPUT *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------*

MODULE DISPLAY OUTPUT. DATA lt_fcat TYPE lvc_t_fcat. CREATE OBJECT GR_CONTAINER EXPORTING * PARENT = CONTAINER_NAME = 'C1' * STYLE = * LIFETIME = lifetime_default * REPID = * DYNNR = * NO_AUTODEF_PROGID_DYNNR = EXCEPTIONS CNTL_ERROR = 1 CNTL_SYSTEM_ERROR = 2 CREATE_ERROR = 3 LIFETIME_ERROR = 4 LIFETIME_DYNPRO_DYNPRO_LINK = 5 others = 6 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

CREATE OBJECT GR_ALV_GRID EXPORTING * I_SHELLSTYLE = 0 * I_LIFETIME = I_PARENT = GR_CONTAINER * * * * * * I_APPL_EVENTS = space I_PARENTDBG = I_APPLOGPARENT = I_GRAPHICSPARENT = I_NAME = I_FCAT_COMPLETE = SPACE EXCEPTIONS ERROR_CNTL_CREATE = 1 ERROR_CNTL_INIT = 2 ERROR_CNTL_LINK = 3 ERROR_DP_CREATE = 4 others = 5 . IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

DATA: LS_FCAT TYPE LVC_S_FCAT. ls_fcat-fieldname ls_fcat-ref_table ls_fcat-coltext = APPEND ls_fcat TO CLEAR ls_fcat. ls_fcat-fieldname ls_fcat-ref_table ls_fcat-coltext = APPEND ls_fcat TO CLEAR ls_fcat. ls_fcat-fieldname ls_fcat-ref_table ls_fcat-coltext = APPEND ls_fcat TO CLEAR ls_fcat. ls_fcat-fieldname ls_fcat-ref_table ls_fcat-coltext = APPEND ls_fcat TO CLEAR ls_fcat. ls_fcat-fieldname ls_fcat-ref_table ls_fcat-coltext = APPEND ls_fcat TO CLEAR ls_fcat. ls_fcat-fieldname ls_fcat-ref_table ls_fcat-coltext = APPEND ls_fcat TO CLEAR ls_fcat. ls_fcat-fieldname ls_fcat-ref_table ls_fcat-coltext = APPEND ls_fcat TO CLEAR ls_fcat. = 'GPART'. = 'FKKVKP'. 'Business Partner Number'. lt_fcat.

= 'VKONT'. = 'FKKVKP'. 'Contract Account Number'. lt_fcat.

= 'ANLAGE'. = 'EVER'. 'Installation'. lt_fcat.

= 'ABLESGR'. = 'EABLG'. 'Internal ID for meter reading document'. lt_fcat.

= 'ISTABLART'. = 'EABL'. 'Meter reading type'. lt_fcat.

= 'ADATSOLL'. = 'EABL'. 'Scheduled meter reading date'. lt_fcat.

= 'V_ZWSTAND'. = 'EABL'. 'Places Before Decimal Point in Meter Reading'. lt_fcat.

CALL METHOD GR_ALV_GRID->SET_TABLE_FOR_FIRST_DISPLAY CHANGING IT_OUTTAB = gt_struct IT_FIELDCATALOG = lt_fcat * IT_SORT = * IT_FILTER = EXCEPTIONS INVALID_PARAMETER_COMBINATION = 1 PROGRAM_ERROR = 2 TOO_MANY_LINES = 3 others = 4 . IF SY-SUBRC <> 0. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

ENDMODULE.

" DISPLAY

OUTPUT

Anda mungkin juga menyukai