Hcinit

Aus SiWiki
Wechseln zu: Navigation, Suche
* SAW IN HCPSAW BEI'SENDE MODIF...' IMMER AUF 'SENDE UNGESCHUETZTE...'
* (BIT 2^0 = 0) SETZEN, WEIL DAS FELD FUERS TERMINAL BEI DER NAECHSTEN
* DATENEINGABE NICHT ALS MODIFIZIERT GILT.
** V2.1C12
* SIGNAL FUER HC IST EINGETROFFEN. ZUR VERARBEITUNG UND AUSGABE
* WIRD EINE CONTI HCPRCO ANGESTOSSEN (PRIO 8) DIE LAUEFT DANN IN IDLE
* TIME UND HIER KANN WEITERGEMAXHT WERDEN.
** V2.0A00
HCINIT   CSECT
*
         PRINT NOGEN
R0       EQU   0
R1       EQU   1
R2       EQU   2
R3       EQU   3
R4       EQU   4
R5       EQU   5
R6       EQU   6
R7       EQU   7
R8       EQU   8
R9       EQU   9
R10      EQU   10
R11      EQU   11
R12      EQU   12
R13      EQU   13
R14      EQU   14
R15      EQU   15
*---------------------------------------------------------------------*
         GPARMOD 31
HCINIT   AMODE ANY
HCINIT   RMODE ANY
##BAL    OPSYN ##BAS
##BALR   OPSYN ##BASR
*---------------------------------------------------------------------*
* > REGISTERUEBERGABE <
* R3  STATEIN
* R4  USEREIN
* R14 RET. ADRES   (BASR R14,R15)
         USING *,R15
         STM   R8,R12,SAVTAB
         ST    R14,SAV14
         USING CPHCINI,R9,R10
         USING STATEIN,R3
         USING USEREIN,R4
CPHCINI  BASR  R9,0
         BCTR  R9,R0
         BCTR  R9,R0
         LA    R1,4095
         LA    R10,1(R9,R1)
         DROP  R15
         B     HCIBEG
SAV14    DS    F
SAVTAB   DS    5F
         EXTRN IDHCOCP
         EXTRN EIIDHC             AUS MOD. MCP002
*---------------------------------------------------------------------*
HCIBEG   EQU   *
         L     R5,STATHCPG
         LA    R12,4095
         L     R14,STAIDCP  
         L     R13,STATRPBA
         L     R7,STATCID
         LA    R2,STATEI
         YRESET RPB=(R13),OPTCD=(CS,SPEC),CID=(R7),AID=(R14)
         L     R14,STAIDCP  
         L     R7,STATCID
         LA    R2,STATEI
         LA    R11,33
         YSENDREC RPB=(R13),CID=(R7),AID=(R14),AREA=HCSAW,AREALN=(R11),-
               EID=(R2),AAREA=(R5),AAREALN=(R12)
         YSHOWCB BLK=RPB,BLKADDR=(R13),WAREA=HCARECL,LENGTH=4,         -
               FIELDS=ARECLN
         L     R14,STAIDCP  
         L     R7,STATCID
         LA    R2,STATEI
         YRESET RPB=(R13),OPTCD=(CA,ANY),CID=(R7),AID=(R14)
*        MVC   HCDEV(8),STATDEV
HCWUD    L     R5,ZAAREA1     LETZTE NACHR.
         CLC   10(1,R5),=X'40'
         BNE   PARSETX
         CLC   11(5,R5),=X'1B20614040'  PAR00L    ISO ??
         BE    PARSET1
         CLC   11(5,R5),=X'2740817C7C'  PAR00L    EBCDIC ??
         BE    PARSET2
*
PARSETX  EQU   *        STD PAR00L WIRD GESESTZT
         CLC   10(1,R5),=X'48'   NK 8BYTE ???
         BE    PARSETX1          NEIN
         CLC   10(1,R5),=X'50'   NK 16 BYTE ???
         BE    PARSETX3
         B     PARSETX2
PARSETX1 EQU   *                 NK 8BYTE
         MVC   HCNK8(10),9(R5)
         LH    R12,HCNK8L
         LA    R5,HCNK8
         B     HCW230
