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

SAP Table

0 Likes
401

Hi all,

I need information regarding screen elements.

Screen elements are stored in D021T table but i need the table where its attributes are stored.

Points wiil be rewarded...

Thanks & Regards,

Santosh

1 REPLY 1
Read only

SantoshKallem
Active Contributor
0 Likes
335

structure: DD03P

try this program

&----


*& Report ZSAN_DOWNLOAD_TABLE_FIELDS

*&

&----


*&

*&

&----


report zsan_download_table_fields.

*======================================================================

  • Tables

*======================================================================

tables: dd03p,dd02v,dd02l,dd09l.

*======================================================================

  • Internal Tables

*======================================================================

data begin of ddtb.

include structure dd03p.

data: mark(1),

actf(1).

data end of ddtb.

data: dd12 type standard table of dd12v with header line,

t_tab type standard table of rpy_fiel_u with header line,

t_dd02l type standard table of dd02l with header line,

ddxx type standard table of dd02v with header line,

ddxx2 type standard table of dd09l with header line,

ddtb_tab like ddtb occurs 0 with header line,

dd12v_tab type standard table of dd12v with header line.

data: doma_inf type standard table of rpy_doma with header line,

doma_values type standard table of rpy_dval with header line,

w_domname like dd01l-as4local.

data: dtel_inf type standard table of rpy_dtel with header line,

docu_table_user type standard table of rpy_objtab with header line

,

w_as4local like dd01l-as4local.

data: t_dd09l type standard table of dd09l with header line,

w_as4local_de like dd04l-as4local.

*======================================================================

  • Variables

*======================================================================

data:

got_state like dcobjif-gotstate,

objname like rsdeo-objname,

long type i,

one like pcfile-drive,

two like pcfile-path,

filepath(128) type c,

elemname(128) type c,

domname(128) type c,

dataname(128) type c,

techname(128) type c,

docu like rglif-with_docu,

docutype like rglif-docutype,

language like sy-langu,

activation like dd01l-as4local,

ok type c,

objname_n like rsedd0-ddobjname,

objtype_n like rsedd0-ddobjtype.

data: begin of t_data occurs 0.

include structure bdcdata.

data: end of t_data.

*=======================================================================

  • Selection screen

*=======================================================================

selection-screen begin of block data with frame title text-t01.

parameters:

tabnam(128) type c,

function(1) type c obligatory,

listname like rlgrap-filename.

selection-screen end of block data.

selection-screen begin of block data2 with frame title text-t02.

parameters:

devclass like rglif-devclass obligatory.

selection-screen end of block data2.

*======================================================================

  • At Selection Screen

*======================================================================

at selection-screen on value-request for listname.

perform get_filename changing listname.

*======================================================================

  • Start-of-Selection

*======================================================================

start-of-selection.

perform load_data.

----


  • FORM LOAD_DATA *

----


  • Load the data from the source files. *

----


form load_data.

data: w_file like pcfile-path.

w_file = listname.

call function 'PC_SPLIT_COMPLETE_FILENAME'

exporting

complete_filename = w_file

importing

drive = one

path = two

exceptions

invalid_drive = 1

invalid_extension = 2

invalid_name = 3

invalid_path = 4

others = 5.

concatenate one ':' two into filepath.

select single tabname tabclass

into (t_dd02l-tabname,t_dd02l-tabclass)

from dd02l

where tabname eq tabnam.

objname = tabnam.

concatenate filepath objname '_ELEMENTS.txt' into elemname.

concatenate filepath objname '_DOMAINS.txt' into domname.

concatenate filepath objname '_DATAELEMENTS.txt' into dataname.

concatenate filepath objname '_TECHNICAL.txt' into techname.

concatenate filepath objname '.txt' into filepath.

ddxx-tabname = tabnam.

ddxx-tabclass = '$TMP'.

ddxx-ddlanguage = 'S'.

activation = 'M'.

ddxx2-tabname = tabnam.

got_state = 'A'.

*===============================================================

  • Download Process.

*===============================================================

if function eq 'D'.

select single tabname tabart tabkat

into (t_dd09l-tabname,t_dd09l-tabart,t_dd09l-tabkat)

from dd09l

where tabname eq objname.

append t_dd09l.

perform fill_technicals.

call function 'DDIF_TABL_GET'

exporting

name = objname

state = 'M'

