Try the Recording Rule

When the rule is used in a recording session, the result is a recorded script with lots of variables.

var
  gsShopItSessionId : string; // Confirm-Button
  gsShopItSessionId_001 : string; // 348364008
  gsShopItSessionId_002 : string; // myForm
  gsShopItSessionId_003 : string; // address
  gsShopItSessionId_004 : string; // city
  gsShopItSessionId_005 : string; // state
  gsShopItSessionId_006 : string; // zip
  gsShopItSessionId_007 : string; // ZipCode
  gsShopItSessionId_008 : string; // cardtype
  gsShopItSessionId_009 : string; // cardnumber
  gsShopItSessionId_010 : string; // expiration
  gsShopItSessionId_011 : string; // sid
  
MYFORM004:
  gsShopItSessionId_003 := "a",
  gsShopItSessionId_004 := "b",
  gsShopItSessionId_005 := "c",
  gsShopItSessionId_006 := "" <SUPPRESS> ,
  gsShopItSessionId_007 := "d",
  gsShopItSessionId_008 := "Visa",
  gsShopItSessionId_009 := "111-111-111",
  gsShopItSessionId_010 := "07.04",
  gsShopItSessionId_011 := "" <USE_HTML_VAL> ;

This is because the rule is too general. The boundaries specified don't simply apply to the parsing of the session ID, they apply to almost all of the form fields. Although this doesn't prevent the script from replaying successfully, it's overkill.