Kontakt    Impressum

 

Generate SQL Data Access Program


Generate SQL Data Access Program Generiert wird eine eigenständiges Unterprogramm, dass in jedem Anwendungsprogramm Verwendung finden kann. Das generierte Programm arbeitet nicht mit der ehemaligen IMS-Datenstruktur, sondern mit DCL-Gen Datenstruktur (Hostvariablen), die ebenfalls generiert wird.
Die Generierung kann auf verschiedene Zugriffsfunktionen beschränkt werden.

PL/1 Demo Programm

PL/1 Demo DCL-Gen Datenstruktur

COBOL Demo Programm

COBOL Demo DCL-Gen Datenstruktur

Diese generierten Unterprogramme können bei der Generierung der Data Access Module für einen DBD wieder verwendet werden.

PL/1 Demo Programm

 /* ------------------------------------------------------------ */
 /*                                                              */
 /*  DATA ACCESS PROGRAM: TESTA                                  */
 /*  FOR TABLE: DEM_DEMUMS                                       */
 /*                                                              */
 /*  GENERATED BY DBAutoMig Vers: 1.0.0                          */
 /*                                                              */
 /*  DATE: 21.2.2004 10:38:18                                    */
 /*                                                              */
 /* ------------------------------------------------------------ */
 /*                                                              */
 TESTA:  PROC(PROG_FUNCT,
              PTR_DEM_DEMUMS,
              DBAUTOMIG_SQLERROR_PTR);
 /*                                                              */
 DCL 1 PROG_FUNCT                      POINTER;
 DCL 1 PTR_DEM_DEMUMS                  POINTER;
 DCL 1 DBAUTOMIG_SQLERROR_PTR          POINTER;
 DCL 1 PROG_FUNCTION       CHAR(6)     BASED(PROG_FUNCT);
 DCL 1 DCL_DEM_DEMUMS                  BASED(PTR_DEM_DEMUMS),
  EXEC SQL INCLUDE TESTA;
  EXEC SQL INCLUDE SQLCA;
 DCL 1 DBAUTOMIG_SQLERROR              BASED(DBAUTOMIG_SQLERROR_PTR),
  %INCLUDE DBADERRP;
 /*                                                              */
  SELECT (PROG_FUNCTION);
    WHEN ('UPD001')
        CALL UPD001_SECTION;
      OTHERWISE
       DO;
         ERROR_COUNT = 2;
         ERROR_MESSAGE_TEXT(1)='PROG_FUNCTION INVALID'; 
         ERROR_MESSAGE_TEXT(2)=PROG_FUNCTION;
       END; /* DO */
  END; /* SELECT */
  RETURN;
 /* ------------------------------------------------------------ */
 /*  Update FOR TABLE: DEM_DEMUMS                                */
 /* ------------------------------------------------------------ */
 UPD001_SECTION: PROC;
 /*                                                              */
            EXEC SQL UPDATE V_DEM_DEMUMS
             SET ACC_KD_D = :TESTA_ACC_KD_D
                , ANTWORT_DAT = :TESTA_ANTWORT_DAT
                , ANTWORT_UHR = :TESTA_ANTWORT_UHR
                , BES_TYP_C = :TESTA_BES_TYP_C
                , BEZ_REF = :TESTA_BEZ_REF
                , BIS_DAT = :TESTA_BIS_DAT
                , BR_EINHEIT = :TESTA_BR_EINHEIT
                , BR_EINHEIT_NEU = :TESTA_BR_EINHEIT_NEU
                , BR_NENNER = :TESTA_BR_NENNER
                , BR_NENNER_NEU = :TESTA_BR_NENNER_NEU
                , BR_TV_NENNER = :TESTA_BR_TV_NENNER
                , BR_TV_ZAEHLER = :TESTA_BR_TV_ZAEHLER
                , BR_ZAEHLER = :TESTA_BR_ZAEHLER
                , BR_ZAEHLER_NEU = :TESTA_BR_ZAEHLER_NEU
                , DPT_C = :TESTA_DPT_C
                , DPT_NAME = :TESTA_DPT_NAME
                , ERST_SB = :TESTA_ERST_SB
                , EX_DAT = :TESTA_EX_DAT
                , EX_UHR = :TESTA_EX_UHR
                , FREI_DAT = :TESTA_FREI_DAT
	:FREI_DAT_NULL
                , FREI_SB = :TESTA_FREI_SB
                , GUELTIG_DAT = :TESTA_GUELTIG_DAT
                , GUELTIG_UHR = :TESTA_GUELTIG_UHR
                , HV_DAT = :TESTA_HV_DAT
                , HV_FIRMA = :TESTA_HV_FIRMA
                , HV_ORT_TEXT_1 = :TESTA_HV_ORT_TEXT_1
	:HV_ORT_TEXT_1_NULL
                , HV_ORT_TEXT_2_4 = :TESTA_HV_ORT_TEXT_2_4
                , HV_STRV_DAT = :TESTA_HV_STRV_DAT
	:HV_STRV_DAT_NULL
                , HV_UHR = :TESTA_HV_UHR
                , INFO_S_E = :TESTA_INFO_S_E
                , KURS_EINHEIT = :TESTA_KURS_EINHEIT
                , KURS_WERT = :TESTA_KURS_WERT
                , MT_561_C = :TESTA_MT_561_C
                , MT_599_C = :TESTA_MT_599_C
                , PER_DAT = :TESTA_PER_DAT
                , SPRACH_C = :TESTA_SPRACH_C
                , STICHTAG_DAT = :TESTA_STICHTAG_DAT
                , SWIFT_ERF_C = :TESTA_SWIFT_ERF_C
                , SWIFT_LEN_INFO = :TESTA_SWIFT_LEN_INFO
                , SWIFT_LEN_TEXT = :TESTA_SWIFT_LEN_TEXT
                , SWIFT_MT = :TESTA_SWIFT_MT
                , SWIFT_STAT_C = :TESTA_SWIFT_STAT_C
                , TRN = :TESTA_TRN
                , VALUTA = :TESTA_VALUTA
                , VON_DAT = :TESTA_VON_DAT
                , WP_BEZ_K = :TESTA_WP_BEZ_K
                , WP_BEZ_K2 = :TESTA_WP_BEZ_K2
                , WP_DT_C = :TESTA_WP_DT_C
                , WP_DT_C2 = :TESTA_WP_DT_C2
                , WP_EINHEIT = :TESTA_WP_EINHEIT
                , WP_EINHEIT2 = :TESTA_WP_EINHEIT2
                , WP_ISO_C = :TESTA_WP_ISO_C
	:WP_ISO_C_NULL
                , WP_ISO_C2 = :TESTA_WP_ISO_C2
                , WP_STUECK = :TESTA_WP_STUECK
                , WP_STUECK2 = :TESTA_WP_STUECK2
                , ZAHLBAR_DAT = :TESTA_ZAHLBAR_DAT
             WHERE TRANCODE = :TESTA_TRANCODE
               AND TIMESTAMP_1 = :TESTA_TIMESTAMP_1;
        DBAMERRC-SQLCA = SQLCA;
        IF SQLCA.SQLCODE <> 0
          THEN CALL DBAUTOMIG_SQLERROR;
  END UPD001_SECTION;
 /*                                                              */
  %INCLUDE DBAPERRP;
 END TESTA;
 /*                                                              */
 
