‎2008 Nov 21 2:01 PM
Hello,
I changed my inbound parameters via WE20 from ( message type -> process code -> function module)DESADV ->DELS->IDOC_INPUT_DESADV TO DESADV ->DELV-> IDOC_INPUT_DELVRY
When I have inbound deliveries, I get the error 51, Function module not allowed: IDOC_INPUT_DELVRY, with steps on how to correct it...
Function module not allowed: IDOC_INPUT_DELVRY
Message no. B1 252
Diagnosis
The function module IDOC_INPUT_DELVRY and the application object type which were determined are not valid for this IDoc.
Procedure
1. Please check that the process code in the inbound partner profile is correct. WE20
2. If this is the case, you should check the ALE inbound methods ALE inbound methods for the process code and see whether the specified function module and application object type are correct. BD67
3. If this is also the case, then the function module and the application object type are not permitted for the logical message type, message variant, message function and basis type that are contained in the IDoc control record. You should check whether the correct values have been assigned to these fields in the control record. If they do have the correct values, then the assignment to the function module and the application object type needs to be maintained. WE57
I have tried all 3 and everything seems okay... am I missing something else?
‎2008 Nov 25 6:56 AM
Hi,
For inbound process code DELV (FM: IDOC_INPUT_DELVRY), the message type is SHPCON / WHSCON. The message type here cannot be DESADV.
Regards
Vatsala.
‎2008 Nov 21 2:29 PM
did you look at the code in the FM?
* check basis idoc type
READ TABLE IDOC_CONTRL INDEX 1.
IF IDOC_CONTRL-IDOCTP NP 'DELVRY*'.
MESSAGE E029(E0) WITH IDOC_CONTRL-IDOCTP TEXT-001
'IDOC_INPUT_DELVRY' RAISING WRONG_FUNCTION_CALLED.
ENDIF.
it is expecting a particular IDOC type. it is going to raise the error mesage for all other IDOCs. COme ot think of it, if you are usign DESADV, its IDOC is DESADV01, which is different that DELVRY01 IDOCs. How can you use that function module to parse DESADV01 Segments
‎2008 Nov 21 6:42 PM
MxG,
thanks for the reply, but both can use DELVRY* on 4.6C..
Look atFM IDOC_INPUT_DELVRY
FORM delvry_idoc_parse.
DEFINE mv.
if not &1 = space.
&2 = &1.
*>>>> start of insertion_hp_167665 <<<<
else.
clear &2.
*>>>> end of insertion_hp_167665 <<<<<<
endif.
END-OF-DEFINITION.
check basis idoc type
READ TABLE idoc_contrl INDEX 1.
IF idoc_contrl-idoctp NP 'DELVRY*'.
MESSAGE e029(e0) WITH idoc_contrl-idoctp text-001
'IDOC_INPUT_DELVRY' RAISING wrong_function_called.
ENDIF.
Look at FM IDOC_INPUT_DESADV1
FORM DESADV_IDOC_PARSE.
DEFINE MV.
IF NOT &1 = SPACE.
&2 = &1.
ELSE.
CLEAR &2.
ENDIF.
END-OF-DEFINITION.
check basis idoc type
READ TABLE IDOC_CONTRL INDEX 1.
IF IDOC_CONTRL-IDOCTP NP 'DELVRY*'.
MESSAGE E029(E0) WITH IDOC_CONTRL-IDOCTP TEXT-001
'IDOC_INPUT_DESADV1' RAISING WRONG_FUNCTION_CALLED.
ENDIF.
‎2008 Nov 25 6:56 AM
Hi,
For inbound process code DELV (FM: IDOC_INPUT_DELVRY), the message type is SHPCON / WHSCON. The message type here cannot be DESADV.
Regards
Vatsala.
‎2008 Dec 01 8:50 PM
I changed it, now I get a 56 error: EDI: Partner profile inbound not available. How do I fix this?
‎2008 Dec 01 9:00 PM
56 is partner profile missing. Create your partner profile in WE20 for your message type and sender partner
‎2008 Dec 02 2:31 AM
Hello,
Message type for outbound is DESADV, with DELV process code. Message type for inbound is SHPCON and the process code DELV. Is this okay.. I get the error for inbound from the external system, I have no problems sending outbounds.
Thank you,
AJ
‎2008 Dec 02 2:40 AM
yep, you can check the message type from the IDOC control records
‎2008 Dec 03 5:17 PM
I did that but it still shows DESADV even for outbound..here's the setup in partner profile
Outbound
Partner function: LS
Message Type: DESADV
Process Code: DELV
Function module: IDOC_OUTPUT_DELVRY
Inbound
Partner function: LS
Message Type: SHPCON (Delivery (SHPCON + WHSCON with DELVRY01)) Do I need to creat a profile for WHSCON? What does the + WHSCON mean?
Process Code: DELV
Function Module: IDOC_INPUT_DELVRY
When I look at the IDOC control record for the inbound it still has the DESADV. I had it set to this before but changed it to SHPCON....Do I need to do something buffer wise or reset something???
I changed the Outbound from DESADV to SHPORD and get nothing back now...
Partner function: LS
Message Type: SHPORD
Process Code: DELV (Delivery DELVRY01: DESADV/CARNOT/WHSORD/SHPORD)
Function module: IDOC_OUTPUT_DELVRY
‎2008 Dec 03 5:38 PM
what is the IDOC type you are getting which you are trying to post? if its DESADV, then changing partner profile is not going to make it DELVRY01
‎2008 Dec 03 7:04 PM
IDOC type is DELVRY01 or DELVRY03, the inbound fm IDOC_INPUT_DELVRY parses DELVRY*
It 's weird because I have deleted all entries in the partner profile that use DESADV message type. I am checking the external system now.. but even when I test an IDOC using WE19, it still uses the DESADV message type.