Dictionary


% ARMCONV Macro

Converts a SAS System 9 or later ARM log written in simple format to the more readable label=item ARM format used in Release 8.2.

Category: ARM Post-Processing Macro

Syntax

%ARMCONV(login=' aname ',logout=' aname ');

Required Arguments

LOGIN=' aname '

  • is the physical name of the input ARM log.

LOGOUT=' aname '

  • is the physical name of the output ARM log.

Details

There are two ARM formats:

  • the SAS System 9 simple format, which is comma delimited

  • a label=item format that was created in Release 8.2.

The simple format for ARM log records minimizes the resources it takes to log ARM records. It does minimal formatting and delimits each item with a comma. The label=item format is the format used in Release 8.2. The label=item format requires time to format the string and decreases performance. SAS System 9 or later writes all ARM log records in simple format only. The %ARMCONV macro is used to convert a SAS System 9 or later ARM log to the label=item format.

Examples
Example 1: SAS System 9 ARM Log
 I,1326895477.699000,1,1.792577,1.592289,DATASTEP;WIN_NT;9.00.00A0D011602,*  G,1326895478.60000,1,1,putc,  I,1326895478.110000,2,2.153096,1.632347,DATASTEP;WIN_NT;9.00.00A0D011602;ABS,*  G,1326895478.200000,2,2,putc,  I,1326895478.240000,3,2.283283,1.632347,DATASTEP;WIN_NT;9.00.00A0D011602;REL,*  G,1326895478.340000,3,3,putc,  G,1326895478.861000,1,4,$,PUTC  S,1326895479.532000,1,4,1,3.434939,1.752520  P,1326895489.166000,1,4,1,12.938604,1.792577,0  G,1326895489.296000,1,5,.,PUTC 

The following code converts the SAS System 9 or later ARM log to a Release 8.2 ARM log:

 %armconv(login='  u:\arm\putc.log  ',logout='  f:\arm\armlogs\putcV8.log  ');  run; 
Example 2: Release 8.2 ARM Log
 17JAN2002:14:04:37.699 ARM_INIT AppID=1 AppName=DATASTEP;WIN_NT;9.00.00A0D011602 AppUser=*  17JAN2002:14:04:38.600 ARM_GETID AppID=1 ClsID=1 TxName=putc TxDet=  17JAN2002:14:04:38.110 ARM_INIT AppID=2 AppName=DATASTEP;WIN_NT;9.00.00A0D011602;ABS  AppUser=*  17JAN2002:14:04:38.200 ARM_GETID AppID=2 ClsID=2 TxName=putc TxDet=  17JAN2002:14:04:38.240 ARM_INIT AppID=3 AppName=DATASTEP;WIN_NT;9.00.00A0D011602;REL  AppUser=*  17JAN2002:14:04:38.340 ARM_GETID AppID=3 ClsID=3 TxName=putc TxDet=  17JAN2002:14:04:38.861 ARM_GETID AppID=1 ClsID=4 TxName=$ TxDet=PUTC  17JAN2002:14:04:39.532 ARM_START AppID=1 ClsID=4 TxSHdl=1 TxName=$ TxDet=PUTC  17JAN2002:14:04:49.166 ARM_STOP AppID=1 ClsID=4 TxSHdl=1 TxStat=0 TxElap=0:00:12.939  TxCpu=0:00:01.793  17JAN2002:14:04:49.296 ARM_GETID AppID=1 ClsID=5 TxName=. TxDet=PUTC 

%ARMEND Macro

Signifies the termination of an application

Category: ARM Macro

Syntax

%ARMEND ( options );

Options

APPID= SAS numeric variable or constant

  • is the application ID to use on the ARM_GETID function call. The value must be a SAS numeric variable or constant.

  • Note: Use APPIDVAR= instead of APPID= when coding new applications. APPID= is obsolete.

APPIDVAR= SAS numeric variable

  • is a SAS numeric variable that supplies the value of the application ID.

LEVEL= variable

  • is a variable that specifies the conditional execution level. The value must be a numeric constant or variable.