zum Seitenanfang
 

PL/1 Demo DCL-Gen Include-Member

 /* ------------------------------------------------------------ */
 /*                                                              */
 /*  DCL-GEN FOR TABLE: DEM_DEMUMS                               */
 /*  GENERATED BY DBAutoMig Vers: 1.0.0                          */
 /*                                                              */
 /*  DATE: 21.2.2004 10:38:18                                    */
 /*                                                              */
 /* ------------------------------------------------------------ */
 /*                                                              */
 /*  PRIMARY KEY                                                 */
    ,   2 TESTA_TRANCODE                    CHAR (79)
    ,   2 TESTA_TIMESTAMP_1                 CHAR (26)
 /*  DATA FIELDS                                                 */
    ,   2 TESTA_ACC_KD_D                    BIN FIXED (31)
    ,   2 TESTA_ANTWORT_DAT                 DEC FIXED (8)
    ,   2 TESTA_ANTWORT_UHR                 BIN FIXED (31)
    ,   2 TESTA_BES_TYP_C                   BIN FIXED (15)
    ,   2 TESTA_BEZ_REF                     CHAR (16)
    ,   2 TESTA_BIS_DAT                     DEC FIXED (8)
    ,   2 TESTA_BR_EINHEIT                  CHAR (3)
    ,   2 TESTA_BR_EINHEIT_NEU              CHAR (3)
    ,   2 TESTA_BR_NENNER                   BIN FIXED (15)
    ,   2 TESTA_BR_NENNER_NEU               DEC FIXED (6,2)
    ,   2 TESTA_BR_TV_NENNER                DEC FIXED (5,3)
    ,   2 TESTA_BR_TV_ZAEHLER               DEC FIXED (8,3)
    ,   2 TESTA_BR_ZAEHLER                  BIN FIXED (15)
    ,   2 TESTA_BR_ZAEHLER_NEU              DEC FIXED (6,2)
    ,   2 TESTA_DPT_C                       BIN FIXED (31)
    ,   2 TESTA_DPT_NAME                    CHAR (27)
    ,   2 TESTA_ERST_SB                     BIN FIXED (31)
    ,   2 TESTA_EX_DAT                      CHAR (10)
    ,   2 TESTA_EX_UHR                      CHAR (08)
    ,   2 TESTA_FREI_DAT                    CHAR (10)
    ,   2 TESTA_FREI_DAT_NULL               BIN FIXED (15)
    ,   2 TESTA_FREI_SB                     BIN FIXED (31)
    ,   2 TESTA_GUELTIG_DAT                 CHAR (10)
    ,   2 TESTA_GUELTIG_UHR                 CHAR (08)
    ,   2 TESTA_HV_DAT                      CHAR (10)
    ,   2 TESTA_HV_FIRMA                    GRAPHIC (260)
    ,   2 TESTA_HV_ORT_TEXT_1               CHAR (59)
    ,   2 TESTA_HV_ORT_TEXT_1_NULL          BIN FIXED (15)
    ,   2 TESTA_HV_ORT_TEXT_2_4             CHAR (195)
    ,   2 TESTA_HV_STRV_DAT                 DEC FIXED (8)
    ,   2 TESTA_HV_STRV_DAT_NULL            BIN FIXED (15)
    ,   2 TESTA_HV_UHR                      CHAR (6)
    ,   2 TESTA_INFO_S_E                    CHAR (210)
    ,   2 TESTA_KURS_EINHEIT                CHAR (3)
    ,   2 TESTA_KURS_WERT                   DEC FIXED (15,5)
    ,   2 TESTA_MT_561_C                    CHAR (1)
    ,   2 TESTA_MT_599_C                    CHAR (1)
    ,   2 TESTA_PER_DAT                     DEC FIXED (8)
    ,   2 TESTA_SPRACH_C                    BIN FIXED (15)
    ,   2 TESTA_STICHTAG_DAT                DEC FIXED (8)
    ,   2 TESTA_SWIFT_ERF_C                 BIN FIXED (31)
    ,   2 TESTA_SWIFT_LEN_INFO              BIN FIXED (31)
    ,   2 TESTA_SWIFT_LEN_TEXT              BIN FIXED (31)
    ,   2 TESTA_SWIFT_MT                    BIN FIXED (15)
    ,   2 TESTA_SWIFT_STAT_C                CHAR (1)
    ,   2 TESTA_TRN                         CHAR (16)
    ,   2 TESTA_VALUTA                      DEC FIXED (8)
    ,   2 TESTA_VON_DAT                     DEC FIXED (8)
    ,   2 TESTA_WP_BEZ_K                    CHAR (35)
    ,   2 TESTA_WP_BEZ_K2                   CHAR (35)
    ,   2 TESTA_WP_DT_C                     BIN FIXED (31)
    ,   2 TESTA_WP_DT_C2                    BIN FIXED (31)
    ,   2 TESTA_WP_EINHEIT                  CHAR (3)
    ,   2 TESTA_WP_EINHEIT2                 CHAR (3)
    ,   2 TESTA_WP_ISO_C                    CHAR (12)
    ,   2 TESTA_WP_ISO_C_NULL               BIN FIXED (15)
    ,   2 TESTA_WP_ISO_C2                   CHAR (12)
    ,   2 TESTA_WP_STUECK                   DEC FIXED (15,5)
    ,   2 TESTA_WP_STUECK2                  DEC FIXED (15,5)
    ,   2 TESTA_ZAHLBAR_DAT                 DEC FIXED (8)
    ;
 /*                                                              */
 /* ------------------------------------------------------------ */
