Project

General

Profile

langerrorcheck.p

Dănuț Filimon, 04/17/2024 08:59 AM

Download (1.93 KB)

 
1
DEFINE VARIABLE cTargetType AS CHARACTER NO-UNDO.
2
DEFINE VARIABLE cFile AS CHARACTER NO-UNDO.
3
DEFINE VARIABLE lFormatted AS LOGICAL NO-UNDO.
4
DEFINE VARIABLE cEncoding AS CHARACTER NO-UNDO.
5
DEFINE VARIABLE cSchemaLocation AS CHARACTER NO-UNDO.
6
DEFINE VARIABLE lWriteSchema AS LOGICAL NO-UNDO.
7
DEFINE VARIABLE lMinSchema AS LOGICAL NO-UNDO.
8
DEFINE VARIABLE lRetOK AS LOGICAL NO-UNDO.
9

    
10
DEFINE VARIABLE cSourceType AS CHARACTER NO-UNDO.
11
DEFINE VARIABLE cFile1 AS CHARACTER NO-UNDO.
12
DEFINE VARIABLE cReadMode AS CHARACTER NO-UNDO.
13
DEFINE VARIABLE cSchemaLocation1 AS CHARACTER NO-UNDO.
14
DEFINE VARIABLE lOverrideDefaultMapping AS LOGICAL NO-UNDO.
15
DEFINE VARIABLE cFieldTypeMapping AS CHARACTER NO-UNDO.
16
DEFINE VARIABLE cVerifySchemaMode AS CHARACTER NO-UNDO.
17

    
18
DEFINE VARIABLE i AS INTEGER NO-UNDO.
19

    
20
DEFINE TEMP-TABLE tt1 FIELD f1 AS INTEGER.
21

    
22
DEFINE DATASET dsTt1 FOR tt1.
23

    
24
PROCEDURE write-schema:
25
    CREATE tt1. ASSIGN tt1.f1 = 1. RELEASE tt1.
26
    ASSIGN
27
        cTargetType = "file"
28
        cFile = "dset.xml"
29
        lFormatted = TRUE
30
        cEncoding = ?
31
        cSchemaLocation = ?
32
        lWriteSchema = TRUE
33
        lMinSchema = FALSE.
34
    
35
    MESSAGE DATASET dsTt1:WRITE-XML(cTargetType, cFile, lFormatted, cEncoding, cSchemaLocation, lWriteSchema, lMinSchema).
36
END.
37

    
38
PROCEDURE read-schema:
39
    ASSIGN
40
        cSourceType = "file"
41
        cFile1 = "dset.xml"
42
        cReadMode = "EMPTY"
43
        cSchemaLocation1 = ?
44
        lOverrideDefaultMapping = TRUE
45
        cFieldTypeMapping = ?
46
        cVerifySchemaMode = ?.
47
        
48
    DO ON ERROR UNDO, THROW:
49
        lRetOK = DATASET dsTt1:READ-XML(cSourceType, cFile1, cReadMode, cSchemaLocation1, lOverrideDefaultMapping, cFieldTypeMapping, cVerifySchemaMode).
50
        CATCH E AS Progress.Lang.Error :
51
        	DO i = 1 to e:NumMessages:
52
        	    message e:GetMessage(i).
53
        	END.
54
        END CATCH.
55
    END.
56
END.
57

    
58
// RUN write-schema.
59
RUN read-schema.