11 Haziran 2010 Cuma
Read File with Progress 4GL Example
DEF INPUT PARAM pfName AS CHAR NO-UNDO.
DEF INPUT PARAM pTable AS CHAR NO-UNDO.
DEF VAR ttHandle AS HANDLE.
DEF VAR bHandle AS HANDLE.
DEF VAR qHandle AS HANDLE.
DEF VAR fHandle AS HANDLE.
DEF VAR bTableHandle AS HANDLE NO-UNDO.
DEF VAR pBaslik AS CHAR NO-UNDO.
DEF VAR pSatir AS CHAR NO-UNDO.
DEF VAR pColName AS CHAR NO-UNDO.
DEF VAR pDbColName AS CHAR NO-UNDO.
DEF VAR i AS INT NO-UNDO.
CREATE TEMP-TABLE ttHandle.
INPUT FROM VALUE(pfName).
IMPORT UNFORMATTED pBaslik.
DO i=1 TO NUM-ENTRIES(pBaslik,";"):
pColName = ENTRY(i, pBaslik,";").
IF pColName EQ "" THEN NEXT.
pDbColName = pTable + "." + pColName.
ttHandle:ADD-LIKE-FIELD(pColName,pDbColName).
END.
ttHandle:TEMP-TABLE-PREPARE("tFile").
bHandle = ttHandle:DEFAULT-BUFFER-HANDLE.
REPEAT:
IMPORT UNFORMATTED pSatir.
bHandle:BUFFER-CREATE.
DO i=1 TO NUM-ENTRIES(pBaslik,";"):
pColName = ENTRY(i, pBaslik,";").
IF pColName EQ "" THEN NEXT.
fHandle = bHandle:BUFFER-FIELD(pColName).
fHandle:BUFFER-VALUE = ENTRY(i, pSatir,";").
END.
END.
INPUT CLOSE.
CREATE QUERY qHandle.
qHandle:SET-BUFFERS(bHandle).
qHandle:QUERY-PREPARE("FOR EACH tFile").
qHandle:QUERY-OPEN().
CREATE BUFFER bTableHandle FOR TABLE pTable.
REPEAT TRANSACTION:
qHandle:GET-NEXT().
IF qHandle:QUERY-OFF-END THEN LEAVE.
bTableHandle:BUFFER-CREATE().
bTableHandle:BUFFER-COPY(bHandle).
bTableHandle:BUFFER-RELEASE().
END.
qHandle:QUERY-CLOSE().
bHandle:BUFFER-RELEASE().
DELETE OBJECT bTableHandle.
DELETE OBJECT ttHandle.
DELETE OBJECT qHandle.
Kaydol:
Kayıt Yorumları (Atom)
Hiç yorum yok:
Yorum Gönder