Code:
-
- D wSqlStmt S 500A VARYING INZ
-
- D wSqlDS DS
- D wInstr 12
- D wTable 21
- D wSetClause 200
- D wWhereClause 200
-
- // Preprare an SQL update statement from information read from file ( field names have prefix 'U' )
- wInstr = gUPDATE ;
-
- wTable = %TRIM (UBIBNM) + '/' + %TRIM (UFICNM) ;
- wSetClause = gSET + %TRIM(UINFNM) +
- ' = ?' ;
-
- IF UANLNM <> *BLANKS ;
- wSetClause = %TRIM(wSetClause) +
- ', ' + %TRIM (UANLNM) +
- ' = '' ''' ;
- ENDIF ;
-
- IF UUSRNM <> *BLANKS ;
- wSetClause = %TRIM(wSetClause) +
- ', ' + %TRIM (UUSRNM) +
- ' = ?' ;
- ENDIF ;
-
- IF UMDLNM <> *BLANKS ;
- wSetClause = %TRIM(wSetClause) +
- ', ' + %TRIM (UMDLNM) +
- ' = CURRENT_DATE' ;
- ENDIF ;
-
- IF UMHTNM <> *BLANKS ;
- wSetClause = %TRIM(wSetClause) +
- ', ' + %TRIM (UMHTNM) +
- ' = CURRENT_TIME' ;
- ENDIF ;
-
-
- wWhereClause = gWHERE + %TRIM(UINFNM) +
- ' = ?' ;
- IF UANLNM <> *BLANKS ;
- wWhereClause = %TRIM(wWhereClause) +
- ' and ' + %TRIM (UANLNM) +
- ' = '' ''' ;
- ENDIF ;
-
- wSqlStmt = wSqlDS ;
- EXEC SQL
- PREPARE SqlReq FROM :wSqlStmt ;
-
- // Update of file ( name read from file )
- IF UUSRNM = *BLANKS ;
- EXEC SQL
- EXECUTE SqlReq USING :wCltDstNo, :wCltOriNo ;
-
- If SQLCOD < 0;
- //handle erreur
- EndIf;
-
- ELSE ;
- EXEC SQL
- EXECUTE SqlReq USING :wCltDstNo, :gUSER_ID,
- :wCltOriNo ;
- If SQLCOD < 0;
- //handle erreur
- EndIf;
-
|
|