MACONLY=NO YES

  • allows the %ARMEND macro to be issued in open code, outside of a DATA step. You set the value to YES if the macros are in open code and NO if they are in a DATA step.

  • Default: NO

SCL=NO YES

  • is used only in SCL programs and specifies whether the macro is in an SCL environment. Valid values are YES and NO (no quotation marks).

  • Default: NO

Details

Use %ARMEND when you are finished initiating new activity using the ARM API. %ARMEND is typically called when an application or user instance is terminating. Each %ARMEND is paired with one %ARMINIT to mark the end of an application. %ARMEND is a signal from the application that it will not issue any more ARM calls, and it is typically executed at application termination. ARM calls issued after an application has been ended with %ARMEND result in an error.

Note: You must terminate ARM with %ARMEND to avoid getting a warning or an error from %ARMPROC.

Input

The input is an application ID that is generated by a previous %ARMINIT macro. If the APPID= or APPIDVAR= options are supplied, the specified value is used as the application ID. Otherwise, the value of the global macro variable _ARMAPID is used.

Output

The _ARMRC variable, which is the error status code that was returned from the ARM_END function call, is the output.

Examples
Example 1: Basic Usage
 data _null_;     %armend;  run; 
Example 2: Supplying an Application ID Using APPIDVAR=
 data _null_;  %arminit(appname=aname, appuser='sasxyz', appidvar=myapp);  run;  data _null_;   %armend(appidvar=myapp);  run; 

%ARMGTID Macro

Assigns a unique identifier to a transaction class

Category: ARM Macro

Syntax

%ARMGTID (TXNNAME=' aname '< ,options >);

Required Argument

TXNNAME=' aname'

  • is a required transaction name that is a SAS character variable or quoted literal value.

  • Restriction: The transaction name has a 127-character limit.

Options

APPID= SAS numeric variable or constant

  • is an application ID to use on the ARM_GETID function call. It must be a SAS numeric variable or constant.

Note: Use APPIDVAR= instead of APPID= when coding new applications. APPID= is obsolete.

APPIDVAR= SAS numeric variable

  • is a SAS numeric variable that supplies the value of the application ID.

LEVEL= numeric constant or variable

  • is a variable that specifies the conditional execution level. The value must be a numeric constant or variable.

MACONLY=NO YES

  • allows the %ARMINIT macro to be issued in open code, outside of a DATA step. You set the value to YES if the macros are in open code and NO if they are in a DATA step.

  • Default: NO

METRNAM1-7=' aname '

  • is the user name for the user-defined metric and must be a SAS character variable or quoted literal value.

  • Requirement: The user name and user-defined metric definition must be specified together.

METRDEF1-7= option

  • is the definition of the user-defined metric. The value must be one of the following:

    COUNT32,

    COUNT64,

    COUNTDIV

    use the counter to sum up the values over an interval. A counter can also calculate average values, maximums, and minimums per transaction, and other statistical calculations.

    GAUGE32,

    GAUGE64,

    GAUGEDIV

    use the gauge when a sum of values is not needed. A gauge can calculate average values, maximums, and minimums per transaction, and other statistical calculations.

    ID32, ID64

    use the numeric ID simply as an identifier but not as a measurement value, such as an error code or an employee ID. No calculations can be performed on the numeric ID.

    SHORTSTR,

    LONGSTR

    use the string ID as an identifier. No calculations can be performed on the string ID.

     

    Restriction: METRDEF7 can only equal LONGSTR.

    METRDEF1-6 cannot equal LONGSTR.

  • Requirement: The user name and user-defined metric definition must be specified together.

SCL=NO YES

  • is used only in SCL programs and specifies whether the macro is in an SCL environment. Valid values are YES and NO (no quotation marks).

  • Default: NO

TXNDET=' aname '

  • is a transaction detail that is a SAS character variable or quoted literal value.

  • Restriction: The transaction detail has a 127-character limit.

