字段输入值比屏幕字段 ABAP 长

Field input value is longer than screen field ABAP

我的批量输入有点问题。当 运行 BATCH INPUT 由于程序类型 ABAP 我收到下一个错误: 现场 BKPF-BLART。输入值比屏幕字段 P

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 并更改我的变量 CHAR2 的数据类型 BLART

您传递的参数不是您想的那样,而是恰好是您的参数名称的字符序列。

应该这样做(参数名称不带引号)。

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.