Member TCHAR2HEX in CGICBLDEV2 / QCBLLESRC

1.00 
 ********START OF PGM : TCHAR2HEX  ****************************************
2.00 
       *================================================================
3.00 
       *
4.00 
       *  After compiling this module, create the program as follow:
5.00 
       *
6.00 
       *  CRTPGM  PGM(CGICBLDEV2/TCHAR2HEX) MODULE(CGICBLDEV2/TCHAR2HEX)
7.00 
       *          BNDDIR(CGICBLDEV2/CGICBLDEV2)
8.00 
       *          ACTGRP(TCHAR2HEX) AUT(*USE)
9.00 
       *
10.00 
       *================================================================
11.00 
        PROCESS NOXREF APOST
12.00 
        ID    DIVISION.
13.00 
        PROGRAM-ID. TCHAR2HEX.
14.00 
        ENVIRONMENT DIVISION.
15.00 
        CONFIGURATION SECTION.
16.00 
        SPECIAL-NAMES.
17.00 
              copy CPYSPCNAME of CGICBLDEV2-QCBLLESRC.
18.00 
        INPUT-OUTPUT SECTION.
19.00 
        FILE-CONTROL.
20.00 
       *=================================================================
21.00 
        DATA DIVISION.
22.00 
        FILE SECTION.
23.00 
       *=================================================================
24.00 
        WORKING-STORAGE SECTION.
25.00 
       *=================================================================
26.00 
        01         HTML-DATA.
27.00 
       * Variables to execute a command
28.00 
            05     rc                  PIC  S9(9) comp-4.
29.00 
            05     cmd                 PIC  X(2000).
30.00 
       * Variables to parse the input string
31.00 
            05     varnamein           PIC  X(50).
32.00 
            05     request             PIC  X(1000).
33.00 
            05     mychar              PIC  X(1000).
34.00 
       * Variables to load external HTML
35.00 
            05     fn                  PIC  X(10) VALUE 'HTMLEXAMPL'.
36.00 
            05     lib                 PIC  X(10) VALUE 'CGICBLDEV2'.
37.00 
            05     mbr                 PIC  X(10) VALUE 'TCHAR2HEX'.
38.00 
       * Variable for QWrtSection procedure
39.00 
            05     HtmlSects           PIC  X(1000).
40.00 
       * Variables for QUpdHtmlVar procedure
41.00 
            05     varnameout          PIC  X(30).
42.00 
            05     varvalout           PIC  X(1000).
43.00 
       * Variables for QChar2Hex procedure
44.00 
            05     CharsIn             PIC  X(16000).
45.00 
            05     CharsOut            PIC  X(32000).
46.00 
            05     Chars2Out           PIC  X(2).
47.00 
       *=================================================================
48.00 
       *                M A I N  -  L I N E
49.00 
       *=================================================================
50.00 
        PROCEDURE DIVISION.
51.00 
        A-start-pgm.
52.00 
       * Retrieve input variables
53.00 
            call 'QZHBGETINPUT'.
54.00 
            move 'request' to varnamein.
55.00 
             call 'QZHBGETVARUPPER' using
56.00 
                               by content varnamein
57.00 
                               returning into request.
58.00 
            move 'mychar' to varnamein.
59.00 
             call 'QZHBGETVAR' using
60.00 
                               by content varnamein
61.00 
                               returning into mychar.
62.00 
       * Load the external HTML
63.00 
            call 'QGETHTML' using fn lib mbr.
64.00 
       * Start response
65.00 
            move 'top' to HtmlSects
66.00 
            call 'QWRTSECTION' using HtmlSects.
67.00 
       * Perform user request
68.00 
            If request = ' '
69.00 
            perform Case1 thru z-Case1
70.00 
            end-if.
71.00 
            If request = 'CASE2'
72.00 
            perform Case2 thru z-Case2
73.00 
            end-if.
74.00 
       * Write section "end" and send the HTML buffer
75.00 
            move 'end *fini' to HtmlSects
76.00 
            call 'QWRTSECTION' using HtmlSects.
77.00 
       *----------------------------------
78.00 
        B-end-pgm.
79.00 
            exit program and continue run unit.
80.00 
       *=================================================================
81.00 
        Case1.
82.00 
            move 'case1' to HtmlSects
83.00 
            call 'QWRTSECTION' using HtmlSects.
84.00 
        z-Case1.
85.00 
            EXIT.
86.00 
       *=================================================================
87.00 
        Case2.
88.00 
            move mychar to CharsIn
89.00 
             call 'QCHAR2HEX' using CharsIn
90.00 
                              returning CharsOut.
91.00 
             move CharsOut to Chars2Out.
92.00 
            move 'mychar'    to varnameout
93.00 
            if mychar = ' '
94.00 
               move ' ' to varvalout
95.00 
            else
96.00 
               move  mychar     to varvalout
97.00 
            end-if.
98.00 
             call 'QUPDHTMLVAR' using varnameout varvalout.
99.00 
            move 'myescape'  to varnameout
100.00 
            move  Chars2Out  to varvalout
101.00 
             call 'QUPDHTMLVAR' using varnameout varvalout.
102.00 
            move 'case2' to HtmlSects
103.00 
             call 'QWRTSECTION' using HtmlSects.
104.00 
        z-Case2.
105.00 
            EXIT.
106.00 
 ********* END OF PGM : TCHAR2HEX ****************************************
0.036 sec.s