Bucle Do dentro de un For EACH
Publicado por Emmanuel (3 intervenciones) el 11/05/2020 15:56:44
Buenos días compañeros, soy algo nuevo en el tema, y quisiera saber si pudiesen apoyarme, tengo la siguiente problemática.
1. A través de un campo de una tabla Custom, se coloca información separada por pipe "|" utilizo el DO para contar el No. de Veces que se tiene el No. de Entradas en ese campo (NUM TO-ENTRIES) y dentro del mismo biucle creo una tabla temporal, para poder a ir buscar información en otra tabla custom. sin embargo, cuando coloco un mensaje fuera del bucle, el resultado de mi búsqueda es el ultimo que se encuentra y no todos los registros como se muestrán dentro del bucle.
Message "UUID" v-contador v-con tr-factura tr-uuid.
1. A través de un campo de una tabla Custom, se coloca información separada por pipe "|" utilizo el DO para contar el No. de Veces que se tiene el No. de Entradas en ese campo (NUM TO-ENTRIES) y dentro del mismo biucle creo una tabla temporal, para poder a ir buscar información en otra tabla custom. sin embargo, cuando coloco un mensaje fuera del bucle, el resultado de mi búsqueda es el ultimo que se encuentra y no todos los registros como se muestrán dentro del bucle.
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
DEFINE VARIABLE v-contador AS LOGICAL NO-UNDO.
DEFINE VARIABLE v-con AS INTEGER NO-UNDO INITIAL 1.
DEFINE VARIABLE v-resulta AS CHARACTER FORMAT "x(200)" NO-UNDO.
DEFINE VARIABLE v-uuid AS CHARACTER FORMAT "x(50)" NO-UNDO.
DEFINE VARIABLE v-campo AS CHARACTER NO-UNDO.
DEFINE VARIABLE liCount AS INTEGER NO-UNDO INITIAL 1.
DEFINE VARIABLE v-desc AS CHARACTER FORMAT "x(200)" NO-UNDO.
DEFINE TEMP-TABLE t-relacion NO-UNDO
FIELD tr-factura AS CHARACTER FORMAT "x(200)"
FIELD tr-comentario AS CHARACTER FORMAT "x(200)"
FIELD tr-uuid AS CHARACTER FORMAT "x(50)"
FIELD tr-contador AS INTEGER
INDEX tr-k1 tr-contador tr-factura.
DO v-con=1 TO NUM-ENTRIES(Custom.CustomCommentNote,"|") TRANSACTION:
IF INDEX(Custom.CustomCommentNote,"|") <> 0 THEN
v-resulta = ENTRY(v-con,Custom.CustomCommentNote,"|").
ELSE
v-resulta = Custom.CustomCommentNote.
FOR FIRST hist WHERE
hist.empr = '1000' AND
hist_tipo_doc <> "" AND
hist_num_doc = TRIM(v-resulta) NO-LOCK:
END.
CREATE t-relacion.
ASSIGN
t-relacion.tr-factura = v-resulta.
t-relacion.tr-uuid = v-uuid.
t-relacion.tr-contador = v-con.
FOR FIRST t-relacion WHERE
t-relacion.tr-factura = v-resulta AND
t-relacion.tr-contador = v-con.
END.
END.
FOR EACH t-relacion BREAK BY t-relacion.tr-factura:
RUN prepara("H2F1",1,t-relacion.tr-uuid).
END.
Message "UUID" v-contador v-con tr-factura tr-uuid.
Valora esta pregunta


0