I need desperately your proposal on the following.
I have the below big select
SELECT DISTINCT edocdata~bukrs, edocdata~gjahr, edocdata~belnr, edocdata~budat, "#EC CI_SEL_NESTED acdoca~racct, edocdata~xblnr, bkpf~bldat, edocdata~series, edocdata~numbr, edocdata~invoice_type, bseg~buzid, acdoca~koart, bseg~qsskz, skb1~altkt, acdoca~mwskz, aade_vat~vat_category_mycloud, aade_vat~vat_exemption_categ_aade, coalesce( CASE WHEN bseg~shkzg = 'H' THEN -1 * bseg~dmbtr ELSE bseg~dmbtr END, acdoca~hsl ) AS hsl, bkpf~hwaer, acdoca~kunnr, acdoca~lifnr, acdoca~blart, CASE WHEN bseg~shkzg = 'H' THEN -1 * bseg~qbshb ELSE bseg~qbshb END AS qbshb, bset~kbetr * @( CONV kbetr_tax( '0.10' ) ) AS kbetr, edocdata~stceg,edocdata~name1 AS name, edocdata~stras AS street, edocdata~house_num1, edocdata~city1, edocdata~post_code1, edocdata~country, edocdata~zedoc_type, edocdata~sd_status, edocdata~rev_document, CASE WHEN acdoca~koart = 'D' THEN kna1~adrnr WHEN acdoca~koart = 'K' THEN lfa1~adrnr ELSE ' ' END AS adrnr, CASE WHEN bseg~buzei IS NULL THEN acdoca~docln ELSE bseg~buzei END AS docln FROM zslgebk_edocdtgt AS edocdata INNER JOIN zslgebk_control AS control ON edocdata~bukrs = control~company_code INNER JOIN bkpf ON edocdata~bukrs = bkpf~bukrs AND edocdata~gjahr = bkpf~gjahr AND edocdata~belnr = bkpf~belnr INNER JOIN acdoca ##DB_FEATURE_MODE[TABLE_LEN_MAX1] ON edocdata~bukrs = acdoca~rbukrs AND edocdata~gjahr = acdoca~gjahr AND edocdata~belnr = acdoca~belnr AND acdoca~rldnr = control~ledger LEFT OUTER JOIN bseg ON acdoca~rbukrs = bseg~bukrs AND acdoca~gjahr = bseg~gjahr AND acdoca~belnr = bseg~belnr AND acdoca~buzei = bseg~buzei LEFT OUTER JOIN bset ON acdoca~rbukrs = bset~bukrs AND acdoca~gjahr = bset~gjahr AND acdoca~belnr = bset~belnr AND acdoca~racct = bset~hkont LEFT OUTER JOIN kna1 ON acdoca~kunnr = kna1~kunnr LEFT OUTER JOIN lfa1 "#EC CI_SEL_NESTED ON acdoca~lifnr = lfa1~lifnr LEFT OUTER JOIN skb1 ON acdoca~rbukrs = skb1~bukrs AND acdoca~racct = skb1~saknr LEFT OUTER JOIN zslgebk_tax_vat AS aade_vat ON acdoca~rbukrs = aade_vat~company_code AND acdoca~mwskz = aade_vat~tax_code WHERE acdoca~rbukrs = @company_code ORDER BY edocdata~bukrs, edocdata~gjahr, edocdata~belnr, aade_vat~vat_category_mycloud, acdoca~mwskz, acdoca~koart, qbshb INTO CORRESPONDING FIELDS OF TABLE @it_web_service_data.SELECT DISTINCT edocdata~bukrs, edocdata~gjahr, edocdata~belnr, edocdata~budat, "#EC CI_SEL_NESTED acdoca~racct, edocdata~xblnr, bkpf~bldat, edocdata~series, edocdata~numbr, edocdata~invoice_type, bseg~buzid, acdoca~koart, bseg~qsskz, skb1~altkt, acdoca~mwskz, aade_vat~vat_category_mycloud, aade_vat~vat_exemption_categ_aade, coalesce( CASE WHEN bseg~shkzg = 'H' THEN -1 * bseg~dmbtr ELSE bseg~dmbtr END, acdoca~hsl ) AS hsl, bkpf~hwaer, acdoca~kunnr, acdoca~lifnr, acdoca~blart, CASE WHEN bseg~shkzg = 'H' THEN -1 * bseg~qbshb ELSE bseg~qbshb END AS qbshb, bset~kbetr * @( CONV kbetr_tax( '0.10' ) ) AS kbetr, edocdata~stceg,edocdata~name1 AS name, edocdata~stras AS street, edocdata~house_num1, edocdata~city1, edocdata~post_code1, edocdata~country, edocdata~zedoc_type, edocdata~sd_status, edocdata~rev_document, CASE WHEN acdoca~koart = 'D' THEN kna1~adrnr WHEN acdoca~koart = 'K' THEN lfa1~adrnr ELSE ' ' END AS adrnr, CASE WHEN bseg~buzei IS NULL THEN acdoca~docln ELSE bseg~buzei END AS docln FROM zslgebk_edocdtgt AS edocdata INNER JOIN zslgebk_control AS control ON edocdata~bukrs = control~company_code INNER JOIN bkpf ON edocdata~bukrs = bkpf~bukrs AND edocdata~gjahr = bkpf~gjahr AND edocdata~belnr = bkpf~belnr INNER JOIN acdoca ##DB_FEATURE_MODE[TABLE_LEN_MAX1] ON edocdata~bukrs = acdoca~rbukrs AND edocdata~gjahr = acdoca~gjahr AND edocdata~belnr = acdoca~belnr AND acdoca~rldnr = control~ledger LEFT OUTER JOIN bseg ON acdoca~rbukrs = bseg~bukrs AND acdoca~gjahr = bseg~gjahr AND acdoca~belnr = bseg~belnr AND acdoca~buzei = bseg~buzei LEFT OUTER JOIN bset ON acdoca~rbukrs = bset~bukrs AND acdoca~gjahr = bset~gjahr AND acdoca~belnr = bset~belnr AND acdoca~racct = bset~hkont LEFT OUTER JOIN kna1 ON acdoca~kunnr = kna1~kunnr LEFT OUTER JOIN lfa1 "#EC CI_SEL_NESTED ON acdoca~lifnr = lfa1~lifnr LEFT OUTER JOIN skb1 ON acdoca~rbukrs = skb1~bukrs AND acdoca~racct = skb1~saknr LEFT OUTER JOIN zslgebk_tax_vat AS aade_vat ON acdoca~rbukrs = aade_vat~company_code AND acdoca~mwskz = aade_vat~tax_code WHERE acdoca~rbukrs = @company_code ORDER BY edocdata~bukrs, edocdata~gjahr, edocdata~belnr, aade_vat~vat_category_mycloud, acdoca~mwskz, acdoca~koart, qbshb INTO CORRESPONDING FIELDS OF TABLE @it_web_service_data.<br>
The Global Temporary Table zslgebk_edocdtgt is inserted from an ITAB and containing 150 or less records (no more). This Select uses approximately 650 GB.
I am using GT table because I didn't want to use the FOR ALL ENTRIES.
Can you suggest any solution to this problem? The system is SAP S/4HANA 1709.
Will be a CDS a solution?
Thanks
Elias
PS1. Let me show you how I fill the the GTT ZSLGEBK_EDOCDTGT
FIELD-SYMBOLS: <it_data> TYPE STANDARD TABLE. split_edocdata_to_smaller( cht_edocdata ). LOOP AT it_edocdata_small_tables INTO DATA(edocdata_small_table). ASSIGN edocdata_small_table->* TO <it_data>. INSERT zslgebk_edocdtgt FROM TABLE @<it_data>.<br>
The it_edocdata_small_tables is TYPE STANDARD TABLE OF REF TO data
And then follow the big SELECT. Is sth wrong with the insertion?
PS2. The same code and with 150 records in GTT ZSLGEBK_EDOCDTGT is working perfect and fills the ITAB IT_WEB_SERVICE_DATA with 959 records. Strange, really strange.