1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165
|
IDENTIFICATION DIVISION.
PROGRAM-ID. FUSQLB6001.
AUTHOR. XXXXXX XXXXXXX.
ENVIRONMENT DIVISION.
*----------------------------------------------------------------
CONFIGURATION SECTION.
*----------------------------------------------------------------
SOURCE-COMPUTER. IBM-AS400.
OBJECT-COMPUTER. IBM-AS400.
SPECIAL-NAMES.
C01 IS CANAL-1
REQUESTOR IS UD
LOCAL-DATA IS MD-LOCAL-DATA
CURRENCY SIGN IS "F"
DECIMAL-POINT IS COMMA.
*----------------------------------------------------------------
INPUT-OUTPUT SECTION.
*----------------------------------------------------------------
FILE-CONTROL.
*****************************************************************
DATA DIVISION.
*****************************************************************
*----------------------------------------------------------------
FILE SECTION.
*----------------------------------------------------------------
WORKING-STORAGE SECTION.
EXEC SQL
INCLUDE SQLCA
END-EXEC.
01 TNAME PIC X(10).
01 MyString PIC X(1000).
01 LstChamps PIC X(80).
01 TPARAM1 PIC X(10).
01 TVALUE1 PIC X(50).
01 WS-LSTRESULT.
02 WW-TAB OCCURS 10.
03 WW-chp PIC X(100).
01 WW-chp1 PIC X(100).
01 WW-chp2 PIC X(100).
01 WW-chp3 PIC X(100).
01 WW-chp4 PIC X(100).
01 WW-chp5 PIC X(100).
01 WW-chp6 PIC X(100).
01 WW-chp7 PIC X(100).
01 WW-chp8 PIC X(100).
01 WW-chp9 PIC X(100).
01 WW-chp10 PIC X(100).
01 LK-CHP2 PIC X(80).
05 LK-LSTCHP1 PIC x(33).
05 LK-LSTCHP2 PIC x(33).
05 LK-LSTCHP3 PIC x(14).
*************************************************************
* LINKAGE SECTION *
*************************************************************
LINKAGE SECTION.
* Nom de la table?
01 LK-NAME PIC X(10).
* Les champs désirés?
01 LK-LSTCHP PIC X(80).
* Clause where?
01 LK-TPARAM1 PIC X(10).
* Valeur clause where?
01 LK-TVALUE1 PIC X(15).
* Code erreur?
01 LK-LSTRESULT.
02 LK-TAB OCCURS 10.
03 LK-chp PIC X(100).
01 LK-CODERETOUR PIC X(02).
*****************************************************************
PROCEDURE DIVISION USING LK-NAME
LK-LSTCHP
LK-TPARAM1
LK-TVALUE1
LK-LSTRESULT
LK-CODERETOUR.
*****************************************************************
DEB-PROG.
*
* Transformations des données
*
* Initialisation du code retour
MOVE "00" TO LK-CODERETOUR.
MOVE LK-NAME TO TNAME.
MOVE LK-TPARAM1 TO TPARAM1.
MOVE LK-TVALUE1 TO TVALUE1.
EXEC SQL
WHENEVER SQLERROR GO TO TRAIT-ERREUR
END-EXEC.
String 'Select ' Delimited By Size,
LK-LSTCHP,
' From ' Delimited By Size,
TNAME Delimited By Size,
' ' Delimited By Size,
' where ' Delimited By Size
TPARAM1 Delimited By Size
' = ' Delimited By Size
TVALUE1 Delimited By Size
Into MyString.
Exec sql Prepare SqlStm From :MyString End-exec.
Exec sql Declare c1 cursor For SqlStm End-exec.
Exec sql Open c1 End-exec.
Exec sql Fetch c1 Into
:WW-chp1,
:WW-chp2,
:WW-chp3,
:WW-chp4,
:WW-chp5,
:WW-chp6,
:WW-chp7,
:WW-chp8,
:WW-chp9,
:WW-chp10
End-exec.
Exec sql Close c1 End-exec.
MOVE WW-chp1 TO LK-chp(1).
MOVE WW-chp2 TO LK-chp(2).
MOVE WW-chp3 TO LK-chp(3).
MOVE WW-chp4 TO LK-chp(4).
MOVE WW-chp5 TO LK-chp(5).
MOVE WW-chp6 TO LK-chp(6).
MOVE WW-chp7 TO LK-chp(7).
MOVE WW-chp8 TO LK-chp(8).
MOVE WW-chp9 TO LK-chp(9).
MOVE WW-chp10 TO LK-chp(10).
FIN-PROGRAMME.
EXIT.
GOBACK.
*****************************************************************
TRAIT-ERREUR.
* DISPLAY SQLCODE.
* DISPLAY SQLERRM.
MOVE "23" TO LK-CODERETOUR.
GO TO FIN-PROGRAMME.
FIN-TRAIT-ERREUR.
EXIT. |
Partager