[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference dssdev::fmsnotes

Title: VAX FMS Notes
Notice:See note 675.* for info on FMS V2.4
Moderator:DRAGN::BOURQUARD
Created:Tue Feb 04 1986
Last Modified:Wed May 21 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:1211
Total number of notes:4308

1209.0. "FDV$WAIT" by PRSSOS::TEBOUL () Tue May 06 1997 07:55

    Hello,
    
    I'm using FMS 2.4 on VAX and cobol.
    When calling FDV$WAIT with a Terminator as parameter i get some
    trouble.
    
    If i use it alone (i mean with no UAR...) it's ok i get the good
    value in the parameter, but when using a UAR i always get 0 as result
    into Terminator parameter.
    
    Any idea ?
    
    Thanks for your help ,
    
    Alain. 
    
    You 'll find in reply .1 the source file to reproduce it.
T.RTitleUserPersonal
Name
DateLines
1209.1ReproducerPRSSOS::TEBOULTue May 06 1997 08:00131
    $create prog.cob
    IDENTIFICATION DIVISION.
    PROGRAM-ID. prog.
    
    DATA DIVISION.
    WORKING-STORAGE SECTION.
    
    01  WorkData.
    
            05 TERM-CONTROL-AREA      PIC X(12).
            05 TERM-CONTROL-AREA-SIZE PIC 9(5)         COMP        VALUE
    12.
            05 LOGICAL-UNIT-TT        PIC 9(5)         COMP        VALUE 1.
            05 FMS-STATUS             PIC S9(9)        COMP.
            05 RMS-STATUS             PIC S9(9)        COMP.
            05 WORKSPACE              PIC X(12).
            05 WORKSPACE-SIZE         PIC 9(5)         COMP        VALUE
    1000.
            05 FUNC-FORM-LIB          PIC X(9)        VALUE "MYLIB.FLB".
            05 LOGICAL-UNIT           PIC 9(5)         COMP        VALUE 2.
            05 TERMINATOR             PIC S9(9)        COMP.
    01 MyTerminator pic s9(9) comp.
    01 MyMess pic x(80) value "".
    01 return-status pic s9(9) comp.
    PROCEDURE DIVISION.
    debut.
        CALL "FDV$ATERM" USING BY DESCRIPTOR TERM-CONTROL-AREA
                               BY REFERENCE  TERM-CONTROL-AREA-SIZE
                               BY REFERENCE  LOGICAL-UNIT-TT.
        CALL "FDV$AWKSP" USING BY DESCRIPTOR WORKSPACE
                               BY REFERENCE  WORKSPACE-SIZE.
        CALL "FDV$LOPEN" USING BY DESCRIPTOR     FUNC-FORM-LIB
                               BY REFERENCE      LOGICAL-UNIT.
        CALL "FDV$CDISP" USING BY DESCRIPTOR     'ECRAN'.
    
        Call "FDV$WAIT"  using by reference MyTerminator.
        if MyTerminator= 53 then
            move "Terminateur : 53 " to MyMess
            else
            move "................." to MyMess
        end-if.
    
        Call "FDV$PUTL" using by descriptor MyMess.
    
        CALL "FDV$LCLOS".
        CALL "FDV$DWKSP" USING BY DESCRIPTOR WORKSPACE.
        CALL "FDV$DTERM" USING BY DESCRIPTOR TERM-CONTROL-AREA.
        DISPLAY "Session Completed.".
        STOP RUN.
    
    
    END PROGRAM prog.
    $create myuar.cob
    IDENTIFICATION DIVISION.
    PROGRAM-ID. MyUar.
    
    DATA DIVISION.
    WORKING-STORAGE SECTION.
    copy "fms$examples:fdvdef.lib".
    
    01 VARIABLES.
            05 UAR-DATA-MAX-LENGTH  PIC 9(2)        COMP        VALUE 80.
            05 UAR-DATA             PIC X(80).
            05 FORM-NAME            PIC X(31).
            05 FIELD-NAME           PIC X(31).
            05 CURSOR-POSITION      PIC 9(9)        COMP.
            05 TERMINATOR           PIC s9(9)        COMP.
            05 INSOVR-STATUS        PIC 9(9)        COMP.
            05 FIELD-INDEX          PIC 9(9)        COMP.
            05 HELP-STRIKES         PIC 9(9)        COMP.
            05 ADDRESS-WKSP         PIC 9(9)        COMP.
            05 ADDRESS-TCA          PIC 9(9)        COMP.
             05 RETURN-STATUS        PIC S9(9)       COMP.
    01 mymess               pic x(80).
    
    PROCEDURE DIVISION GIVING Return-status.
    startprog.
            CALL "FDV$RETCX" USING  BY REFERENCE      ADDRESS-TCA
                                    BY REFERENCE      ADDRESS-WKSP
                                    BY DESCRIPTOR     FORM-NAME
                                    BY DESCRIPTOR     UAR-DATA
                                    BY REFERENCE      CURSOR-POSITION
                                    BY REFERENCE      TERMINATOR
                                    BY REFERENCE      INSOVR-STATUS
                                    BY REFERENCE      HELP-STRIKES.
    
            if Terminator = 53 then
                move "F10........." to MyMess
                else
                move "erreur....." to myMess
            end-if.
            call "fdv$putl" using by descriptor MyMess.
            exit program.
    END PROGRAM MyUar.
    $create ecran.flg
    
    
    !          FMS Form Description Application Aid
    !                     Version V2.4
    
    FORM NAME='ECRAN'
        AREA_TO_CLEAR=1:23
        WIDTH=CURRENT
        BACKGROUND=CURRENT
        FUNCTION_KEY_ACTION_ROUTINE='MYUAR'
        ;
    
    
    TEXT (1,25) 'TEST DU ''TERMINATOR KEY'''
        ;
    TEXT (6,17) 'Champ :'
        ;
    
    ATTRIBUTE_DEFAULTS FIELD
        CLEAR_CHARACTER=' '
        NOAUTOTAB BLANK_FILL NOBLINKING NOBOLD NOREVERSE
        NOUNDERLINE NODISPLAY_ONLY ECHO NOFIXED_DECIMAL
        LEFT_JUSTIFIED NOSUPERVISOR_ONLY NOSUPPRESS NOUPPERCASE
        ;
    
    FIELD NAME='CHAMP1'  (6,26)
        PICTURE=7'X'
        ;
    
    
    END_OF_FORM NAME='ECRAN' ;
    $cobol prog,myuar
    $fms/vector/output=vector ecran.frm
    $fms/library/replace mylib.flb ecran.frm
    $link prog,myuar,vector