<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic SAS Viya + HTML Form in SAS Software for Learning Community</title>
    <link>https://communities.sas.com/t5/SAS-Software-for-Learning/SAS-Viya-HTML-Form/m-p/978709#M2761</link>
    <description>&lt;P&gt;&lt;SPAN&gt;Dear Forum Users,&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I would like to ask, that is it possible to implement my idead using SAS Viya, because I am struggling to make it work, and I would love to get some help on this topic. I am using SAS Viya for Learners.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;So here is my idea: I would like to make a Job Definition in SAS Viya -&amp;gt; SAS Studio, and using a parameter and an HTML form, I would like to make a user parameterizable data generating program. Like the user should see a slider which sets a ratio at which the data would generate into a data table, or something like this.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I would really appreciate the help from you guys, because this would be my final thesis.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Here are my codes:&lt;BR /&gt;Job definition Program:&lt;BR /&gt;&lt;DIV&gt;cas;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;libname mycas cas caslib="CASUSER(h260198@stud.u-szeged.hu)";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;%macro generate_data(p_hitel=0.7);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;%if %length(&amp;amp;p_hitel)=0 %then %let p_hitel=0.7;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;data SZAMLA (keep = LEJARAT_DATUM EGYENLEG_OSSZEG DEVIZANEM_KOD TORLESZTESEK_SZAMA&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TORLESZTES_OSSZEG UGYFEL_KOD TIPUS ALTIPUS SZAMLASZAM THM&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SZERZODES_OSSZEG INDULAS_DATUM KAMAT&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;index=(SZAMLASZAM));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; length SZAMLASZAM $26 UGYFEL_KOD $12 TIPUS $1 ALTIPUS $3 DEVIZANEM_KOD $3;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; length INDULAS_DATUM LEJARAT_DATUM EGYENLEG_OSSZEG TORLESZTESEK_SZAMA&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TORLESZTES_OSSZEG THM KAMAT SZERZODES_OSSZEG 8;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; format LEJARAT_DATUM INDULAS_DATUM yymmdd10.;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; do i=1 to 500;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /* initialize */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; INDULAS_DATUM=.; LEJARAT_DATUM=.; EGYENLEG_OSSZEG=.;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; TORLESZTESEK_SZAMA=.; TORLESZTES_OSSZEG=.; THM=.; KAMAT=.; SZERZODES_OSSZEG=.;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; SZAMLASZAM = "12345678-12345678-" || substr(trim(left(100000000+i)),2,8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; RND = int(ranuni(1)*10000 + 6);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; UGYFEL_KOD = substr(trim(left(100000000+RND)),2,8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if ranuni(1) &amp;lt; &amp;amp;p_hitel then TIPUS="H"; else TIPUS="B";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if TIPUS="H" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0.4) ALTIPUS="LAK";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0.1) ALTIPUS="SZM";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0)&amp;nbsp; &amp;nbsp;ALTIPUS="ARU";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; otherwise ALTIPUS="";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; else do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0.4) ALTIPUS="FSZ";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0)&amp;nbsp; &amp;nbsp;ALTIPUS="LKB";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; otherwise ALTIPUS="";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /* devizanem */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0.4) DEVIZANEM_KOD="HUF";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0.1) DEVIZANEM_KOD="EUR";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0)&amp;nbsp; &amp;nbsp;DEVIZANEM_KOD="USD";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; otherwise DEVIZANEM_KOD="HUF";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; RND = ranuni(1)*1000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; INDULAS_DATUM = date() - RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if TIPUS="H" or ALTIPUS="LKB" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = ranuni(1)*1000 + 30;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; LEJARAT_DATUM = date() + RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; LEJARAT_DATUM = mdy(month(LEJARAT_DATUM),1,year(LEJARAT_DATUM));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if ALTIPUS="LAK" then LEJARAT_DATUM = mdy(month(INDULAS_DATUM),1,year(INDULAS_DATUM)+20);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if TIPUS="B" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = ranuni(1)*10000000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if ALTIPUS="LKB" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KAMAT = 0.08;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SZERZODES_OSSZEG = int(RND/10000)*10000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* egyszerűbb határidő-számítás (nem tökéletes pénzügyi képlet, de működik) */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EGYENLEG_OSSZEG = SZERZODES_OSSZEG * (1 + KAMAT/12) ** int((date()-INDULAS_DATUM)/30);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; else do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KAMAT = 0.04;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RND = ranuni(1)*10000000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EGYENLEG_OSSZEG = RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if TIPUS="H" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = round((ranuni(1)*1000 + 500),100) * 10000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (ALTIPUS="LAK") do; THM = 0.06; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (ALTIPUS="SZM") do; THM = 0.20; RND = RND/10; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (ALTIPUS="ARU") do; THM = 0.30; RND = RND/100; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; otherwise THM = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; SZERZODES_OSSZEG = RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if not missing(LEJARAT_DATUM) and not missing(INDULAS_DATUM) then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TORLESZTESEK_SZAMA = INT((LEJARAT_DATUM - INDULAS_DATUM)/30) + 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* egyszerűsített törlesztési képlet: havi kamatláb r = THM/12 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if TORLESZTESEK_SZAMA &amp;gt; 0 and THM &amp;gt; 0 then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; r = THM/12;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TORLESZTES_OSSZEG = SZERZODES_OSSZEG * (r / (1 - (1 + r) ** (-TORLESZTESEK_SZAMA)));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drop r;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else TORLESZTES_OSSZEG = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; output;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; end; /* do i */&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* UGYFEL adat */&lt;/DIV&gt;&lt;DIV&gt;data UGYFEL (keep= UGYFEL_KOD UGYFEL_SZEGMENS UGYFEL_NEV UGYFEL_LAKHELY UGYFEL_DEFAULT&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UGYFEL_JOVEDELEM NETTO_ARBEVETEL UGYFEL_MINOSITES);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;length UGYFEL_KOD $12 UGYFEL_SZEGMENS $1 UGYFEL_NEV $50 UGYFEL_LAKHELY $15 UGYFEL_DEFAULT $1&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UGYFEL_JOVEDELEM 8 NETTO_ARBEVETEL 8 UGYFEL_MINOSITES $1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;do i=1 to 500;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;UGYFEL_JOVEDELEM=.; NETTO_ARBEVETEL=.; UGYFEL_MINOSITES="";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;UGYFEL_KOD = substr(trim(left(100000000+i)),2,8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; when (i=1) do; UGYFEL_SZEGMENS="A"; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; when (i LE 5) do; UGYFEL_SZEGMENS="B"; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; when (RND GT 0.6) do; UGYFEL_SZEGMENS="L"; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; otherwise do; UGYFEL_SZEGMENS="V"; end;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;end;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.6) UGYFEL_LAKHELY="Budapest";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.3) UGYFEL_LAKHELY="Megyeszekhely";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.2) UGYFEL_LAKHELY="Varos";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;otherwise&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UGYFEL_LAKHELY="Egyeb";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS in ("A","B") then UGYFEL_LAKHELY="Budapest";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS in ("L","V") then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.6) UGYFEL_NEV="Kovacs";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.3) UGYFEL_NEV="Szabo";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.2) UGYFEL_NEV="Kiss";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;otherwise&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UGYFEL_NEV="Nagy";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS="V" then UGYFEL_NEV = catx(' ', UGYFEL_NEV, put(i,8. -L), "Kft");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;/* speciális nevek az első 5-re */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if i=1 then UGYFEL_NEV="Magyar Allam";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;else if i=2 then UGYFEL_NEV="OTP";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;else if i=3 then UGYFEL_NEV="ERSTE";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;else if i=4 then UGYFEL_NEV="BB";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;else if i=5 then UGYFEL_NEV="KH";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS="V" and RND&amp;lt;0.2 then UGYFEL_DEFAULT="Y"; else UGYFEL_DEFAULT="N";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;RND = round((ranuni(1)*1000 + 1000),100)*10000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS="V" then NETTO_ARBEVETEL=RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS="L" then UGYFEL_JOVEDELEM=RND/10;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;UGYFEL_MINOSITES="1";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS in ("V","L") then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.6) UGYFEL_MINOSITES="2";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.3) UGYFEL_MINOSITES="3";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.2) UGYFEL_MINOSITES="4";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;otherwise&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UGYFEL_MINOSITES="5";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;output;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* FEDEZET */&lt;/DIV&gt;&lt;DIV&gt;data FEDEZET (keep = FEDEZET_KOD UGYLET_SZAMLASZAM FEDEZET_TIPUS FEDEZET_OSSZEG&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FEDEZET_DEVIZANEM KIBOCSATO_KOD FEDEZET_INDULAS_DATUM FEDEZET_LEJARAT_DATUM);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; length FEDEZET_KOD $8 UGYLET_SZAMLASZAM $26 FEDEZET_TIPUS $8 FEDEZET_OSSZEG 8 FEDEZET_DEVIZANEM $3&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;KIBOCSATO_KOD $8 FEDEZET_INDULAS_DATUM 8 FEDEZET_LEJARAT_DATUM 8;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; format FEDEZET_LEJARAT_DATUM FEDEZET_INDULAS_DATUM yymmdd10.;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; k = 0;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; do i = 1 to 500;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if int(i/3)=i/3 or (i in (2,4,8,10)) then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; UGYLET_SZAMLASZAM = "12345678-12345678-" || substr(trim(left(100000000+i)),2,8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; /* a megfelelő SZAMLA rekord beolvasása biztonságosan */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; set SZAMLA point=i nobs=ossz;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if _N_ &amp;gt; ossz then stop;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = int(ranuni(1)*5);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if ALTIPUS="LAK" then RND = RND + 2;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; do j = 1 to RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_TIPUS=""; KIBOCSATO_KOD=""; FEDEZET_OSSZEG=.; FEDEZET_DEVIZANEM="";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_INDULAS_DATUM=.; FEDEZET_LEJARAT_DATUM=.;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ALTIPUS="LAK" and j LE 2 then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if j=1 then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_TIPUS="INGATLAN";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_OSSZEG = SZERZODES_OSSZEG * 1.2;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if j=2 then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_TIPUS="ALL_GAR";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_OSSZEG = SZERZODES_OSSZEG * 0.1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KIBOCSATO_KOD = "00000001";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RND2 = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND2 &amp;gt; 0.6) FEDEZET_TIPUS="KEZESSEG";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND2 &amp;gt; 0.3) FEDEZET_TIPUS="BANK_GAR";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; otherwise FEDEZET_TIPUS="LETET";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_OSSZEG = round(SZERZODES_OSSZEG * ranuni(1), 10000);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if FEDEZET_TIPUS ne "" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; k + 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_KOD = substr(trim(left(100000000+k)),2,8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_DEVIZANEM = DEVIZANEM_KOD;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_INDULAS_DATUM = INDULAS_DATUM;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_LEJARAT_DATUM = LEJARAT_DATUM;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; output;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* HITEL */&lt;/DIV&gt;&lt;DIV&gt;data HITEL (drop=i havi);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; set SZAMLA (where=(tipus="H"));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; hatralevo_torlesztes = INT((LEJARAT_DATUM - date())/30) + 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; EGYENLEG_OSSZEG = 0;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; do i = 1 to max(hatralevo_torlesztes,1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /* egyszerűsített havi összeg hozzáadása */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if torlesztes_osszeg &amp;gt; . then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; havi = torlesztes_osszeg / ((1 + THM/12) ** (i-1));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; EGYENLEG_OSSZEG = sum(egyenleg_osszeg, havi);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; output;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* ARFOLYAM */&lt;/DIV&gt;&lt;DIV&gt;data ARFOLYAM;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; devizanem_kod = "HUF"; arfolyam = 1; output;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; devizanem_kod = "EUR"; arfolyam = 401; output;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; devizanem_kod = "USD"; arfolyam = 380; output;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;%mend generate_data;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* Makróhívás */&lt;/DIV&gt;&lt;DIV&gt;%generate_data(p_hitel=&amp;amp;p_hitel);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* --- Mentés a CASUSER-be (ha a táblák először a Work-ben készülnek el) --- */&lt;/DIV&gt;&lt;DIV&gt;data mycas.SZAMLA;&amp;nbsp; &amp;nbsp; set SZAMLA;&amp;nbsp; &amp;nbsp; run;&lt;/DIV&gt;&lt;DIV&gt;data mycas.UGYFEL;&amp;nbsp; &amp;nbsp; set UGYFEL;&amp;nbsp; &amp;nbsp; run;&lt;/DIV&gt;&lt;DIV&gt;data mycas.FEDEZET;&amp;nbsp; &amp;nbsp;set FEDEZET;&amp;nbsp; &amp;nbsp;run;&lt;/DIV&gt;&lt;DIV&gt;data mycas.HITEL;&amp;nbsp; &amp;nbsp; &amp;nbsp;set HITEL;&amp;nbsp; &amp;nbsp; &amp;nbsp;run;&lt;/DIV&gt;&lt;DIV&gt;data mycas.ARFOLYAM;&amp;nbsp; set ARFOLYAM;&amp;nbsp; run;&lt;BR /&gt;&lt;BR /&gt;HTML Form:&lt;BR /&gt;&lt;P&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;BR /&gt;&amp;lt;html lang="hu"&amp;gt;&lt;BR /&gt;&amp;lt;head&amp;gt;&lt;BR /&gt;&amp;lt;meta charset="utf-8"&amp;gt;&lt;BR /&gt;&amp;lt;title&amp;gt;Adatgenerálás paraméterezése&amp;lt;/title&amp;gt;&lt;BR /&gt;&amp;lt;style&amp;gt;&lt;BR /&gt;body { font-family: Arial, sans-serif; margin: 2rem; }&lt;BR /&gt;h2 { color: #003366; }&lt;BR /&gt;#status { display: none; margin-top: 10px; color: #0066cc; }&lt;BR /&gt;.visible { display: block; }&lt;BR /&gt;label { font-weight: bold; }&lt;BR /&gt;&amp;lt;/style&amp;gt;&lt;BR /&gt;&amp;lt;/head&amp;gt;&lt;BR /&gt;&amp;lt;body&amp;gt;&lt;BR /&gt;&amp;lt;h2&amp;gt;Adatgenerálás paraméterezése&amp;lt;/h2&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;form id="adatForm" method="post" action="/SASJobExecution/" target="_SASResults"&lt;BR /&gt;autocomplete="off" enctype="application/x-www-form-urlencoded"&amp;gt;&lt;BR /&gt;&amp;lt;!-- SAS Job hivatkozása (Content útvonal) --&amp;gt;&lt;BR /&gt;&amp;lt;input type="hidden" name="_program" value="/Users/h260198@stud.u-szeged.hu/My Folder/szakdoga/adatgeneralas_job"&amp;gt;&lt;BR /&gt;&amp;lt;input type="hidden" name="_action" value="execute"&amp;gt;&lt;BR /&gt;&amp;lt;input type="hidden" name="_output_type" value="ods_html5"&amp;gt;&lt;BR /&gt;&amp;lt;input type="hidden" name="_CSRF" value="$CSRF$"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;label for="p_hitel"&amp;gt;&lt;BR /&gt;Hitelek aránya (p_hitel):&lt;BR /&gt;&amp;lt;input type="range" id="p_hitel" name="p_hitel" min="0" max="1" step="0.01" value="0.7"&lt;BR /&gt;oninput="document.getElementById('val').innerText=this.value"&amp;gt;&lt;BR /&gt;&amp;lt;span id="val"&amp;gt;0.70&amp;lt;/span&amp;gt;&lt;BR /&gt;&amp;lt;/label&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;BR /&gt;&amp;lt;button type="submit" id="submitBtn"&amp;gt;&lt;span class="lia-unicode-emoji" title=":small_blue_diamond:"&gt;🔹&lt;/span&gt; Adatgenerálás indítása&amp;lt;/button&amp;gt;&lt;BR /&gt;&amp;lt;/form&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;div id="status"&amp;gt;&lt;span class="lia-unicode-emoji" title=":counterclockwise_arrows_button:"&gt;🔄&lt;/span&gt; A job fut, kérem várjon...&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;script&amp;gt;&lt;BR /&gt;const form = document.getElementById('adatForm');&lt;BR /&gt;const status = document.getElementById('status');&lt;BR /&gt;const submitBtn = document.getElementById('submitBtn');&lt;/P&gt;&lt;P&gt;form.addEventListener('submit', () =&amp;gt; {&lt;BR /&gt;submitBtn.disabled = true;&lt;BR /&gt;status.classList.add('visible');&lt;BR /&gt;});&lt;BR /&gt;&amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;/body&amp;gt;&lt;BR /&gt;&amp;lt;/html&amp;gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thank you in advance.&lt;/DIV&gt;</description>
    <pubDate>Wed, 12 Nov 2025 08:50:40 GMT</pubDate>
    <dc:creator>gulyaspetermark</dc:creator>
    <dc:date>2025-11-12T08:50:40Z</dc:date>
    <item>
      <title>SAS Viya + HTML Form</title>
      <link>https://communities.sas.com/t5/SAS-Software-for-Learning/SAS-Viya-HTML-Form/m-p/978709#M2761</link>
      <description>&lt;P&gt;&lt;SPAN&gt;Dear Forum Users,&lt;/SPAN&gt;&lt;/P&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I would like to ask, that is it possible to implement my idead using SAS Viya, because I am struggling to make it work, and I would love to get some help on this topic. I am using SAS Viya for Learners.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;So here is my idea: I would like to make a Job Definition in SAS Viya -&amp;gt; SAS Studio, and using a parameter and an HTML form, I would like to make a user parameterizable data generating program. Like the user should see a slider which sets a ratio at which the data would generate into a data table, or something like this.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;I would really appreciate the help from you guys, because this would be my final thesis.&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;Here are my codes:&lt;BR /&gt;Job definition Program:&lt;BR /&gt;&lt;DIV&gt;cas;&amp;nbsp;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;libname mycas cas caslib="CASUSER(h260198@stud.u-szeged.hu)";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;%macro generate_data(p_hitel=0.7);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;%if %length(&amp;amp;p_hitel)=0 %then %let p_hitel=0.7;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;data SZAMLA (keep = LEJARAT_DATUM EGYENLEG_OSSZEG DEVIZANEM_KOD TORLESZTESEK_SZAMA&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TORLESZTES_OSSZEG UGYFEL_KOD TIPUS ALTIPUS SZAMLASZAM THM&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;SZERZODES_OSSZEG INDULAS_DATUM KAMAT&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;index=(SZAMLASZAM));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; length SZAMLASZAM $26 UGYFEL_KOD $12 TIPUS $1 ALTIPUS $3 DEVIZANEM_KOD $3;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; length INDULAS_DATUM LEJARAT_DATUM EGYENLEG_OSSZEG TORLESZTESEK_SZAMA&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;TORLESZTES_OSSZEG THM KAMAT SZERZODES_OSSZEG 8;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; format LEJARAT_DATUM INDULAS_DATUM yymmdd10.;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; do i=1 to 500;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /* initialize */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; INDULAS_DATUM=.; LEJARAT_DATUM=.; EGYENLEG_OSSZEG=.;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; TORLESZTESEK_SZAMA=.; TORLESZTES_OSSZEG=.; THM=.; KAMAT=.; SZERZODES_OSSZEG=.;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; SZAMLASZAM = "12345678-12345678-" || substr(trim(left(100000000+i)),2,8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; RND = int(ranuni(1)*10000 + 6);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; UGYFEL_KOD = substr(trim(left(100000000+RND)),2,8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if ranuni(1) &amp;lt; &amp;amp;p_hitel then TIPUS="H"; else TIPUS="B";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if TIPUS="H" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0.4) ALTIPUS="LAK";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0.1) ALTIPUS="SZM";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0)&amp;nbsp; &amp;nbsp;ALTIPUS="ARU";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; otherwise ALTIPUS="";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; else do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0.4) ALTIPUS="FSZ";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0)&amp;nbsp; &amp;nbsp;ALTIPUS="LKB";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; otherwise ALTIPUS="";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /* devizanem */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0.4) DEVIZANEM_KOD="HUF";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0.1) DEVIZANEM_KOD="EUR";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND GT 0)&amp;nbsp; &amp;nbsp;DEVIZANEM_KOD="USD";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; otherwise DEVIZANEM_KOD="HUF";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; RND = ranuni(1)*1000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; INDULAS_DATUM = date() - RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if TIPUS="H" or ALTIPUS="LKB" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = ranuni(1)*1000 + 30;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; LEJARAT_DATUM = date() + RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; LEJARAT_DATUM = mdy(month(LEJARAT_DATUM),1,year(LEJARAT_DATUM));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if ALTIPUS="LAK" then LEJARAT_DATUM = mdy(month(INDULAS_DATUM),1,year(INDULAS_DATUM)+20);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if TIPUS="B" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = ranuni(1)*10000000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if ALTIPUS="LKB" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KAMAT = 0.08;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; SZERZODES_OSSZEG = int(RND/10000)*10000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* egyszerűbb határidő-számítás (nem tökéletes pénzügyi képlet, de működik) */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EGYENLEG_OSSZEG = SZERZODES_OSSZEG * (1 + KAMAT/12) ** int((date()-INDULAS_DATUM)/30);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; else do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KAMAT = 0.04;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RND = ranuni(1)*10000000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; EGYENLEG_OSSZEG = RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if TIPUS="H" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = round((ranuni(1)*1000 + 500),100) * 10000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (ALTIPUS="LAK") do; THM = 0.06; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (ALTIPUS="SZM") do; THM = 0.20; RND = RND/10; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (ALTIPUS="ARU") do; THM = 0.30; RND = RND/100; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; otherwise THM = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; SZERZODES_OSSZEG = RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if not missing(LEJARAT_DATUM) and not missing(INDULAS_DATUM) then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TORLESZTESEK_SZAMA = INT((LEJARAT_DATUM - INDULAS_DATUM)/30) + 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /* egyszerűsített törlesztési képlet: havi kamatláb r = THM/12 */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if TORLESZTESEK_SZAMA &amp;gt; 0 and THM &amp;gt; 0 then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; r = THM/12;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; TORLESZTES_OSSZEG = SZERZODES_OSSZEG * (r / (1 - (1 + r) ** (-TORLESZTESEK_SZAMA)));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; drop r;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else TORLESZTES_OSSZEG = .;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; output;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; end; /* do i */&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* UGYFEL adat */&lt;/DIV&gt;&lt;DIV&gt;data UGYFEL (keep= UGYFEL_KOD UGYFEL_SZEGMENS UGYFEL_NEV UGYFEL_LAKHELY UGYFEL_DEFAULT&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UGYFEL_JOVEDELEM NETTO_ARBEVETEL UGYFEL_MINOSITES);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;length UGYFEL_KOD $12 UGYFEL_SZEGMENS $1 UGYFEL_NEV $50 UGYFEL_LAKHELY $15 UGYFEL_DEFAULT $1&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; UGYFEL_JOVEDELEM 8 NETTO_ARBEVETEL 8 UGYFEL_MINOSITES $1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;do i=1 to 500;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;UGYFEL_JOVEDELEM=.; NETTO_ARBEVETEL=.; UGYFEL_MINOSITES="";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;UGYFEL_KOD = substr(trim(left(100000000+i)),2,8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; when (i=1) do; UGYFEL_SZEGMENS="A"; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; when (i LE 5) do; UGYFEL_SZEGMENS="B"; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; when (RND GT 0.6) do; UGYFEL_SZEGMENS="L"; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; otherwise do; UGYFEL_SZEGMENS="V"; end;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;end;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.6) UGYFEL_LAKHELY="Budapest";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.3) UGYFEL_LAKHELY="Megyeszekhely";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.2) UGYFEL_LAKHELY="Varos";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;otherwise&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UGYFEL_LAKHELY="Egyeb";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS in ("A","B") then UGYFEL_LAKHELY="Budapest";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS in ("L","V") then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.6) UGYFEL_NEV="Kovacs";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.3) UGYFEL_NEV="Szabo";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.2) UGYFEL_NEV="Kiss";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;otherwise&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UGYFEL_NEV="Nagy";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS="V" then UGYFEL_NEV = catx(' ', UGYFEL_NEV, put(i,8. -L), "Kft");&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;/* speciális nevek az első 5-re */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if i=1 then UGYFEL_NEV="Magyar Allam";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;else if i=2 then UGYFEL_NEV="OTP";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;else if i=3 then UGYFEL_NEV="ERSTE";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;else if i=4 then UGYFEL_NEV="BB";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;else if i=5 then UGYFEL_NEV="KH";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS="V" and RND&amp;lt;0.2 then UGYFEL_DEFAULT="Y"; else UGYFEL_DEFAULT="N";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;RND = round((ranuni(1)*1000 + 1000),100)*10000;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS="V" then NETTO_ARBEVETEL=RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS="L" then UGYFEL_JOVEDELEM=RND/10;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;UGYFEL_MINOSITES="1";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;if UGYFEL_SZEGMENS in ("V","L") then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;RND = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.6) UGYFEL_MINOSITES="2";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.3) UGYFEL_MINOSITES="3";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;when (RND GT 0.2) UGYFEL_MINOSITES="4";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;otherwise&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;UGYFEL_MINOSITES="5";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp;output;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;end;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* FEDEZET */&lt;/DIV&gt;&lt;DIV&gt;data FEDEZET (keep = FEDEZET_KOD UGYLET_SZAMLASZAM FEDEZET_TIPUS FEDEZET_OSSZEG&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;FEDEZET_DEVIZANEM KIBOCSATO_KOD FEDEZET_INDULAS_DATUM FEDEZET_LEJARAT_DATUM);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; length FEDEZET_KOD $8 UGYLET_SZAMLASZAM $26 FEDEZET_TIPUS $8 FEDEZET_OSSZEG 8 FEDEZET_DEVIZANEM $3&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;KIBOCSATO_KOD $8 FEDEZET_INDULAS_DATUM 8 FEDEZET_LEJARAT_DATUM 8;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; format FEDEZET_LEJARAT_DATUM FEDEZET_INDULAS_DATUM yymmdd10.;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; k = 0;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; do i = 1 to 500;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if int(i/3)=i/3 or (i in (2,4,8,10)) then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; UGYLET_SZAMLASZAM = "12345678-12345678-" || substr(trim(left(100000000+i)),2,8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; /* a megfelelő SZAMLA rekord beolvasása biztonságosan */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; set SZAMLA point=i nobs=ossz;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if _N_ &amp;gt; ossz then stop;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; RND = int(ranuni(1)*5);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; if ALTIPUS="LAK" then RND = RND + 2;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; do j = 1 to RND;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_TIPUS=""; KIBOCSATO_KOD=""; FEDEZET_OSSZEG=.; FEDEZET_DEVIZANEM="";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_INDULAS_DATUM=.; FEDEZET_LEJARAT_DATUM=.;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if ALTIPUS="LAK" and j LE 2 then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if j=1 then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_TIPUS="INGATLAN";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_OSSZEG = SZERZODES_OSSZEG * 1.2;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else if j=2 then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_TIPUS="ALL_GAR";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_OSSZEG = SZERZODES_OSSZEG * 0.1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; KIBOCSATO_KOD = "00000001";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; else do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; RND2 = ranuni(1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; select;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND2 &amp;gt; 0.6) FEDEZET_TIPUS="KEZESSEG";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; when (RND2 &amp;gt; 0.3) FEDEZET_TIPUS="BANK_GAR";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; otherwise FEDEZET_TIPUS="LETET";&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_OSSZEG = round(SZERZODES_OSSZEG * ranuni(1), 10000);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; if FEDEZET_TIPUS ne "" then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; k + 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_KOD = substr(trim(left(100000000+k)),2,8);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_DEVIZANEM = DEVIZANEM_KOD;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_INDULAS_DATUM = INDULAS_DATUM;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; FEDEZET_LEJARAT_DATUM = LEJARAT_DATUM;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; output;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* HITEL */&lt;/DIV&gt;&lt;DIV&gt;data HITEL (drop=i havi);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; set SZAMLA (where=(tipus="H"));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; hatralevo_torlesztes = INT((LEJARAT_DATUM - date())/30) + 1;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; EGYENLEG_OSSZEG = 0;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; do i = 1 to max(hatralevo_torlesztes,1);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; /* egyszerűsített havi összeg hozzáadása */&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; if torlesztes_osszeg &amp;gt; . then do;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; havi = torlesztes_osszeg / ((1 + THM/12) ** (i-1));&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; EGYENLEG_OSSZEG = sum(egyenleg_osszeg, havi);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; &amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; end;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; output;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* ARFOLYAM */&lt;/DIV&gt;&lt;DIV&gt;data ARFOLYAM;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; devizanem_kod = "HUF"; arfolyam = 1; output;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; devizanem_kod = "EUR"; arfolyam = 401; output;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp; devizanem_kod = "USD"; arfolyam = 380; output;&lt;/DIV&gt;&lt;DIV&gt;run;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;%mend generate_data;&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* Makróhívás */&lt;/DIV&gt;&lt;DIV&gt;%generate_data(p_hitel=&amp;amp;p_hitel);&lt;/DIV&gt;&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;&lt;DIV&gt;/* --- Mentés a CASUSER-be (ha a táblák először a Work-ben készülnek el) --- */&lt;/DIV&gt;&lt;DIV&gt;data mycas.SZAMLA;&amp;nbsp; &amp;nbsp; set SZAMLA;&amp;nbsp; &amp;nbsp; run;&lt;/DIV&gt;&lt;DIV&gt;data mycas.UGYFEL;&amp;nbsp; &amp;nbsp; set UGYFEL;&amp;nbsp; &amp;nbsp; run;&lt;/DIV&gt;&lt;DIV&gt;data mycas.FEDEZET;&amp;nbsp; &amp;nbsp;set FEDEZET;&amp;nbsp; &amp;nbsp;run;&lt;/DIV&gt;&lt;DIV&gt;data mycas.HITEL;&amp;nbsp; &amp;nbsp; &amp;nbsp;set HITEL;&amp;nbsp; &amp;nbsp; &amp;nbsp;run;&lt;/DIV&gt;&lt;DIV&gt;data mycas.ARFOLYAM;&amp;nbsp; set ARFOLYAM;&amp;nbsp; run;&lt;BR /&gt;&lt;BR /&gt;HTML Form:&lt;BR /&gt;&lt;P&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;BR /&gt;&amp;lt;html lang="hu"&amp;gt;&lt;BR /&gt;&amp;lt;head&amp;gt;&lt;BR /&gt;&amp;lt;meta charset="utf-8"&amp;gt;&lt;BR /&gt;&amp;lt;title&amp;gt;Adatgenerálás paraméterezése&amp;lt;/title&amp;gt;&lt;BR /&gt;&amp;lt;style&amp;gt;&lt;BR /&gt;body { font-family: Arial, sans-serif; margin: 2rem; }&lt;BR /&gt;h2 { color: #003366; }&lt;BR /&gt;#status { display: none; margin-top: 10px; color: #0066cc; }&lt;BR /&gt;.visible { display: block; }&lt;BR /&gt;label { font-weight: bold; }&lt;BR /&gt;&amp;lt;/style&amp;gt;&lt;BR /&gt;&amp;lt;/head&amp;gt;&lt;BR /&gt;&amp;lt;body&amp;gt;&lt;BR /&gt;&amp;lt;h2&amp;gt;Adatgenerálás paraméterezése&amp;lt;/h2&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;form id="adatForm" method="post" action="/SASJobExecution/" target="_SASResults"&lt;BR /&gt;autocomplete="off" enctype="application/x-www-form-urlencoded"&amp;gt;&lt;BR /&gt;&amp;lt;!-- SAS Job hivatkozása (Content útvonal) --&amp;gt;&lt;BR /&gt;&amp;lt;input type="hidden" name="_program" value="/Users/h260198@stud.u-szeged.hu/My Folder/szakdoga/adatgeneralas_job"&amp;gt;&lt;BR /&gt;&amp;lt;input type="hidden" name="_action" value="execute"&amp;gt;&lt;BR /&gt;&amp;lt;input type="hidden" name="_output_type" value="ods_html5"&amp;gt;&lt;BR /&gt;&amp;lt;input type="hidden" name="_CSRF" value="$CSRF$"&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;label for="p_hitel"&amp;gt;&lt;BR /&gt;Hitelek aránya (p_hitel):&lt;BR /&gt;&amp;lt;input type="range" id="p_hitel" name="p_hitel" min="0" max="1" step="0.01" value="0.7"&lt;BR /&gt;oninput="document.getElementById('val').innerText=this.value"&amp;gt;&lt;BR /&gt;&amp;lt;span id="val"&amp;gt;0.70&amp;lt;/span&amp;gt;&lt;BR /&gt;&amp;lt;/label&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;br&amp;gt;&amp;lt;br&amp;gt;&lt;BR /&gt;&amp;lt;button type="submit" id="submitBtn"&amp;gt;&lt;span class="lia-unicode-emoji" title=":small_blue_diamond:"&gt;🔹&lt;/span&gt; Adatgenerálás indítása&amp;lt;/button&amp;gt;&lt;BR /&gt;&amp;lt;/form&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;div id="status"&amp;gt;&lt;span class="lia-unicode-emoji" title=":counterclockwise_arrows_button:"&gt;🔄&lt;/span&gt; A job fut, kérem várjon...&amp;lt;/div&amp;gt;&lt;/P&gt;&lt;P&gt;&amp;lt;script&amp;gt;&lt;BR /&gt;const form = document.getElementById('adatForm');&lt;BR /&gt;const status = document.getElementById('status');&lt;BR /&gt;const submitBtn = document.getElementById('submitBtn');&lt;/P&gt;&lt;P&gt;form.addEventListener('submit', () =&amp;gt; {&lt;BR /&gt;submitBtn.disabled = true;&lt;BR /&gt;status.classList.add('visible');&lt;BR /&gt;});&lt;BR /&gt;&amp;lt;/script&amp;gt;&lt;BR /&gt;&amp;lt;/body&amp;gt;&lt;BR /&gt;&amp;lt;/html&amp;gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV&gt;Thank you in advance.&lt;/DIV&gt;</description>
      <pubDate>Wed, 12 Nov 2025 08:50:40 GMT</pubDate>
      <guid>https://communities.sas.com/t5/SAS-Software-for-Learning/SAS-Viya-HTML-Form/m-p/978709#M2761</guid>
      <dc:creator>gulyaspetermark</dc:creator>
      <dc:date>2025-11-12T08:50:40Z</dc:date>
    </item>
  </channel>
</rss>

