H on kompensatsiooniarv, sarnaselt raadiuse kompensatsiooniga, tööriista pikkuse väärtus salvestatakse pärast H määratud aadressile.
Pikkuse kompenseerimisel peab tööriist liikuma z-teljel: tööriista tegelik asukoht erinevate käskude all, mille hulgas lause "G90 G54(XIZ0;" põhjustab raske õnnetuse, kui seda ei toimu G43 käsk pikkuse kompenseerimise tingimusel Üldprogrammides Programmisõna koostamisel on konstant ja programm suudab kirjeldada ainult ühte geomeetrilist kujundit, mistõttu sellel puudub paindlikkus ja mitmekülgsus Mõnel juhul peab tööpink toimima vastavalt teatud reeglite järgi, näiteks puurimistsüklis, peaks kasutajal olema võimalik määrata lõikeparameetreid vastavalt olukorrale Nõutav on, et üldprogrammi ei oleks võimalik saavutada Automaatse mõõtmise teostamisel peab inimene või tööpink töödelda mõõteandmeid. Need andmed salvestatakse muutujasse ja üldprogrammi ei saa töödelda. Vastuseks sellele olukorrale pakub CNC tööpink veel üht programmeerimismeetodit, nimelt makroprogrammeerimist .
Programmis kasutatakse muutujaid ning programmi funktsioon saavutatakse muutujate määramise ja töötlemisega. Sellist muutujatega programmi nimetatakse makroprogrammiks. Makroprogrammi formaat Makroprogrammi formaat on sama, mis alamprogrammil ja põhiprogrammi naasmiseks kasutatakse lõpus M99.
