Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

validation(urgent)

Former Member
0 Likes
526

Hi All,

My requirement is to update or add new record to z table.

I have to implose validation rule on specific fields.

For eg.

Consider,

Table - ZVARASTO.

Primary key field - VARASTO.

Field on which to impose validation - WERKS.

Rule is --- use check table T001W when checking the input and updating DB.

This is the code which im using for updating the record

UPDATE zvarasto SET varastonimi = zvarasto-varastonimi

werks = zvarasto-werks

lgort = zvarasto-lgort

nipkaa_kuvaan = zvarasto-nipkaa_kuvaan

kuljma_kuvaan = zvarasto-kuljma_kuvaan

kauptltiedot = zvarasto-kauptltiedot

ktinventointi = zvarasto-ktinventointi

kunnr = zvarasto-kunnr

laadutusvots = zvarasto-laadutusvots

WHERE varasto = zvarasto-varasto.

So where should i in clude this particular validation.

Please help me with same.

Thanks in Advance,

Amruta.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
507

select single werks

from T001W

into w_werks

where werks eq zvarasto-werks.

if sy-subrc eq 0.

UPDATE zvarasto SET varastonimi = zvarasto-varastonimi

werks = zvarasto-werks

lgort = zvarasto-lgort

nipkaa_kuvaan = zvarasto-nipkaa_kuvaan

kuljma_kuvaan = zvarasto-kuljma_kuvaan

kauptltiedot = zvarasto-kauptltiedot

ktinventointi = zvarasto-ktinventointi

kunnr = zvarasto-kunnr

laadutusvots = zvarasto-laadutusvots

WHERE varasto = zvarasto-varasto.

endif.

if werks is a selection-screen field then you can give the select in AT SELECTION-SCREEN on S_WERKS. " selection-option/parameter s_werks.

Message was edited by:

Jyothi

4 REPLIES 4
Read only

former_member386202
Active Contributor
0 Likes
507

Hi,

First select data into internal table which field u want to update n then loop on that intarnal table n update.

Just refer this code.

&----


*& Form SUB_READ_UPDATE_BSEG

&----


  • text

----


FORM sub_read_update_bseg.

IF NOT it_final[] IS INITIAL.

LOOP AT it_final INTO wa_final.

UPDATE bseg SET zuonr = wa_final-ccnum

WHERE bukrs EQ wa_final-bukrs

AND belnr EQ wa_final-vbeln

AND rfzei EQ wa_final-rfzei

AND saknr NE ' '.

ENDLOOP.

*--Message data updated successfully

MESSAGE i888 WITH text-002.

LEAVE LIST-PROCESSING.

ELSE.

*--Message No data found

MESSAGE i888 WITH text-003.

LEAVE LIST-PROCESSING.

ENDIF.

ENDFORM. " SUB_READ_UPDATE_BSEG

Regards,

Prashant

Read only

Former Member
0 Likes
508

select single werks

from T001W

into w_werks

where werks eq zvarasto-werks.

if sy-subrc eq 0.

UPDATE zvarasto SET varastonimi = zvarasto-varastonimi

werks = zvarasto-werks

lgort = zvarasto-lgort

nipkaa_kuvaan = zvarasto-nipkaa_kuvaan

kuljma_kuvaan = zvarasto-kuljma_kuvaan

kauptltiedot = zvarasto-kauptltiedot

ktinventointi = zvarasto-ktinventointi

kunnr = zvarasto-kunnr

laadutusvots = zvarasto-laadutusvots

WHERE varasto = zvarasto-varasto.

endif.

if werks is a selection-screen field then you can give the select in AT SELECTION-SCREEN on S_WERKS. " selection-option/parameter s_werks.

Message was edited by:

Jyothi

Read only

0 Likes
507

Thanx Jyothi.

Read only

Former Member
0 Likes
507

Hi

1st send that data to the internal table and use MODIFY ztable with internal table statement

then you table will update

or

PARAMETERS: p_carrid TYPE sflight-carrid,

percent(1) TYPE p DECIMALS 0.

DATA sflight_tab TYPE TABLE OF sflight.

FIELD-SYMBOLS <sflight> TYPE sflight.

SELECT *

FROM sflight

INTO TABLE sflight_tab

WHERE carrid = p_carrid AND

fldate = sy-datum.

IF sy-subrc = 0.

LOOP AT sflight_tab ASSIGNING <sflight>.

<sflight>-price =

<sflight>-price * ( 1 - percent / 100 ).

ENDLOOP.

ENDIF.

UPDATE sflight FROM TABLE sflight_tab.