Case Statement Within Another Case
andy76
Member Posts: 616
Hello,
I need to use a CASE in another CASE.
I copy here an example:
CASE UM_ResourceRuntime OF
'1' : BEGIN
CASE UM_Runtime OF
'DAYS' : lConversionGeneralCalcuted := 1;
'HOURS' : lConversionGeneralCalcuted :=
1/lConversionFactor_Day_Hours;
'MINUTES' : lConversionGeneralCalcuted :=
1/(lConversionFactor_Day_Hours*lConversionFactor_Hours_Min);
'SECONDS': lConversionGeneralCalcuted :=
1/(lConversionFactor_Day_Hours*lConversionFactor_Hours_Min*
lConversionFactor_Min_Sec);
ELSE
END
END;
'HOURS' : ....
...
ELSE
END;
I want to know if this is possibile in Navision and which is the right
syntax as it doesn't work correctly... Jumpying out.
Thank you
I need to use a CASE in another CASE.
I copy here an example:
CASE UM_ResourceRuntime OF
'1' : BEGIN
CASE UM_Runtime OF
'DAYS' : lConversionGeneralCalcuted := 1;
'HOURS' : lConversionGeneralCalcuted :=
1/lConversionFactor_Day_Hours;
'MINUTES' : lConversionGeneralCalcuted :=
1/(lConversionFactor_Day_Hours*lConversionFactor_Hours_Min);
'SECONDS': lConversionGeneralCalcuted :=
1/(lConversionFactor_Day_Hours*lConversionFactor_Hours_Min*
lConversionFactor_Min_Sec);
ELSE
END
END;
'HOURS' : ....
...
ELSE
END;
I want to know if this is possibile in Navision and which is the right
syntax as it doesn't work correctly... Jumpying out.
Thank you
0
Comments
-
I indented ti for more comprehension
CASE UM_ResourceRuntime OF
'1' : BEGIN
CASE UM_Runtime OF
'DAYS' : lConversionGeneralCalcuted := 1;
'HOURS' : lConversionGeneralCalcuted :=
1/lConversionFactor_Day_Hours;
'MINUTES' : lConversionGeneralCalcuted :=
1/(lConversionFactor_Day_Hours*lConversionFactor_Hours_Min);
'SECONDS': lConversionGeneralCalcuted :=
1/(lConversionFactor_Day_Hours*lConversionFactor_Hours_Min*
lConversionFactor_Min_Sec);
ELSE
END
END;
'2 : .... CASE
'a'
'b'
....
...
'3'
ELSE
END;0 -
andy76 wrote:I indented ti for more comprehension
Try this..
CASE UM_ResourceRuntime OF
'1' :
BEGIN
CASE UM_Runtime OF
'DAYS' : lConversionGeneralCalcuted := 1;
'HOURS' : lConversionGeneralCalcuted := 1/lConversionFactor_Day_Hours;
'MINUTES' : lConversionGeneralCalcuted := 1/(lConversionFactor_Day_Hours*lConversionFactor_Hours_Min);
'SECONDS': lConversionGeneralCalcuted := 1/(lConversionFactor_Day_Hours*lConversionFactor_Hours_Min*
lConversionFactor_Min_Sec)
END
END;
'HOURS' : ....
ELSE
END;0 -
To insert code you can use the [ code ] and [ /code ] BBCode. it will keep the identation etc...
CASE UM_ResourceRuntime OF '1' : BEGIN CASE UM_Runtime OF 'DAYS' : lConversionGeneralCalcuted := 1; 'HOURS' : lConversionGeneralCalcuted := 1/lConversionFactor_Day_Hours; 'MINUTES' : lConversionGeneralCalcuted := 1/(lConversionFactor_Day_Hours*lConversionFactor_Hours_Min); 'SECONDS': lConversionGeneralCalcuted := 1/(lConversionFactor_Day_Hours*lConversionFactor_Hours_Min* lConversionFactor_Min_Sec); END END; 'HOURS' : .... ... END;
You do not need to use ELSE if there is no commandbehind it else you need to use empty command (I mean something like ELSE ; or ELSE BEGIN END).0 -
I would put the indented CASE in a function, so you don't have to program the same case in every leg of the parent CASE.0
Categories
- All Categories
- 75 General
- 75 Announcements
- 66.7K Microsoft Dynamics NAV
- 18.8K NAV Three Tier
- 38.4K NAV/Navision Classic Client
- 3.6K Navision Attain
- 2.4K Navision Financials
- 116 Navision DOS
- 851 Navision e-Commerce
- 1K NAV Tips & Tricks
- 772 NAV Dutch speaking only
- 610 NAV Courses, Exams & Certification
- 1.9K Microsoft Dynamics-Other
- 1.5K Dynamics AX
- 251 Dynamics CRM
- 103 Dynamics GP
- 6 Dynamics SL
- 1.5K Other
- 991 SQL General
- 383 SQL Performance
- 34 SQL Tips & Tricks
- 28 Design Patterns (General & Best Practices)
- Architectural Patterns
- 9 Design Patterns
- 4 Implementation Patterns
- 53 3rd Party Products, Services & Events
- 1.6K General
- 1K General Chat
- 1.6K Website
- 77 Testing
- 1.2K Download section
- 23 How Tos section
- 249 Feedback
- 12 NAV TechDays 2013 Sessions
- 13 NAV TechDays 2012 Sessions

