Change all table unload priority in hana

Change all table priority for unload in short time.


create procedure update_unload_priority() LANGUAGE SQLSCRIPT AS
CURSOR C_TABLE
FOR SELECT 'ALTER TABLE "' || TABLE_NAME || '" UNLOAD PRIORITY 9;' AS SQLTEXT
FROM SYS.TABLES
WHERE SCHEMA_NAME = 'MYSCHEMA' AND TABLE_TYPE = 'COLUMN' and temporary_table_type = 'NONE' AND unload_priority <> 9;
BEGIN
OPEN C_TABLE;
FOR cur_row AS C_TABLE DO
EXEC cur_row.SQLTEXT;
END FOR;
END;

Convert all row table to column in Hana

You can convert all row table to column table with below procedure:


create procedure convert_column() LANGUAGE SQLSCRIPT AS
CURSOR C_TABLE
FOR SELECT 'ALTER TABLE "' || TABLE_NAME || '" COLUMN;' AS SQLTEXT
FROM SYS.TABLES
WHERE SCHEMA_NAME = 'SAPABAP1' AND TABLE_TYPE = 'ROW' and temporary_table_type = 'NONE';
BEGIN
OPEN C_TABLE;
FOR cur_row AS C_TABLE DO
EXEC cur_row.SQLTEXT;
END FOR;
END;

You can execute below procedure like this:

CALL convert_column;

Unloading all column table in hana

You can use below procedure for unloading all column tables in Hana.


create procedure unload_all() LANGUAGE SQLSCRIPT AS
CURSOR C_TABLE
FOR SELECT 'UNLOAD “' || TABLE_NAME || '”;' AS SQLTEXT
FROM SYS.TABLES
WHERE SCHEMA_NAME = 'MYSCHEMA' AND TABLE_TYPE = 'COLUMN' and temporary_table_type = 'NONE';
BEGIN
OPEN C_TABLE;
FOR cur_row AS C_TABLE DO
EXEC cur_row.SQLTEXT;
END FOR;
END;

You call this procedure like below:

CALL unload_all;

LOWERCASE HTTP SCRAMBLE

REPORT  Z_LOWERCASE_HTTP_SCRAMBLE.

data: conv type ref to cl_abap_conv_out_ce,
buffer type xstring,
x4(4) type x,
y4(4) type x,
x type x,
i type i,
mask(4) type x value ‘0000003F’,
dest(100) type x,
lf type f.

data: stab(64) type x value
‘F0ED53B83244F1F876C67959FD4F13A2’ &
‘C15195EC5483C234774943A27DE26596’ &
‘5E5398789A17A33CD383A8B829FBDCA5′ &
’55D702778413ACDDF9B83116610E6DFA’.
data: sourcelen type i,
key       type i,
source    type string,
destination type c LENGTH 100.
sourcelen = 5.
key = 26101957.
source = ‘sifre’.

if sourcelen eq 0. exit. endif.

y4 = key.
x4 = key * 2.
y4 = y4 bit-xor x4.
x4 = key / 32.
y4 = y4 bit-xor x4.
y4 = y4 bit-and mask.

conv = cl_abap_conv_out_ce=>create( encoding = ‘UTF-8’ ).
call method conv->write( data = source ).
buffer = conv->get_buffer( ).

i = 0.
do sourcelen times.
if sy-index eq 40.
x4 = 1.
endif.
lf = ( key * i * i – i ) mod 256.
x = lf.
x = stab+y4(1) bit-xor x.
dest+i = buffer+i(1) bit-xor x.
i = i + 1.
y4 = y4 + 1.
y4 = y4 bit-and mask.
enddo.

write dest(sourcelen) to destination.
write destination.