[Oracle] FRM-40202 + alertbox

Pagina: 1
Acties:

  • Strider
  • Registratie: November 2001
  • Laatst online: 23:45
Ik heb in Oracle Form Builder 5.0 een verkoopformulier gebouwd, als ik nu een product toevoeg en ik voer niets in aantal in en ik wil naar een ander veld toe gaan krijg ik de message:

FRM-40202 Field must be entered.

Nu wil ik aan deze 'error' een trigger met een alertbox hangen zodat je niet in je statusbalk een error krijgt maar dat er een mooi popup venstertje komt met een melding.

Ik krijg dit helaas niet voor elkaar iemand een idee?

De procedure die met de trigger zou worden opgestart is

PROCEDURE check_aantal IS
v_alert_button number;
BEGIN
if :verkooporderregel.aantal = null then
display_item( 'verkooporderregel.aantal', 'high_light' );
v_alert_button :=show_alert( 'aantal_error');

end if;

END;


Ik heb al verschillende triggers aan aantal gehangen, maar hij doet er niets mee.

Screenshotje voor de duidelijkheid :)
Afbeeldingslocatie: http://i27.tinypic.com/mcwxue.jpg

[ Voor 14% gewijzigd door Strider op 04-06-2008 11:35 ]

BlaBlaBla


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:26
Dit is geen SEA, maar PRG
-> PRG

Gelieve ook code-tags te gebruiken

[ Voor 36% gewijzigd door whoami op 04-06-2008 11:46 ]

https://fgheysels.github.io/


  • PolarBear
  • Registratie: Februari 2001
  • Niet online
Niet om het een of ander maar is Oracle Forms 5.0 niet vreselijk verouderd? Volgens mij wordt het niet meer ondersteund op Vista ook. Misschien wel iets om rekening mee te houden.

  • Strider
  • Registratie: November 2001
  • Laatst online: 23:45
PolarBear schreef op woensdag 04 juni 2008 @ 11:47:
Niet om het een of ander maar is Oracle Forms 5.0 niet vreselijk verouderd? Volgens mij wordt het niet meer ondersteund op Vista ook. Misschien wel iets om rekening mee te houden.
True true! Maar het is een opdracht :)

BlaBlaBla


  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 21:30
Wat je kunt doen is in een ON-ERROR trigger je error afvangen en vervolgens de errormessage in een alertbox stoppen. Ik weet niet of je een ON-ERROR op item-niveau kunt plaatsen, maar wel op block-niveau.

  • Strider
  • Registratie: November 2001
  • Laatst online: 23:45
Boktor schreef op woensdag 04 juni 2008 @ 16:41:
Wat je kunt doen is in een ON-ERROR trigger je error afvangen en vervolgens de errormessage in een alertbox stoppen. Ik weet niet of je een ON-ERROR op item-niveau kunt plaatsen, maar wel op block-niveau.
Dat had ik geprobeert met de bovenstaande procedure, maar hij doet er niets mee :)

BlaBlaBla


  • JeroenTheStig
  • Registratie: Mei 2000
  • Laatst online: 21:30
Dit werkt niet als je op het betreffende block een ON-ERROR trigger plaatst met de volgende code?

code:
1
2
3
4
5
6
7
8
9
10
11
12
DECLARE
  lv_errcod NUMBER := ERROR_CODE;
  lv_errtyp VARCHAR2(3) := ERROR_TYPE; 
  lv_errtxt VARCHAR2(80) := ERROR_TEXT;
BEGIN 
  IF (lv_errcod = 40202) THEN
    v_alert_button :=show_alert( 'aantal_error');
  ELSE 
    message(lv_errtxt); 
    RAISE Form_Trigger_Failure; 
  END IF; 
END;


De on-error trigger wordt namelijk gevuurd op het moment dat een fout optreedt.

  • Strider
  • Registratie: November 2001
  • Laatst online: 23:45
Boktor schreef op woensdag 04 juni 2008 @ 20:39:
Dit werkt niet als je op het betreffende block een ON-ERROR trigger plaatst met de volgende code?

code:
1
2
3
4
5
6
7
8
9
10
11
12
DECLARE
  lv_errcod NUMBER := ERROR_CODE;
  lv_errtyp VARCHAR2(3) := ERROR_TYPE; 
  lv_errtxt VARCHAR2(80) := ERROR_TEXT;
BEGIN 
  IF (lv_errcod = 40202) THEN
    v_alert_button :=show_alert( 'aantal_error');
  ELSE 
    message(lv_errtxt); 
    RAISE Form_Trigger_Failure; 
  END IF; 
END;


De on-error trigger wordt namelijk gevuurd op het moment dat een fout optreedt.
Geweldig bedankt man!

BlaBlaBla


  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 01-11 22:03

leuk_he

1. Controleer de kabel!

Andere optie is de required property eraf halen en in de when-validate-item trigger zelf de (is null) waarde testen en daar een alertbox tonen.

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • hansdegit
  • Registratie: Februari 2005
  • Laatst online: 17-11 13:56
Wellicht overbodig, maar in Oracle is niets gelijk aan null...

De enige wijze om te checken of iets onbepaald is, is als volgt:
if variabele IS NULL

Gitje's Stroomfabriek: 6095 Wp Yingli Panda, 2520 Wp Suntech, Tigo Monitoring & Schaduwmanagement, Kostal Piko 10.1

Pagina: 1