PARSETX3 EQU   *                 NK 16 BYTE
         MVC   HCNK16(18),9(R5)  18 BYTE MIT LEN-FIELD UND NBZ
         LH    R12,HCNK16L
         LA    R5,HCNK16
         B     HCW230
PARSETX2 EQU   *            "                 -> BEI U/D LETZTES BILD
         MVC   HCPAR(13),HCPARSTD
         MVI   HCPARL,X'10'    LEN 10 BEI ISO
         LH    R12,HCMESSL
         LA    R5,HCMESS
         B     HCW230
PARSET1  EQU   *          PAR00L   ISO
         MVC   HCPAR(13),11(R5)
*
         CLC   USTYP,=C'U/D '      NUR BEI U/D SAW AENDERN !!!!!!
         BNE   PARSET1E
         CLI   HCPSAW,X'4D'          MOD (FM2)
         BE    PARSET11
         CLI   HCPSAW,X'45'          MOD (FM2)
         BE    PARSET11
         CLI   HCPSAW,X'41'          MOD (FM2)
         BE    PARSET11
         B     PARSET1E
PARSET11 EQU   *
         NI    HCPSAW,B'11111110'   UNGER. 2^0  AUF GERADE 2^0
PARSET1E EQU   *
         MVI   HCPARL,X'10'    LEN 10 BEI ISO
         LH    R12,HCMESSL
         LA    R5,HCMESS
         B     HCW230
PARSET2  EQU   *          PAR00L   EBCDIC
         MVC   HCPAR(13),11(R5)
         MVI   HCPARL,X'02'    LEN 01 BEI EBCDIC
         LH    R12,HCMESSL
         LA    R5,HCMESS
         B     HCW230
HCW230   L     R14,STAIDCP
         L     R7,STATCID
         LA    R2,STATEI
         YSEND RPB=(R13),CID=(R7),AID=(R14),AREA=(R5),AREALN=(R12),    -
               EID=(R2)
*
HCWNTXX  EQU   *
         POSSIG EIID=EIIDHC,LIFETIM=43000,SPOSTR=(R3)
*                                 INIT HCPRINT
         L     R14,SAV14
         LM    R8,R12,SAVTAB
         BR    R14
MVCMESS  MVC   0(0,R5),HCMESS    AUSFUEHREN UEBER EX
         DS    F
*----------------------------------------------------------------------*
HCS23    DS    2F     SAVE R2,R3
HCCOMAD  DS    F
HCARECL  DS    F        LENGTH DER EMPF. NACHR.
         ENTRY HCARECL       FUER MOD. HCPRCO
         DS     0F
*                 PAR00L   PAG 4040
*HCSAW    DC     X'0A48436254664B540041212740D9'   BILDSCHIRM LESEN
HCSAW    DC     X'1E401B20614040436254664B54004121'  2740D9' SCHIRM
         DC     X'1B206148406600004040000000212740D9'
HCMESS   DS    0H
HCPARL   DC    X'10'      LEN 10 BEI ISO, 01 BEI EBCDIC
         DC    X'40'
