Você está na página 1de 4

1*Para capturar los datos de unDSP hay que poner en el post_query del bloque

maestro que se rellene a través del código guardado en la tabla.

2*Para que al cambiar de registro no saque el mensaje que si desea guardar los
cambios….

….para ello hay que poner en el post-query después de sacar los datos de los campos:
Set_record_property(:system.trigger_record,’BLOQUE’, status, query_status);

3*Creación lista de valores.


3.1 Se crea el grupo de registros, donde en consulta de registro se pone la
select.
3.2 Se crea la lista de valores, se le asocia el grupol de registro y en las
propiedades de la columna, se ponen los campos que van a aparecer y donde se
van a guardar, el titulo de la columna y el ancho de la misma.
3.3 Se asocia al campo la lista de valores.

4*Mascara para importes


FM999G999G990D09

5*Mensajes en Report
Srw.message(1,______);

6*Creación de Combo
6.1 Me creo un combo(DSP_LISTAPAR)
6.2 Me creo un grupo de registro en el que meto la select
Select s_parametro
from sadparord
where inf_c_informe = idf2.inf_c_informe;
6.3 En el post_query del bloque anterior se pone:
Populate_list(dsp_listapar varchar2, lista_parametros RecordGroup)
(nombre lista) (grupo registro)

Ej, POPULATE_LIST( ‘IDF2.DSP_LITAPAR’, ‘LISTA_PARAMETROS)

*la select debe de tener dos columnas por eso la select se modifica por:
Select ‘PARAMETRO’,’S_PARAMETRO’
from sadparod
where inf_c_informe = IDF2;

7*Recorrido de bloque

Declare
Reg_actual number;
Item_actual varchar2(80);
Begin
Item_actual := system.cursor_item;
Go_block(‘LRE’);
Reg_Actual:=:system.cursor_system;
Fist_record;
Loop
:lre.l_correcto:=’S’;
exit when :system.last_record=’true’;
next_record;
End loop;
Go_record(reg_actual);
Go_item(item_actual);
End;

8*Mostrar lista de valores

Show_lov(NOMBRE_LISTA);
Ej. Cuenta:= Show_lov(‘CuentasCorrientes’);

Ej2.
Declare
Lv_id lov;
Variable boolean;
Begin
Lv_id := find_lov ‘nombre lista’;
Variable := show_lov(lv_id);
End;

9*Borrar registro
Delete record;

10*Creación de alertas a través de código


Declare
Texto varchar2(200)
Boton number;
Begin
If :exp.f_computo>:exp.f_vigencia then
Texto:= ‘La fecha de fin de vigencia no puede ser menor que la fecha de
computo’
set_alert_property(‘valor_erroneo’,alert_message_text,texto);
boton:=show_alert(‘valor_erroneo);
raise form_trigger_failure;
enf if;
End;

11*Mensaje para depurar funciones


DBMS_OUTPUT.PUT_LINE(‘MENSAJE’);
12*Función que añade a partir del character que pongamos
LPAD(: CAL.S_CPACTI,5,’0’);
a partir del carácter 5 se le añade un 0

13* Hacer busquedas por campos que no son de base de datos


En el pre-query

Declare
Sub_where varchar2(4000):= null;
Def_where varchar2(4000):=null;
Begin
If (cg$avmvinse01_globals.bl_inse.where =’fist_time’) then
Cg$avmvinse01_globals.bl_inse_where:= get_block_propery(‘BL_INSE’,
DEFAULT_WHERE);
End if;

Def_where := cg$avmvinse01_globals.bl_inse_where;
Sub_where:= null;

If :Bl_inse.l_tiso_d_tipo_ij is not null then


Def_where:= cgfk$kup_gry.add_and(def_where)||’((c_tipo_inf) in’||
‘(Select insol.c_tipo_inf from av_inf_sol_exp insoex, av_tipo inf_sol infsol’||
‘where insoex.c_tipo_inf = infsol.c_tipo_inf’||
‘and insoex.caex_x_caex = ‘||:parameter.pa-x_caex||
‘and infsol.d_tipo_inf like ‘’||:bl_inse.l_tiso_d_tipo_inf||’’’));
End if;

Sub_where = =null;
Set_block_property (‘bl_inse’, default_where, def_where);
End;

14*Busca todos los usuarios de la oficina y sus distintos hijos

Select *
From av_usuarios usu, av_empleados,
(select uorg.x_uorg
From av_uni_org uorg
Connect by prior uorg.x_uorg = uorg.uorg_x_uorg
Start with uorg,c_uniorg = av_fu_valor(‘CUOF’)) uni
Where usu.c_usuario = emp.usua_c_usuario
And emp.puor_x_uorg = uni.x_uorg
And usu.f_baja is null;

15*Accede campo CLOB

Select DBMS_LOB.SUBSTR(campo, DBMS_LOB.GETLENGTH(campo))


From tabla

Você também pode gostar