Dear Jakob,
The "Code to Data" at this level as in your example can be achieved with advanced Open SQL. In this case I would suggest use of expressions in Open SQL statements using the CASE construct as follows
select qc~certno, qc~zgtyp, qc~ebeln, qc~ebelp, qc~matnr, qc~werks, qc~charg, qc~lichn, qc~lfsnr,qc~lifnr, qc~hersteller, qc~mjahr, qc~mblnr, qc~zeile, qc~budat, qc~status, qc~remdat, qc~escdat, qc~certdat, qc~certrec, qc~ersteller, qc~ersteldat, qc~erstelzeit, qc~aenderer, qc~aenderdat, qc~aenderzeit, case be~shkzg when 'H' then be~menge * -1 else be~menge end as menge, po~meins from qcpr as qc inner join ekbe as be on qc~ebeln = be~ebeln and qc~ebelp = be~ebelp and qc~mjahr = be~lfgja and qc~mblnr = be~lfbnr and qc~zeile = be~lfpos inner join ekpo as po on qc~ebeln = po~ebeln and qc~ebelp = po~ebelp into table @data(lt_result) .
Please refer to documentation on new open SQL syntax and features here.
Information about support for expressions in Open SQL
Hope this helps.
Best regards
Sundar