
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 DCL-Gen Datenstruktur COBOL Demo DCL-Gen Datenstruktur Diese generierten Unterprogramme können bei der Generierung der Data Access Module für einen DBD wieder verwendet werden. |
/* ------------------------------------------------------------ */
/* */
/* 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
/* ------------------------------------------------------------ */
/* */
/* 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
* ------------------------------------------------------------ *
* *
* 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
* ------------------------------------------------------------ *
* *
* 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