
Jorge Olguin (super carnicerias hernandez sa de cv) asked a question.
I've been figthing with this code, (RTFMing, john saad's excelent handbook, copilot and claude all included) but we haven't being able to make it run.... correctly (or at least, run as I need):
- DEFINE TEMP-TABLE ttTicket NO-UNDO
- LIKE-SEQUENTIAL tap.Ticket.
- DEFINE TEMP-TABLE ttTicketD NO-UNDO
- LIKE-SEQUENTIAL tap.TicketD.
- DEFINE TEMP-TABLE ttTicketPago NO-UNDO
- LIKE-SEQUENTIAL tap.TicketPago.
-
- DEFINE DATASET prodsTicket FOR ttTicket, ttTicketD, ttTicketPago
- DATA-RELATION drTicketD FOR ttTicket, ttTicketD
- RELATION-FIELDS (
- Sucursal, Sucursal,
- Almacen, Almacen,
- Serie, Serie,
- Ticket, Ticket)
- DATA-RELATION drTicketP FOR ttTicket, ttTicketPago
- RELATION-FIELDS (
- Sucursal, Sucursal,
- Serie, Serie,
- Ticket, Ticket)
- .
-
-
-
- /*-------------------------
- QUERIES
- -------------------------*/
- DEFINE QUERY qTicket FOR tap.Ticket, tap.TicketD, tap.TicketPago.
- //DEFINE QUERY qTicketD FOR tap.TicketD.
- //DEFINE QUERY qTicketPago FOR tap.TicketPago.
-
- /*-------------------------
- DATA SOURCES
- -------------------------*/
-
- DEFINE DATA-SOURCE srcTicket
- FOR tap.Ticket KEYS (Sucursal, Serie, Ticket).
-
- /*DEFINE DATA-SOURCE srcTicket */
- /*FOR QUERY qTicket */
- /*tap.Ticket KEYS (Sucursal, Serie, Ticket), */
- /*tap.TicketD KEYS (Sucursal, Almacen, Serie, Ticket),*/
- /*tap.TicketPago KEYS (Sucursal, Serie, Ticket). */
-
- DEFINE DATA-SOURCE srcTicketD
- FOR tap.TicketD KEYS (Sucursal, Almacen, Serie, Ticket).
-
- DEFINE DATA-SOURCE srcTicketPago
- FOR tap.TicketPago KEYS (Sucursal, Serie, Ticket).
-
- FIND LAST Ticket NO-LOCK.
-
-
- QUERY qTicket:QUERY-PREPARE(
- SUBSTITUTE("FOR EACH tap.Ticket NO-LOCK
- WHERE tap.Ticket.Ticket = &1,
- EACH tap.TicketD OF tap.Ticket no-lock,
- EACH tap.TicketPago of Ticket no-lock",
- Ticket.Ticket)).
-
-
- BUFFER ttTicket:ATTACH-DATA-SOURCE(DATA-SOURCE srcTicket:HANDLE).
- BUFFER ttTicketD:ATTACH-DATA-SOURCE(DATA-SOURCE srcTicketD:HANDLE).
- BUFFER ttTicketPago:ATTACH-DATA-SOURCE(DATA-SOURCE srcTicketPago:HANDLE).
-
-
- MESSAGE Ticket.Ticket
- VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
-
- DATASET prodsTicket:FILL().
-
-
- FOR EACH ttTicket,
- EACH ttTicketD OF ttTicket:
- DISPLAY ttTicket.Ticket ttTicketD.Articulo.
- END.
This code indeed finds last ticket, and shows it's number.
The issue is that the dataset picks up ALL tickets on table....
If I modify data-source srcTicket as the commented-out code, I get error about TicketD is on two data-source at same time...
Any clue on the missusing of data-sources will be very appreciatted.
TIA
Jorge
You may wanna try this. It's almost what Peter was talking about.
Hope this works.