Da die Conditiontable intern im FUBA /GUIXT/DBSELECT auf 8000 CHAR beschränkt ist, kann es notwendig werden folgenden Workaround zu verwenden.
Set V[i] 1
CopyText fromFile="Materalien.txt" toText="temp" -nocache
Label Fill_MATNR
CopyText fromText="temp" toString="zeile" Line="&V[i]"
if Q[ok]
Set Text[zeile] "&V[zeile]"
CopyText fromText="zeile" toString="matnr" Line="3" Delimiter="|"
if Q[ok]
if V[i=1]
Set V[Conditiontable.Feld.1] "WERKS = '1010' AND ( MATNR = '&V[matnr]'"
else
Set V[Conditiontable.Feld.&V[i]] "OR MATNR = '&V[matnr]'"
endif
endif
Set V[i] &[i] + 1
goto Fill_MATNR
else
Set V[Conditiontable.Feld.&V[i]] ")"
endif
Dadurch kann man schier unbeschränkte Conditionen definieren. Wobei früher oder später, je nach Datenbanksystem, einen Parsingfehler ausgegeben wird. In einer Anwendung von einem Kunden von mir klappte es bei einer Einschränkung auf Materialen bis auf 32000 bei einem S4H System.