*******************************************
*
* MODULE NAME INTROC.COB
*
* DESCRIPTIVE NAME CICS for MVS/ESA CWI Home-page Sample Program
*
* Statement: Licensed Materials - Property of IBM
*
* CA84 SupportPac
* (c) Copyright IBM Corp. 1997
*
* All rights reserved.
*
* U.S. Government Users Restricted Rights - use,
* duplication or disclosure restricted by GSA
* ADP Schedule Contract with IBM Corp.
*
* Status: Version 1 Release 0 Last Modified: 08 August 1997
* Author: Steve Wall
*
* NOTES :-
* DEPENDENCIES = CICS for MVS/ESA V4.1
*
* This program is a cobol CWI converter program which aims to
* demonstrate how a homepage or default page could be created
* using the CWI. It would serve the page INDEX.HTML from a URL
* of the form http://your.cics.system/ .
*
*******************************************
*******************************************
*
* PROGRAM NAME: INTROC
*
* TITLE: Cobol Sample CWI Home-page Converter Program.
*
* PROGRAM DESCRIPTION:
*
* This program will show an example of how to code a simple
* program to return a single HTML page.
*
* SYSTEM LEVEL: CICS 4.1 or higher.
*
* INPUT:
*
* The target file is hardcoded as INDEX.
*
* OUTPUT:
*
* The entire HTML file INDEX is returned to the browser.
*
*****************************************
PROCESS XOPTS(NOLINKAGE)
IDENTIFICATION DIVISION.
PROGRAM-ID. INTROC.
ENVIRONMENT DIVISION.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY DFHWBUCO.
01 CONV-POINTER POINTER.
01 INIT-VAL PIC X VALUE LOW-VALUES.
COPY DFHWBTLO.
LINKAGE SECTION.
COPY DFHEIBLC.
COPY DFHWBCDO.
01 RETURNED-DATA.
05 HTML-LEN PIC 9(8) COMP.
05 THE-HTML-PAGE PIC X(30000).
PROCEDURE DIVISION USING DFHEIBLK DFHCOMMAREA.
*===============================================================*
* MAIN CODE *
*===============================================================*
* JUST RETURN IF NO COMMAREA BECAUSE NOWHERE TO SET RC
IF EIBCALEN = 0
EXEC CICS RETURN END-EXEC
END-IF
* FIND THE COMMAREA AND SET UP ADDRESSABILITY
EXEC CICS
ADDRESS COMMAREA(CONV-POINTER)
END-EXEC.
SET ADDRESS OF CONVERTER-PARMS TO CONV-POINTER.
*--------------------------------------------------------------*
* VALIDATE THE EYECATCHER. *
*--------------------------------------------------------------*
IF (CONVERTER-EYECATCHER NOT = DECODE-EYECATCHER-INIT)
AND (CONVERTER-EYECATCHER NOT = ENCODE-EYECATCHER-INIT)
MOVE URP-INVALID TO CONVERTER-RESPONSE
MOVE URP-CORRUPT-CLIENT-DATA TO CONVERTER-REASON
EXEC CICS
RETURN
END-EXEC
END-IF
IF CONVERTER-RESPONSE NOT = 0
EXEC CICS
RETURN
END-EXEC
END-IF
IF CONVERTER-REASON NOT = 0
EXEC CICS
RETURN
END-EXEC
END-IF
* DECODE IS A NULL FUNCTION
EVALUATE CONVERTER-FUNCTION
WHEN URP-DECODE
MOVE URP-OK TO CONVERTER-RESPONSE
WHEN URP-ENCODE
PERFORM ENCODE
WHEN OTHER
MOVE URP-INVALID TO CONVERTER-RESPONSE
MOVE URP-CORRUPT-CLIENT-DATA TO CONVERTER-REASON
EXEC CICS
RETURN
END-EXEC
END-EVALUATE
EXEC CICS
RETURN
END-EXEC.
A999-EXIT.
EXIT.
********************
BB-ENCODE SECTION.
********************
ENCODE.
***************
* SET UP FOR OUTPUT
SET ADDRESS OF RETURNED-DATA TO ENCODE-DATA-PTR
* SET UP THE TEMPLATE MANAGER COMM-AREA
MOVE LOW-VALUES TO DFHWBTL-ARG
MOVE 0 TO WBTL-VERSION-NO
MOVE WBTL-BUILD-HTML-PAGE TO WBTL-FUNCTION
MOVE 'INDEX' TO WBTL-TEMPLATE-NAME
SET WBTL-HTML-BUFFER-PTR TO ADDRESS OF THE-HTML-PAGE
MOVE LENGTH OF THE-HTML-PAGE TO WBTL-HTML-BUFFER-LEN
* CALL THE TEMPLATE MANAGER WITH NO SYMBOL LIST
EXEC CICS
LINK PROGRAM('DFHWBTL')
COMMAREA(DFHWBTL-ARG)
LENGTH(56)
END-EXEC
* CALCULATE THE LENGTH OF THE HTML RESPONSE
COMPUTE HTML-LEN = (LENGTH OF THE-HTML-PAGE -
WBTL-HTML-BUFFER-LEN) + 4.
BB999-EXIT.
EXIT.
¤ Dauer der Verarbeitung: 0.26 Sekunden
(vorverarbeitet)
¤
|
Haftungshinweis
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.
|