TXNIDVAR= SAS numeric variable

  • is a SAS numeric variable that contains the value of the transaction ID.

Details

%ARMGTID is used to name a transaction class. Transaction classes are related units of work within an application. One or more %ARMGTID calls are typically issued when the application starts in order to define each of the transaction classes used by the application.

Input

The input is an application ID generated by a previous %ARMINIT macro. If the APPID= or APPIDVAR= options are supplied, the supplied value is used as the application ID. Otherwise, the value of the global macro variable _ARMAPID ID used.

Output

The _ARMTXID variable, which is the transaction class ID that was returned from the ARM_GETID function call, is the output. Any variable that the TXNIDVAR= option points to is also updated.

Examples
Example 1: Basic Usage
 data _null_;     %armgtid(txnname='txn OE', txndet='Order Entry txn class');  run; 
Example 2: Saving the Transaction ID
 data _null_;    %arminit(appname=aname, appuser='sasxyz');    %armgtid(txnname='txn OE', txndet='Order Entry txn class',              txnidvar=txn1);    put ''transaction id is '' txn1;  run; 

%ARMINIT Macro

Signifies the initialization of an application

Category: ARM Macro

Syntax

%ARMINIT (APPNAME=' aname '<, options >);

Required Argument

APPNAME=' aname '

  • is the required application name that is a SAS character variable or quoted literal value.

  • Restriction: The application name has a 127-character limit.

Options

APPIDVAR= SAS numeric variable

  • is a SAS numeric variable containing the value of the application ID.

APPUSER=' aname '

  • is the application user ID that is a SAS character variable or quoted literal value.

    Restriction: The application user ID has a 127-character limit.

GETID=NO YES

  • is optional and denotes whether to generate an ARM_GETID function call after the ARM_INIT. If the GETID value is YES, you can define the user metrics.

  • Default: NO

  • Requirement: TXNNAME= is required when you use GETID=YES.

LEVEL= numeric constant or variable

  • is a variable that specifies the conditional execution level. The value must be a numeric constant or variable.

MACONLY=NO YES

  • allows the %ARMINIT macro to be issued in open code, outside of a DATA step. You use YES if the macros are in open code and NO if they are in a DATA step.

  • Default: NO

SCL=NO YES

  • is used only in SCL programs and specifies whether the macro is in an SCL environment. Valid values are YES and NO (no quotation marks).

  • Default: NO

TXNIDVAR= SAS numeric variable

  • is a SAS numeric variable that contains the value of a transaction ID.

  • Restriction: Use the TXNIDVAR= only when using GETID=YES.

TXNDET=' aname '

  • is a transaction detail that is a SAS character variable or quoted literal value and can be specified only when GETID=YES.

  • Restriction: The transaction detail has a 127-character limit.

TXNNAME=' aname '

  • is a transaction name that is a SAS character variable or quoted literal value.

  • Requirement: TXNNAME= is required only when using GETID=YES.

Details

A %ARMINIT macro call names the application and optionally the user of the application. Additionally, it initializes the ARM environment if a previous %ARMINIT has not been issued. It typically is executed when the application initializes.

Input

None.

Output

The _ARMAPID variable, which is the application ID that was returned from the ARM_INIT function call, is the output. If GETID=YES, then the _ARMTXID is returned also. Any variables for the APPIDVAR= and TXNIDVAR= are also updated.

Examples
Example 1: Basic Usage
 data _null_;     %arminit(appname='General Ledger');  run 
Example 2: Supplying the User ID
 data _null_;    aname = 'Order Entry Application';    %arminit(appname=aname, appuser='sasxyz');  run; 
Example 3: Generating an ARM_GETID in Addition to an ARM_INIT
 data _null_;    %arminit(appname='Warehouse App', getid=YES,             txnname='Query 1', txndet='My long query');  run; 
Example 4: Saving the Application ID
 data _null_;    %arminit(appname=aname, appuser='sasxyz', appidvar=appl);    put ''application id is '' appl;  run; 

%ARMJOIN Macro

Reads the six SAS data sets created by the %ARMPROC macro and creates SAS data sets and SQL views that contain common information about applications and transactions

Category: ARM Post-Processing Macro

Syntax

%ARMJOIN (<option(s)>);

Options

LIBIN= libref

  • is the libref for the SAS data library that contains the six data sets created by %ARMPROC.

  • Default: WORK

LIBOUT= libref

  • is the libref for the SAS data library that contains the application and transaction data sets.

  • Default: WORK

TXNDS=YES NO

  • specifies whether the transaction data sets are to be created.

  • Default: YES

UPDTDS=YES NO

  • specifies whether the update data sets are to be created.

  • Default: YES

Details

The %ARMJOIN macro reads the six output data sets produced by %ARMPROC. It merges the information from those data sets to produce a variety of output data sets and views for easier reporting of ARM data.

Note: The %ARMJOIN macro does not work from SCL. It must be run in the DATA step environment.

Input

The input is the SAS data sets from %ARMPROC; therefore, you must run %ARMPROC before running %ARMJOIN.

Output

The output is a single SAS library containing

  • information about applications (APP)

  • a DATA step view that contains information about all start handles, including parent correlator class and parent start handles (TXNVIEW)

  • a view that contains information about all update transactions (UPDTVIEW)

  • one transaction data set for each application

  • one update data set for each application.

The application data set is named APP and contains one observation for every application that is found in the input data. Each observation contains information such as application name, user ID, transaction counts, average application response time, and so on. Additionally, each observation contains a numeric variable 'appno' that is the identifier of the related transaction or update data set that contains more detailed transaction information.

The transaction data sets are named TXN1, TXN2, TXN3, and so on. Each data set corresponds to a single application and each observation represents a single ARM transaction containing start and stop times, elapsed times, and CPU time.

The TXNVIEW view joins all transaction data sets and presents them as a single data set. Start handle elapsed time and CPU time are calculated from the start and stop transactions. If the start handle has a parent start handle, the class ID and start handle of the parent are included using the variables PARCLS= and PARHDL=. If no parent is specified, these variables will contain missing values.

The update data sets are named UPDT1, UPDT2, UPDT3, and so on. Each data set corresponds to a single application and contains multiple observations for each ARM transaction. Each observation contains the ARM call datetime, an ARM call sequence ID, and if applicable , elapsed time, CPU time, and update data.

The UPDTVIEW view joins all update data sets and presents them as a single data set.

The transaction data sets are easier to use for analyzing individual ARM transactions because all information about a transaction is collapsed into one observation. However, the transaction data sets do not contain any information from %ARMUPDT calls.

The update data sets are similar to the transaction data set; however, information about a single transaction is spread over several observations. These data sets contain logged data buffer information from all %ARMUPDT calls.

Examples
Example 1: Basic Usage
 filename ARMLOG 'd:\armlog';    %armproc();    %armjoin(); 
Example 2: Defining a Permanent Library to Read %ARMPROC Output and Store %ARMJOIN Views
 libname user 'c:\arm\user';  %armjoin(libin=user,libout=user);  run; 

%ARMPROC Macro

Processes an input ARM log and outputs six SAS data sets that contain the gathered information from the log

Category: ARM Post-Processing Macro

Syntax

%ARMPROC (<option(s)>);

Options

LIB= libref

  • is the libref for the SAS data library to contain the six data sets.

  • Default: WORK

LOG= pathname

  • is the pathname for the physical location of the ARM log. If a pathname is not supplied, you must preassign the ARMLOG fileref before calling the macro.

LOGNEW= pathname

  • is the pathname the physical location of the new ARM log uses when ARM processing is resumed.

Details

The %ARMPROC macro reads an ARM log and outputs six SAS data sets that contain the information from the log. This macro reads the variable name and value pairs from the ARM log as named input (var=value). You should either preassign the ARMLOG fileref prior to calling the macro or supply the LOG= option. If the ARMLOC= option is ignored, an actual FILENAME statement is required to preassign the ARMLOG fileref.

