We created a filter in ALE setup (BD64) for a Z message type for a partner in a our distribution model. The filter is based on COUNTRY / LAND1 of a custom segment (say, Z_MY_SGMNT), our requirement is system should process the data only for France and create the IDOCs. If the country is other than France, by pass/skip that row/record/segment/data and do nothing (obviously should not create any segment / IDOC), say
1) Say, I have 2 records(US & FR) in my itab and with these 2 records am creating 2 segments of same type of Z_MY_SGMNT
first Z_MY_SGMNT possess 'US' and second Z_MY_SGMNT possess 'FR', in this example, system is skipping the 1st row/record/segment/data (as its for 'US') and creating a successful IDOC with only one segment of type of Z_MY_SGMNT for FR, well.
2) If i have both records for 'US' in the above example, then am getting an error from MASTER_IDOC_DISTRIBUTE (pls. note SY-SUBRC still output as '0') saying
Distibution failed in MASTER_IDOC_DISTRIBUTE. Process aborted. Message no. YA308
Our expectation is that system sould not do any thing, just nothing.
Pls. let me know Why system is throwing an error message even though we setup an filter?
How we can handle this, because the SY-SUBRC from the above FM is '0'? we need just to do nothing (we do not want this error message)?