cancel
Showing results for 
Search instead for 
Did you mean: 

Screen Variant vs IDOC

Former Member
0 Kudos

Hi,

I have created a screen variant for transaction codes VA01/VA02 to make the Terms of payment field in Disable mode, due to which Idocs are getting failed with error VBKD-ZTERM is not an input field. i have also changed the screen variant for the field VBKD-ZTERM from output only to Hide but ended up with the same result.

Is there any solution to run the IDoc with the said screen variant.

Business scenario:

From PO the ALE IDOC is triggering to create the sale order.

With Regards,

Karthick.R

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Another Option can be write custom code in MV45AFZZ and set screen value to 1. ( i m nt sure 0 or 1, any abaper can tell you.) , this will help you to make that field as an input field while processing the idoc.

here you can set some condition to set the screen as an input one.

Thanks

San Sam

Jelena
Active Contributor
0 Kudos

Which condition would he use? There is no way to know that order is posted from an IDoc, to my knowledge.

rajkumarnarasimman
Active Contributor
0 Kudos

Hi Jelena,

Hope FM GUI_IS_AVAILABLE  may work for finding the difference between IDOC and  Online scenario. 

Regards

Rajkumar Narasimman

Jelena
Active Contributor
0 Kudos

Rajkumar Narasimman wrote:

Hope FM GUI_IS_AVAILABLE  may work for finding the difference between IDOC and  Online scenario. 

It's the difference between an online and background process. Not between IDoc and online. If there is, say, a custom program that runs in a background job or a web service called from an e-commerce web site then there won't be any GUI either.

Of course, one could just assume that there won't be any other interfaces than the IDoc (ever?) but, as we know, assumption is mother of all screw-ups...

Jelena
Active Contributor
0 Kudos

You can't. IDoc goes through the same exact process as transaction (in fact, it just runs BDC, yeah, still in 2016).

Either remove the field from the IDoc or create a new order type specifically for such orders, with the field available.

If your question has been answered then kindly close the discussion: http://scn.sap.com/community/support/blog/2013/04/03/how-to-close-a-discussion-and-why

engswee
Active Contributor
0 Kudos

in fact, it just runs BDC, yeah, still in 2016

Hated the ORDERS IDoc for that (and many other reasons like some fields not supported, etc). In the end, we switched to SALESORDER_CREATEFROMDAT2 which uses BAPI call internally.

Jelena
Active Contributor
0 Kudos

Thanks for the info! I found SALESORDER_CREATEFROMDAT202 in our system.

Hmm, I was doing some research just recently and haven't even seen this mentioned as a suggested solution for the order interfaces. It's rather odd, usually when the old-timey IDocs are replaced by the BAPI-based ones you can find information that the old ones are considered obsolete and the BAPI ones are recommended as a replacement (e.g. that was the case with PP PDC interface). Not sure what's the reason these IDocs are not advertised... There are some SCN posts but they would be hard to find without knowing the exact keywords.

It does seem that the BAPI-generated IDocs cannot be extended, or at least the process is not straight forward. But many customers don't need any extension.

engswee
Active Contributor
0 Kudos

There's no real need to extend this particular IDoc. Any custom fields can be handled by the E1BPPAREX segment which is transferred to the BAPI's EXTENSIONIN table parameter. This can be handled the same way extensions are handled in BAPIs.

I didn't realised that there's not much mention of this IDoc at all. Using the ORDERS IDoc was such an unpleasant situation as we kept on having to figure out how the FM works whenever we add a new interface using the IDoc, i.e. fields not transferred, certain screens not supported, and the list goes on.....

In the end, we decided to redesign all these "still running BDC in 2016" IDocs to BAPI/BOR-based IDocs. The two notable ones we changed was SALESORDER_CREATEFROMDAT2 and MATMAS_MASS_BAPI (for Material Master).

Jelena
Active Contributor
0 Kudos

Took me a while to process this. OK, that makes sense - essentially this is an extension already built-in into the IDoc. Thanks for the info!

Former Member
0 Kudos

Hello,

You can try to re-run idoc with WE19. Initially, get idoc number from WE02 . After that, execute it with  WE19. You can replicate same scenario with same variant over there.

Best Regards

Engin

Former Member
0 Kudos

Hi,

Thanks, my requirement is not to re-run the Idoc. even if run in WE19 or BD87 the same error will occur. i am asking for the solution.

I need to run the idoc, were the field VBKD-ZTERM (in transaction VA01) will be in disabled mode.

Thanks