Kaillou, Forum AS400

Forum AS400 et de discussions


    FAQ-les Sous-Fichiers

    Partagez
    avatar
    Shewolf
    Admin

    Nombre de messages : 190
    Localisation : 91 idf
    Emploi : Analyste Réalisateur / Chef de Projets

    FAQ-les Sous-Fichiers

    Message par Shewolf le Sam 30 Juin - 21:19

    LES SOUS-FICHIERS (listes déroulantes AS400) :

    Votre sous-fichier plante : Error Session ou Unité

    1/ Si le sous-fichier est vide :

    Arrow Pour pouvoir afficher le sous fichier vide, il faut mettre à *OFF le SFLDSP, et le n° de rang décrit dans l'écran à zéro.


    2/ Si le sous-fichier est plein :

    Arrow Pour pouvoir afficher le sous fichier plein, il faut mettre à *ON le SFLDSP, et le n° de rang décrit dans l'écran à une valeur différente de zéro, celà peut-être "1" pour positionner le sous-fichier à partir de la ligne 1.


    Les mots clés de l'écran utiles qui permetent en activant les indicateurs de :
    SFLCLR : efface le sous-fichier

    SFLEND : signale si le sous-fichier est fini (*on) ou s'il reste des page

    SFLNXTCHG : permet de réactualiser des choix anciens fait sur le sous-fichier

    SFLDSPCTL : affiche le format de contrôle du sous-fichier (obligatoire)



    Autres mots clés écran :

    SFLLIN : la taille des sous-fichiers en lignes.


    ROLLUP/ROLLDOWN : permet d'accepter ou pas la pagination et de récupérer les valeurs résultantes binaires de l'action.


    Dernière édition par le Sam 30 Juin - 22:19, édité 2 fois
    avatar
    Shewolf
    Admin

    Nombre de messages : 190
    Localisation : 91 idf
    Emploi : Analyste Réalisateur / Chef de Projets

    sous-fichier en fenêtre

    Message par Shewolf le Sam 30 Juin - 22:14

    si, si on peut mettre un sous-fichier en fenêtre, suffit de déclarer que le sous_fichier est dans une fenêtre.


    Exemple :



    Code:

    A*****************************************************************
        A*
        A*
        A*
        A*****************************************************************
        A*
        A*
        A          R SRBCTLSSR                TEXT('PRODUCTS FOR WEB')
        A*
        A            CTSROM        3          COLHDG('Warehouse')
        A*
        A            CTSDES        30          COLHDG('Description')
        A                                      TEXT('Description')
        A*
        A          K CTSROM


    Code:

        A*%%TS  SD  20011029  151223  JAMIEF      REL-V4R4M0  5769-PW1
        A*%%EC
        A                                      DSPSIZ(24 80 *DS3)
        A                                      PRINT
        A                                      CF01(01)
        A*=============================================================
        A*  Subfile number One
        A*      Select Command To Run
        A*=============================================================
        A          R SUB01                    SFL
        A*%%TS  SD  20011029  151223  JAMIEF      REL-V4R4M0  5769-PW1
        A            S1HPROCESS    10A  H
        A            S1WHS          3A  O  7  2
        A            S1WNAME      30A  O  7  7
        A*=============================================================
        A*  Control for subfile number one
        A*      Select Command to Run
        A*=============================================================
        A          R SUB01CTL                  SFLCTL(SUB01)
        A*%%TS  SD  20011029  151223  JAMIEF      REL-V4R4M0  5769-PW1
        A                                      SFLSIZ(0016)
        A                                      SFLPAG(0010)
        A                                      WINDOW(FMT1)
        A                                      CF03(03)
        A N80                                  CF06(06)
        A                                      CF12(12)
        A                                      PAGEDOWN(33)
        A                                      CF21(21)
        A                                      CF23(23)
        A                                      RTNCSRLOC(&#REC &#FLD)
        A                                      BLINK
        A  99                                  ALARM
        A                                      RTNDTA
        A                                      OVERLAY
        A                                      SFLCSRRRN(&WHERE)
        A  50                                  SFLDSP
        A  51                                  SFLDSPCTL
        A  52                                  SFLCLR
        A            SCRRN          4S 0H      SFLRCDNBR
        A            #REC          10A  H
        A            #FLD          10A  H
        A            WHERE          5S 0H
        A                                  2  1DATE
        A                                      EDTCDE(Y)
        A                                      COLOR(BLU)
        A                                  1  1TIME
        A                                      COLOR(BLU)
        A            C1DAY        10A  O  3  1COLOR(BLU)
        A                                  1 11'Roland Corporation U.S.'
        A                                      DSPATR(HI)
        A                                  2 13'Warehouse selection'
        A                                  1 36USER
        A                                      COLOR(BLU)
        A                                  2 36SYSNAME
        A                                      COLOR(BLU)
        A                                  4  1'Place Cursor on product, press <EN-
        A                                      TER> key'
        A                                      COLOR(BLU)
        A                                  5  2'WHS'
        A                                      DSPATR(HI)
        A                                      DSPATR(UL)
        A                                  5  7'Warehouse Description        '
        A                                      DSPATR(HI)
        A                                      DSPATR(UL)
        A            C1WHS          3A  B  6  2DSPATR(HI)
        A*=========================================================================
        A*  Window for command selection.
        A*=========================================================================
        A          R FMT1
        A*%%TS  SD  20010703  092032  JAMIEF      REL-V4R4M0  5769-PW1
        A                                      OVERLAY
        A                                      WINDOW(3 5 18 45)
        A                                      WDWBORDER((*COLOR BLU) (*DSPATR RI)-
        A                                      (*CHAR '        '))
        A                                17  2'F3=Exit'
        A                                      COLOR(BLU)
        A                                17 11'F12=Cancel'
        A                                      COLOR(BLU)
        A          R DUMMY
        A*%%TS  SD  19981208  163103  JAMIEF      REL-V3R7M0  5716-PW1
        A                                      ASSUME
        A                                  1  3' '
        A          R FKEY01
        A*%%TS  SD  20010612  080531  JAMIEF      REL-V4R4M0  5769-PW1
        A                                23  3'F3=Exit'
        A                                      COLOR(BLU)
        A                                23 13'F12=Cancel'
        A                                      COLOR(BLU)

    View the source to ZLUKWHSR
    Code:

        FZLUKWHSD  CF  E            WORKSTN INFDS(INFDS)
        F                                    SFILE(SUB01:RRN1)
        FSRBCTLSS  IF  E          K DISK
        F*
        D*
        D* Constants
        D*
        D CMP01          C                  CONST(01)
        D Digits          C                  CONST('0123456789')
        D
        D*
        D* Program Info
        D*
        D                SDS
        D  @PGM                001    010
        D  @PARMS              037    039  0
        D  @JOB                244    253
        D  @USER                254    263
        D  @JOB#                264    269  0
        D*
        D*  Field Definitions.
        D*
        D ISOdate        S              D
        D @Scrn1          S              1    Inz('Y')
        D ScreenError    S              1
        D RRN1            S                  Like(SCRRN)
        D SavRrn          S                  Like(SCRRN)
        D CmdString      S            256
        D CmdLength      S            15  5
        D DayOfWeek      S            07  0
        D InWHS          S            03
        D OutWHS          S            03
        D*
        D* Informational data structure.
        D*
        D INFDS          DS
        D  CURREC              378    379B 0
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        C*  M A I N    L I N E
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
        C                  Eval      @Scrn1 = 'Y'
        C*
        C                  Exsr      $Day
        C*
        C                  Exsr      $ClearSFL
        C*
        C                  If        InWHS    <> *Blanks
        C    InWHS        Setll    SRBCTLSS
        C                  Endif
        C*
        C                  Exsr      $LoadSFL
        C*
        C                  Dow      @Scrn1 = 'Y'
        C*
        C                  Exfmt    SUB01CTL
        C*
        C                  If        CURREC <> *Zeros
        C                  Eval      RRN1    =  CURREC
        C                  Eval      SCRRN  =  CURREC
        C                  Endif
        C*
        C                  Clear                  ScreenError
        C*
        C*
        C                  Select
        C*
        C* F3 pressed end the program
        C*
        C                  When      *In03
        C                  Eval      @Scrn1 = *Blanks
        C*
        C* F12 End the program
        C*
        C                  When      *In12
        C                  Eval      @Scrn1 = *Blanks
        C*
        C* F33 Rolling the page.
        C*
        C                  When      *In33
        C                  Exsr      $LoadSFL
        C*
        C* Other = ENTER key has been pressed.
        C*
        C                  Other
        C*
        C                  If        C1WHS    <> *Blanks
        C                  Exsr      $ClearSFL
        C    C1WHS        Setll    SRBCTLSS
        C                  Exsr      $LoadSFL
        C                  Clear                  C1WHS
        C                  Else
        C                  Exsr      $Process
        C                  Endif
        C*
        C                  Endsl
        C*
        C                  Enddo
        C*
        C                  Eval      *Inlr = *On
        C                  Return
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-
        C*  $LoadSFL - Load the Main Menu.
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-
        CSR  $LoadSFL      Begsr
        C*
        C                  If        SavRrn > *Zeros
        C                  Z-add    SavRrn        RRN1
        C                  Z-add    SavRrn        SCRRN
        C                  Endif
        C*
        C                  Dou      %Eof(SRBCTLSS)
        C*
        C                  Read      SRBCTLSS                              89
        C*
        C                  If        Not*In89
        C*
        C                  Movel(p)  CTSROM        S1WHS
        C                  Movel(p)  CTSDES        S1WNAME
        C*
        C                  Add      1.            RRN1
        C                  Add      1.            SCRRN
        C*
        C*
        C                  Write    SUB01
        C*
        C                  Endif
        C                  Enddo
        C*
        C                  Z-add    SCRRN        SavRrn
        C*
        C*  If no records in subfile then do not disply the subfile.
        C*
        C                  If        SavRrn = *Zeros  And  *In89
        C                  Eval      *In50 = *Off
        C                  Else
        C                  Z-add    1.            SCRRN
        C                  Z-add    1.            RRN1
        C                  Endif
        C
        C*
        C                  Endsr
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-
        C*  $ClearSFL - Clear the subfile.
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-
        CSR  $ClearSfl    Begsr
        C*
        C    *Start        Setll    SRBCTLSS
        C*
        C                  Eval      *In50 = *Off
        C                  Eval      *In51 = *Off
        C                  Eval      *In52 = *On
        C*
        C                  Write    FMT1
        C                  Write    SUB01CTL
        C*
        C                  Eval      *In50 = *On
        C                  Eval      *In51 = *On
        C                  Eval      *In52 = *Off
        C*
        C                  Clear                  RRN1
        C                  Clear                  SCRRN
        C                  Clear                  SavRrn
        C*
        C*
        C                  Endsr
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-
        C* $Day - What Day is Today.
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-
        C    $Day          Begsr
        C*
        C*
        C    IsoDate      Subdur    D'1899-12-30' DayofWeek:*D
        C                  Div      7            DayOfWeek
        C                  Mvr                    DayOfWeek
        C*
        C                  If        DayOfWeek < 1.
        C                  Eval      DayOfWeek = DayOfWeek + 7.
        C                  Endif
        C*
        C                  Select
        C                  When      DayOfWeek = 1.
        C                  Movel(p)  'Sunday'      C1DAY
        C                  When      DayOfWeek = 2.
        C                  Movel(p)  'Monday'      C1DAY
        C                  When      DayOfWeek = 3.
        C                  Movel(p)  'Tuesday'    C1DAY
        C                  When      DayOfWeek = 4.
        C                  Movel(p)  'Wednesday'  C1DAY
        C                  When      DayOfWeek = 5.
        C                  Movel(p)  'Thursday'    C1DAY
        C                  When      DayOfWeek = 6.
        C                  Movel(p)  'Friday'      C1DAY
        C                  When      DayOfWeek = 7.
        C                  Movel(p)  'Saturday'    C1DAY
        C                  Endsl
        C*
        C                  Endsr
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-
        C* $Process - Process the subfile.
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-
        C    $Process      Begsr
        C*
        C                  If        Where > *Zeros
        C*
        C    Where        Chain    SUB01
        C                  If        %Found
        C*
        C                  Movel(p)  S1WHS        OutWHS
        C                  Eval      @Scrn1 = *Blanks
        C*
        C                  Endif
        C*
        C                  Endif
        C*
        C                  Endsr
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-
        C* *INZSR - Initial one time run subroutine
        C*=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=-=-==-
        C    *INZSR        Begsr
        C*
        C    *Entry        Plist
        C                  Parm                    InWHS
        C                  Parm                    OutWHS
        C*
        C    *MDY          Move      UDATE        IsoDate
        C*
        C                  Endsr
        C*




    Sources issus de ...

    http://www.code400.com/simplelookup.php[/url]

      La date/heure actuelle est Sam 23 Sep - 2:05