zum Seitenanfang
 

COBOL Demo Programm

      * ------------------------------------------------------------ *
      *                                                              *
      *  DATA ACCESS PROGRAM: TESTA                                  *
      *  FOR TABLE: DEM_DEMUMS                                       *
      *                                                              *
      *  GENERATED BY DBAutoMig Vers: 1.0.0                          *
      *                                                              *
      *  DATE: 21.2.2004 10:38:18                                    *
      *                                                              *
      * ------------------------------------------------------------ *
      *                                                              *
       IDENTIFICATION DIVISION. 
       PROGRAM-ID.    TESTA.
       ENVIRONMENT DIVISION.
       CONFIGURATION SECTION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
       DATA DIVISION.
       FILE SECTION.
      * ------------------------------------------------------------ *
      *      WORKING-STORAGE
      * ------------------------------------------------------------ *
       WORKING-STORAGE SECTION.
          EXEC SQL INCLUDE SQLCA END-EXEC. 
      * ------------------------------------------------------------ *
      *      LINKAGE SECTION
      * ------------------------------------------------------------ *
       LINKAGE SECTION.
       01 PROG-FUNCTION             PIC X(6).
             EXEC SQL INCLUDE TESTA END-EXEC.
             COPY DBADERRC.
      * ------------------------------------------------------------ *
      *      PROCEDURE DIVISION
      * ------------------------------------------------------------ *
       PROCEDURE DIVISION USING
                          PROG-FUNCTION,
                          DCL-DEM-DEMUMS,
                          DBAUTOMIG-SQLERROR.
      *                                                              *
              EVALUATE PROG-FUNCTION
              WHEN "UPD001"
                  PERFORM UPD001-SECTION
              WHEN OTHER
                   MOVE 2   TO ERROR-COUNT
                   MOVE "PROG-FUNCTION INVALID"
                            TO ERROR-MESSAGE-TEXT(1)
                   MOVE PROG-FUNCTION
                            TO ERROR-MESSAGE-TEXT(2)
              END-EVALUATE.
      *                                                              *
              GOBACK.
      * ------------------------------------------------------------ *
      *  Update FOR TABLE: DEM_DEMUMS                                *
      * ------------------------------------------------------------ *
       UPD001-SECTION.
      *                                                              *
            EXEC SQL UPDATE V_DEM_DEMUMS
             SET ACC_KD_D = :TESTA-ACC-KD-D
                , ANTWORT_DAT = :TESTA-ANTWORT-DAT
                , ANTWORT_UHR = :TESTA-ANTWORT-UHR
                , BES_TYP_C = :TESTA-BES-TYP-C
                , BEZ_REF = :TESTA-BEZ-REF
                , BIS_DAT = :TESTA-BIS-DAT
                , BR_EINHEIT = :TESTA-BR-EINHEIT
                , BR_EINHEIT_NEU = :TESTA-BR-EINHEIT-NEU
                , BR_NENNER = :TESTA-BR-NENNER
                , BR_NENNER_NEU = :TESTA-BR-NENNER-NEU
                , BR_TV_NENNER = :TESTA-BR-TV-NENNER
                , BR_TV_ZAEHLER = :TESTA-BR-TV-ZAEHLER
                , BR_ZAEHLER = :TESTA-BR-ZAEHLER
                , BR_ZAEHLER_NEU = :TESTA-BR-ZAEHLER-NEU
                , DPT_C = :TESTA-DPT-C
                , DPT_NAME = :TESTA-DPT-NAME
                , ERST_SB = :TESTA-ERST-SB
                , EX_DAT = :TESTA-EX-DAT
                , EX_UHR = :TESTA-EX-UHR
                , FREI_DAT = :TESTA-FREI-DAT
	:FREI-DAT-NULL
                , FREI_SB = :TESTA-FREI-SB
                , GUELTIG_DAT = :TESTA-GUELTIG-DAT
                , GUELTIG_UHR = :TESTA-GUELTIG-UHR
                , HV_DAT = :TESTA-HV-DAT
                , HV_FIRMA = :TESTA-HV-FIRMA
                , HV_ORT_TEXT_1 = :TESTA-HV-ORT-TEXT-1
	:HV-ORT-TEXT-1-NULL
                , HV_ORT_TEXT_2_4 = :TESTA-HV-ORT-TEXT-2-4
                , HV_STRV_DAT = :TESTA-HV-STRV-DAT
	:HV-STRV-DAT-NULL
                , HV_UHR = :TESTA-HV-UHR
                , INFO_S_E = :TESTA-INFO-S-E
                , KURS_EINHEIT = :TESTA-KURS-EINHEIT
                , KURS_WERT = :TESTA-KURS-WERT
                , MT_561_C = :TESTA-MT-561-C
                , MT_599_C = :TESTA-MT-599-C
                , PER_DAT = :TESTA-PER-DAT
                , SPRACH_C = :TESTA-SPRACH-C
                , STICHTAG_DAT = :TESTA-STICHTAG-DAT
                , SWIFT_ERF_C = :TESTA-SWIFT-ERF-C
                , SWIFT_LEN_INFO = :TESTA-SWIFT-LEN-INFO
                , SWIFT_LEN_TEXT = :TESTA-SWIFT-LEN-TEXT
                , SWIFT_MT = :TESTA-SWIFT-MT
                , SWIFT_STAT_C = :TESTA-SWIFT-STAT-C
                , TRN = :TESTA-TRN
                , VALUTA = :TESTA-VALUTA
                , VON_DAT = :TESTA-VON-DAT
                , WP_BEZ_K = :TESTA-WP-BEZ-K
                , WP_BEZ_K2 = :TESTA-WP-BEZ-K2
                , WP_DT_C = :TESTA-WP-DT-C
                , WP_DT_C2 = :TESTA-WP-DT-C2
                , WP_EINHEIT = :TESTA-WP-EINHEIT
                , WP_EINHEIT2 = :TESTA-WP-EINHEIT2
                , WP_ISO_C = :TESTA-WP-ISO-C
	:WP-ISO-C-NULL
                , WP_ISO_C2 = :TESTA-WP-ISO-C2
                , WP_STUECK = :TESTA-WP-STUECK
                , WP_STUECK2 = :TESTA-WP-STUECK2
                , ZAHLBAR_DAT = :TESTA-ZAHLBAR-DAT
             WHERE TRANCODE = :TESTA-TRANCODE
               AND TIMESTAMP_1 = :TESTA-TIMESTAMP-1;
            END-EXEC.
             MOVE SQLCA TO DBAMERRC-SQLCA
             IF SQLCODE OF SQLCA NOT = 0
                PERFORM DBAUTOMIG-SQLERROR
             END-IF.
      *                                                              *
            COPY DBAPERRC.
      *                                                              *

