Advertisement
Guest User

Untitled

a guest
Jul 10th, 2019
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
ABAP 2.92 KB | None | 0 0
  1. *&---------------------------------------------------------------------*
  2. *& Report  Z_HEL_CSV_EXO_2
  3. *&
  4. *&---------------------------------------------------------------------*
  5. *&
  6. *&
  7. *&---------------------------------------------------------------------*
  8.  
  9. INCLUDE z_hel_csv_exo2_top                      .    " global Data
  10.  
  11. * INCLUDE Z_HEL_CSV_EXO2_O01                      .  " PBO-Modules
  12. * INCLUDE Z_HEL_CSV_EXO2_I01                      .  " PAI-Modules
  13. * INCLUDE Z_HEL_CSV_EXO2_F01                      .  " FORM-Routines
  14.  
  15. TABLES : lfa1.
  16.  
  17. DATA : gd_path TYPE string.
  18.  
  19. DATA : itab_lfa1 TYPE STANDARD TABLE OF lfa1 WITH HEADER LINE.
  20. DATA: hassancsv TYPE c LENGTH 20 VALUE '\hassan.csv'.
  21.  
  22. DATA: iout TYPE TABLE OF string .
  23. DATA: xout TYPE string.
  24. FIELD-SYMBOLS: <fs>.
  25.  
  26. DATA : zcount(10) TYPE N.
  27.  
  28. DATA: ITAB1 TYPE TRUXS_T_TEXT_DATA.
  29.  
  30.  
  31. SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.
  32. SELECT-OPTIONS : n_frn FOR lfa1-lifnr.
  33. SELECT-OPTIONS : d_achat FOR lfa1-erdat.
  34. PARAMETERS: p_path LIKE rlgrap-filename OBLIGATORY.
  35. SELECTION-SCREEN END OF SCREEN 500.
  36.  
  37. CALL SELECTION-SCREEN 500.
  38.  
  39. AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_path.
  40.   CALL METHOD cl_gui_frontend_services=>directory_browse
  41.     EXPORTING
  42.       window_title    = 'File Directory'
  43.       initial_folder  = 'C:'
  44.     CHANGING
  45.       selected_folder = gd_path.
  46.   CALL METHOD cl_gui_cfw=>flush.
  47.   CONCATENATE gd_path '' INTO p_path.
  48.  
  49. START-OF-SELECTION.
  50.   PERFORM traitement.
  51.  
  52.  
  53. FORM traitement.
  54.   IF n_frn = ''.
  55.     PERFORM selectallsuppliers.
  56.   ELSEIF d_achat IS INITIAL.
  57.     PERFORM selectsupplierbycurrentdate.
  58.   ELSE.
  59.     PERFORM showsupplierbydateandnum.
  60.   ENDIF.
  61.  
  62.   DESCRIBE TABLE itab_lfa1 LINES zcount.
  63.  
  64.   CLEAR gd_path.
  65.   CONCATENATE p_path hassancsv  INTO gd_path.
  66.   PERFORM exportcsvfile.
  67.  
  68. ENDFORM.
  69.  
  70.  
  71. FORM selectallsuppliers.
  72.   SELECT * FROM lfa1 INTO TABLE itab_lfa1.
  73. ENDFORM.
  74.  
  75. FORM selectsupplierbycurrentdate.
  76.   SELECT * FROM  lfa1 AS f
  77.   INTO TABLE itab_lfa1
  78.   WHERE erdat <= sy-datum.
  79.  
  80.  
  81. ENDFORM.
  82.  
  83.  
  84. FORM showsupplierbydateandnum.
  85.   SELECT * FROM  lfa1 AS f
  86.   INTO TABLE itab_lfa1
  87.   WHERE erdat <= d_achat AND lifnr IN n_frn.
  88. ENDFORM.
  89.  
  90.  
  91. FORM exportcsvfile.
  92.   CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
  93.     EXPORTING
  94.       i_field_seperator    = ';'
  95.     TABLES
  96.       i_tab_sap_data       = itab_lfa1
  97.     CHANGING
  98.       i_tab_converted_data = itab1
  99.     EXCEPTIONS
  100.       conversion_failed    = 1
  101.       OTHERS               = 2.
  102.   IF sy-subrc <> 0.
  103.     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno         WITH sy-msgv1
  104.     sy-msgv2 sy-msgv3 sy-msgv4.
  105.   ENDIF.
  106.  
  107. CALL FUNCTION 'GUI_DOWNLOAD'
  108.   EXPORTING
  109.     FILENAME = gd_path
  110.   TABLES
  111.     DATA_TAB = itab1
  112.   EXCEPTIONS
  113.     OTHERS   = 1.
  114.  
  115.   if sy-subrc = 0.
  116.       MESSAGE text-001  TYPE 'I' DISPLAY LIKE 'I'.
  117.       WRITE : / 'nombre de fournisseurs créer ', zcount .
  118.   else.
  119.       MESSAGE text-002 TYPE 'W' DISPLAY LIKE 'W'.
  120.   endif.
  121.  
  122.  
  123. ENDFORM.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement