我得到了一个“字段”ZCRM_MLS2是未知的错误。在23号线。你们知道吗?提前谢谢。
REPORT zcrm_mls_program2.
DATA: lv_name_surname TYPE zcrm_dt_ml2,
lv_age TYPE zcrm_dt_ml1,
lv_done TYPE xfeld,
lt_alldata TYPE zcrm_mls2,
ls_data TYPE zcrm_mls2 .
SELECT * FROM zcrm_mls2
WHERE done IS INITIAL INTO @lt_alldata.
ENDSELECT.
IF sy-subrc is INITIAL .
MODIFY zcrm_mls3 FROM lt_alldata.
LOOP at zcrm_mls2 INTO ls_data. " <==== line number 23
ls_data-done = 'X'.
MODIFY zcrm_mls3 FROM ls_data.
ENDLOOP.
ENDIF.发布于 2022-04-15 07:13:45
只是为了好玩
REPORT zcrm_mls_program2.
DATA: lt_alldata TYPE STANDARD TABLE OF zcrm_mls2 WITH EMPTY KEY,
ls_data TYPE zcrm_mls2.
*----------------------------------------------------------------------*
*1st version
SELECT * FROM zcrm_mls2
WHERE done = @space INTO @ls_data.
APPEND ls_data TO lt_alldata.
ENDSELECT.
IF sy-subrc IS INITIAL .
LOOP AT lt_alldata INTO ls_data.
ls_data-done = 'X'.
MODIFY zcrm_mls3 FROM ls_data.
ENDLOOP.
COMMIT WORK.
ENDIF.
*----------------------------------------------------------------------*
*2nd version
SELECT *
FROM zcrm_mls2
INTO TABLE @lt_alldata
WHERE done = @space
.
IF sy-subrc IS INITIAL .
LOOP AT lt_alldata INTO ls_data.
ls_data-done = 'X'.
MODIFY zcrm_mls3 FROM ls_data.
ENDLOOP.
COMMIT WORK.
ENDIF.
*----------------------------------------------------------------------*
*3rd version
SELECT *
FROM zcrm_mls2
INTO TABLE @lt_alldata
WHERE done = @space
.
IF sy-subrc IS INITIAL .
LOOP AT lt_alldata INTO ls_data.
ls_data-done = 'X'.
MODIFY lt_alldata INDEX sy-tabix FROM ls_data .
ENDLOOP.
MODIFY zcrm_mls3 FROM TABLE lt_alldata.
COMMIT WORK.
ENDIF.
*----------------------------------------------------------------------*
*4th version
SELECT *
FROM zcrm_mls2
INTO TABLE @lt_alldata
WHERE done = @space
.
IF sy-subrc IS INITIAL .
LOOP AT lt_alldata REFERENCE INTO DATA(lps_data).
lps_data->done = 'X'.
ENDLOOP.
MODIFY zcrm_mls3 FROM TABLE lt_alldata.
COMMIT WORK.
ENDIF.
*----------------------------------------------------------------------*
*5th version
SELECT *
FROM zcrm_mls2
INTO TABLE @lt_alldata
WHERE done = @space
.
IF sy-subrc IS INITIAL .
MODIFY lt_alldata FROM VALUE #( done = 'X' ) TRANSPORTING done WHERE done = space.
MODIFY zcrm_mls3 FROM TABLE lt_alldata.
COMMIT WORK.
ENDIF.https://stackoverflow.com/questions/71855451
复制相似问题