Application Development 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: 

PA30 updation

former_member1193316
Participant
0 Kudos

Hi SDNers,

I have done modifications on user exit to update 0015 infotype.

Updated data I can only see after come out of PA30 screen and re-open the same. If I m at the same screen,I couldnt able to see the updated data. I wrote commit work command too...even though its not working.

Kindly let me know what could be the solution for the same.

Regards,

Venkat

1 ACCEPTED SOLUTION

former_member209703
Active Contributor
0 Kudos

Are you trying to modify any screen field by doing so? If the answer is yes, you may have used the incorrect approach.

Have you used the User-Exit include ZXPADU* rather than any BADI implementation of HRPADINFTY* ?

8 REPLIES 8

former_member201275
Active Contributor
0 Kudos

You have used the incorrect exit/badi. If you can provide more info maybe I can help more... if not then if you go over the documentation for the various badis and exits you will find answer. Have you had a look at HRPAD00INFTY?

former_member209703
Active Contributor
0 Kudos

Are you trying to modify any screen field by doing so? If the answer is yes, you may have used the incorrect approach.

Have you used the User-Exit include ZXPADU* rather than any BADI implementation of HRPADINFTY* ?

0 Kudos

Hi Jose,

I used ZXPADU002 user exit,not the BADI. From this exit, I m updating 0015 infotype values.

Values are updating, but its showing only when I go out of PA30 and after come back to PA30.

Thanks,

Venkat..

0 Kudos

By doing so, you won't get the values updated in the screen, because, despite you have updated the database table, the screen uses the data still stored in the intermediate memory.

Couple thing you can do to get it to work:

- Enhance your infotype by creating a dummy field (which you won't use) and update the screen values in the custom PBO module (ZP***20)

- Create a BADI implementacion for the standard definition (HRPADINFTY*) and in the PBO method, modify the screen values by accessing the screen fields via a field-symbol

For instance:


 FIELD-SYMBOLS: <FS> TYPE P0105.
ASSIGN ('(MP010500)P0105') TO <FS>.

<FS>-BEGDA = '20100101'.  "Update the fields you need

0 Kudos

Dear Jose,

I used it in the same way how u mentioned. But its giving short dump.

Below is the description of the dump.


 Field symbol has not yet been assigned.
This error may occur if
- You address a typed field symbol before it has been set with
  ASSIGN
- You address a field symbol that pointed to the line of an
  internal table that was deleted
- You address a field symbol that was previously reset using
  UNASSIGN or that pointed to a local field that no
  longer exists
- You address a global function interface, although the
  respective function module is not active - that is, is
  not in the list of active calls. The list of active calls
  can be taken from this short dump.

Any idea?

Regards,

Venkat

0 Kudos

You always have to check the SY-SUBRC after the ASSIGN statement to see wheter the field-symbol has succesfully been assigned or not.

In this case I just realized that the infotype you're working with is the 0015 not the 0105 as I typed in the previous code snippet.

That may be the case of the short dump?

This would be the real scenario:


 FIELD-SYMBOLS: <FS> TYPE P0015.
ASSIGN ('(MP001500)P0015') TO <FS>.
 IF SY-SUBRC EQ 0.
   <FS>-BEGDA = '20100101'.  "Update the fields you need
ENDIF.

Remember that you have to do this in the PBO method of any BADI Implementation that uses the HRPADINFTY* definition.

Let me know if you're having any problems with this.

Kind regards

0 Kudos

Dear Jose,

I am not using BADI, I m using user exit ZXPADU02 to update 0015 infotype. In this case.,how can i update the screen values..

Regards,

Venkat

0 Kudos

In this case, there's no problem with using ZXPADU02 to do the database update.

However to get this values updated in the screen you will need to do 'something else'.

I'd suggest you to create a BADI an implement the above code in the PBO method. You have to do this in the PBO of the BADI, because, despite you have updated the database, as I said before, those changes won't be reflected in the screen, 'cause the screen's still using the data stored in the intermediate memory, so you have to do it this way.

Regards