Unconfigured Ad Widget

Collapse

Announcement

Collapse
No announcement yet.

Listing File members

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • V.Mack
    replied
    Listing File members

    Colin, you might find our book called APIs at Work useful. Here's the link: http://www.mc-store.com/5024.html Victoria Mack, Editor, MC Mag Online

    Leave a comment:


  • Colin465
    replied
    Listing File members

    Does any one have a reference for managing files using REXX? I have been trying to figure out a way to list, store and eventually display a member list of a file. I am sure there must be an easy way that I just haven't figured out yet. Does any one have any suggestions

    Leave a comment:


  • Guest's Avatar
    Guest replied
    Listing File members

    > The example doesn't hard-code offsets in the receiver user space. On the contrary: I did not read deeply enough and missed the function 'int' at the bottom. My apologies, and thanks for the correction! Your approach looks better every time I look at it. Colin, API information can be found in the Infocenter, under the programming link on the left. http://www.iseries.ibm.com/infocenter --buck

    Leave a comment:


  • Colin465
    replied
    Listing File members

    The only times I have used APIs have been when someone gives me the code. Where can I go to learn more? I am sure there is alot of other code on our system that could be much more effective if I had an understanding of APIs. Is there a course or a book that you can reccommend?

    Leave a comment:


  • Colin465
    replied
    Listing File members

    That's great thanks for the help.

    Leave a comment:


  • Guest's Avatar
    Guest replied
    Listing File members

    The example doesn't hard-code offsets in the receiver user space. On the contrary:
    • "Int(125)" fetchs the soft-coded location of the first list item
    • "Int(133)" fetchs the soft-coded number of list items
    • "Int(137)" fetchs the soft-coded length of a list item[/list]No need to change the REXX if IBM in a future release changes the offsets and lengths in the API's receiver user space.

    Leave a comment:


  • Guest's Avatar
    Guest replied
    Listing File members

    Nice, Gene! Colin needs to understand that all the offsets and lengths are hard-coded and might change with OS release changes. Although it doesn't perform as well as the API method, one could do a DSPFFD and read the results in ReXX. My hac at this was DSPFD but that requires hard coding as well. /* Read a file description */ /* To use, put in QREXSRC, member DSPFD and run the following CL: */ /* STRREXPRC SRCMBR(DSPFD) PARM('QREXSRC *LIBL') */ /* Input arguments */ PARSE ARG FF FL rcdCount = 0 rcdLimit = 50 /* Get the file description */ 'DSPFD &FL/&FF TYPE(*MBRLIST) OUTPUT(*OUTFILE) OUTFILE(QTEMP/MBR)' /* Override STDIN to the DB2 file */ 'OVRDBF FILE(STDIN) TOFILE(QTEMP/MBR)' /* Read a line from the file */ Read: PARSE PULL dtaInput rcdCount = rcdCount + 1 /* Record limit */ IF rcdCount > rcdLimit THEN DO SAY 'Record limit ('rcdLimit') reached' SIGNAL Exit END /* record is NULL at EOF */ IF dtaInput <> '' THEN DO SAY substr(dtaInput,65,10) SIGNAL Read END Say 'EOF reached' Exit: RETURN --buck

    Leave a comment:


  • Guest's Avatar
    Guest started a topic Listing File members

    Listing File members

    Substitute your file name into variable "File":
    File = 'BILL *LIBL ' Data = Copies( '00'x, 192 ) "CALL QUSDLTUS ( 'LIST QTEMP' X'0000000800000000' ) " "CALL QUSCRTUS ( 'LIST QTEMP' ' ' X'00010000' X'00' '*ALL' ' ' ) " "CALL QUSLMBR ( 'LIST QTEMP' MBRL0100 &File '*ALL' '0' ) " "CALL QUSRTVUS ( 'LIST QTEMP' X'00000001' X'000000C0' &Data ) " Do X = Int( 125 ) + 1 For Int( 133 ) By Int( 137 ) "CALL QUSRTVUS ( 'LIST QTEMP' X'"D2X(X,8)"' X'0000001E' &Data) " Member = Left( Data, 10 ) Say Member End X Return Int: Return C2D( Substr( Data, Arg( 1 ), 4 ), 4 ) 
Working...
X