Solved

det info needed reg subfiles

Posted on 2003-10-30
9
544 Views
Last Modified: 2007-11-27
what is an expanding subfile???
0
Comment
Question by:kavithaSuresh
  • 6
  • 3
9 Comments
 
LVL 14

Expert Comment

by:daveslater
ID: 9656850
An expanding subfile is where you have a subfile with multiple lines where the key information is on the first line and secorday infor in on the other lines.

Using SFLDROP/SFLFOLD and a function key you can show/hide the extra information

Dave
0
 
LVL 14

Expert Comment

by:daveslater
ID: 9656860
Ps

If you need an example let me know

Dave
0
 

Author Comment

by:kavithaSuresh
ID: 9656874
thanks Dave ..........would u give a example.....i really wanna get to know in det abt that.
0
 
LVL 14

Accepted Solution

by:
daveslater earned 125 total points
ID: 9657196
Hi
attached is code for a quick demo (it is in RPGLE)
Once the display/pgm are craeted run as followes

Call the program. The subfile is expanded
Press ENTER the subfile collapses
Press enter then program quits

Call the program again
Press F10. This will toggle betwen collapsed and expanded

********************************************************
File SFLDROP
Type DSPF
********************************************************


A*****************************************************************      
A*                                                               *      
A* System Name...  DEMONSTRATE SFLDROP/SFLFOLD                   *      
A*                                                               *      
A* AUTHOR........  D.SLATER                                      *      
A*                                                               *      
A*****************************************************************      
A*%%EC                                                                  
A                                      DSPSIZ(24 80 *DS3)              
A                                      CHGINPDFT(UL)                    
A                                      MSGLOC(24)                      
 ************************************************                      
A          R F01SFL                    SFL                              
A            LINE01        30   O  6  2                                
A            LINE02        30   O  7  4                                
A            LINE03        30   O  8  5                                
 ************************************************                      
A          R F01CTL                    SFLCTL(F01SFL)                  
A  31                                  SFLDSP                          
A                                      SFLDSPCTL OVERLAY                    
A N31                                  SFLCLR                              
A  40                                  SFLDROP(CF10)                        
A N40                                  SFLFOLD(CF10)                        
A                                      SFLSIZ(0006)                        
A                                      SFLPAG(0005)                        
A            RRN            3  0H      SFLRCDNBR                            
 ************************************************                          
A          R F01FTR                                                        
A                                      OVERLAY                              
A                                 22  2'                                  -
A                                                                         -
A                                               '                          
A                                      DSPATR(UL)                          
A                                 23  2'F10=More / Less Detail'            


********************************************************
Program SFLDROP
Type RPGLE
********************************************************

H                                                                                          
 *****************************************************************                          
 *                                                               *                          
 * System Name...  DEMONSTRATE SFLDROP/SFLFOLD                   *                          
 *                                                               *                          
 * AUTHOR........  D.SLATER                                      *                          
 *                                                               *                          
 *****************************************************************                          
FSFLDROP   CF   E             WORKSTN SFILE(F01SFL:RRN)                                    
 *****************************************************************                          
D I               S              3  0                                                      
 ** file subfile with dumm records                                                          
C                   DO        30            I                                              
C                   EVAL      LINE01='Record ' + %editc(i:'Z') +                            
C                             ' Line 01'                                                    
C                   EVAL      LINE02='Record ' + %editc(i:'Z') +                            
C                             ' Line 01'                                                    
C                   EVAL      LINE03='Record ' + %editc(i:'Z') +                            
C                             ' Line 01'                                                    
C                   ADD       1             rrn                                      
C                   WRITE     F01SFL                                                  
C                   ENDDO                                                            
 ** set subfile at first record                                                      
C                   EVAL      *IN31=*ON                                              
C                   EVAL      RRN=1                                                  
 ** show subfile expanded                                                            
 ** ie SFLFOLD is active                                                              
C                   WRITE     F01FTR                                                  
C                   EXFMT     F01CTL                                                  
 **                                                                                  
 ** show subfile collapsed                                                            
 ** ie SFLDROP is active                                                              
C                   EVAL      *IN40=*ON                                              
C                   EXFMT     F01CTL                                                  
C                   EVAL      *INlr=*ON                  



Regards

Dave
                   
0
Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

 
LVL 14

Expert Comment

by:daveslater
ID: 9671691
Hi
Just a qick tip
As you may have noticed using this method does not return control to the program.
If you need this functionallity the what I do is:

A  40                                  SFLDROP(CF22)                        
A N40                                  SFLFOLD(CF22)              
A                                      CF10(10 'Toggle')

Then in the rpg condition *in40 if F10 is pressed then re-display
C                   if        *IN10
C                   EVAL      *in40 = not *in40
C                   endif

Dave
0
 

Author Comment

by:kavithaSuresh
ID: 9684421
Dave what do u think about rollup/roll down or page up/down for expanding subfiles?????????????????????????

