Dinamik Kolonlu Tablo Oluşturma | Troia
Merhaba, kolonlarını dinamik olarak oluşturmamız gereken bir tablo ihtiyacımız olmuştu.
Senaryo şu şekilde: İçerisinde markaların yer aldığı bir destek tablomuz var. Bu markalara göre oranları görüntülemek istediğimiz bir tabloya ihtiyacımız oldu.
Bu destek tablosu da sabit değil yeni markalar eklenebiliyor. O yüzden dinamik olması lazımdı.
Şu şekilde çözmüştük. İhtiyacı olanlar için paylaşıyorum:
Ekrana TBLMARKAORAN adında bir tablo ekleyip AFTER kısmında şunları yazmıştık.
SELECT CODE
FROM MARKALAR
WHERE CLIENT = '00'
AND COMPANY = '01';
LOCAL:
STRINGBUILDER SBRDEGER,STRINGBUILDER SBRKOLON;
APPENDSTRING ' SELECT COMPANY ' TO SBRDEGER;
LOOP AT MARKALAR
BEGIN
APPENDSTRING ' APPEND COLUMN ' TO SBRKOLON;
APPENDSTRING MARKALAR_CODE TO SBRKOLON;
APPENDSTRING ', DECIMAL, 21 TO TBLMARKAORAN;' TO SBRKOLON;
APPENDSTRING ', 0.00 AS ' TO SBRDEGER;
APPENDSTRING MARKALAR_CODE TO SBRDEGER;
ENDLOOP;
APPENDSTRING ' FROM IASBAS001 WHERE 1 = 2 INTO TBLMARKAORAN;' TO SBRDEGER;
RUNCODE SBRKOLON;
SET TBLMARKAORAN TO TABLE TBLMARKAORAN;
RUNCODE SBRDEGER;
Selamlar.