langu = sy-langu

importing

gotstate = got_state

dd02v_wa = ddxx

dd09l_wa = ddxx2

tables

dd03p_tab = ddtb_tab

dd12v_tab = dd12v_tab

exceptions

illegal_input = 1.

clear ddtb_tab.

sort ddtb_tab.

loop at ddtb_tab.

if ddtb_tab-domname ne space.

call function 'RPY_DOMAIN_READ'

exporting

doma_name = ddtb_tab-domname

activation_type_i = 'M'

language = sy-langu

with_docu = ' '

docutype = 'U'

importing

doma_inf = doma_inf

activation_type_o = activation

tables

doma_values = doma_values

exceptions

cancelled = 1

not_found = 2

permission_error = 3

illegal_type = 4.

append doma_inf.

else.

clear doma_inf.

move-corresponding ddtb_tab to doma_inf.

move ddtb_tab-leng to doma_inf-length.

append doma_inf.

endif.

if ddtb_tab-rollname ne space.

call function 'RPY_DATAELEMENT_READ'

exporting

activation_type_i = 'M'

dataelement_name = ddtb_tab-rollname

language = sy-langu

with_docu = ' '

docutype = 'U'

importing

dtel_inf = dtel_inf

activation_type_o = activation

tables

docu_table_user = docu_table_user.

append dtel_inf.

else.

clear dtel_inf.

move-corresponding ddtb_tab to dtel_inf.

append dtel_inf.

endif.

endloop.

perform fill_list.

perform fill_elems.

perform fill_domains.

perform fill_dataelems.

endif.

*===============================================================

  • Upload Process.

*===============================================================

if function eq 'U'.

perform load_table.

perform load_element.

perform load_domains.

perform load_dataelems.

perform load_technicals.

read table ddxx index 1.

read table t_dd09l index 1.

call function 'DDIF_TABL_PUT'

exporting

name = objname

dd02v_wa = ddxx

dd09l_wa = t_dd09l

tables

dd03p_tab = ddtb_tab

exceptions

tabl_not_found = 1

name_inconsistent = 2

tabl_inconsistent = 3

put_failure = 4

put_refused = 5

others = 6.

clear doma_inf.

loop at doma_inf where domaname ne space.

call function 'RPY_DOMAIN_INSERT'

exporting

doma_name = doma_inf-domaname

doma_inf = doma_inf

language = sy-langu

transport_number = ''

development_class = devclass

with_docu = ' '

docutype = 'T'

tables

doma_values = doma_values

exceptions

cancelled = 1

already_exist = 2

permission_error = 3

name_not_allowed = 4

name_conflict = 5

internal_error = 6.

endloop.

loop at dtel_inf where dtelname ne space.

call function 'RPY_DATAELEMENT_INSERT'

exporting

dataelement_name = dtel_inf-dtelname

dtel_inf = dtel_inf

language = sy-langu

with_docu = ' '

docutype = 'T'

development_class = devclass

transport_number = ''

tables

docu_table_user = docu_table_user

exceptions

cancelled

already_exist = 1

permission_error = 2

name_not_allowed = 3

name_conflict = 4

illegal_type = 5

object_inconsistent = 6

db_access_error = 7.

endloop.

*===============================================================

  • Activation Process.

*===============================================================

loop at doma_inf where domaname ne space.

select single as4local from dd01l into w_as4local

where domname eq doma_inf-domaname.

if w_as4local ne 'A'.

perform activate_domains.

endif.

endloop.

loop at dtel_inf where dtelname ne space.

select single as4local from dd04l into w_as4local_de

where rollname eq dtel_inf-dtelname.

if w_as4local_de ne 'A'.

perform activate_elems.

endif.

endloop.

perform activate_techs.

perform activation_table.

endif.

endform. "LOAD_DATA

----


  • FORM GET_FILENAME *

----


  • Transform the path of the files. *

----


form get_filename changing listname.

call function 'WS_FILENAME_GET'

exporting

def_filename = listname

def_path = 'C:\downloads\list'

mask = ',.,.. '

mode = 'S'

title = 'Save in'

importing

filename = listname

exceptions

inv_winsys = 1

no_batch = 2

selection_cancel = 3

selection_error = 4

others = 5.

endform. "GET_FILENAME

----


  • FORM FILL_LIST *

----


  • Fields and attributes of the table. *

