‎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.
‎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