Note: The %ARMPROC macro does not work from SCL. Any commas that are part of the name cause the log to be parsed incorrectly. Commas in the data area of the UPDATE record do not cause any issues.

Input

The external file containing the ARM log is the input.

Output

The %ARMPROC macro creates six SAS data sets. These SAS data sets contain information from calls to the ARM API function calls. The six SAS data sets are

  • INIT-contains information from all arm_init calls

  • GETID-contains information from all arm_getid calls

  • START-contains information from all arm_start calls

  • UPDATE-contains information from all arm_update calls

  • STOP-contains information from all arm_stop calls

  • END-contains information from all arm_end calls.

Examples
Example 1: Defining a Permanent Library to Store %ARMPROC Output
 libname user 'f:\arm\user';  %armproc(lib=user);  run; 
Example 2: Supplying the LIB= and LOG= Options
 libname armout '  sas library name  ';  %armproc(lib=armout,log=c:\userid\arm\armlog); 

%ARMSTOP Macro

Marks the end of a transaction instance

Category: ARM Macro

Syntax

%ARMSTOP ( options );

Options

LEVEL= numeric constant or variable

  • is a variable that specifies the conditional execution level. The value must be a numeric constant or variable.

MACONLY=NO YES

  • allows the %ARMSTOP macro to be issued in open code, outside of a DATA step. You set the value to YES if the macros are in open code and NO if they are in a DATA step.

  • Default: NO

METRVAL1-7=' aname '

  • is the value of the user-defined metric. The value must be a SAS character variable or a quoted literal value up to eight characters in length.

  • Requirement: The value of the user-defined metric must correspond to the user metrics defined in %ARMGTID.

SCL=NO YES

  • is used only in SCL programs and specifies whether the macro is in an SCL environment. Valid values are YES and NO (no quotation marks).

  • Default: NO

SHANDLE= SAS numeric variable or constant

  • is a start handle to use on the ARM_UPDATE function call. The value must be a SAS numeric variable or constant.

SHDLVAR= SAS numeric variable

  • is a SAS numeric variable that contains the value of the start handle.

STATUS= SAS numeric variable or numeric constants

  • is a transaction status value to pass to the ARM_STOP function call. The value must be a SAS numeric variable or numeric constants 0, 1, or 2. The default is 0.

Details

%ARMSTOP signals the end of a transaction, that was started using an %ARMSTRT macro call.

Input

The input is a start handle that is generated from a previous %ARMSTRT call. If the SHANDLE= or SHDLVAR= options are supplied, the specified value is used as the start handle. Otherwise, the value of the global macro variable _ARMSHDL is used.

Output

The _ARMRC variable, which contains the error status code that was returned from the ARM_STOP function call, is the output.

Examples
Example 1: Basic Usage
 data _null_;    %armstop;  /*   status will default to zero*/  run; 
Example 2: Supplying a Non-Zero Status
 data _null_;    rc = 2;    %armstop(status=rc);  run; 
Example 3: Supplying a Start Handle Using SHDLVAR=
 data _null_;    %arminit(appname=aname, appuser='sasxyz');    %armgtid(txnname='txn OE', txndet='Order Entry txn class');    %armstrt(shdlvar=sh1);  run;  data _null_;    %armstop(shdlvar=sh1);  run; 

%ARMSTRT Macro

Signals the start of execution of a transaction instance and returns a unique handle that is passed to %ARMUPDT and %ARMSTOP

Category: ARM Macro

Syntax

%ARMSTRT ( options );

Options

APPID= SAS numeric variable or constant

  • is an application ID to use on the ARM_GETID function call. The value must be a SAS numeric variable or constant.

  • Restriction: Use the APPID= only when using GETID=YES. See %ARMINIT for information about GETID=YES.

    Note: Use APPIDVAR= instead of APPID= when coding new applications. APPID= is obsolete.

APPIDVAR= SAS numeric variable

  • is a SAS numeric variable that supplies the value of the application ID.

  • Restriction: Use the APPIDVAR= only when using GETID=YES. See %ARMINIT for information about GETID=YES.

