/* *************************** Main Block *************************** */
DEFINE VARIABLE cmpt AS INTEGER NO-UNDO.
DEFINE VARIABLE myColumn AS HANDLE NO-UNDO.
DEFINE VARIABLE myField AS HANDLE NO-UNDO.
ASSIGN
profondeur = 15
myInfo = FI-Info:HANDLE
brFam = BR-FAM:HANDLE .
CREATE TEMP-TABLE TTFAM.
TTFAM:ADD-NEW-FIELD("logfamcod":U,"CHARACTER":U,0,"X(10)").
TTFAM:ADD-NEW-FIELD("logfascod":U,"CHARACTER":U,0,"X(10)").
TTFAM:ADD-NEW-FIELD("nbjcouv":U,"INTEGER":U).
TTFAM:ADD-NEW-FIELD("nbjouvr":U,"INTEGER":U).
TTFAM:ADD-NEW-FIELD("ini":U,"CHARACTER":U).
TTFAM:ADD-NEW-FIELD("couleur":U,"INTEGER":U).
TTFAM:ADD-NEW-FIELD("ordout":U,"INTEGER":U).
TTFAM:ADD-NEW-FIELD("labelout":U,"CHARACTER":U,0,"X(10)").
TTFAM:ADD-NEW-FIELD("outval":U,"INTEGER":U,profondeur,"->>>>>>>>9":U) .
TTFAM:ADD-NEW-INDEX("I01":U,TRUE,TRUE).
TTFAM:ADD-INDEX-FIELD("I01":U,"logfamcod":U).
TTFAM:ADD-INDEX-FIELD("I01":U,"logfascod":U).
TTFAM:ADD-INDEX-FIELD("I01":U,"ordout":U).
TTFAM:TEMP-TABLE-PREPARE("TTFAM":U) .
CREATE BUFFER BUFFAM FOR TABLE TTFAM .
CREATE QUERY dispQueryFam.
dispQueryFam:SET-BUFFERS(BUFFAM) .
dispQueryFam:QUERY-PREPARE("FOR EACH TTFAM NO-LOCK":U) .
ASSIGN
brFam:QUERY = dispQueryFam
brFam:READ-ONLY = FALSE
myColumn = brFam:ADD-LIKE-COLUMN("TTFAM.labelout":U)
myColumn:LABEL = "Type"
myColumn:WIDTH-PIXELS = func-widthcolumn(myColumn) + 50
myColumn = brFam:ADD-LIKE-COLUMN("TTFAM.logfamcod":U)
myColumn:LABEL = "Famille"
myColumn:WIDTH-PIXELS = func-widthcolumn(myColumn)
myColumn = brFam:ADD-LIKE-COLUMN("TTFAM.logfascod":U)
myColumn:LABEL = "Sous Famille"
myColumn:WIDTH-PIXELS = func-widthcolumn(myColumn)
myColumn = brFam:ADD-LIKE-COLUMN("TTFAM.ini":U)
myColumn:LABEL = STRING(TODAY)
myColumn:WIDTH-PIXELS = func-widthcolumn(myColumn)
myField = BUFFAM:BUFFER-FIELD("outval":U):HANDLE
myColumn = brFam:ADD-LIKE-COLUMN(myField)
myColumn:READ-ONLY = FALSE
myColumn:FONT = 2
cmpt = 5
brFam:NUM-LOCKED-COLUMN = 3 .
myInfo:SCREEN-VALUE = "Récupération des semaines" .
RUN 01-prc-getWeek . /* récupération des semaines selon la profondeur */
IF NUM-ENTRIES(RETURN-VALUE,"|":U) > 1 THEN DO:
MESSAGE ENTRY(1,RETURN-VALUE,"|":U) SKIP
ENTRY(2,RETURN-VALUE,"|":U)
VIEW-AS ALERT-BOX ERROR BUTTONS OK.
RETURN.
END.
FOR EACH TTWEEK NO-LOCK : /* renomage des colonnes en fonction de la semaine */
ASSIGN
myColumn = brFam:GET-BROWSE-COLUMN(cmpt)
myColumn:NAME = "COL":U + STRING(cmpt - 4)
myColumn:LABEL = STRING(TTWEEK.weekann) + " - ":U + STRING(TTWEEK.weeknum)
myColumn:WIDTH-PIXELS = func-widthcolumn(myColumn) + 30
myColumn:COLUMN-FONT = 2
myColumn:READ-ONLY = FALSE
cmpt = cmpt + 1.
END.
/* récupération des colonnes pour mise en forme dans le row-display */
ASSIGN
cmpt = 1
myColumn = brFam:GET-BROWSE-COLUMN(cmpt) .
DO WHILE VALID-HANDLE(myColumn) :
CREATE TTCOLFAM.
ASSIGN
TTCOLFAM.myCol = myColumn:HANDLE
cmpt = cmpt + 1
myColumn = brFam:GET-BROWSE-COLUMN(cmpt) NO-ERROR.
END.
DO cmpt = 4 TO brFAM:NUM-COLUMNS :
myColumn = brFam:GET-BROWSE-COLUMN(cmpt) .
ON LEAVE OF myColumn
DO:
DEFINE VARIABLE colAdrr AS INTEGER NO-UNDO.
DEFINE VARIABLE ordout AS INTEGER NO-UNDO.
ASSIGN
ordout = BUFFAM::ordout
colAdrr = INTEGER(SUBSTRING(SELF:NAME,4)) .
/* vérification du changement de donnée dans la cellule pour ne pas déclencher le trigger pour rien */
IF SELF:SCREEN-VALUE = BUFFAM::outval(colAdrr) THEN RETURN.
RUN 99-triggeredBrowse(ordout,colAdrr) .
RETURN.
END.
ON 'RETURN':U OF myColumn
DO:
DEFINE VARIABLE colAdrr AS INTEGER NO-UNDO.
DEFINE VARIABLE ordout AS INTEGER NO-UNDO.
ASSIGN
ordout = BUFFAM::ordout
colAdrr = INTEGER(SUBSTRING(SELF:NAME,4)) .
/* vérification du changement de donnée dans la cellule pour ne pas déclencher le trigger pour rien */
IF SELF:SCREEN-VALUE = BUFFAM::outval(colAdrr) THEN RETURN.
RUN 99-triggeredBrowse(ordout,colAdrr) .
RETURN.
END.
END.
/* Include custom Main Block code for SmartWindows. */
{adm/template/windowmn.i}