2009 Jul 16 7:37 AM
Hi,
In the below code i am using an option input on ,where the user has to give the inputs manually.
After giving the input,if i give save the values which are fetched from itab are saved in ztable.
wa_new-idrum1 which is given by user is not saving in ztable.
Suggest some ideas.
Regards,
Bathri.
LOOP AT IT_NEW INTO WA_NEW.
SKIP.
WRITE : / SY-TABIX,
WA_NEW-MATNR,
WA_NEW-MENGE LEFT-JUSTIFIED,
40 WA_NEW-IDRUM1 LEFT-JUSTIFIED INPUT ON.
ENDLOOP.
SET PF-STATUS 'ZWORK'.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SAVE'.
LOOP AT IT_NEW INTO WA_NEW.
MOVE : WA_NEW-MATNR TO ZWORK-MATNR,
WA_NEW-MENGE TO ZWORK-MENGE,
WA_NEW-IDRUM1 TO ZWORK-IDRUM1.
MODIFY ZWORK.
ENDLOOP.
ENDCASE.
2009 Jul 16 8:15 AM
Cause the internal table is not modified at list when user enter the values no update of ztable done. To correct try something like following
DATA: BEGIN OF IT_NEW OCCURS 100,
MATNR TYPE MATNR,
MENGE TYPE MENGE_D,
IDRUM1 TYPE CHAR20,
END OF IT_NEW.
DATA WA_NEW LIKE LINE OF IT_NEW.
DATA MENGE TYPE CHAR20.
START-OF-SELECTION.
SELECT * FROM MSEG UP TO 60 ROWS
APPENDING CORRESPONDING FIELDS OF TABLE IT_NEW.
LOOP AT IT_NEW INTO WA_NEW.
SKIP.
WRITE : / SY-TABIX,
WA_NEW-MATNR,
WA_NEW-MENGE LEFT-JUSTIFIED,
40 WA_NEW-IDRUM1 LEFT-JUSTIFIED INPUT ON.
ENDLOOP.
SET PF-STATUS 'ZWORK'.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SAVE'.
DO.
CLEAR: ZWORK,MENGE.
READ LINE SY-INDEX
FIELD VALUE WA_NEW-MATNR INTO ZWORK-MATNR
WA_NEW-MENGE INTO MENGE
WA_NEW-IDRUM1 INTO ZWORK-IDRUM1.
IF SY-SUBRC NE '0'.
EXIT.
ENDIF.
DO.
REPLACE '.' WITH '' INTO MENGE.
IF SY-SUBRC NE '0'.
EXIT.
ENDIF.
ENDDO.
REPLACE ',' WITH '.' INTO MENGE.
CONDENSE MENGE NO-GAPS.
ZWORK-MENGE = MENGE.
IF ZWORK-MATNR IS NOT INITIAL.
MODIFY ZWORK.
ENDIF.
ENDDO.
ENDCASE.
Cause the internal table is not modified at list when user enter the values no update of ztable done. To correct try something like following
DATA: BEGIN OF IT_NEW OCCURS 100,
MATNR TYPE MATNR,
MENGE TYPE MENGE_D,
IDRUM1 TYPE CHAR20,
END OF IT_NEW.
DATA WA_NEW LIKE LINE OF IT_NEW.
DATA MENGE TYPE CHAR20.
START-OF-SELECTION.
SELECT * FROM MSEG UP TO 60 ROWS
APPENDING CORRESPONDING FIELDS OF TABLE IT_NEW.
LOOP AT IT_NEW INTO WA_NEW.
SKIP.
WRITE : / SY-TABIX,
WA_NEW-MATNR,
WA_NEW-MENGE LEFT-JUSTIFIED,
40 WA_NEW-IDRUM1 LEFT-JUSTIFIED INPUT ON.
ENDLOOP.
SET PF-STATUS 'ZWORK'.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SAVE'.
DO.
CLEAR: ZWORK,MENGE.
READ LINE SY-INDEX
FIELD VALUE WA_NEW-MATNR INTO ZWORK-MATNR
WA_NEW-MENGE INTO MENGE
WA_NEW-IDRUM1 INTO ZWORK-IDRUM1.
IF SY-SUBRC NE '0'.
EXIT.
ENDIF.
DO.
REPLACE '.' WITH '' INTO MENGE.
IF SY-SUBRC NE '0'.
EXIT.
ENDIF.
ENDDO.
REPLACE ',' WITH '.' INTO MENGE.
CONDENSE MENGE NO-GAPS.
ZWORK-MENGE = MENGE.
IF ZWORK-MATNR IS NOT INITIAL.
MODIFY ZWORK.
ENDIF.
ENDDO.
ENDCASE.
2009 Jul 16 8:15 AM
Cause the internal table is not modified at list when user enter the values no update of ztable done. To correct try something like following
DATA: BEGIN OF IT_NEW OCCURS 100,
MATNR TYPE MATNR,
MENGE TYPE MENGE_D,
IDRUM1 TYPE CHAR20,
END OF IT_NEW.
DATA WA_NEW LIKE LINE OF IT_NEW.
DATA MENGE TYPE CHAR20.
START-OF-SELECTION.
SELECT * FROM MSEG UP TO 60 ROWS
APPENDING CORRESPONDING FIELDS OF TABLE IT_NEW.
LOOP AT IT_NEW INTO WA_NEW.
SKIP.
WRITE : / SY-TABIX,
WA_NEW-MATNR,
WA_NEW-MENGE LEFT-JUSTIFIED,
40 WA_NEW-IDRUM1 LEFT-JUSTIFIED INPUT ON.
ENDLOOP.
SET PF-STATUS 'ZWORK'.
AT USER-COMMAND.
CASE SY-UCOMM.
WHEN 'SAVE'.
DO.
CLEAR: ZWORK,MENGE.
READ LINE SY-INDEX
FIELD VALUE WA_NEW-MATNR INTO ZWORK-MATNR
WA_NEW-MENGE INTO MENGE
WA_NEW-IDRUM1 INTO ZWORK-IDRUM1.
IF SY-SUBRC NE '0'.
EXIT.
ENDIF.
DO.
REPLACE '.' WITH '' INTO MENGE.
IF SY-SUBRC NE '0'.
EXIT.
ENDIF.
ENDDO.
REPLACE ',' WITH '.' INTO MENGE.
CONDENSE MENGE NO-GAPS.
ZWORK-MENGE = MENGE.
IF ZWORK-MATNR IS NOT INITIAL.
MODIFY ZWORK.
ENDIF.
ENDDO.
ENDCASE.
2009 Jul 16 10:28 AM
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |