View previous topic :: View next topic
|
Author |
Message |
Andi1982
New User
Joined: 27 Mar 2008 Posts: 42 Location: Karlsruhe / Germany
|
|
|
|
Hey,
at the moment I have to develop my first CICS transaction on z/VSE 6.1. So I was looking for some examples how to handle Input and Output BMS screens. And I found some tutorial of some german university:
padme.informatik.uni-leipzig.de/de/tutor_z/tutor03b.pdf
But this COBOL example does not seem to work for me like I understood till now.
They are sending Input map and on next statement they already do MAP RECEIVE. How this can work? They will receive same MAP which they sent before or I am wrong?
Code: |
000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. COB014.
000300 ENVIRONMENT DIVISION.
000400 DATA DIVISION.
000500 WORKING-STORAGE SECTION.
000600 COPY M3BM014.
000700 01 A PIC 999999.
000800 01 A-DRUCK PIC ZZZZZ9.
000900 01 B PIC 999.
001000 01 B-DRUCK PIC ZZ9.
001100 01 SUMME PIC ZZZZZZ9.
001200 LINKAGE SECTION.
001300 PROCEDURE DIVISION.
001400 MOVE LOW-VALUES TO AUSGMAPO.
001500 MOVE LOW-VALUES TO EINGMAPO.
001600 * DIE EINGABEMASKE WIRD ANS TERMINAL GESCHICKT
001700 EXEC CICS SEND MAP('EINGMAP') MAPSET('M3BM014') MAPONLY
001800 ERASE END-EXEC.
001900 * DIE EINGEGEBENEN SUMMANDEN WERDEN VOM TERMINAL GEHOLT
002000 EXEC CICS RECEIVE MAP('EINGMAP') MAPSET('M3BM014')
002100 INTO(EINGMAPI) END-EXEC.
002200 * SUMMANDEN VON EINGABEMAP-BEREICH (DATEN) IN INTEGER-VARIABLEN
002300 * KOPIEREN, DAMIT EINE ADDITION MOEGLICH WIRD
002400 MOVE AI TO A.
002500 MOVE BI TO B.
002600 * SUMME DER INTEGERZAHLEN BERECHNEN.
002700 ADD A, B GIVING SUMME.
002800 * EVENTUELL VORANGEHENDE NULLEN DER SUMMANDEN DURCH LEERZEICHEN
002900 * ERSETZEN.
003000 MOVE A TO A-DRUCK,
003100 MOVE B TO B-DRUCK.
003200 * SUMMANDEN UND SUMME IN DEN AUSGABEMAP-BEREICH (DATEN) KOPIEREN
003300 MOVE A-DRUCK TO SUMMND1O.
003400 MOVE B-DRUCK TO SUMMND2O.
003500 MOVE SUMME TO SUMMEO.
003600 * AUSGABEMAP AN TERMINAL SCHICKEN
003700 EXEC CICS SEND MAP('AUSGMAP') MAPSET('M3BM014')
003800 FROM(AUSGMAPO) ERASE END-EXEC.
003900 * PROGRAMMENDE
004000 GOBACK. |
|
|
Back to top |
|
|
Nic Clouston
Global Moderator
Joined: 10 May 2007 Posts: 2455 Location: Hampshire, UK
|
|
|
|
What other map would you expect to receive? You send a map to the terminal, the user does something (enters data) and presses an aid key to let CICS know that that user has finished. The program receives the map back with the user's data (or whatever). |
|
Back to top |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8697 Location: Dubuque, Iowa, USA
|
|
|
|
Do you know the difference between conversational and pseudo-conversational transactions in CICS? If not, you need to do some reading in the manuals. |
|
Back to top |
|
|
|