zum Seitenanfang
 

COBOL Demo DCL-Gen Include-Member

      * ------------------------------------------------------------ *
      *                                                              *
      *  DCL-GEN FOR TABLE: DEM_DEMUMS                               *
      *  GENERATED BY DBAutoMig Vers: 1.0.0                          *
      *                                                              *
      *  DATE: 21.2.2004 10:38:18                                    *
      *                                                              *
      * ------------------------------------------------------------ *
      *                                                              *
       01 DCL-DEM-DEMUMS.
      *  PRIMARY KEY                                                 *
           10 TESTA-TRANCODE                   PIC X(79).
           10 TESTA-TIMESTAMP-1                PIC X(26).
      *  DATA FIELDS                                                 *
           10 TESTA-ACC-KD-D                   PIC S9(9) COMP.
           10 TESTA-ANTWORT-DAT                PIC S9(8) COMP-3.
           10 TESTA-ANTWORT-UHR                PIC S9(9) COMP.
           10 TESTA-BES-TYP-C                  PIC S9(4) COMP.
           10 TESTA-BEZ-REF                    PIC X(16).
           10 TESTA-BIS-DAT                    PIC S9(8) COMP-3.
           10 TESTA-BR-EINHEIT                 PIC X(3).
           10 TESTA-BR-EINHEIT-NEU             PIC X(3).
           10 TESTA-BR-NENNER                  PIC S9(4) COMP.
           10 TESTA-BR-NENNER-NEU              PIC S9(4)V9(2) COMP-3.
           10 TESTA-BR-TV-NENNER               PIC S9(2)V9(3) COMP-3.
           10 TESTA-BR-TV-ZAEHLER              PIC S9(5)V9(3) COMP-3.
           10 TESTA-BR-ZAEHLER                 PIC S9(4) COMP.
           10 TESTA-BR-ZAEHLER-NEU             PIC S9(4)V9(2) COMP-3.
           10 TESTA-DPT-C                      PIC S9(9) COMP.
           10 TESTA-DPT-NAME                   PIC X(27).
           10 TESTA-ERST-SB                    PIC S9(9) COMP.
           10 TESTA-EX-DAT                     PIC X(10).
           10 TESTA-EX-UHR                     PIC X(08).
           10 TESTA-FREI-DAT                   PIC X(10).
           10 TESTA-FREI-DAT-NULL              PIC S9(4) COMP.
           10 TESTA-FREI-SB                    PIC S9(9) COMP.
           10 TESTA-GUELTIG-DAT                PIC X(10).
           10 TESTA-GUELTIG-UHR                PIC X(08).
           10 TESTA-HV-DAT                     PIC X(10).
           10 TESTA-HV-FIRMA.
             49 TESTA-HV-FIRMA-L               PIC S9(4) COMP.
             49 TESTA-HV-FIRMA-T               PIC X(260).
           10 TESTA-HV-ORT-TEXT-1              PIC X(59).
           10 TESTA-HV-ORT-TEXT-1-NULL         PIC S9(4) COMP.
           10 TESTA-HV-ORT-TEXT-2-4            PIC X(195).
           10 TESTA-HV-STRV-DAT                PIC S9(8) COMP-3.
           10 TESTA-HV-STRV-DAT-NULL           PIC S9(4) COMP.
           10 TESTA-HV-UHR                     PIC X(6).
           10 TESTA-INFO-S-E                   PIC X(210).
           10 TESTA-KURS-EINHEIT               PIC X(3).
           10 TESTA-KURS-WERT                  PIC S9(10)V9(5) COMP-3.
           10 TESTA-MT-561-C                   PIC X(1).
           10 TESTA-MT-599-C                   PIC X(1).
           10 TESTA-PER-DAT                    PIC S9(8) COMP-3.
           10 TESTA-SPRACH-C                   PIC S9(4) COMP.
           10 TESTA-STICHTAG-DAT               PIC S9(8) COMP-3.
           10 TESTA-SWIFT-ERF-C                PIC S9(9) COMP.
           10 TESTA-SWIFT-LEN-INFO             PIC S9(9) COMP.
           10 TESTA-SWIFT-LEN-TEXT             PIC S9(9) COMP.
           10 TESTA-SWIFT-MT                   PIC S9(4) COMP.
           10 TESTA-SWIFT-STAT-C               PIC X(1).
           10 TESTA-TRN                        PIC X(16).
           10 TESTA-VALUTA                     PIC S9(8) COMP-3.
           10 TESTA-VON-DAT                    PIC S9(8) COMP-3.
           10 TESTA-WP-BEZ-K                   PIC X(35).
           10 TESTA-WP-BEZ-K2                  PIC X(35).
           10 TESTA-WP-DT-C                    PIC S9(9) COMP.
           10 TESTA-WP-DT-C2                   PIC S9(9) COMP.
           10 TESTA-WP-EINHEIT                 PIC X(3).
           10 TESTA-WP-EINHEIT2                PIC X(3).
           10 TESTA-WP-ISO-C                   PIC X(12).
           10 TESTA-WP-ISO-C-NULL              PIC S9(4) COMP.
           10 TESTA-WP-ISO-C2                  PIC X(12).
           10 TESTA-WP-STUECK                  PIC S9(10)V9(5) COMP-3.
           10 TESTA-WP-STUECK2                 PIC S9(10)V9(5) COMP-3.
           10 TESTA-ZAHLBAR-DAT                PIC S9(8) COMP-3.
      *                                                              *
      * ------------------------------------------------------------ *
zum Seitenanfang