Report 600 Approval User Setup Test

App
Base Application
Namespace
System.Automation
Versions
17-28

Versions171819202122232425262728

Source29

Source in 29

src/Layers/W1/BaseApp/OtherCapabilities/Approvals/ApprovalUserSetupTest.Report.al1804 lines, Copyright (c) Microsoft Corporation. MIT

// ------------------------------------------------------------------------------------------------
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// ------------------------------------------------------------------------------------------------
namespace System.Automation;

using System.Security.User;
using System.Utilities;

report 600 "Approval User Setup Test"
{
    DefaultLayout = RDLC;
    RDLCLayout = './OtherCapabilities/Approvals/ApprovalUserSetupTest.rdlc';
    Caption = 'Approval User Setup Test';

    dataset
    {
        dataitem("Integer"; "Integer")
        {
            DataItemTableView = sorting(Number);
            MaxIteration = 1;
            column(COMPANYNAME; COMPANYPROPERTY.DisplayName())
            {
            }
            column(FORMAT_TODAY_0_4_; Format(Today, 0, 4))
            {
            }
            column(Test_Approval_SetupCaption; Test_Approval_SetupCaptionLbl)
            {
            }
            column(CurrReport_PAGENOCaption; CurrReport_PAGENOCaptionLbl)
            {
            }
            dataitem("Sales Approval"; "User Setup")
            {
                DataItemTableView = sorting("User ID");
                column(SalesApprovalRoute_1_1_; SalesApprovalRoute[1, 1])
                {
                }
                column(SalesApprovalRoute_1_2_; SalesApprovalRoute[1, 2])
                {
                }
                column(SalesApprovalRoute_1_3_; SalesApprovalRoute[1, 3])
                {
                }
                column(SalesApprovalRoute_1_5_; SalesApprovalRoute[1, 5])
                {
                }
                column(SalesApprovalRoute_1_4_; SalesApprovalRoute[1, 4])
                {
                }
                column(SalesApprovalRoute_1_6_; SalesApprovalRoute[1, 6])
                {
                }
                column(SalesApprovalRoute_1_7_; SalesApprovalRoute[1, 7])
                {
                }
                column(SalesApprovalRoute_2_5_; SalesApprovalRoute[2, 5])
                {
                }
                column(SalesApprovalRoute_2_4_; SalesApprovalRoute[2, 4])
                {
                }
                column(SalesApprovalRoute_2_3_; SalesApprovalRoute[2, 3])
                {
                }
                column(SalesApprovalRoute_2_2_; SalesApprovalRoute[2, 2])
                {
                }
                column(SalesApprovalRoute_2_1_; SalesApprovalRoute[2, 1])
                {
                }
                column(SalesApprovalRoute_2_6_; SalesApprovalRoute[2, 6])
                {
                }
                column(SalesApprovalRoute_2_7_; SalesApprovalRoute[2, 7])
                {
                }
                column(SalesApprovalRoute_3_5_; SalesApprovalRoute[3, 5])
                {
                }
                column(SalesApprovalRoute_3_1_; SalesApprovalRoute[3, 1])
                {
                }
                column(SalesApprovalRoute_3_2_; SalesApprovalRoute[3, 2])
                {
                }
                column(SalesApprovalRoute_3_3_; SalesApprovalRoute[3, 3])
                {
                }
                column(SalesApprovalRoute_3_4_; SalesApprovalRoute[3, 4])
                {
                }
                column(SalesApprovalRoute_3_6_; SalesApprovalRoute[3, 6])
                {
                }
                column(SalesApprovalRoute_3_7_; SalesApprovalRoute[3, 7])
                {
                }
                column(SalesApprovalRoute_4_5_; SalesApprovalRoute[4, 5])
                {
                }
                column(SalesApprovalRoute_4_4_; SalesApprovalRoute[4, 4])
                {
                }
                column(SalesApprovalRoute_4_3_; SalesApprovalRoute[4, 3])
                {
                }
                column(SalesApprovalRoute_4_2_; SalesApprovalRoute[4, 2])
                {
                }
                column(SalesApprovalRoute_4_1_; SalesApprovalRoute[4, 1])
                {
                }
                column(SalesApprovalRoute_4_6_; SalesApprovalRoute[4, 6])
                {
                }
                column(SalesApprovalRoute_4_7_; SalesApprovalRoute[4, 7])
                {
                }
                column(SalesApprovalRoute_5_5_; SalesApprovalRoute[5, 5])
                {
                }
                column(SalesApprovalRoute_5_4_; SalesApprovalRoute[5, 4])
                {
                }
                column(SalesApprovalRoute_5_3_; SalesApprovalRoute[5, 3])
                {
                }
                column(SalesApprovalRoute_5_2_; SalesApprovalRoute[5, 2])
                {
                }
                column(SalesApprovalRoute_5_1_; SalesApprovalRoute[5, 1])
                {
                }
                column(SalesApprovalRoute_5_6_; SalesApprovalRoute[5, 6])
                {
                }
                column(SalesApprovalRoute_5_7_; SalesApprovalRoute[5, 7])
                {
                }
                column(SalesApprovalRoute_6_5_; SalesApprovalRoute[6, 5])
                {
                }
                column(SalesApprovalRoute_6_4_; SalesApprovalRoute[6, 4])
                {
                }
                column(SalesApprovalRoute_6_3_; SalesApprovalRoute[6, 3])
                {
                }
                column(SalesApprovalRoute_6_2_; SalesApprovalRoute[6, 2])
                {
                }
                column(SalesApprovalRoute_6_1_; SalesApprovalRoute[6, 1])
                {
                }
                column(SalesApprovalRoute_6_6_; SalesApprovalRoute[6, 6])
                {
                }
                column(SalesApprovalRoute_6_7_; SalesApprovalRoute[6, 7])
                {
                }
                column(SalesApprovalRoute_7_5_; SalesApprovalRoute[7, 5])
                {
                }
                column(SalesApprovalRoute_7_4_; SalesApprovalRoute[7, 4])
                {
                }
                column(SalesApprovalRoute_7_3_; SalesApprovalRoute[7, 3])
                {
                }
                column(SalesApprovalRoute_7_2_; SalesApprovalRoute[7, 2])
                {
                }
                column(SalesApprovalRoute_7_1_; SalesApprovalRoute[7, 1])
                {
                }
                column(SalesApprovalRoute_7_6_; SalesApprovalRoute[7, 6])
                {
                }
                column(SalesApprovalRoute_7_7_; SalesApprovalRoute[7, 7])
                {
                }
                column(SalesApprovalRoute_8_6_; SalesApprovalRoute[8, 6])
                {
                }
                column(SalesApprovalRoute_8_5_; SalesApprovalRoute[8, 5])
                {
                }
                column(SalesApprovalRoute_8_7_; SalesApprovalRoute[8, 7])
                {
                }
                column(SalesApprovalRoute_8_4_; SalesApprovalRoute[8, 4])
                {
                }
                column(SalesApprovalRoute_8_3_; SalesApprovalRoute[8, 3])
                {
                }
                column(SalesApprovalRoute_8_2_; SalesApprovalRoute[8, 2])
                {
                }
                column(SalesApprovalRoute_8_1_; SalesApprovalRoute[8, 1])
                {
                }
                column(SalesApprovalRoute_9_6_; SalesApprovalRoute[9, 6])
                {
                }
                column(SalesApprovalRoute_9_5_; SalesApprovalRoute[9, 5])
                {
                }
                column(SalesApprovalRoute_9_7_; SalesApprovalRoute[9, 7])
                {
                }
                column(SalesApprovalRoute_9_4_; SalesApprovalRoute[9, 4])
                {
                }
                column(SalesApprovalRoute_9_3_; SalesApprovalRoute[9, 3])
                {
                }
                column(SalesApprovalRoute_9_2_; SalesApprovalRoute[9, 2])
                {
                }
                column(SalesApprovalRoute_9_1_; SalesApprovalRoute[9, 1])
                {
                }
                column(SalesApprovalRoute_10_6_; SalesApprovalRoute[10, 6])
                {
                }
                column(SalesApprovalRoute_10_5_; SalesApprovalRoute[10, 5])
                {
                }
                column(SalesApprovalRoute_10_7_; SalesApprovalRoute[10, 7])
                {
                }
                column(SalesApprovalRoute_10_4_; SalesApprovalRoute[10, 4])
                {
                }
                column(SalesApprovalRoute_10_3_; SalesApprovalRoute[10, 3])
                {
                }
                column(SalesApprovalRoute_10_2_; SalesApprovalRoute[10, 2])
                {
                }
                column(SalesApprovalRoute_10_1_; SalesApprovalRoute[10, 1])
                {
                }
                column(SalesApprovalRoute_11_6_; SalesApprovalRoute[11, 6])
                {
                }
                column(SalesApprovalRoute_11_5_; SalesApprovalRoute[11, 5])
                {
                }
                column(SalesApprovalRoute_11_7_; SalesApprovalRoute[11, 7])
                {
                }
                column(SalesApprovalRoute_11_4_; SalesApprovalRoute[11, 4])
                {
                }
                column(SalesApprovalRoute_11_3_; SalesApprovalRoute[11, 3])
                {
                }
                column(SalesApprovalRoute_11_2_; SalesApprovalRoute[11, 2])
                {
                }
                column(SalesApprovalRoute_11_1_; SalesApprovalRoute[11, 1])
                {
                }
                column(SalesApprovalRoute_12_6_; SalesApprovalRoute[12, 6])
                {
                }
                column(SalesApprovalRoute_12_5_; SalesApprovalRoute[12, 5])
                {
                }
                column(SalesApprovalRoute_12_7_; SalesApprovalRoute[12, 7])
                {
                }
                column(SalesApprovalRoute_12_4_; SalesApprovalRoute[12, 4])
                {
                }
                column(SalesApprovalRoute_12_3_; SalesApprovalRoute[12, 3])
                {
                }
                column(SalesApprovalRoute_12_2_; SalesApprovalRoute[12, 2])
                {
                }
                column(SalesApprovalRoute_12_1_; SalesApprovalRoute[12, 1])
                {
                }
                column(SalesApprovalRoute_13_6_; SalesApprovalRoute[13, 6])
                {
                }
                column(SalesApprovalRoute_13_5_; SalesApprovalRoute[13, 5])
                {
                }
                column(SalesApprovalRoute_13_7_; SalesApprovalRoute[13, 7])
                {
                }
                column(SalesApprovalRoute_13_4_; SalesApprovalRoute[13, 4])
                {
                }
                column(SalesApprovalRoute_13_3_; SalesApprovalRoute[13, 3])
                {
                }
                column(SalesApprovalRoute_13_2_; SalesApprovalRoute[13, 2])
                {
                }
                column(SalesApprovalRoute_13_1_; SalesApprovalRoute[13, 1])
                {
                }
                column(SalesApprovalRoute_14_6_; SalesApprovalRoute[14, 6])
                {
                }
                column(SalesApprovalRoute_14_5_; SalesApprovalRoute[14, 5])
                {
                }
                column(SalesApprovalRoute_14_7_; SalesApprovalRoute[14, 7])
                {
                }
                column(SalesApprovalRoute_14_4_; SalesApprovalRoute[14, 4])
                {
                }
                column(SalesApprovalRoute_14_3_; SalesApprovalRoute[14, 3])
                {
                }
                column(SalesApprovalRoute_14_2_; SalesApprovalRoute[14, 2])
                {
                }
                column(SalesApprovalRoute_14_1_; SalesApprovalRoute[14, 1])
                {
                }
                column(SalesApprovalRoute_15_6_; SalesApprovalRoute[15, 6])
                {
                }
                column(SalesApprovalRoute_15_5_; SalesApprovalRoute[15, 5])
                {
                }
                column(SalesApprovalRoute_15_7_; SalesApprovalRoute[15, 7])
                {
                }
                column(SalesApprovalRoute_15_4_; SalesApprovalRoute[15, 4])
                {
                }
                column(SalesApprovalRoute_15_3_; SalesApprovalRoute[15, 3])
                {
                }
                column(SalesApprovalRoute_15_2_; SalesApprovalRoute[15, 2])
                {
                }
                column(SalesApprovalRoute_15_1_; SalesApprovalRoute[15, 1])
                {
                }
                column(SalesApprovalRoute_16_6_; SalesApprovalRoute[16, 6])
                {
                }
                column(SalesApprovalRoute_16_5_; SalesApprovalRoute[16, 5])
                {
                }
                column(SalesApprovalRoute_16_7_; SalesApprovalRoute[16, 7])
                {
                }
                column(SalesApprovalRoute_16_4_; SalesApprovalRoute[16, 4])
                {
                }
                column(SalesApprovalRoute_16_3_; SalesApprovalRoute[16, 3])
                {
                }
                column(SalesApprovalRoute_16_2_; SalesApprovalRoute[16, 2])
                {
                }
                column(SalesApprovalRoute_16_1_; SalesApprovalRoute[16, 1])
                {
                }
                column(SalesApprovalRoute_17_6_; SalesApprovalRoute[17, 6])
                {
                }
                column(SalesApprovalRoute_17_5_; SalesApprovalRoute[17, 5])
                {
                }
                column(SalesApprovalRoute_17_7_; SalesApprovalRoute[17, 7])
                {
                }
                column(SalesApprovalRoute_17_4_; SalesApprovalRoute[17, 4])
                {
                }
                column(SalesApprovalRoute_17_3_; SalesApprovalRoute[17, 3])
                {
                }
                column(SalesApprovalRoute_17_2_; SalesApprovalRoute[17, 2])
                {
                }
                column(SalesApprovalRoute_17_1_; SalesApprovalRoute[17, 1])
                {
                }
                column(SalesApprovalRoute_18_6_; SalesApprovalRoute[18, 6])
                {
                }
                column(SalesApprovalRoute_18_5_; SalesApprovalRoute[18, 5])
                {
                }
                column(SalesApprovalRoute_18_7_; SalesApprovalRoute[18, 7])
                {
                }
                column(SalesApprovalRoute_18_4_; SalesApprovalRoute[18, 4])
                {
                }
                column(SalesApprovalRoute_18_3_; SalesApprovalRoute[18, 3])
                {
                }
                column(SalesApprovalRoute_18_2_; SalesApprovalRoute[18, 2])
                {
                }
                column(SalesApprovalRoute_18_1_; SalesApprovalRoute[18, 1])
                {
                }
                column(SalesApprovalRoute_19_6_; SalesApprovalRoute[19, 6])
                {
                }
                column(SalesApprovalRoute_19_5_; SalesApprovalRoute[19, 5])
                {
                }
                column(SalesApprovalRoute_19_7_; SalesApprovalRoute[19, 7])
                {
                }
                column(SalesApprovalRoute_19_4_; SalesApprovalRoute[19, 4])
                {
                }
                column(SalesApprovalRoute_19_3_; SalesApprovalRoute[19, 3])
                {
                }
                column(SalesApprovalRoute_19_2_; SalesApprovalRoute[19, 2])
                {
                }
                column(SalesApprovalRoute_19_1_; SalesApprovalRoute[19, 1])
                {
                }
                column(SalesApprovalRoute_20_6_; SalesApprovalRoute[20, 6])
                {
                }
                column(SalesApprovalRoute_20_5_; SalesApprovalRoute[20, 5])
                {
                }
                column(SalesApprovalRoute_20_7_; SalesApprovalRoute[20, 7])
                {
                }
                column(SalesApprovalRoute_20_4_; SalesApprovalRoute[20, 4])
                {
                }
                column(SalesApprovalRoute_20_3_; SalesApprovalRoute[20, 3])
                {
                }
                column(SalesApprovalRoute_20_2_; SalesApprovalRoute[20, 2])
                {
                }
                column(SalesApprovalRoute_20_1_; SalesApprovalRoute[20, 1])
                {
                }
                column(MakeStatusText_Text008_; MakeStatusText(Text008))
                {
                }
                column(Sales_Approval_User_ID; "User ID")
                {
                }
                column(User_IDCaption; User_IDCaptionLbl)
                {
                }
                column(Approver_IDCaption; Approver_IDCaptionLbl)
                {
                }
                column(Salesamount_LimitCaption; Salesamount_LimitCaptionLbl)
                {
                }
                column(Unlimited_Sales_ApprovalCaption; Unlimited_Sales_ApprovalCaptionLbl)
                {
                }
                column(StatusCaption; StatusCaptionLbl)
                {
                }
                column(MessageCaption; MessageCaptionLbl)
                {
                }
                column(SequenceCaption; SequenceCaptionLbl)
                {
                }
                column(Test_Setup___Sales_Approval_LimitsCaption; Test_Setup___Sales_Approval_LimitsCaptionLbl)
                {
                }

                trigger OnAfterGetRecord()
                var
                    UserSetup: Record "User Setup";
                    SalesApprovalAmount: Integer;
                    ErrorMessage: Text[200];
                begin
                    Clear(SalesApprovalRoute);
                    OK := false;
                    Status := Text001;
                    Stop := false;
                    Brk := false;
                    SalesApprovalAmount := 0;
                    I := 1;
                    TestField("Approver ID");
                    SalesApprovalRoute[I, 1] := "User ID";
                    SalesApprovalRoute[I, 2] := "Approver ID";
                    SalesApprovalRoute[I, 3] := Format("Sales Amount Approval Limit");
                    SalesApprovalRoute[I, 4] := Format("Unlimited Sales Approval");
                    SalesApprovalRoute[I, 5] := ErrorMessage;
                    SalesApprovalRoute[I, 6] := Format(I);
                    SalesApprovalRoute[I, 7] := Status;
                    SalesApprovalAmount := "Sales Amount Approval Limit";
                    Clear(ErrorMessage);

                    TempUserSetup := "Sales Approval";
                    TempUserSetup.Insert();

                    SalesApprovalAmount := "Sales Amount Approval Limit";
                    if "Unlimited Sales Approval" then begin
                        Brk := true;
                        ErrorMessage := Text012;
                        Status := Text001;
                        OK := true;
                        Clear(ErrorMessage);
                    end;
                    if not Brk then begin
                        UserSetup.SetRange("User ID", "Approver ID");
                        if UserSetup.FindFirst() then
                            repeat
                                TempUserSetup := UserSetup;
                                if not TempUserSetup.Insert() then begin
                                    ErrorMessage := StrSubstNo(Text007, UserSetup."User ID", Text013);
                                    Status := Text002;
                                    Brk := true;
                                end;

                                I := I + 1;
                                if UserSetup."User ID" = '' then
                                    UserSetup."User ID" := Text014;
                                if UserSetup."Unlimited Sales Approval" then begin
                                    Brk := true;
                                    ErrorMessage := Text012;
                                    OK := true;
                                    Status := Text001;
                                end;
                                if (UserSetup."Sales Amount Approval Limit" < SalesApprovalAmount) and not
                                   UserSetup."Unlimited Sales Approval"
                                then begin
                                    ErrorMessage := StrSubstNo(Text006, UserSetup.FieldCaption("Sales Amount Approval Limit"));
                                    Status := Text002;
                                    Brk := true;
                                    Stop := true;
                                end;
                                SalesApprovalRoute[I, 1] := UserSetup."User ID";
                                SalesApprovalRoute[I, 2] := UserSetup."Approver ID";
                                SalesApprovalRoute[I, 3] := Format(UserSetup."Sales Amount Approval Limit");
                                SalesApprovalRoute[I, 4] := Format(UserSetup."Unlimited Sales Approval");
                                SalesApprovalRoute[I, 5] := ErrorMessage;
                                SalesApprovalRoute[I, 6] := Format(I);
                                SalesApprovalRoute[I, 7] := Status;
                                SalesApprovalAmount := UserSetup."Sales Amount Approval Limit";
                                if UserSetup."Unlimited Sales Approval" then begin
                                    OK := true;
                                    Brk := true;
                                end;

                                if not Brk then begin
                                    UserSetup.SetRange("User ID", UserSetup."Approver ID");
                                    if UserSetup.FindFirst() then
                                        UserSetup.SetRange("User ID", UserSetup."Approver ID");
                                end;
                                if I = 500 then
                                    Brk := true;
                            until Brk;
                    end;
                end;

                trigger OnPreDataItem()
                begin
                    if UserCode = '' then
                        Error(Text005);
                    if WhatToTest <> WhatToTest::All then
                        if WhatToTest <> WhatToTest::Sales then
                            CurrReport.Break();
                    SetRange("User ID", UserCode);

                    TempUserSetup.DeleteAll();
                end;
            }
            dataitem("Purchase Approval"; "User Setup")
            {
                DataItemTableView = sorting("User ID");
                column(SalesApprovalRoute_1_6__Control173; SalesApprovalRoute[1, 6])
                {
                }
                column(SalesApprovalRoute_1_5__Control175; SalesApprovalRoute[1, 5])
                {
                }
                column(SalesApprovalRoute_1_7__Control176; SalesApprovalRoute[1, 7])
                {
                }
                column(SalesApprovalRoute_1_4__Control177; SalesApprovalRoute[1, 4])
                {
                }
                column(SalesApprovalRoute_1_3__Control178; SalesApprovalRoute[1, 3])
                {
                }
                column(SalesApprovalRoute_1_2__Control179; SalesApprovalRoute[1, 2])
                {
                }
                column(SalesApprovalRoute_1_1__Control180; SalesApprovalRoute[1, 1])
                {
                }
                column(SalesApprovalRoute_2_6__Control181; SalesApprovalRoute[2, 6])
                {
                }
                column(SalesApprovalRoute_2_5__Control182; SalesApprovalRoute[2, 5])
                {
                }
                column(SalesApprovalRoute_2_7__Control183; SalesApprovalRoute[2, 7])
                {
                }
                column(SalesApprovalRoute_2_4__Control189; SalesApprovalRoute[2, 4])
                {
                }
                column(SalesApprovalRoute_2_3__Control190; SalesApprovalRoute[2, 3])
                {
                }
                column(SalesApprovalRoute_2_2__Control191; SalesApprovalRoute[2, 2])
                {
                }
                column(SalesApprovalRoute_2_1__Control192; SalesApprovalRoute[2, 1])
                {
                }
                column(SalesApprovalRoute_3_6__Control193; SalesApprovalRoute[3, 6])
                {
                }
                column(SalesApprovalRoute_3_5__Control194; SalesApprovalRoute[3, 5])
                {
                }
                column(SalesApprovalRoute_3_7__Control195; SalesApprovalRoute[3, 7])
                {
                }
                column(SalesApprovalRoute_3_4__Control196; SalesApprovalRoute[3, 4])
                {
                }
                column(SalesApprovalRoute_3_3__Control197; SalesApprovalRoute[3, 3])
                {
                }
                column(SalesApprovalRoute_3_2__Control198; SalesApprovalRoute[3, 2])
                {
                }
                column(SalesApprovalRoute_3_1__Control199; SalesApprovalRoute[3, 1])
                {
                }
                column(SalesApprovalRoute_4_6__Control200; SalesApprovalRoute[4, 6])
                {
                }
                column(SalesApprovalRoute_4_5__Control201; SalesApprovalRoute[4, 5])
                {
                }
                column(SalesApprovalRoute_4_7__Control202; SalesApprovalRoute[4, 7])
                {
                }
                column(SalesApprovalRoute_4_4__Control203; SalesApprovalRoute[4, 4])
                {
                }
                column(SalesApprovalRoute_4_3__Control204; SalesApprovalRoute[4, 3])
                {
                }
                column(SalesApprovalRoute_4_2__Control205; SalesApprovalRoute[4, 2])
                {
                }
                column(SalesApprovalRoute_4_1__Control206; SalesApprovalRoute[4, 1])
                {
                }
                column(SalesApprovalRoute_5_6__Control207; SalesApprovalRoute[5, 6])
                {
                }
                column(SalesApprovalRoute_5_5__Control208; SalesApprovalRoute[5, 5])
                {
                }
                column(SalesApprovalRoute_5_7__Control209; SalesApprovalRoute[5, 7])
                {
                }
                column(SalesApprovalRoute_5_4__Control210; SalesApprovalRoute[5, 4])
                {
                }
                column(SalesApprovalRoute_5_3__Control211; SalesApprovalRoute[5, 3])
                {
                }
                column(SalesApprovalRoute_5_2__Control212; SalesApprovalRoute[5, 2])
                {
                }
                column(SalesApprovalRoute_5_1__Control213; SalesApprovalRoute[5, 1])
                {
                }
                column(SalesApprovalRoute_6_6__Control214; SalesApprovalRoute[6, 6])
                {
                }
                column(SalesApprovalRoute_6_5__Control215; SalesApprovalRoute[6, 5])
                {
                }
                column(SalesApprovalRoute_6_7__Control216; SalesApprovalRoute[6, 7])
                {
                }
                column(SalesApprovalRoute_6_4__Control217; SalesApprovalRoute[6, 4])
                {
                }
                column(SalesApprovalRoute_6_3__Control218; SalesApprovalRoute[6, 3])
                {
                }
                column(SalesApprovalRoute_6_2__Control219; SalesApprovalRoute[6, 2])
                {
                }
                column(SalesApprovalRoute_6_1__Control220; SalesApprovalRoute[6, 1])
                {
                }
                column(SalesApprovalRoute_7_6__Control221; SalesApprovalRoute[7, 6])
                {
                }
                column(SalesApprovalRoute_7_5__Control222; SalesApprovalRoute[7, 5])
                {
                }
                column(SalesApprovalRoute_7_7__Control223; SalesApprovalRoute[7, 7])
                {
                }
                column(SalesApprovalRoute_7_4__Control224; SalesApprovalRoute[7, 4])
                {
                }
                column(SalesApprovalRoute_7_3__Control225; SalesApprovalRoute[7, 3])
                {
                }
                column(SalesApprovalRoute_7_2__Control226; SalesApprovalRoute[7, 2])
                {
                }
                column(SalesApprovalRoute_7_1__Control227; SalesApprovalRoute[7, 1])
                {
                }
                column(SalesApprovalRoute_8_6__Control228; SalesApprovalRoute[8, 6])
                {
                }
                column(SalesApprovalRoute_8_5__Control229; SalesApprovalRoute[8, 5])
                {
                }
                column(SalesApprovalRoute_8_7__Control230; SalesApprovalRoute[8, 7])
                {
                }
                column(SalesApprovalRoute_8_4__Control231; SalesApprovalRoute[8, 4])
                {
                }
                column(SalesApprovalRoute_8_3__Control232; SalesApprovalRoute[8, 3])
                {
                }
                column(SalesApprovalRoute_8_2__Control233; SalesApprovalRoute[8, 2])
                {
                }
                column(SalesApprovalRoute_8_1__Control234; SalesApprovalRoute[8, 1])
                {
                }
                column(SalesApprovalRoute_9_6__Control235; SalesApprovalRoute[9, 6])
                {
                }
                column(SalesApprovalRoute_9_5__Control236; SalesApprovalRoute[9, 5])
                {
                }
                column(SalesApprovalRoute_9_7__Control237; SalesApprovalRoute[9, 7])
                {
                }
                column(SalesApprovalRoute_9_4__Control238; SalesApprovalRoute[9, 4])
                {
                }
                column(SalesApprovalRoute_9_3__Control239; SalesApprovalRoute[9, 3])
                {
                }
                column(SalesApprovalRoute_9_2__Control240; SalesApprovalRoute[9, 2])
                {
                }
                column(SalesApprovalRoute_9_1__Control241; SalesApprovalRoute[9, 1])
                {
                }
                column(SalesApprovalRoute_10_6__Control242; SalesApprovalRoute[10, 6])
                {
                }
                column(SalesApprovalRoute_10_5__Control243; SalesApprovalRoute[10, 5])
                {
                }
                column(SalesApprovalRoute_10_7__Control244; SalesApprovalRoute[10, 7])
                {
                }
                column(SalesApprovalRoute_10_4__Control245; SalesApprovalRoute[10, 4])
                {
                }
                column(SalesApprovalRoute_10_3__Control246; SalesApprovalRoute[10, 3])
                {
                }
                column(SalesApprovalRoute_10_2__Control247; SalesApprovalRoute[10, 2])
                {
                }
                column(SalesApprovalRoute_10_1__Control248; SalesApprovalRoute[10, 1])
                {
                }
                column(SalesApprovalRoute_11_6__Control249; SalesApprovalRoute[11, 6])
                {
                }
                column(SalesApprovalRoute_11_5__Control250; SalesApprovalRoute[11, 5])
                {
                }
                column(SalesApprovalRoute_11_7__Control251; SalesApprovalRoute[11, 7])
                {
                }
                column(SalesApprovalRoute_11_4__Control252; SalesApprovalRoute[11, 4])
                {
                }
                column(SalesApprovalRoute_11_3__Control253; SalesApprovalRoute[11, 3])
                {
                }
                column(SalesApprovalRoute_11_2__Control254; SalesApprovalRoute[11, 2])
                {
                }
                column(SalesApprovalRoute_11_1__Control255; SalesApprovalRoute[11, 1])
                {
                }
                column(SalesApprovalRoute_12_6__Control256; SalesApprovalRoute[12, 6])
                {
                }
                column(SalesApprovalRoute_12_5__Control257; SalesApprovalRoute[12, 5])
                {
                }
                column(SalesApprovalRoute_12_7__Control258; SalesApprovalRoute[12, 7])
                {
                }
                column(SalesApprovalRoute_12_4__Control259; SalesApprovalRoute[12, 4])
                {
                }
                column(SalesApprovalRoute_12_3__Control260; SalesApprovalRoute[12, 3])
                {
                }
                column(SalesApprovalRoute_12_2__Control261; SalesApprovalRoute[12, 2])
                {
                }
                column(SalesApprovalRoute_12_1__Control262; SalesApprovalRoute[12, 1])
                {
                }
                column(SalesApprovalRoute_13_6__Control263; SalesApprovalRoute[13, 6])
                {
                }
                column(SalesApprovalRoute_13_5__Control264; SalesApprovalRoute[13, 5])
                {
                }
                column(SalesApprovalRoute_13_7__Control265; SalesApprovalRoute[13, 7])
                {
                }
                column(SalesApprovalRoute_13_4__Control266; SalesApprovalRoute[13, 4])
                {
                }
                column(SalesApprovalRoute_13_3__Control267; SalesApprovalRoute[13, 3])
                {
                }
                column(SalesApprovalRoute_13_2__Control268; SalesApprovalRoute[13, 2])
                {
                }
                column(SalesApprovalRoute_13_1__Control269; SalesApprovalRoute[13, 1])
                {
                }
                column(SalesApprovalRoute_14_6__Control270; SalesApprovalRoute[14, 6])
                {
                }
                column(SalesApprovalRoute_14_5__Control271; SalesApprovalRoute[14, 5])
                {
                }
                column(SalesApprovalRoute_14_7__Control272; SalesApprovalRoute[14, 7])
                {
                }
                column(SalesApprovalRoute_14_4__Control273; SalesApprovalRoute[14, 4])
                {
                }
                column(SalesApprovalRoute_14_3__Control274; SalesApprovalRoute[14, 3])
                {
                }
                column(SalesApprovalRoute_14_2__Control275; SalesApprovalRoute[14, 2])
                {
                }
                column(SalesApprovalRoute_14_1__Control276; SalesApprovalRoute[14, 1])
                {
                }
                column(SalesApprovalRoute_15_6__Control277; SalesApprovalRoute[15, 6])
                {
                }
                column(SalesApprovalRoute_15_5__Control278; SalesApprovalRoute[15, 5])
                {
                }
                column(SalesApprovalRoute_15_7__Control279; SalesApprovalRoute[15, 7])
                {
                }
                column(SalesApprovalRoute_15_4__Control280; SalesApprovalRoute[15, 4])
                {
                }
                column(SalesApprovalRoute_15_3__Control281; SalesApprovalRoute[15, 3])
                {
                }
                column(SalesApprovalRoute_15_2__Control282; SalesApprovalRoute[15, 2])
                {
                }
                column(SalesApprovalRoute_15_1__Control283; SalesApprovalRoute[15, 1])
                {
                }
                column(SalesApprovalRoute_16_6__Control284; SalesApprovalRoute[16, 6])
                {
                }
                column(SalesApprovalRoute_16_5__Control285; SalesApprovalRoute[16, 5])
                {
                }
                column(SalesApprovalRoute_16_7__Control286; SalesApprovalRoute[16, 7])
                {
                }
                column(SalesApprovalRoute_16_4__Control287; SalesApprovalRoute[16, 4])
                {
                }
                column(SalesApprovalRoute_16_3__Control288; SalesApprovalRoute[16, 3])
                {
                }
                column(SalesApprovalRoute_16_2__Control289; SalesApprovalRoute[16, 2])
                {
                }
                column(SalesApprovalRoute_16_1__Control290; SalesApprovalRoute[16, 1])
                {
                }
                column(SalesApprovalRoute_17_6__Control291; SalesApprovalRoute[17, 6])
                {
                }
                column(SalesApprovalRoute_17_5__Control292; SalesApprovalRoute[17, 5])
                {
                }
                column(SalesApprovalRoute_17_7__Control293; SalesApprovalRoute[17, 7])
                {
                }
                column(SalesApprovalRoute_17_4__Control294; SalesApprovalRoute[17, 4])
                {
                }
                column(SalesApprovalRoute_17_3__Control295; SalesApprovalRoute[17, 3])
                {
                }
                column(SalesApprovalRoute_17_2__Control296; SalesApprovalRoute[17, 2])
                {
                }
                column(SalesApprovalRoute_17_1__Control297; SalesApprovalRoute[17, 1])
                {
                }
                column(SalesApprovalRoute_18_6__Control298; SalesApprovalRoute[18, 6])
                {
                }
                column(SalesApprovalRoute_18_5__Control299; SalesApprovalRoute[18, 5])
                {
                }
                column(SalesApprovalRoute_18_7__Control300; SalesApprovalRoute[18, 7])
                {
                }
                column(SalesApprovalRoute_18_4__Control301; SalesApprovalRoute[18, 4])
                {
                }
                column(SalesApprovalRoute_18_3__Control302; SalesApprovalRoute[18, 3])
                {
                }
                column(SalesApprovalRoute_18_2__Control303; SalesApprovalRoute[18, 2])
                {
                }
                column(SalesApprovalRoute_18_1__Control304; SalesApprovalRoute[18, 1])
                {
                }
                column(SalesApprovalRoute_19_6__Control305; SalesApprovalRoute[19, 6])
                {
                }
                column(SalesApprovalRoute_19_5__Control306; SalesApprovalRoute[19, 5])
                {
                }
                column(SalesApprovalRoute_19_7__Control307; SalesApprovalRoute[19, 7])
                {
                }
                column(SalesApprovalRoute_19_4__Control308; SalesApprovalRoute[19, 4])
                {
                }
                column(SalesApprovalRoute_19_3__Control309; SalesApprovalRoute[19, 3])
                {
                }
                column(SalesApprovalRoute_19_2__Control310; SalesApprovalRoute[19, 2])
                {
                }
                column(SalesApprovalRoute_19_1__Control311; SalesApprovalRoute[19, 1])
                {
                }
                column(SalesApprovalRoute_20_6__Control312; SalesApprovalRoute[20, 6])
                {
                }
                column(SalesApprovalRoute_20_5__Control313; SalesApprovalRoute[20, 5])
                {
                }
                column(SalesApprovalRoute_20_7__Control314; SalesApprovalRoute[20, 7])
                {
                }
                column(SalesApprovalRoute_20_4__Control315; SalesApprovalRoute[20, 4])
                {
                }
                column(SalesApprovalRoute_20_3__Control316; SalesApprovalRoute[20, 3])
                {
                }
                column(SalesApprovalRoute_20_2__Control317; SalesApprovalRoute[20, 2])
                {
                }
                column(SalesApprovalRoute_20_1__Control318; SalesApprovalRoute[20, 1])
                {
                }
                column(MakeStatusText_Text009_; MakeStatusText(Text009))
                {
                }
                column(Purchase_Approval_User_ID; "User ID")
                {
                }
                column(Test_Setup___Purchase_Approval_LimitsCaption; Test_Setup___Purchase_Approval_LimitsCaptionLbl)
                {
                }
                column(SequenceCaption_Control9; SequenceCaption_Control9Lbl)
                {
                }
                column(MessageCaption_Control10; MessageCaption_Control10Lbl)
                {
                }
                column(StatusCaption_Control159; StatusCaption_Control159Lbl)
                {
                }
                column(Unlimited_Purchase_ApprovalCaption; Unlimited_Purchase_ApprovalCaptionLbl)
                {
                }
                column(Purchaseamount_LimitCaption; Purchaseamount_LimitCaptionLbl)
                {
                }
                column(Approver_IDCaption_Control162; Approver_IDCaption_Control162Lbl)
                {
                }
                column(User_IDCaption_Control163; User_IDCaption_Control163Lbl)
                {
                }

                trigger OnAfterGetRecord()
                var
                    UserSetup: Record "User Setup";
                    PurchaseApprovalAmount: Integer;
                    ErrorMessage: Text[200];
                begin
                    Clear(SalesApprovalRoute);
                    OK := false;
                    Status := Text001;
                    Stop := false;
                    Brk := false;

                    PurchaseApprovalAmount := 0;
                    I := 1;
                    TestField("Approver ID");
                    SalesApprovalRoute[I, 1] := "User ID";
                    SalesApprovalRoute[I, 2] := "Approver ID";
                    SalesApprovalRoute[I, 3] := Format("Purchase Amount Approval Limit");
                    SalesApprovalRoute[I, 4] := Format("Unlimited Purchase Approval");
                    SalesApprovalRoute[I, 5] := ErrorMessage;
                    SalesApprovalRoute[I, 6] := Format(I);
                    SalesApprovalRoute[I, 7] := Status;
                    PurchaseApprovalAmount := "Purchase Amount Approval Limit";
                    Clear(ErrorMessage);

                    TempUserSetup := "Purchase Approval";
                    TempUserSetup.Insert();

                    PurchaseApprovalAmount := "Purchase Amount Approval Limit";
                    if "Unlimited Purchase Approval" then begin
                        Brk := true;
                        ErrorMessage := Text012;
                        Status := Text001;
                        OK := true;
                        Clear(ErrorMessage);
                    end;
                    if not Brk then begin
                        UserSetup.SetRange("User ID", "Approver ID");
                        if UserSetup.FindFirst() then
                            repeat
                                TempUserSetup := UserSetup;
                                if not TempUserSetup.Insert() then begin
                                    ErrorMessage := StrSubstNo(Text007, UserSetup."User ID", Text015);
                                    Status := Text002;
                                    Brk := true;
                                end;
                                I := I + 1;
                                if UserSetup."User ID" = '' then
                                    UserSetup."User ID" := Text014;
                                if UserSetup."Unlimited Purchase Approval" then begin
                                    Brk := true;
                                    ErrorMessage := Text012;
                                    OK := true;
                                    Status := Text001;
                                end;
                                if (UserSetup."Purchase Amount Approval Limit" < PurchaseApprovalAmount) and not
                                   UserSetup."Unlimited Purchase Approval"
                                then begin
                                    ErrorMessage := StrSubstNo(Text006, UserSetup.FieldCaption("Unlimited Purchase Approval"));
                                    Status := Text002;
                                    Brk := true;
                                    Stop := true;
                                end;
                                SalesApprovalRoute[I, 1] := UserSetup."User ID";
                                SalesApprovalRoute[I, 2] := UserSetup."Approver ID";
                                SalesApprovalRoute[I, 3] := Format(UserSetup."Purchase Amount Approval Limit");
                                SalesApprovalRoute[I, 4] := Format(UserSetup."Unlimited Purchase Approval");
                                SalesApprovalRoute[I, 5] := ErrorMessage;
                                SalesApprovalRoute[I, 6] := Format(I);
                                SalesApprovalRoute[I, 7] := Status;
                                PurchaseApprovalAmount := UserSetup."Purchase Amount Approval Limit";
                                if UserSetup."Unlimited Purchase Approval" then
                                    Brk := true;

                                if not Brk then begin
                                    UserSetup.SetRange("User ID", UserSetup."Approver ID");
                                    if UserSetup.FindFirst() then
                                        UserSetup.SetRange("User ID", UserSetup."Approver ID");
                                end;
                                if I = 500 then
                                    Brk := true;
                            until Brk;
                    end;
                end;

                trigger OnPreDataItem()
                begin
                    if UserCode = '' then
                        Error(Text005);
                    if WhatToTest <> WhatToTest::All then
                        if WhatToTest <> WhatToTest::Purchase then
                            CurrReport.Break();

                    SetRange("User ID", UserCode);
                    TempUserSetup.DeleteAll();
                end;
            }
            dataitem("Request Approval"; "User Setup")
            {
                DataItemTableView = sorting("User ID");
                column(SalesApprovalRoute_1_6__Control319; SalesApprovalRoute[1, 6])
                {
                }
                column(SalesApprovalRoute_1_5__Control320; SalesApprovalRoute[1, 5])
                {
                }
                column(SalesApprovalRoute_1_7__Control321; SalesApprovalRoute[1, 7])
                {
                }
                column(SalesApprovalRoute_1_4__Control322; SalesApprovalRoute[1, 4])
                {
                }
                column(SalesApprovalRoute_1_3__Control323; SalesApprovalRoute[1, 3])
                {
                }
                column(SalesApprovalRoute_1_2__Control324; SalesApprovalRoute[1, 2])
                {
                }
                column(SalesApprovalRoute_1_1__Control325; SalesApprovalRoute[1, 1])
                {
                }
                column(SalesApprovalRoute_2_6__Control326; SalesApprovalRoute[2, 6])
                {
                }
                column(SalesApprovalRoute_2_5__Control327; SalesApprovalRoute[2, 5])
                {
                }
                column(SalesApprovalRoute_2_7__Control328; SalesApprovalRoute[2, 7])
                {
                }
                column(SalesApprovalRoute_2_4__Control329; SalesApprovalRoute[2, 4])
                {
                }
                column(SalesApprovalRoute_2_3__Control330; SalesApprovalRoute[2, 3])
                {
                }
                column(SalesApprovalRoute_2_2__Control331; SalesApprovalRoute[2, 2])
                {
                }
                column(SalesApprovalRoute_2_1__Control332; SalesApprovalRoute[2, 1])
                {
                }
                column(SalesApprovalRoute_3_6__Control333; SalesApprovalRoute[3, 6])
                {
                }
                column(SalesApprovalRoute_3_5__Control334; SalesApprovalRoute[3, 5])
                {
                }
                column(SalesApprovalRoute_3_7__Control335; SalesApprovalRoute[3, 7])
                {
                }
                column(SalesApprovalRoute_3_4__Control336; SalesApprovalRoute[3, 4])
                {
                }
                column(SalesApprovalRoute_3_3__Control337; SalesApprovalRoute[3, 3])
                {
                }
                column(SalesApprovalRoute_3_2__Control338; SalesApprovalRoute[3, 2])
                {
                }
                column(SalesApprovalRoute_3_1__Control339; SalesApprovalRoute[3, 1])
                {
                }
                column(SalesApprovalRoute_4_6__Control340; SalesApprovalRoute[4, 6])
                {
                }
                column(SalesApprovalRoute_4_5__Control341; SalesApprovalRoute[4, 5])
                {
                }
                column(SalesApprovalRoute_4_7__Control342; SalesApprovalRoute[4, 7])
                {
                }
                column(SalesApprovalRoute_4_4__Control343; SalesApprovalRoute[4, 4])
                {
                }
                column(SalesApprovalRoute_4_3__Control344; SalesApprovalRoute[4, 3])
                {
                }
                column(SalesApprovalRoute_4_2__Control345; SalesApprovalRoute[4, 2])
                {
                }
                column(SalesApprovalRoute_4_1__Control346; SalesApprovalRoute[4, 1])
                {
                }
                column(SalesApprovalRoute_5_6__Control438; SalesApprovalRoute[5, 6])
                {
                }
                column(SalesApprovalRoute_5_5__Control439; SalesApprovalRoute[5, 5])
                {
                }
                column(SalesApprovalRoute_5_7__Control440; SalesApprovalRoute[5, 7])
                {
                }
                column(SalesApprovalRoute_5_4__Control441; SalesApprovalRoute[5, 4])
                {
                }
                column(SalesApprovalRoute_5_3__Control442; SalesApprovalRoute[5, 3])
                {
                }
                column(SalesApprovalRoute_5_2__Control443; SalesApprovalRoute[5, 2])
                {
                }
                column(SalesApprovalRoute_5_1__Control444; SalesApprovalRoute[5, 1])
                {
                }
                column(SalesApprovalRoute_6_6__Control347; SalesApprovalRoute[6, 6])
                {
                }
                column(SalesApprovalRoute_6_5__Control348; SalesApprovalRoute[6, 5])
                {
                }
                column(SalesApprovalRoute_6_7__Control349; SalesApprovalRoute[6, 7])
                {
                }
                column(SalesApprovalRoute_6_4__Control350; SalesApprovalRoute[6, 4])
                {
                }
                column(SalesApprovalRoute_6_3__Control351; SalesApprovalRoute[6, 3])
                {
                }
                column(SalesApprovalRoute_6_2__Control352; SalesApprovalRoute[6, 2])
                {
                }
                column(SalesApprovalRoute_6_1__Control353; SalesApprovalRoute[6, 1])
                {
                }
                column(SalesApprovalRoute_7_6__Control354; SalesApprovalRoute[7, 6])
                {
                }
                column(SalesApprovalRoute_7_5__Control355; SalesApprovalRoute[7, 5])
                {
                }
                column(SalesApprovalRoute_7_7__Control356; SalesApprovalRoute[7, 7])
                {
                }
                column(SalesApprovalRoute_7_4__Control357; SalesApprovalRoute[7, 4])
                {
                }
                column(SalesApprovalRoute_7_3__Control358; SalesApprovalRoute[7, 3])
                {
                }
                column(SalesApprovalRoute_7_2__Control359; SalesApprovalRoute[7, 2])
                {
                }
                column(SalesApprovalRoute_7_1__Control360; SalesApprovalRoute[7, 1])
                {
                }
                column(SalesApprovalRoute_8_6__Control361; SalesApprovalRoute[8, 6])
                {
                }
                column(SalesApprovalRoute_8_5__Control362; SalesApprovalRoute[8, 5])
                {
                }
                column(SalesApprovalRoute_8_7__Control363; SalesApprovalRoute[8, 7])
                {
                }
                column(SalesApprovalRoute_8_4__Control364; SalesApprovalRoute[8, 4])
                {
                }
                column(SalesApprovalRoute_8_3__Control365; SalesApprovalRoute[8, 3])
                {
                }
                column(SalesApprovalRoute_8_2__Control366; SalesApprovalRoute[8, 2])
                {
                }
                column(SalesApprovalRoute_8_1__Control367; SalesApprovalRoute[8, 1])
                {
                }
                column(SalesApprovalRoute_9_6__Control368; SalesApprovalRoute[9, 6])
                {
                }
                column(SalesApprovalRoute_9_5__Control369; SalesApprovalRoute[9, 5])
                {
                }
                column(SalesApprovalRoute_9_7__Control370; SalesApprovalRoute[9, 7])
                {
                }
                column(SalesApprovalRoute_9_4__Control371; SalesApprovalRoute[9, 4])
                {
                }
                column(SalesApprovalRoute_9_3__Control372; SalesApprovalRoute[9, 3])
                {
                }
                column(SalesApprovalRoute_9_2__Control373; SalesApprovalRoute[9, 2])
                {
                }
                column(SalesApprovalRoute_9_1__Control374; SalesApprovalRoute[9, 1])
                {
                }
                column(SalesApprovalRoute_10_6__Control375; SalesApprovalRoute[10, 6])
                {
                }
                column(SalesApprovalRoute_10_5__Control376; SalesApprovalRoute[10, 5])
                {
                }
                column(SalesApprovalRoute_10_7__Control377; SalesApprovalRoute[10, 7])
                {
                }
                column(SalesApprovalRoute_10_4__Control378; SalesApprovalRoute[10, 4])
                {
                }
                column(SalesApprovalRoute_10_3__Control379; SalesApprovalRoute[10, 3])
                {
                }
                column(SalesApprovalRoute_10_2__Control380; SalesApprovalRoute[10, 2])
                {
                }
                column(SalesApprovalRoute_10_1__Control381; SalesApprovalRoute[10, 1])
                {
                }
                column(SalesApprovalRoute_11_6__Control382; SalesApprovalRoute[11, 6])
                {
                }
                column(SalesApprovalRoute_11_5__Control383; SalesApprovalRoute[11, 5])
                {
                }
                column(SalesApprovalRoute_11_7__Control384; SalesApprovalRoute[11, 7])
                {
                }
                column(SalesApprovalRoute_11_4__Control385; SalesApprovalRoute[11, 4])
                {
                }
                column(SalesApprovalRoute_11_3__Control386; SalesApprovalRoute[11, 3])
                {
                }
                column(SalesApprovalRoute_11_2__Control387; SalesApprovalRoute[11, 2])
                {
                }
                column(SalesApprovalRoute_11_1__Control388; SalesApprovalRoute[11, 1])
                {
                }
                column(SalesApprovalRoute_12_6__Control389; SalesApprovalRoute[12, 6])
                {
                }
                column(SalesApprovalRoute_12_5__Control390; SalesApprovalRoute[12, 5])
                {
                }
                column(SalesApprovalRoute_12_7__Control391; SalesApprovalRoute[12, 7])
                {
                }
                column(SalesApprovalRoute_12_4__Control392; SalesApprovalRoute[12, 4])
                {
                }
                column(SalesApprovalRoute_12_3__Control393; SalesApprovalRoute[12, 3])
                {
                }
                column(SalesApprovalRoute_12_2__Control394; SalesApprovalRoute[12, 2])
                {
                }
                column(SalesApprovalRoute_12_1__Control395; SalesApprovalRoute[12, 1])
                {
                }
                column(SalesApprovalRoute_13_6__Control396; SalesApprovalRoute[13, 6])
                {
                }
                column(SalesApprovalRoute_13_5__Control397; SalesApprovalRoute[13, 5])
                {
                }
                column(SalesApprovalRoute_13_7__Control398; SalesApprovalRoute[13, 7])
                {
                }
                column(SalesApprovalRoute_13_4__Control399; SalesApprovalRoute[13, 4])
                {
                }
                column(SalesApprovalRoute_13_3__Control400; SalesApprovalRoute[13, 3])
                {
                }
                column(SalesApprovalRoute_13_2__Control401; SalesApprovalRoute[13, 2])
                {
                }
                column(SalesApprovalRoute_13_1__Control402; SalesApprovalRoute[13, 1])
                {
                }
                column(SalesApprovalRoute_14_6__Control403; SalesApprovalRoute[14, 6])
                {
                }
                column(SalesApprovalRoute_14_5__Control404; SalesApprovalRoute[14, 5])
                {
                }
                column(SalesApprovalRoute_14_7__Control405; SalesApprovalRoute[14, 7])
                {
                }
                column(SalesApprovalRoute_14_4__Control406; SalesApprovalRoute[14, 4])
                {
                }
                column(SalesApprovalRoute_14_3__Control407; SalesApprovalRoute[14, 3])
                {
                }
                column(SalesApprovalRoute_14_2__Control408; SalesApprovalRoute[14, 2])
                {
                }
                column(SalesApprovalRoute_14_1__Control409; SalesApprovalRoute[14, 1])
                {
                }
                column(SalesApprovalRoute_15_6__Control410; SalesApprovalRoute[15, 6])
                {
                }
                column(SalesApprovalRoute_15_5__Control411; SalesApprovalRoute[15, 5])
                {
                }
                column(SalesApprovalRoute_15_7__Control412; SalesApprovalRoute[15, 7])
                {
                }
                column(SalesApprovalRoute_15_4__Control413; SalesApprovalRoute[15, 4])
                {
                }
                column(SalesApprovalRoute_15_3__Control414; SalesApprovalRoute[15, 3])
                {
                }
                column(SalesApprovalRoute_15_2__Control415; SalesApprovalRoute[15, 2])
                {
                }
                column(SalesApprovalRoute_15_1__Control416; SalesApprovalRoute[15, 1])
                {
                }
                column(SalesApprovalRoute_16_6__Control417; SalesApprovalRoute[16, 6])
                {
                }
                column(SalesApprovalRoute_16_5__Control418; SalesApprovalRoute[16, 5])
                {
                }
                column(SalesApprovalRoute_16_7__Control419; SalesApprovalRoute[16, 7])
                {
                }
                column(SalesApprovalRoute_16_4__Control420; SalesApprovalRoute[16, 4])
                {
                }
                column(SalesApprovalRoute_16_3__Control421; SalesApprovalRoute[16, 3])
                {
                }
                column(SalesApprovalRoute_16_2__Control422; SalesApprovalRoute[16, 2])
                {
                }
                column(SalesApprovalRoute_16_1__Control423; SalesApprovalRoute[16, 1])
                {
                }
                column(SalesApprovalRoute_17_6__Control424; SalesApprovalRoute[17, 6])
                {
                }
                column(SalesApprovalRoute_17_5__Control425; SalesApprovalRoute[17, 5])
                {
                }
                column(SalesApprovalRoute_17_7__Control426; SalesApprovalRoute[17, 7])
                {
                }
                column(SalesApprovalRoute_17_4__Control427; SalesApprovalRoute[17, 4])
                {
                }
                column(SalesApprovalRoute_17_3__Control428; SalesApprovalRoute[17, 3])
                {
                }
                column(SalesApprovalRoute_17_2__Control429; SalesApprovalRoute[17, 2])
                {
                }
                column(SalesApprovalRoute_17_1__Control430; SalesApprovalRoute[17, 1])
                {
                }
                column(SalesApprovalRoute_18_6__Control431; SalesApprovalRoute[18, 6])
                {
                }
                column(SalesApprovalRoute_18_5__Control432; SalesApprovalRoute[18, 5])
                {
                }
                column(SalesApprovalRoute_18_7__Control433; SalesApprovalRoute[18, 7])
                {
                }
                column(SalesApprovalRoute_18_4__Control434; SalesApprovalRoute[18, 4])
                {
                }
                column(SalesApprovalRoute_18_3__Control435; SalesApprovalRoute[18, 3])
                {
                }
                column(SalesApprovalRoute_18_2__Control436; SalesApprovalRoute[18, 2])
                {
                }
                column(SalesApprovalRoute_18_1__Control437; SalesApprovalRoute[18, 1])
                {
                }
                column(SalesApprovalRoute_19_6__Control445; SalesApprovalRoute[19, 6])
                {
                }
                column(SalesApprovalRoute_19_5__Control446; SalesApprovalRoute[19, 5])
                {
                }
                column(SalesApprovalRoute_19_7__Control447; SalesApprovalRoute[19, 7])
                {
                }
                column(SalesApprovalRoute_19_4__Control448; SalesApprovalRoute[19, 4])
                {
                }
                column(SalesApprovalRoute_19_3__Control449; SalesApprovalRoute[19, 3])
                {
                }
                column(SalesApprovalRoute_19_2__Control450; SalesApprovalRoute[19, 2])
                {
                }
                column(SalesApprovalRoute_19_1__Control451; SalesApprovalRoute[19, 1])
                {
                }
                column(SalesApprovalRoute_20_6__Control452; SalesApprovalRoute[20, 6])
                {
                }
                column(SalesApprovalRoute_20_5__Control453; SalesApprovalRoute[20, 5])
                {
                }
                column(SalesApprovalRoute_20_7__Control454; SalesApprovalRoute[20, 7])
                {
                }
                column(SalesApprovalRoute_20_4__Control455; SalesApprovalRoute[20, 4])
                {
                }
                column(SalesApprovalRoute_20_3__Control456; SalesApprovalRoute[20, 3])
                {
                }
                column(SalesApprovalRoute_20_2__Control457; SalesApprovalRoute[20, 2])
                {
                }
                column(SalesApprovalRoute_20_1__Control458; SalesApprovalRoute[20, 1])
                {
                }
                column(MakeStatusText_Text010_; MakeStatusText(Text010))
                {
                }
                column(Request_Approval_User_ID; "User ID")
                {
                }
                column(Test_Setup___Request_Approval_LimitsCaption; Test_Setup___Request_Approval_LimitsCaptionLbl)
                {
                }
                column(SequenceCaption_Control164; SequenceCaption_Control164Lbl)
                {
                }
                column(MessageCaption_Control165; MessageCaption_Control165Lbl)
                {
                }
                column(StatusCaption_Control167; StatusCaption_Control167Lbl)
                {
                }
                column(Unlimited_Request_ApprovalCaption; Unlimited_Request_ApprovalCaptionLbl)
                {
                }
                column(Requestamount_LimitCaption; Requestamount_LimitCaptionLbl)
                {
                }
                column(Approver_IDCaption_Control170; Approver_IDCaption_Control170Lbl)
                {
                }
                column(User_IDCaption_Control171; User_IDCaption_Control171Lbl)
                {
                }

                trigger OnAfterGetRecord()
                var
                    UserSetup: Record "User Setup";
                    RequestApprovalAmount: Integer;
                    ErrorMessage: Text[200];
                begin
                    Clear(SalesApprovalRoute);
                    OK := false;
                    Status := Text001;
                    Stop := false;
                    Brk := false;

                    RequestApprovalAmount := 0;
                    I := 1;
                    TestField("Approver ID");
                    SalesApprovalRoute[I, 1] := "User ID";
                    SalesApprovalRoute[I, 2] := "Approver ID";
                    SalesApprovalRoute[I, 3] := Format("Request Amount Approval Limit");
                    SalesApprovalRoute[I, 4] := Format("Unlimited Request Approval");
                    SalesApprovalRoute[I, 5] := ErrorMessage;
                    SalesApprovalRoute[I, 6] := Format(I);
                    SalesApprovalRoute[I, 7] := Status;
                    RequestApprovalAmount := "Request Amount Approval Limit";
                    Clear(ErrorMessage);

                    TempUserSetup := "Request Approval";
                    TempUserSetup.Insert();

                    RequestApprovalAmount := "Request Amount Approval Limit";
                    if "Unlimited Request Approval" then begin
                        Brk := true;
                        ErrorMessage := Text012;
                        Status := Text001;
                        OK := true;
                        Clear(ErrorMessage);
                    end;
                    if not Brk then begin
                        UserSetup.SetRange("User ID", "Approver ID");
                        if UserSetup.FindFirst() then
                            repeat
                                TempUserSetup := UserSetup;
                                if not TempUserSetup.Insert() then begin
                                    ErrorMessage := StrSubstNo(Text007, UserSetup."User ID", Text016);
                                    Status := Text002;
                                    Brk := true;
                                end;
                                I := I + 1;
                                if UserSetup."User ID" = '' then
                                    UserSetup."User ID" := Text014;
                                if UserSetup."Unlimited Request Approval" then begin
                                    Brk := true;
                                    ErrorMessage := Text012;
                                    Status := Text001;
                                    OK := true;
                                end;
                                if (UserSetup."Request Amount Approval Limit" < RequestApprovalAmount) and not
                                   UserSetup."Unlimited Request Approval"
                                then begin
                                    ErrorMessage := StrSubstNo(Text006, UserSetup.FieldCaption("Unlimited Request Approval"));
                                    Status := Text002;
                                    Brk := true;
                                    Stop := true;
                                end;
                                SalesApprovalRoute[I, 1] := UserSetup."User ID";
                                SalesApprovalRoute[I, 2] := UserSetup."Approver ID";
                                SalesApprovalRoute[I, 3] := Format(UserSetup."Request Amount Approval Limit");
                                SalesApprovalRoute[I, 4] := Format(UserSetup."Unlimited Request Approval");
                                SalesApprovalRoute[I, 5] := ErrorMessage;
                                SalesApprovalRoute[I, 6] := Format(I);
                                SalesApprovalRoute[I, 7] := Status;
                                RequestApprovalAmount := UserSetup."Request Amount Approval Limit";
                                if UserSetup."Unlimited Request Approval" then
                                    Brk := true;

                                if not Brk then begin
                                    UserSetup.SetRange("User ID", UserSetup."Approver ID");
                                    if UserSetup.FindFirst() then
                                        UserSetup.SetRange("User ID", UserSetup."Approver ID");
                                end;
                                if I = 500 then
                                    Brk := true;
                            until Brk;
                    end;
                end;

                trigger OnPreDataItem()
                begin
                    if UserCode = '' then
                        Error(Text005);
                    if WhatToTest <> WhatToTest::All then
                        if WhatToTest <> WhatToTest::Request then
                            CurrReport.Break();
                    SetRange("User ID", UserCode);
                    TempUserSetup.DeleteAll();
                end;
            }
        }
    }

    requestpage
    {
        SaveValues = true;

        layout
        {
            area(content)
            {
                group(Options)
                {
                    Caption = 'Options';
                    field(UserCode; UserCode)
                    {
                        ApplicationArea = Suite;
                        Caption = 'User ID';
                        TableRelation = "User Setup";
                        ToolTip = 'Specifies the approval user.';
                    }
                    field(WhatToTest; WhatToTest)
                    {
                        ApplicationArea = Suite;
                        Caption = 'What To Test';
                        OptionCaption = 'Sales Approval Setup,Purchase Approval Setup,Request Approval Setup,All';
                        ToolTip = 'Specifies which approval setup is tested by the batch job.';
                    }
                }
            }
        }

        actions
        {
        }
    }

    labels
    {
    }

    var
        TempUserSetup: Record "User Setup" temporary;
        SalesApprovalRoute: array[500, 7] of Text[200];
        I: Integer;
        Brk: Boolean;
        Status: Text[5];
#pragma warning disable AA0074
        Text001: Label 'OK';
        Text002: Label 'ERROR';
#pragma warning restore AA0074
        Stop: Boolean;
#pragma warning disable AA0074
#pragma warning disable AA0470
        Text003: Label 'There are problems with the %1 Approval Setup. Re-enter Approval Amounts and make sure that at least one user has unlimited approval rights.';
        Text004: Label '%1 Approval Setup appears to be correct.';
#pragma warning restore AA0470
#pragma warning restore AA0074
        UserCode: Code[50];
        WhatToTest: Option Sales,Purchase,Request,All;
#pragma warning disable AA0074
        Text005: Label 'You must choose a User ID. ';
#pragma warning disable AA0470
        Text006: Label 'User has lower %1 than the previous user.';
#pragma warning restore AA0470
#pragma warning restore AA0074
        OK: Boolean;
#pragma warning disable AA0074
#pragma warning disable AA0470
        Text007: Label 'The user %1 is either set up as approver in the %2 route, or he is set up as his own approver.';
#pragma warning restore AA0470
        Text008: Label 'Sales';
        Text009: Label 'Purchase';
        Text010: Label 'Request';
        Text012: Label 'Unlimited approvals.';
        Text013: Label 'Sales Approval';
        Text014: Label 'None';
        Text015: Label 'Purchase Approval';
        Text016: Label 'Request Approval';
#pragma warning restore AA0074
        Test_Approval_SetupCaptionLbl: Label 'Test Approval Setup';
        CurrReport_PAGENOCaptionLbl: Label 'Page';
        User_IDCaptionLbl: Label 'User ID';
        Approver_IDCaptionLbl: Label 'Approver ID';
        Salesamount_LimitCaptionLbl: Label 'Sales Amount Limit';
        Unlimited_Sales_ApprovalCaptionLbl: Label 'Unlimited Sales Approval';
        StatusCaptionLbl: Label 'Status';
        MessageCaptionLbl: Label 'Message';
        SequenceCaptionLbl: Label 'Sequence';
        Test_Setup___Sales_Approval_LimitsCaptionLbl: Label 'Test Setup - Sales Approval Limits';
        Test_Setup___Purchase_Approval_LimitsCaptionLbl: Label 'Test Setup - Purchase Approval Limits';
        SequenceCaption_Control9Lbl: Label 'Sequence';
        MessageCaption_Control10Lbl: Label 'Message';
        StatusCaption_Control159Lbl: Label 'Status';
        Unlimited_Purchase_ApprovalCaptionLbl: Label 'Unlimited Purchase Approval';
        Purchaseamount_LimitCaptionLbl: Label 'Purchase Amount Limit';
        Approver_IDCaption_Control162Lbl: Label 'Approver ID';
        User_IDCaption_Control163Lbl: Label 'User ID';
        Test_Setup___Request_Approval_LimitsCaptionLbl: Label 'Test Setup - Request Approval Limits';
        SequenceCaption_Control164Lbl: Label 'Sequence';
        MessageCaption_Control165Lbl: Label 'Message';
        StatusCaption_Control167Lbl: Label 'Status';
        Unlimited_Request_ApprovalCaptionLbl: Label 'Unlimited Request Approval';
        Requestamount_LimitCaptionLbl: Label 'Request Amount Limit';
        Approver_IDCaption_Control170Lbl: Label 'Approver ID';
        User_IDCaption_Control171Lbl: Label 'User ID';

    local procedure MakeStatusText(ApprovalCaption: Text[250]): Text[250]
    begin
        if OK and not Stop then
            exit(StrSubstNo(Text004, ApprovalCaption));

        exit(StrSubstNo(Text003, ApprovalCaption));
    end;
}