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

regarding screen field attributes

Former Member
0 Likes
1,579

Hi guys,

Do anybody know how to check whether given screen fields is Input/output/Mandatory.

for eg BSEG-HKONT is input only/Output only/Mandatory.

I want to know how to check this using Table or Func Module.

I checked using RM07DYNP report. Its not working correctly in few cases.

Any suggestion please.

Thanks

Ambichan

Hi guys,

Do anybody know how to check whether given screen fields is Input/output/Mandatory.

for eg BSEG-HKONT is input only/Output only/Mandatory.

I want to know how to check this using Table or Func Module.

I checked using RM07DYNP report. Its not working correctly in few cases.

Any suggestion please.

Thanks

Ambichan

8 REPLIES 8
Read only

Former Member
0 Likes
1,202

hi

prog. name, screen no. are in the inputs in that prog...so, i think you can very well goto se80, prog. name, screen no-> layout -- double click on any field to get the attributes, which will give you always things as it is...u can even do it via se51

if helpful, reward

Sathish. R

Read only

0 Likes
1,202

hi Sathish,

Thanks for your reply.

I want to do it thru abap programing code. So could you please suggest me how to do it.

I will sure reward points for all replying me.

btw. RM07DYNP is failing/Giving incorrect data at Input/output/Required fields, when we compare two versions like 46C and ECC for same screen and dynpro.

Thanks

Ambichan.

Read only

0 Likes
1,202

Hi Kumar,

1. Call that particular screen in an abap program

2. Write the following code in PBO of the screen or AT selection-screen output.

<i> Loop at screen.

< Here is the place to find the value of Screen-<Attribute> >

Endloop.</i>

3. By changing different attributes you can find the values for those screen fields.

ex.

If you want to check whether a field 'XX' is input enabled or not.

Just write this code inside the loop at screen.

<i>Loop at screen.

If Screen-name eq 'XX'.

l_input_attribute = screen-input.

endif.

endloop.</i>

Reward helpful reply.

Read only

Former Member
0 Likes
1,202

You can check the table PTRV_T706Z_FLDS.

If the field INPUT_FLD = 'X' for the screen number, program name, field name combination, then that field is input enabled.

Regards,

Ravi

Read only

Former Member
0 Likes
1,202

i cant say for standard screen.

but in PBO of any screen .

loop at screen.

if screen-name = 'VBELN'.

<here check the value screen-input,screen-output and screen-required>

endif.

endloop.

those field will contain 0(false) or 1(true) value.

regards

shiba dutta

Read only

Former Member
0 Likes
1,202

use the below FM which was used in that program

    CALL FUNCTION 'RPY_DYNPRO_READ'
      EXPORTING
        progname                    = ls_dynp-prog
        dynnr                       = ls_dynp-dnum
      IMPORTING
        header                      = ls_header
      TABLES
        fields_to_containers        = lt_fields.

it will return the attributes in the table lt_fields

Read only

0 Likes
1,202

Hi Chandrasekhar,

RYP_DYNPRO_READ is not working properly in 46C and ECC.

for eg.

1) Failure in ECC.

In screen

SAPMF05A 0331.Results for the field BSEG-HKONT does not match correctly with the SE80 Element list data.

2) failure in 46C.

SAPMF05A 122. Result for the field RFO5A-XPOS1 does not match correctly with SE80 Element list data.

You could confirm this using RM07DYNP report program also.

Could somebody look in to this and reply.

Thanks

Ambichan

Read only

Former Member
0 Likes
1,202

Hi Prince.

You may use IMPORT DYNPRO (at least, it works on 4.6C):


data: le_d020s like d020s,
      lt_d021s type table of d021s with header line,
      lt_d022s type table of d022s with header line,
      lt_d023s type table of d023s with header line.

IMPORT DYNPRO le_d020s
              lt_d021s
              lt_d022s
              lt_d023s
  ID 'SAPMF05A                                0100'.

Here you'll have all parameters into table lt_d021s. In this table there's a field, called FLG3, that has something to do with whether the field is mandatory or not (I think that, when this value is >= 'A0', it's mandatory). Also, field FLG1 shows that the field is for input/output.

I haven't found much documentation on this ABAP sentence. Sorry!

I hope it helps. Best regards,

Alvaro