Welcome to The Carlisle Group's Knowledge Base.
This is a keyword search that looks for matching articles that contain one or more words specifically by a user in articles’ tags, title and content. Admin writes brief intro content here via admin end. If you are unable to find an answer to your issue, please submit an issue here.
⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝ ⍝⍝ Description = ⍝⍝ ⍝⍝ Written By = The Carlisle Group, Inc. ⍝⍝ Date = Jan 13, 2016 13:11 ⍝⍝ CAS = 6.0.304 ⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝⍝ ⍝ Get Current file and list of field names. CAS←CasSession.GetCurrentFile'' FNames←CAS.GetFieldNames'' ⍝ Start a new Wizard and set default properties. W←Wizard.New'' W.Sizeable←0 W.Start'' W.LastPage'Finish' ⍝ Create a new page to get user inputs and create input fields. P1←WizGetInputs.New W P1.Title←'Delimit a field' P1.AddInput'DropCombo' 'Field' 'Field:'FNames P1.AddInput'DropCombo' 'Order' 'Order:' 'Left To Right,Right To Left' P1.AddInput'Edit' 'Delimiter' 'Delimiter:' P1.AddInput'DropCombo' 'FieldType' 'Field Type:' 'Numeric,Text' P1.AddInput'Edit' 'Prefix' 'Prefix:' ⍝ Pre-defined values for user inputs. P1.UserInput.Field←'' ⍝ Default fields goes between quotes. P1.UserInput.Order←'Left To Right' P1.UserInput.Prefix←'PS_' P1.UserInput.FieldType←'Numeric' P1.Run'' W.End'' ⍝ Create fields. :Trap 0 ⍝ Get order and create expression. FN←CharString.New P1.UserInput.Field Order←CharString.New P1.UserInput.Order :If Order.Equal'Left To Right' Exp_Txt_Field←CharString.New'(makechar ' Exp_Txt_Field.Add FN Exp_Txt_Field.Add')' :Else Exp_Txt_Field←CharString.New'(rotate makechar ' Exp_Txt_Field.Add FN Exp_Txt_Field.Add')' :EndIf ⍝ Get delimiter and field type. DLM←CharString.New P1.UserInput.Delimiter Field_Type←CharString.New P1.UserInput.FieldType ⍝ Each character is its own field, no delimiter :If (DLM.Length'').Eq 0 ⍝ If delimiter is blank Exp←CharString.New'high length ' ⍝ Highest length Exp.Add Exp_Txt_Field Indices←Numeric.New CAS.Execute Exp ⍝ Create expression for each item. :For I :In Indices.GenerateIndices 1 Exp←CharString.New'' :If Field_Type.Equal'Numeric' ⍝ Force data type Exp.Add'makenum ' :Else Exp.Add'makechar ' :EndIf Exp.Add I.ToString'' Exp.Add' index ' Exp.Add Exp_Txt_Field F←CAS.Execute Exp Name←CharString.New P1.UserInput.Prefix Name.Add I.ToString'' ⍝ Add each new field CAS.AddField(Name.ToUpper'')F :EndFor :Else ⍝ If a delimiter is sepcified ⍝ Process on delimiter Exp←CharString.New'high 1 plus ' ⍝ Total of delimiter +1 Exp.Add Exp_Txt_Field ⍝ 1 plus (makechar PAYHIST2) sumchars ',' Exp.Add' sumchars ''' Exp.Add DLM Exp.Add'''' Indices←Numeric.New CAS.Execute Exp :For I :In Indices.GenerateIndices 1 Exp←CharString.New'' :If Field_Type.Equal'Numeric' ⍝ Force data type Exp.Add'makenum ' :Else Exp.Add'makechar ' :EndIf Exp.Add'word ' Exp.Add Exp_Txt_Field Exp.Add' ''' Exp.Add DLM Exp.Add''' ' Exp.Add I.ToString'' F←CAS.Execute Exp Name←CharString.New P1.UserInput.Prefix Name.Add I.ToString'' CAS.AddField(Name.ToUpper'')F :EndFor :EndIf :EndTrap ⍝ Show output. You can comment line below to skip CAS.Show'' ⍝ Add fields back to the file. CAS.SetCurrentFile''