home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / viscobv6.zip / vac22os2 / ibmcobol / samples / elookup1 / thedata.cbv < prev    next >
Text File  |  1997-07-25  |  22KB  |  622 lines

  1.  
  2.       * Feature source code generation begins here...
  3.       * METHOD
  4.        IDENTIFICATION DIVISION.
  5.        METHOD-ID. "getADataBlk".
  6.        DATA DIVISION.
  7.        LOCAL-STORAGE SECTION.
  8.        LINKAGE SECTION.
  9.        01  ADataBlk.
  10.            COPY 'dataarea.cpy'.
  11.        01 rc PIC S9(9) USAGE COMP-5.
  12.        PROCEDURE DIVISION
  13.            RETURNING ADataBlk.
  14.            MOVE iADataBlk TO ADataBlk.
  15.            GOBACK.
  16.  
  17.        END METHOD "getADataBlk".
  18.  
  19.       * METHOD
  20.        IDENTIFICATION DIVISION.
  21.        METHOD-ID. "setADataBlk".
  22.        DATA DIVISION.
  23.        LOCAL-STORAGE SECTION.
  24.        01 aTheData USAGE OBJECT REFERENCE TheData.
  25.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  26.        01 aDataBlkId USAGE POINTER.
  27.        LINKAGE SECTION.
  28.        01  ADataBlk.
  29.            COPY 'dataarea.cpy'.
  30.        01 rc PIC S9(9) USAGE COMP-5.
  31.        PROCEDURE DIVISION USING ADataBlk.
  32.            MOVE ADataBlk TO iADataBlk.
  33.            INVOKE CNotificationEvent "somNew" returning event.
  34.            SET aTheData TO SELF.
  35.            INVOKE SELF "getADataBlkId"
  36.               RETURNING aDataBlkId.
  37.            INVOKE event "initializeNotificationEvent" USING
  38.               by value aDataBlkId by value aTheData.
  39.            INVOKE SELF "notifyObservers" using by value event.
  40.            INVOKE event "somFree".
  41.            GOBACK.
  42.  
  43.        END METHOD "setADataBlk".
  44.  
  45.       * METHOD
  46.        IDENTIFICATION DIVISION.
  47.        METHOD-ID. "getNumResults".
  48.        DATA DIVISION.
  49.        LOCAL-STORAGE SECTION.
  50.        LINKAGE SECTION.
  51.        01 NumResults.
  52.           03 NumResults-Length      PIC 9(9) COMP-5.
  53.           03 NumResults-String.
  54.              05 NumResults-Chars  PIC X
  55.                   OCCURS 1 TO 255 TIMES
  56.                   DEPENDING ON NumResults-Length.
  57.        01 rc PIC S9(9) USAGE COMP-5.
  58.        PROCEDURE DIVISION
  59.            RETURNING NumResults.
  60.  
  61.       * Begin hand coded extensions
  62.       * ---------------------------------------------
  63.            Move 2 to NumResults-Length.
  64.            If Results-Knt > 50 or Results-Knt < 0
  65.               Move "00" to NumResults-string
  66.            Else
  67.               Move Results-Knt to NumResults-string
  68.            End-If.
  69.       * ---------------------------------------------
  70.       * End hand coded extensions
  71.            GOBACK.
  72.  
  73.        END METHOD "getNumResults".
  74.  
  75.       * METHOD
  76.        IDENTIFICATION DIVISION.
  77.        METHOD-ID. "getEmpname".
  78.        DATA DIVISION.
  79.        LOCAL-STORAGE SECTION.
  80.        LINKAGE SECTION.
  81.        01 Empname.
  82.           03 Empname-Length      PIC 9(9) COMP-5.
  83.           03 Empname-String.
  84.              05 Empname-Chars  PIC X
  85.                   OCCURS 1 TO 255 TIMES
  86.                   DEPENDING ON Empname-Length.
  87.        01 rc PIC S9(9) USAGE COMP-5.
  88.        PROCEDURE DIVISION
  89.            RETURNING Empname.
  90.            MOVE iEmpname-Length TO Empname-length.
  91.            MOVE iEmpname-String TO Empname-string.
  92.            GOBACK.
  93.  
  94.        END METHOD "getEmpname".
  95.  
  96.       * METHOD
  97.        IDENTIFICATION DIVISION.
  98.        METHOD-ID. "setEmpname".
  99.        DATA DIVISION.
  100.        LOCAL-STORAGE SECTION.
  101.        01 aTheData USAGE OBJECT REFERENCE TheData.
  102.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  103.        01 empnameId USAGE POINTER.
  104.        LINKAGE SECTION.
  105.        01 Empname.
  106.           03 Empname-Length      PIC 9(9) COMP-5.
  107.           03 Empname-String.
  108.              05 Empname-Chars  PIC X
  109.                   OCCURS 1 TO 255 TIMES
  110.                   DEPENDING ON Empname-Length.
  111.        01 rc PIC S9(9) USAGE COMP-5.
  112.        PROCEDURE DIVISION USING Empname.
  113.            MOVE Empname-Length TO iEmpname-length.
  114.            MOVE Empname-String TO iEmpname-string.
  115.            INVOKE CNotificationEvent "somNew" returning event.
  116.            SET aTheData TO SELF.
  117.            INVOKE SELF "getEmpnameId"
  118.               RETURNING empnameId.
  119.            INVOKE event "initializeNotificationEvent" USING
  120.               by value empnameId by value aTheData.
  121.            INVOKE SELF "notifyObservers" using by value event.
  122.            INVOKE event "somFree".
  123.            GOBACK.
  124.  
  125.        END METHOD "setEmpname".
  126.  
  127.       * METHOD
  128.        IDENTIFICATION DIVISION.
  129.        METHOD-ID. "getEmpdep".
  130.        DATA DIVISION.
  131.        LOCAL-STORAGE SECTION.
  132.        LINKAGE SECTION.
  133.        01 Empdep.
  134.           03 Empdep-Length      PIC 9(9) COMP-5.
  135.           03 Empdep-String.
  136.              05 Empdep-Chars  PIC X
  137.                   OCCURS 1 TO 255 TIMES
  138.                   DEPENDING ON Empdep-Length.
  139.        01 rc PIC S9(9) USAGE COMP-5.
  140.        PROCEDURE DIVISION
  141.            RETURNING Empdep.
  142.            MOVE iEmpdep-Length TO Empdep-length.
  143.            MOVE iEmpdep-String TO Empdep-string.
  144.            GOBACK.
  145.  
  146.        END METHOD "getEmpdep".
  147.  
  148.       * METHOD
  149.        IDENTIFICATION DIVISION.
  150.        METHOD-ID. "setEmpdep".
  151.        DATA DIVISION.
  152.        LOCAL-STORAGE SECTION.
  153.        01 aTheData USAGE OBJECT REFERENCE TheData.
  154.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  155.        01 empdepId USAGE POINTER.
  156.        LINKAGE SECTION.
  157.        01 Empdep.
  158.           03 Empdep-Length      PIC 9(9) COMP-5.
  159.           03 Empdep-String.
  160.              05 Empdep-Chars  PIC X
  161.                   OCCURS 1 TO 255 TIMES
  162.                   DEPENDING ON Empdep-Length.
  163.        01 rc PIC S9(9) USAGE COMP-5.
  164.        PROCEDURE DIVISION USING Empdep.
  165.            MOVE Empdep-Length TO iEmpdep-length.
  166.            MOVE Empdep-String TO iEmpdep-string.
  167.            INVOKE CNotificationEvent "somNew" returning event.
  168.            SET aTheData TO SELF.
  169.            INVOKE SELF "getEmpdepId"
  170.               RETURNING empdepId.
  171.            INVOKE event "initializeNotificationEvent" USING
  172.               by value empdepId by value aTheData.
  173.            INVOKE SELF "notifyObservers" using by value event.
  174.            INVOKE event "somFree".
  175.            GOBACK.
  176.  
  177.        END METHOD "setEmpdep".
  178.  
  179.       * METHOD
  180.        IDENTIFICATION DIVISION.
  181.        METHOD-ID. "getEmpfone".
  182.        DATA DIVISION.
  183.        LOCAL-STORAGE SECTION.
  184.        LINKAGE SECTION.
  185.        01 Empfone.
  186.           03 Empfone-Length      PIC 9(9) COMP-5.
  187.           03 Empfone-String.
  188.              05 Empfone-Chars  PIC X
  189.                   OCCURS 1 TO 255 TIMES
  190.                   DEPENDING ON Empfone-Length.
  191.        01 rc PIC S9(9) USAGE COMP-5.
  192.        PROCEDURE DIVISION
  193.            RETURNING Empfone.
  194.            MOVE iEmpfone-Length TO Empfone-length.
  195.            MOVE iEmpfone-String TO Empfone-string.
  196.            GOBACK.
  197.  
  198.        END METHOD "getEmpfone".
  199.  
  200.       * METHOD
  201.        IDENTIFICATION DIVISION.
  202.        METHOD-ID. "setEmpfone".
  203.        DATA DIVISION.
  204.        LOCAL-STORAGE SECTION.
  205.        01 aTheData USAGE OBJECT REFERENCE TheData.
  206.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  207.        01 empfoneId USAGE POINTER.
  208.        LINKAGE SECTION.
  209.        01 Empfone.
  210.           03 Empfone-Length      PIC 9(9) COMP-5.
  211.           03 Empfone-String.
  212.              05 Empfone-Chars  PIC X
  213.                   OCCURS 1 TO 255 TIMES
  214.                   DEPENDING ON Empfone-Length.
  215.        01 rc PIC S9(9) USAGE COMP-5.
  216.        PROCEDURE DIVISION USING Empfone.
  217.            MOVE Empfone-Length TO iEmpfone-length.
  218.            MOVE Empfone-String TO iEmpfone-string.
  219.            INVOKE CNotificationEvent "somNew" returning event.
  220.            SET aTheData TO SELF.
  221.            INVOKE SELF "getEmpfoneId"
  222.               RETURNING empfoneId.
  223.            INVOKE event "initializeNotificationEvent" USING
  224.               by value empfoneId by value aTheData.
  225.            INVOKE SELF "notifyObservers" using by value event.
  226.            INVOKE event "somFree".
  227.            GOBACK.
  228.  
  229.        END METHOD "setEmpfone".
  230.  
  231.       * METHOD
  232.        IDENTIFICATION DIVISION.
  233.        METHOD-ID. "getEmphire".
  234.        DATA DIVISION.
  235.        LOCAL-STORAGE SECTION.
  236.        LINKAGE SECTION.
  237.        01 Emphire.
  238.           03 Emphire-Length      PIC 9(9) COMP-5.
  239.           03 Emphire-String.
  240.              05 Emphire-Chars  PIC X
  241.                   OCCURS 1 TO 255 TIMES
  242.                   DEPENDING ON Emphire-Length.
  243.        01 rc PIC S9(9) USAGE COMP-5.
  244.        PROCEDURE DIVISION
  245.            RETURNING Emphire.
  246.            MOVE iEmphire-Length TO Emphire-length.
  247.            MOVE iEmphire-String TO Emphire-string.
  248.            GOBACK.
  249.  
  250.        END METHOD "getEmphire".
  251.  
  252.       * METHOD
  253.        IDENTIFICATION DIVISION.
  254.        METHOD-ID. "setEmphire".
  255.        DATA DIVISION.
  256.        LOCAL-STORAGE SECTION.
  257.        01 aTheData USAGE OBJECT REFERENCE TheData.
  258.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  259.        01 emphireId USAGE POINTER.
  260.        LINKAGE SECTION.
  261.        01 Emphire.
  262.           03 Emphire-Length      PIC 9(9) COMP-5.
  263.           03 Emphire-String.
  264.              05 Emphire-Chars  PIC X
  265.                   OCCURS 1 TO 255 TIMES
  266.                   DEPENDING ON Emphire-Length.
  267.        01 rc PIC S9(9) USAGE COMP-5.
  268.        PROCEDURE DIVISION USING Emphire.
  269.            MOVE Emphire-Length TO iEmphire-length.
  270.            MOVE Emphire-String TO iEmphire-string.
  271.            INVOKE CNotificationEvent "somNew" returning event.
  272.            SET aTheData TO SELF.
  273.            INVOKE SELF "getEmphireId"
  274.               RETURNING emphireId.
  275.            INVOKE event "initializeNotificationEvent" USING
  276.               by value emphireId by value aTheData.
  277.            INVOKE SELF "notifyObservers" using by value event.
  278.            INVOKE event "somFree".
  279.            GOBACK.
  280.  
  281.        END METHOD "setEmphire".
  282.  
  283.       * METHOD
  284.        IDENTIFICATION DIVISION.
  285.        METHOD-ID. "getEmpserv".
  286.        DATA DIVISION.
  287.        LOCAL-STORAGE SECTION.
  288.        LINKAGE SECTION.
  289.        01 Empserv.
  290.           03 Empserv-Length      PIC 9(9) COMP-5.
  291.           03 Empserv-String.
  292.              05 Empserv-Chars  PIC X
  293.                   OCCURS 1 TO 255 TIMES
  294.                   DEPENDING ON Empserv-Length.
  295.        01 rc PIC S9(9) USAGE COMP-5.
  296.        PROCEDURE DIVISION
  297.            RETURNING Empserv.
  298.            MOVE iEmpserv-Length TO Empserv-length.
  299.            MOVE iEmpserv-String TO Empserv-string.
  300.            GOBACK.
  301.  
  302.        END METHOD "getEmpserv".
  303.  
  304.       * METHOD
  305.        IDENTIFICATION DIVISION.
  306.        METHOD-ID. "setEmpserv".
  307.        DATA DIVISION.
  308.        LOCAL-STORAGE SECTION.
  309.        01 aTheData USAGE OBJECT REFERENCE TheData.
  310.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  311.        01 empservId USAGE POINTER.
  312.        LINKAGE SECTION.
  313.        01 Empserv.
  314.           03 Empserv-Length      PIC 9(9) COMP-5.
  315.           03 Empserv-String.
  316.              05 Empserv-Chars  PIC X
  317.                   OCCURS 1 TO 255 TIMES
  318.                   DEPENDING ON Empserv-Length.
  319.        01 rc PIC S9(9) USAGE COMP-5.
  320.        PROCEDURE DIVISION USING Empserv.
  321.            MOVE Empserv-Length TO iEmpserv-length.
  322.            MOVE Empserv-String TO iEmpserv-string.
  323.            INVOKE CNotificationEvent "somNew" returning event.
  324.            SET aTheData TO SELF.
  325.            INVOKE SELF "getEmpservId"
  326.               RETURNING empservId.
  327.            INVOKE event "initializeNotificationEvent" USING
  328.               by value empservId by value aTheData.
  329.            INVOKE SELF "notifyObservers" using by value event.
  330.            INVOKE event "somFree".
  331.            GOBACK.
  332.  
  333.        END METHOD "setEmpserv".
  334.  
  335.       * METHOD
  336.        IDENTIFICATION DIVISION.
  337.        METHOD-ID. "getProcessIDX".
  338.        DATA DIVISION.
  339.        LOCAL-STORAGE SECTION.
  340.        LINKAGE SECTION.
  341.        01 ProcessIDX PIC 9(9) COMP-5.
  342.        01 rc PIC S9(9) USAGE COMP-5.
  343.        PROCEDURE DIVISION
  344.            RETURNING ProcessIDX.
  345.            MOVE iProcessIDX TO ProcessIDX.
  346.            GOBACK.
  347.  
  348.        END METHOD "getProcessIDX".
  349.  
  350.       * METHOD
  351.        IDENTIFICATION DIVISION.
  352.        METHOD-ID. "setProcessIDX".
  353.        DATA DIVISION.
  354.        LOCAL-STORAGE SECTION.
  355.        01 aTheData USAGE OBJECT REFERENCE TheData.
  356.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  357.        01 processIDXId USAGE POINTER.
  358.       * Begin hand coded extensions to the action
  359.        01  ADataB.
  360.            COPY 'dataarea.cpy'.
  361.        01 Contents.
  362.           03 Contents-Length      PIC 9(9) COMP-5.
  363.           03 Contents-String.
  364.              05  Contents-Chars PIC X
  365.                   OCCURS 1 TO 255 TIMES
  366.                   DEPENDING ON Contents-Length.
  367.        01  ArrayIDX  PIC 9(9) COMP-5.
  368.       * End hand coded extensions
  369.        LINKAGE SECTION.
  370.        01 ProcessIDX PIC 9(9) COMP-5.
  371.        01 rc PIC S9(9) USAGE COMP-5.
  372.        PROCEDURE DIVISION USING ProcessIDX.
  373.            MOVE ProcessIDX TO iProcessIDX.
  374.  
  375.       * Begin hand coded extensions
  376.       *----------------------------------
  377.       * The input value (ProcessIDX) is the key of the Container record
  378.       * that was selected.  That key must be massaged to reflect the
  379.       * fact that the list could have been generated several times
  380.       * and the keys are not reused.  Hence, the beginning key of
  381.       * this list must be subtracted from the key of the selected
  382.       * record in order to get the correct offset into the array
  383.       * of saved records.
  384.       *
  385.            Invoke SELF "getFirstRecID" RETURNING ArrayIDX
  386.            Subtract ProcessIDX from ArrayIDX GIVING ArrayIDX
  387.            Add 1 to ArrayIDX
  388.            Invoke SELF "getAdataBlk" RETURNING ADataB
  389.       * Use the computed array index
  390.            Move cs-Emp-Last-Len(ArrayIDX) to Contents-Length
  391.            Move cs-Emp-Last-Data(ArrayIDX) to Contents-String
  392.            Invoke SELF "setEmpLastn" USING Contents
  393.            Move cs-Emp-First-Len(ArrayIDX) to Contents-Length
  394.            Move cs-Emp-First-Data(ArrayIDX) to Contents-String
  395.            Invoke SELF "setEmpFirstn" USING Contents
  396.            Move 1 to Contents-Length
  397.            Move cs-Emp-Initial(ArrayIDX) to Contents-String
  398.            Invoke SELF "setEmpMidn" USING Contents
  399.            Move 3 to Contents-Length
  400.            Move cs-Emp-Dept(ArrayIDX) to Contents-string
  401.            INVOKE SELF "setEmpdep" USING Contents
  402.            Move 4 to Contents-Length
  403.            Move cs-Emp-Phone(ArrayIDX) to Contents-string
  404.            Invoke SELF "setEmpfone" USING Contents
  405.            Move 10 to Contents-Length
  406.            Move cs-Emp-Hire-Date(ArrayIDX) to Contents-string
  407.            Invoke SELF "setEmphire" USING Contents
  408.            Move 2 to Contents-Length
  409.            Move cs-Service-Length(ArrayIDX) to Contents-string
  410.            Invoke SELF "setEmpserv" USING Contents
  411.       *----------------------------------
  412.       * End hand coded extensions
  413.            INVOKE CNotificationEvent "somNew" returning event.
  414.            SET aTheData TO SELF.
  415.            INVOKE SELF "getProcessIDXId"
  416.               RETURNING processIDXId.
  417.            INVOKE event "initializeNotificationEvent" USING
  418.               by value processIDXId by value aTheData.
  419.            INVOKE SELF "notifyObservers" using by value event.
  420.            INVOKE event "somFree".
  421.            GOBACK.
  422.  
  423.        END METHOD "setProcessIDX".
  424.  
  425.       * METHOD
  426.        IDENTIFICATION DIVISION.
  427.        METHOD-ID. "getEmplastn".
  428.        DATA DIVISION.
  429.        LOCAL-STORAGE SECTION.
  430.        LINKAGE SECTION.
  431.        01 Emplastn.
  432.           03 Emplastn-Length      PIC 9(9) COMP-5.
  433.           03 Emplastn-String.
  434.              05 Emplastn-Chars  PIC X
  435.                   OCCURS 1 TO 255 TIMES
  436.                   DEPENDING ON Emplastn-Length.
  437.        01 rc PIC S9(9) USAGE COMP-5.
  438.        PROCEDURE DIVISION
  439.            RETURNING Emplastn.
  440.            MOVE iEmplastn-Length TO Emplastn-length.
  441.            MOVE iEmplastn-String TO Emplastn-string.
  442.            GOBACK.
  443.  
  444.        END METHOD "getEmplastn".
  445.  
  446.       * METHOD
  447.        IDENTIFICATION DIVISION.
  448.        METHOD-ID. "setEmplastn".
  449.        DATA DIVISION.
  450.        LOCAL-STORAGE SECTION.
  451.        01 aTheData USAGE OBJECT REFERENCE TheData.
  452.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  453.        01 emplastnId USAGE POINTER.
  454.        LINKAGE SECTION.
  455.        01 Emplastn.
  456.           03 Emplastn-Length      PIC 9(9) COMP-5.
  457.           03 Emplastn-String.
  458.              05 Emplastn-Chars  PIC X
  459.                   OCCURS 1 TO 255 TIMES
  460.                   DEPENDING ON Emplastn-Length.
  461.        01 rc PIC S9(9) USAGE COMP-5.
  462.        PROCEDURE DIVISION USING Emplastn.
  463.            MOVE Emplastn-Length TO iEmplastn-length.
  464.            MOVE Emplastn-String TO iEmplastn-string.
  465.            INVOKE CNotificationEvent "somNew" returning event.
  466.            SET aTheData TO SELF.
  467.            INVOKE SELF "getEmplastnId"
  468.               RETURNING emplastnId.
  469.            INVOKE event "initializeNotificationEvent" USING
  470.               by value emplastnId by value aTheData.
  471.            INVOKE SELF "notifyObservers" using by value event.
  472.            INVOKE event "somFree".
  473.            GOBACK.
  474.  
  475.        END METHOD "setEmplastn".
  476.  
  477.       * METHOD
  478.        IDENTIFICATION DIVISION.
  479.        METHOD-ID. "getEmpfirstn".
  480.        DATA DIVISION.
  481.        LOCAL-STORAGE SECTION.
  482.        LINKAGE SECTION.
  483.        01 Empfirstn.
  484.           03 Empfirstn-Length      PIC 9(9) COMP-5.
  485.           03 Empfirstn-String.
  486.              05 Empfirstn-Chars  PIC X
  487.                   OCCURS 1 TO 255 TIMES
  488.                   DEPENDING ON Empfirstn-Length.
  489.        01 rc PIC S9(9) USAGE COMP-5.
  490.        PROCEDURE DIVISION
  491.            RETURNING Empfirstn.
  492.            MOVE iEmpfirstn-Length TO Empfirstn-length.
  493.            MOVE iEmpfirstn-String TO Empfirstn-string.
  494.            GOBACK.
  495.  
  496.        END METHOD "getEmpfirstn".
  497.  
  498.       * METHOD
  499.        IDENTIFICATION DIVISION.
  500.        METHOD-ID. "setEmpfirstn".
  501.        DATA DIVISION.
  502.        LOCAL-STORAGE SECTION.
  503.        01 aTheData USAGE OBJECT REFERENCE TheData.
  504.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  505.        01 empfirstnId USAGE POINTER.
  506.        LINKAGE SECTION.
  507.        01 Empfirstn.
  508.           03 Empfirstn-Length      PIC 9(9) COMP-5.
  509.           03 Empfirstn-String.
  510.              05 Empfirstn-Chars  PIC X
  511.                   OCCURS 1 TO 255 TIMES
  512.                   DEPENDING ON Empfirstn-Length.
  513.        01 rc PIC S9(9) USAGE COMP-5.
  514.        PROCEDURE DIVISION USING Empfirstn.
  515.            MOVE Empfirstn-Length TO iEmpfirstn-length.
  516.            MOVE Empfirstn-String TO iEmpfirstn-string.
  517.            INVOKE CNotificationEvent "somNew" returning event.
  518.            SET aTheData TO SELF.
  519.            INVOKE SELF "getEmpfirstnId"
  520.               RETURNING empfirstnId.
  521.            INVOKE event "initializeNotificationEvent" USING
  522.               by value empfirstnId by value aTheData.
  523.            INVOKE SELF "notifyObservers" using by value event.
  524.            INVOKE event "somFree".
  525.            GOBACK.
  526.  
  527.        END METHOD "setEmpfirstn".
  528.  
  529.       * METHOD
  530.        IDENTIFICATION DIVISION.
  531.        METHOD-ID. "getEmpmidn".
  532.        DATA DIVISION.
  533.        LOCAL-STORAGE SECTION.
  534.        LINKAGE SECTION.
  535.        01 Empmidn.
  536.           03 Empmidn-Length      PIC 9(9) COMP-5.
  537.           03 Empmidn-String.
  538.              05 Empmidn-Chars  PIC X
  539.                   OCCURS 1 TO 255 TIMES
  540.                   DEPENDING ON Empmidn-Length.
  541.        01 rc PIC S9(9) USAGE COMP-5.
  542.        PROCEDURE DIVISION
  543.            RETURNING Empmidn.
  544.            MOVE iEmpmidn-Length TO Empmidn-length.
  545.            MOVE iEmpmidn-String TO Empmidn-string.
  546.            GOBACK.
  547.  
  548.        END METHOD "getEmpmidn".
  549.  
  550.       * METHOD
  551.        IDENTIFICATION DIVISION.
  552.        METHOD-ID. "setEmpmidn".
  553.        DATA DIVISION.
  554.        LOCAL-STORAGE SECTION.
  555.        01 aTheData USAGE OBJECT REFERENCE TheData.
  556.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  557.        01 empmidnId USAGE POINTER.
  558.        LINKAGE SECTION.
  559.        01 Empmidn.
  560.           03 Empmidn-Length      PIC 9(9) COMP-5.
  561.           03 Empmidn-String.
  562.              05 Empmidn-Chars  PIC X
  563.                   OCCURS 1 TO 255 TIMES
  564.                   DEPENDING ON Empmidn-Length.
  565.        01 rc PIC S9(9) USAGE COMP-5.
  566.        PROCEDURE DIVISION USING Empmidn.
  567.            MOVE Empmidn-Length TO iEmpmidn-length.
  568.            MOVE Empmidn-String TO iEmpmidn-string.
  569.            INVOKE CNotificationEvent "somNew" returning event.
  570.            SET aTheData TO SELF.
  571.            INVOKE SELF "getEmpmidnId"
  572.               RETURNING empmidnId.
  573.            INVOKE event "initializeNotificationEvent" USING
  574.               by value empmidnId by value aTheData.
  575.            INVOKE SELF "notifyObservers" using by value event.
  576.            INVOKE event "somFree".
  577.            GOBACK.
  578.  
  579.        END METHOD "setEmpmidn".
  580.  
  581.       * METHOD
  582.        IDENTIFICATION DIVISION.
  583.        METHOD-ID. "getFirstRecID".
  584.        DATA DIVISION.
  585.        LOCAL-STORAGE SECTION.
  586.        LINKAGE SECTION.
  587.        01 FirstRecID PIC 9(9) COMP-5.
  588.        01 rc PIC S9(9) USAGE COMP-5.
  589.        PROCEDURE DIVISION
  590.            RETURNING FirstRecID.
  591.            MOVE iFirstRecID TO FirstRecID.
  592.            GOBACK.
  593.  
  594.        END METHOD "getFirstRecID".
  595.  
  596.       * METHOD
  597.        IDENTIFICATION DIVISION.
  598.        METHOD-ID. "setFirstRecID".
  599.        DATA DIVISION.
  600.        LOCAL-STORAGE SECTION.
  601.        01 aTheData USAGE OBJECT REFERENCE TheData.
  602.        01 event USAGE OBJECT REFERENCE CNotificationEvent.
  603.        01 FirstRecIDId USAGE POINTER.
  604.        LINKAGE SECTION.
  605.        01 FirstRecID PIC 9(9) COMP-5.
  606.        01 rc PIC S9(9) USAGE COMP-5.
  607.        PROCEDURE DIVISION USING FirstRecID.
  608.            MOVE FirstRecID TO iFirstRecID.
  609.            INVOKE CNotificationEvent "somNew" returning event.
  610.            SET aTheData TO SELF.
  611.            INVOKE SELF "getFirstRecIDId"
  612.               RETURNING FirstRecIDId.
  613.            INVOKE event "initializeNotificationEvent" USING
  614.               by value FirstRecIDId by value aTheData.
  615.            INVOKE SELF "notifyObservers" using by value event.
  616.            INVOKE event "somFree".
  617.            GOBACK.
  618.  
  619.        END METHOD "setFirstRecID".
  620.  
  621.       * Feature source code generation ends here.
  622.