‎2005 Oct 21 11:23 AM
Hi,
I'm working on import dynpro of infotype screens
does anyone have any experience with this
the problem I have is how do I check if a certain field is visible or not in pa30.
I can't seem to find a connection with the result of the import dynpro.
thanks
‎2005 Oct 21 12:13 PM
Hi Kevin,
In the internal table of element list <b>F</b> (of structure D021S) there is a field called <b>FMB1</b> (Type X).
If the screen element is INIVISIBLE then FMB1 will be 34
If the screen element is OUTPUT ONLY then FMB1 will be 31
If the screen element is OUTPUT then FMB1 will be 30
If the screen element is visible, ready for input then 00.
hope this helps..
Sri
Message was edited by: Srikanth Pinnamaneni
‎2005 Oct 21 11:37 AM
> Hi,
>
> I'm working on import dynpro of infotype screens
> does anyone have any experience with this
>
> the problem I have is how do I check if a certain
> field is visible or not in pa30.
> I can't seem to find a connection with the result of
> the import dynpro.
>
> thanks
Hi Kevin,
You problem is not very well detailed...
Have you think about
LOOP AT SCREEN.
CHECK SCREEN-NAME EQ 'NameofFiled'
the field exist here
endloop.
Maybe describe your problem much in details in order to get a better solution
Stephan,
‎2005 Oct 21 12:13 PM
Hi Kevin,
In the internal table of element list <b>F</b> (of structure D021S) there is a field called <b>FMB1</b> (Type X).
If the screen element is INIVISIBLE then FMB1 will be 34
If the screen element is OUTPUT ONLY then FMB1 will be 31
If the screen element is OUTPUT then FMB1 will be 30
If the screen element is visible, ready for input then 00.
hope this helps..
Sri
Message was edited by: Srikanth Pinnamaneni
‎2005 Oct 21 12:46 PM
Hi Srikanth,
Your answer was very helpfull thanks !
I still have one problem though.
I have for infotype 0009 different subtypes. Some fields are hidden depending on the subtype. The screen number is the same for all. So there is no different result for the import dynpro.
Do you have any idea where I can find that information?
Thanks
Kev
‎2009 Mar 25 9:31 AM
Does anybody know, what fields of structure D021S are responsible for?
Srikanth Pinnamaneni wrote about FMB1... and what can you say about the other fields of this structure? By the way, great thanks for explaining of FMB1!
Best regards.
‎2005 Oct 21 2:28 PM
I just thought of something else.
To what mode do these settings apply? So for view mode nothing is editable,but for modify and create there are sometimes differences.
My result now has mode 30 for almost all fields, so output.
eg BEGDA and ENDDA have 30 FMB but they are editable. AEDTM and UNAME also have 30, but they aren't editable.
Sorry for all the questions
Kev
‎2005 Oct 21 2:44 PM
Hi Kevin,
I tried to check IMG for hide/display fields based on subtypes and so far could not find any such links.
I think they are done via coding in PBO of the infotype screens..
And about FMB1 for BEGDA and ENDDA and so on..
Make sure you are not looking at Field Labels (As they always have 30).
There will be two entries for each field, one for Field Label and one for I/O Field..
For example I was looking at Program MP000900 (for Info Type 0009) and screen 2000..
BEGDA will have two entries, first entry for field label with FMB1 30 and second entry with 00 (As it is editable in screen 2000).
Also if possible give me the screen number that you are interested in so that I can have a look at it and determine how we can retrieve this information..
Hope this helps..
Sri
‎2005 Oct 24 10:17 AM
Ah ok
I just found the problem, I do:
DELETE ADJACENT DUPLICATES FROM imp588m COMPARING fnam .
The field labels are the ones that are retained in the list and the other ones are removed.
I guess I can solve this.
But I still have a problem with the subtypes:
Some fields are not shown in another subtype, but the parameters for the import dynpro are the same, so I don't see how to derive that from the result.
I do an import dynpro with following parameter:
PROG=MP000900
DNUM=2000
VARKY=
In our configuration the field P0009-BETRG and P0009-ANZHL are shown for subtype 2 but not for the others.
Thanks already.
‎2005 Oct 24 12:14 PM
Hi Kevin,
I think this customizing is done in T588M table.
In SPRO(IMG), the link is,
Personnel Management->Personnel Administration
->Customizing User Interfaces
->Change Screen modifications.
I think DBILD is the field in T588M which contains
the screen modifications ('-' means hide, '+' means show)
Check customizing here whether there is some thing different just for Subtype 2..
Also, a bit on technical side,
Take a look at subroutine SCREEN_MODIFICATION in include
FP50MF20 to see how the field is determined for output.
VARKEY (if it is not space based on customizing) can be derived by using function module HR_FEATURE_BACKFIELD, feed the feature = 'P0009' and whatever you can in l_pme04 like infty, subty etc..
DATA: l_pme04 LIKE pme04, "Got it from T549D
l_varkey LIKE t588m-varkey.
CALL FUNCTION 'HR_FEATURE_BACKFIELD'
EXPORTING
feature = 'P0009'
struc_content = l_pme04
KIND_OF_ERROR =
IMPORTING
BACK = l_varkey
CHANGING
STATUS =
EXCEPTIONS
DUMMY = 1
ERROR_OPERATION = 2
NO_BACKVALUE = 3
FEATURE_NOT_GENERATED = 4
INVALID_SIGN_IN_FUNID = 5
FIELD_IN_REPORT_TAB_IN_PE03 = 6
OTHERS = 7.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Now use this l_varkey while reading T588M with,
REPNA = 'MP000900', DYNNR = '2000' and VARKY = l_varkey
Like,
DATA: s_t588m LIKE t588m.
SELECT * FROM t588m INTO s_t588m
WHERE repna = 'MP000900'
AND dynnr = '2000'
AND varky = l_varkey.
Finally use s_t588m-dbild to determine what is visible/invisible. ('-' invisible, ' ', '+' visible)
This leads me to think that IMPORT DYNPRO is not required..
Hope this helps..
NOTE: ' ' / '-' / '+' etc are based on screen group3,
and screen-group3 for BETRG is 008 so dbild will have '-' at 7th positionsimilarly screen-group3 for ANZHL is 009
so dbild will have '-' at 8th position..
May be you can look at all entries in T588M for MP000900, 2000 and then see which entry has '--' at 7th and 8th positions..
Sri
Message was edited by: Srikanth Pinnamaneni
‎2005 Nov 15 8:04 PM
Hi
I need to set the value dynamically in the program for 'VARKY'. Could anybody know how to do this.
Anybody please help.
Thanks.
Venu
‎2005 Nov 15 8:55 PM
Hi Venugopal,
It is a config entry.. why do you want to change it dynamically? in which Program?
Regards,
Suresh Datti
‎2005 Nov 15 11:04 PM
I am not sure if I am doing it correctly.
I am writing an interface to update IT2010. In the table T588M the functional people have set two entries for the infotype 2010 screen. One with Variable key = 10 and other with 99.
There is field called external document number on 2010.
If the value for Variable key = 10 (default for all users) the field on the IT2010 is grayed out.
And if the value = 99 then it will take input.
The functional people are asking, if I can dynamically change during the program.
Appreciate your help.
Thanks.
Venu
‎2005 Nov 15 11:42 PM
Hi Venugopal,
OK I understood yur issue.. How are you updating the infotype? Are you using any function modules? Did you try using HR_INFOTYPE_OPEARTION to create the new records?
Regards,
Suresh Datti
‎2005 Nov 17 5:13 PM
Hi Suresh,
I am using 'Call transaction' method for this interface.
Thanks.
venu
‎2005 Nov 17 5:51 PM
Hi Venugopal,
You will be better off using the above function module instead of the traditional call transaction method. Use the function module in a loop ,fill the structure p2010 for each pernr and pass it on. You need not woory about the VARKY validation.
Good Luck,
Suresh Datti