Hello Cameron... This This Is an Old and very common practice for BMS Maps..If I understand you, &LN variable is used for both the LABEL and The Line Number on the BMS POS= parameter.If I recall correctly You need two VARIABLES .&LN for the BMS Position= Parameter and another Variable for the BMS POS= parameter . . . As for question two, You could issue an EXEC CICS TQD INQUIRE and get the number of items in the TD Queue. Then base the syncpoint on a percentage. 5% - 10%.I don't like hard coded values...Paul D'Angelo
---------- Original Message ---------- From: Cameron Conacher <[email protected]> To: [email protected] Subject: A couple of CICS questions for today. (1-BMS; 2-SYNCPOINT rule-of-thumb) Date: Fri, 27 Nov 2020 13:02:32 -0500 Good morning folks, I have a couple of CICS related questions for today. I have been using CICS since the mid seventies. I should remember this, but I just can't recall. I am creating a BMS Map. I have a number of detail data lines that repeat a number of times. In the past I have created little assembler macros in the BMS Map to describe one line and then repeat the definitions for some number of lines. Something like this..... MACRO SXREF &ROW= &LN SETA &ROW-4 . . a bunch of DFHMDFs. . prefix&LN DFHMDF blah blah prefix2&LN DFHMDF blah blah . MEND Then I have my DFHMDI followed by a number of these: SXREF ROW=05 SXREF ROW=06 SXREF ROW=07 SXREF ROW=08 SXREF ROW=09 SXREF ROW=10 SXREF ROW=11 SXREF ROW=12 This all works fine, however the DFHMDF Field Definitions are created without leading zeros. (SETA) So I see fields like prefix1I (when &ROW=05) as well as prefix10I (when %ROW=15) My question is how I can make the first definition to look something like prefix01I (when &ROW=05) I hope this is making sense. I know I can do this by crafting two MACROs (one for items 1-9 and another for 10+), but I was curious if someone has some other technique? Last question for today.... I have a CICS Program which processes log data that is in an Intrapartition Transient Data Queue. The program is triggered from the TDQ which was set with a trigger level of +1. When the program runs, it copies everything in the TDQ to an RLS Managed VSAM file. Again, everything is fine here. When the program runs, because it copies ALL the queue data, it will request some number of locks on the VSAM file. A lot of TDQ data means many locks. I plan to add a SYNCPOINT into the program to clear the locks. So, the question today is if someone has a "rule-of-thumb" ... take a SYNCPOINT after 100 write or 1,000 writes or 10,000 writes... or.... Thanks .......Cameron ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
