‎2007 Jul 09 5:27 PM
hi all,
i am updating data base from xl file.
in xl file i have 5 fileds.
but 3 fileds have the field values i uploded that file and update ddatabase.
it uploded fine.
but now in xl file i got 2 other filed values i want to update that 2 values.
i used update dbtable.
but i am not getting correct
tell me the syntax for update.
‎2007 Jul 09 5:30 PM
Hello,
Check the abap documentation or this.
PARAMETERS: table(30) TYPE c,
column(30) TYPE c,
old_curr TYPE sycurr.
DATA: set_expr TYPE string,
condition TYPE string.
CONCATENATE column ` = 'EUR'`
INTO set_expr.
CONCATENATE column ` = old_curr`
INTO condition.
TRY.
UPDATE (table)
SET (set_expr)
WHERE (condition).
CATCH cx_sy_dynamic_osql_error.
MESSAGE `Error in update!` TYPE 'I'.
ENDTRY.
bye
gabriel
‎2007 Jul 09 5:36 PM
DATA : BEGIN OF INPUT_REC OCCURS 0,
VBELN LIKE ZSTIOD-VBELN,
DEPOSITO(4) TYPE C,
DATAINS1 LIKE ZSTIOD-DATAINS1,
ERDAT1 LIKE ZSTIOD-ERDAT1,
P_DATAINS2 LIKE ZSTIOD-DATAINS2,
P_ERDAT2 LIKE ZSTIOD-ERDAT2,
P_RFCODE LIKE ZSTIOD-RFCODE,
END OF INPUT_REC.
this is my file fields.
LOOP AT INPUT_REC.
CLEAR ZSTIOD.
VBELN
NUMBER = INPUT_REC-VBELN.
CONCATENATE C_00 NUMBER INTO NUMBER.
SELECT SINGLE
VBELN
INTO CORRESPONDING FIELDS OF LIKP
FROM LIKP
WHERE VBELN = NUMBER.
IF sy-subrc NE 0.
MESSAGE E003.
ELSE.
ZSTIOD-VBELN = NUMBER.
ZSTIOD-DEPOSITO = INPUT_REC-DEPOSITO.
ZSTIOD-DATAINS1 = INPUT_REC-DATAINS1.
IF NOT INPUT_REC-ERDAT1 IS INITIAL
AND input_rec-p_erdat2 IS
initial.
ZSTIOD-STATODOC = '06'.
ELSEIF INPUT_REC-ERDAT1 IS INITIAL AND
NOT input_rec-p_erdat2 IS
INITIAL.
ZSTIOD-STATODOC = '07'.
ELSEIF NOT INPUT_REC-ERDAT1 IS INITIAL AND NOT
input_rec-p_erdat2
IS INITIAL.
ZSTIOD-STATODOC = '08'.
ELSEIF INPUT_REC-ERDAT1 IS INITIAL AND
INPUT_REC-P_ERDAT2 IS
INITIAL.
ZSTIOD-STATODOC = '09'.
ENDIF.
ZSTIOD-ERDAT1 = INPUT_REC-ERDAT1.
ZSTIOD-DATAINS2 = INPUT_REC-P_DATAINS2.
ZSTIOD-ERDAT2 = INPUT_REC-P_ERDAT2.
ZSTIOD-RFCODE = INPUT_REC-P_RFCODE.
READ TABLE LOAD_DATA WITH KEY VBELN = NUMBER.
IF SY-SUBRC EQ 0.
WRITE 😕 'THIS DELIVERY NO IS ALREADY IN THIS TABLE',
/3 ZSTIOD-VBELN.
MESSAGE I008 WITH 'NUMBER'.
PERFORM POP_UP_CONFIRMATION
CHANGING P_ANSWER.
ELSE.
MODIFY ZSTIOD.
ENDIF.
IF P_ANSWER = '1'. " 'Yes'
UPDATE ZSTIOD. here how can write syntax.>>>>>>>>>>>........
if sy-subrc EQ 0.
MESSAGE I006.
else.
MESSAGE I007.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
ENDFORM.
first i uploded the table by using 4 fields.
then i want to update other 2 fileds.
for that one i fetched the data from that table and compred with vbeln.
if vbeln = input file vbeln.
in that case i want to update the data base.
how can proceed
‎2007 Jul 09 5:45 PM
Hi
UPDATE ZSTIOD WHERE <USE THE KEY IN ORDER TO FIND THE RIGTH FILED>
BYE
GABRIEL