main |
Blocco MAIN |
MAIN … END MAIN |
|
|
func |
Funzione 4GL |
FUNCTION fp_$1() … END FUNCTION |
|
|
if |
Struttura IF THEN ELSE |
IF $1 THEN … ELSE … END IF |
|
|
case |
Struttura CASE |
CASE … WHEN … OTHERWISE … END CASE |
|
|
for |
Ciclo FOR |
FOR $1 = $2 TO $3 … END FOR |
|
|
while |
Ciclo WHILE |
WHILE $1 … END WHILE |
|
|
dispto |
DISPLAY TO con attributi |
DISPLAY BY NAME $1 TO $2.* ATTRIBUTES ($3) |
|
|
disp |
DISPLAY BY NAME |
DISPLAY BY NAME $1.* |
|
|
input |
INPUT BY NAME con attributi |
INPUT BY NAME $1 … ATTRIBUTES (UNBUFFERED, REQUIRED) |
|
|
inputa |
INPUT ARRAY con attributi/on change |
INPUT ARRAY $1 FROM $2.* … ATTRIBUTES (UNBUFFERED, REQUIRED, ON CHANGE = $3) |
|
|
msg |
Messaggio a schermo |
MESSAGE "$1" |
|
|
let |
Assegnazione |
LET $1 = $2 |
|
|
call |
Chiamata funzione |
CALL $1($2) |
|
|
callret |
Chiamata funzione con RETURNING |
CALL $1($2) RETURNING $3 |
|
|
aft |
Blocco AFTER |
AFTER $1 … |
|
|
bef |
Blocco BEFORE |
BEFORE $1 … |
|
|
win |
OPEN WINDOW con form |
OPEN WINDOW $1 AT $2, $3 WITH FORM "$4" |
|
|
construct |
CONSTRUCT BY NAME |
CONSTRUCT BY NAME $1 ON $2.* |
|
|
action |
ON ACTION |
ON ACTION $1 … |
|
|
dialog |
DIALOG con ESCAPE |
DIALOG ATTRIBUTES(UNBUFFERED, FIELD ORDER FORM) … ON KEY(INTERRUPT,ESCAPE) EXIT DIALOG … END DIALOG |
|
|
disparray |
DISPLAY ARRAY con attributi |
DISPLAY ARRAY $1 TO $2.* ATTRIBUTES (UNBUFFERED) |
|
|
defstr |
DEFINE STRING |
DEFINE $1 STRING |
|
|
defint |
DEFINE INTEGER |
DEFINE $1 INTEGER |
|
|
defsmall |
DEFINE SMALLINT |
DEFINE $1 SMALLINT |
|
|
defdec |
DEFINE DECIMAL |
DEFINE $1 DECIMAL($2,$3) |
|
|
defchar |
DEFINE CHAR |
DEFINE $1 CHAR($2) |
|
|
defvar |
DEFINE VARCHAR |
DEFINE $1 VARCHAR($2) |
|
|
defbool |
DEFINE BOOLEAN |
DEFINE $1 BOOLEAN |
|
|
defdate |
DEFINE DATE |
DEFINE $1 DATE |
|
|
defdt |
DEFINE DATETIME |
DEFINE $1 DATETIME YEAR TO FRACTION($2) |
|
|
defarr |
DEFINE ARRAY |
DEFINE $1 ARRAY[$2] OF $3 |
|
|
defrec |
DEFINE RECORD |
DEFINE $1 RECORD … END RECORD |
|
|
defreclike |
DEFINE RECORD LIKE |
DEFINE $1 RECORD LIKE $2 … END RECORD |
|
|
db |
DATABASE |
DATABASE $1 |
|
|
connect |
CONNECT TO (user/pw) |
CONNECT TO "$1" USER "$2" USING "$3" |
|
|
disconnect |
DISCONNECT |
DISCONNECT |
|
|
starttran |
START TRANSACTION |
START TRANSACTION |
|
|
commit |
COMMIT WORK |
COMMIT WORK |
|
|
rollback |
ROLLBACK WORK |
ROLLBACK WORK |
|
|
whener |
WHENEVER ERROR CONTINUE |
WHENEVER ERROR CONTINUE |
|
|
error |
Comando ERROR |
ERROR "$1" |
|
|
whensql |
WHENEVER SQLERROR STOP |
WHENEVER SQLERROR STOP |
|
|
onexc |
ON EXCEPTION |
ON EXCEPTION … END EXCEPTION |
|
|
try |
TRY/CATCH simulato |
WHENEVER ERROR GOTO on_error … ON_ERROR: … |
|
|
select |
SELECT … INTO … FROM … WHERE |
SELECT $1 INTO $2 FROM $3 WHERE $4 |
|
|
update |
UPDATE … SET … WHERE |
UPDATE $1 SET $2 = $3 WHERE $4 |
|
|
delete |
DELETE FROM … WHERE |
DELETE FROM $1 WHERE $2 |
|
|
insert |
INSERT INTO … VALUES |
INSERT INTO $1 ($2) VALUES ($3) |
|
|
esc |
ON KEY(ESCAPE,INTERRUPT) |
ON KEY(ESCAPE,INTERRUPT) |
|
|
menuaction |
MENU con ON ACTION |
MENU "$1" … ON ACTION "$2" … ON ACTION $4 … END MENU |
|
|
winwait |
fgl_winwait |
CALL fgl_winwait("$1") |
|
|
à |
Commento (snippet COMMENT) |
# $1 |
|
|
int |
Variabile INTEGER (inline) |
${1:name} INTEGER |
|
|
smallint |
Variabile SMALLINT (inline) |
${1:name} SMALLINT |
|
|
decimal |
Variabile DECIMAL (inline) |
${1:name} DECIMAL(${2:10},${3:2}) |
|
|
float |
Variabile FLOAT (inline) |
${1:name} FLOAT |
|
|
string |
Variabile STRING (inline) |
${1:name} STRING |
|
|
char |
Variabile CHAR (inline) |
${1:name} CHAR(${2:20}) |
|
|
varchar |
Variabile VARCHAR (inline) |
${1:name} VARCHAR(${2:50}) |
|
|
date |
Variabile DATE (inline) |
${1:name} DATE |
|
|
datetime |
Variabile DATETIME (inline) |
${1:name} DATETIME YEAR TO SECOND |
|
|
bool |
Variabile BOOLEAN (inline) |
${1:name} BOOLEAN |
|
|
text |
Variabile TEXT (inline) |
${1:name} TEXT |
|
|
byte |
Variabile BYTE (inline) |
${1:name} BYTE |
|
|
interval |
Variabile INTERVAL (inline) |
${1:name} INTERVAL YEAR TO MONTH |
|
|
QUERY / PREPARE / DECLARE |
Cursor dinamico (SELECT) |
LET vg_filtros=" SELECT * " … PREPARE q_$1 FROM vg_filtros; DECLARE c_$1 CURSOR FOR q_$1 |
|
|
UPDATE / PREPARE |
PREPARE UPDATE dinamico |
LET vg_filtros=" UPDATE " … PREPARE q_$1 FROM vg_filtros |
|
|
CASE (alt.) |
Blocco CASE (alternativo) |
CASE $1 … WHEN $2 … OTHERWISE … END CASE |
|
|
IFT |
IF THEN compatto |
IF $1 THEN … END IF |
|
|
IFE |
IF ELSE compatto |
IF $1 THEN … ELSE … END IF |
|
|
IFS |
IF STATUS per uscita ciclo |
`LET vg_status = STATUS; IF vg_status <> 0 THEN EXIT WHILE |
FOR … END IF` |
|
OFC |
OPEN/FETCH/CLOSE con STATUS |
OPEN $1 USING $2; FETCH $1 INTO $3; LET vg_status=STATUS; CLOSE $1 |
|
|
FUNCTION_VR |
Funzione con variabili di ritorno |
Intestazione commentata + `FUNCTION f$2(vp_cmd |
) … RETURN vr_return |
vr_error` |
FUNPAR |
Funzione load parametri |
FUNCTION fp_$1_load_params() … END FUNCTION |
|
|
PARAZI |
Leggi parametri da ana_parazi |
CALL fp_sel_parazi("…","…") RETURNING … IF vl_errore = 0 THEN … |
|
|
CTRLPERS / CTRL_PERS / CT_AFTER_FIELD |
AFTER FIELD personalizzati |
FUNCTION fp_$1_ctrlpers(vp_flag, vp_nomecampo) … RETURN vr_error |
|
|
CTRLSALTO / CTRL_SALTO / CT_BEFORE_FIELD |
BEFORE FIELD personalizzati |
FUNCTION fp_$1_ctrlsalto(vp_flag, vp_nomecampo) … RETURN vr_error |
|
|
ETPAR |
Leggi parametri da sma_etpar |
CALL fs_leggi_param("", "$1", "$2", "S") RETURNING … IF vl_unictpar != 0 THEN … |
|
|
MESSAGE / MESS24 / MESS_24 |
Messaggio utente std_24 |
`CALL fs_std_24("…", 0, 0, "nome_colonna" |
0, 0)` |
|
POPUP_SN / AVV_OK |
Popup OK singolo |
CALL fs_std_07c("Attenzione","Button,Ok_000","Text, …", "", "", "", "") |
|
|
POPUP_SN / CONF_SN |
Conferma Sì/No |
IF fs_std_06c("qk","Title, …","Text, …","Si_000","No_000","Default,S,N") THEN … ELSE … END IF |
|
|
getdati / cursor / query |
Cursore di lettura dati |
LET vl_sql="SELECT * FROM $1 WHERE 1=1 $2"; PREPARE p_ … DECLARE c_ … OPEN c_ … FOREACH … array append … END FOREACH |
|
|
nuovo / new / crea |
Testata “nuovo modulo” |
Blocco commento intestazione con PACCHETTO/CLIENTE/FUNZIONALITÀ/DATA/NOME/TAG/TICKET |
|
|
modifica / modify / aggiorna |
Testata “modifica modulo” |
Blocco commento intestazione modifiche con DATA/NOME/TAG/TICKET/MODIFICHE |
|
|
nz |
Null→Zero |
fs_NullToZero($1) |
|
|
ctn |
Check null→boolean |
fs_std_ctnull($1) |
|
|
i2s |
int→string |
fs_int2str($1) |
|
|
40a |
Conversioni 40a |
fs_std_40a($1) |
|
|