我怎样才能写出这样的表达式

How can I write the expression such that

我有这个表情

(IIF(LTRIM(RTRIM(SUBSTR(HEADER_INFO,2,13)))='',NULL,LTRIM(RTRIM(SUBSTR(HEADER_INFO,2,13)))))

对于下面的示例数据,在H记录后发现多条D记录时失败

我的目标是表达如果在 H 记录之后看到多个 D 记录,它也读取这些记录,如果只有一个 D 记录,它读取该记录并移动到下一个 H 记录。

现在,它失败了,因为它期望在每个D记录之后都有一个H记录,但是有如下所示的情况,在一个H记录之后有多个D记录。

HP5919274001273HWA8365C    DEFORD              DONITA         1245327121     1184950479                    6021928     0 20191001201910017        0       
D1   D00054317763400       
HP2519274011110HWA8365C    DEFORD              DONITA         1245327121     1184950479                    6021928     0 20191001201910017        0       
D1   P00054317763400       
HQ2519280005752HWA8365C    DEFORD              DONITA         1245327121     1184950479                    6022011     0 201910072019100710       0       
D1   P49348004537100       
D2   P49348015339100       
D3   P00054350049100       
HQ2519289004679HWA8365C    DEFORD              DONITA         1245327121     1184950479                    6022011     1 201910072019101610       0       
D1   P49348004537100       
D2   P49348015339100       
D3   P00054350049100       
HP2519309005224HWA8365C    DEFORD              DONITA         1245327121     1184950479                    2012699     0 201911052019110514       0       
D1   D00904667840315       
HP2519309005132HWA8365C    DEFORD              DONITA         1245327121     1184950479                    2012699     0 201911052019110514       0

是的,请附上

我通过为所有字段创建变量解决了这个问题,所以我的条件如下 (IIF(LTRIM(RTRIM(SUBSTR(HEADER_INFO,2,13)​​))='',v_v_ICN,LTRIM(RTRIM(SUBSTR(HEADER_INFO,2,13)​​))) ) (IIF(LTRIM(RTRIM(SUBSTR(HEADER_INFO,15,12)))='',v_v_MBR_ID,LTRIM(RTRIM(SUBSTR(HEADER_INFO,15,12)))) )