2015-12-15 338 views
2

我有一個批量輸入的小問題。從程序類型ABAP運行BATCH INPUT時,我收到下一個錯誤: 字段BKPF-BLART。輸入值長於屏幕指示區P字段輸入值比屏幕字段長ABAP

PARAMETERS: 
    p_bldat TYPE CHAR10, "Fecha de documento. 
    p_budat TYPE CHAR10, "Fecha de contabilización. 
    p_xblnr TYPE XBLNR, "Referencia. 
    p_bktxt TYPE BKTXT, "Texto cabecera. 
    p_blart TYPE BLART, "Clase. 
    ........... 

    PERFORM OPEN_GROUP. 
    PERFORM BDC_DYNPRO USING 'SAPMF05A' '0100'. 
     PERFORM BDC_FIELD USING 'BKPF-BLDAT' 'p_bldat'. 
     PERFORM BDC_FIELD USING 'BKPF-BUDAT' 'p_budat'. 
     PERFORM BDC_FIELD USING 'BKPF-XBLNR' 'p_xblnr'. 
     PERFORM BDC_FIELD USING 'BKPF-BKTXT' 'p_bktxt'. 
     PERFORM BDC_FIELD USING 'BKPF-BLART' 'p_blart'. 
     PERFORM BDC_FIELD USING 'BKPF-MONAT' 'p_monat'. 
    ...... 

我試圖利用判決CONDENSE和改變數據我VAR BLARTCHAR2的類型。

回答

2

你沒有像你想的那樣傳遞參數,而是恰好是你參數名稱的字符序列。

它應該這樣做(不帶引號的參數名稱)。

PERFORM BDC_FIELD USING 'BKPF-BLDAT' p_bldat. 
PERFORM BDC_FIELD USING 'BKPF-BUDAT' p_budat. 
PERFORM BDC_FIELD USING 'BKPF-XBLNR' p_xblnr. 
PERFORM BDC_FIELD USING 'BKPF-BKTXT' p_bktxt. 
PERFORM BDC_FIELD USING 'BKPF-BLART' p_blart. 
PERFORM BDC_FIELD USING 'BKPF-MONAT' p_monat. 
+0

準備就緒,這是問題的感謝。但現在我只有一個問題,使用'PERFORM BDC_FIELD USING'BSEG-WRBTR'p_wrbtr'。 – user3680708

+0

你現在得到的錯誤信息是什麼? – Jagger

+0

字段BSEG-WRBTR。輸入值比屏幕更長 – user3680708