UFO言語コンバージョン・サービス

日本CA株式会社(コンピュータ・アソシエイツ。以前はアシスト社で販売)の簡易言語UFO言語をCOBOLに変換します。

以下にUFO言語(CICS版)をCOBOL言語に変換した例を掲載します。

プログラム例

変換前 UFOソース(一部割愛)

      

       画面定義体は割愛しています

-   LABEL COMMAND  FIELD #1 OP FIELD #2 'GOTO' OR
-1
  02      *
  03      *
  04      WHEN     /FIRSTD  =  /YES               * シヨキ ショリ
  05      MOVE     /BLANK   TO SENTAKU            *     ワ-ク エリア  ノ クリア
  06      MOVE     /BLANK   TO SWMSG              
  07      MOVE     /BLANK   TO GROUP              
  08      MOVE     /KLIT    TO SWMSGSO  '0E'      
  09      MOVE     /KLIT    TO SWMSGSI  '0F'      
  10      ENDWHEN                                 

  58 MSG1 MOVE     /LIT     TO SWMSG1   STARTが完了
  59      MOVE     /LIT     TO SWMSG2   していないので処
  60      MOVE     /LIT     TO SWMSG3   理できません。
  61      MOVE     SWMSG    TO /MSG     EXIT
  62      *                             
  63 MSG2 MOVE     /LIT     TO SWMSG1   この端末では
  64      MOVE     /LIT     TO SWMSG2   業務はで
  65      MOVE     /LIT     TO SWMSG3   きません。
  66      MOVE     SWMSG    TO /MSG     EXIT
  67      *                             

      
    

このページのトップへ戻る

変換後 COBOLソース

      
       IDENTIFICATION        DIVISION.
       PROGRAM-ID.           ONLINE1.
       ENVIRONMENT           DIVISION.
       DATA                  DIVISION.
       WORKING-STORAGE       SECTION.
           COPY ONLINE1.
           COPY ONLINE1I.
           COPY ONLDB11.
           COPY ONLW100.
           COPY SYNCDCOM.
           COPY SYSVINIT.
           COPY DFHAID.
      *------------------------------------
      *  ワークエリア(共通)
      *------------------------------------
       01  K                 PIC S9(8) COMP-4.
       01  L                 PIC S9(8) COMP-4.
       01  M                 PIC S9(8) COMP-4.
       01  N                 PIC S9(8) COMP-4.
       01  NEXT-DID          PIC X(8).
          COPY DSPDATEW.
      *-------------------------------------
      *   ワークエリア(追加)
      *-------------------------------------
       01 WK-KJLIT        PIC X(50).
      *------------------------------------
      *  連携域
      *------------------------------------
       LINKAGE               SECTION.
       01   DFHCOMMAREA      PIC X(7000).
       EJECT
      *------------------------------------
      *  処理
      *------------------------------------
       PROCEDURE             DIVISION.
       ONLINE1O-MAIN              SECTION.
       ONLINE1O-MAIN-START.
       
      *   画面入力
           MOVE 'ONLINE1' TO DID.
           MOVE LENGTH OF ONLINE1I TO MSGL.
           CALL DSPIO USING DFHEIBLK DSPGET SYNC-DCOM
                           ONLINE1-INF ONLINE1I.
           PERFORM PFKEYCHK.
      *   画面入力異常
           IF IORET NOT = '00'
              GO TO ONLINE1O-MAIN-DSPPUT
           END-IF.

       ONLINE1O-MAIN-OUT.
      *
      *
      ** シヨキ ショリ
           IF FIRSTD = 'YES'
           THEN
      **     ワ-ク エリア  ノ クリア
              MOVE SPACE TO SENTAKU
              MOVE SPACE TO SWMSG
              MOVE SPACE TO GROUP--S
              MOVE X'0E' TO SWMSGSO
              MOVE X'0F' TO SWMSGSI
           END-IF.
           

       ONLINE1O-MAIN-MAPOUT.
           PERFORM MAPOUT.
           MOVE 'ONLINE1' TO DID.
           MOVE LENGTH OF ONLINE1O TO MSGL.
       ONLINE1O-MAIN-DSPPUT.
      *   画面出力
           CALL DSPIO USING DFHEIBLK DSPPUT SYNC-DCOM
                           ONLINE1-INF ONLINE1O.

       ONLINE1O-MAIN-EXT.     EXIT.
       EJECT.
      *
       ONLINE1O-MSG1     SECTION.
       ONLINE1O-MSG1-START.
       
           MOVE 'STARTが完了' TO WK-KJLIT.
           MOVE WK-KJLIT(2:16) TO SWMSG1.
           
           MOVE 'していないので処' TO WK-KJLIT.
           MOVE WK-KJLIT(2:16) TO SWMSG2.
           
           MOVE '理できません。' TO WK-KJLIT.
           MOVE WK-KJLIT(2:14) TO SWMSG3.
           MOVE SWMSG TO MSGAREAO.
           GO TO ONLINE1O-MSG1-EXT.
      *
       ONLINE1O-MSG2.
           MOVE 'この端末では' TO WK-KJLIT.
           MOVE WK-KJLIT(2:16) TO SWMSG1.
           
           MOVE '業務はで' TO WK-KJLIT.
           MOVE WK-KJLIT(2:16) TO SWMSG2.
           
           MOVE 'きません。' TO WK-KJLIT.
           MOVE WK-KJLIT(2:10) TO SWMSG3.
           
           MOVE SWMSG TO MSGAREAO.
           GO TO ONLINE1O-MSG1-EXT.
           
       ONLINE1O-MSG1-EXT.     EXIT.
       EJECT.

      
    

このページのトップへ戻る