# Instructions

The instruction set in the transformation module is a simple, powerful set that is intelligible to all programmers since it does not use any specific programming principle. This is procedure-based programming.

If you change the contents of a I ou B buffer, it is modified in memory only for this transformation.

The original file (EXTRACT mode) or the journal entry (JOURNAL mode) will not be changed.

Example:

```
If S.FactureAvoir = 'Refund' Then
      I.MONTANT = I.MONTANT * -1
      EndIf
      O.MONTANT = I.MONTANT
```

## Constants

The constants may have different attributes.

| Constant | Description |
| --- | --- |
| ‘ABC’ | Alphanumeric constant |
| -123.45 | Numeric constant |
| X’F1’ | Hexadecimal constant |

## Field extract (sub-string)

You can perform operations on the entire field or a part of the field, using the syntax below:

*b.field*(start:length)

N@*n* N@*n*

constant

*constant*

```
  O.CAT = I.CODE(1:3)
       If O.CAT = ‘001’ Then
          O.CAT = ‘XX1’
       EndIf
       O.CODE(1:3) = O.CAT
       O.CODE(4:4) = X’09’
```

This wording can be used only with CHAR, VARCHAR, SCRIPT fields.

### In this section

* [Option](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/option)
* [About nulls](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/about-nulls)
* [Copy_I_To_O: Copy buffer I to buffer O](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/copy-i-to-o)
* [Operations on numeric fields](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/operations-on-numeric-fields)
* [Operations on image, raw and text fields](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/operations-on-image-raw-text-fields)
* [Operations on alphanumeric fields](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/operations-on-alphanumeric-fields)
* [Field moves](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/field-moves)
* [Tests and branches](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/tests-and-branches)
* [Tags and branches](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/tags-and-branches)
* [TRACE](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/trace)
* [Call external program](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/call-external-programs)
* [Reading files (AS/400 IBMi)](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/reading-files)
* [SQL call (non AS/400 IBMi)](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/sql-call-non-as-400)
* [Start a process](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/start-process)
* [Close and Open the target flats files](https://help.qlik.com/talend/en-US/change-data-capture-reference-guide/7.3/close-and-open-target-flat-files)