cancel
Showing results for 
Search instead for 
Did you mean: 

BADI implementation subsreen and new fields

former_member473547
Participant
0 Kudos

Hi Experts,

I got stuck in BADI please help me out.

I have implemented a BADI which has new subscreen and a new field. I did find out that I had to write a programm wich call the subscreen and did the implementation but I am still facing problems :

- in the GET_DATA_FROM_SCREEN I can't find where to find the inputed datas

- how can I freeze the field when in modification modus.

Is there any where an effecient tutorial ?

thks

Accepted Solutions (1)

Accepted Solutions (1)

Sandra_Rossi
Active Contributor
0 Kudos
former_member473547
Participant
0 Kudos

Salut Sandra,

merci pour la doc, très utile, toutefois, trois points restent ouvert :

- je n'ai pas réussi à utiliser les methodes PUT_DATA_TO_SCREEN et GET_DATA_TO_SCREEN comme il le faudrait, je ne vois pas les données saisie à l'écran, j'ai dû passer par la mémoire export et import from/ to memory pour récupérer ces données-> pas super propre

- je n'arrive pas à protéger le champ lorsque je suis en visualisation (le classique loop at screen ne fonctionne plus)

- en cas de saisie erronée j'appelle un message d'erreur dans le CHECK_DATA_FROM_SCREEN l'erreur sort bien mais le zone est alors protéger et la correction est impossible.

Si tu as arrive à répondre à ces trois points, chapeau...

en attendant bonjour en France

Vincent

Babelfish translation (not so bad actually, still quite funny...):

Sandra hello, thank you for Doc., very useful, however, three points remain open: - I n' did not succeed in using methods PUT_DATA_TO_SCREEN and GET_DATA_TO_SCREEN as it would be needed, I do not see the data seized with l' screen, j' had to pass by the memory export and importation from/to memory to recover these data-> not super clean - I n' do not manage to protect the field when I am in visualization (the traditional loop At screen does not function any more) - in the event of erroneous seizure j' call a message d' error in the CHECK_DATA_FROM_SCREEN l' error leaves well but the zone is then to protect and the correction is impossible. If you have manages to answer these three points, hatu2026 while waiting hello in France Vincent

Edited by: Thomas Zloch on Mar 16, 2010 11:08 AM

Sandra_Rossi
Active Contributor
0 Kudos

(please use English in respect to other people, as explained in forum rules, they may also help you!)

> (you can only make screen fields initialized and read by EXPORT/IMPORT memory)

In the PBO, you have to read the "business object" fields from SAP by using GET_DATA_FROM_SCREEN.

In the PAI, you have to send your fields to SAP using PUT_DATA_TO_SCREEN.

> (you can't use loop at screen)

it should work (should be in the PBO of course)

> (if error is raised in CHECK_DATA_FROM_SCREEN, all fields are protected)

I don't know this method. To avoid this issue, do the checks in the PAI using

FIELD XXX MODULE YYY (or use a CHAIN for all fields), and in the module call a

MODULE YYY INPUT.

CALL METHOD exit->your_checks.

ENDMODULE.

and in CHECK_DATA_FROM_SCREEN, do:

CALL METHOD exit->your_checks.

PLEASE TELL US WHICH BAdI IT IS

ThomasZloch
Active Contributor
0 Kudos

What Sandra said, English only, please!

Thomas

former_member473547
Participant
0 Kudos

HI Sandra,

Loop at screen : it now works, I did put it in the PBO instead of the method PUT_DATA_TO_SCREEN. But it is not a loop at screen any more as SCREEN is not a table but a structure.

I am now dealing with the thwo other points

BADI's name is ISU_EGERR_CUSTOMER

former_member473547
Participant
0 Kudos

It all works perfectly, thank you so much for answering as it is allready the third post I tried without answer until you came.

I still question my self as Iu2019had to transport my-self with write and read to memory as the implemented methodes where not extensibel.

I couldu2019nt use the methodes PUT_DATA_TO_SCREEN GET_DATA_FROM_SCREEN CHECK_DATA_FROM_SCREEN because they didnu2019t know the inputed data or reacted strange when calling an error-message, then I had to put the code in my programm.

But at the end of it, it works

Tks

Sandra_Rossi
Active Contributor
0 Kudos

you need to append your customer fields to the standard structure of the method parameter. As I don't have an IS-U system, I can't tell you where you're wrong.

please don't forget forum rules again (when you close the thread, there's a way to say thank you)

former_member473547
Participant
0 Kudos

I hope I did,

Former Member
0 Kudos

Hey Sandra,

I already succeed in creating the Badi and linked that to the customer tab.

I face now a problem that the customer-tab is not shown in display mode.

I can only reach the screen when I press 'enter' from the initial screen of EG41/EG42/EG43/EG44, but when I am inside those transactie and change from change mode to display mode somehow, the custom tab will be disappeared.

Do you have any solution regarding this issue?

Thanks in Advance,

Robert

Answers (1)

Answers (1)

former_member182371
Active Contributor
0 Kudos

Hi,

for badi ISU_EGERR_CUSTOMER i´ve only found this:

http://help.sap.com/saphelp_utilities472/helpdata/en/e6/297540540ed362e10000000a155106/Release_Infos...

1.5.1.2 Customer Enhancement for Device Information Record

Use

As of SAP Utilities Release 4.72, the device info record contains more customer-defined fields.

You can use Business Add-In (BAdI) ISU_EGERR_CUSTOMER, customer include CI_EGERR, you

can create customer-defined fields and display them on a special subscreen in the device information

record.

See also

BADI ISU_EGERR_CUSTOMER

Best regards.

Edited by: Pablo Casamayor on Mar 15, 2010 8:02 AM