CORR= n

  • is an option to define the type of parent and child transactions.

  • Default:

  • Requirement: You use CORR= only when using correlators .

GETID=NO YES

  • is optional and denotes whether to generate an ARM_GETID before the ARM_START. If the GETID value is YES, you can define the user metrics.

  • Requirement: TXNNAME= is required when using GETID=YES.

  • Default: NO

LEVEL= numeric constant or variable

  • is a variable that specifies the conditional execution level. The value must be a numeric constant or variable.

MACONLY=NO YES

  • allows the %ARMSTRT macro to be issued in open code, outside of a DATA step. You set the value to YES if the macros are in open code and NO if they are in a DATA step.

  • Default: NO

METRVAL1-7=' aname '

  • is the value of the user-defined metric. The value must be a SAS character variable or a quoted literal value up to eight characters in length.

  • Requirement: The value of the user-defined metric must correspond to the user metrics defined in %ARMGTID.

PARNTVAR= SAS numeric variable

  • is the name of a SAS numeric variable that contains the value of the parent transaction start handle and is only used when defining a child transaction. PARNTVAR= is used only when the CORR= option has a value of 2 or 3.

SCL=NO YES

  • is used only in SCL programs and specifies whether the macro is in an SCL environment. Valid values are YES and NO (no quotation marks).

  • Default: NO

SHDLVAR= SAS numeric variable

  • is a SAS numeric variable that contains the value of the start handle. SHDLVAR= is required when using correlators to define parent and child transactions.

TXNDET=' aname '

  • is a transaction detail that is a SAS character variable or quoted literal value.

  • Requirement: TXNDET= is used only with GETID=YES.

  • Restriction: The transaction detail has a 127-character limit.

TXNID= SAS numeric variable or constant

  • is a transaction ID to use in the ARM_START function call. The value must be a SAS numeric variable or constant.

Note: Use TXNIDVAR= instead of TXNID= when coding new applications. TXNID= is obsolete.

TXNIDVAR= SAS numeric variable

  • is a SAS numeric variable that contains the value of the transaction ID when GETID=NO. It contains the value of the TXN ID when GETID=YES.

TXNNAME=' aname '

  • is the transaction name that is a SAS character variable or quoted literal value.

  • Requirement: TXNNAME= is required only when using GETID=YES.

  • Restriction: The transaction name has a 127-character limit.

Details

%ARMSTRT signals the start of a transaction, also known as a transaction instance. A transaction instance is an instantiation of a transaction class that was previously defined by %ARMGTID.

If user metrics are defined for a transaction class using %ARMGTID, the value for the user metrics begins with the METRVAL1-7= option.

The CORR= option defines the type of parent (primary) and child (component) transactions using the following values:

not part of a related group

1

parent transaction

2

child transaction

3

child of one transaction and parent of another.

Note: You use CORR= only when using correlators.

Each child start handle variable must be accompanied with a parent start handle variable. Below is a code fragment to show the use of correlator types and the SHLDVAR= and PARNTVAR= options:

 %armstrt(txnidvar=txnid,corr=1,shdlvar=HDL100);  %armstrt(txnidvar=txnid,corr=0,shdlvar=HDL200<,   user metrics>);  %armstrt(txnidvar=txnid,corr=2,shldvar=HDL110,parntvar=HDL100);  %armstrt(txnidvar=txnid,corr=3,shldvar=HDL120,parntvar=HDL100); 
Input

The transaction class ID that is generated by a previous %ARMGTID call is the input. If the TXNID= or TXNIDVAR= options are supplied, the supplied value is used as the transaction ID. Otherwise, the value of the global macro variable _ARMTXID is used.

If GETID=YES and the APPID= or APPIDVAR= options are supplied, the supplied value is used as the application ID. Otherwise, the value of the global macro variable _ARMAPID is used.

Output

