Sunteți pe pagina 1din 4

REPORT ZDEMO_AT_USER_COMMAND_9AM LINE-COUNT 20 LINE-SIZE 150 NO STANDARD PAGE HEADING.

TYPES : BEGIN OF LIFNR NAME1 ORT01 LAND1 END OF TY_LFA1, TYPE LIFNR, TYPE NAME1_GP, TYPE ORT01_GP, TYPE LAND1_GP, TY_LFA1.

TYPES : BEGIN OF TY_EKKO, LIFNR TYPE LIFNR, EBELN TYPE EBELN, AEDAT TYPE AEDAT, END OF TY_EKKO. DATA : WA_LFA1 TYPE TY_LFA1, IT_LFA1 TYPE TABLE OF TY_LFA1, IT_SELECTED_LFA1 TYPE TABLE OF TY_LFA1, WA_EKKO TYPE TY_EKKO, IT_EKKO TYPE TABLE OF TY_EKKO, V_LIFNR TYPE LIFNR, V_BOX(10) TYPE C, V_LINES TYPE I. SELECT-OPTIONS S_LIFNR FOR V_LIFNR DEFAULT 1000 TO 2000. SELECT LIFNR NAME1 ORT01 LAND1 INTO TABLE IT_LFA1 FROM LFA1 WHERE LIFNR IN S_LIFNR. IF IT_LFA1 IS NOT INITIAL. SET PF-STATUS 'YSTATUS'. "Double to Create PERFORM DISPLAY_DATA. ELSE. WRITE / 'No Data'. ENDIF. TOP-OF-PAGE. WRITE : / 'Vendor No' COLOR 1, 11 'Name' COLOR 1, 47 'City' COLOR 1, 83 'Ctr y' COLOR 1, 'Page', SY-PAGNO COLOR 7. ULINE. ******************************************** * AT USER-COMMAND * ******************************************** AT USER-COMMAND . CASE SY-UCOMM. * WHEN 'DLOAD'. * CALL FUNCTION 'GUI_DOWNLOAD' * EXPORTING * FILENAME = 'E:\YOGI\9AM\LFA1.TXT' * WRITE_FIELD_SEPARATOR = ',' "Tab * TABLES * DATA_TAB = IT_LFA1

* * * ** *

. IF SY-SUBRC = 0. MESSAGE 'Succcessful Download' TYPE 'S'. WRITE / 'Succcessful Download' . ENDIF. WHEN 'GETPOS'. PERFORM COLLECT_SELECTED_LINES.

IF IT_SELECTED_LFA1 IS NOT INITIAL. SELECT LIFNR EBELN AEDAT INTO TABLE IT_EKKO FROM EKKO FOR ALL ENTRIES IN IT_SELECTED_LFA1 WHERE LIFNR = IT_SELECTED_LFA1-LIFNR. SORT IT_EKKO BY LIFNR. IF IT_EKKO IS NOT INITIAL. LOOP AT IT_EKKO INTO WA_EKKO. AT NEW LIFNR. WRITE : / WA_EKKO-LIFNR COLOR 3. ENDAT. WRITE : /5 WA_EKKO-EBELN, WA_EKKO-AEDAT. ENDLOOP. ELSE. WRITE / 'No Purchasing Docs For Selected Vendor(s)' COLOR 7. ENDIF . ELSE. MESSAGE 'No Lines Selected' TYPE 'S'. ENDIF. WHEN 'SALL'. V_BOX = 'X'. "Checked PERFORM DISPLAY_DATA. WHEN 'DALL'. V_BOX = ' '. "Un Checked PERFORM DISPLAY_DATA. WHEN 'DLOAD'. PERFORM COLLECT_SELECTED_LINES. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING * BIN_FILESIZE FILENAME * FILETYPE * APPEND WRITE_FIELD_SEPARATOR * HEADER * TRUNC_TRAILING_BLANKS * WRITE_LF * COL_SELECT * COL_SELECT_MASK * DAT_MODE * CONFIRM_OVERWRITE * NO_AUTH_CHECK * CODEPAGE * IGNORE_CERR * REPLACEMENT * WRITE_BOM * TRUNC_TRAILING_BLANKS_EOL * WK1_N_FORMAT * WK1_N_SIZE * WK1_T_FORMAT

= = 'E:\EMAX_NEW\SELECTED_POS.TXT' = 'ASC' = ' ' = 'X' "tab = '00' = ' ' = 'X' = ' ' = ' ' = ' ' = ' ' = ' ' = ' ' = ABAP_TRUE = '#' = ' ' = 'X' = ' ' = ' ' = ' '

* * * * * * * * * * * * * * * * * * * * * * * * * * * * *

WK1_T_SIZE = WRITE_LF_AFTER_LAST_LINE = SHOW_TRANSFER_STATUS = IMPORTING FILELENGTH = TABLES DATA_TAB = FIELDNAMES = EXCEPTIONS FILE_WRITE_ERROR = NO_BATCH = GUI_REFUSE_FILETRANSFER = INVALID_TYPE = NO_AUTHORITY = UNKNOWN_ERROR = HEADER_NOT_ALLOWED = SEPARATOR_NOT_ALLOWED = FILESIZE_NOT_ALLOWED = HEADER_TOO_LONG = DP_ERROR_CREATE = DP_ERROR_SEND = DP_ERROR_WRITE = UNKNOWN_DP_ERROR = ACCESS_DENIED = DP_OUT_OF_MEMORY = DISK_FULL = DP_TIMEOUT = FILE_NOT_FOUND = DATAPROVIDER_EXCEPTION = CONTROL_FLUSH_ERROR = OTHERS = . IF SY-SUBRC = 0. MESSAGE 'Successful Download' TYPE ENDIF. ENDCASE.

' ' ABAP_TRUE ABAP_TRUE

it_selected_lfa1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 'S'.

********************************* * AT LINE-SELECTION ********************************** AT LINE-SELECTION. v_lifnr = sy-lisel+0(10). CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "External -> Internal EXPORTING INPUT = v_LIFNR IMPORTING OUTPUT = v_LIFNR . SELECT LIFNR EBELN AEDAT INTO TABLE IT_EKKO FROM EKKO WHERE LIFNR = v_lifnr. SORT IT_EKKO BY LIFNR. IF IT_EKKO IS NOT INITIAL. LOOP AT IT_EKKO INTO WA_EKKO. AT NEW LIFNR. WRITE : / WA_EKKO-LIFNR COLOR 3. ENDAT.

WRITE : /5 WA_EKKO-EBELN, WA_EKKO-AEDAT. ENDLOOP. ELSE. WRITE : / 'No Purchasing Docs For Selected Vendor', v_lifnr COLOR 7. ENDIF . ******************************************* FORM DISPLAY_DATA. LOOP AT IT_LFA1 INTO WA_LFA1. WRITE : / V_BOX AS CHECKBOX, WA_LFA1-LIFNR COLOR 7 HOTSPOT, 11 WA_LFA1-N AME1 COLOR 1, 47 WA_LFA1-ORT01, 83 WA_LFA1-LAND1 COLOR 3. ENDLOOP. ENDFORM. *****FORM COLLECT_SELECTED_LINES FORM COLLECT_SELECTED_LINES. *Find Out the Total No Of Lines From Output List DESCRIBE LIST NUMBER OF LINES V_LINES. *Read the Line content From the Output List DO V_LINES TIMES. READ LINE SY-INDEX FIELD VALUE V_BOX WA_LFA1-LIFNR WA_LFA1-NAME1 WA_LFA1-ORT01 WA_LFA1-LAND1. IF V_BOX = 'X'. CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT' "External -> Internal EXPORTING INPUT = WA_LFA1-LIFNR IMPORTING OUTPUT = WA_LFA1-LIFNR . APPEND WA_LFA1 TO IT_SELECTED_LFA1. ENDIF. ENDDO. ENDFORM.

S-ar putea să vă placă și