is the functionality of these keys similar to that of F10-toggle.?????????

and can u tell me where these expanding subfiles are used???????
0
 
LVL 14

Expert Comment

by:daveslater
ID: 9685498
Hi
I think this is what you mean by page up/down
Your are building the subfile one page at a time.
Say you display the subfile with SFLFOLD active and the user presses F10 to collapse it.
The user then presses page down.
When you re-display the screen SFLFOLD is active so the subfile will re-display as expanded.
This is why I gave the previous tip

Condition SFLFOLD/SFLDROP on CF22 (or any other function key that is not used) This is only there to make the keyword valid and if the user presses it the subfile will change.

Display the F10=Expand ant the bottom and active F10 in the display. Use F10 in the program to condition the keywords i.e. reverse the condition on *IN40. Then when the user presses page down the display stays the same.


What I use expanding subfiles for are look up tables. Say you have a customer lookup window

Sel  Cust Id Del Seq  Cust Name
     Cust01   000       Cust name 01
     Cust02   000       Cust name 02
     Cust03   000       Cust name 03
     Cust03   001       Cust name 03
     Cust04   000       Cust name 04

F10=More Detail
     
In most situations a user will be able to identify the customer from the basic information, a new person may need additional information or if the names are similar so when the press F10 you get the first line of the address etc as confirmation

Sel  Cust Id Del Seq  Cust Name
     Cust01   000     Cust name 01
                            Address Line 1
     Cust02   000     Cust name 02
                            Address Line 1
     Cust03   000     Cust name 03
                            Address Line 1
     Cust03   001     Cust name 03
                            Address Line 1
     Cust04   000     Cust name 04
                            Address Line 1
F10=Less Detail


Dave
0
 

Author Comment

by:kavithaSuresh
ID: 9685592
hi Dave,
OK .................Thank u sooooooooo muchhhhhhhh.......that was crystal clear.i am very new to RPG/400 ...only for the past 3 months i have been working on this.....This expanding subfile is one concept that i came across while working ...similarly........i came across one program which was written by my senior.

****************************************************************        
DWPError          DS                                                    
DEBytesP                  1      4B 0 INZ(40)                          
DEBytesA                  5      8B 0                                  
DEMsgID                   9     15                                      
DEReserverd              16     16                                      
DEData                   17     56                                      
DHTTPHeader       C                   CONST('Content-type: text/html')  
DNewLine          C                   CONST(X'15')                      
DWrtDta           S           1024                                      
DWrtDtaLen        S              9B 0                                  
C                   EXSR      $Main                                    
C                   eval      *INLR = *On                              
C     $Main         BEGSR                                              
C                   eval      WrtDta = '<html><head>' +                
C                                      '<title>Hello World</title>' +  
.CL0N01Factor1+++++++Opcode&ExtExtended-factor2++++++++++++++++++++
 C                                      '</head><body>' +          
 C                                      'Hello World!' +            
 C                                      '</body></html>' +          
 C                                      NewLine                    
 C                   EXSR      $WrStout                            
 C                   ENDSR                                          
 C     $WrStout      BEGSR                                          
 C     ' '           CHECKR    WrtDta:1024   WrtDtaLen              
 C                   CALLB     'QtmhWrStout'                        
 C                   PARM                    WrtDta                
 C                   PARM                    WrtDtaLen              
 C                   PARM                    WPError                
 C                   ENDSR                                          
 C           *INZSR        BEGSR                                          
 C                   eval      WrtDta = %trim(HTTPHeader) +        
 C                                      NewLine + NewLine          
 C                   EXSR      $WrStout                            
 C                   ENDSR                  


i don't understand it can u help me to?????????                      
0
 
LVL 14

Expert Comment

by:daveslater
ID: 9685633
Hi
This is writing data to the HTTP server using the system API's
It is simply a test peogram to write "Hello world" to a web browser using HTML.

I have done some work on this but not using appachie. You would be better postine a new question if you need more info. Here is a link.

http://publib.boulder.ibm.com/iseries/v5r2/ic2924/index.htm?info/rzaie/rzaieapi_qtmhwrstout.htm


Good luck with your AS/400 career

dave
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Is your company's data protection keeping pace with virtualization? Here are 7 dynamic ways to adapt to rapid breakthroughs in technology.
For cloud, the “train has left the station” and in the Microsoft ERP & CRM world, that means the next generation of enterprise software from Microsoft is here: Dynamics 365 is Microsoft’s new integrated business solution that unifies CRM and ERP fun…
It is a freely distributed piece of software for such tasks as photo retouching, image composition and image authoring. It works on many operating systems, in many languages.
This video shows how to remove a single email address from the Outlook 2010 Auto Suggestion memory. NOTE: For Outlook 2016 and 2013 perform the exact same steps. Open a new email: Click the New email button in Outlook. Start typing the address: …

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

19 Experts available now in Live!

Get 1:1 Help Now