2014-03-26 44 views
-1

我正在嘗試使用我將從BD提取的信息創建一個新文件。ABAP OPEN DATASET and TRANSFER

CONCATENATE cdf ndf 
INTO cdf. 

OPEN DATASET cdf for APPENDING IN LEGACY TEXT MODE WITH SMART LINEFEED. 
    IF sy-subrc = 0. 
     TRANSFER wa_es_tabt TO ndf. 
     CLOSE DATASET cdf. 
    ENDIF. 

CDF =我的名字的文件,用戶就會把

NDF的路徑=該名稱的用戶將會把

wa_es_tabt =我打算保存爲TXT DB信息。

sy-subrc始終是8,文件未打開...爲什麼?

感謝...

+2

試圖打開文件時,「cdf」的內容是什麼?什麼是應用程序服務器的操作系統? – vwegert

回答

0

我沒有解決我的問題,這是我的計劃,以創建一個保存在ABAP一個txt文件的例子。

FORM g_fich TABLES dt_es_tab STRUCTURE es_tabd 
      USING str  TYPE string 
         str1  TYPE string. 

    CONCATENATE cdf ndf '.txt' 
    INTO str. 
    CONCATENATE 'Parceiro' 'Conta Contrato' 'Conttrato' 'Nome' 'Morada' 
    INTO str1 
    SEPARATED BY space. 

    OPEN DATASET str FOR APPENDING IN TEXT MODE ENCODING DEFAULT WITH SMART LINEFEED . 

    IF sy-subrc = 0. 
    LOOP AT dt_es_tab INTO wa_es_tabt. 

     IF cont = 0. 
     TRANSFER str1 TO str. 
     cont = 2. 
     ENDIF. 

     TRANSFER wa_es_tabt TO str. 
    ENDLOOP. 
    ENDIF. 

    CLOSE DATASET str. 

ENDFORM.     " G_FIC 

CDF =我的名字的文件,用戶就會把

NDF路徑=名字的用戶將放置

wa_es_tabt =從BD數據,我打算保存爲TXT 。

與舊的問題是,我打算創建一個沒有擴展名的新文件,如「.txt」和 我試圖打開一個文件只是他的名字。

謝謝...

0

呃...那不是重點。您必須在OPEN DATASETTRANSFER聲明中使用相同的目的地。

如:

OPEN DATASET abc FOR OUTPUT/APPENDING. 
TRANSFER <whatever_you_want> TO abc. 

在你的第一個例子中,你不得不爲cdf在打開的數據集,但轉移到ndf這是不打開傳送的。

後面的示例僅適用於因爲您同時使用OPEN DATASETTRANSFER兩個時間的目標變量str