2023 May 22 1:17 AM
Hi ABAP Experts, I hope you can help me with an issue and as a footnote, I am in my first year as an ABAP developer so I apologise in advance for my inexperience.
The Scenario:
Our client have one-time customers and so they need the ability to fill out a one-time sales order for said customer.
We have an account group set aside for this situation/customer group and my task is to ensure that the name, street address, email and phone number fields are populated in the Sold-to Party part of the Partners tab of the header details in VA02.
If any of these fields aren't populated, a warning is presented to the user to fill that field/fields out.
This is done using an enhancement spot within the Include: MV45AFZZ and more specifically FORM USEREXIT_SAVE_DOCUMENT_PREPARE where I have performed a check to determine that the customer belongs to a one-time account group and get their details. Then check the fields in XVBADR are populated.
The Issue:
I have these warnings working perfectly,
However, in VA02, specifically after a warning pops up e.g. "Please enter a street address"; if I try to double click on the sold-to party line to fill out the required field, I get the error message "Requested function PSDE is not available here".
If I select another tab or go to any other screen, then return, I can double click on the sold-to party line and it opens up where I can then populate the field and the order is saved.
Going into the code where the error message V0104 is generated, I can see that I get MESSAGE E104 WITH FCODE and FCODE is assigned "PSDE". This message is generated from FORM T185F_LESEN.
Before I found it was the FCODE, I wondered if it was the sy-ucomm, so I had that to be cleared but didn't work (obviously)
Questions:
My initial thought was to clear the FCODE, but I was told that was dangerous because I don't know where else it's being used (I can understand that), so would anyone have an idea of what to try that would be considered a best practice and not something that I will end up causing Armageddon.
Thanks in advance from a humble new ABAP coder
2023 May 22 6:02 AM
Try to change CH_SUBRC = 4 in your code. Why did you use a Warning message?
2023 May 22 6:36 AM
Hey Raymond, thanks for the suggestion. I’ll put that forward.
I used a warning message because that’s what the Functional Spec wants. I tried this with a message of type error too but I got the same issue. Without it, the user is able to save the one-time customer details without populating the mandatory fields
Also, I tried removing the RAISE warning and then nothing at all happens
thanks for your help
2023 May 22 6:44 AM
sorry Raymond for my ignorance but what is CH_SUBRC? I’ve know of SY-SUBRC but not the one you suggest and it doesn’t seem to come up on google?