乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      文件輸入/輸出

       昵稱9979883 2012-05-16
      如何打開一個文件?

      你可以使用下面的語句來打開文件。 但請注意,如果你不使用任何附加值,打開的文件只能進行讀取而不能更改。而且是二進制模式。

      如果你沒有指定目錄,系統(tǒng)將使用配置參數(shù)DIR_HOME定義的目錄作為默認目錄。 因此  我建議你在文件名變量里使用完整的文件路徑 , 以避免混亂。  

      語法

      OPEN DATASET <file_name>.

      SY-SUBRC = 0. “文件打開.

      SY-SUBRC = 8. “文件無法打開。

      如何從文件中讀取數(shù)據(jù)?

      如果你想從文件中讀取數(shù)據(jù),可以使用”O(jiān)PEN DATASET“ ”READ DATASET 語句.  只要用戶有更改權(quán)限, 這個語句就能以讀取/更新模式打開文件。

      如果用戶沒有更改權(quán)限,文件只以'讀取'模式打開。 如果這仍然不能打開文件,錯誤信息就會出現(xiàn)。

       下面的代碼范例顯示如何打開一個文件,一行行讀出數(shù)據(jù),并保存數(shù)據(jù)到一個內(nèi)部表中。

      DATA: input_file(40TYPE c,
      itab(
      94OCCURS 0 WITH HEADER LINE,
      msg(
      100).

      OPEN DATASET input_file FOR INPUT IN TEXT MODE
      ENCODING DEFAULT MESSAGE msg.

      IF sy-subrc NE 0.
        
      WRITE:/ 'ERROR opening file', input_file, 'with message',
      ELSE.
        
      DO.
          
      READ DATASET input_file INTO itab.
          
      IF sy-subrc = 0.
            
      APPEND itab.
          
      ENDIF.

      ENDDO.

        CLOSE DATASET input_file.
      ENDIF.  

      如何到一個文件中填寫數(shù)據(jù)

      如果你需要保存數(shù)據(jù)到一個文件中,你可以使用“OPEN DATASET”

      對于OUTPUT的語句, 只要用戶有文件讀取的授權(quán), 此語句試圖以'/更新'模式打開文件。  如果用戶沒有授權(quán),系統(tǒng)中打開''模式文件。

      如果該文件已存在,其現(xiàn)有的內(nèi)容被刪除。

      如果該文件不存在,系統(tǒng)會創(chuàng)建一個新文件。

      代碼范例通過循環(huán)(LOOP)從 內(nèi)表中讀取數(shù)據(jù), 然后一行行地轉(zhuǎn)移到文件中。

      DATA: output_file(40TYPE c,
      itab(
      94OCCURS 0 WITH HEADER LINE,
      msg(
      100).

      OPEN DATASET output_file FOR OUTPUT IN TEXT MODE
      ENCODING DEFAULT MESSAGE msg.
      IF sy-subrc EQ 0.
        
      LOOP AT itab.
          
      TRANSFER itab TO output_file.
        
      ENDLOOP.
        
      CLOSE DATASET output_file.
      ELSE.

       WRITE:/ 'ERROR: Writing file with message', msg.
      ENDIF.  

      如何將數(shù)據(jù)加到一個文件的尾部

      前面的范例是把數(shù)據(jù)加到一個文件中。

      如果文件在系統(tǒng)中存在,舊的內(nèi)容會被刪除然后加進新的數(shù)據(jù)。 但在很多情況下,你不想清除現(xiàn)有的內(nèi)容。

      你只是想追加新的內(nèi)容到文件的末尾。

      要做到這一點,你可以使用“OPEN DATASET... FOR APPENDING“語句這個語句會試圖打開文件成追加'模式, 然后你可以把新的數(shù)據(jù)加到文件的末尾。

      如何使你的文件I / O程序可以在不同的操作系統(tǒng)下運行

      正如你在下面的例子中看到,你需要提供一個邏輯文件名和所屬操作系統(tǒng)的名稱,從而獲得實時的物理文件名。

      If you don't specify the operating system, the function module will use system defined operating system name, sy-opsys, by default. 如果你不指定操作系統(tǒng),功能模塊將使用系統(tǒng)定義的默認操作系統(tǒng)的名(SY - opsys)。 

      DATA: lv_filenam TYPE string.

      CALL FUNCTION 'FILE_GET_NAME'
      EXPORTING
      *  CLIENT                       = SY-MANDT

      logical_filename             = '<file_name>'

      *  OPERATING_SYSTEM             = SY-OPSYS
      *  PARAMETER_1                  = ' '
      *  PARAMETER_2                  = ' '
      *  PARAMETER_3                  = ' '
      *  USE_PRESENTATION_SERVER       = ' '

      *  WITH_FILE_EXTENSION          = ' '
      *  USE_BUFFER                   = ' '
      *  ELEMINATE_BLANKS             = 'X'
      * IMPORTING *進口
      *  EMERGENCY_FLAG               =
      *  FILE_FORMAT                  =

      file_name                    = lv_filenam
      EXCEPTIONS
      file_not_found               = 
      1
      OTHERS                       = 2.

      IF sy-subrc <> 0.
      * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
      *        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.  

      如何在ABAP程序里運行Windows /Unix命令?

      如果你是一個UnixWindows操作系統(tǒng),下面的代碼范例顯示如何在該操作系統(tǒng)上運行命令。

      該機制其實就是打開一個文件  運行命令。 然后將運行結(jié)果寫入一個文件。

      代碼范例顯示了如何運行的Unix命令。

      如果你在Windows系統(tǒng)上,你只需把文件的路徑和命令更改成Windows格式。

      DATA: result_file(50VALUE '/tmp/test',
      msg_text(
      50),
      command(
      255VALUE 'ls'.

      OPEN DATASET result_file FOR OUTPUT IN TEXT MODE ENCODING DEFAULT
      FILTER command 
      MESSAGE msg_text.
      CLOSE DATASET result_file.
      DELETE DATASET result_file.  

      如何從應用服務器(Application Server)上檢索到文件列表?

      使用功能模塊“RZL_READ_DIR_LOCAL” 你可以從應用服務器上得到給定的文件目錄中的文件列表。

      下面的代碼范例顯示了如何從當前目錄檢索文件列表。

      DATA: lv_fdir TYPE pfeflnamel VALUE '.',
      it_files 
      LIKE salfldir OCCURS 0 WITH HEADER LINE.

      CALL FUNCTION 'RZL_READ_DIR_LOCAL'
        
      EXPORTING
          name     = lv_fdir
        
      TABLES
          file_tbl = it_files.

      LOOP AT it_files.
        
      WRITE: / it_files-name.
      ENDLOOP.  




















        本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多