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

validating one field based on another

Former Member
0 Likes
812

Hi.

I have freshly started with ABAP programming.Inside an RFC--OUTBOUND_SHIPLIST I need to validate a field called "shipment number" which is TKNUM in R/3 in side table shipment list so that only those shipment number(TKNUM) are displayed for which "material source location" is APL. I think the source location is LGORT in R/3. Please help me out how to do this validation in R/3.

Thanks & Regards,

Reinuka Paul.

3 REPLIES 3
Read only

former_member156446
Active Contributor
0 Likes
689

if table-LGORT = 'APL'.

check and do ur validation.

endif.

Read only

0 Likes
689

Hi

i have a webusserid which has been provided DAGs * and APL for werks=0366 by the security. i need to do coding so that If one DAG has * and the other has APL, the APL value is considered instead of *.so i have done the below given coding.but its not working please suggest me where i need to make changes.i need those shipments should come automatically when i login with this webuser which has been provided DAGs =APL in R/3.

FORM rfc_get_outbound_shiplist

TABLES

shipment_list STRUCTURE yweb_shipment_list

USING

value(webuser) TYPE sy-uname

value(company_code) LIKE t001-bukrs

value(werks) TYPE werks_d

value(vdatu_from) LIKE likp-wadat

value(vdatu_to) LIKE likp-wadat

value(kunnr) LIKE kna1-kunnr

value(matnr) LIKE mara-matnr

value(vbeln_vl) LIKE vttk-tknum

CHANGING

value(return_msg) LIKE yweb_s_message.

internal tables:

  • Shipment List Table

DATA:

BEGIN OF i_shipment_list OCCURS 0,

tknum_vttk LIKE yweb_del_view-tknum_vttk, "Shipment #

vbeln_likp LIKE yweb_del_view-vbeln_likp, " Deliv #

lgort LIKE yweb_del_view-lgort, storage location

END OF i_shipment_list.

DATA : ltb_values LIKE usvalues occurs 0 with header line .

TYPES: BEGIN OF ty_lgort,

lgort TYPE t001l-lgort,

END OF ty_lgort.

DATA: tb_lgort TYPE STANDARD TABLE OF ty_lgort,

wa_lgort TYPE ty_lgort.

SELECT * FROM yweb_del_view INTO

CORRESPONDING FIELDS OF TABLE i_shipment_list

WHERE (i_cond_tab) . "i_cond_tab is an internal conditional table.

IF sy-subrc = 0.

CALL FUNCTION 'SUSR_USER_AUTH_FOR_OBJ_GET'

EXPORTING

  • NEW_BUFFERING = 3

  • MANDANT = SY-MANDT

user_name = webuser

sel_object = 'M_MSEG_LGO'

TABLES

values = ltb_values

EXCEPTIONS

user_name_not_exist = 1

not_authorized = 2

internal_error = 3

OTHERS = 4

.

IF sy-subrc = 0.

  • User has authorization in DAGs. Do the authority check.

LOOP at ltb_values where

OBJCT = 'M_MSEG_LGO' and

FIELD = 'WERKS'.

AUTHORITY-CHECK OBJECT 'M_MSEG_LGO'

ID 'ACTVT' FIELD '03'

ID 'WERKS' FIELD WERKS

ID 'LGORT' FIELD i_shipment_list-lgort.

IF sy-subrc <> 0.

  • DELETE i_shipment_list INDEX sy-tabix.

ENDIF.

ENDLOOP.

LOOP AT ltb_values WHERE

objct = 'M_MSEG_LGO' AND

field = 'LGORT'.

IF ltb_values-von = '*'.

CONTINUE.

ELSE.

wa_lgort-lgort = ltb_values-von.

APPEND wa_lgort TO tb_lgort.

ENDIF.

ENDLOOP.

ENDIF.

TYPES: ty_delivery TYPE yweb_shipment_list.

TYPES: BEGIN OF ty_vbeln,

vbeln TYPE likp-vbeln,

lgort TYPE t001l-lgort,

tknum type vttk-tknum,

END OF ty_vbeln.

DATA : tb_delivery_vbeln TYPE STANDARD TABLE OF ty_delivery .

DATA: tb_vbeln TYPE STANDARD TABLE OF ty_vbeln,

wa_vbeln TYPE ty_vbeln.

IF tb_delivery_vbeln[] IS NOT INITIAL.

SELECT vbeln lgort

FROM vepo

INTO TABLE tb_vbeln

FOR ALL ENTRIES IN tb_delivery_vbeln

WHERE vbeln = tb_delivery_vbeln-vbeln_likp.

SELECT tknum FROM vtts INTO TABLE tb_vbeln FOR ALL ENTRIES IN

tb_delivery_vbeln WHERE tknum = tb_delivery_vbeln-tknum .

SORT tb_vbeln BY lgort.

DELETE ADJACENT DUPLICATES FROM tb_vbeln.

IF tb_lgort[] IS NOT INITIAL.

LOOP AT tb_vbeln INTO wa_vbeln where lgort = 'APL'.

l_tabix = sy-tabix.

READ TABLE tb_lgort INTO wa_lgort WITH KEY lgort =

wa_vbeln-lgort.

IF sy-subrc <> 0.

DELETE tb_vbeln INDEX l_tabix.

ENDIF.

ENDLOOP.

ENDIF.

ENDIF.

Thanks & Regards,

Reinuka.

Edited by: Reinuka Paul on Jul 7, 2008 8:03 PM

Read only

Former Member
0 Likes
689

You could go to the screens where these fields are used, use the F1 Function Key to get the Technical Information.