1

I have a function where you can add articles. AND I have a date range. But if it is not in date range, I want to skip this function(table 36):

FncCheckBOM(Description : Text[30])

LocRecSalesLine.SETRANGE("Document Type", Rec."Document Type");
LocRecSalesLine.SETRANGE("Document No.", Rec."No.");
LocRecSalesLine.SETRANGE(Type,LocRecSalesLine.Type::Item);
LocRecSalesLine.SETFILTER("BOM Item No.", '');
LocRecSalesLine.SETFILTER("Description 2", '*'+Description+'*');
LocRecSalesLine.SETFILTER("Purch. Order Line No.", '0');
LocRecSalesLine.SETFILTER("Job Contract Entry No.", '0');
IF LocRecSalesLine.FINDFIRST THEN
  REPEAT
  BEGIN
    FromBOMComp.SETRANGE("Parent Item No.",LocRecSalesLine."No.");
    NoOfBOMComp := FromBOMComp.COUNT;
    IF (NoOfBOMComp <> 0) AND (LocRecSalesLine."BOM Item No." = '') THEN
    BEGIN
      LocRecSalesLine.FncExplodeBOM;
    END;
  END
  UNTIL LocRecSalesLine.NEXT = 0;

LocRecSalesLine.RESET;
LocRecSalesLine.SETRANGE("Document Type", Rec."Document Type");
LocRecSalesLine.SETRANGE("Document No.", Rec."No.");
LocRecSalesLine.SETRANGE(Type,LocRecSalesLine.Type::" ");
LocRecSalesLine.SETFILTER("Description 2", '*'+Description+'*');
IF LocRecSalesLine.FINDFIRST THEN
  REPEAT
    LocRecSalesLine.DELETE;
  UNTIL LocRecSalesLine.NEXT = 0;

//AddItemDates.CheckDates(BeginDate, EndDate);

COMMIT;

and my method is like this(table 50012):

BetginDatumMessage := 'begindatum is yessss:';
 Rec.SETRANGE("Parent Item No.","Parent Item No.");
 IF Rec.FIND() THEN;
  //Rec.SETRANGE("Parent Item No.","Parent Item No.");
  //Rec.SETRANGE("Item No.","Item No.");
  MESSAGE('Date is ok');
  //BeginDate := TODAY + 1 ;
  //EndDate := TODAY + 2;
   MESSAGE(BetginDatumMessage + '' + FORMAT(Rec.BeginDate));
   MESSAGE(FORMAT(TODAY));
   IF (TODAY >= Rec.BeginDate) AND (TODAY <= Rec.EndDate) THEN BEGIN
   MESSAGE('Dat is fine');
    RecSalesHeaderQuote.FncCheckBOM(SalesLines.Description);
    MESSAGE(FORMAT(BeginDate));
    MESSAGE(SalesLines.Description);
  END
  ELSE BEGIN
  MESSAGE('other');

  END;

because now it alwasy trigger the function: FncCheckBOM(Description : Text[30])

What not has to be.

Thank you

BetginDatumMessage := 'begindatum is yessss:';
 Rec.SETRANGE("Parent Item No.","Parent Item No.");
 IF Rec.FIND() THEN;
  MESSAGE('Date is ok');
   IF (TODAY >= Rec.BeginDate) AND (TODAY <= Rec.EndDate) THEN BEGIN
   MESSAGE('Dat is fine');
    RecSalesHeaderQuote.FncCheckBOM(SalesLines.Description);
    MESSAGE(FORMAT(BeginDate));
    //MESSAGE(SalesLines.Description);
  END
  ELSE BEGIN
  EXIT;
  MESSAGE('other');
  END;
   IF (Rec.BeginDate = 0D) AND (Rec.EndDate = 0D ) THEN BEGIN
    MESSAGE('Empty');
  END;
SavantCode
  • 131
  • 2
  • 4
  • 14

1 Answers1

1

to SKIP your function on the part of the code you want put the sentecen:

EXIT;

This statement will make your method ends and exit the function.

Jonathan Bravetti
  • 2,228
  • 2
  • 15
  • 29
  • Thank you. BUt the two functions are in different tables. I only skip now the current function(Checkdates). But it doesnt skip the function(FncCheckBOM) – SavantCode Sep 21 '16 at 11:55
  • Ok, if you put EXIT statement in function **CheckDates** Just get out of this. Function **CheckDates** the call is inside **FncCheckBOM** function right?. Can you use any condition like **IF statement** before to call **CheckDates** function? – Jonathan Bravetti Sep 21 '16 at 12:09