07-25-2013 11:32 PM
Hi,
I have added several custom fields in EBAN table, then requirement changed, I need to remove couple of my custom fields from EBAN. I was able to removed from EBAN table, but when I tried to remove the Data Element for those fields, it said it was in used by these structures...
PSIS_GEN_EBAN_NP and
PSIS_GEN_EBAN_PR
The short description for these structure said- "Generated structure for LDB PSJ. Do not modify manually."
I have looked at the attributes from these structures, they are created/changed by one of my users. Unforturnately, that user doesn't remember what she did, she was just testing some T-codes and just messing around with the system (as we are very new to SAP).
I am thinking of may be she generated some reports???? It automatically generate those structures? Can anyone give me some pointer as to how these structures get generated and how to get rid of them or re-generated again to reflect the "correct" structure?
Any help would be appreciated. Thanks
SW
08-24-2013 1:04 AM
We got it resolved... hopefully this will help someone down the road.
From one of our developer (Krishna Adabala)...
Execution of the PSJ LDB from any transaction or reports will create a few PSIS_GEN_* structures. During the creation of these SAP is generating some reports also. These can be seen in the table PSJGNREP table.
Once a structure is generated, looks like it can get re-generated if there is change in the number of fields of the base table structure (SAP checks are happening based on the number of fields also). For example here PSIS_GEN_EBAN_PR and PSIS_GEN_EBAN_NP are created based on the EBAN structure. Even though the data element of the fields in EBAN is changed, the number of fields in the EBAN didn't changed from the time when PSIS_GEN_EBAN_PR and PSIS_GEN_EBAN_NP initially were created. So these structure didn't get updated with the new data elements as the number of fields in EBAN remained the same.
Now just added a dummy field in the custom include of EBAN and execute the PSJ LDB and then removed the dummy field. Now the PSIS_GEN_EBAN_PR and PSIS_GEN_EBAN_NP have the latest data element used.
Re-generation of PSIS_GEN_* structures: The generation of these structures happens whe LDB PSJ is executed from any t-codes or reports. For example RM06EKPS used LDB PSJ and is associated with t-codes CNB2, ME2J and ME3J. So when any of these t-code is executed, the LDB PSJ is used to fetch the data. In the LDB PSJ, these is the code for generation of these PSIS_GEN_* structures. Similarly, if you exectue the LDB PSJ in SE36 and input some values in selection screen and run it, the structures are generated (first time) / re-generated (in case of any changes in the structures). The entries are created in the PSJGNREP table.
07-26-2013 7:52 AM
Hi Siou,
These are standard strucutres created by SAP and is used in Logical Database PSJ.
You will need to check this LDB in SM36 who has modified it.
Regards
08-24-2013 1:04 AM
We got it resolved... hopefully this will help someone down the road.
From one of our developer (Krishna Adabala)...
Execution of the PSJ LDB from any transaction or reports will create a few PSIS_GEN_* structures. During the creation of these SAP is generating some reports also. These can be seen in the table PSJGNREP table.
Once a structure is generated, looks like it can get re-generated if there is change in the number of fields of the base table structure (SAP checks are happening based on the number of fields also). For example here PSIS_GEN_EBAN_PR and PSIS_GEN_EBAN_NP are created based on the EBAN structure. Even though the data element of the fields in EBAN is changed, the number of fields in the EBAN didn't changed from the time when PSIS_GEN_EBAN_PR and PSIS_GEN_EBAN_NP initially were created. So these structure didn't get updated with the new data elements as the number of fields in EBAN remained the same.
Now just added a dummy field in the custom include of EBAN and execute the PSJ LDB and then removed the dummy field. Now the PSIS_GEN_EBAN_PR and PSIS_GEN_EBAN_NP have the latest data element used.
Re-generation of PSIS_GEN_* structures: The generation of these structures happens whe LDB PSJ is executed from any t-codes or reports. For example RM06EKPS used LDB PSJ and is associated with t-codes CNB2, ME2J and ME3J. So when any of these t-code is executed, the LDB PSJ is used to fetch the data. In the LDB PSJ, these is the code for generation of these PSIS_GEN_* structures. Similarly, if you exectue the LDB PSJ in SE36 and input some values in selection screen and run it, the structures are generated (first time) / re-generated (in case of any changes in the structures). The entries are created in the PSJGNREP table.
03-30-2015 10:40 AM
12-01-2023 6:14 PM
This answer helped me too thanks. However others may find it useful to know there's a simpler approach than adding and then removing a dummy field to trigger the regeneration - just delete the structures altogether. E.g. in our case our custom fields were on EKPO: