2016-05-27 16 views
1

Tabelle: Jede wod_det In wod_det Tabelle i für alle Aufträge für wod_qty_req zählen wollen bedeutet wod_nbr für jeden Auftrag ein Arbeitsauftrag ist, wird es Komponente Elemente sein wird es also wod_part für diese wod_part wird es so wod_qty_req, was ich will, ist Arbeitsauftrag i nee Graf von wod_qty_req für all wod_part ich mag diesen versuchteWie bekommt man wod_qty_req?

{us/mf/mfdtitle.i} 
def var site like si_site no-undo. 
for first si_mstr no-lock where si_mstr.si_domain = global_domain: 
     site = si_site. 
end. 
for each wod_det where wod_domain = global_domain and wod_site = site no-lock break by wod_nbr by wod_part: 

     if first-of(wod_nbr) then 
     do: 
      accumulate wod_qty_req (count). 
      if last-of(wod_part) then 
       do: 
        disp wod_nbr wod_part wod_qty_req (accum count wod_qty_req). 
       end. 
     end. 

end. 

ich weiß nicht, ob dies richtig ist oder nicht, aber ich habe nicht eine Ausgabe für diesen plz mir helfen, dieses Problem zu beheben raus? Vielen Dank im Voraus ..

Here is the Image of table wod_det

Antwort:

define variable iCount as integer no-undo.          
{us/mf/mfdtitle.i}                
def var site like si_site no-undo.            
def var total like wod_qty_req initial 0 no-undo.        
    for first si_mstr no-lock where si_mstr.si_domain = global_domain:    
     site = si_site.                
    end.                      
     for each wod_det no-lock where wod_domain = global_domain    
          and wod_site = site break by wod_nbr: 
      disp wod_nbr wod_part wod_qty_req(total by wod_nbr).       
     end. 

Antwort

0

Editiert: auf mehr Informationen.

Ich persönlich nie die ACCUM, ACCUMULATE usw. Funktionen verwenden, aber das könnte meine persönlichen Vorlieben sein.

NB: Ich weiß nicht genau, welche Felder zu den Informationen im Bild entsprechen, also werde ich dies in "Pseudo" -Code beschreiben. Tauschen Sie [WORK_ORDER_FIELD] Feldnamen so aus, dass sie dem richtigen Feld in Ihrer Datenbank entsprechen!

define variable iCount as integer no-undo. 
{us/mf/mfdtitle.i} 
def var site like si_site no-undo. 
for first si_mstr no-lock where si_mstr.si_domain = global_domain: 
    site = si_site. 
end. 

for each wod_det no-lock where wod_domain = global_domain 
          and wod_site = site 
          break by wod_det.[WORK_ORDER_FIELD]: 

    iCount = 0. 
    if first-of(wod_det.[WORK_ORDER_FIELD]) then do: 
     iCount = iCount + 1. 
    end. 
    display od_det.[WORK_ORDER_FIELD] iCount. 
end. 
+1

i angebracht wod_det Tabellenbild in Frage kann es u Detail sehen, was ich will, ist: wenn Sie Arbeitsauftrag 1139, 6 Elemente dort beobachten und Menge entspricht auch req ist es so brauche ich Anzahl für Menge req caluculate für alle 6 Arbeitsaufgaben bestellen 1139 klar? –

+0

Ich werde meine Antwort gemäß diesem Bild aktualisieren. – Jensd

+0

@LovelyBobby Hat das geholfen? – Jensd