Macro: Global$Scalar

Module location: FMAC line 13128 (view source)

  #IF (!0>0)
    #CHECK !2 _RT

    #IFSAME !1 STRING
      // strings are treated as special because they have a set of values.
      #IF (!0>2)
        #IFDEF !3
          #CHECK !3 _VSWDF
          #STR V$ !3
          #REPLACE !2 |VS!v
          #IF (!0>3)
             Global$Scalar !1 !4 !5 !6 !7 !8 !9
          #ENDIF
        #ELSE
          #STR V$ 80
          #REPLACE !2 |VS!v
           Global$Scalar !1 !3 !4 !5 !6 !7 !8 !9
        #ENDIF
      #ELSE
        #STR V$ 80
        #REPLACE !2 |VS!v
      #ENDIF
    #ELSE
      #IFSAME !1 INTEGER
        #REPLACE !2 |VI!D
      #ELSE
        #IFSAME !1 DATE
          #NUM V$
          #REPLACE !2 |VD!v
        #ELSE
          #IFSAME !1 NUMBER
            #NUM V$
            #REPLACE !2 |VN!v
          #ELSE
            #IFSAME !1 REAL
              #REAL V$
              #REPLACE !2 |VR!v
            #ELSE
              #IFSAME !1 ADDRESS
                #ADDRESS V$
                #REPLACE !2 |VX!v
              #ELSE
                #IFSAME !1 BIGINT
                  #BIGINT V$
                  #REPLACE !2 |VH!v
                #ELSE
                  #IFSAME !1 TIME
                    #TIME V$
                    #REPLACE !2 |VT!v
                  #ELSE
                    #IFSAME !1 DATETIME
                      #STAM V$
                      #REPLACE !2 |VM!v
                    #ELSE
                      #IFSAME !1 FLOAT
                        #FLOAT V$
                        #REPLACE !2 |VF!v
                      #ELSE
                        #IFSAME !1 CHAR
                          #CHAR V$
                          #REPLACE !2 |VY!v
                        #ELSE
                          #IFSAME !1 UCHAR
                            #UCHAR V$
                            #REPLACE !2 |VC!v
                          #ELSE
                            #IFSAME !1 SHORT
                              #SHORT V$
                              #REPLACE !2 |VW!v
                            #ELSE
                              #IFSAME !1 USHORT
                                #USHORT V$
                                #REPLACE !2 |VU!v
                              #ELSE
                                #IFSAME !1 UINTEGER
                                  #ULONG V$
                                  #REPLACE !2 |VV!v
                                #ELSE
                                  #IFSAME !1 BOOLEAN
                                    #BIT V$
                                    #REPLACE !2 |VZ!v
                                  #ELSE
                                    #IFSAME !1 UBIGINT
                                      #BIGU V$
                                      #REPLACE !2 |VG!v
                                    #ELSE
                                      #IFSAME !1 CURRENCY
                                        #CURR V$
                                        #REPLACE !2 |VO!v
                                      #ELSE
                                        #IFSAME !1 TIMESPAN
                                          #SPAN V$
                                          #REPLACE !2 |VP!v
                                        #ELSE
                                          #IFSAME !1 DECIMAL
                                            #BIGN V$
                                            #REPLACE !2 |VQ!v
                                          #ELSE
                                            #IFSAME !1 VARIANT
                                              #VRNT V$
                                              #REPLACE !2 |VJ!v
                                            #ELSE
                                              #IFSAME !1 ROWID
                                                #ROWI V$
                                                #REPLACE !2 |V@!v
                                              #ELSE
                                                #PUSH !h
                                                #STRG H$ !1
                                                #IF !h
                                                  #STRV V$ !h
                                                  #REPLACE !2 |VK!vV!h
                                                #ELSE
                                                  #ERROR DFERR_COMP_INVALID_DATATYPE (!1)
                                                #ENDIF
                                                #POP H$
                                              #ENDIF // RowID
                                            #ENDIF // Variant
                                          #ENDIF // Decimal
                                        #ENDIF // TimeSpan
                                      #ENDIF // Currenct
                                    #ENDIF // UBigInt
                                  #ENDIF // Boolean
                                #ENDIF // UInteger
                              #ENDIF // UShort
                            #ENDIF // Short
                          #ENDIF // UChar
                        #ENDIF // Char
                      #ENDIF // Float
                    #ENDIF // TimeDate
                  #ENDIF // Time
                #ENDIF // BigInt
              #ENDIF // address
            #ENDIF  // real
          #ENDIF // number
        #ENDIF // date
      #ENDIF  // integer
      #IF (!0>2)
         Global$Scalar !1 !3 !4 !5 !6 !7 !8 !9
      #ENDIF
    #ENDIF     // end of string
  #ENDIF      // if there are parameters