| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS Procedure
- /*------------------------------------------------------------------------
- File :
- Purpose :
- Syntax :
- Description :
- Author(s) :
- Created :
- Notes :
- ----------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* *************************** Definitions ************************** */
- DEF VAR Firma AS CHAR INIT '1000' NO-UNDO.
- DEF VAR iAufnr AS INT NO-UNDO.
- DEF TEMP-TABLE tGebRueck LIKE GebRueck
- FIELD iId AS INT
- FIELD lFound AS LOG
- .
- DEF VAR htGebRueck AS HANDLE NO-UNDO.
- htGebRueck = TEMP-TABLE tGebRueck:DEFAULT-BUFFER-HANDLE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE Procedure
- &Scoped-define DB-AWARE no
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: Procedure
- Allow:
- Frames: 0
- Add Fields to: Neither
- Other Settings: CODE-ONLY COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- /* DESIGN Window definition (used by the UIB)
- CREATE WINDOW Procedure ASSIGN
- HEIGHT = 15
- WIDTH = 60.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
-
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK Procedure
- /* *************************** Main Block *************************** */
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &IF DEFINED(EXCLUDE-GEBINDE_BEZOGEN) = 0 &THEN
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_BEZOGEN Procedure
- PROCEDURE GEBINDE_BEZOGEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR MW AS INT NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- DEF BUFFER bAufko FOR Aufko.
- DEF BUFFER bAufze FOR Aufze.
- DEF BUFFER bSavko FOR Savko.
- DEF BUFFER bSavze FOR Savze.
- EMPTY TEMP-TABLE tGebRueck.
-
- FOR EACH GebRueck NO-LOCK
- WHERE GebRueck.Firma = Firma:
- CREATE tGebRueck.
- BUFFER-COPY GebRueck TO tGebRueck
- ASSIGN tGebRueck.lFound = FALSE.
- END.
-
- FOR EACH bAufko NO-LOCK
- WHERE bAufko.Firma = Firma
- AND bAufko.Aufnr = iAufnr, /* Aktuelle Auftragsnummer */
- EACH Aufze
- WHERE Aufze.Firma = bAufko.Firma
- AND Aufze.Aufnr = bAufko.Aufnr
- AND Aufze.Artnr > 0:
- DO WHILE TRUE:
- FIND KGebinde NO-LOCK
- WHERE KGebinde.Firma = Aufze.Firma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-ERROR.
- IF NOT AVAILABLE KGebinde THEN LEAVE.
- IF KGebinde.Depot = 0 THEN LEAVE.
- FOR EACH tGebRueck NO-LOCK
- WHERE (tGebRueck.Kto_Cd1 = Aufze.KGebKto
- OR tGebRueck.Kto_Cd2 = Aufze.KGebKto
- OR tGebRueck.Kto_Cd3 = Aufze.KGebKto)
- AND tGebRueck.lFound = FALSE:
- tGebRueck.lFound = TRUE.
- END.
- LEAVE.
- END.
- DO WHILE TRUE:
- FIND VGebinde NO-LOCK
- WHERE VGebinde.Firma = Aufze.Firma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-ERROR.
- IF NOT AVAILABLE VGebinde THEN LEAVE.
- IF VGebinde.Depot = 0 THEN LEAVE.
- FOR EACH tGebRueck NO-LOCK
- WHERE (tGebRueck.Kto_Cd1 = Aufze.VGebKto
- OR tGebRueck.Kto_Cd2 = Aufze.VGebKto
- OR tGebRueck.Kto_Cd3 = Aufze.VGebKto)
- AND tGebRueck.lFound = FALSE:
- tGebRueck.lFound = TRUE.
- END.
- LEAVE.
- END.
- DO WHILE TRUE:
- FIND GGebinde NO-LOCK
- WHERE GGebinde.Firma = Aufze.Firma
- AND GGebinde.Geb_Cd = Aufze.VGeb_Cd NO-ERROR.
- IF NOT AVAILABLE GGebinde THEN LEAVE.
- IF GGebinde.Depot = 0 THEN LEAVE.
- FOR EACH tGebRueck NO-LOCK
- WHERE (tGebRueck.Kto_Cd1 = Aufze.GGebKto
- OR tGebRueck.Kto_Cd2 = Aufze.GGebKto
- OR tGebRueck.Kto_Cd3 = Aufze.GGebKto)
- AND tGebRueck.lFound = FALSE:
- tGebRueck.lFound = TRUE.
- END.
- LEAVE.
- END.
- END.
- FOR EACH bSavko NO-LOCK USE-INDEX Savko-k10
- WHERE bSavko.Firma = Firma
- AND bSavko.Fak_Datum >= (TODAY - 180),
- EACH bSavze
- WHERE bSavze.Firma = bSavko.Firma
- AND bSavze.Aufnr = bSavko.Aufnr
- AND bSavze.Artnr > 0:
- DO WHILE TRUE:
- FIND KGebinde NO-LOCK
- WHERE KGebinde.Firma = bSavze.Firma
- AND KGebinde.Geb_Cd = bSavze.KGeb_Cd NO-ERROR.
- IF NOT AVAILABLE KGebinde THEN LEAVE.
- IF KGebinde.Depot = 0 THEN LEAVE.
- FOR EACH tGebRueck NO-LOCK
- WHERE (tGebRueck.Kto_Cd1 = bSavze.KGebKto
- OR tGebRueck.Kto_Cd2 = bSavze.KGebKto
- OR tGebRueck.Kto_Cd3 = bSavze.KGebKto)
- AND tGebRueck.lFound = FALSE:
- tGebRueck.lFound = TRUE.
- END.
- LEAVE.
- END.
- DO WHILE TRUE:
- FIND VGebinde NO-LOCK
- WHERE VGebinde.Firma = bSavze.Firma
- AND VGebinde.Geb_Cd = bSavze.VGeb_Cd NO-ERROR.
- IF NOT AVAILABLE VGebinde THEN LEAVE.
- IF VGebinde.Depot = 0 THEN LEAVE.
- FOR EACH tGebRueck NO-LOCK
- WHERE (tGebRueck.Kto_Cd1 = bSavze.VGebKto
- OR tGebRueck.Kto_Cd2 = bSavze.VGebKto
- OR tGebRueck.Kto_Cd3 = bSavze.VGebKto)
- AND tGebRueck.lFound = FALSE:
- tGebRueck.lFound = TRUE.
- END.
- LEAVE.
- END.
- DO WHILE TRUE:
- FIND GGebinde NO-LOCK
- WHERE GGebinde.Firma = bSavze.Firma
- AND GGebinde.Geb_Cd = bSavze.VGeb_Cd NO-ERROR.
- IF NOT AVAILABLE GGebinde THEN LEAVE.
- IF GGebinde.Depot = 0 THEN LEAVE.
- FOR EACH tGebRueck NO-LOCK
- WHERE (tGebRueck.Kto_Cd1 = bSavze.GGebKto
- OR tGebRueck.Kto_Cd2 = bSavze.GGebKto
- OR tGebRueck.Kto_Cd3 = bSavze.GGebKto)
- AND tGebRueck.lFound = FALSE:
- tGebRueck.lFound = TRUE.
- END.
- LEAVE.
- END.
- END.
- iId = 0.
- FOR EACH tGebRueck WHERE tGebRueck.lFound = TRUE
- BY tGebRueck.Sort_Cd
- BY tGebRueck.Geb_Cd:
-
- iId = iId + 1.
- tGebRueck.Sort = STRING(iId ,'99')
- + tGebRueck.Geb_Cd.
- END.
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ENDIF
|