----


form fill_list.

call function 'WS_DOWNLOAD'

exporting

filename = filepath

filetype = 'ASC'

tables

data_tab = ddtb_tab

exceptions

file_open_error = 1

file_write_error = 02

invalid_filesize = 03

invalid_table_width = 04

invalid_type = 05

no_batch = 06

unknown_error = 07.

endform. "FILL_LIST

----


  • FORM FILL_ELEMS *

----


  • Technical Elements. *

----


form fill_elems.

append ddxx.

call function 'WS_DOWNLOAD'

exporting

filename = elemname

filetype = 'ASC'

tables

data_tab = ddxx

exceptions

file_open_error = 1

file_write_error = 02

invalid_filesize = 03

invalid_table_width = 04

invalid_type = 05

no_batch = 06

unknown_error = 07.

endform. "FILL_ELEMS

----


  • FORM FILL_DOMAINS *

----


  • Domains. *

----


form fill_domains.

call function 'WS_DOWNLOAD'

exporting

filename = domname

filetype = 'ASC'

tables

data_tab = doma_inf

exceptions

file_open_error = 1

file_write_error = 02

invalid_filesize = 03

invalid_table_width = 04

invalid_type = 05

no_batch = 06

unknown_error = 07.

endform. "FILL_DOMAINS

----


  • FORM FILL_DATAELEMS *

----


  • DATA ELEMENTS. *

----


form fill_dataelems.

append dtel_inf.

call function 'WS_DOWNLOAD'

exporting

filename = dataname

filetype = 'ASC'

tables

data_tab = dtel_inf

exceptions

file_open_error = 1

file_write_error = 02

invalid_filesize = 03

invalid_table_width = 04

invalid_type = 05

no_batch = 06

unknown_error = 07.

endform. "FILL_DATAELEMS

----


  • FORM FILL_TECHNICALS *

----


  • Technical Options. *

----


form fill_technicals.

call function 'WS_DOWNLOAD'

exporting

filename = techname

filetype = 'ASC'

tables

data_tab = t_dd09l

exceptions

file_open_error = 1

file_write_error = 02

invalid_filesize = 03

invalid_table_width = 04

invalid_type = 05

no_batch = 06

unknown_error = 07.

endform. "FILL_TECHNICALS

----


  • FORM LOAD_TABLE *

----


  • Upload Fields and attributes. *

----


form load_table.

call function 'WS_UPLOAD'

exporting

codepage = 'IBM'

filename = filepath

filetype = 'ASC'

tables

data_tab = ddtb_tab

exceptions

file_open_error = 1

file_read_error = 2

invalid_type = 3

unknown_error = 4.

endform. "LOAD_TABLE

----


  • FORM LOAD_ELEMENT *

----


  • Upload Technical data. *

----


form load_element.

call function 'WS_UPLOAD'

exporting

codepage = 'IBM'

filename = elemname

filetype = 'ASC'

tables

data_tab = ddxx

exceptions

file_open_error = 1

file_read_error = 2

invalid_type = 3

unknown_error = 4.

endform. "LOAD_ELEMENT

----


  • FORM LOAD_DOMAINS *

----


  • Upload Domains. *

----


form load_domains.

call function 'WS_UPLOAD'

exporting

codepage = 'IBM'

filename = domname

filetype = 'ASC'

tables

data_tab = doma_inf

exceptions

file_open_error = 1

file_read_error = 2

invalid_type = 3

unknown_error = 4.

endform. "LOAD_DOMAINS

----


  • FORM LOAD_DATAELEMS *

----


  • Upload DataElements. *

----


form load_dataelems.

call function 'WS_UPLOAD'

exporting

codepage = 'IBM'

filename = dataname

filetype = 'ASC'

tables

data_tab = dtel_inf

exceptions

file_open_error = 1

file_read_error = 2

invalid_type = 3

unknown_error = 4.

endform. "LOAD_DATAELEMS

----


  • FORM LOAD_TECHNICALS *

----


  • Load technical settings. *

----


form load_technicals.

call function 'WS_UPLOAD'

exporting

codepage = 'IBM'

filename = techname

filetype = 'ASC'

tables

data_tab = t_dd09l

exceptions

file_open_error = 1

file_read_error = 2

invalid_type = 3

unknown_error = 4.

endform. "LOAD_TECHNICALS

