H je številka popravka, podobno kot pri popravku polmera je vrednost dolžine orodja shranjena na naslovu, navedenem za H.
Pri izvajanju kompenzacije dolžine se mora orodje premikati na osi z: dejanski položaj orodja pod različnimi ukazi, med katerimi bo stavek "G90 G54(XIZ0;" povzročil resno nesrečo, če ni Ukaz G43 pod pogojem kompenzacije dolžine V splošnih programih Programska beseda med prevajanjem je konstanta in program lahko opiše le eno geometrijsko obliko, zato nima prilagodljivosti in vsestranskosti V nekaterih primerih mora strojno orodje delovati v skladu z določena pravila, na primer v ciklu vrtanja, mora biti uporabnik sposoben določiti rezalne parametre glede na situacijo. Zahtevano je, da splošnega programa ni mogoče doseči. Ko se izvede samodejno merjenje, mora človek ali strojno orodje obdelajo merilne podatke. Ti podatki so shranjeni v spremenljivki in splošnega programa ni mogoče obdelati. Kot odgovor na to situacijo CNC obdelovalni stroj ponuja drugo metodo programiranja, in sicer makro programiranje .
V programu se uporabljajo spremenljivke, funkcija programa pa se doseže z dodeljevanjem in obdelavo spremenljivk. Tovrsten program s spremenljivkami imenujemo makro program. Format makro programa Format makro programa je enak podprogramu, M99 pa se uporablja na koncu za vrnitev v glavni program.