HCPAR    DC    X'1B20614040'                      |
HCPSAW   DC    X'44'                              >  HCPARAM
HCPREST  DC    X'6254003240004121'                |
*        DC    X'2740814840000000404100000021'
*        DC    X'2740817CD7'
*        DC    X'1D7C'         HELL
*        DC    C'HARDCOPY INITIATED ON DEVICE: ''' 31
*HCDEV    DC    CL8'        '
*        DC    C''''
*        DC    CL30' '
*        DC    X'1DC8'
*        DC    X'19'
HCMESSE  EQU   *
HCMESSL  DC    Y(HCMESSE-HCMESS)
HCPARSTD DC    X'1B20614040456254003240004121'
HCNK8    DC    X'0A484051450050000044'   STD NK 8 BYTE
HCNK8L   DC    H'10'
HCNK16   DC    X'125040514500500000440000000000000000' STD NK 16BYTE
HCNK16L  DC    H'18'
         DS    0F
         LTORG
*---------------------------------------------------------------------*
*        D S E C T ' S
*---------------------------------------------------------------------*
         STATEIN
         EJECT
         USEREIN
*
*STATEIN  DSECT          (STATIONEINTRAG 1 FUER TERMINAL)
*STATPNA  DS    CL8      H1500350
*STATPRO  DS    CL8      V217H15
*STAIDCP  DS    F        AID --> CP
*USERPAGA DS    F        A(ANFANG BUFFERSEITE FUER PARTNERVERWALTUNG)
*USERPAGE DS    F        A(ENDE BUFFERSEITE)
*TERMTYP  DS    F        X'00000000'
*STATCID  DS    F        CID FUER TERMINAL --> CP
*STATAKTP DS    H        AKTUELLER PID
*STATTID  DS    H        TID FUER TERMINAL X'00000001'
*STATZZ   DS    CL1      X'00'
*STATK    DS    CL1      X'00' NORMAL X'10' K- TASTE GED
*STATRPBA DS    F
*STATCCBA DS    F
*STATEI   DS    F
*STATRPB1 DS    F
*STATSTOP DS    F
*STATFREE DS    CL1
*STATADM  DS    CL1
*STATPW   DS    CL8
*STAPWSAV DS    CL8
*STATDEV  DS    CL8      DEVICE NAME FOR HARDCOPY
*STATFORM DS    CL8      FORMULAR NAME FUER HC
*STATHCPG DS    F        3 SEITEN FUER HC UND SO
*STATHCTY DS    CL1       'P' = 80 CHAR / REST = 82 CHAR
*STATCLK  DS    F        CLOCK TIME LAST ENTRY
*USEREIN  DSECT          (PARTNEREINTRAG 1 FUER YOPNCON)
*USCPNAME DS    CL8      CP000001
*USPRO    DS    CL8      V217H21
*USAID    DS    F        AID --> CP00001
*USCID    DS    F        CID FUER CP00001 -- > CP
*USPNA    DS    CL8      $DIALOG
*USTYP    DS    CL4      TIAM/U/D/UCON
*USPID    DS    H        PID X'01'
*USREF    DS    CL1      REFRESH GEWUENSCHT ? ('Y' - JA/ 'N' - NEIN)
*USOKZ    DS    CL1
*USTEXTA  DS    F        A(ANFNANG BUFFER FUER YRECEIVE)
*USTEXTE  DS    F        A(ENDE BUFFER FUER YRECEIVE)
*USTERMS  DS    F        A(ANFANG BUFFER FUER TERMINAL/PARTNERSEITE)
*USIN     DS    F        A(DCAM INPUT)
*USLEN    DS    F        A(DCAM LAENGE)
*USADR1   DS    F    *
*USADR2   DS    F    * 
*USADR3   DS    F    *
*USADR4   DS    F    *
*USPAC    DS    CL4      PAC DES PARTNERS
*USNEA    DS    CL8      NEABT-PROT
**   -->*<-- WIRD VOM MODUL VERSORGT UND GEFLEGT
*USRES    DS    F        REASON  X'00000001' --> ASY YRECEIVE EINGETROF N
**                               X'00000002' --> ACK VON TERMINAL
**                               X'00000003' --> NEUAUFBAU VON GEWUENSCH
** REG 1 -- > STATIONSTABELLENEINTRAG
** REG 2 -- > PARTNERTABELLEN EINTRAG
** BEI REASON 1 / BUFFERVERWALTUNG / TERMINALBUFFERVERWALTUNG / 
** YSEND AUF TERMINAL SOFERN AKTUELLER PID = YRECEIVE / VERSORGUNG USACK
** BEI REASON 2 / BUFFERVERWALTUNG / TERMINALBUFFERENTWERTUNG /
** YSEND AUFS TERMINAL
** BEI REASON 3 / VERSORGUNG USACK ?
** YSEND AUFS TERMINAL
*USRC     DS    F
*USERROR  DS    CL15
*USFREE   DS    CL1
*USCO     DS    F
*USEI     DS    F
*USRPBA   DS    F
*USCCBA   DS    F
*USLOE1   DS    CL16
*USLOE2   DS    CL7 
*USLOE3   DS    CL25
*USSEQ    DS    F
*USKEY1   DS    F
*USSEQSA  DS    F
*USDEC    DS    CL1
*USLOE1SA DS    CL16
*USLOE2SA DS    CL7
*         DS    CL20
*USTATPNA DS    CL8
*USTATPRO DS    CL8
*         ORG   USLOE2+4
*ZAAREA1  DS    F
*         ORG
         END