Aligning Dates for primary ticker & Synthetic Tickers

Along with EOD price data I have Quarterly Results data (In Synthetic Ticker 1) and Shareholding Disclosure ( in Synthetic Ticker 2).

I am using foreign() to pad and align these two synthetic ticker data with Price.

Challenge is, many times the Quarterly Results & Shareholding Disclosures are done on Saturday/ Sunday or on holiday when the market was closed, meaning no Price data.

Hence, by using foreign() I am loosing almost 20% information because of dates not aligned among these data.

I wish there was an option in Foreign() of referencing Nth Occurrence when the dates do not match.

what can be the alternate solution please?

Forgot to mention below:

if no date match is found in synthetic ticker then foreign() will maximum look for previous bar, but as we know Quarterly results is disclosed 3 months apart, hence even the previous bar will be NULL.