----


  • FORM ACTIVATE_DOMAINS *

----


  • Activate Domains. *

----


form activate_domains.

loop at doma_inf.

objname_n = doma_inf-domaname.

call function 'RS_DD_ACTIVATE'

exporting

objname = objname_n

objtype = 'D'

importing

ok = ok.

endloop.

endform. "ACTIVATE_DOMAINS

----


  • FORM ACTIVATE_ELEMS *

----


  • Activate Data Elements. *

----


form activate_elems.

loop at dtel_inf.

objname_n = dtel_inf-dtelname.

call function 'RS_DD_ACTIVATE'

exporting

objname = objname_n

objtype = 'E'

importing

ok = ok.

endloop.

endform. "ACTIVATE_ELEMS

----


  • FORM ACTIVATE_TECHS *

----


  • Activate technical settings. *

----


form activate_techs.

if t_dd09l-tabname ne ' '.

t_data-program = 'SAPMSEDS'.

t_data-dynpro = '0010'.

t_data-dynbegin = 'X'.

append t_data.

clear t_data.

t_data-fnam = 'dd09v-tabname'.

t_data-fval = t_dd09l-tabname.

append t_data.

clear t_data.

t_data-fnam = 'bdc_okcode'.

t_data-fval = '=PFLG'.

append t_data.

clear t_data.

t_data-program = 'SAPMSEDS'.

t_data-dynpro = '0050'.

t_data-dynbegin = 'X'.

append t_data.

clear t_data.

t_data-fnam = 'DD09V-tabart'.

t_data-fval = t_dd09l-tabart.

append t_data.

clear t_data.

t_data-fnam = 'DD09V-tabkat'.

t_data-fval = t_dd09l-tabkat.

append t_data.

clear t_data.

t_data-fnam = 'bdc_okcode'.

t_data-fval = '=SICH'.

append t_data.

clear t_data.

t_data-program = 'SAPLSTRD'.

t_data-dynpro = '0100'.

t_data-dynbegin = 'X'.

append t_data.

clear t_data.

t_data-fnam = 'KO007-L_DEVCLASS'.

t_data-fval = devclass.

append t_data.

clear t_data.

t_data-fnam = 'bdc_okcode'.

t_data-fval = '=ADD'.

append t_data.

clear t_data.

t_data-program = 'SAPMSEDS'.

t_data-dynpro = '0050'.

t_data-dynbegin = 'X'.

append t_data.

clear t_data.

t_data-fnam = 'bdc_okcode'.

t_data-fval = '=BACK'.

append t_data.

clear t_data.

t_data-program = 'SAPMSEDS'.

t_data-dynpro = '0010'.

t_data-dynbegin = 'X'.

append t_data.

clear t_data.

t_data-fnam = 'bdc_okcode'.

t_data-fval = '=BACK'.

append t_data.

clear t_data.

call transaction 'SE13' using t_data mode 'N'.

free t_data.

else.

perform activation_table.

endif.

endform. "ACTIVATE_TECHS

&----


*& Form ACTIVATION_TABLE

&----


  • Activate table.

----


form activation_table.

t_data-program = 'SAPMSRD0'.

t_data-dynpro = '0102'.

t_data-dynbegin = 'X'.

append t_data.

clear t_data.

if t_dd09l-tabname ne ' '.

t_data-fnam = 'RSRD1-TBMA_VAL'.

t_data-fval = t_dd09l-tabname.

append t_data.

clear t_data.

else.

t_data-fnam = 'RSRD1-TBMA_VAL'.

t_data-fval = objname.

append t_data.

clear t_data.

endif.

t_data-fnam = 'RSRD1-TBMA'.

t_data-fval = 'X'.

append t_data.

clear t_data.

t_data-fnam = 'BDC_OKCODE'.

t_data-fval = '=ACT'.

append t_data.

clear t_data.

t_data-program = 'SAPMSRD0'.

t_data-dynpro = '0102'.

t_data-dynbegin = 'X'.

append t_data.

clear t_data.

t_data-fnam = 'bdc_okcode'.

t_data-fval = '=BACK'.

append t_data.

clear t_data.

call transaction 'SE11' using t_data mode 'N'.

free t_data.

endform. "ACTIVATION_TABLE

REWARD IF USEFUL.

REGARDS.

SANTHOSH REDDY