Tengo un problema con la lectura de unos archivos .TXT, este es el segmento del código problemático:
Code: Select all
* ------------------------------------------------------ *
* SISTEMA : INFO-FARMA *
* PRG : VENTGRAB.PRG *
* CREADO : 21-08-2020 *
* ACTUALIZADO : *
* AUTOR : EDUARDO V. FLORES RIVAS *
* COMENTARIOS : Envia el request al sertvidor de trans. *
* ------------------------------------------------------ *
FUNC Request_Venta
LOCAL cOperStamp := SELLOFECHA()+STRZERO(SYS_ESTAC,2)
LOCAL cRequestTxt := PATHREQUEST + 'rqst_' + cOperStamp + '.txt'
LOCAL cRequestCab := PATHREQUEST + 'rqst_' + cOperStamp + '_cab.dbf'
LOCAL cRequestDet := PATHREQUEST + 'rqst_' + cOperStamp + '_det.dbf'
LOCAL cResponsTxt := PATHRESPONS + 'resp_' + cOperStamp + '.txt' //<-ESTE ES EL ARCHIVO .TXT QUE NECESITO LEER
LOCAL aRequestCab := {;
{'CLIE_COD','C', 6,0},;
{'CLIE_NOM','C',50,0},;
{'DIR1_COD','C', 3,0},;
{'DIR2_COD','C', 3,0},;
{'TRAN_COD','C', 3,0},;
{'VEND_COD','C', 2,0},;
{'VEND_NOM','C',30,0},;
{'DOCU_DIA','N', 3,0},;
{'TOTA_CST','N',12,2},;
{'TOTA_AFE','N',12,2},;
{'TOTA_INA','N',12,2},;
{'TOTA_EXO','N',12,2},;
{'TOTA_GRA','N',12,2},;
{'TOTA_IGV','N',12,2},;
{'TOTA_DOC','N',12,2},;
{'USER_COD','C', 2,0},;
{'USER_NOM','C', 2,0},;
{'ESTA_NUM','N', 2,0}}
LOCAL cQSTtxt := ''
LOCAL cRSPtxt := 'Error'+chr(13)+chr(10)
DBCREATE( cRequestCab , aRequestCab )
USE &cRequestCab ALIAS VCTMP EXCLUSIVE NEW
APPEND BLANK
REPLACE VCTMP->CLIE_COD WITH Win_Ventas.TxtClieCod.Value
REPLACE VCTMP->CLIE_NOM WITH Win_Ventas.TxtClieDes.Value
REPLACE VCTMP->DIR1_COD WITH Win_Ventas.TxtDireCod.Value
REPLACE VCTMP->DIR2_COD WITH Win_Ventas.TxtDireCod2.Value
REPLACE VCTMP->TRAN_COD WITH Win_Ventas.TxtTranCod.Value
REPLACE VCTMP->VEND_COD WITH Win_Ventas.TxtVendCod.Value
REPLACE VCTMP->VEND_NOM WITH Win_Ventas.TxtVendNom.Value
REPLACE VCTMP->DOCU_DIA WITH Win_Ventas.TxtDias.Value
REPLACE VCTMP->USER_COD WITH Win_Ventas.TxtUserCod.Value
REPLACE VCTMP->USER_NOM WITH Win_Ventas.TxtUserNom.Value
REPLACE VCTMP->ESTA_NUM WITH SYS_ESTAC
CLOSE VCTMP
SELE VDTMP
COPY STRUCTURE TO &cRequestDet
COPY TO &cRequestDet
IF FILE(cRequestCab) .AND. FILE(cRequestDet)
cQSTtxt := 'registro de venta'+chr(13)+chr(10)
hb_memowrit( cRequestTxt , cQSTtxt )
IF FILE( cRequestTxt )
nTrys := 0
DO WHILE .T.
IF FILE( cResponsTxt )
cRSPtxt := hb_memoread( cResponsTxt ) //<- AQUI EL PROBLEMA, PARECE NO LEER EL ARCHIVO DE TEXTO
msginfo( 'Venta grabada.'+CHR(13)+cRSPtxt ) //<- cRSPtxt ESTA VACIO
CLOSE VDTMP
// DELETE FILE &cResponsTxt
EXIT
ELSE
nTrys++
IF nTrys > 1000000
msginfo( cRSPtxt )
// msgexclamation('El servidor de transacciones no responde'+chr(13)+'Revise si el InfoServ esta activo.')
EXIT
ENDIF
ENDIF
ENDDO
ELSE
msginfo('ERROR: No se pudo enviar el request al servidor de transacciones.')
ENDIF
ELSE
msginfo('ERROR: No se pudieron crear los archivos request en la carpeta RQS\.')
ENDIF
RETURN( cRSPtxt )
Agradeceré cualquier ayuda al respecto.
Cordiales saludos,