The _ARMSHDL variable, which is the start handle that was returned from the ARM_START function call, is the output. If GETID=YES, then the _ARMTXID variable is updated also. The variables that TXNIDVAR= and SHDLVAR= point to are also updated if supplied.

Examples
Example 1: Basic Usage
 data _null_;    %arminit(appname='Forecast')'    %armgtid(txnname='Txn 1A', txndet='Forecasting Txn Class');    %armstrt;  run; 
Example 2: Supplying the Transaction ID Using TXNIDVAR=
 data _null_;    %arminit(appname=aname, appuser='sasxyz');    %armgtid(txnname='txn OE', txndet= 'Order Entry txn class'             txnidvar=txnnum);  data _null_;    %armstrt(txnidvar=txnname);  run; 
Example 3: Generating an ARM_GETID Call and an ARM_START
 data _null_;    %arminit(appname='Forecast', appidvar=savapp);  run;  data _null_;    %armstrt(getid=YES, txnname='Txn 1A',             txndet='Forecasting Txn Class',             appidvar=savapp);  run; 

%ARMUPDT Macro

Updates a transaction that has been previously started

Category: ARM Macro

Syntax

%ARMUPDT ( DATA= < option >, < options >);

Recommended Argument

DATA=' variable '

  • is a SAS character variable or a quoted literal user-supplied data buffer that contains text to pass to the ARM_UPDATE function call. DATA = is not required but highly recommended. This information is mutually exclusive of user-defined metric values.

  • Restriction: The data value has a 1,020-character limit.

Options

LEVEL= numeric constant or variable

  • is a variable that specifies the conditional execution level. The value must be a numeric constant or variable.

MACONLY=NO YES

  • allows the %ARMUPDT macro to be issued in open code, outside of a DATA step. You set the value to YES if the macros are in open code and NO if they are in a DATA step.

  • Default: NO

METRVAL1-7=' aname '

  • is the value of the user-defined metric. The value must be a SAS character variable or a quoted literal value up to eight characters in length. These values are ignored if the DATA= option is used.

  • Requirement: The value of the user-defined metric must correspond to the user metrics defined in %ARMGTID.

SCL=NO YES

  • is used only in SCL programs and specifies whether the macro is in an SCL environment. Valid values are YES and NO (no quotation marks).

  • Default: NO

SHANDLE= SAS numeric or constant

  • is a start handle to use on the ARM_UPDATE function call. The value is a SAS numeric or constant.

Note: Use SHDLVAR= instead of SHANDLE= when coding new applications. SHANDLE= is obsolete.

SHDLVAR= SAS numeric variable

  • is a SAS numeric variable that contains the value of the start handle.

Details

%ARMUPDT is a call that you can execute any number of times after a %ARMSTRT and before a %ARMSTOP. It allows you to supply any additional information about the transaction in progress.

Input

The input is a start handle that is generated by a previous %ARMSTRT call. If the SHANDLE= or SHDLVAR= options are supplied, the specified value is used as the start handle. Otherwise, the value of the global macro variable _ARMSHDL is used.

Note: User metric values and user-supplied data buffers are mutually exclusive parameters. Each requires its own update call to get both types of data into the UPDATE records.

Output

The _ARMRC variable, which contains the error status code that was returned from the ARM_UPDATE function call, is the output.

Examples
Example 1: Basic Usage
 data _null_;    updtdata = 'Txn still running at'  put (time(),time.);    %armupdt(data=updtdata);  run; 
Example 2: Supplying a Start Handle Using SHDLVAR=
 data _null_;    %arminit(appname=aname, appuser='sasxyz');    %armgtid(txnname='txn OE', txndet='Order Entry txn class');    %armstrt(shdlvar=sh1);  run;  data _null_;    %armupdt(data='OE txn pre-processing complete', shdlvar=sh1);  run; 



SAS 9.1 Language Reference Dictionary, Volumes 1, 2 and 3
SAS 9.1 Language Reference Dictionary, Volumes 1, 2 and 3
ISBN: N/A
EAN: N/A
Year: 2004
Pages: 704

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net