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: 

Screen fields without parameter id's in IW26 pseudo-selection screen

Former Member
0 Kudos

The initial screen of IW26 looks like a selection screen but isn't. It uses a number of screens as follows:

1) For notification/status/order: IQS0 1050 (IQSO is the function group)

2) For Notification Reference Object: IWO1 0100

3) For Notification Responsibilities: IQSO 7326

4) For Notification Start/End Dates: IQS0 7330

5) For Notification Item: IQS0 7324

6) For Notification Malfunction Data: IQS0 7328

If you look at IQS0 7330, you'll see that the only the "Priority" screen field has a parameter id.

If you look at IQS0:7324, you'll see that none of the Item-Related screen-fields have parameter ID's.

Same for IQS0:7328 - none of the Malfunction-related fields have parameter id's.

So - if we do a call transaction/skip first screen, we can't preset any of the Item-related screen fields in 7324, nor any of the Malfunction-related screen fields in 7330, nor any of the Date-related fields in 7328 except Priority.

If we were dealing with a "regular" selection-screen here, I know how to get around this problem - do a "submit program" with the selection-screen parameters and select-options "preset" in the with-clause of the submit.

But here we don't have a regular selection-screen. We have the screens 7330, 7324, and 7328 in IQS0. So I can't do a "submit program".

So how do I preset screen-fields on these screens when SAP has provided no parameter ids for them?

(I assume here that I can's use "submit program" because I'm not trying to present real selection screen fields.)

Sorry if this is a dumb question, but I've only dealt with this problem before when the transaction has a real selection screen and I can use "submit program" with a with clause in which the parameters and select-options are preset.

Thanks for any help anyone can provide.

I

1 ACCEPTED SOLUTION

former_member181923
Active Participant
0 Kudos

PS - I can't use a BDC in this case, otherwise I'd just do a recording ...

11 REPLIES 11

former_member181923
Active Participant
0 Kudos

PS - I can't use a BDC in this case, otherwise I'd just do a recording ...

0 Kudos

Well, I usually handle this using a "partial" BDC. I record the transaction filling the fields that need filled and going to a certain place in the transaction and backing out. Then taking the BDC code and getting rid of the "Backing Out" part and then call this transaction with MODE = 'E'. This will fill the fields with data and call the transaction, stopping at the point to where the user can take over. This is the only way that I know how to accomplish your requirement.

But, of course, you say that you can't use BDC.

Can I ask why? I know that BDC is not really desireable, is this the reason?

Regards,

Rich Heilman

0 Kudos

Hi Rich -

I've done the ten because you confirmed my suspicion that nothing "clean" can be done here. I thought maybe some kind of customer screen exit would allow parameter id's to be assigned on the fly rather than in Dictionary, or something like that, but if you've never heard of this then I'm sure it can't be done.

Anyway, the issue regarding the BDC is not the usual one of maintainability over time - it's a political one.

The functional analysts want to use a 3rd party product to create a simpler front-end screen for IW26 - the guys on the shop floor don't want to chase the trees.

We told them that this third party product has recently been known to cause headaches (in fact, by pure coincidence there was a post tonight 12/26 about this product.)

They said - well what else are you going to do, write a BDC?

I hadn't looked at IW26 so I assumed it had a regular selection screen and said to them that a BDC wouldn't be necessary - a call transaction or submit program would suffice.

But of course I spoke too soon, unless I can get an OSSN with the parameter IDs.

Anyway - that's the history here.

BTW, I am going to blog on this topic of "missing" parameter ID's for two reasons:

a) it ticks me off;

b) if IW26 is to be efficiently called as a service, these missing ID's have got to be there;

c) there's no reason to go to a 3rd party product just to avoid using a BDC when parameter IDs are missing.

I know, I know - I'll blog about anything ...

Regards

djh

0 Kudos

How about creating a simple frontend and at the back using appropirate BAPI to do the job.

looks like this may be the BAPI - BAPI_SERVICENOTIFICAT_CREATE

or check out this business object.

BUS2038A

Regards

Raja

0 Kudos

Hi Raja -

Thanks for suggesting that BAPI - it's a great idea and I will check it out.

But as you know, sometimes a BAPI will not provide all the functionality of its template transaction.

So although I hope you're correct, I am prepared to be disappointed.

Also, as a matter of principle, I think that if SAP provides a "CALL TRANSACTION AND SKIP FIRST SCREEN" statement in ABAP syntax, then it should take the responsibility for assigning parameter id's to all screen-fields in all SAP-delivered transactions.

Best regards

djh

0 Kudos

Well, of course the BAPI would be the best way to go if you were trying to use the IW26 as a service with a custom frontend. I was thinking that you were trying to CALL TRANSACTION IW26 and skip the first screen populating certain fields and then let the user take over and finish the transaction. This is why I suggest the partial BDC.

Regards,

Rich Heilman

0 Kudos

hi djh

i dont think that the BAPI would miss any functionality(if the BAPI i mentioned is the right one - there were few of them for creating different types of notifications - check the BO i had mentioned) of IW26 (apart from GOS) .

using this bapi you can create the notification and if you need to handle the GOS (attachments, notes, etc) as well, let me know, i can let you know the required FMs to do that.

Regards

Raja

i am on transit going on a short vacation (right now answering from dubai airport), so may not be able to respond immediately, if ther were further questions, i would be checking SDN back again in about 4 days time, i will reply then.

0 Kudos

Hi Raja -

I'm hoping that you're right about there being another BAPI because BAPI_SERVICENOTIFICAT_CREATE does not take an order number. AUFNR is not in BAPI2080, BAPIQMFE, nor BAPIQCLINE, and these are the only three input strcutures/tables for this BAPI.

But on the topmost subscreen of the initial screen of IW26 (IQS0:1050), there is an AUFNR field - the screen field is VIQMEL-AUFNR it's related to viqmel-aufnr in the dictionary.

So I'm hoping there is another BAPI that allows specification of aufnr.

Please do check back on the thread when you have a chance.

And thanks very much again.

Dave

0 Kudos

This has a much more complete set of input tables, particular BAPI2080_NOTHDRE, which does have an order id field.

Thanks again for suggesting that I check around for another BAPI.

Dave

0 Kudos

Hi Dave,

Check out this BAPI BAPI_ALM_NOTIF_CREATE. It takes OrderID as importing parameter and is specially for PM and CS Notifications.

Also you can check out BAPI_SERVNOT_CREATE which is used for Service Notifications. This also has a field OrderID.

Hope this helps.

Regards,

Shubham

0 Kudos

Hi Shubham -

Yes - as you can see from my post just above, I already found BAPI_SERVNOT_CREATE, which is the one I want. It has to be used with BAPI_SERVNOT_SAVE, just like the "ALM" version.

Dave