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

Conference clt::cobol

Title:VAX/DEC COBOL
Notice:Kit,doc,performance talk info-->DIR/KEY=KIT or DOC or PERF_TALK
Moderator:PACKED::BRAFFITT
Created:Mon Feb 03 1986
Last Modified:Fri Jun 06 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:3250
Total number of notes:13077

3185.0. "Old bug re-service -LINE PLUS 0" by HGOVC::CHARLESLIU (Charles Liu DTN 662-3831) Thu Jan 16 1997 00:20

T.RTitleUserPersonal
Name
DateLines
3185.1Make sure they are using the V5.3-42 compilerPACKED::BRAFFITTThu Jan 16 1997 06:2013
3185.2Thanks HGOVC::CHARLESLIUCharles Liu DTN 662-3831Thu Jan 16 1997 19:114
3185.3underscore jumped line HGOVC::CHARLESLIUCharles Liu DTN 662-3831Mon Jan 27 1997 07:162594
    I have verified with the customer, and they are running the exact
    version number as you have mentioned in the previous notes.
    
    I have attached some of their code and the results of the report
    
    --------------------   Attachment ----------------------------
    
    
    
         Attached please find the three programs and their corresponding
    reports.
         - Program JCFER01 and JCFER16 have the "LINE PLUS ZERO" problem on
    output.
         - Program JCFER119 does not have the problem.
    
         Again, the specific problem of "LINE PLUS ZERO" here means that
    COBOL failed 
         to overstrike the current line on the previous line. Their report
    programs 
         all work before but now most failed.
    
         Just for your convenience, I highlight the problem areas of the
    programs.
    
         JCFER01
    
         The underline is defined at "HEAD7" (Line# 662-671)
                             is "drawn" by the COBOL "WRITE" statement
    (Line # 1889)
    
         JCFER16
    
         The underline is defined at PH of Report Section (Line # 346)
                             is "drawn" by the COBOL Report Writer
    "INITIATE 
         LO-REPORT" (Line # 514)
    
         JCFER119 (no line problem)
    
         The underline is defined at PH of Report Section (Line #561-570)
                             is "drawn" by the COBOL Report Writer
    "INITIATE 
         OUT-LIST"  (Line # 675)
    
         Please look into this problem and give us an early reply.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page   1
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
             1         IDENTIFICATION DIVISION.
             2         PROGRAM-ID.         JCFER01.
             3         AUTHOR.             KENNETH POON.
             4         DATE-WRITTEN.           11-JAN-88. 
             5       
    ********************************************************************************
             6        *
             7        * APPLICATION        :       JCFE SYSTEM
             8        *
             9        * FUNCTION      :       PRINTING OF DAILY TRADE
    REPORT 
            10        *                       - BY BARGAIN REFERENCE
    SEQUENCE
            11        *                       
            12        * LIBRARY       :       JC, JCFE                       
            13        * FILE               :       JCFE_SYSFL.DAT         
    (INPUT)
            14        *                    JCFE_TRADEFL.LIS        (OUTPUT)
            15        *
            16        *
            17        * DICTIONARY    :    CDD$TOP.DEV.JCFE.SYS_REC1 
            18        *                       CDD$TOP.DEV.JCFE.TR_REC 
            19        *                       CDD$TOP.DEV.JCFE.TR_QTY_GRP 
            20        *                      
    CDD$TOP.DEV.JCFE.TR_SPECIAL_GRP 
            21        *
            22        *  AMENDMENT HISTORY
            23        *
            24        *  DATE:     88/06/14
            25        *  BY:       KPOON
            26        *  DETAILS:  - suppress printing of EXCHANGE RATE
    (when value = 1)
            27        *
            28        *  DATE:     89/10/02 
            29        *  BY:       KPOON
            30        *  DETAILS:  - to output 'Transaction Fee' which is
    newly introduced
            31        *
            32        *  DATE:     90/03/01
            33        *  BY:       KPOON
            34        *  DETAILS:  - to add summary page to show Total no.
    of bargains (BUY/SELL/CANCEL)
            35        *              per market 
            36        *
            37        *  DATE:     93/01/07
            38        *  BY:       KFOK 
            39        *  DETAILS:  - to provide a function for changing of
    the printing 
            40        *           sequence of the report
            41        *
            42        *              PRINT_MODE = "1"   DAILY TRADE REPORT
    BY BARGAIN REFERENCE
            43        *                        "2"   DAILY TRADE REPORT BY
    A/E CODE 
            44        *
            45        *  DATE:     93/01/12
            46        *  BY:       KFOK 
            47        *  DETAILS:  - to enhance the program for producing
    the report by market
            48        *              code sequence with print mode "3"
            49        *
            50        *  DATE:     93/03/31
            51        *  BY:       CYUNG
            52        *  DETAILS:  - to change the gross consideration to
    broker consideration
            53        *
            54        *  DATE:     93/07/27
            55        *  BY:       ALEE 
            56        *  DETAILS:  Add commisssion discount rate 
            57        *
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page   2
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
            58        *  DATE:     94/01/01
            59        *  BY:       CYUNG
            60        *  DETAILS:  add print_option : '1' - all a/c
    (default)
            61        *                             '2' - only ac-sign= "N"
            62        *
            63        *  DATE:     94/01/04
            64        *  BY:       CYUNG
            65        *  DETAILS:  bug fixing - incorrect jump
            66        *
            67        *  DATE:     96/06/21
            68        *  BY:       KFOK 
            69        *  DETAILS:  ASSIGN OPTION '3' FOR PROVIDING THE
    OASYS BLOCK LEVEL TRADES IN 
            70        *         THE REPORT 
            71        *
            72        *  DATE:     96/11/13
            73        *  BY:       KFOK 
            74        *  DETAILS:  To include the FX trades into the report 
            75        *
            76        *  DATE:     97/01/04
            77        *  BY:       KFOK 
            78        *  DETAILS:  1) To add GST input tax and GST output
    tax  
            79        *         2) TO RENAME FIELD 'OTC' TO 'DEPOT'  
    
            80        *
            81       
    ********************************************************************************
            82        *
            83         ENVIRONMENT DIVISION.
            84         CONFIGURATION SECTION.
            85         SOURCE-COMPUTER.    VAX.
            86         OBJECT-COMPUTER.    VAX.
            87         INPUT-OUTPUT SECTION.                                        
            88         FILE-CONTROL.
            89         
            90             SELECT TRADEFL                  ASSIGN TO
    "JCFE_TRADEFL"
            91                    ORGANIZATION             INDEXED
            92                    ACCESS                   DYNAMIC
            93                    RECORD KEY               TR_KEY
            94                    ALTERNATE RECORD KEY     TR_ALT_KEY_0
    WITH DUPLICATES
            95                    ALTERNATE RECORD KEY     TR_ALT_KEY_1
    WITH DUPLICATES
            96                    ALTERNATE RECORD KEY     TR_ALT_KEY_2
    WITH DUPLICATES
            97                    ALTERNATE RECORD KEY     TR_ALT_KEY_3
    WITH DUPLICATES
            98                    FILE STATUS              FILE_STATUS.
            99        ***?
           100             SELECT TRADE2FL                 ASSIGN TO
    "JCFE_TRADE2FL"
           101                    ORGANIZATION             INDEXED
           102                    ACCESS                   DYNAMIC
           103                    RECORD KEY               TR2_KEY
           104                    FILE STATUS              FILE_STATUS.
           105        ***\
           106             SELECT  MKTFL                   ASSIGN TO
    JCFE_MKTFL 
           107                     ORGANIZATION            INDEXED
           108                     ACCESS                  DYNAMIC
           109                     RECORD KEY              MKT_KEY
           110                     FILE STATUS             FILE_STATUS.
           111         
           112        * 93/01/05 KFOK MOD
           113             SELECT  AEFL                    ASSIGN TO
    JCFE_AEFL
           114                     ORGANIZATION            INDEXED
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page   3
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           115                     ACCESS                  DYNAMIC
           116                     RECORD KEY              AE_KEY
           117                     FILE STATUS             FILE_STATUS.
           118         
           119             SELECT  SORTFL                  ASSIGN TO
    SORT_FILE.
           120        * 93/01/05 KFOK EOM
           121         
           122        * 94/01/01 CYUNG mod: add print_option
           123             SELECT  ACFL                    ASSIGN TO
    JCFE_ACFL
           124                     ORGANIZATION            INDEXED
           125                     ACCESS                  RANDOM
           126                     RECORD KEY              AC_KEY
           127                     ALTERNATE RECORD KEY    AC_ALT_KEY_0 
    DUPLICATES
           128                     ALTERNATE RECORD KEY    AC_ALT_KEY_1 
    DUPLICATES
           129                     ALTERNATE RECORD KEY    AC_ALT_KEY_2 
    DUPLICATES
           130                     ALTERNATE RECORD KEY    AC_ALT_KEY_3 
    DUPLICATES
           131                     FILE STATUS             FILE_STATUS.
           132         
           133        * 94/01/01 CYUNG end-mod
           134         
           135             SELECT TRADEFL_LIS              ASSIGN TO      
    "JCFE_TRADEFL_LIS"
           136                    FILE STATUS              FILE_STATUS.     
           137         
           138         I-O-CONTROL.
           139        * 94/01/01 CYUNG mod: add print_option
           140        ** 93/01/05 KFOK MOD
           141        **   APPLY LOCK-HOLDING ON TRADEFL, MKTFL.
           142        *    APPLY LOCK-HOLDING ON TRADEFL, MKTFL, AEFL.
           143        ** 93/01/05 KFOK EOM                                                                        
           144        ***?
           145        *    APPLY LOCK-HOLDING ON TRADEFL, MKTFL, AEFL,
    ACFL.
           146             APPLY LOCK-HOLDING ON TRADEFL TRADE2FL, MKTFL,
    AEFL, ACFL.
           147        ***\
           148        * 94/01/01 CYUNG END-mod
           149       
    *-------------------------------------------------------------------------------
           150        *                                       
           151         DATA DIVISION.
           152         FILE SECTION.
           153        *
           154        *
           155         FD  TRADEFL
           156             LABEL RECORD IS STANDARD.
           157         
           158         COPY "CDD$JCFE.TR_REC" FROM DICTIONARY.
           239         
           240        ***?
           241         FD  TRADE2FL
           242             LABEL RECORD IS STANDARD.
           243         
           244         COPY "CDD$JCS.TR2_REC" FROM DICTIONARY.
           265        ***\
           266        *
           267        *
           268         FD  MKTFL
           269             LABEL RECORD IS STANDARD.
           270         
           271         COPY "CDD$JCFE.MKT_REC" FROM DICTIONARY.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page   4
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           288        *
           289        *
           290        * 93/01/05 KFOK MOD
           291         FD  AEFL
           292             LABEL RECORD IS STANDARD.
           293         
           294         COPY "CDD$JCFE.AE_REC" FROM DICTIONARY.
           304        * 93/01/05 KFOK EOM
           305        *
           306        * 94/01/01 CYUNG mod: add print_option
           307         FD  ACFL
           308             LABEL RECORD IS STANDARD.
           309         
           310         COPY "CDD$JCFE.AC_REC" FROM DICTIONARY.
           367        * 94/01/01 CYUNG END-mod
           368        *
           369         FD  TRADEFL_LIS 
           370             LABEL RECORD IS OMITTED.
           371         
           372         01  OUTPUT-REC              PIC X(132).
           373         
           374        * 93/01/05 KFOK MOD
           375         SD      SORTFL.
           376         01  SORT_REC.
           377             03  SD_SECT1            PIC X(68).
           378             03  SD_TR_REF           PIC X(8).
           379        * 93/01/12 KFOK MOD
           380        *    03  SD_SECT2            PIC X(242).
           381                 03  SD_SECT2A               PIC X(2).
           382             03  SD_MKT_CO           PIC X(2).
           383             03  SD_SECT2B           PIC X(238).
           384        * 93/01/12 KFOK EOM 
           385             03  SD_AE_CODE          PIC X(7).
           386             03  SD_SECT3            PIC X(565).
           387        * 93/01/05 KFOK EOM
           388        ***?
           389             03  SD_SECT4            PIC X(128). 
           390        ***\
           391       
    *-------------------------------------------------------------------------------
           392                                                                   
           393         WORKING-STORAGE SECTION.
           394         
           395         COPY "CDD$JC.FILE_LOG_RECORD"       FROM DICTIONARY.
           408         
           409         COPY "CDD$JCFE.SYS_REC_1"   FROM DICTIONARY.
           451         
           452         COPY "CDD$JCFE.TR_QTY_GRP"  FROM DICTIONARY.
           462         
           463         COPY "CDD$JCFE.TR_SPECIAL_GRP"      FROM DICTIONARY.
           471                           
           472         COPY "CDD$JC.LI_PIC_GRP"    FROM DICTIONARY.
           482         
           483       
    *-------------------------------------------------------------------------------
           484         
           485         01  WS-VARIABLE.
           486             03  WS_SYS_REC          PIC X(512).
           487             03  WS_SYS_REC_NO       PIC 9 VALUE 1.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page   5
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           488         
           489         
           490             03  WS_PAGE             PIC 9(4) VALUE 0.
           491             03  WS_LINE             PIC 99   VALUE 66.
           492         
           493             03  WS_DATE             PIC 9(6).
           494             03  REDEFINES  WS_DATE.
           495                 04  WS_YY   PIC 9(2).
           496                 04  WS_MON  PIC 9(2).
           497                 04  WS_DD   PIC 9(2).
           498         
           499             03  WS_TIME.
           500                 04  WS_HH   PIC 99.
           501                 04  WS_MIN  PIC 99.
           502                 04  WS_SS   PIC 99.
           503                 04  WS_XX   PIC 99.
           504                                                          
           505             03  WS_REC_LENGTH       PIC 9(4).
           506             03  WS_QTY_LENGTH       PIC 9(2) VALUE 12.
           507             03  WS_PRICE_LENGTH     PIC 9(2) VALUE 14.
           508             03  WS_STK_CODE.
           509                 04  WS_EXCH         PIC X(2).
           510                 04  WS_CODE         PIC X(7).
           511         
           512             03  WS_CHGX.
           513        ***?
           514        *        04  WS_CHG          OCCURS 8.
           515                 04  WS_CHG          OCCURS 10.
           516        ***\
           517                     05  WS_CHG_TYPE PIC X(3).
           518                     05  WS_CHG_AMT  PIC 9(9)V9(2).
           519         
           520             03  WS_IDX              PIC 9(2).
           521             03  WS_CHG_IDX          PIC 9(2).
           522             03  WS_NOF_QTY          PIC 9(2).
           523             03  WS_SP_INSTR         PIC 9.
           524             03  WS_SP_INSTR_LINE    PIC X(125).
           525             03  WS_QTY_PRICE_LINE   PIC X(94).
           526         
           527                 03  WS_REC_CNT              PIC 9(4) VALUE
    0.
           528             03  WS_PRINT_CNT        PIC 9(4) VALUE 0.
           529             03  WS_PRINTED_CNT      PIC 9(4) VALUE 0.
           530             03  WS_TELEX_CNT        PIC 9(4) VALUE 0.
           531                           
           532             03  WS_TOTXX.
           533                 04  WS_TOTX                 OCCURS 50.
           534                     05  WS_MKT              PIC X(2).
           535                     05  WS_BUY              PIC 9(6).
           536                     05  WS_SELL             PIC 9(6).
           537                     05  WS_CANCEL           PIC 9(6).
           538         
           539             03  WS_I                        PIC 9(6) VALUE
    0.
           540         
           541        * 93/01/05 KFOK MOD
           542             03  WS_MODE                     PIC X.
           543             03  WS_PRV_AE_CODE              PIC X(7).
           544             03  WS_FST_REC                  PIC X.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page   6
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           545             03  WS_EOF_FLAG                 PIC X   VALUE
    "N".
           546        * 93/01/05 KFOK EOM
           547        * 93/01/12 KFOK MOD
           548             03  WS_PRV_MKT_CODE             PIC X(2).
           549        * 93/01/12 KFOK EOM 
           550         
           551         01  WS_DELAY_SECOND         COMP-1 VALUE 1.
           552         
           553        * 93/01/05 KFOK MOD
           554         01  WS_LIB_VAR.
           555                     03  RET-STATUS                      PIC
    9(09)   COMP.
           556                 03  LIB$_STRTRU                     PIC
    9(09)   COMP       VALUE EXTERNAL LIB$_STRTRU.
           557                     03  LIB$_NOSUCHSYM                  PIC
    9(09)   COMP       VALUE EXTERNAL LIB$_NOSUCHSYM.
           558                     03  SS$_NORMAL                      PIC
    9(09)   COMP       VALUE EXTERNAL SS$_NORMAL.
           559        * 93/01/05 KFOK EOM
           560        * 94/01/01 CYUNG mod: add print_option
           561                     03  WS_OPTION                       PIC
    X(1).
           562        * 94/01/01 CYUNG END-mod
           563         
           564       
    *-------------------------------------------------------------------------------
           565         
           566         01  SCREEN1.
           567             02  S1_CO_NAME          PIC X(66).
           568             02  FILLER              PIC X(6)  VALUE "DATE:
    ".
           569             02  S1_DATE             PIC XX/XX/XX.
           570         
           571         01  SCREEN2.
           572             02  FILLER              PIC X(66) VALUE
           573                 "PRINTING OF DAILY TRADE REPORT". 
           574             02  FILLER              PIC X(6) VALUE "TIME: ".
           575             02  S2_TIME.
           576                 03  S2_HH           PIC 99.
           577                 03  FILLER          PIC X VALUE ":".
           578                 03  S2_MIN          PIC 99.
           579                 03  FILLER          PIC X VALUE ":".
           580                 03  S2_SS           PIC 99.
           581                       
           582         
           583       
    *-------------------------------------------------------------------------------
           584         
           585                         
           586         01  HEAD1.
           587             03  H1_CO_NAME                  PIC X(50).
           588             03  FILLER                      PIC X(48) VALUE
    SPACE.
           589             03  FILLER                      PIC X(7)  VALUE
    "DATE:".
           590             03  H1_DATE                     PIC XX/XX/XX.
           591             03  FILLER                      PIC X(10) VALUE
    SPACE.
           592             03  FILLER                      PIC X(5)  VALUE
    "PAGE:".
           593             03  H1_PAGE                     PIC ZZZ9.
           594                 
           595         01  HEAD2.
           596        * 93/01/05 KFOK MOD
           597        *    03  FILLER                      PIC X(43) VALUE
           598        *        "DAILY TRADE REPORT - BY BARGAIN REFERENCE
    (".
           599        * 93/01/05 KFOK EOM
           600             03  FILLER                      PIC X(21) VALUE
           601                 "DAILY TRADE REPORT - ".
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page   7
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           602                 03  H2_DESC                 PIC X(21).
           603             03  FILLER                      PIC X(1)  VALUE
    "(".
           604             03  H2_DATE                     PIC XX/XX/XX. 
           605        * 94/01/01 CYUNG mod: add print_option
           606        *    03  FILLER                      PIC X(47) VALUE
    ")". 
           607             03  FILLER                      PIC X(7)  VALUE
    ")". 
           608                 03  H2_SIGN_DESC            PIC X(40).
           609        * 94/01/01 CYUNG END-mod
           610             03  FILLER                      PIC X(7)  VALUE
    "TIME:".
           611             03  H2_TIME.
           612                 04  H2_HH                   PIC 9(2).
           613                 04  FILLER                  PIC X VALUE ":".
           614                 04  H2_MIN                  PIC 9(2).
           615                 04  FILLER                  PIC X VALUE ":".
           616                 04  H2_SS                   PIC 9(2).
           617             03  FILLER                      PIC X(10) VALUE
    SPACE.
           618             03  FILLER                      PIC X(8)  VALUE
    "JCFER01".
           619          
           620         01  HEAD3.
           621             03  FILLER                      PIC X(30) VALUE
    SPACE.
           622             03  FILLER                      PIC X(6)  VALUE
    "CLIENT".
           623         
           624         01  HEAD4.
           625             03  FILLER                      PIC X(30) VALUE
    SPACE.
           626        * 93/01/05 KFOK MOD
           627        *    03  FILLER                      PIC X(10) VALUE
    "BROKER   C".
           628             03  FILLER                      PIC X(10) VALUE
    "BROKER    ".
           629        * 93/01/05 KFOK EOM
           630         01  HEAD5.     
           631             03  FILLER                      PIC X(9)   VALUE
    SPACE.
           632             03  FILLER                      PIC X(109) VALUE
           633        * 93/01/05 KFOK MOD
           634        *        "DATE     STK CODE    PAY A/C  U".
           635        * 93/07/27 ALEE MOD.
           636        *        "DATE     STK CODE    PAY A/C  CUR".
           637                 "DATE     STK CODE    PAY A/C  CUR   OFF%".
           638        * 93/07/27 ALEE EOM.
           639        * 93/01/05 KFOK EOM
           640             03  FILLER                      PIC X(14)  VALUE
    "NET AMOUNT PRT".
           641         
           642         01  HEAD6.
           643             03  FILLER                      PIC X(50) VALUE
           644        * 93/01/05 KFOK MOD
           645        *        "REF      S'DATE   MKT TC FOR  REC A/C  R 
    OFFICE%".
           646        * 93/07/27 ALEE MOD.
           647        *        "REF      S'DATE   MKT TC FOR  REC A/C  A/E  
    OFF%".
           648        ***?
           649        *        "REF      S'DATE   MKT TC FOR  REC A/C  A/E  
    DIS%".
           650                 "REF      S'DATE   MKT TC FOR  REC A/C  A/E  
    DEPO".
           651        ***\
           652        * 93/07/27 ALEE EOM.
           653        * 93/01/05 KFOK EOM
           654             03  FILLER                      PIC X(39) VALUE
           655                 "--- COMMISSION ---         QTY".
           656             03  FILLER                      PIC X(43) VALUE
           657        * 93/03/31 CYUNG MOD: to change the gross
    consideration to broker consideration
           658        *        "PRICE         CHARGES      GROSS AMOUNT
    TLX".
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page   8
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           659                 "PRICE         CHARGES      BRK.  AMOUNT
    TLX".
           660        * 93/03/31 CYUNG END-MOD
           661         
           662         01  HEAD7.
           663             03  FILLER                      PIC X(50) VALUE
           664        * 93/01/05 KFOK MOD
           665        *        "___      ______   ___ __ ___  ___ ___  _ 
    _______".
           666                 "___      ______   ___ __ ___  ___ ___  ___  
    ____".
           667        * 93/01/05 KFOK EOM
           668             03  FILLER                      PIC X(39) VALUE
           669                 "__________________         ___".
           670             03  FILLER                      PIC X(43) VALUE
           671                 "_____         _______      _____ ______
    ___".
           672         
           673        * 93/01/05 KFOK MOD
           674         01          HEAD8.
           675             03  FILLER                      PIC X(11) VALUE
    "A/E CODE : ".
           676                 03  H2A_AE_CODE                     PIC
    X(8).
           677             03  FILLER                      PIC X.
           678             03  H2A_AE_NAME                 PIC X(30).
           679         
           680        * 93/01/05 KFOK EOM
           681         01  HEAD9.
           682             03  FILLER                      PIC X(11) VALUE
    "MKT CODE : ".
           683                 03  H2B_MKT_CODE            PIC X(2).
           684             03  FILLER                      PIC X(2).
           685             03  H2B_MKT_NAME                PIC X(30).
           686        * 93/01/12 KFOK MOD
           687         
           688         01  DETAIL1.
           689             03  D1_REF                      PIC X(8).
           690             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           691             03  D1_TR_DATE                  PIC XX/XX/XX.
           692             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           693             03  D1_STK_CODE.
           694                 04  D1_EXCH                 PIC X(2).
           695                 04  FILLER                  PIC X     VALUE
    "-".
           696                 04  D1_CODE                 PIC X(7).
           697             03  FILLER                      PIC X(2)  VALUE
    SPACE.
           698             03  D1_CLIENT                   PIC X(8).
           699             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           700             03  D1_CUR                      PIC X(2).
           701             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           702             03  D1_OFFICE                   PIC X(3).
           703             03  D1_PERCENT                  PIC ZZZ9  BLANK
    WHEN ZERO.
           704             03  D1_FILLERC.
           705                 04  D1_COMM_AMT             PIC ZZZZZ9.99-.
           706                 04  D1_COMM_RATE            PIC ZZ9.9999.
           707                 04  D1_COMM_FILLER          PIC X(1). 
           708             03  D1_FILLERA.
           709                 04  D1_QTY                  PIC X(12) JUST
    RIGHT.
           710                     04  D1_PRICE            PIC X(14) JUST
    RIGHT.
           711             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           712             03  D1_FILLERB.
           713                 04  D1_CHG_TYPE             PIC X(3).
           714                 04  D1_CHG_AMT              PIC
    ZZZZZ,ZZ9.99-.
           715             03  D1_NET_CONSDN               PIC
    ZZZZZZ,ZZZ,ZZ9.99-.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page   9
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           716             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           717             03  D1_PRT_FLAG                 PIC X.
           718         
           719         01  DETAIL2.
           720             03  FILLER                      PIC X(9) VALUE
    SPACE.
           721             03  D2_SETT_DATE                PIC XX/XX/XX.
           722             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           723             03  D2_MKT                      PIC X(2).
           724             03  FILLER                      PIC X(2)  VALUE
    SPACE.
           725             03  D2_TC                       PIC X(2).
           726             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           727             03  D2_FOR                      PIC X(2).
           728             03  FILLER                      PIC X(3)  VALUE
    SPACE.
           729             03  D2_BROKER                   PIC X(8).
           730        * 93/01/05 KFOK MOD
           731        *    03  FILLER                      PIC X(4)  VALUE
    SPACE.
           732        *    03  D2_OFFICE                   PIC X(3).
           733        *    03  D2_PERCENT                  PIC ZZZ9  BLANK
    WHEN ZERO.
           734             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           735                 03  D2_AE_CODE                      PIC
    X(7).
           736        ***?
           737        *    03  FILLER                      PIC X(3)  VALUE
    SPACE.
           738             03  FILLER                      PIC X(1)  VALUE
    SPACE. 
           739             03  D2_SHS_DEPOT                PIC X(1). 
           740             03  FILLER                      PIC X(1). 
           741        ***\
           742        * 93/01/05 KFOK EOM
           743             03  D2_FILLERC.
           744                 04  D2_COMM_AMT             PIC ZZZZZ9.99-.
           745                 04  D2_COMM_RATE            PIC ZZ9.9999.
           746                 04  D2_COMM_FILLER          PIC X(1). 
           747             03  D2_FILLERA.
           748                 04  D2_QTY                  PIC X(12) JUST
    RIGHT.
           749                 04  D2_PRICE                PIC X(14) JUST
    RIGHT.
           750             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           751             03  D2_FILLERB.
           752                 04  D2_CHG_TYPE             PIC X(3).
           753                 04  D2_CHG_AMT              PIC
    ZZZZZ,ZZ9.99-.
           754             03  D2_GR_CONSDN                PIC
    ZZZZZZ,ZZZ,ZZ9.99-.
           755                     03  FILLER                      PIC X(1) 
    VALUE SPACE.
           756             03  D2_TELEX                    PIC X.
           757         
           758         01  DETAIL3.
           759             03  FILLER                      PIC X(30) VALUE
    SPACE.
           760             03  D3_PAY_AC                   PIC X(8).
           761        * 93/07/27 ALEE MOD.
           762        *    03  FILLER                      PIC X(11) VALUE
    SPACE.
           763             03  FILLER                      PIC X(5) VALUE
    SPACE.
           764                 03  D3_FILLERE.
           765                 04  D3_DISCOUNT             PIC Z9.99.
           766                     04  D3_DIS_SYM          PIC X(1) VALUE
    SPACE.
           767        * 93/07/27 ALEE EOM.
           768             03  D3_FILLERC.
           769                 04  D3_COMM_AMT             PIC ZZZZZ9.99-.
           770                 04  D3_COMM_RATE            PIC ZZ9.9999.
           771                 04  D3_COMM_FILLER          PIC X(1). 
           772             03  D3_FILLERA.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  10
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           773                 04  D3_QTY                  PIC X(12) JUST
    RIGHT.
           774                 04  D3_PRICE                PIC X(14) JUST
    RIGHT.
           775             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           776             03  D3_FILLERB.
           777                 04  D3_CHG_TYPE             PIC X(3).
           778                 04  D3_CHG_AMT              PIC
    ZZZZZ,ZZ9.99-.
           779          
           780              
           781         01  DETAIL4.
           782             03  FILLER                      PIC X(30) VALUE
    SPACE.
           783             03  D4_REC_AC                   PIC X(8).
           784             03  FILLER                      PIC X(11) VALUE
    SPACE.
           785             03  D4_FILLERC.
           786                 04  D4_COMM_AMT             PIC ZZZZZ9.99-.
           787                 04  D4_COMM_RATE            PIC ZZ9.9999.
           788                 04  D4_COMM_FILLER          PIC X(1). 
           789                 03  D4_FILLERA.
           790                 04  D4_QTY                  PIC X(12) JUST
    RIGHT.
           791                 04  D4_PRICE                PIC X(14) JUST
    RIGHT.
           792             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           793             03  D4_FILLERB.
           794                 04  D4_CHG_TYPE             PIC X(3).
           795                 04  D4_CHG_AMT              PIC
    ZZZZZ,ZZ9.99-.
           796          
           797         01  DETAIL_COMMON.
           798             03  FILLER                      PIC X(68) VALUE
    SPACE.
           799             03  DC_FILLERA.
           800                 04  DC_QTY                  PIC X(12) JUST
    RIGHT.
           801                 04  DC_PRICE                PIC X(14) JUST
    RIGHT.
           802             03  FILLER                      PIC X(1)  VALUE
    SPACE.
           803             03  DC_FILLERB.
           804                 04  DC_CHG_TYPE             PIC X(3).
           805                 04  DC_CHG_AMT              PIC
    ZZZZZ,ZZ9.99-.
           806         
           807         01  QTY_PRICE_DESC1.
           808             03  FILLER                      PIC X(68) VALUE
    SPACE.
           809             03  QP_QTY1                     PIC X(12).
           810             03  FILLER                      PIC X(2).
           811             03  QP_PRICE1                   PIC X(12).
           812         
           813         01  QTY_PRICE_DESC2.
           814             03  FILLER                      PIC X(68) VALUE
    SPACE.
           815             03  QP_QTY2                     PIC X(12).
           816             03  FILLER                      PIC X(2).
           817             03  QP_PRICE2                   PIC X(12).
           818         
           819         01  SPECIAL_INSTR1.
           820             03  FILLER                      PIC X(19) VALUE
    SPACE.
           821             03  FILLER                      PIC X(13) VALUE
    "SP. INSTN:".
           822             03  SI_1                        PIC X(45).
           823             03  FILLER                      PIC X(3)  VALUE
    SPACE.
           824             03  SI_2                        PIC X(45).
           825         
           826         01  SPECIAL_INSTR2.
           827             03  FILLER                      PIC X(32) VALUE
    SPACE.
           828             03  SI_3                        PIC X(45).
           829             03  FILLER                      PIC X(3)  VALUE
    SPACE.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  11
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           830             03  SI_4                        PIC X(45).
           831         
           832         01  EXCHANGE-RATE.
           833             03  FILLER                      PIC X(19) VALUE
    SPACE.
           834             03  FILLER                      PIC X(13) VALUE
    "EXCH RATE:".
           835             03  ER_RATE                     PIC
    ZZZ,ZZ9.999999.
           836             03  FILLER                      PIC X     VALUE
    SPACE.
           837             03  ER_DESC                     PIC X(8). 
           838         
           839        ***?
           840         01  GST-EXCH-RATE.
           841             03  FILLER                      PIC X(19) VALUE
    SPACE.
           842             03  FILLER                      PIC X(13) VALUE
    "GST EX-RATE:".
           843             03  GST_ERATE                   PIC
    ZZZ,ZZ9.999999.
           844             03  FILLER                      PIC X     VALUE
    SPACE.
           845             03  GST_EDESC                   PIC X(8). 
           846        ***\ 
           847         01  SUMMARY_LINE.
           848             03  FILLER                      PIC X(23) VALUE 
           849                 "NUMBER OF TRANSACTION:".
           850             03  SL_REC_CNT                  PIC ZZZ,ZZ9.
           851             03  FILLER                      PIC X(19) VALUE
    SPACE.
           852             03  FILLER                      PIC X(7)  VALUE
    "PRINT:".
           853             03  SL_PRINT_CNT                PIC ZZZ,ZZ9.
           854             03  FILLER                      PIC X(2)  VALUE
    " (".
           855             03  SL_PRINTED_CNT              PIC ZZZ,ZZ9.
           856             03  FILLER                      PIC X(1)  VALUE
    ")".
           857             03  FILLER                      PIC X(16) VALUE
    SPACE.
           858             03  FILLER                      PIC X(7)  VALUE
    "TELEX:".
           859             03  SL_TELEX_CNT                PIC ZZZ,ZZ9.
           860         
           861         01  CONTINUE_LINE.
           862             03  CL_REF                      PIC X(8).
           863             03  FILLER                      PIC X(12) VALUE
    "  ( CONT'D )".
           864         
           865         
           866         01  SUMMARY_HEAD1                   PIC X(21) VALUE
    "SUMMARY INFORMATION :".
           867         
           868         01  SUMMARY_HEAD2                   PIC X(21) VALUE
    ALL "_".
           869         
           870         01  SUMMARY_HEAD2_5.
           871             03  FILLER                      PIC X(47) VALUE
    SPACE.
           872             03  FILLER                      PIC X(34) VALUE
           873                 "-----     NO. OF BARGAINS    -----".
           874         
           875         01  SUMMARY_HEAD3.
           876             03  FILLER                      PIC X(47) VALUE
    "MARKET".
           877             03  FILLER                      PIC X(34) VALUE 
           878                 "BUY           SELL          CANCEL".
           879         
           880         01  SUMMARY_HEAD4.
           881             03  FILLER                      PIC X(47) VALUE
    "______".
           882             03  FILLER                      PIC X(34) VALUE 
           883                 "___           ____          ______".
           884         
           885         01  SUMMARY_DETAIL.
           886             03  SD_MKT_CODE                 PIC X(2).
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  12
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           887             03  FILLER                      PIC X(4)  VALUE
    " - ".
           888             03  SD_MKT_NAME                 PIC X(30).
           889             03  FILLER                      PIC X(7)  VALUE
    SPACE.
           890             03  SD_BUY                      PIC ZZZ,ZZ9
    BLANK WHEN ZERO.
           891             03  FILLER                      PIC X(8)  VALUE
    SPACE.
           892             03  SD_SELL                     PIC ZZZ,ZZ9
    BLANK WHEN ZERO.
           893             03  FILLER                      PIC X(9)  VALUE
    SPACE.
           894             03  SD_CANCEL                   PIC ZZZ,ZZ9
    BLANK WHEN ZERO.
           895                 
           896         01  FOOTING_LINE.
           897             02  FILLER              PIC X(20) VALUE
           898                 "END OF REPORT ...   ".
           899             02  FT_DATE             PIC XX/XX/XX.
           900             02  FILLER              PIC X(2) VALUE SPACE.
           901             02  F_TIME.
           902                 03  FT_HH           PIC 99.
           903                 03  FILLER          PIC X VALUE ":".
           904                 03  FT_MM           PIC 99.
           905                 03  FILLER          PIC X VALUE ":".
           906                 03  FT_SS           PIC 99.
           907         
           908        *--------------------------------------------
      909         
           910         PROCEDURE DIVISION.
           911        *                                                                    
           912         DECLARATIVES.
           913        *
           914         D2-TRADEFL SECTION.
           915             USE AFTER STANDARD ERROR PROCEDURE ON TRADEFL.
           916         
           917         D2-TRADEFL-PROCESS.
           918             MOVE RMS-FILENAME OF TRADEFL TO FILE_NAME.
           919             MOVE RMS-STS      OF TRADEFL TO FILE_RMS_STS.
           920             MOVE RMS-STV      OF TRADEFL TO FILE_RMS_STV.
           921             CALL "JC_FILE_ERROR" USING FILE_LOG_REC.
           922         
           923        ***?
           924         TRADE2FL-ERR SECTION.
           925             USE AFTER STANDARD ERROR PROCEDURE ON TRADE2FL.
           926         
           927         TRADE2FL-ERROR.
           928             MOVE RMS-FILENAME OF TRADE2FL TO FILE_NAME.
           929             MOVE RMS-STS      OF TRADE2FL TO FILE_RMS_STS.
           930             MOVE RMS-STV      OF TRADE2FL TO FILE_RMS_STV.
           931             CALL "JC_FILE_ERROR" USING FILE_LOG_REC.
           932        ***\
           933         
           934         MKTFL-ERROR-SECT SECTION.
           935                     USE AFTER STANDARD ERROR PROCEDURE ON
    MKTFL.
           936         
           937         MKTFL-ERROR.
           938             MOVE RMS-FILENAME       OF MKTFL TO FILE-NAME.
           939             MOVE RMS-STS            OF MKTFL TO
    FILE-RMS-STS.
           940             MOVE RMS-STV            OF MKTFL TO
    FILE-RMS-STV.
           941             MOVE MKT-REC            TO FILE-REC.
           942             CALL "JC_FILE_ERROR" USING FILE-LOG-REC.
           943         
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  13
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
           944        * 93/01/05 KFOK MOD
           945         AEFL-ERROR-SECT SECTION.
           946                     USE AFTER STANDARD ERROR PROCEDURE ON
    AEFL.
           947         
           948         AEFL-ERROR.
           949             MOVE RMS-FILENAME       OF AEFL TO FILE-NAME.
           950             MOVE RMS-STS            OF AEFL TO FILE-RMS-STS.
           951             MOVE RMS-STV            OF AEFL TO FILE-RMS-STV.
           952             MOVE MKT-REC            TO FILE-REC.
           953             CALL "JC_FILE_ERROR" USING FILE-LOG-REC.
           954        * 93/01/05 KFOK EOM
           955        * 94/01/01 CYUNG mod: add print_option
           956         ACFL-ERROR-SECT SECTION.
           957                     USE AFTER STANDARD ERROR PROCEDURE ON
    ACFL.
           958         
           959         ACFL-ERROR.
           960             MOVE RMS-FILENAME       OF ACFL TO FILE-NAME.
           961             MOVE RMS-STS            OF ACFL TO FILE-RMS-STS.
           962             MOVE RMS-STV            OF ACFL TO FILE-RMS-STV.
           963             MOVE MKT-REC            TO FILE-REC.
           964             CALL "JC_FILE_ERROR" USING FILE-LOG-REC.
           965        * 94/01/01 CYUNG END-mod
           966         
           967         D3-TRADEFL-LIS SECTION.
           968             USE AFTER STANDARD ERROR PROCEDURE ON
    TRADEFL-LIS.
           969         
           970         D3-TRADEFL-LIS-PROCESS.
           971             MOVE RMS-FILENAME OF TRADEFL_LIS        TO
    FILE_NAME.
           972             MOVE RMS-STS      OF TRADEFL_LIS        TO
    FILE_RMS_STS.
           973             MOVE RMS-STV      OF TRADEFL_LIS        TO
    FILE_RMS_STV.
           974             CALL "JC_FILE_ERROR" USING FILE_LOG_REC. 
           975        *       
           976        *                 
           977         END DECLARATIVES.  
           978        *             
           979       
    *-------------------------------------------------------------------------------
           980         MAIN SECTION.
           981                                               
           982         MAIN-ROUTINE.
           983                                                                              
           984             PERFORM A1000-HOUSEKEEPING.
           985         
           986             PERFORM A1100-GET-COMP-NAME. 
           987         
           988        * 93/01/05 KFOK MOD
           989             PERFORM A1150-GET-MODE.
           990        * 93/01/05 KFOK EOM
           991         
           992             PERFORM A1200-OPEN-FILES.
           993         
           994             PERFORM B1000-PRINT-TRADEFL THRU
           995                     C9999-PRINT-TRADEFL-EXIT.
           996         
           997             PERFORM A1300-CLOSE-FILES.
           998         
           999             CALL "LIB$SET_SYMBOL" USING BY DESCRIPTOR
    "PRINT_FILE"
          1000                                         BY DESCRIPTOR
    RMS-FILENAME OF TRADEFL_LIS.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  14
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1001         
          1002             STOP RUN.
          1003        *
          1004       
    *-------------------------------------------------------------------------------
          1005                                            
          1006         A1000-HOUSEKEEPING.                                 
          1007         
          1008             MOVE "JCFER01" TO FILE_PROGRAM.
          1009         
          1010             ACCEPT WS_DATE  FROM    DATE.
          1011             ACCEPT WS_TIME  FROM    TIME.
          1012                                                     
          1013             MOVE WS_DATE    TO      H1_DATE, S1_DATE.        
          1014             MOVE WS_HH      TO      S2_HH  , H2_HH.
          1015             MOVE WS_MIN     TO      S2_MIN , H2_MIN.
          1016             MOVE WS-SS      TO      S2_SS  , H2_SS.
          1017         
          1018             INITIALIZE WS_TOTXX.
          1019         
          1020       
    *-------------------------------------------------------------------------------
          1021         
          1022         A1100-GET-COMP-NAME.
          1023        * 93/01/05 KFOK MOD
          1024        *    CALL "JCFES01" USING "1", SYS_REC_1.
          1025             CALL "JCFES01" USING "01", SYS_REC_1.
          1026        * 93/01/05 KFOK EOM
          1027             MOVE SYS_CO_NAME TO H1_CO_NAME, S1_CO_NAME.
          1028             MOVE SYS_TR_DATE TO WS_DATE.
          1029             MOVE WS_DATE TO H2_DATE.
          1030         
          1031             DISPLAY SCREEN1.
          1032             DISPLAY SCREEN2.
          1033             CALL "JC_ERROR" USING "016".
          1034         
          1035        * 93/01/05 KFOK MOD
          1036         A1150-GET-MODE.
          1037                     CALL "LIB$GET_SYMBOL" USING BY
    DESCRIPTOR "PRINT_MODE"
          1038                                         BY DESCRIPTOR
    WS_MODE
          1039                                             GIVING
    RET-STATUS.
          1040                     IF RET-STATUS = LIB$_NOSUCHSYM
          1041                      MOVE "1" TO WS_MODE
          1042                     ELSE IF RET-STATUS = LIB$_STRTRU OR
    SS$_NORMAL
          1043        * 93/01/12 KFOK MOD
          1044        *                 IF NOT (WS-MODE = "1" OR "2")
          1045        *                   DISPLAY "INVALID PRINT_MODE -
    ONLY ACCEPT '1' OR '2'!" 
          1046                           IF NOT (WS-MODE = "1" OR "2" OR
    "3")
          1047                            DISPLAY "INVALID PRINT_MODE -
    ONLY ACCEPT '1' OR '2' OR '3'!" 
          1048        * 93/01/12 KFOK EOM 
          1049                                STOP RUN 
          1050                           END-IF
          1051                      END-IF
          1052                 END-IF.
          1053        * 93/01/12 KFOK MOD
          1054        *    IF WS_MODE = "1"
          1055        *         MOVE "BY BARGAIN REFERENCE" TO H2_DESC
          1056        *    ELSE MOVE "BY A/E CODE"          TO H2_DESC
          1057        *    END-IF.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  15
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1058             EVALUATE WS_MODE 
          1059             WHEN "1"        MOVE "BY BARGAIN REFERENCE" TO
    H2_DESC
          1060             WHEN "2"        MOVE "BY A/E CODE"          TO
    H2_DESC
          1061             WHEN "3"        MOVE "BY MARKET CODE"       TO
    H2_DESC
          1062                 END-EVALUATE.
          1063        * 93/01/12 KFOK MOD
          1064         
          1065        * 93/01/05 KFOK EOM
          1066        * 94/01/01 CYUNG mod: add print_option
          1067                     CALL "LIB$GET_SYMBOL" USING BY
    DESCRIPTOR "PRINT_OPTION"
          1068                                         BY DESCRIPTOR
    WS_OPTION
          1069                                             GIVING
    RET-STATUS.
          1070                     IF RET-STATUS = LIB$_NOSUCHSYM
          1071                      MOVE "1" TO WS_OPTION
          1072                     ELSE IF RET-STATUS = LIB$_STRTRU OR
    SS$_NORMAL
          1073        * 96/06/21 KFOK MOD
          1074        *                 IF NOT (WS_OPTION = "1" OR "2")
          1075        *                   DISPLAY "INVALID PRINT_OPTION -
    ONLY ACCEPT '1' OR '2'!" 
          1076                           IF NOT (WS_OPTION = "1" OR "2" OR
    "3")
          1077                            DISPLAY "INVALID PRINT_OPTION -
    ONLY ACCEPT '1', '2' OR '3'!" 
          1078        * 96/06/21 KFOK EOM
          1079                                STOP RUN 
          1080                           END-IF
          1081                      END-IF
          1082                 END-IF.
          1083             MOVE SPACE                  TO H2_SIGN_DESC
          1084             EVALUATE WS_OPTION
          1085             WHEN "2"        MOVE "*** AGREEMENT NOT SIGNED
    ***"  TO H2_SIGN_DESC
          1086        * 96/06/21 KFOK MOD
          1087             WHEN "3"        MOVE "***  OASYS BLOCK TRADE 
    ***"   TO H2_SIGN_DESC
          1088        * 96/06/21 KFOK EOM
          1089                 END-EVALUATE.
          1090        * 94/01/01 CYUNG END-mod
          1091       
    *-------------------------------------------------------------------------------
          1092         
          1093         A1200-OPEN-FILES.
          1094         
          1095             MOVE "OPEN" TO FILE_FUNC.
          1096         
          1097                     OPEN INPUT TRADEFL ALLOWING ALL. 
          1098        ***?
          1099             OPEN INPUT TRADE2FL ALLOWING ALL. 
          1100        ***\ 
          1101                     OPEN INPUT MKTFL ALLOWING ALL. 
          1102         
          1103        * 93/01/05 KFOK MOD 
          1104             OPEN INPUT AEFL  ALLOWING ALL.
          1105        * 93/01/05 KFOK EOM
          1106        * 94/01/01 CYUNG mod: add print_option
          1107             OPEN INPUT ACFL  ALLOWING ALL.
          1108        * 94/01/01 CYUNG END-mod
          1109             OPEN OUTPUT TRADEFL_LIS.
          1110         
          1111       
    *-------------------------------------------------------------------------------
          1112         
          1113         A1300-CLOSE-FILES.
          1114         
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  16
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1115             MOVE "CLOSE" TO FILE_FUNC.
          1116                                
          1117        * 93/01/05 KFOK MOD
          1118        *            CLOSE TRADEFL, MKTFL. 
          1119             CLOSE TRADEFL, MKTFL, AEFL. 
          1120        * 93/01/05 KFOK EOM
          1121        * 94/01/01 CYUNG mod: add print_option
          1122             CLOSE ACFL.
          1123        * 94/01/01 CYUNG END-mod
          1124             CLOSE TRADEFL_LIS.
          1125         
          1126       
    *-------------------------------------------------------------------------------
          1127         
          1128         B1000-PRINT-TRADEFL.
          1129             INITIALIZE TR_KEY.
          1130             START TRADEFL KEY IS NOT LESS THAN TR_KEY
    ALLOWING UPDATERS.
          1131             IF FILE_STATUS NOT = "00"
          1132        * 93/01/05 KFOK MOD
          1133                MOVE "Y" TO WS_EOF_FLAG
          1134        * 93/01/05 KFOK EOM
          1135                GO TO C9000-EOF  
          1136             ELSE
          1137                MOVE "READ" TO FILE_FUNC
          1138             END-IF.  
          1139                          
          1140        * 93/01/05 KFOK MOD
          1141        * B2000-READ-TRADEFL.
          1142        *    READ TRADEFL NEXT REGARDLESS.
          1143        *    IF NOT (FILE_STATUS = "00" OR "90" OR "92")
          1144        *       EVALUATE FILE_STATUS
          1145        *          WHEN "90"         GO TO B2000-READ-TRADEFL
          1146        *          WHEN "92"         GO TO B2000-READ-TRADEFL
          1147        *          WHEN "13"         GO TO C9000-EOF
          1148        *          WHEN "16"         GO TO C9000-EOF
          1149        *          WHEN OTHER        DISPLAY ""
          1150        *                            DISPLAY "READ error on
    JCFE_TRADEFL, File Status : ", FILE_STATUS
          1151        *                            GO TO C9000-EOF
          1152        *       END-EVALUATE
          1153        *    ELSE                        
          1154        *       UNLOCK TRADEFL                      
          1155        *    END-IF.
          1156         
          1157         B1500-GET-TRADEFL-REC.
          1158                     IF WS_MODE = "1"
          1159                  GO TO B2000-READ-TRADE-REC
          1160        * 92/01/12 KFOK MOD
          1161        *    ELSE SORT SORTFL ON ASCENDING SD_AE_CODE,
    SD_TR_REF
          1162        *         INPUT PROCEDURE  IS B1600-SORT-REC THRU
    B1690-SORT-REC-EXIT
          1163        *         OUTPUT PROCEDURE IS B2000-READ-TRADE-REC
    THRU
          1164        *                            
    C9900-READ-TRADE-REC-EXIT
          1165        *         GO TO C9999-PRINT-TRADEFL-EXIT
          1166        *       END-IF.                  
          1167             ELSE IF WS_MODE = "2" 
          1168                       SORT SORTFL ON ASCENDING SD_AE_CODE,
    SD_TR_REF
          1169                       INPUT PROCEDURE  IS B1600-SORT-REC
    THRU B1690-SORT-REC-EXIT
          1170                       OUTPUT PROCEDURE IS
    B2000-READ-TRADE-REC THRU
          1171                                          
    C9900-READ-TRADE-REC-EXIT
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  17
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1172                       GO TO C9999-PRINT-TRADEFL-EXIT
          1173                  ELSE SORT SORTFL ON ASCENDING SD_MKT_CO,
    SD_TR_REF
          1174                       INPUT PROCEDURE  IS B1700-SORT-REC
    THRU B1790-SORT-REC-EXIT
          1175                       OUTPUT PROCEDURE IS
    B2000-READ-TRADE-REC THRU
          1176                                          
    C9900-READ-TRADE-REC-EXIT
          1177                       GO TO C9999-PRINT-TRADEFL-EXIT
          1178                  END-IF
          1179                 END-IF.                  
          1180         
          1181         B1600-SORT-REC SECTION.
          1182         B1650-READ-TRADEFL.
          1183             MOVE "READ" TO FILE_FUNC.
          1184             READ TRADEFL NEXT REGARDLESS.
          1185             IF FILE_STATUS = "00" OR "90" OR "92"
          1186        ***?
          1187                  MOVE TR_KEY        TO TR2_KEY
          1188                  READ TRADE2FL REGARDLESS KEY IS TR2_KEY 
          1189                  IF FILE_STATUS NOT= "00" AND "90" AND "92"
          1190                       INITIALIZE TR2_REC 
          1191                       MOVE "00"     TO FILE_STATUS
          1192                  END-IF
          1193        ***\ 
          1194        * 94/01/01 CYUNG mod: add print_option
          1195                      IF WS_OPTION = "2"
          1196                           IF TR_CLIENT NOT = AC_KEY
          1197                                MOVE TR_CLIENT     TO AC_KEY
          1198                                PERFORM D2000-READ-ACFL
          1199                           END-IF
          1200                           IF AC_SIGN = "Y"
          1201                                GO TO B1650-READ-TRADEFL
          1202                           END-IF
          1203                      END-IF
          1204        * 96/06/21 KFOK MOD
          1205                  IF WS_OPTION = "3"
          1206                       IF NOT(TR_SOD_FLAG = "1" OR "A")
          1207                            GO TO B1650-READ-TRADEFL
          1208                       END-IF
          1209                  END-IF
          1210        * 96/06/21 KFOK EOM
          1211                  MOVE TR_REC TO SORT_REC
          1212        ***?
          1213                  MOVE TR2_REC       TO SD_SECT4
          1214        ***\
          1215        *             IF TR_WT_AE = SPACE OR LOW-VALUE OR
    HIGH-VALUE  
          1216        *                  MOVE SPACE TO SD_AE_CODE
          1217        *              IF NOT (TR_AE_OFF = SPACE OR LOW-VALUE
    OR HIGH-VALUE)
          1218        *                       STRING TR_AE_OFF
    TR_OFF_CODE(1) TR_AE_ID
          1219        *                   DELIMITED BY SPACE INTO
    SD_AE_CODE
          1220        *              END-IF
          1221        *         END-IF
          1222        * 94/01/01 CYUNG END-mod
          1223                  RELEASE SORT_REC
          1224                  GO TO B1650-READ-TRADEFL
          1225             END-IF.
          1226                  
          1227         B1690-SORT-REC-EXIT.
          1228             EXIT.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  18
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1229         
          1230         B1700-SORT-REC SECTION.
          1231         B1750-READ-TRADEFL.
          1232             MOVE "READ" TO FILE_FUNC.
          1233             READ TRADEFL NEXT REGARDLESS.
          1234             IF FILE_STATUS = "00" OR "90" OR "92"
          1235        ***?
          1236                  MOVE TR_KEY        TO TR2_KEY
          1237                  READ TRADE2FL REGARDLESS KEY IS TR2_KEY 
          1238                  IF FILE_STATUS NOT= "00" AND "90" AND "92"
          1239                       INITIALIZE TR2_REC
          1240                       MOVE "00"      TO FILE_STATUS
          1241                  END-IF
          1242        ***\
          1243        * 94/01/01 CYUNG mod: add print_option
          1244                      IF WS_OPTION = "2"
          1245                           IF TR_CLIENT NOT = AC_KEY
          1246                                MOVE TR_CLIENT     TO AC_KEY
          1247                                PERFORM D2000-READ-ACFL
          1248                           END-IF
          1249                           IF AC_SIGN = "Y"
          1250        * 94/01/04 CYUNG MOD: bug fixing - incorrect jump
          1251        *                       GO TO B1650-READ-TRADEFL
          1252                                GO TO B1750-READ-TRADEFL
          1253        * 94/01/04 CYUNG END-MOD
          1254                           END-IF
          1255                      END-IF
          1256        * 96/06/21 KFOK MOD
          1257                  IF WS_OPTION = "3"
          1258                       IF NOT(TR_SOD_FLAG = "1" OR "A")
          1259                            GO TO B1750-READ-TRADEFL
          1260                       END-IF
          1261                  END-IF
          1262        * 96/06/21 KFOK EOM
          1263                  MOVE TR_REC TO SORT_REC
          1264        * 94/01/01 CYUNG END-mod
          1265        ***?
          1266                  MOVE TR2_REC       TO SD_SECT4
          1267        ***\
          1268                  RELEASE SORT_REC
          1269                  GO TO B1750-READ-TRADEFL
          1270             END-IF.
          1271                  
          1272         B1790-SORT-REC-EXIT.
          1273             EXIT.
          1274         
          1275         B2000-READ-TRADE-REC SECTION.
          1276         B2100-READ-TRADE-REC.
          1277             IF WS_MODE = "1"
          1278                  MOVE "READ" TO FILE_FUNC
          1279                  READ TRADEFL NEXT REGARDLESS
          1280                  IF NOT (FILE_STATUS = "00" OR "90" OR "92")
          1281                        MOVE "Y" TO WS_EOF_FLAG
          1282                        GO TO C9000-EOF
          1283                  END-IF
          1284        ***?
          1285                  MOVE TR_KEY        TO TR2_KEY
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  19
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1286                  READ TRADE2FL REGARDLESS KEY IS TR2_KEY
          1287                  IF FILE_STATUS NOT= "00" AND "90" AND "92"
          1288                       INITIALIZE TR2_REC
          1289                       MOVE "00"      TO FILE_STATUS
          1290                  END-IF
          1291        ***\
          1292        * 94/01/01 CYUNG mod: add print_option
          1293                      IF WS_OPTION = "2"
          1294                           IF TR_CLIENT NOT = AC_KEY
          1295                                MOVE TR_CLIENT     TO AC_KEY
          1296                                PERFORM D2000-READ-ACFL
          1297                           END-IF
          1298                           IF AC_SIGN = "Y"
          1299        * 94/01/04 CYUNG MOD: bug fixing - incorrect jump
          1300        *                       GO TO B1650-READ-TRADEFL
          1301                                GO TO B2100-READ-TRADE-REC
          1302        * 94/01/04 CYUNG END-MOD
          1303                           END-IF
          1304                      END-IF
          1305        * 96/06/21 KFOK MOD
          1306                  IF WS_OPTION = "3"
          1307                       IF NOT(TR_SOD_FLAG = "1" OR "A")
          1308                            GO TO B2100-READ-TRADE-REC
          1309                       END-IF
          1310                  END-IF
          1311        * 96/06/21 KFOK EOM
          1312                  MOVE TR_REC TO SORT_REC
          1313        * 94/01/01 CYUNG END-mod
          1314        ***?
          1315                  MOVE TR2_REC       TO SD_SECT4
          1316        ***\ 
          1317        * 93/01/12 KFOK MOD
          1318                  GO TO B3000-EXTRACT-QTY-PRICE-PAIRS
    
          1319             END-IF.
          1320        *    ELSE RETURN SORTFL 
          1321        *             AT END 
          1322        *             MOVE "Y" TO WS_EOF_FLAG
          1323        *                GO TO C9000-EOF
          1324        *         END-RETURN
          1325        *         MOVE SORT_REC TO TR_REC
          1326        *         IF WS_FST_REC NOT = "N"
          1327        *              MOVE SD_AE_CODE TO WS_PRV_AE_CODE 
          1328        *                                 H2A_AE_CODE   
    AE_KEY 
          1329        *              READ AEFL REGARDLESS KEY IS AE_KEY
          1330        *              IF FILE_STATUS= "00" OR "90" OR "92"
          1331        *                   MOVE AE_NAME TO H2A_AE_NAME
          1332        *              ELSE MOVE ALL "?" TO H2A_AE_NAME
          1333        *              END-IF
          1334        *              MOVE "N" TO WS_FST_REC
          1335        *         END-IF
          1336        *         IF SD_AE_CODE NOT= WS_PRV_AE_CODE 
          1337        *              MOVE 66 TO WS_LINE
          1338        *              MOVE SD_AE_CODE TO H2A_AE_CODE
          1339        *              IF SD_AE_CODE NOT= AE_KEY
          1340        *                   MOVE SD_AE_CODE TO AE_KEY 
          1341        *                   READ AEFL REGARDLESS KEY IS
    AE_KEY
          1342        *                   IF FILE_STATUS= "00" OR "90" OR
    "92"
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  20
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1343        *                        MOVE AE_NAME TO H2A_AE_NAME
          1344        *                   ELSE MOVE ALL "?" TO H2A_AE_NAME
          1345        *                   END-IF
          1346        *              END-IF
          1347        *         END-IF 
          1348        *    END-IF.
          1349          
          1350                 IF WS_MODE = "2"
          1351                  RETURN SORTFL 
          1352                      AT END 
          1353                      MOVE "Y" TO WS_EOF_FLAG
          1354                          GO TO C9000-EOF
          1355                  END-RETURN
          1356                  MOVE SORT_REC TO TR_REC
          1357        ***?
          1358                  MOVE SD_SECT4      TO TR2_REC
          1359        ***\
          1360                  IF WS_FST_REC NOT = "N"
          1361                       MOVE SD_AE_CODE TO WS_PRV_AE_CODE 
          1362                                          H2A_AE_CODE   
    AE_KEY 
          1363                       READ AEFL REGARDLESS KEY IS AE_KEY
          1364                       IF FILE_STATUS= "00" OR "90" OR "92"
          1365                            MOVE AE_NAME TO H2A_AE_NAME
          1366                       ELSE MOVE ALL "?" TO H2A_AE_NAME
          1367                       END-IF
          1368                       MOVE "N" TO WS_FST_REC
          1369                  END-IF
          1370                  IF SD_AE_CODE NOT= WS_PRV_AE_CODE 
          1371                       MOVE 66 TO WS_LINE
          1372                       MOVE SD_AE_CODE TO H2A_AE_CODE
          1373                       IF SD_AE_CODE NOT= AE_KEY
          1374                            MOVE SD_AE_CODE TO AE_KEY 
          1375                            READ AEFL REGARDLESS KEY IS
    AE_KEY
          1376                            IF FILE_STATUS= "00" OR "90" OR
    "92"
          1377                                 MOVE AE_NAME TO H2A_AE_NAME
          1378                            ELSE MOVE ALL "?" TO H2A_AE_NAME
          1379                            END-IF
          1380                       END-IF
          1381                  END-IF 
          1382                  GO TO B3000-EXTRACT-QTY-PRICE-PAIRS
          1383             END-IF.
          1384         
          1385                 IF WS_MODE = "3"
          1386                  RETURN SORTFL 
          1387                      AT END 
          1388                      MOVE "Y" TO WS_EOF_FLAG
          1389                          GO TO C9000-EOF
          1390                  END-RETURN
          1391                  MOVE SORT_REC TO TR_REC
          1392        ***?
          1393                  MOVE SD_SECT4      TO TR2_REC 
          1394        ***\
          1395                  IF WS_FST_REC NOT = "N"
          1396                       MOVE SD_MKT_CO TO  WS_PRV_MKT_CODE 
          1397                                          H2B_MKT_CODE   
    MKT_KEY 
          1398                       READ MKTFL REGARDLESS KEY IS MKT_KEY
          1399                       IF FILE_STATUS= "00" OR "90" OR "92"
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  21
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1400                            MOVE MKT_NAME TO H2B_MKT_NAME
          1401                       ELSE MOVE ALL "?"  TO H2B_MKT_NAME
          1402                       END-IF
          1403                       MOVE "N" TO WS_FST_REC
          1404                  END-IF
          1405                  IF SD_MKT_CO NOT= WS_PRV_MKT_CODE 
          1406                       MOVE 66 TO WS_LINE
          1407                       MOVE SD_MKT_CO TO H2B_MKT_CODE
          1408                       IF SD_MKT_CO NOT= MKT_KEY
          1409                            MOVE SD_MKT_CO TO MKT_KEY 
          1410                            READ MKTFL REGARDLESS KEY IS
    MKT_KEY
          1411                            IF FILE_STATUS= "00" OR "90" OR
    "92"
          1412                                 MOVE MKT_NAME TO
    H2B_MKT_NAME
          1413                            ELSE MOVE ALL "?"  TO
    H2B_MKT_NAME
          1414                            END-IF
          1415                       END-IF
          1416                  END-IF 
          1417             END-IF.
          1418                 
          1419        * 93/01/05 KFOK EOM
          1420         
          1421         B3000-EXTRACT-QTY-PRICE-PAIRS.
          1422         
          1423             CALL "JCFES07" USING    TR_REC,
          1424                                     TR_SPECIAL_GRP,
          1425                                     TR_QTY_GRP,
          1426                                     "R",
          1427                                     WS_REC_LENGTH.
          1428         
          1429         B4000-EXTRACT-QTY-PRICE-DESC.
          1430         
          1431             CALL "JCFES08" USING    TR_QTY_GRP,
          1432                                     WS_QTY_LENGTH,
          1433                                     WS_PRICE_LENGTH,
          1434                                     LI_PIC_GRP.
          1435         
          1436        *
          1437        * MANUIPLATE CHARGES
          1438        * ==================
          1439        *
          1440             INITIALIZE WS_CHGX.
          1441             MOVE 0 TO  WS_CHG_IDX.
          1442             MOVE 1 TO  WS_NOF_QTY, WS_IDX, WS_SP_INSTR.
          1443         
          1444             ADD 1 TO WS_REC_CNT.
          1445         
          1446             IF TR_TELEX_FLAG NOT= "N" 
          1447                ADD 1 TO WS_TELEX_CNT
          1448             END-IF.
          1449                            
          1450         
          1451             IF TR_PRINT_FLAG = SPACE
          1452                ADD 1 TO WS_PRINT_CNT, WS_PRINTED_CNT
          1453             ELSE
          1454                IF TR_PRINT_FLAG = "Y"
          1455                   ADD 1 TO WS_PRINT_CNT
          1456                END-IF
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  22
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1457             END-IF.
          1458         
          1459             IF TR_ACC_INT > 0
          1460                ADD 1                TO WS_CHG_IDX
          1461                MOVE "AI:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1462                MOVE TR_ACC_INT      TO WS_CHG_AMT
    (WS_CHG_IDX)
          1463             END-IF.
          1464         
          1465             IF TR_C_STAMP > 0
          1466                ADD 1                TO WS_CHG_IDX
          1467                MOVE "CS:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1468                MOVE TR_C_STAMP      TO WS_CHG_AMT
    (WS_CHG_IDX)
          1469             END-IF.
          1470         
          1471             IF TR_T_STAMP > 0
          1472                ADD 1                TO WS_CHG_IDX
          1473                MOVE "TS:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1474                MOVE TR_T_STAMP      TO WS_CHG_AMT
    (WS_CHG_IDX)
          1475             END-IF.
          1476         
          1477             IF TR_LEVY_CHG > 0
          1478                ADD 1                TO WS_CHG_IDX
          1479                MOVE "LC:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1480                MOVE TR_LEVY_CHG     TO WS_CHG_AMT
    (WS_CHG_IDX)
          1481             END-IF.
          1482         
          1483             IF TR_SP_LEVY > 0
          1484                ADD 1                TO WS_CHG_IDX
          1485        ***?
          1486        *       CLEARING FEE 
          1487        *       MOVE "SP:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1488                MOVE "CF:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1489        ***\
          1490                MOVE TR_SP_LEVY      TO WS_CHG_AMT
    (WS_CHG_IDX)
          1491             END-IF.
          1492         
          1493             IF TR_SALES_TAX > 0
          1494                ADD 1                TO WS_CHG_IDX
          1495        ***?
          1496        *       MARKET CHARGES 
          1497        *       MOVE "ST:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1498                MOVE "MC:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1499        ***\
          1500                MOVE TR_SALES_TAX    TO WS_CHG_AMT
    (WS_CHG_IDX)
          1501             END-IF.
          1502         
          1503             IF TR_SEC_FEE > 0
          1504                ADD 1                TO WS_CHG_IDX
          1505        ***?
          1506        *       MOVE "SF:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1507                MOVE "GO:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1508        ***\
          1509                MOVE TR_SEC_FEE      TO WS_CHG_AMT
    (WS_CHG_IDX)
          1510             END-IF.
          1511         
          1512        ***?
          1513                     IF TR2_GST_ABSORBED_TAX > 0 
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  23
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1514                ADD 1                TO WS_CHG_IDX
          1515                MOVE "AB:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1516                MOVE TR2_GST_ABSORBED_TAX    TO
    WS_CHG_AMT(WS_CHG_IDX)
          1517             END-IF. 
          1518         
          1519             IF TR2_GST_INPUT_TAX > 0 
          1520                ADD 1                TO WS_CHG_IDX
          1521                MOVE "GI:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1522                MOVE TR2_GST_INPUT_TAX       TO
    WS_CHG_AMT(WS_CHG_IDX)
          1523             END-IF. 
          1524        ***\
          1525        *
          1526        * 02-OCT-89 KPOON
          1527         
          1528             IF TR_TX_FEE > 0
          1529                ADD 1                TO WS_CHG_IDX
          1530                MOVE "TF:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1531                MOVE TR_TX_FEE       TO WS_CHG_AMT
    (WS_CHG_IDX)
          1532             END-IF.
          1533         
          1534        *
          1535        * END MOD. 02-OCT-89 KPOON
          1536         
          1537             IF TR_OTR_CHG > 0
          1538                ADD 1                TO WS_CHG_IDX
          1539                MOVE "OC:"           TO
    WS_CHG_TYPE(WS_CHG_IDX)
          1540                MOVE TR_OTR_CHG      TO WS_CHG_AMT
    (WS_CHG_IDX)
          1541             END-IF.
          1542         
          1543         
          1544         B5000-PRINT-DETAIL1.
          1545         
          1546             MOVE TR_REF             TO D1_REF, CL_REF.
          1547             MOVE TR_DATE            TO WS_DATE.
          1548             MOVE WS_DATE            TO D1_TR_DATE.
          1549             MOVE TR_STK_CODE        TO WS_STK_CODE.
          1550             MOVE WS_EXCH            TO D1_EXCH.
          1551             MOVE WS_CODE            TO D1_CODE.
          1552             MOVE TR_CLIENT          TO D1_CLIENT.
          1553             MOVE TR_CUR_CODE        TO D1_CUR.
          1554             MOVE TR_OFF_CODE(1)     TO D1_OFFICE.
          1555             MOVE TR_PERCENT(1)      TO D1_PERCENT.
          1556         
          1557             IF TR_COMM_AMT(1) = 0  AND  TR_COMM_RATE(1) = 0
          1558                MOVE SPACE TO D1_FILLERC
          1559             ELSE
          1560                MOVE TR_COMM_AMT(1)  TO D1_COMM_AMT
          1561                MOVE TR_COMM_RATE(1) TO D1_COMM_RATE
          1562                MOVE "%" TO D1_COMM_FILLER
          1563             END-IF.
          1564         
          1565             IF WS_NOF_QTY > LI_NOF_QTY
          1566                MOVE SPACE TO D1_FILLERA 
          1567             ELSE
          1568                        MOVE LI_QTY_PIC(WS_NOF_QTY)   TO
    D1_QTY
          1569                MOVE LI_PRICE_PIC(WS_NOF_QTY) TO D1_PRICE
          1570                ADD 1 TO WS_NOF_QTY
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  24
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1571             END-IF.
          1572         
          1573             IF WS_IDX > WS_CHG_IDX
          1574                MOVE SPACE TO D1_FILLERB
          1575             ELSE
          1576                MOVE WS_CHG_TYPE(WS_IDX) TO D1_CHG_TYPE 
          1577                MOVE WS_CHG_AMT (WS_IDX) TO D1_CHG_AMT
          1578                ADD 1 TO WS_IDX
          1579             END-IF.
          1580         
          1581             MOVE TR_NET_CONSDN TO D1_NET_CONSDN.
          1582             MOVE TR_PRINT_FLAG TO D1_PRT_FLAG.
          1583         
          1584             PERFORM C2000-PRINT-DETAIL1.             
          1585         
          1586         
          1587         B5100-PRINT-DETAIL2.
          1588         
          1589             MOVE TR_SETT_DATE       TO WS_DATE.
          1590             MOVE WS_DATE            TO D2_SETT_DATE.
          1591             MOVE TR_MKT_CODE        TO D2_MKT.
          1592             MOVE TR_TC              TO D2_TC.
          1593             MOVE TR_FORMULA         TO D2_FOR.
          1594             MOVE TR_BROKER          TO D2_BROKER.
          1595        * 93/01/05 KFOK MOD
          1596        *    MOVE TR_OFF_CODE(2)     TO D2_OFFICE.
          1597        *    MOVE TR_PERCENT(2)      TO D2_PERCENT.
          1598             MOVE SPACE              TO D2_AE_CODE.
          1599             IF NOT (TR_WT_AE = SPACE OR LOW-VALUE OR
    HIGH-VALUE)
          1600                  MOVE TR_WT_AE TO D2_AE_CODE
          1601             ELSE IF NOT (TR_AE_OFF = SPACE OR LOW-VALUE OR
    HIGH-VALUE)
          1602                           STRING TR_AE_OFF TR_OFF_CODE(1)
    TR_AE_ID
          1603                       DELIMITED BY SPACE INTO D2_AE_CODE
          1604                  END-IF
          1605             END-IF.
          1606        * 93/01/05 KFOK EOM
          1607        ***?
          1608             IF TR_OTC = LOW-VALUE OR HIGH-VALUE 
          1609                  MOVE SPACE TO TR_OTC
          1610             END-IF. 
          1611             MOVE TR_OTC             TO D2_SHS_DEPOT. 
          1612        ***\
          1613             IF TR_COMM_AMT(2) = 0  AND  TR_COMM_RATE(2) = 0
          1614                MOVE SPACE TO D2_FILLERC
          1615             ELSE
          1616                MOVE TR_COMM_AMT(2)  TO D2_COMM_AMT
          1617                MOVE TR_COMM_RATE(2) TO D2_COMM_RATE
          1618                MOVE "%" TO D2_COMM_FILLER
          1619             END-IF.
          1620          
          1621             IF WS_NOF_QTY > LI_NOF_QTY
          1622                MOVE SPACE TO D2_FILLERA 
          1623             ELSE
          1624                MOVE LI_QTY_PIC(WS_NOF_QTY)   TO D2_QTY
          1625                MOVE LI_PRICE_PIC(WS_NOF_QTY) TO D2_PRICE
          1626                ADD 1 TO WS_NOF_QTY
          1627             END-IF.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  25
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1628         
          1629             IF WS_IDX > WS_CHG_IDX
          1630                MOVE SPACE TO D2_FILLERB
          1631             ELSE
          1632                MOVE WS_CHG_TYPE(WS_IDX) TO D2_CHG_TYPE
          1633                MOVE WS_CHG_AMT (WS_IDX) TO D2_CHG_AMT
          1634                ADD 1 TO WS_IDX
          1635             END-IF.
          1636         
          1637        * 93/03/31 CYUNG MOD: to change the gross
    consideration to broker consideration
          1638        *    MOVE TR_GR_CONSDN  TO D2_GR_CONSDN.
          1639             MOVE TR_BK_CONSDN  TO D2_GR_CONSDN.
          1640        * 93/03/31 CYUNG END-MOD
          1641             MOVE TR_TELEX_FLAG TO D2_TELEX. 
          1642         
          1643             PERFORM C2100-PRINT-DETAIL2.
          1644                         
          1645         
          1646         B5200-PRINT-DETAIL3.
          1647         
          1648             MOVE SPACE          TO DETAIL3.
          1649             MOVE TR_COMM_PAY_AC TO D3_PAY_AC.
          1650         
          1651             IF TR_COMM_AMT(3) = 0  AND  TR_COMM_RATE(3) = 0
          1652                MOVE SPACE TO D3_FILLERC
          1653             ELSE
          1654                MOVE TR_COMM_AMT(3)  TO D3_COMM_AMT
          1655                MOVE TR_COMM_RATE(3) TO D3_COMM_RATE
          1656                MOVE "%" TO D3_COMM_FILLER
          1657             END-IF.
          1658         
          1659             IF WS_NOF_QTY > LI_NOF_QTY
          1660                MOVE SPACE TO D3_FILLERA 
          1661             ELSE
          1662                MOVE LI_QTY_PIC(WS_NOF_QTY)   TO D3_QTY
          1663                MOVE LI_PRICE_PIC(WS_NOF_QTY) TO D3_PRICE
          1664                ADD 1 TO WS_NOF_QTY
          1665             END-IF.
          1666         
          1667             IF WS_IDX > WS_CHG_IDX
          1668                MOVE SPACE TO D3_FILLERB
          1669             ELSE
          1670                MOVE WS_CHG_TYPE(WS_IDX) TO D3_CHG_TYPE
          1671                MOVE WS_CHG_AMT (WS_IDX) TO D3_CHG_AMT
          1672                ADD 1 TO WS_IDX
          1673             END-IF.
          1674         
          1675        * 93/07/27 ALEE MOD.
          1676                 IF TR_DISCOUNT NOT = 0
          1677                      MOVE TR_DISCOUNT TO D3_DISCOUNT
          1678                      MOVE "%"         TO D3_DIS_SYM
          1679                 ELSE MOVE SPACE       TO D3_FILLERE
          1680                 END-IF.
          1681        * 93/07/27 ALEE EOM.
          1682             IF DETAIL3 NOT= SPACE
          1683                PERFORM C2200-PRINT-DETAIL3
          1684             END-IF.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  26
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1685         
          1686         
          1687         B5300-PRINT-DETAIL4.
          1688         
          1689             MOVE SPACE           TO DETAIL4.
          1690             MOVE TR_COMM_RECV_AC TO D4_REC_AC.
          1691         
          1692             IF TR_COMM_AMT(4) = 0  AND  TR_COMM_RATE(4) = 0
          1693                MOVE SPACE TO D4_FILLERC
          1694             ELSE
          1695                MOVE TR_COMM_AMT(4)  TO D4_COMM_AMT
          1696                MOVE TR_COMM_RATE(4) TO D4_COMM_RATE
          1697                MOVE "%" TO D4_COMM_FILLER
          1698             END-IF.
          1699         
          1700             IF WS_NOF_QTY > LI_NOF_QTY
          1701                MOVE SPACE TO D4_FILLERA 
          1702             ELSE
          1703                MOVE LI_QTY_PIC(WS_NOF_QTY)   TO D4_QTY
          1704                MOVE LI_PRICE_PIC(WS_NOF_QTY) TO D4_PRICE
          1705                ADD 1 TO WS_NOF_QTY
          1706             END-IF.
          1707         
          1708             IF WS_IDX > WS_CHG_IDX
          1709                MOVE SPACE TO D4_FILLERB
          1710             ELSE
          1711                MOVE WS_CHG_TYPE(WS_IDX) TO D4_CHG_TYPE
          1712                MOVE WS_CHG_AMT (WS_IDX) TO D4_CHG_AMT
          1713                ADD 1 TO WS_IDX
          1714             END-IF.
          1715         
          1716             IF DETAIL4 NOT= SPACE
          1717                PERFORM C2300-PRINT-DETAIL4
          1718             END-IF.
          1719          
          1720         
          1721         B5400-PRINT-DETAIL-COMMON.
          1722         
          1723             IF WS_NOF_QTY > LI_NOF_QTY  AND  WS_IDX >
    WS_CHG_IDX
          1724                GO TO B5500-PRINT-QTY-PRICE 
          1725             END-IF.
          1726         
          1727             IF WS_NOF_QTY > LI_NOF_QTY
          1728                MOVE SPACE TO DC_FILLERA 
          1729             ELSE
          1730                MOVE LI_QTY_PIC(WS_NOF_QTY)   TO DC_QTY
          1731                MOVE LI_PRICE_PIC(WS_NOF_QTY) TO DC_PRICE
          1732                ADD 1 TO WS_NOF_QTY
          1733             END-IF.
          1734         
          1735             IF WS_IDX > WS_CHG_IDX
          1736                MOVE SPACE TO DC_FILLERB
          1737             ELSE
          1738                MOVE WS_CHG_TYPE(WS_IDX) TO DC_CHG_TYPE
          1739                MOVE WS_CHG_AMT (WS_IDX) TO DC_CHG_AMT
          1740                ADD 1 TO WS_IDX
          1741             END-IF.
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  27
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1742         
          1743             PERFORM C2400-PRINT-DETAIL-COMMON. 
          1744         
          1745             GO TO B5400-PRINT-DETAIL-COMMON.
          1746         
          1747         
          1748         B5500-PRINT-QTY-PRICE.
          1749         
          1750             IF TR_QTY_DESC(1)   NOT= SPACE  OR
          1751                TR_PRICE_DESC(1) NOT= SPACE  
          1752                MOVE TR_QTY_DESC(1)   TO QP_QTY1
          1753                MOVE TR_PRICE_DESC(1) TO QP_PRICE1
          1754                MOVE QTY_PRICE_DESC1  TO WS_QTY_PRICE_LINE
          1755                PERFORM C3000-PRINT-QTY-PRICE-DESC      
          1756             END-IF.
          1757         
          1758             IF TR_QTY_DESC(2)   NOT= SPACE  OR
          1759                TR_PRICE_DESC(2) NOT= SPACE  
          1760                MOVE TR_QTY_DESC(2)   TO QP_QTY2
          1761                MOVE TR_PRICE_DESC(2) TO QP_PRICE2
          1762                MOVE QTY_PRICE_DESC2  TO WS_QTY_PRICE_LINE
          1763                PERFORM C3000-PRINT-QTY-PRICE-DESC      
          1764             END-IF.
          1765         
          1766         
          1767         B5600-PRINT-SPECIAL-INSTR.
          1768         
          1769             IF TR_NOF_SP_INSTR = 0
          1770                GO TO B5700-PRINT-EXCHANGE-RATE
          1771             END-IF.
          1772         
          1773             MOVE TR_SPECIAL_INSTR(1) TO SI_1.
          1774             MOVE TR_SPECIAL_INSTR(2) TO SI_2.
          1775         
          1776             MOVE SPECIAL_INSTR1      TO WS_SP_INSTR_LINE.
          1777         
          1778             PERFORM C4000-PRINT-SPECIAL-INSTR. 
          1779         
          1780             IF TR_SPECIAL_INSTR(3) = SPACE
          1781                GO TO B5700-PRINT-EXCHANGE-RATE
          1782             ELSE 
          1783                MOVE TR_SPECIAL_INSTR(3) TO SI_3
          1784                MOVE TR_SPECIAL_INSTR(4) TO SI_4
          1785             END-IF.
          1786         
          1787             MOVE SPECIAL_INSTR2 TO WS_SP_INSTR_LINE.
          1788         
          1789             PERFORM C4000-PRINT-SPECIAL-INSTR. 
          1790         
          1791         
          1792         B5700-PRINT-EXCHANGE-RATE.
          1793         
          1794             IF TR_EXCH_RATE = 1  
          1795                GO TO B5800-ACC-TOT-BARGAIN
          1796             ELSE
          1797                MOVE TR_EXCH_RATE TO ER_RATE
          1798                IF TR_OPERAND = "M"
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  28
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1799                   MOVE "MULTIPLY" TO ER_DESC
          1800                ELSE
          1801                   MOVE "DIVIDE  " TO ER_DESC
          1802                END-IF
          1803             END-IF.
          1804         
          1805             PERFORM C5000-PRINT-EXCHANGE-RATE.
          1806                                       
          1807        * 90/03/01 KPOON
          1808         
          1809         B5800-ACC-TOT-BARGAIN.
          1810         
          1811        * 96/11/13 KFOK MOD
          1812        *    IF TR_MKT_CODE = "FX"
          1813        *       GO TO B5900-CONTINUE
          1814        *    END-IF.
          1815        * 96/11/13 KFOK EOM
          1816         
          1817             PERFORM VARYING WS_I FROM 1 BY 1 UNTIL WS_I > 50
          1818         
          1819                IF WS_MKT(WS_I) = SPACE
          1820                   MOVE TR_MKT_CODE TO WS_MKT(WS_I)
          1821                   EVALUATE TR_TC
          1822                     WHEN "BY"       ADD 1 TO WS_BUY(WS_I)
          1823                     WHEN "SL"       ADD 1 TO WS_SELL(WS_I)
          1824                     WHEN "XB"       ADD 1 TO WS_CANCEL(WS_I)
          1825                     WHEN "XS"       ADD 1 TO WS_CANCEL(WS_I)
          1826        * 96/11/13 KFOK MOD
          1827                     WHEN "BC"       ADD 1 TO WS_BUY(WS_I)
          1828                     WHEN "SC"       ADD 1 TO WS_SELL(WS_I)
          1829                     WHEN "CB"       ADD 1 TO WS_CANCEL(WS_I)
          1830                     WHEN "CS"       ADD 1 TO WS_CANCEL(WS_I)
          1831        * 96/11/13 KFOK EOM
          1832                   END-EVALUATE
          1833                   GO TO B5900-CONTINUE
          1834                END-IF 
          1835         
          1836                IF WS_MKT(WS_I) = TR_MKT_CODE
          1837                   EVALUATE TR_TC
          1838                     WHEN "BY"       ADD 1 TO WS_BUY(WS_I)
          1839                     WHEN "SL"       ADD 1 TO WS_SELL(WS_I)
          1840                     WHEN "XB"       ADD 1 TO WS_CANCEL(WS_I)
          1841                     WHEN "XS"       ADD 1 TO WS_CANCEL(WS_I)
          1842        * 96/11/13 KFOK MOD
          1843                     WHEN "BC"       ADD 1 TO WS_BUY(WS_I)
          1844                     WHEN "SC"       ADD 1 TO WS_SELL(WS_I)
          1845                     WHEN "CB"       ADD 1 TO WS_CANCEL(WS_I)
          1846                     WHEN "CS"       ADD 1 TO WS_CANCEL(WS_I)
          1847        * 96/11/13 KFOK EOM
          1848                   END-EVALUATE
          1849                   GO TO B5900-CONTINUE
          1850                END-IF
          1851         
          1852             END-PERFORM.
          1853         
          1854        * END MOD. 90/03/01 KPOON
          1855         
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  29
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1856         
          1857         B5900-CONTINUE.           
          1858         
          1859        * 93/01/05 KFOK MOD
          1860             IF WS_MODE = "2"
          1861                  MOVE SD_AE_CODE TO WS_PRV_AE_CODE
          1862             END-IF.
          1863        * 93/01/12 KFO MOD
          1864             IF WS_MODE = "3"
          1865                  MOVE SD_MKT_CO  TO WS_PRV_MKT_CODE
          1866             END-IF.
          1867        * 93/01/12 KFO EOM
          1868        *    GO TO B2000-READ-TRADEFL.
          1869             GO TO B2100-READ-TRADE-REC.
          1870        * 93/01/05 KFOK EOM
          1871         
          1872         
          1873       
    *-------------------------------------------------------------------------------
          1874         
          1875         C1000-PRINT-HEADERS.
          1876         
          1877             ADD 1 TO WS_PAGE.
          1878             MOVE WS_PAGE TO H1_PAGE.
          1879         
          1880             MOVE SPACE TO OUTPUT_REC.
          1881             WRITE OUTPUT_REC AFTER PAGE.
          1882         
          1883             WRITE OUTPUT_REC FROM HEAD1.
          1884             WRITE OUTPUT_REC FROM HEAD2.
          1885             WRITE OUTPUT_REC FROM HEAD3 AFTER 2.
          1886             WRITE OUTPUT_REC FROM HEAD4.
          1887             WRITE OUTPUT_REC FROM HEAD5.
          1888             WRITE OUTPUT_REC FROM HEAD6.
          1889             WRITE OUTPUT_REC FROM HEAD7 AFTER 0.
          1890        * 93/01/05 KFOK MOD
          1891        *    MOVE 9 TO WS_LINE.
          1892        * 93/01/12 KFOK MOD
          1893        *    IF WS_MODE = "2" AND WS_EOF_FLAG NOT= "Y" 
          1894        *         WRITE OUTPUT_REC FROM HEAD8 AFTER 2
          1895             IF (WS_MODE = "2" OR "3") AND WS_EOF_FLAG NOT=
    "Y" 
          1896                  IF WS_MODE = "2"
          1897                           WRITE OUTPUT_REC FROM HEAD8 AFTER
    2
          1898                  ELSE WRITE OUTPUT_REC FROM HEAD9 AFTER 2 
          1899                  END-IF
          1900        * 93/01/12 KFOK EOM
          1901                  MOVE SPACE TO OUTPUT_REC
          1902                  MOVE 11 TO WS_LINE
          1903             ELSE MOVE  9 TO WS_LINE
          1904             END-IF.
          1905        * 93/01/05 KFOK EOM
          1906                          
          1907       
    *-------------------------------------------------------------------------------
          1908         
          1909         C2000-PRINT-DETAIL1.
          1910         
          1911             IF WS_LINE > 60
          1912                PERFORM C1000-PRINT-HEADERS
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  30
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1913             END-IF.
          1914         
          1915             WRITE OUTPUT_REC FROM DETAIL1 AFTER 2.
          1916             ADD 2 TO WS_LINE.
          1917         
          1918         C2100-PRINT-DETAIL2.
          1919         
          1920             IF WS_LINE > 60
          1921                PERFORM C1000-PRINT-HEADERS
          1922                PERFORM C7000-PRINT-CONTINUE-LINE
          1923             END-IF.
          1924         
          1925             WRITE OUTPUT_REC FROM DETAIL2.
          1926             ADD 1 TO WS_LINE.
          1927         
          1928         C2200-PRINT-DETAIL3.
          1929         
          1930             IF WS_LINE > 60
          1931                PERFORM C1000-PRINT-HEADERS
          1932                PERFORM C7000-PRINT-CONTINUE-LINE
          1933             END-IF.
          1934         
          1935             WRITE OUTPUT_REC FROM DETAIL3.
          1936             ADD 1 TO WS_LINE.
          1937         
          1938         C2300-PRINT-DETAIL4.
          1939         
          1940             IF WS_LINE > 60
          1941                PERFORM C1000-PRINT-HEADERS
          1942                PERFORM C7000-PRINT-CONTINUE-LINE
          1943             END-IF.
          1944         
          1945                     WRITE OUTPUT_REC FROM DETAIL4.
          1946             ADD 1 TO WS_LINE.
          1947         
          1948         C2400-PRINT-DETAIL_COMMON.
          1949         
          1950             IF WS_LINE > 60
          1951                PERFORM C1000-PRINT-HEADERS
          1952                PERFORM C7000-PRINT-CONTINUE-LINE
          1953             END-IF.
          1954         
          1955             WRITE OUTPUT_REC FROM DETAIL_COMMON.
          1956             ADD 1 TO WS_LINE.
          1957         
          1958       
    *-------------------------------------------------------------------------------
          1959         
          1960         C3000-PRINT-QTY-PRICE-DESC.
          1961         
          1962             IF WS_LINE > 60
          1963                PERFORM C1000-PRINT-HEADERS
          1964                PERFORM C7000-PRINT-CONTINUE-LINE
          1965             END-IF.
          1966         
          1967             WRITE OUTPUT_REC FROM WS_QTY_PRICE_LINE.
          1968             ADD 1 TO WS_LINE.
          1969         
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  31
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          1970       
    *-------------------------------------------------------------------------------
          1971         
          1972         C4000-PRINT-SPECIAL-INSTR.
          1973         
          1974             IF WS_LINE > 62
          1975                PERFORM C1000-PRINT-HEADERS
          1976                PERFORM C7000-PRINT-CONTINUE-LINE
          1977             END-IF.
          1978         
          1979             WRITE OUTPUT_REC FROM WS_SP_INSTR_LINE.
          1980             ADD 1 TO WS_LINE.
          1981          
          1982       
    *-------------------------------------------------------------------------------
          1983         
          1984         C5000-PRINT-EXCHANGE-RATE.
          1985         
          1986             IF WS_LINE > 64
          1987                PERFORM C1000-PRINT-HEADERS
          1988                PERFORM C7000-PRINT-CONTINUE-LINE
          1989             END-IF.
          1990         
          1991             WRITE OUTPUT_REC FROM EXCHANGE-RATE. 
          1992             ADD 1 TO WS_LINE.
          1993         
          1994       
    *-------------------------------------------------------------------------------
          1995         
          1996         C6000-PRINT-SUMMARY-LINE.
          1997         
          1998             IF WS_LINE > 60
          1999                PERFORM C1000-PRINT-HEADERS
          2000             END-IF.
          2001         
          2002             WRITE OUTPUT_REC FROM SUMMARY_LINE AFTER 2.
          2003         
          2004       
    *-------------------------------------------------------------------------------
          2005         
          2006         C7000-PRINT-CONTINUE-LINE.
          2007         
          2008             WRITE OUTPUT_REC FROM CONTINUE_LINE AFTER 2.
          2009             ADD 2 TO WS_LINE.
          2010         
          2011       
    *-------------------------------------------------------------------------------
          2012         
          2013         C9000-EOF.
          2014               
          2015        * 93/01/05 KFOK MOD
          2016        * 93/01/12 KFOK MOD
          2017        *     IF WS_MODE = "2"
          2018              IF WS_MODE = "2" OR "3"
          2019        * 93/01/12 KFOK EOM
          2020                    MOVE 66  TO WS_LINE
          2021              END-IF
          2022        * 93/01/05 KFOK EOM
          2023             IF WS_PAGE = 0
          2024                PERFORM C1000-PRINT-HEADERS
          2025             END-IF.
          2026         
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  32
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          2027             MOVE WS_REC_CNT TO      SL_REC_CNT.
          2028             MOVE WS_PRINT_CNT TO    SL_PRINT_CNT.
          2029             MOVE WS_PRINTED_CNT TO  SL_PRINTED_CNT.
          2030             MOVE WS_TELEX_CNT TO    SL_TELEX_CNT.
          2031         
          2032             PERFORM C6000-PRINT-SUMMARY-LINE.
          2033         
          2034         C9100-PRINT-SUMMARY.
          2035         
          2036        * 93/01/05 KFOK MOD
          2037        *    PERFORM C1000-PRINT-HEADERS.
          2038             IF WS_MODE = "1"
          2039                  PERFORM C1000-PRINT-HEADERS
          2040             END-IF.
          2041        * 93/01/05 KFOK EOM
          2042         
          2043             WRITE OUTPUT_REC FROM SUMMARY_HEAD1 AFTER 5.
          2044             WRITE OUTPUT_REC FROM SUMMARY_HEAD2 AFTER 0.
          2045         
          2046             WRITE OUTPUT_REC FROM SUMMARY_HEAD2_5 AFTER 2.
          2047             WRITE OUTPUT_REC FROM SUMMARY_HEAD3 AFTER 2.
          2048             WRITE OUTPUT_REC FROM SUMMARY_HEAD4 AFTER 0.
          2049         
          2050             MOVE SPACE TO OUTPUT_REC.
          2051             WRITE OUTPUT_REC.
          2052         
          2053             PERFORM VARYING WS_I FROM 1 BY 1 UNTIL
    WS_MKT(WS_I) = SPACE
          2054         
          2055                MOVE WS_MKT(WS_I) TO MKT_KEY
          2056                PERFORM D1000-READ-MKTFL
          2057                MOVE MKT_KEY         TO SD_MKT_CODE
          2058                MOVE MKT_NAME        TO SD_MKT_NAME
          2059                MOVE WS_BUY(WS_I)    TO SD_BUY
          2060                MOVE WS_SELL(WS_I)   TO SD_SELL
          2061                MOVE WS_CANCEL(WS_I) TO SD_CANCEL
          2062                WRITE OUTPUT_REC FROM SUMMARY_DETAIL
          2063         
          2064             END-PERFORM.
          2065         
          2066             ACCEPT WS_TIME FROM TIME.
          2067             ACCEPT WS_DATE FROM DATE.
          2068         
          2069             MOVE WS_DATE    TO      FT_DATE.
          2070             MOVE WS_HH      TO      FT_HH.
          2071             MOVE WS_MIN     TO      FT_MM.
          2072             MOVE WS_SS      TO      FT_SS.
          2073         
          2074             WRITE OUTPUT_REC FROM FOOTING-LINE AFTER 3.
          2075          
          2076             CALL "JC_ERROR" USING "036".
          2077                                           
          2078             CALL "LIB$WAIT" USING WS_DELAY_SECOND.
          2079         
          2080        * 93/01/05 KFOK MOD
          2081         C9900-READ-TRADE-REC-EXIT.
          2082                     EXIT.
          2083        * 93/01/05 KFOK EOM
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  33
         Source Listing                                                 
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
          2084         
          2085         C9999-PRINT-TRADEFL-EXIT.
          2086             EXIT.
          2087         
          2088       
    *-------------------------------------------------------------------------------
          2089         
          2090         D1000-READ-MKTFL.
          2091         
          2092             MOVE "READ" TO FILE_FUNC.
          2093          
          2094             UNLOCK MKTFL.
          2095         
          2096             READ MKTFL REGARDLESS.
          2097         
          2098             IF FILE_STATUS NOT= "00" AND "90" AND "92"
          2099                MOVE ALL "*" TO MKT_NAME
          2100             END-IF.
          2101         
          2102       
    *-------------------------------------------------------------------------------
          2103        * 94/01/01 CYUNG mod: add print_option
          2104         D2000-READ-ACFL.
          2105             MOVE "READ" TO FILE_FUNC.
          2106             UNLOCK ACFL.
          2107         
          2108             READ ACFL REGARDLESS.
          2109         
          2110             IF FILE_STATUS NOT= "00" AND "90" AND "92"
          2111                MOVE "N"       TO AC_SIGN
          2112             END-IF.
          2113         
          2114        * 94/01/01 CYUNG END-mod
          2115         
          2116         END PROGRAM JCFER01.
          2117          
    
         JCFER01                                                        
    20-Jan-1997 17:01:06    VAX COBOL V5.3-42                   Page  34
         Compilation Summary                                            
    14-Jan-1997 13:37:21    $1$DUA35:[JC.USER.KFOK]JCFER01.COB;79 (1)
    
         PROGRAM SECTIONS
    
             Name                                Bytes   Attributes
    
           0 $CODE                               13948     PIC   CON   REL  
    LCL   SHR   EXE   RD NOWRT Align(2)
           1 $LOCAL                              16996     PIC   CON   REL  
    LCL NOSHR NOEXE   RD   WRT Align(2)
           2 $PDATA                               5300     PIC   CON   REL  
    LCL   SHR NOEXE   RD NOWRT Align(2)
           3 COB$NAMES_____2                        24     PIC   CON   REL  
    LCL   SHR NOEXE   RD NOWRT Align(2)
           4 COB$NAMES_____4                        40     PIC   CON   REL  
    LCL   SHR NOEXE   RD NOWRT Align(2)
    
    
         DIAGNOSTICS
    
             Informational:      1314 (suppressed by command qualifier)
    
    
         COMMAND QUALIFIERS
    
             COBOL /STAND=V3/LIS JCFER01
    
             /NOCOPY_LIST  /NOMACHINE_CODE  /NOCROSS_REFERENCE
             /NOANSI_FORMAT  /NOSEQUENCE_CHECK  /NOMAP
             /NOTRUNCATE  /NOAUDIT  /NOCONDITIONALS
             /CHECK=(NOPERFORM,NOBOUNDS,NODUPLICATE_KEYS) 
    /DEBUG=(NOSYMBOLS,TRACEBACK)
             /WARNINGS=(NOSTANDARD,OTHER,NOINFORMATION)  /NODEPENDENCY_DATA
             /STANDARD=(NOSYNTAX,NOPDP11,V3,NO85,NOALPHA_AXP)  /NOFIPS
             /LIST  /OBJECT /NODIAGNOSTICS /NOFLAGGER /NOANALYSIS_DATA
             /INSTRUCTION_SET=DECIMAL_STRING
    /DESIGN=(NOPLACEHOLDERS,NOCOMMENTS)
             /NATIONALITY=US
    
    
         STATISTICS
    
             Run Time:           2.43 seconds
             Elapsed Time:       6.91 seconds
             Page Faults:        1384
             Dynamic Memory:     1302 pages
    
         --------------4F4B40D6621F
         Content-Type: text/plain; charset=big5
         Content-Transfer-Encoding: 7bit
         Content-Disposition: inline; filename="Jcfer01.rpt"
    
                                                                                                                                             
         HSBC JAMES CAPEL SECURITIES (S) PTE. LTD.                                                        
    DATE:  97/01/20          PAGE:   1
         DAILY TRADE REPORT - BY BARGAIN REFERENCE (96/12/20)                                             
    TIME:  17:09:45          JCFER01  
    
                                       CLIENT                                                                                                
                                       BROKER                                                                                                
                  DATE     STK CODE    PAY A/C  CUR   OFF%                                                                    
    NET AMOUNT PRT
         REF      S'DATE   MKT TC FOR  REC A/C  A/E   DEPO --- COMMISSION
    ---         QTY         PRICE         CHARGES      BRK.  AMOUNT TLX
         ___      ______   ___ __ ___  ___ ___  ___   ____
    __________________         ___         _____         _______      _____
    ______ ___
    
         ILOB0004 96/12/20 HK-001      40009391 HK H01 100  1627.50  
    0.2500%       8,000         65.00 CS:      325.50        654,062.96  Y 
                  96/12/27 HK  BY 01   10000078 HKH01ZZ     1627.50  
    0.2500%       2,000         65.50 LC:       84.63        653,737.46  D 
                                                                                                       
    MC:      976.50                      
                                                                                                       
    GO:       48.83                      
                            SP. INSTN:  
    111111111111111111111111111111111111111111111  
    222222222222222222222222222222222222222222222       
                                        
    333333333333333333333333333333333333333333333  
    444444444444444444444444444444444444444444444       
    
         ILOB0005 96/12/20 HK-005      40009391 SI H01 100   298.82  
    0.2500%       4,000     29.881560 CS:       59.76        120,088.61  Y 
                  96/12/27 HK  BY 01   10000078 HKH01ZZ      298.82  
    0.2500%                           LC:       15.54        120,028.85  D 
                                                                                                       
    MC:      179.29                      
                                                                                                       
    GO:        8.96                      
                            EXCH RATE:         5.521800 DIVIDE                                                                               
    
         ILOB0007 96/12/20 US-IBM      60002533 US N01 100                         
    3,000        148.00 CS:      222.00        444,222.00  Y 
                  96/12/26 US  BY 01   10000078 NYN01ZZ                                                                       
    444,000.00  D 
    
         ILOB0011 96/12/20 SI-AMCU     40009391 HK H03 100  4720.18  
    0.0000%      50,000      7.763000 CF:      314.68        634,858.09  Y 
                  96/12/30 SI  BY 01   10000078 HKH03ZZ S   3146.79 
    50.0000%      30,000      8.040250 MC:      314.68        633,237.51  D 
                                                                                                       
    GO:      151.05                      
                            SP. INSTN:   IT'S A LOAN STOCK WHICH EXEMPT THE
    C/STAMP      CALCULATION                                         
                            EXCH RATE:         5.545000 MULTIPLY                                                                             
    
         ILOB0012 96/12/20 SI-AMIND    60002407 SI L01 100   862.50  
    0.0000%      20,000          3.85 CS:       57.50        116,035.00  Y 
                  96/12/30 SI  BY 01   10000078 LDL01ZZ S    575.00 
    50.0000%      10,000          3.80 CF:       57.50        115,708.98  D 
                                                                                                       
    MC:       57.50                      
                                                                                                       
    GO:       27.61                      
                            SP. INSTN:   THIS IS A :                                    
    1.  "CLOB" STOCK                                    
                                         2.  HELD IN MALYASIAN C/DEPOSITORY                                                                  
    
         ILOB0013 96/12/20 TH-BBLA     60002533 BH T01 100174600.00  
    0.7500%     120,000        194.00                     23,454,600.00  Y 
                  96/12/25 TH  BY 01   10000078 TKT01ZZ   116400.00  
    0.5000%                                               23,399,892.00  D 
    
         ILOS0002 96/12/20 SI-ALCOM    60002305 HK H01 100  8076.66  
    0.7500%      50,000     21.537750 CS:      538.44      1,065,860.12  Y 
                  96/12/30 MA  SL 01   10000078 HKH01ZZ P   4307.55  
    0.4000%                           CF:      538.44      1,070,280.77  D 
                                                                                                       
    MC:    1,615.33                      
                                                                                                       
    GO:      258.51                      
                            SP. INSTN:   IT IS A "CLOB" SHRS THAT HELD IN
    "CDP"          IE MALAYSIAN CENTRAL DEPOSITORY                     
                            EXCH RATE:         5.522500 MULTIPLY                                                                             
    
         ILOS0003 96/12/20 HK-016      40009403 US N01 100   153.42  
    0.2500%       5,000     12.273902 LC:        7.98         61,116.06  Y 
                  96/12/27 HK  SL 01   10000078 NYN01ZZ      153.42  
    0.2500%                           MC:       92.05         61,111.46  D 
                            EXCH RATE:         7.740000 DIVIDE                                                                               
    
         ILOS0004 96/12/20 SI-SD       60002407 SI S01 100  1215.00  
    0.0000%      30,000          5.40 CS:       81.00        160,584.12  Y 
                  96/12/27 SI  SL 01   10000078 SIS01ZZ      810.00 
    50.0000%                           CF:       81.00        161,082.27  D 
                                                                                                       
    GO:       38.88                      
                            SP. INSTN:   ** CANCEL GST ABSORBED **                                                                           
    
         ILOS0005 96/12/20 HK-011      40009391 HK H01 100  1275.00  
    0.2500%       5,000        102.00 LC:       66.30        507,855.45  Y 
                  96/12/27 HK  SL 01   10000078 HKH01ZZ     1275.00  
    0.2500%                           MC:      765.00        507,855.45  D 
                                                                                                       
    GO:       38.25                      
                                                                                                                                             
         HSBC JAMES CAPEL SECURITIES (S) PTE. LTD.                                                        
    DATE:  97/01/20          PAGE:   2
         DAILY TRADE REPORT - BY BARGAIN REFERENCE (96/12/20)                                             
    TIME:  17:09:45          JCFER01  
    
                                       CLIENT                                                                                                
                                       BROKER                                                                                                
                  DATE     STK CODE    PAY A/C  CUR   OFF%                                                                    
    NET AMOUNT PRT
         REF      S'DATE   MKT TC FOR  REC A/C  A/E   DEPO --- COMMISSION
    ---         QTY         PRICE         CHARGES      BRK.  AMOUNT TLX
         ___      ______   ___ __ ___  ___ ___  ___   ____
    __________________         ___         _____         _______      _____
    ______ ___
    
         ILOS0006 96/12/20 HK-1038     40009391 HK H01 100  2252.50  
    0.2500%      30,000         22.50 LC:      117.13        897,211.29  Y 
                  96/12/27 HK  SL 01   10000078 HKH01ZZ     2252.50  
    0.2500%      10,000         22.60 MC:    1,351.50        897,211.29  D 
                                                                                                       
    GO:       67.58                      
    
         NUMBER OF TRANSACTION:      11                   PRINT:      11 (     
    0)                TELEX:      11                             
                                                                                                                                             
         HSBC JAMES CAPEL SECURITIES (S) PTE. LTD.                                                        
    DATE:  97/01/20          PAGE:   3
         DAILY TRADE REPORT - BY BARGAIN REFERENCE (96/12/20)                                             
    TIME:  17:09:45          JCFER01  
    
                                       CLIENT                                                                                                
                                       BROKER                                                                                                
                  DATE     STK CODE    PAY A/C  CUR   OFF%                                                                    
    NET AMOUNT PRT
         REF      S'DATE   MKT TC FOR  REC A/C  A/E   DEPO --- COMMISSION
    ---         QTY         PRICE         CHARGES      BRK.  AMOUNT TLX
         ___      ______   ___ __ ___  ___ ___  ___   ____
    __________________         ___         _____         _______      _____
    ______ ___
    
    
    
    
         SUMMARY INFORMATION :                                                                                                               
         _____________________                                                                                                               
    
                                                        -----     NO. OF
    BARGAINS    -----                                                   
    
         MARKET                                         BUY           SELL         
    CANCEL                                                   
         ______                                         ___           ____         
    ______                                                   
                                                                                                                                             
         HK -  HONG KONG                                  2              3                                                                   
         US -  UNITED STATES                              1                                                                                  
         SI -  SINGAPORE                                  2              1                                                                   
    
3185.4What we need to make progress evaluating this differencePACKED::BRAFFITTWed Jan 29 1997 08:3857
    RE: .1
    
>    I have a customer here in Hong Kong, they have been using VAX COBOL for a
>    long time and have recently moved to a new VAX 6630 with new VMS version
>    5.5-2 and COBOL v5.3-012.  Before their upgrade, all programs are working,
>    however afterwards, the LINE PLUS 0 statement is not doing what it supposed
>    to do.
    
    What version of VAX COBOL was the customer using prior to upgrading to
    VAX COBOL V5.3?

    What version of VAX/VMS was the customer using prior to upgraded to
    VAX/VMS V5.5-2?
        
>    The LINE PLUS 0 statement is followed by underscores to underscore the
>    headings.  The underscores are now printer one line below the heading
>    not on the same line.
>    
>    Have we raised an old bug out of its grave?  similar one was reported
>    and fixed in 1988.
    
    Please post the reference you have to this old bug.  Was it mentioned
    in this Notes conference?  In the release notes for a particular VAX
    COBOL version?
    
    RE: .3
    
    What we will need is a source file which demonstrates the difference
    you are seeing.  The listings in .3 are not sufficient.  For us to look
    at this difference, you will need to post a single source file (not a
    listing) with no use of COPY which shows the difference when run.  The
    larger the source file, the longer it will take us to evaluate this
    potential difference.  Any source files with COPY and especially COPY
    FROM DICTIONARY will take us much longer to attempt to reproduce the
    difference you are seeing on our system.  If a source with COPY is
    absolutely required to duplicate the problem, you will need to create a
    backup saveset with all the COPY files (and CDD records if they are
    absolutely required to duplicate the problem) and a command procedure
    we can run to load the CDD records and compile/link/run the program.
    
    I found 1 change in the REPORT WRITER for VAX COBOL V5.3 which may
    relate to the difference the customer is seeing.
    
******************************
CLT::CLT$LIBRARY:[C79NET.V54.SSB]VAX_COBOL_RN_V54.TXT;1

     V5.3-40       In the REPORT WRITER, if the page footer and report
                   footer specify the same absolute starting line number
                   on the same page, the compiler no longer generates
                   an invalid vfc control byte ('ff', 'fe'...). The com-
                   piler now generates code to begin the report footer
                   with a line feed ('8a') instead.

                   A similar problem that caused a report header and
                   page header to specify the same absolute starting
                   line number on the same page has been corrected in
                   the same way.
3185.5GEMGRP::MONTELEONEWed Jan 29 1997 10:1020

   Don, 

   Here is the edit history for the bug fix for the LINE PLUS ZERO problem
   I fixed in 1988, in module GFR_REPORT. This is the problem referred to in
   the basenote.


! V50-001 X40Q00022     Bob Monteleone  10-Feb-1988
!         Fix problem involving computed line feeds. If computed number of
!         line feeds is equal to 0, don't generate code that will cause a
!         single line feed to occur. Also, make sure that good code is
!         generated when the LINE PLUS clause occurs in the REPORT FOOTER
!         when the PAGE clause is specified.


   Bob

   
3185.6Need better info to diagnose problemPACKED::MASLANKAWed Jan 29 1997 10:1610
Re .3

Are you sure this is the misbehaving program? I don't see any 
Report Writer syntax in the program's listing. I can't find the 
"LINE PLUS 0" syntax either.

Also, you should provide all program sources and a test dataset
that produces this problem. As mentioned in .4, we cannot do any 
analysis work with a listing file of the original source which 
does not include the related source libraries and dictionaries.
3185.7X40Q00022 QA tests still run successfully 9 years laterPACKED::BRAFFITTWed Jan 29 1997 11:2613
    RE: .5
    
>! V50-001 X40Q00022     Bob Monteleone  10-Feb-1988
    
    I located the QA tests added by Bob 9 years ago to verify this fix. 
    The tests are still active in VAX COBOL QA and are regularly running
    successfully to verify this fix.
    
Directory PACKED::COBQA$:[C79TEST.QAR.V5]
    
X40Q00022A.COB;1          4  17-FEB-1988 11:27:31.35
X40Q00022B.COB;1          4  17-FEB-1988 11:27:31.89
X40Q00022C.COB;1          4  17-FEB-1988 11:27:32.35